compile-performance.js 3.7 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897478984789947900479014790247903479044790547906479074790847909479104791147912479134791447915479164791747918479194792047921479224792347924479254792647927479284792947930479314793247933479344793547936479374793847939479404794147942479434794447945479464794747948479494795047951479524795347954479554795647957479584795947960479614796247963479644796547966479674796847969479704797147972479734797447975479764797747978479794798047981479824798347984479854798647987479884798947990479914799247993479944799547996479974799847999480004800148002480034800448005480064800748008480094801048011480124801348014480154801648017480184801948020480214802248023480244802548026480274802848029480304803148032480334803448035480364803748038480394804048041480424804348044480454804648047480484804948050480514805248053480544805548056480574805848059480604806148062480634806448065480664806748068480694807048071480724807348074480754807648077480784807948080480814808248083480844808548086480874808848089480904809148092480934809448095480964809748098480994810048101481024810348104481054810648107481084810948110481114811248113481144811548116481174811848119481204812148122481234812448125481264812748128481294813048131481324813348134481354813648137481384813948140481414814248143481444814548146481474814848149481504815148152481534815448155481564815748158481594816048161481624816348164481654816648167481684816948170481714817248173481744817548176481774817848179481804818148182481834818448185481864818748188481894819048191481924819348194481954819648197481984819948200482014820248203482044820548206482074820848209482104821148212482134821448215482164821748218482194822048221482224822348224482254822648227482284822948230482314823248233482344823548236482374823848239482404824148242482434824448245482464824748248482494825048251482524825348254482554825648257482584825948260482614826248263482644826548266482674826848269482704827148272482734827448275482764827748278482794828048281482824828348284482854828648287482884828948290482914829248293482944829548296482974829848299483004830148302483034830448305483064830748308483094831048311483124831348314483154831648317483184831948320483214832248323483244832548326483274832848329483304833148332483334833448335483364833748338483394834048341483424834348344483454834648347483484834948350483514835248353483544835548356483574835848359483604836148362483634836448365483664836748368483694837048371483724837348374483754837648377483784837948380483814838248383483844838548386483874838848389483904839148392483934839448395483964839748398483994840048401484024840348404484054840648407484084840948410484114841248413484144841548416484174841848419484204842148422484234842448425484264842748428484294843048431484324843348434484354843648437484384843948440484414844248443484444844548446484474844848449484504845148452484534845448455484564845748458484594846048461484624846348464484654846648467484684846948470484714847248473484744847548476484774847848479484804848148482484834848448485484864848748488484894849048491484924849348494484954849648497484984849948500485014850248503485044850548506485074850848509485104851148512485134851448515485164851748518485194852048521485224852348524485254852648527485284852948530485314853248533485344853548536485374853848539485404854148542485434854448545485464854748548485494855048551485524855348554485554855648557485584855948560485614856248563485644856548566485674856848569485704857148572485734857448575485764857748578485794858048581485824858348584485854858648587485884858948590485914859248593485944859548596485974859848599486004860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641486424864348644486454864648647486484864948650486514865248653486544865548656486574865848659486604866148662486634866448665486664866748668486694867048671486724867348674486754867648677486784867948680486814868248683486844868548686486874868848689486904869148692486934869448695486964869748698486994870048701487024870348704487054870648707487084870948710487114871248713487144871548716487174871848719487204872148722487234872448725487264872748728487294873048731487324873348734487354873648737487384873948740487414874248743487444874548746487474874848749487504875148752487534875448755487564875748758487594876048761487624876348764487654876648767487684876948770487714877248773487744877548776487774877848779487804878148782487834878448785487864878748788487894879048791487924879348794487954879648797487984879948800488014880248803488044880548806488074880848809488104881148812488134881448815488164881748818488194882048821488224882348824488254882648827488284882948830488314883248833488344883548836488374883848839488404884148842488434884448845488464884748848488494885048851488524885348854488554885648857488584885948860488614886248863488644886548866488674886848869488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974889848899489004890148902489034890448905489064890748908489094891048911489124891348914489154891648917489184891948920489214892248923489244892548926489274892848929489304893148932489334893448935489364893748938489394894048941489424894348944489454894648947489484894948950489514895248953489544895548956489574895848959489604896148962489634896448965489664896748968489694897048971489724897348974489754897648977489784897948980489814898248983489844898548986489874898848989489904899148992489934899448995489964899748998489994900049001490024900349004490054900649007490084900949010490114901249013490144901549016490174901849019490204902149022490234902449025490264902749028490294903049031490324903349034490354903649037490384903949040490414904249043490444904549046490474904849049490504905149052490534905449055490564905749058490594906049061490624906349064490654906649067490684906949070490714907249073490744907549076490774907849079490804908149082490834908449085490864908749088490894909049091490924909349094490954909649097490984909949100491014910249103491044910549106491074910849109491104911149112491134911449115491164911749118491194912049121491224912349124491254912649127491284912949130491314913249133491344913549136491374913849139491404914149142491434914449145491464914749148491494915049151491524915349154491554915649157491584915949160491614916249163491644916549166491674916849169491704917149172491734917449175491764917749178491794918049181491824918349184491854918649187491884918949190491914919249193491944919549196491974919849199492004920149202492034920449205492064920749208492094921049211492124921349214492154921649217492184921949220492214922249223492244922549226492274922849229492304923149232492334923449235492364923749238492394924049241492424924349244492454924649247492484924949250492514925249253492544925549256492574925849259492604926149262492634926449265492664926749268492694927049271492724927349274492754927649277492784927949280492814928249283492844928549286492874928849289492904929149292492934929449295492964929749298492994930049301493024930349304493054930649307493084930949310493114931249313493144931549316493174931849319493204932149322493234932449325493264932749328493294933049331493324933349334493354933649337493384933949340493414934249343493444934549346493474934849349493504935149352493534935449355493564935749358493594936049361493624936349364493654936649367493684936949370493714937249373493744937549376493774937849379493804938149382493834938449385493864938749388493894939049391493924939349394493954939649397493984939949400494014940249403494044940549406494074940849409494104941149412494134941449415494164941749418494194942049421494224942349424494254942649427494284942949430494314943249433494344943549436494374943849439494404944149442494434944449445494464944749448494494945049451494524945349454494554945649457494584945949460494614946249463494644946549466494674946849469494704947149472494734947449475494764947749478494794948049481494824948349484494854948649487494884948949490494914949249493494944949549496494974949849499495004950149502495034950449505495064950749508495094951049511495124951349514495154951649517495184951949520495214952249523495244952549526495274952849529495304953149532495334953449535495364953749538495394954049541495424954349544495454954649547495484954949550495514955249553495544955549556495574955849559495604956149562495634956449565495664956749568495694957049571495724957349574495754957649577495784957949580495814958249583495844958549586495874958849589495904959149592495934959449595495964959749598495994960049601496024960349604496054960649607496084960949610496114961249613496144961549616496174961849619496204962149622496234962449625496264962749628496294963049631496324963349634496354963649637496384963949640496414964249643496444964549646496474964849649496504965149652496534965449655496564965749658496594966049661496624966349664496654966649667496684966949670496714967249673496744967549676496774967849679496804968149682496834968449685496864968749688496894969049691496924969349694496954969649697496984969949700497014970249703497044970549706497074970849709497104971149712497134971449715497164971749718497194972049721497224972349724497254972649727497284972949730497314973249733497344973549736497374973849739497404974149742497434974449745497464974749748497494975049751497524975349754497554975649757497584975949760497614976249763497644976549766497674976849769497704977149772497734977449775497764977749778497794978049781497824978349784497854978649787497884978949790497914979249793497944979549796497974979849799498004980149802498034980449805498064980749808498094981049811498124981349814498154981649817498184981949820498214982249823498244982549826498274982849829498304983149832498334983449835498364983749838498394984049841498424984349844498454984649847498484984949850498514985249853498544985549856498574985849859498604986149862498634986449865498664986749868498694987049871498724987349874498754987649877498784987949880498814988249883498844988549886498874988849889498904989149892498934989449895498964989749898498994990049901499024990349904499054990649907499084990949910499114991249913499144991549916499174991849919499204992149922499234992449925499264992749928499294993049931499324993349934499354993649937499384993949940499414994249943499444994549946499474994849949499504995149952499534995449955499564995749958499594996049961499624996349964499654996649967499684996949970499714997249973499744997549976499774997849979499804998149982499834998449985499864998749988499894999049991499924999349994499954999649997499984999950000500015000250003500045000550006500075000850009500105001150012500135001450015500165001750018500195002050021500225002350024500255002650027500285002950030500315003250033500345003550036500375003850039500405004150042500435004450045500465004750048500495005050051500525005350054500555005650057500585005950060500615006250063500645006550066500675006850069500705007150072500735007450075500765007750078500795008050081500825008350084500855008650087500885008950090500915009250093500945009550096500975009850099501005010150102501035010450105501065010750108501095011050111501125011350114501155011650117501185011950120501215012250123501245012550126501275012850129501305013150132501335013450135501365013750138501395014050141501425014350144501455014650147501485014950150501515015250153501545015550156501575015850159501605016150162501635016450165501665016750168501695017050171501725017350174501755017650177501785017950180501815018250183501845018550186501875018850189501905019150192501935019450195501965019750198501995020050201502025020350204502055020650207502085020950210502115021250213502145021550216502175021850219502205022150222502235022450225502265022750228502295023050231502325023350234502355023650237502385023950240502415024250243502445024550246502475024850249502505025150252502535025450255502565025750258502595026050261502625026350264502655026650267502685026950270502715027250273502745027550276502775027850279502805028150282502835028450285502865028750288502895029050291502925029350294502955029650297502985029950300503015030250303503045030550306503075030850309503105031150312503135031450315503165031750318503195032050321503225032350324503255032650327503285032950330503315033250333503345033550336503375033850339503405034150342503435034450345503465034750348503495035050351503525035350354503555035650357503585035950360503615036250363503645036550366503675036850369503705037150372503735037450375503765037750378503795038050381503825038350384503855038650387503885038950390503915039250393503945039550396503975039850399504005040150402504035040450405504065040750408504095041050411504125041350414504155041650417504185041950420504215042250423504245042550426504275042850429504305043150432504335043450435504365043750438504395044050441504425044350444504455044650447504485044950450504515045250453504545045550456504575045850459504605046150462504635046450465504665046750468504695047050471504725047350474504755047650477504785047950480504815048250483504845048550486504875048850489504905049150492504935049450495504965049750498504995050050501505025050350504505055050650507505085050950510505115051250513505145051550516505175051850519505205052150522505235052450525505265052750528505295053050531505325053350534505355053650537505385053950540505415054250543505445054550546505475054850549505505055150552505535055450555505565055750558505595056050561505625056350564505655056650567505685056950570505715057250573505745057550576505775057850579505805058150582505835058450585505865058750588505895059050591505925059350594505955059650597505985059950600506015060250603506045060550606506075060850609506105061150612506135061450615506165061750618506195062050621506225062350624506255062650627506285062950630506315063250633506345063550636506375063850639506405064150642506435064450645506465064750648506495065050651506525065350654506555065650657506585065950660506615066250663506645066550666506675066850669506705067150672506735067450675506765067750678506795068050681506825068350684506855068650687506885068950690506915069250693506945069550696506975069850699507005070150702507035070450705507065070750708507095071050711507125071350714507155071650717507185071950720507215072250723507245072550726507275072850729507305073150732507335073450735507365073750738507395074050741507425074350744507455074650747507485074950750507515075250753507545075550756507575075850759507605076150762507635076450765507665076750768507695077050771507725077350774507755077650777507785077950780507815078250783507845078550786507875078850789507905079150792507935079450795507965079750798507995080050801508025080350804508055080650807508085080950810508115081250813508145081550816508175081850819508205082150822508235082450825508265082750828508295083050831508325083350834508355083650837508385083950840508415084250843508445084550846508475084850849508505085150852508535085450855508565085750858508595086050861508625086350864508655086650867508685086950870508715087250873508745087550876508775087850879508805088150882508835088450885508865088750888508895089050891508925089350894508955089650897508985089950900509015090250903509045090550906509075090850909509105091150912509135091450915509165091750918509195092050921509225092350924509255092650927509285092950930509315093250933509345093550936509375093850939509405094150942509435094450945509465094750948509495095050951509525095350954509555095650957509585095950960509615096250963509645096550966509675096850969509705097150972509735097450975509765097750978509795098050981509825098350984509855098650987509885098950990509915099250993509945099550996509975099850999510005100151002510035100451005510065100751008510095101051011510125101351014510155101651017510185101951020510215102251023510245102551026510275102851029510305103151032510335103451035510365103751038510395104051041510425104351044510455104651047510485104951050510515105251053510545105551056510575105851059510605106151062510635106451065510665106751068510695107051071510725107351074510755107651077510785107951080510815108251083510845108551086510875108851089510905109151092510935109451095510965109751098510995110051101511025110351104511055110651107511085110951110511115111251113511145111551116511175111851119511205112151122511235112451125511265112751128511295113051131511325113351134511355113651137511385113951140511415114251143511445114551146511475114851149511505115151152511535115451155511565115751158511595116051161511625116351164511655116651167511685116951170511715117251173511745117551176511775117851179511805118151182511835118451185511865118751188511895119051191511925119351194511955119651197511985119951200512015120251203512045120551206512075120851209512105121151212512135121451215512165121751218512195122051221512225122351224512255122651227512285122951230512315123251233512345123551236512375123851239512405124151242512435124451245512465124751248512495125051251512525125351254512555125651257512585125951260512615126251263512645126551266512675126851269512705127151272512735127451275512765127751278512795128051281512825128351284512855128651287512885128951290512915129251293512945129551296512975129851299513005130151302513035130451305513065130751308513095131051311513125131351314513155131651317513185131951320513215132251323513245132551326513275132851329513305133151332513335133451335513365133751338513395134051341513425134351344513455134651347513485134951350513515135251353513545135551356513575135851359513605136151362513635136451365513665136751368513695137051371513725137351374513755137651377513785137951380513815138251383513845138551386513875138851389513905139151392513935139451395513965139751398513995140051401514025140351404514055140651407514085140951410514115141251413514145141551416514175141851419514205142151422514235142451425514265142751428514295143051431514325143351434514355143651437514385143951440514415144251443514445144551446514475144851449514505145151452514535145451455514565145751458514595146051461514625146351464514655146651467514685146951470514715147251473514745147551476514775147851479514805148151482514835148451485514865148751488514895149051491514925149351494514955149651497514985149951500515015150251503515045150551506515075150851509515105151151512515135151451515515165151751518515195152051521515225152351524515255152651527515285152951530515315153251533515345153551536515375153851539515405154151542515435154451545515465154751548515495155051551515525155351554515555155651557515585155951560515615156251563515645156551566515675156851569515705157151572515735157451575515765157751578515795158051581515825158351584515855158651587515885158951590515915159251593515945159551596515975159851599516005160151602516035160451605516065160751608516095161051611516125161351614516155161651617516185161951620516215162251623516245162551626516275162851629516305163151632516335163451635516365163751638516395164051641516425164351644516455164651647516485164951650516515165251653516545165551656516575165851659516605166151662516635166451665516665166751668516695167051671516725167351674516755167651677516785167951680516815168251683516845168551686516875168851689516905169151692516935169451695516965169751698516995170051701517025170351704517055170651707517085170951710517115171251713517145171551716517175171851719517205172151722517235172451725517265172751728517295173051731517325173351734517355173651737517385173951740517415174251743517445174551746517475174851749517505175151752517535175451755517565175751758517595176051761517625176351764517655176651767517685176951770517715177251773517745177551776517775177851779517805178151782517835178451785517865178751788517895179051791517925179351794517955179651797517985179951800518015180251803518045180551806518075180851809518105181151812518135181451815518165181751818518195182051821518225182351824518255182651827518285182951830518315183251833518345183551836518375183851839518405184151842518435184451845518465184751848518495185051851518525185351854518555185651857518585185951860518615186251863518645186551866518675186851869518705187151872518735187451875518765187751878518795188051881518825188351884518855188651887518885188951890518915189251893518945189551896518975189851899519005190151902519035190451905519065190751908519095191051911519125191351914519155191651917519185191951920519215192251923519245192551926519275192851929519305193151932519335193451935519365193751938519395194051941519425194351944519455194651947519485194951950519515195251953519545195551956519575195851959519605196151962519635196451965519665196751968519695197051971519725197351974519755197651977519785197951980519815198251983519845198551986519875198851989519905199151992519935199451995519965199751998519995200052001520025200352004520055200652007520085200952010520115201252013520145201552016520175201852019520205202152022520235202452025520265202752028520295203052031520325203352034520355203652037520385203952040520415204252043520445204552046520475204852049520505205152052520535205452055520565205752058520595206052061520625206352064520655206652067520685206952070520715207252073520745207552076520775207852079520805208152082520835208452085520865208752088520895209052091520925209352094520955209652097520985209952100521015210252103521045210552106521075210852109521105211152112521135211452115521165211752118521195212052121521225212352124521255212652127521285212952130521315213252133521345213552136521375213852139521405214152142521435214452145521465214752148521495215052151521525215352154521555215652157521585215952160521615216252163521645216552166521675216852169521705217152172521735217452175521765217752178521795218052181521825218352184521855218652187521885218952190521915219252193521945219552196521975219852199522005220152202522035220452205522065220752208522095221052211522125221352214522155221652217522185221952220522215222252223522245222552226522275222852229522305223152232522335223452235522365223752238522395224052241522425224352244522455224652247522485224952250522515225252253522545225552256522575225852259522605226152262522635226452265522665226752268522695227052271522725227352274522755227652277522785227952280522815228252283522845228552286522875228852289522905229152292522935229452295522965229752298522995230052301523025230352304523055230652307523085230952310523115231252313523145231552316523175231852319523205232152322523235232452325523265232752328523295233052331523325233352334523355233652337523385233952340523415234252343523445234552346523475234852349523505235152352523535235452355523565235752358523595236052361523625236352364523655236652367523685236952370523715237252373523745237552376523775237852379523805238152382523835238452385523865238752388523895239052391523925239352394523955239652397523985239952400524015240252403524045240552406524075240852409524105241152412524135241452415524165241752418524195242052421524225242352424524255242652427524285242952430524315243252433524345243552436524375243852439524405244152442524435244452445524465244752448524495245052451524525245352454524555245652457524585245952460524615246252463524645246552466524675246852469524705247152472524735247452475524765247752478524795248052481524825248352484524855248652487524885248952490524915249252493524945249552496524975249852499525005250152502525035250452505525065250752508525095251052511525125251352514525155251652517525185251952520525215252252523525245252552526525275252852529525305253152532525335253452535525365253752538525395254052541525425254352544525455254652547525485254952550525515255252553525545255552556525575255852559525605256152562525635256452565525665256752568525695257052571525725257352574525755257652577525785257952580525815258252583525845258552586525875258852589525905259152592525935259452595525965259752598525995260052601526025260352604526055260652607526085260952610526115261252613526145261552616526175261852619526205262152622526235262452625526265262752628526295263052631526325263352634526355263652637526385263952640526415264252643526445264552646526475264852649526505265152652526535265452655526565265752658526595266052661526625266352664526655266652667526685266952670526715267252673526745267552676526775267852679526805268152682526835268452685526865268752688526895269052691526925269352694526955269652697526985269952700527015270252703527045270552706527075270852709527105271152712527135271452715527165271752718527195272052721527225272352724527255272652727527285272952730527315273252733527345273552736527375273852739527405274152742527435274452745527465274752748527495275052751527525275352754527555275652757527585275952760527615276252763527645276552766527675276852769527705277152772527735277452775527765277752778527795278052781527825278352784527855278652787527885278952790527915279252793527945279552796527975279852799528005280152802528035280452805528065280752808528095281052811528125281352814528155281652817528185281952820528215282252823528245282552826528275282852829528305283152832528335283452835528365283752838528395284052841528425284352844528455284652847528485284952850528515285252853528545285552856528575285852859528605286152862528635286452865528665286752868528695287052871528725287352874528755287652877528785287952880528815288252883528845288552886528875288852889528905289152892528935289452895528965289752898528995290052901529025290352904529055290652907529085290952910529115291252913529145291552916529175291852919529205292152922529235292452925529265292752928529295293052931529325293352934529355293652937529385293952940529415294252943529445294552946529475294852949529505295152952529535295452955529565295752958529595296052961529625296352964529655296652967529685296952970529715297252973529745297552976529775297852979529805298152982529835298452985529865298752988529895299052991529925299352994529955299652997529985299953000530015300253003530045300553006530075300853009530105301153012530135301453015530165301753018530195302053021530225302353024530255302653027530285302953030530315303253033530345303553036530375303853039530405304153042530435304453045530465304753048530495305053051530525305353054530555305653057530585305953060530615306253063530645306553066530675306853069530705307153072530735307453075530765307753078530795308053081530825308353084530855308653087530885308953090530915309253093530945309553096530975309853099531005310153102531035310453105531065310753108531095311053111531125311353114531155311653117531185311953120531215312253123531245312553126531275312853129531305313153132531335313453135531365313753138531395314053141531425314353144531455314653147531485314953150531515315253153531545315553156531575315853159531605316153162531635316453165531665316753168531695317053171531725317353174531755317653177531785317953180531815318253183531845318553186531875318853189531905319153192531935319453195531965319753198531995320053201532025320353204532055320653207532085320953210532115321253213532145321553216532175321853219532205322153222532235322453225532265322753228532295323053231532325323353234532355323653237532385323953240532415324253243532445324553246532475324853249532505325153252532535325453255532565325753258532595326053261532625326353264532655326653267532685326953270532715327253273532745327553276532775327853279532805328153282532835328453285532865328753288532895329053291532925329353294532955329653297532985329953300533015330253303533045330553306533075330853309533105331153312533135331453315533165331753318533195332053321533225332353324533255332653327533285332953330533315333253333533345333553336533375333853339533405334153342533435334453345533465334753348533495335053351533525335353354533555335653357533585335953360533615336253363533645336553366533675336853369533705337153372533735337453375533765337753378533795338053381533825338353384533855338653387533885338953390533915339253393533945339553396533975339853399534005340153402534035340453405534065340753408534095341053411534125341353414534155341653417534185341953420534215342253423534245342553426534275342853429534305343153432534335343453435534365343753438534395344053441534425344353444534455344653447534485344953450534515345253453534545345553456534575345853459534605346153462534635346453465534665346753468534695347053471534725347353474534755347653477534785347953480534815348253483534845348553486534875348853489534905349153492534935349453495534965349753498534995350053501535025350353504535055350653507535085350953510535115351253513535145351553516535175351853519535205352153522535235352453525535265352753528535295353053531535325353353534535355353653537535385353953540535415354253543535445354553546535475354853549535505355153552535535355453555535565355753558535595356053561535625356353564535655356653567535685356953570535715357253573535745357553576535775357853579535805358153582535835358453585535865358753588535895359053591535925359353594535955359653597535985359953600536015360253603536045360553606536075360853609536105361153612536135361453615536165361753618536195362053621536225362353624536255362653627536285362953630536315363253633536345363553636536375363853639536405364153642536435364453645536465364753648536495365053651536525365353654536555365653657536585365953660536615366253663536645366553666536675366853669536705367153672536735367453675536765367753678536795368053681536825368353684536855368653687536885368953690536915369253693536945369553696536975369853699537005370153702537035370453705537065370753708537095371053711537125371353714537155371653717537185371953720537215372253723537245372553726537275372853729537305373153732537335373453735537365373753738537395374053741537425374353744537455374653747537485374953750537515375253753537545375553756537575375853759537605376153762537635376453765537665376753768537695377053771537725377353774537755377653777537785377953780537815378253783537845378553786537875378853789537905379153792537935379453795537965379753798537995380053801538025380353804538055380653807538085380953810538115381253813538145381553816538175381853819538205382153822538235382453825538265382753828538295383053831538325383353834538355383653837538385383953840538415384253843538445384553846538475384853849538505385153852538535385453855538565385753858538595386053861538625386353864538655386653867538685386953870538715387253873538745387553876538775387853879538805388153882538835388453885538865388753888538895389053891538925389353894538955389653897538985389953900539015390253903539045390553906539075390853909539105391153912539135391453915539165391753918539195392053921539225392353924539255392653927539285392953930539315393253933539345393553936539375393853939539405394153942539435394453945539465394753948539495395053951539525395353954539555395653957539585395953960539615396253963539645396553966539675396853969539705397153972539735397453975539765397753978539795398053981539825398353984539855398653987539885398953990539915399253993539945399553996539975399853999540005400154002540035400454005540065400754008540095401054011540125401354014540155401654017540185401954020540215402254023540245402554026540275402854029540305403154032540335403454035540365403754038540395404054041540425404354044540455404654047540485404954050540515405254053540545405554056540575405854059540605406154062540635406454065540665406754068540695407054071540725407354074540755407654077540785407954080540815408254083540845408554086540875408854089540905409154092540935409454095540965409754098540995410054101541025410354104541055410654107541085410954110541115411254113541145411554116541175411854119541205412154122541235412454125541265412754128541295413054131541325413354134541355413654137541385413954140541415414254143541445414554146541475414854149541505415154152541535415454155541565415754158541595416054161541625416354164541655416654167541685416954170541715417254173541745417554176541775417854179541805418154182541835418454185541865418754188541895419054191541925419354194541955419654197541985419954200542015420254203542045420554206542075420854209542105421154212542135421454215542165421754218542195422054221542225422354224542255422654227542285422954230542315423254233542345423554236542375423854239542405424154242542435424454245542465424754248542495425054251542525425354254542555425654257542585425954260542615426254263542645426554266542675426854269542705427154272542735427454275542765427754278542795428054281542825428354284542855428654287542885428954290542915429254293542945429554296542975429854299543005430154302543035430454305543065430754308543095431054311543125431354314543155431654317543185431954320543215432254323543245432554326543275432854329543305433154332543335433454335543365433754338543395434054341543425434354344543455434654347543485434954350543515435254353543545435554356543575435854359543605436154362543635436454365543665436754368543695437054371543725437354374543755437654377543785437954380543815438254383543845438554386543875438854389543905439154392543935439454395543965439754398543995440054401544025440354404544055440654407544085440954410544115441254413544145441554416544175441854419544205442154422544235442454425544265442754428544295443054431544325443354434544355443654437544385443954440544415444254443544445444554446544475444854449544505445154452544535445454455544565445754458544595446054461544625446354464544655446654467544685446954470544715447254473544745447554476544775447854479544805448154482544835448454485544865448754488544895449054491544925449354494544955449654497544985449954500545015450254503545045450554506545075450854509545105451154512545135451454515545165451754518545195452054521545225452354524545255452654527545285452954530545315453254533545345453554536545375453854539545405454154542545435454454545545465454754548545495455054551545525455354554545555455654557545585455954560545615456254563545645456554566545675456854569545705457154572545735457454575545765457754578545795458054581545825458354584545855458654587545885458954590545915459254593545945459554596545975459854599546005460154602546035460454605546065460754608546095461054611546125461354614546155461654617546185461954620546215462254623546245462554626546275462854629546305463154632546335463454635546365463754638546395464054641546425464354644546455464654647546485464954650546515465254653546545465554656546575465854659546605466154662546635466454665546665466754668546695467054671546725467354674546755467654677546785467954680546815468254683546845468554686546875468854689546905469154692546935469454695546965469754698546995470054701547025470354704547055470654707547085470954710547115471254713547145471554716547175471854719547205472154722547235472454725547265472754728547295473054731547325473354734547355473654737547385473954740547415474254743547445474554746547475474854749547505475154752547535475454755547565475754758547595476054761547625476354764547655476654767547685476954770547715477254773547745477554776547775477854779547805478154782547835478454785547865478754788547895479054791547925479354794547955479654797547985479954800548015480254803548045480554806548075480854809548105481154812548135481454815548165481754818548195482054821548225482354824548255482654827548285482954830548315483254833548345483554836548375483854839548405484154842548435484454845548465484754848548495485054851548525485354854548555485654857548585485954860548615486254863548645486554866548675486854869548705487154872548735487454875548765487754878548795488054881548825488354884548855488654887548885488954890548915489254893548945489554896548975489854899549005490154902549035490454905549065490754908549095491054911549125491354914549155491654917549185491954920549215492254923549245492554926549275492854929549305493154932549335493454935549365493754938549395494054941549425494354944549455494654947549485494954950549515495254953549545495554956549575495854959549605496154962549635496454965549665496754968549695497054971549725497354974549755497654977549785497954980549815498254983549845498554986549875498854989549905499154992549935499454995549965499754998549995500055001550025500355004550055500655007550085500955010550115501255013550145501555016550175501855019550205502155022550235502455025550265502755028550295503055031550325503355034550355503655037550385503955040550415504255043550445504555046550475504855049550505505155052550535505455055550565505755058550595506055061550625506355064550655506655067550685506955070550715507255073550745507555076550775507855079550805508155082550835508455085550865508755088550895509055091550925509355094550955509655097550985509955100551015510255103551045510555106551075510855109551105511155112551135511455115551165511755118551195512055121551225512355124551255512655127551285512955130551315513255133551345513555136551375513855139551405514155142551435514455145551465514755148551495515055151551525515355154551555515655157551585515955160551615516255163551645516555166551675516855169551705517155172551735517455175551765517755178551795518055181551825518355184551855518655187551885518955190551915519255193551945519555196551975519855199552005520155202552035520455205552065520755208552095521055211552125521355214552155521655217552185521955220552215522255223552245522555226552275522855229552305523155232552335523455235552365523755238552395524055241552425524355244552455524655247552485524955250552515525255253552545525555256552575525855259552605526155262552635526455265552665526755268552695527055271552725527355274552755527655277552785527955280552815528255283552845528555286552875528855289552905529155292552935529455295552965529755298552995530055301553025530355304553055530655307553085530955310553115531255313553145531555316553175531855319553205532155322553235532455325553265532755328553295533055331553325533355334553355533655337553385533955340553415534255343553445534555346553475534855349553505535155352553535535455355553565535755358553595536055361553625536355364553655536655367553685536955370553715537255373553745537555376553775537855379553805538155382553835538455385553865538755388553895539055391553925539355394553955539655397553985539955400554015540255403554045540555406554075540855409554105541155412554135541455415554165541755418554195542055421554225542355424554255542655427554285542955430554315543255433554345543555436554375543855439554405544155442554435544455445554465544755448554495545055451554525545355454554555545655457554585545955460554615546255463554645546555466554675546855469554705547155472554735547455475554765547755478554795548055481554825548355484554855548655487554885548955490554915549255493554945549555496554975549855499555005550155502555035550455505555065550755508555095551055511555125551355514555155551655517555185551955520555215552255523555245552555526555275552855529555305553155532555335553455535555365553755538555395554055541555425554355544555455554655547555485554955550555515555255553555545555555556555575555855559555605556155562555635556455565555665556755568555695557055571555725557355574555755557655577555785557955580555815558255583555845558555586555875558855589555905559155592555935559455595555965559755598555995560055601556025560355604556055560655607556085560955610556115561255613556145561555616556175561855619556205562155622556235562455625556265562755628556295563055631556325563355634556355563655637556385563955640556415564255643556445564555646556475564855649556505565155652556535565455655556565565755658556595566055661556625566355664556655566655667556685566955670556715567255673556745567555676556775567855679556805568155682556835568455685556865568755688556895569055691556925569355694556955569655697556985569955700557015570255703557045570555706557075570855709557105571155712557135571455715557165571755718557195572055721557225572355724557255572655727557285572955730557315573255733557345573555736557375573855739557405574155742557435574455745557465574755748557495575055751557525575355754557555575655757557585575955760557615576255763557645576555766557675576855769557705577155772557735577455775557765577755778557795578055781557825578355784557855578655787557885578955790557915579255793557945579555796557975579855799558005580155802558035580455805558065580755808558095581055811558125581355814558155581655817558185581955820558215582255823558245582555826558275582855829558305583155832558335583455835558365583755838558395584055841558425584355844558455584655847558485584955850558515585255853558545585555856558575585855859558605586155862558635586455865558665586755868558695587055871558725587355874558755587655877558785587955880558815588255883558845588555886558875588855889558905589155892558935589455895558965589755898558995590055901559025590355904559055590655907559085590955910559115591255913559145591555916559175591855919559205592155922559235592455925559265592755928559295593055931559325593355934559355593655937559385593955940559415594255943559445594555946559475594855949559505595155952559535595455955559565595755958559595596055961559625596355964559655596655967559685596955970559715597255973559745597555976559775597855979559805598155982559835598455985559865598755988559895599055991559925599355994559955599655997559985599956000560015600256003560045600556006560075600856009560105601156012560135601456015560165601756018560195602056021560225602356024560255602656027560285602956030560315603256033560345603556036560375603856039560405604156042560435604456045560465604756048560495605056051560525605356054560555605656057560585605956060560615606256063560645606556066560675606856069560705607156072560735607456075560765607756078560795608056081560825608356084560855608656087560885608956090560915609256093560945609556096560975609856099561005610156102561035610456105561065610756108561095611056111561125611356114561155611656117561185611956120561215612256123561245612556126561275612856129561305613156132561335613456135561365613756138561395614056141561425614356144561455614656147561485614956150561515615256153561545615556156561575615856159561605616156162561635616456165561665616756168561695617056171561725617356174561755617656177561785617956180561815618256183561845618556186561875618856189561905619156192561935619456195561965619756198561995620056201562025620356204562055620656207562085620956210562115621256213562145621556216562175621856219562205622156222562235622456225562265622756228562295623056231562325623356234562355623656237562385623956240562415624256243562445624556246562475624856249562505625156252562535625456255562565625756258562595626056261562625626356264562655626656267562685626956270562715627256273562745627556276562775627856279562805628156282562835628456285562865628756288562895629056291562925629356294562955629656297562985629956300563015630256303563045630556306563075630856309563105631156312563135631456315563165631756318563195632056321563225632356324563255632656327563285632956330563315633256333563345633556336563375633856339563405634156342563435634456345563465634756348563495635056351563525635356354563555635656357563585635956360563615636256363563645636556366563675636856369563705637156372563735637456375563765637756378563795638056381563825638356384563855638656387563885638956390563915639256393563945639556396563975639856399564005640156402564035640456405564065640756408564095641056411564125641356414564155641656417564185641956420564215642256423564245642556426564275642856429564305643156432564335643456435564365643756438564395644056441564425644356444564455644656447564485644956450564515645256453564545645556456564575645856459564605646156462564635646456465564665646756468564695647056471564725647356474564755647656477564785647956480564815648256483564845648556486564875648856489564905649156492564935649456495564965649756498564995650056501565025650356504565055650656507565085650956510565115651256513565145651556516565175651856519565205652156522565235652456525565265652756528565295653056531565325653356534565355653656537565385653956540565415654256543565445654556546565475654856549565505655156552565535655456555565565655756558565595656056561565625656356564565655656656567565685656956570565715657256573565745657556576565775657856579565805658156582565835658456585565865658756588565895659056591565925659356594565955659656597565985659956600566015660256603566045660556606566075660856609566105661156612566135661456615566165661756618566195662056621566225662356624566255662656627566285662956630566315663256633566345663556636566375663856639566405664156642566435664456645566465664756648566495665056651566525665356654566555665656657566585665956660566615666256663566645666556666566675666856669566705667156672566735667456675566765667756678566795668056681566825668356684566855668656687566885668956690566915669256693566945669556696566975669856699567005670156702567035670456705567065670756708567095671056711567125671356714567155671656717567185671956720567215672256723567245672556726567275672856729567305673156732567335673456735567365673756738567395674056741567425674356744567455674656747567485674956750567515675256753567545675556756567575675856759567605676156762567635676456765567665676756768567695677056771567725677356774567755677656777567785677956780567815678256783567845678556786567875678856789567905679156792567935679456795567965679756798567995680056801568025680356804568055680656807568085680956810568115681256813568145681556816568175681856819568205682156822568235682456825568265682756828568295683056831568325683356834568355683656837568385683956840568415684256843568445684556846568475684856849568505685156852568535685456855568565685756858568595686056861568625686356864568655686656867568685686956870568715687256873568745687556876568775687856879568805688156882568835688456885568865688756888568895689056891568925689356894568955689656897568985689956900569015690256903569045690556906569075690856909569105691156912569135691456915569165691756918569195692056921569225692356924569255692656927569285692956930569315693256933569345693556936569375693856939569405694156942569435694456945569465694756948569495695056951569525695356954569555695656957569585695956960569615696256963569645696556966569675696856969569705697156972569735697456975569765697756978569795698056981569825698356984569855698656987569885698956990569915699256993569945699556996569975699856999570005700157002570035700457005570065700757008570095701057011570125701357014570155701657017570185701957020570215702257023570245702557026570275702857029570305703157032570335703457035570365703757038570395704057041570425704357044570455704657047570485704957050570515705257053570545705557056570575705857059570605706157062570635706457065570665706757068570695707057071570725707357074570755707657077570785707957080570815708257083570845708557086570875708857089570905709157092570935709457095570965709757098570995710057101571025710357104571055710657107571085710957110571115711257113571145711557116571175711857119571205712157122571235712457125571265712757128571295713057131571325713357134571355713657137571385713957140571415714257143571445714557146571475714857149571505715157152571535715457155571565715757158571595716057161571625716357164571655716657167571685716957170571715717257173571745717557176571775717857179571805718157182571835718457185571865718757188571895719057191571925719357194571955719657197571985719957200572015720257203572045720557206572075720857209572105721157212572135721457215572165721757218572195722057221572225722357224572255722657227572285722957230572315723257233572345723557236572375723857239572405724157242572435724457245572465724757248572495725057251572525725357254572555725657257572585725957260572615726257263572645726557266572675726857269572705727157272572735727457275572765727757278572795728057281572825728357284572855728657287572885728957290572915729257293572945729557296572975729857299573005730157302573035730457305573065730757308573095731057311573125731357314573155731657317573185731957320573215732257323573245732557326573275732857329573305733157332573335733457335573365733757338573395734057341573425734357344573455734657347573485734957350573515735257353573545735557356573575735857359573605736157362573635736457365573665736757368573695737057371573725737357374573755737657377573785737957380573815738257383573845738557386573875738857389573905739157392573935739457395573965739757398573995740057401574025740357404574055740657407574085740957410574115741257413574145741557416574175741857419574205742157422574235742457425574265742757428574295743057431574325743357434574355743657437574385743957440574415744257443574445744557446574475744857449574505745157452574535745457455574565745757458574595746057461574625746357464574655746657467574685746957470574715747257473574745747557476574775747857479574805748157482574835748457485574865748757488574895749057491574925749357494574955749657497574985749957500575015750257503575045750557506575075750857509575105751157512575135751457515575165751757518575195752057521575225752357524575255752657527575285752957530575315753257533575345753557536575375753857539575405754157542575435754457545575465754757548575495755057551575525755357554575555755657557575585755957560575615756257563575645756557566575675756857569575705757157572575735757457575575765757757578575795758057581575825758357584575855758657587575885758957590575915759257593575945759557596575975759857599576005760157602576035760457605576065760757608576095761057611576125761357614576155761657617576185761957620576215762257623576245762557626576275762857629576305763157632576335763457635576365763757638576395764057641576425764357644576455764657647576485764957650576515765257653576545765557656576575765857659576605766157662576635766457665576665766757668576695767057671576725767357674576755767657677576785767957680576815768257683576845768557686576875768857689576905769157692576935769457695576965769757698576995770057701577025770357704577055770657707577085770957710577115771257713577145771557716577175771857719577205772157722577235772457725577265772757728577295773057731577325773357734577355773657737577385773957740577415774257743577445774557746577475774857749577505775157752577535775457755577565775757758577595776057761577625776357764577655776657767577685776957770577715777257773577745777557776577775777857779577805778157782577835778457785577865778757788577895779057791577925779357794577955779657797577985779957800578015780257803578045780557806578075780857809578105781157812578135781457815578165781757818578195782057821578225782357824578255782657827578285782957830578315783257833578345783557836578375783857839578405784157842578435784457845578465784757848578495785057851578525785357854578555785657857578585785957860578615786257863578645786557866578675786857869578705787157872578735787457875578765787757878578795788057881578825788357884578855788657887578885788957890578915789257893578945789557896578975789857899579005790157902579035790457905579065790757908579095791057911579125791357914579155791657917579185791957920579215792257923579245792557926579275792857929579305793157932579335793457935579365793757938579395794057941579425794357944579455794657947579485794957950579515795257953579545795557956579575795857959579605796157962579635796457965579665796757968579695797057971579725797357974579755797657977579785797957980579815798257983579845798557986579875798857989579905799157992579935799457995579965799757998579995800058001580025800358004580055800658007580085800958010580115801258013580145801558016580175801858019580205802158022580235802458025580265802758028580295803058031580325803358034580355803658037580385803958040580415804258043580445804558046580475804858049580505805158052580535805458055580565805758058580595806058061580625806358064580655806658067580685806958070580715807258073580745807558076580775807858079580805808158082580835808458085580865808758088580895809058091580925809358094580955809658097580985809958100581015810258103581045810558106581075810858109581105811158112581135811458115581165811758118581195812058121581225812358124581255812658127581285812958130581315813258133581345813558136581375813858139581405814158142581435814458145581465814758148581495815058151581525815358154581555815658157581585815958160581615816258163581645816558166581675816858169581705817158172581735817458175581765817758178581795818058181581825818358184581855818658187581885818958190581915819258193581945819558196581975819858199582005820158202582035820458205582065820758208582095821058211582125821358214582155821658217582185821958220582215822258223582245822558226582275822858229582305823158232582335823458235582365823758238582395824058241582425824358244582455824658247582485824958250582515825258253582545825558256582575825858259582605826158262582635826458265582665826758268582695827058271582725827358274582755827658277582785827958280582815828258283582845828558286582875828858289582905829158292582935829458295582965829758298582995830058301583025830358304583055830658307583085830958310583115831258313583145831558316583175831858319583205832158322583235832458325583265832758328583295833058331583325833358334583355833658337583385833958340583415834258343583445834558346583475834858349583505835158352583535835458355583565835758358583595836058361583625836358364583655836658367583685836958370583715837258373583745837558376583775837858379583805838158382583835838458385583865838758388583895839058391583925839358394583955839658397583985839958400584015840258403584045840558406584075840858409584105841158412584135841458415584165841758418584195842058421584225842358424584255842658427584285842958430584315843258433584345843558436584375843858439584405844158442584435844458445584465844758448584495845058451584525845358454584555845658457584585845958460584615846258463584645846558466584675846858469584705847158472584735847458475584765847758478584795848058481584825848358484584855848658487584885848958490584915849258493584945849558496584975849858499585005850158502585035850458505585065850758508585095851058511585125851358514585155851658517585185851958520585215852258523585245852558526585275852858529585305853158532585335853458535585365853758538585395854058541585425854358544585455854658547585485854958550585515855258553585545855558556585575855858559585605856158562585635856458565585665856758568585695857058571585725857358574585755857658577585785857958580585815858258583585845858558586585875858858589585905859158592585935859458595585965859758598585995860058601586025860358604586055860658607586085860958610586115861258613586145861558616586175861858619586205862158622586235862458625586265862758628586295863058631586325863358634586355863658637586385863958640586415864258643586445864558646586475864858649586505865158652586535865458655586565865758658586595866058661586625866358664586655866658667586685866958670586715867258673586745867558676586775867858679586805868158682586835868458685586865868758688586895869058691586925869358694586955869658697586985869958700587015870258703587045870558706587075870858709587105871158712587135871458715587165871758718587195872058721587225872358724587255872658727587285872958730587315873258733587345873558736587375873858739587405874158742587435874458745587465874758748587495875058751587525875358754587555875658757587585875958760587615876258763587645876558766587675876858769587705877158772587735877458775587765877758778587795878058781587825878358784587855878658787587885878958790587915879258793587945879558796587975879858799588005880158802588035880458805588065880758808588095881058811588125881358814588155881658817588185881958820588215882258823588245882558826588275882858829588305883158832588335883458835588365883758838588395884058841588425884358844588455884658847588485884958850588515885258853588545885558856588575885858859588605886158862588635886458865588665886758868588695887058871588725887358874588755887658877588785887958880588815888258883588845888558886588875888858889588905889158892588935889458895588965889758898588995890058901589025890358904589055890658907589085890958910589115891258913589145891558916589175891858919589205892158922589235892458925589265892758928589295893058931589325893358934589355893658937589385893958940589415894258943589445894558946589475894858949589505895158952589535895458955589565895758958589595896058961589625896358964589655896658967589685896958970589715897258973589745897558976589775897858979589805898158982589835898458985589865898758988589895899058991589925899358994589955899658997589985899959000590015900259003590045900559006590075900859009590105901159012590135901459015590165901759018590195902059021590225902359024590255902659027590285902959030590315903259033590345903559036590375903859039590405904159042590435904459045590465904759048590495905059051590525905359054590555905659057590585905959060590615906259063590645906559066590675906859069590705907159072590735907459075590765907759078590795908059081590825908359084590855908659087590885908959090590915909259093590945909559096590975909859099591005910159102591035910459105591065910759108591095911059111591125911359114591155911659117591185911959120591215912259123591245912559126591275912859129591305913159132591335913459135591365913759138591395914059141591425914359144591455914659147591485914959150591515915259153591545915559156591575915859159591605916159162591635916459165591665916759168591695917059171591725917359174591755917659177591785917959180591815918259183591845918559186591875918859189591905919159192591935919459195591965919759198591995920059201592025920359204592055920659207592085920959210592115921259213592145921559216592175921859219592205922159222592235922459225592265922759228592295923059231592325923359234592355923659237592385923959240592415924259243592445924559246592475924859249592505925159252592535925459255592565925759258592595926059261592625926359264592655926659267592685926959270592715927259273592745927559276592775927859279592805928159282592835928459285592865928759288592895929059291592925929359294592955929659297592985929959300593015930259303593045930559306593075930859309593105931159312593135931459315593165931759318593195932059321593225932359324593255932659327593285932959330593315933259333593345933559336593375933859339593405934159342593435934459345593465934759348593495935059351593525935359354593555935659357593585935959360593615936259363593645936559366593675936859369593705937159372593735937459375593765937759378593795938059381593825938359384593855938659387593885938959390593915939259393593945939559396593975939859399594005940159402594035940459405594065940759408594095941059411594125941359414594155941659417594185941959420594215942259423594245942559426594275942859429594305943159432594335943459435594365943759438594395944059441594425944359444594455944659447594485944959450594515945259453594545945559456594575945859459594605946159462594635946459465594665946759468594695947059471594725947359474594755947659477594785947959480594815948259483594845948559486594875948859489594905949159492594935949459495594965949759498594995950059501595025950359504595055950659507595085950959510595115951259513595145951559516595175951859519595205952159522595235952459525595265952759528595295953059531595325953359534595355953659537595385953959540595415954259543595445954559546595475954859549595505955159552595535955459555595565955759558595595956059561595625956359564595655956659567595685956959570595715957259573595745957559576595775957859579595805958159582595835958459585595865958759588595895959059591595925959359594595955959659597595985959959600596015960259603596045960559606596075960859609596105961159612596135961459615596165961759618596195962059621596225962359624596255962659627596285962959630596315963259633596345963559636596375963859639596405964159642596435964459645596465964759648596495965059651596525965359654596555965659657596585965959660596615966259663596645966559666596675966859669596705967159672596735967459675596765967759678596795968059681596825968359684596855968659687596885968959690596915969259693596945969559696596975969859699597005970159702597035970459705597065970759708597095971059711597125971359714597155971659717597185971959720597215972259723597245972559726597275972859729597305973159732597335973459735597365973759738597395974059741597425974359744597455974659747597485974959750597515975259753597545975559756597575975859759597605976159762597635976459765597665976759768597695977059771597725977359774597755977659777597785977959780597815978259783597845978559786597875978859789597905979159792597935979459795597965979759798597995980059801598025980359804598055980659807598085980959810598115981259813598145981559816598175981859819598205982159822598235982459825598265982759828598295983059831598325983359834598355983659837598385983959840598415984259843598445984559846598475984859849598505985159852598535985459855598565985759858598595986059861598625986359864598655986659867598685986959870598715987259873598745987559876598775987859879598805988159882598835988459885598865988759888598895989059891598925989359894598955989659897598985989959900599015990259903599045990559906599075990859909599105991159912599135991459915599165991759918599195992059921599225992359924599255992659927599285992959930599315993259933599345993559936599375993859939599405994159942599435994459945599465994759948599495995059951599525995359954599555995659957599585995959960599615996259963599645996559966599675996859969599705997159972599735997459975599765997759978599795998059981599825998359984599855998659987599885998959990599915999259993599945999559996599975999859999600006000160002600036000460005600066000760008600096001060011600126001360014600156001660017600186001960020600216002260023600246002560026600276002860029600306003160032600336003460035600366003760038600396004060041600426004360044600456004660047600486004960050600516005260053600546005560056600576005860059600606006160062600636006460065600666006760068600696007060071600726007360074600756007660077600786007960080600816008260083600846008560086600876008860089600906009160092600936009460095600966009760098600996010060101601026010360104601056010660107601086010960110601116011260113601146011560116601176011860119601206012160122601236012460125601266012760128601296013060131601326013360134601356013660137601386013960140601416014260143601446014560146601476014860149601506015160152601536015460155601566015760158601596016060161601626016360164601656016660167601686016960170601716017260173601746017560176601776017860179601806018160182601836018460185601866018760188601896019060191601926019360194601956019660197601986019960200602016020260203602046020560206602076020860209602106021160212602136021460215602166021760218602196022060221602226022360224602256022660227602286022960230602316023260233602346023560236602376023860239602406024160242602436024460245602466024760248602496025060251602526025360254602556025660257602586025960260602616026260263602646026560266602676026860269602706027160272602736027460275602766027760278602796028060281602826028360284602856028660287602886028960290602916029260293602946029560296602976029860299603006030160302603036030460305603066030760308603096031060311603126031360314603156031660317603186031960320603216032260323603246032560326603276032860329603306033160332603336033460335603366033760338603396034060341603426034360344603456034660347603486034960350603516035260353603546035560356603576035860359603606036160362603636036460365603666036760368603696037060371603726037360374603756037660377603786037960380603816038260383603846038560386603876038860389603906039160392603936039460395603966039760398603996040060401604026040360404604056040660407604086040960410604116041260413604146041560416604176041860419604206042160422604236042460425604266042760428604296043060431604326043360434604356043660437604386043960440604416044260443604446044560446604476044860449604506045160452604536045460455604566045760458604596046060461604626046360464604656046660467604686046960470604716047260473604746047560476604776047860479604806048160482604836048460485604866048760488604896049060491604926049360494604956049660497604986049960500605016050260503605046050560506605076050860509605106051160512605136051460515605166051760518605196052060521605226052360524605256052660527605286052960530605316053260533605346053560536605376053860539605406054160542605436054460545605466054760548605496055060551605526055360554605556055660557605586055960560605616056260563605646056560566605676056860569605706057160572605736057460575605766057760578605796058060581605826058360584605856058660587605886058960590605916059260593605946059560596605976059860599606006060160602606036060460605606066060760608606096061060611606126061360614606156061660617606186061960620606216062260623606246062560626606276062860629606306063160632606336063460635606366063760638606396064060641606426064360644606456064660647606486064960650606516065260653606546065560656606576065860659606606066160662606636066460665606666066760668606696067060671606726067360674606756067660677606786067960680606816068260683606846068560686606876068860689606906069160692606936069460695606966069760698606996070060701607026070360704607056070660707607086070960710607116071260713607146071560716607176071860719607206072160722607236072460725607266072760728607296073060731607326073360734607356073660737607386073960740607416074260743607446074560746607476074860749607506075160752607536075460755607566075760758607596076060761607626076360764607656076660767607686076960770607716077260773607746077560776607776077860779607806078160782607836078460785607866078760788607896079060791607926079360794607956079660797607986079960800608016080260803608046080560806608076080860809608106081160812608136081460815608166081760818608196082060821608226082360824608256082660827608286082960830608316083260833608346083560836608376083860839608406084160842608436084460845608466084760848608496085060851608526085360854608556085660857608586085960860608616086260863608646086560866608676086860869608706087160872608736087460875608766087760878608796088060881608826088360884608856088660887608886088960890608916089260893608946089560896608976089860899609006090160902609036090460905609066090760908609096091060911609126091360914609156091660917609186091960920609216092260923609246092560926609276092860929609306093160932609336093460935609366093760938609396094060941609426094360944609456094660947609486094960950609516095260953609546095560956609576095860959609606096160962609636096460965609666096760968609696097060971609726097360974609756097660977609786097960980609816098260983609846098560986609876098860989609906099160992609936099460995609966099760998609996100061001610026100361004610056100661007610086100961010610116101261013610146101561016610176101861019610206102161022610236102461025610266102761028610296103061031610326103361034610356103661037610386103961040610416104261043610446104561046610476104861049610506105161052610536105461055610566105761058610596106061061610626106361064610656106661067610686106961070610716107261073610746107561076610776107861079610806108161082610836108461085610866108761088610896109061091610926109361094610956109661097610986109961100611016110261103611046110561106611076110861109611106111161112611136111461115611166111761118611196112061121611226112361124611256112661127611286112961130611316113261133611346113561136611376113861139611406114161142611436114461145611466114761148611496115061151611526115361154611556115661157611586115961160611616116261163611646116561166611676116861169611706117161172611736117461175611766117761178611796118061181611826118361184611856118661187611886118961190611916119261193611946119561196611976119861199612006120161202612036120461205612066120761208612096121061211612126121361214612156121661217612186121961220612216122261223612246122561226612276122861229612306123161232612336123461235612366123761238612396124061241612426124361244612456124661247612486124961250612516125261253612546125561256612576125861259612606126161262612636126461265612666126761268612696127061271612726127361274612756127661277612786127961280612816128261283612846128561286612876128861289612906129161292612936129461295612966129761298612996130061301613026130361304613056130661307613086130961310613116131261313613146131561316613176131861319613206132161322613236132461325613266132761328613296133061331613326133361334613356133661337613386133961340613416134261343613446134561346613476134861349613506135161352613536135461355613566135761358613596136061361613626136361364613656136661367613686136961370613716137261373613746137561376613776137861379613806138161382613836138461385613866138761388613896139061391613926139361394613956139661397613986139961400614016140261403614046140561406614076140861409614106141161412614136141461415614166141761418614196142061421614226142361424614256142661427614286142961430614316143261433614346143561436614376143861439614406144161442614436144461445614466144761448614496145061451614526145361454614556145661457614586145961460614616146261463614646146561466614676146861469614706147161472614736147461475614766147761478614796148061481614826148361484614856148661487614886148961490614916149261493614946149561496614976149861499615006150161502615036150461505615066150761508615096151061511615126151361514615156151661517615186151961520615216152261523615246152561526615276152861529615306153161532615336153461535615366153761538615396154061541615426154361544615456154661547615486154961550615516155261553615546155561556615576155861559615606156161562615636156461565615666156761568615696157061571615726157361574615756157661577615786157961580615816158261583615846158561586615876158861589615906159161592615936159461595615966159761598615996160061601616026160361604616056160661607616086160961610616116161261613616146161561616616176161861619616206162161622616236162461625616266162761628616296163061631616326163361634616356163661637616386163961640616416164261643616446164561646616476164861649616506165161652616536165461655616566165761658616596166061661616626166361664616656166661667616686166961670616716167261673616746167561676616776167861679616806168161682616836168461685616866168761688616896169061691616926169361694616956169661697616986169961700617016170261703617046170561706617076170861709617106171161712617136171461715617166171761718617196172061721617226172361724617256172661727617286172961730617316173261733617346173561736617376173861739617406174161742617436174461745617466174761748617496175061751617526175361754617556175661757617586175961760617616176261763617646176561766617676176861769617706177161772617736177461775617766177761778617796178061781617826178361784617856178661787617886178961790617916179261793617946179561796617976179861799618006180161802618036180461805618066180761808618096181061811618126181361814618156181661817618186181961820618216182261823618246182561826618276182861829618306183161832618336183461835618366183761838618396184061841618426184361844618456184661847618486184961850618516185261853618546185561856618576185861859618606186161862618636186461865618666186761868618696187061871618726187361874618756187661877618786187961880618816188261883618846188561886618876188861889618906189161892618936189461895618966189761898618996190061901619026190361904619056190661907619086190961910619116191261913619146191561916619176191861919619206192161922619236192461925619266192761928619296193061931619326193361934619356193661937619386193961940619416194261943619446194561946619476194861949619506195161952619536195461955619566195761958619596196061961619626196361964619656196661967619686196961970619716197261973619746197561976619776197861979619806198161982619836198461985619866198761988619896199061991619926199361994619956199661997619986199962000620016200262003620046200562006620076200862009620106201162012620136201462015620166201762018620196202062021620226202362024620256202662027620286202962030620316203262033620346203562036620376203862039620406204162042620436204462045620466204762048620496205062051620526205362054620556205662057620586205962060620616206262063620646206562066620676206862069620706207162072620736207462075620766207762078620796208062081620826208362084620856208662087620886208962090620916209262093620946209562096620976209862099621006210162102621036210462105621066210762108621096211062111621126211362114621156211662117621186211962120621216212262123621246212562126621276212862129621306213162132621336213462135621366213762138621396214062141621426214362144621456214662147621486214962150621516215262153621546215562156621576215862159621606216162162621636216462165621666216762168621696217062171621726217362174621756217662177621786217962180621816218262183621846218562186621876218862189621906219162192621936219462195621966219762198621996220062201622026220362204622056220662207622086220962210622116221262213622146221562216622176221862219622206222162222622236222462225622266222762228622296223062231622326223362234622356223662237622386223962240622416224262243622446224562246622476224862249622506225162252622536225462255622566225762258622596226062261622626226362264622656226662267622686226962270622716227262273622746227562276622776227862279622806228162282622836228462285622866228762288622896229062291622926229362294622956229662297622986229962300623016230262303623046230562306623076230862309623106231162312623136231462315623166231762318623196232062321623226232362324623256232662327623286232962330623316233262333623346233562336623376233862339623406234162342623436234462345623466234762348623496235062351623526235362354623556235662357623586235962360623616236262363623646236562366623676236862369623706237162372623736237462375623766237762378623796238062381623826238362384623856238662387623886238962390623916239262393623946239562396623976239862399624006240162402624036240462405624066240762408624096241062411624126241362414624156241662417624186241962420624216242262423624246242562426624276242862429624306243162432624336243462435624366243762438624396244062441624426244362444624456244662447624486244962450624516245262453624546245562456624576245862459624606246162462624636246462465624666246762468624696247062471624726247362474624756247662477624786247962480624816248262483624846248562486624876248862489624906249162492624936249462495624966249762498624996250062501625026250362504625056250662507625086250962510625116251262513625146251562516625176251862519625206252162522625236252462525625266252762528625296253062531625326253362534625356253662537625386253962540625416254262543625446254562546625476254862549625506255162552625536255462555625566255762558625596256062561625626256362564625656256662567625686256962570625716257262573625746257562576625776257862579625806258162582625836258462585625866258762588625896259062591625926259362594625956259662597625986259962600626016260262603626046260562606626076260862609626106261162612626136261462615626166261762618626196262062621626226262362624626256262662627626286262962630626316263262633626346263562636626376263862639626406264162642626436264462645626466264762648626496265062651626526265362654626556265662657626586265962660626616266262663626646266562666626676266862669626706267162672626736267462675626766267762678626796268062681626826268362684626856268662687626886268962690626916269262693626946269562696626976269862699627006270162702627036270462705627066270762708627096271062711627126271362714627156271662717627186271962720627216272262723627246272562726627276272862729627306273162732627336273462735627366273762738627396274062741627426274362744627456274662747627486274962750627516275262753627546275562756627576275862759627606276162762627636276462765627666276762768627696277062771627726277362774627756277662777627786277962780627816278262783627846278562786627876278862789627906279162792627936279462795627966279762798627996280062801628026280362804628056280662807628086280962810628116281262813628146281562816628176281862819628206282162822628236282462825628266282762828628296283062831628326283362834628356283662837628386283962840628416284262843628446284562846628476284862849628506285162852628536285462855628566285762858628596286062861628626286362864628656286662867628686286962870628716287262873628746287562876628776287862879628806288162882628836288462885628866288762888628896289062891628926289362894628956289662897628986289962900629016290262903629046290562906629076290862909629106291162912629136291462915629166291762918629196292062921629226292362924629256292662927629286292962930629316293262933629346293562936629376293862939629406294162942629436294462945629466294762948629496295062951629526295362954629556295662957629586295962960629616296262963629646296562966629676296862969629706297162972629736297462975629766297762978629796298062981629826298362984629856298662987629886298962990629916299262993629946299562996629976299862999630006300163002630036300463005630066300763008630096301063011630126301363014630156301663017630186301963020630216302263023630246302563026630276302863029630306303163032630336303463035630366303763038630396304063041630426304363044630456304663047630486304963050630516305263053630546305563056630576305863059630606306163062630636306463065630666306763068630696307063071630726307363074630756307663077630786307963080630816308263083630846308563086630876308863089630906309163092630936309463095630966309763098630996310063101631026310363104631056310663107631086310963110631116311263113631146311563116631176311863119631206312163122631236312463125631266312763128631296313063131631326313363134631356313663137631386313963140631416314263143631446314563146631476314863149631506315163152631536315463155631566315763158631596316063161631626316363164631656316663167631686316963170631716317263173631746317563176631776317863179631806318163182631836318463185631866318763188631896319063191631926319363194631956319663197631986319963200632016320263203632046320563206632076320863209632106321163212632136321463215632166321763218632196322063221632226322363224632256322663227632286322963230632316323263233632346323563236632376323863239632406324163242632436324463245632466324763248632496325063251632526325363254632556325663257632586325963260632616326263263632646326563266632676326863269632706327163272632736327463275632766327763278632796328063281632826328363284632856328663287632886328963290632916329263293632946329563296632976329863299633006330163302633036330463305633066330763308633096331063311633126331363314633156331663317633186331963320633216332263323633246332563326633276332863329633306333163332633336333463335633366333763338633396334063341633426334363344633456334663347633486334963350633516335263353633546335563356633576335863359633606336163362633636336463365633666336763368633696337063371633726337363374633756337663377633786337963380633816338263383633846338563386633876338863389633906339163392633936339463395633966339763398633996340063401634026340363404634056340663407634086340963410634116341263413634146341563416634176341863419634206342163422634236342463425634266342763428634296343063431634326343363434634356343663437634386343963440634416344263443634446344563446634476344863449634506345163452634536345463455634566345763458634596346063461634626346363464634656346663467634686346963470634716347263473634746347563476634776347863479634806348163482634836348463485634866348763488634896349063491634926349363494634956349663497634986349963500635016350263503635046350563506635076350863509635106351163512635136351463515635166351763518635196352063521635226352363524635256352663527635286352963530635316353263533635346353563536635376353863539635406354163542635436354463545635466354763548635496355063551635526355363554635556355663557635586355963560635616356263563635646356563566635676356863569635706357163572635736357463575635766357763578635796358063581635826358363584635856358663587635886358963590635916359263593635946359563596635976359863599636006360163602636036360463605636066360763608636096361063611636126361363614636156361663617636186361963620636216362263623636246362563626636276362863629636306363163632636336363463635636366363763638636396364063641636426364363644636456364663647636486364963650636516365263653636546365563656636576365863659636606366163662636636366463665636666366763668636696367063671636726367363674636756367663677636786367963680636816368263683636846368563686636876368863689636906369163692636936369463695636966369763698636996370063701637026370363704637056370663707637086370963710637116371263713637146371563716637176371863719637206372163722637236372463725637266372763728637296373063731637326373363734637356373663737637386373963740637416374263743637446374563746637476374863749637506375163752637536375463755637566375763758637596376063761637626376363764637656376663767637686376963770637716377263773637746377563776637776377863779637806378163782637836378463785637866378763788637896379063791637926379363794637956379663797637986379963800638016380263803638046380563806638076380863809638106381163812638136381463815638166381763818638196382063821638226382363824638256382663827638286382963830638316383263833638346383563836638376383863839638406384163842638436384463845638466384763848638496385063851638526385363854638556385663857638586385963860638616386263863638646386563866638676386863869638706387163872638736387463875638766387763878638796388063881638826388363884638856388663887638886388963890638916389263893638946389563896638976389863899639006390163902639036390463905639066390763908639096391063911639126391363914639156391663917639186391963920639216392263923639246392563926639276392863929639306393163932639336393463935639366393763938639396394063941639426394363944639456394663947639486394963950639516395263953639546395563956639576395863959639606396163962639636396463965639666396763968639696397063971639726397363974639756397663977639786397963980639816398263983639846398563986639876398863989639906399163992639936399463995639966399763998639996400064001640026400364004640056400664007640086400964010640116401264013640146401564016640176401864019640206402164022640236402464025640266402764028640296403064031640326403364034640356403664037640386403964040640416404264043640446404564046640476404864049640506405164052640536405464055640566405764058640596406064061640626406364064640656406664067640686406964070640716407264073640746407564076640776407864079640806408164082640836408464085640866408764088640896409064091640926409364094640956409664097640986409964100641016410264103641046410564106641076410864109641106411164112641136411464115641166411764118641196412064121641226412364124641256412664127641286412964130641316413264133641346413564136641376413864139641406414164142641436414464145641466414764148641496415064151641526415364154641556415664157641586415964160641616416264163641646416564166641676416864169641706417164172641736417464175641766417764178641796418064181641826418364184641856418664187641886418964190641916419264193641946419564196641976419864199642006420164202642036420464205642066420764208642096421064211642126421364214642156421664217642186421964220642216422264223642246422564226642276422864229642306423164232642336423464235642366423764238642396424064241642426424364244642456424664247642486424964250642516425264253642546425564256642576425864259642606426164262642636426464265642666426764268642696427064271642726427364274642756427664277642786427964280642816428264283642846428564286642876428864289642906429164292642936429464295642966429764298642996430064301643026430364304643056430664307643086430964310643116431264313643146431564316643176431864319643206432164322643236432464325643266432764328643296433064331643326433364334643356433664337643386433964340643416434264343643446434564346643476434864349643506435164352643536435464355643566435764358643596436064361643626436364364643656436664367643686436964370643716437264373643746437564376643776437864379643806438164382643836438464385643866438764388643896439064391643926439364394643956439664397643986439964400644016440264403644046440564406644076440864409644106441164412644136441464415644166441764418644196442064421644226442364424644256442664427644286442964430644316443264433644346443564436644376443864439644406444164442644436444464445644466444764448644496445064451644526445364454644556445664457644586445964460644616446264463644646446564466644676446864469644706447164472644736447464475644766447764478644796448064481644826448364484644856448664487644886448964490644916449264493644946449564496644976449864499645006450164502645036450464505645066450764508645096451064511645126451364514645156451664517645186451964520645216452264523645246452564526645276452864529645306453164532645336453464535645366453764538645396454064541645426454364544645456454664547645486454964550645516455264553645546455564556645576455864559645606456164562645636456464565645666456764568645696457064571645726457364574645756457664577645786457964580645816458264583645846458564586645876458864589645906459164592645936459464595645966459764598645996460064601646026460364604646056460664607646086460964610646116461264613646146461564616646176461864619646206462164622646236462464625646266462764628646296463064631646326463364634646356463664637646386463964640646416464264643646446464564646646476464864649646506465164652646536465464655646566465764658646596466064661646626466364664646656466664667646686466964670646716467264673646746467564676646776467864679646806468164682646836468464685646866468764688646896469064691646926469364694646956469664697646986469964700647016470264703647046470564706647076470864709647106471164712647136471464715647166471764718647196472064721647226472364724647256472664727647286472964730647316473264733647346473564736647376473864739647406474164742647436474464745647466474764748647496475064751647526475364754647556475664757647586475964760647616476264763647646476564766647676476864769647706477164772647736477464775647766477764778647796478064781647826478364784647856478664787647886478964790647916479264793647946479564796647976479864799648006480164802648036480464805648066480764808648096481064811648126481364814648156481664817648186481964820648216482264823648246482564826648276482864829648306483164832648336483464835648366483764838648396484064841648426484364844648456484664847648486484964850648516485264853648546485564856648576485864859648606486164862648636486464865648666486764868648696487064871648726487364874648756487664877648786487964880648816488264883648846488564886648876488864889648906489164892648936489464895648966489764898648996490064901649026490364904649056490664907649086490964910649116491264913649146491564916649176491864919649206492164922649236492464925649266492764928649296493064931649326493364934649356493664937649386493964940649416494264943649446494564946649476494864949649506495164952649536495464955649566495764958649596496064961649626496364964649656496664967649686496964970649716497264973649746497564976649776497864979649806498164982649836498464985649866498764988649896499064991649926499364994649956499664997649986499965000650016500265003650046500565006650076500865009650106501165012650136501465015650166501765018650196502065021650226502365024650256502665027650286502965030650316503265033650346503565036650376503865039650406504165042650436504465045650466504765048650496505065051650526505365054650556505665057650586505965060650616506265063650646506565066650676506865069650706507165072650736507465075650766507765078650796508065081650826508365084650856508665087650886508965090650916509265093650946509565096650976509865099651006510165102651036510465105651066510765108651096511065111651126511365114651156511665117651186511965120651216512265123651246512565126651276512865129651306513165132651336513465135651366513765138651396514065141651426514365144651456514665147651486514965150651516515265153651546515565156651576515865159651606516165162651636516465165651666516765168651696517065171651726517365174651756517665177651786517965180651816518265183651846518565186651876518865189651906519165192651936519465195651966519765198651996520065201652026520365204652056520665207652086520965210652116521265213652146521565216652176521865219652206522165222652236522465225652266522765228652296523065231652326523365234652356523665237652386523965240652416524265243652446524565246652476524865249652506525165252652536525465255652566525765258652596526065261652626526365264652656526665267652686526965270652716527265273652746527565276652776527865279652806528165282652836528465285652866528765288652896529065291652926529365294652956529665297652986529965300653016530265303653046530565306653076530865309653106531165312653136531465315653166531765318653196532065321653226532365324653256532665327653286532965330653316533265333653346533565336653376533865339653406534165342653436534465345653466534765348653496535065351653526535365354653556535665357653586535965360653616536265363653646536565366653676536865369653706537165372653736537465375653766537765378653796538065381653826538365384653856538665387653886538965390653916539265393653946539565396653976539865399654006540165402654036540465405654066540765408654096541065411654126541365414654156541665417654186541965420654216542265423654246542565426654276542865429654306543165432654336543465435654366543765438654396544065441654426544365444654456544665447654486544965450654516545265453654546545565456654576545865459654606546165462654636546465465654666546765468654696547065471654726547365474654756547665477654786547965480654816548265483654846548565486654876548865489654906549165492654936549465495654966549765498654996550065501655026550365504655056550665507655086550965510655116551265513655146551565516655176551865519655206552165522655236552465525655266552765528655296553065531655326553365534655356553665537655386553965540655416554265543655446554565546655476554865549655506555165552655536555465555655566555765558655596556065561655626556365564655656556665567655686556965570655716557265573655746557565576655776557865579655806558165582655836558465585655866558765588655896559065591655926559365594655956559665597655986559965600656016560265603656046560565606656076560865609656106561165612656136561465615656166561765618656196562065621656226562365624656256562665627656286562965630656316563265633656346563565636656376563865639656406564165642656436564465645656466564765648656496565065651656526565365654656556565665657656586565965660656616566265663656646566565666656676566865669656706567165672656736567465675656766567765678656796568065681656826568365684656856568665687656886568965690656916569265693656946569565696656976569865699657006570165702657036570465705657066570765708657096571065711657126571365714657156571665717657186571965720657216572265723657246572565726657276572865729657306573165732657336573465735657366573765738657396574065741657426574365744657456574665747657486574965750657516575265753657546575565756657576575865759657606576165762657636576465765657666576765768657696577065771657726577365774657756577665777657786577965780657816578265783657846578565786657876578865789657906579165792657936579465795657966579765798657996580065801658026580365804658056580665807658086580965810658116581265813658146581565816658176581865819658206582165822658236582465825658266582765828658296583065831658326583365834658356583665837658386583965840658416584265843658446584565846658476584865849658506585165852658536585465855658566585765858658596586065861658626586365864658656586665867658686586965870658716587265873658746587565876658776587865879658806588165882658836588465885658866588765888658896589065891658926589365894658956589665897658986589965900659016590265903659046590565906659076590865909659106591165912659136591465915659166591765918659196592065921659226592365924659256592665927659286592965930659316593265933659346593565936659376593865939659406594165942659436594465945659466594765948659496595065951659526595365954659556595665957659586595965960659616596265963659646596565966659676596865969659706597165972659736597465975659766597765978659796598065981659826598365984659856598665987659886598965990659916599265993659946599565996659976599865999660006600166002660036600466005660066600766008660096601066011660126601366014660156601666017660186601966020660216602266023660246602566026660276602866029660306603166032660336603466035660366603766038660396604066041660426604366044660456604666047660486604966050660516605266053660546605566056660576605866059660606606166062660636606466065660666606766068660696607066071660726607366074660756607666077660786607966080660816608266083660846608566086660876608866089660906609166092660936609466095660966609766098660996610066101661026610366104661056610666107661086610966110661116611266113661146611566116661176611866119661206612166122661236612466125661266612766128661296613066131661326613366134661356613666137661386613966140661416614266143661446614566146661476614866149661506615166152661536615466155661566615766158661596616066161661626616366164661656616666167661686616966170661716617266173661746617566176661776617866179661806618166182661836618466185661866618766188661896619066191661926619366194661956619666197661986619966200662016620266203662046620566206662076620866209662106621166212662136621466215662166621766218662196622066221662226622366224662256622666227662286622966230662316623266233662346623566236662376623866239662406624166242662436624466245662466624766248662496625066251662526625366254662556625666257662586625966260662616626266263662646626566266662676626866269662706627166272662736627466275662766627766278662796628066281662826628366284662856628666287662886628966290662916629266293662946629566296662976629866299663006630166302663036630466305663066630766308663096631066311663126631366314663156631666317663186631966320663216632266323663246632566326663276632866329663306633166332663336633466335663366633766338663396634066341663426634366344663456634666347663486634966350663516635266353663546635566356663576635866359663606636166362663636636466365663666636766368663696637066371663726637366374663756637666377663786637966380663816638266383663846638566386663876638866389663906639166392663936639466395663966639766398663996640066401664026640366404664056640666407664086640966410664116641266413664146641566416664176641866419664206642166422664236642466425664266642766428664296643066431664326643366434664356643666437664386643966440664416644266443664446644566446664476644866449664506645166452664536645466455664566645766458664596646066461664626646366464664656646666467664686646966470664716647266473664746647566476664776647866479664806648166482664836648466485664866648766488664896649066491664926649366494664956649666497664986649966500665016650266503665046650566506665076650866509665106651166512665136651466515665166651766518665196652066521665226652366524665256652666527665286652966530665316653266533665346653566536665376653866539665406654166542665436654466545665466654766548665496655066551665526655366554665556655666557665586655966560665616656266563665646656566566665676656866569665706657166572665736657466575665766657766578665796658066581665826658366584665856658666587665886658966590665916659266593665946659566596665976659866599666006660166602666036660466605666066660766608666096661066611666126661366614666156661666617666186661966620666216662266623666246662566626666276662866629666306663166632666336663466635666366663766638666396664066641666426664366644666456664666647666486664966650666516665266653666546665566656666576665866659666606666166662666636666466665666666666766668666696667066671666726667366674666756667666677666786667966680666816668266683666846668566686666876668866689666906669166692666936669466695666966669766698666996670066701667026670366704667056670666707667086670966710667116671266713667146671566716667176671866719667206672166722667236672466725667266672766728667296673066731667326673366734667356673666737667386673966740667416674266743667446674566746667476674866749667506675166752667536675466755667566675766758667596676066761667626676366764667656676666767667686676966770667716677266773667746677566776667776677866779667806678166782667836678466785667866678766788667896679066791667926679366794667956679666797667986679966800668016680266803668046680566806668076680866809668106681166812668136681466815668166681766818668196682066821668226682366824668256682666827668286682966830668316683266833668346683566836668376683866839668406684166842668436684466845668466684766848668496685066851668526685366854668556685666857668586685966860668616686266863668646686566866668676686866869668706687166872668736687466875668766687766878668796688066881668826688366884668856688666887668886688966890668916689266893668946689566896668976689866899669006690166902669036690466905669066690766908669096691066911669126691366914669156691666917669186691966920669216692266923669246692566926669276692866929669306693166932669336693466935669366693766938669396694066941669426694366944669456694666947669486694966950669516695266953669546695566956669576695866959669606696166962669636696466965669666696766968669696697066971669726697366974669756697666977669786697966980669816698266983669846698566986669876698866989669906699166992669936699466995669966699766998669996700067001670026700367004670056700667007670086700967010670116701267013670146701567016670176701867019670206702167022670236702467025670266702767028670296703067031670326703367034670356703667037670386703967040670416704267043670446704567046670476704867049670506705167052670536705467055670566705767058670596706067061670626706367064670656706667067670686706967070670716707267073670746707567076670776707867079670806708167082670836708467085670866708767088670896709067091670926709367094670956709667097670986709967100671016710267103671046710567106671076710867109671106711167112671136711467115671166711767118671196712067121671226712367124671256712667127671286712967130671316713267133671346713567136671376713867139671406714167142671436714467145671466714767148671496715067151671526715367154671556715667157671586715967160671616716267163671646716567166671676716867169671706717167172671736717467175671766717767178671796718067181671826718367184671856718667187671886718967190671916719267193671946719567196671976719867199672006720167202672036720467205672066720767208672096721067211672126721367214672156721667217672186721967220672216722267223672246722567226672276722867229672306723167232672336723467235672366723767238672396724067241672426724367244672456724667247672486724967250672516725267253672546725567256672576725867259672606726167262672636726467265672666726767268672696727067271672726727367274672756727667277672786727967280672816728267283672846728567286672876728867289672906729167292672936729467295672966729767298672996730067301673026730367304673056730667307673086730967310673116731267313673146731567316673176731867319673206732167322673236732467325673266732767328673296733067331673326733367334673356733667337673386733967340673416734267343673446734567346673476734867349673506735167352673536735467355673566735767358673596736067361673626736367364673656736667367673686736967370673716737267373673746737567376673776737867379673806738167382673836738467385673866738767388673896739067391673926739367394673956739667397673986739967400674016740267403674046740567406674076740867409674106741167412674136741467415674166741767418674196742067421674226742367424674256742667427674286742967430674316743267433674346743567436674376743867439674406744167442674436744467445674466744767448674496745067451674526745367454674556745667457674586745967460674616746267463674646746567466674676746867469674706747167472674736747467475674766747767478674796748067481674826748367484674856748667487674886748967490674916749267493674946749567496674976749867499675006750167502675036750467505675066750767508675096751067511675126751367514675156751667517675186751967520675216752267523675246752567526675276752867529675306753167532675336753467535675366753767538675396754067541675426754367544675456754667547675486754967550675516755267553675546755567556675576755867559675606756167562675636756467565675666756767568675696757067571675726757367574675756757667577675786757967580675816758267583675846758567586675876758867589675906759167592675936759467595675966759767598675996760067601676026760367604676056760667607676086760967610676116761267613676146761567616676176761867619676206762167622676236762467625676266762767628676296763067631676326763367634676356763667637676386763967640676416764267643676446764567646676476764867649676506765167652676536765467655676566765767658676596766067661676626766367664676656766667667676686766967670676716767267673676746767567676676776767867679676806768167682676836768467685676866768767688676896769067691676926769367694676956769667697676986769967700677016770267703677046770567706677076770867709677106771167712677136771467715677166771767718677196772067721677226772367724677256772667727677286772967730677316773267733677346773567736677376773867739677406774167742677436774467745677466774767748677496775067751677526775367754677556775667757677586775967760677616776267763677646776567766677676776867769677706777167772677736777467775677766777767778677796778067781677826778367784677856778667787677886778967790677916779267793677946779567796677976779867799678006780167802678036780467805678066780767808678096781067811678126781367814678156781667817678186781967820678216782267823678246782567826678276782867829678306783167832678336783467835678366783767838678396784067841678426784367844678456784667847678486784967850678516785267853678546785567856678576785867859678606786167862678636786467865678666786767868678696787067871678726787367874678756787667877678786787967880678816788267883678846788567886678876788867889678906789167892678936789467895678966789767898678996790067901679026790367904679056790667907679086790967910679116791267913679146791567916679176791867919679206792167922679236792467925679266792767928679296793067931679326793367934679356793667937679386793967940679416794267943679446794567946679476794867949679506795167952679536795467955679566795767958679596796067961679626796367964679656796667967679686796967970679716797267973679746797567976679776797867979679806798167982679836798467985679866798767988679896799067991679926799367994679956799667997679986799968000680016800268003680046800568006680076800868009680106801168012680136801468015680166801768018680196802068021680226802368024680256802668027680286802968030680316803268033680346803568036680376803868039680406804168042680436804468045680466804768048680496805068051680526805368054680556805668057680586805968060680616806268063680646806568066680676806868069680706807168072680736807468075680766807768078680796808068081680826808368084680856808668087680886808968090680916809268093680946809568096680976809868099681006810168102681036810468105681066810768108681096811068111681126811368114681156811668117681186811968120681216812268123681246812568126681276812868129681306813168132681336813468135681366813768138681396814068141681426814368144681456814668147681486814968150681516815268153681546815568156681576815868159681606816168162681636816468165681666816768168681696817068171681726817368174681756817668177681786817968180681816818268183681846818568186681876818868189681906819168192681936819468195681966819768198681996820068201682026820368204682056820668207682086820968210682116821268213682146821568216682176821868219682206822168222682236822468225682266822768228682296823068231682326823368234682356823668237682386823968240682416824268243682446824568246682476824868249682506825168252682536825468255682566825768258682596826068261682626826368264682656826668267682686826968270682716827268273682746827568276682776827868279682806828168282682836828468285682866828768288682896829068291682926829368294682956829668297682986829968300683016830268303683046830568306683076830868309683106831168312683136831468315683166831768318683196832068321683226832368324683256832668327683286832968330683316833268333683346833568336683376833868339683406834168342683436834468345683466834768348683496835068351683526835368354683556835668357683586835968360683616836268363683646836568366683676836868369683706837168372683736837468375683766837768378683796838068381683826838368384683856838668387683886838968390683916839268393683946839568396683976839868399684006840168402684036840468405684066840768408684096841068411684126841368414684156841668417684186841968420684216842268423684246842568426684276842868429684306843168432684336843468435684366843768438684396844068441684426844368444684456844668447684486844968450684516845268453684546845568456684576845868459684606846168462684636846468465684666846768468684696847068471684726847368474684756847668477684786847968480684816848268483684846848568486684876848868489684906849168492684936849468495684966849768498684996850068501685026850368504685056850668507685086850968510685116851268513685146851568516685176851868519685206852168522685236852468525685266852768528685296853068531685326853368534685356853668537685386853968540685416854268543685446854568546685476854868549685506855168552685536855468555685566855768558685596856068561685626856368564685656856668567685686856968570685716857268573685746857568576685776857868579685806858168582685836858468585685866858768588685896859068591685926859368594685956859668597685986859968600686016860268603686046860568606686076860868609686106861168612686136861468615686166861768618686196862068621686226862368624686256862668627686286862968630686316863268633686346863568636686376863868639686406864168642686436864468645686466864768648686496865068651686526865368654686556865668657686586865968660686616866268663686646866568666686676866868669686706867168672686736867468675686766867768678686796868068681686826868368684686856868668687686886868968690686916869268693686946869568696686976869868699687006870168702687036870468705687066870768708687096871068711687126871368714687156871668717687186871968720687216872268723687246872568726687276872868729687306873168732687336873468735687366873768738687396874068741687426874368744687456874668747687486874968750687516875268753687546875568756687576875868759687606876168762687636876468765687666876768768687696877068771687726877368774687756877668777687786877968780687816878268783687846878568786687876878868789687906879168792687936879468795687966879768798687996880068801688026880368804688056880668807688086880968810688116881268813688146881568816688176881868819688206882168822688236882468825688266882768828688296883068831688326883368834688356883668837688386883968840688416884268843688446884568846688476884868849688506885168852688536885468855688566885768858688596886068861688626886368864688656886668867688686886968870688716887268873688746887568876688776887868879688806888168882688836888468885688866888768888688896889068891688926889368894688956889668897688986889968900689016890268903689046890568906689076890868909689106891168912689136891468915689166891768918689196892068921689226892368924689256892668927689286892968930689316893268933689346893568936689376893868939689406894168942689436894468945689466894768948689496895068951689526895368954689556895668957689586895968960689616896268963689646896568966689676896868969689706897168972689736897468975689766897768978689796898068981689826898368984689856898668987689886898968990689916899268993689946899568996689976899868999690006900169002690036900469005690066900769008690096901069011690126901369014690156901669017690186901969020690216902269023690246902569026690276902869029690306903169032690336903469035690366903769038690396904069041690426904369044690456904669047690486904969050690516905269053690546905569056690576905869059690606906169062690636906469065690666906769068690696907069071690726907369074690756907669077690786907969080690816908269083690846908569086690876908869089690906909169092690936909469095690966909769098690996910069101691026910369104691056910669107691086910969110691116911269113691146911569116691176911869119691206912169122691236912469125691266912769128691296913069131691326913369134691356913669137691386913969140691416914269143691446914569146691476914869149691506915169152691536915469155691566915769158691596916069161691626916369164691656916669167691686916969170691716917269173691746917569176691776917869179691806918169182691836918469185691866918769188691896919069191691926919369194691956919669197691986919969200692016920269203692046920569206692076920869209692106921169212692136921469215692166921769218692196922069221692226922369224692256922669227692286922969230692316923269233692346923569236692376923869239692406924169242692436924469245692466924769248692496925069251692526925369254692556925669257692586925969260692616926269263692646926569266692676926869269692706927169272692736927469275692766927769278692796928069281692826928369284692856928669287692886928969290692916929269293692946929569296692976929869299693006930169302693036930469305693066930769308693096931069311693126931369314693156931669317693186931969320693216932269323693246932569326693276932869329693306933169332693336933469335693366933769338693396934069341693426934369344693456934669347693486934969350693516935269353693546935569356693576935869359693606936169362693636936469365693666936769368693696937069371693726937369374693756937669377693786937969380693816938269383693846938569386693876938869389693906939169392693936939469395693966939769398693996940069401694026940369404694056940669407694086940969410694116941269413694146941569416694176941869419694206942169422694236942469425694266942769428694296943069431694326943369434694356943669437694386943969440694416944269443694446944569446694476944869449694506945169452694536945469455694566945769458694596946069461694626946369464694656946669467694686946969470694716947269473694746947569476694776947869479694806948169482694836948469485694866948769488694896949069491694926949369494694956949669497694986949969500695016950269503695046950569506695076950869509695106951169512695136951469515695166951769518695196952069521695226952369524695256952669527695286952969530695316953269533695346953569536695376953869539695406954169542695436954469545695466954769548695496955069551695526955369554695556955669557695586955969560695616956269563695646956569566695676956869569695706957169572695736957469575695766957769578695796958069581695826958369584695856958669587695886958969590695916959269593695946959569596695976959869599696006960169602696036960469605696066960769608696096961069611696126961369614696156961669617696186961969620696216962269623696246962569626696276962869629696306963169632696336963469635696366963769638696396964069641696426964369644696456964669647696486964969650696516965269653696546965569656696576965869659696606966169662696636966469665696666966769668696696967069671696726967369674696756967669677696786967969680696816968269683696846968569686696876968869689696906969169692696936969469695696966969769698696996970069701697026970369704697056970669707697086970969710697116971269713697146971569716697176971869719697206972169722697236972469725697266972769728697296973069731697326973369734697356973669737697386973969740697416974269743697446974569746697476974869749697506975169752697536975469755697566975769758697596976069761697626976369764697656976669767697686976969770697716977269773697746977569776697776977869779697806978169782697836978469785697866978769788697896979069791697926979369794697956979669797697986979969800698016980269803698046980569806698076980869809698106981169812698136981469815698166981769818698196982069821698226982369824698256982669827698286982969830698316983269833698346983569836698376983869839698406984169842698436984469845698466984769848698496985069851698526985369854698556985669857698586985969860698616986269863698646986569866698676986869869698706987169872698736987469875698766987769878698796988069881698826988369884698856988669887698886988969890698916989269893698946989569896698976989869899699006990169902699036990469905699066990769908699096991069911699126991369914699156991669917699186991969920699216992269923699246992569926699276992869929699306993169932699336993469935699366993769938699396994069941699426994369944699456994669947699486994969950699516995269953699546995569956699576995869959699606996169962699636996469965699666996769968699696997069971699726997369974699756997669977699786997969980699816998269983699846998569986699876998869989699906999169992699936999469995699966999769998699997000070001700027000370004700057000670007700087000970010700117001270013700147001570016700177001870019700207002170022700237002470025700267002770028700297003070031700327003370034700357003670037700387003970040700417004270043700447004570046700477004870049700507005170052700537005470055700567005770058700597006070061700627006370064700657006670067700687006970070700717007270073700747007570076700777007870079700807008170082700837008470085700867008770088700897009070091700927009370094700957009670097700987009970100701017010270103701047010570106701077010870109701107011170112701137011470115701167011770118701197012070121701227012370124701257012670127701287012970130701317013270133701347013570136701377013870139701407014170142701437014470145701467014770148701497015070151701527015370154701557015670157701587015970160701617016270163701647016570166701677016870169701707017170172701737017470175701767017770178701797018070181701827018370184701857018670187701887018970190701917019270193701947019570196701977019870199702007020170202702037020470205702067020770208702097021070211702127021370214702157021670217702187021970220702217022270223702247022570226702277022870229702307023170232702337023470235702367023770238702397024070241702427024370244702457024670247702487024970250702517025270253702547025570256702577025870259702607026170262702637026470265702667026770268702697027070271702727027370274702757027670277702787027970280702817028270283702847028570286702877028870289702907029170292702937029470295702967029770298702997030070301703027030370304703057030670307703087030970310703117031270313703147031570316703177031870319703207032170322703237032470325703267032770328703297033070331703327033370334703357033670337703387033970340703417034270343703447034570346703477034870349703507035170352703537035470355703567035770358703597036070361703627036370364703657036670367703687036970370703717037270373703747037570376703777037870379703807038170382703837038470385703867038770388703897039070391703927039370394703957039670397703987039970400704017040270403704047040570406704077040870409704107041170412704137041470415704167041770418704197042070421704227042370424704257042670427704287042970430704317043270433704347043570436704377043870439704407044170442704437044470445704467044770448704497045070451704527045370454704557045670457704587045970460704617046270463704647046570466704677046870469704707047170472704737047470475704767047770478704797048070481704827048370484704857048670487704887048970490704917049270493704947049570496704977049870499705007050170502705037050470505705067050770508705097051070511705127051370514705157051670517705187051970520705217052270523705247052570526705277052870529705307053170532705337053470535705367053770538705397054070541705427054370544705457054670547705487054970550705517055270553705547055570556705577055870559705607056170562705637056470565705667056770568705697057070571705727057370574705757057670577705787057970580705817058270583705847058570586705877058870589705907059170592705937059470595705967059770598705997060070601706027060370604706057060670607706087060970610706117061270613706147061570616706177061870619706207062170622706237062470625706267062770628706297063070631706327063370634706357063670637706387063970640706417064270643706447064570646706477064870649706507065170652706537065470655706567065770658706597066070661706627066370664706657066670667706687066970670706717067270673706747067570676706777067870679706807068170682706837068470685706867068770688706897069070691706927069370694706957069670697706987069970700707017070270703707047070570706707077070870709707107071170712707137071470715707167071770718707197072070721707227072370724707257072670727707287072970730707317073270733707347073570736707377073870739707407074170742707437074470745707467074770748707497075070751707527075370754707557075670757707587075970760707617076270763707647076570766707677076870769707707077170772707737077470775707767077770778707797078070781707827078370784707857078670787707887078970790707917079270793707947079570796707977079870799708007080170802708037080470805708067080770808708097081070811708127081370814708157081670817708187081970820708217082270823708247082570826708277082870829708307083170832708337083470835708367083770838708397084070841708427084370844708457084670847708487084970850708517085270853708547085570856708577085870859708607086170862708637086470865708667086770868708697087070871708727087370874708757087670877708787087970880708817088270883708847088570886708877088870889708907089170892708937089470895708967089770898708997090070901709027090370904709057090670907709087090970910709117091270913709147091570916709177091870919709207092170922709237092470925709267092770928709297093070931709327093370934709357093670937709387093970940709417094270943709447094570946709477094870949709507095170952709537095470955709567095770958709597096070961709627096370964709657096670967709687096970970709717097270973709747097570976709777097870979709807098170982709837098470985709867098770988709897099070991709927099370994709957099670997709987099971000710017100271003710047100571006710077100871009710107101171012710137101471015710167101771018710197102071021710227102371024710257102671027710287102971030710317103271033710347103571036710377103871039710407104171042710437104471045710467104771048710497105071051710527105371054710557105671057710587105971060710617106271063710647106571066710677106871069710707107171072710737107471075710767107771078710797108071081710827108371084710857108671087710887108971090710917109271093710947109571096710977109871099711007110171102711037110471105711067110771108711097111071111711127111371114711157111671117711187111971120711217112271123711247112571126711277112871129711307113171132711337113471135711367113771138711397114071141711427114371144711457114671147711487114971150711517115271153711547115571156711577115871159711607116171162711637116471165711667116771168711697117071171711727117371174711757117671177711787117971180711817118271183711847118571186711877118871189711907119171192711937119471195711967119771198711997120071201712027120371204712057120671207712087120971210712117121271213712147121571216712177121871219712207122171222712237122471225712267122771228712297123071231712327123371234712357123671237712387123971240712417124271243712447124571246712477124871249712507125171252712537125471255712567125771258712597126071261712627126371264712657126671267712687126971270712717127271273712747127571276712777127871279712807128171282712837128471285712867128771288712897129071291712927129371294712957129671297712987129971300713017130271303713047130571306713077130871309713107131171312713137131471315713167131771318713197132071321713227132371324713257132671327713287132971330713317133271333713347133571336713377133871339713407134171342713437134471345713467134771348713497135071351713527135371354713557135671357713587135971360713617136271363713647136571366713677136871369713707137171372713737137471375713767137771378713797138071381713827138371384713857138671387713887138971390713917139271393713947139571396713977139871399714007140171402714037140471405714067140771408714097141071411714127141371414714157141671417714187141971420714217142271423714247142571426714277142871429714307143171432714337143471435714367143771438714397144071441714427144371444714457144671447714487144971450714517145271453714547145571456714577145871459714607146171462714637146471465714667146771468714697147071471714727147371474714757147671477714787147971480714817148271483714847148571486714877148871489714907149171492714937149471495714967149771498714997150071501715027150371504715057150671507715087150971510715117151271513715147151571516715177151871519715207152171522715237152471525715267152771528715297153071531715327153371534715357153671537715387153971540715417154271543715447154571546715477154871549715507155171552715537155471555715567155771558715597156071561715627156371564715657156671567715687156971570715717157271573715747157571576715777157871579715807158171582715837158471585715867158771588715897159071591715927159371594715957159671597715987159971600716017160271603716047160571606716077160871609716107161171612716137161471615716167161771618716197162071621716227162371624716257162671627716287162971630716317163271633716347163571636716377163871639716407164171642716437164471645716467164771648716497165071651716527165371654716557165671657716587165971660716617166271663716647166571666716677166871669716707167171672716737167471675716767167771678716797168071681716827168371684716857168671687716887168971690716917169271693716947169571696716977169871699717007170171702717037170471705717067170771708717097171071711717127171371714717157171671717717187171971720717217172271723717247172571726717277172871729717307173171732717337173471735717367173771738717397174071741717427174371744717457174671747717487174971750717517175271753717547175571756717577175871759717607176171762717637176471765717667176771768717697177071771717727177371774717757177671777717787177971780717817178271783717847178571786717877178871789717907179171792717937179471795717967179771798717997180071801718027180371804718057180671807718087180971810718117181271813718147181571816718177181871819718207182171822718237182471825718267182771828718297183071831718327183371834718357183671837718387183971840718417184271843718447184571846718477184871849718507185171852718537185471855718567185771858718597186071861718627186371864718657186671867718687186971870718717187271873718747187571876718777187871879718807188171882718837188471885718867188771888718897189071891718927189371894718957189671897718987189971900719017190271903719047190571906719077190871909719107191171912719137191471915719167191771918719197192071921719227192371924719257192671927719287192971930719317193271933719347193571936719377193871939719407194171942719437194471945719467194771948719497195071951719527195371954719557195671957719587195971960719617196271963719647196571966719677196871969719707197171972719737197471975719767197771978719797198071981719827198371984719857198671987719887198971990719917199271993719947199571996719977199871999720007200172002720037200472005720067200772008720097201072011720127201372014720157201672017720187201972020720217202272023720247202572026720277202872029720307203172032720337203472035720367203772038720397204072041720427204372044720457204672047720487204972050720517205272053720547205572056720577205872059720607206172062720637206472065720667206772068720697207072071720727207372074720757207672077720787207972080720817208272083720847208572086720877208872089720907209172092720937209472095720967209772098720997210072101721027210372104721057210672107721087210972110721117211272113721147211572116721177211872119721207212172122721237212472125721267212772128721297213072131721327213372134721357213672137721387213972140721417214272143721447214572146721477214872149721507215172152721537215472155721567215772158721597216072161721627216372164721657216672167721687216972170721717217272173721747217572176721777217872179721807218172182721837218472185721867218772188721897219072191721927219372194721957219672197721987219972200722017220272203722047220572206722077220872209722107221172212722137221472215722167221772218722197222072221722227222372224722257222672227722287222972230722317223272233722347223572236722377223872239722407224172242722437224472245722467224772248722497225072251722527225372254722557225672257722587225972260722617226272263722647226572266722677226872269722707227172272722737227472275722767227772278722797228072281722827228372284722857228672287722887228972290722917229272293722947229572296722977229872299723007230172302723037230472305723067230772308723097231072311723127231372314723157231672317723187231972320723217232272323723247232572326723277232872329723307233172332723337233472335723367233772338723397234072341723427234372344723457234672347723487234972350723517235272353723547235572356723577235872359723607236172362723637236472365723667236772368723697237072371723727237372374723757237672377723787237972380723817238272383723847238572386723877238872389723907239172392723937239472395723967239772398723997240072401724027240372404724057240672407724087240972410724117241272413724147241572416724177241872419724207242172422724237242472425724267242772428724297243072431724327243372434724357243672437724387243972440724417244272443724447244572446724477244872449724507245172452724537245472455724567245772458724597246072461724627246372464724657246672467724687246972470724717247272473724747247572476724777247872479724807248172482724837248472485724867248772488724897249072491724927249372494724957249672497724987249972500725017250272503725047250572506725077250872509725107251172512725137251472515725167251772518725197252072521725227252372524725257252672527725287252972530725317253272533725347253572536725377253872539725407254172542725437254472545725467254772548725497255072551725527255372554725557255672557725587255972560725617256272563725647256572566725677256872569725707257172572725737257472575725767257772578725797258072581725827258372584725857258672587725887258972590725917259272593725947259572596725977259872599726007260172602726037260472605726067260772608726097261072611726127261372614726157261672617726187261972620726217262272623726247262572626726277262872629726307263172632726337263472635726367263772638726397264072641726427264372644726457264672647726487264972650726517265272653726547265572656726577265872659726607266172662726637266472665726667266772668726697267072671726727267372674726757267672677726787267972680726817268272683726847268572686726877268872689726907269172692726937269472695726967269772698726997270072701727027270372704727057270672707727087270972710727117271272713727147271572716727177271872719727207272172722727237272472725727267272772728727297273072731727327273372734727357273672737727387273972740727417274272743727447274572746727477274872749727507275172752727537275472755727567275772758727597276072761727627276372764727657276672767727687276972770727717277272773727747277572776727777277872779727807278172782727837278472785727867278772788727897279072791727927279372794727957279672797727987279972800728017280272803728047280572806728077280872809728107281172812728137281472815728167281772818728197282072821728227282372824728257282672827728287282972830728317283272833728347283572836728377283872839728407284172842728437284472845728467284772848728497285072851728527285372854728557285672857728587285972860728617286272863728647286572866728677286872869728707287172872728737287472875728767287772878728797288072881728827288372884728857288672887728887288972890728917289272893728947289572896728977289872899729007290172902729037290472905729067290772908729097291072911729127291372914729157291672917729187291972920729217292272923729247292572926729277292872929729307293172932729337293472935729367293772938729397294072941729427294372944729457294672947729487294972950729517295272953729547295572956729577295872959729607296172962729637296472965729667296772968729697297072971729727297372974729757297672977729787297972980729817298272983729847298572986729877298872989729907299172992729937299472995729967299772998729997300073001730027300373004730057300673007730087300973010730117301273013730147301573016730177301873019730207302173022730237302473025730267302773028730297303073031730327303373034730357303673037730387303973040730417304273043730447304573046730477304873049730507305173052730537305473055730567305773058730597306073061730627306373064730657306673067730687306973070730717307273073730747307573076730777307873079730807308173082730837308473085730867308773088730897309073091730927309373094730957309673097730987309973100731017310273103731047310573106731077310873109731107311173112731137311473115731167311773118731197312073121731227312373124731257312673127731287312973130731317313273133731347313573136731377313873139731407314173142731437314473145731467314773148731497315073151731527315373154731557315673157731587315973160731617316273163731647316573166731677316873169731707317173172731737317473175731767317773178731797318073181731827318373184731857318673187731887318973190731917319273193731947319573196731977319873199732007320173202732037320473205732067320773208732097321073211732127321373214732157321673217732187321973220732217322273223732247322573226732277322873229732307323173232732337323473235732367323773238732397324073241732427324373244732457324673247732487324973250732517325273253732547325573256732577325873259732607326173262732637326473265732667326773268732697327073271732727327373274732757327673277732787327973280732817328273283732847328573286732877328873289732907329173292732937329473295732967329773298732997330073301733027330373304733057330673307733087330973310733117331273313733147331573316733177331873319733207332173322733237332473325733267332773328733297333073331733327333373334733357333673337733387333973340733417334273343733447334573346733477334873349733507335173352733537335473355733567335773358733597336073361733627336373364733657336673367733687336973370733717337273373733747337573376733777337873379733807338173382733837338473385733867338773388733897339073391733927339373394733957339673397733987339973400734017340273403734047340573406734077340873409734107341173412734137341473415734167341773418734197342073421734227342373424734257342673427734287342973430734317343273433734347343573436734377343873439734407344173442734437344473445734467344773448734497345073451734527345373454734557345673457734587345973460734617346273463734647346573466734677346873469734707347173472734737347473475734767347773478734797348073481734827348373484734857348673487734887348973490734917349273493734947349573496734977349873499735007350173502735037350473505735067350773508735097351073511735127351373514735157351673517735187351973520735217352273523735247352573526735277352873529735307353173532735337353473535735367353773538735397354073541735427354373544735457354673547735487354973550735517355273553735547355573556735577355873559735607356173562735637356473565735667356773568735697357073571735727357373574735757357673577735787357973580735817358273583735847358573586735877358873589735907359173592735937359473595735967359773598735997360073601736027360373604736057360673607736087360973610736117361273613736147361573616736177361873619736207362173622736237362473625736267362773628736297363073631736327363373634736357363673637736387363973640736417364273643736447364573646736477364873649736507365173652736537365473655736567365773658736597366073661736627366373664736657366673667736687366973670736717367273673736747367573676736777367873679736807368173682736837368473685736867368773688736897369073691736927369373694736957369673697736987369973700737017370273703737047370573706737077370873709737107371173712737137371473715737167371773718737197372073721737227372373724737257372673727737287372973730737317373273733737347373573736737377373873739737407374173742737437374473745737467374773748737497375073751737527375373754737557375673757737587375973760737617376273763737647376573766737677376873769737707377173772737737377473775737767377773778737797378073781737827378373784737857378673787737887378973790737917379273793737947379573796737977379873799738007380173802738037380473805738067380773808738097381073811738127381373814738157381673817738187381973820738217382273823738247382573826738277382873829738307383173832738337383473835738367383773838738397384073841738427384373844738457384673847738487384973850738517385273853738547385573856738577385873859738607386173862738637386473865738667386773868738697387073871738727387373874738757387673877738787387973880738817388273883738847388573886738877388873889738907389173892738937389473895738967389773898738997390073901739027390373904739057390673907739087390973910739117391273913739147391573916739177391873919739207392173922739237392473925739267392773928739297393073931739327393373934739357393673937739387393973940739417394273943739447394573946739477394873949739507395173952739537395473955739567395773958739597396073961739627396373964739657396673967739687396973970739717397273973739747397573976739777397873979739807398173982739837398473985739867398773988739897399073991739927399373994739957399673997739987399974000740017400274003740047400574006740077400874009740107401174012740137401474015740167401774018740197402074021740227402374024740257402674027740287402974030740317403274033740347403574036740377403874039740407404174042740437404474045740467404774048740497405074051740527405374054740557405674057740587405974060740617406274063740647406574066740677406874069740707407174072740737407474075740767407774078740797408074081740827408374084740857408674087740887408974090740917409274093740947409574096740977409874099741007410174102741037410474105741067410774108741097411074111741127411374114741157411674117741187411974120741217412274123741247412574126741277412874129741307413174132741337413474135741367413774138741397414074141741427414374144741457414674147741487414974150741517415274153741547415574156741577415874159741607416174162741637416474165741667416774168741697417074171741727417374174741757417674177741787417974180741817418274183741847418574186741877418874189741907419174192741937419474195741967419774198741997420074201742027420374204742057420674207742087420974210742117421274213742147421574216742177421874219742207422174222742237422474225742267422774228742297423074231742327423374234742357423674237742387423974240742417424274243742447424574246742477424874249742507425174252742537425474255742567425774258742597426074261742627426374264742657426674267742687426974270742717427274273742747427574276742777427874279742807428174282742837428474285742867428774288742897429074291742927429374294742957429674297742987429974300743017430274303743047430574306743077430874309743107431174312743137431474315743167431774318743197432074321743227432374324743257432674327743287432974330743317433274333743347433574336743377433874339743407434174342743437434474345743467434774348743497435074351743527435374354743557435674357743587435974360743617436274363743647436574366743677436874369743707437174372743737437474375743767437774378743797438074381743827438374384743857438674387743887438974390743917439274393743947439574396743977439874399744007440174402744037440474405744067440774408744097441074411744127441374414744157441674417744187441974420744217442274423744247442574426744277442874429744307443174432744337443474435744367443774438744397444074441744427444374444744457444674447744487444974450744517445274453744547445574456744577445874459744607446174462744637446474465744667446774468744697447074471744727447374474744757447674477744787447974480744817448274483744847448574486744877448874489744907449174492744937449474495744967449774498744997450074501745027450374504745057450674507745087450974510745117451274513745147451574516745177451874519745207452174522745237452474525745267452774528745297453074531745327453374534745357453674537745387453974540745417454274543745447454574546745477454874549745507455174552745537455474555745567455774558745597456074561745627456374564745657456674567745687456974570745717457274573745747457574576745777457874579745807458174582745837458474585745867458774588745897459074591745927459374594745957459674597745987459974600746017460274603746047460574606746077460874609746107461174612746137461474615746167461774618746197462074621746227462374624746257462674627746287462974630746317463274633746347463574636746377463874639746407464174642746437464474645746467464774648746497465074651746527465374654746557465674657746587465974660746617466274663746647466574666746677466874669746707467174672746737467474675746767467774678746797468074681746827468374684746857468674687746887468974690746917469274693746947469574696746977469874699747007470174702747037470474705747067470774708747097471074711747127471374714747157471674717747187471974720747217472274723747247472574726747277472874729747307473174732747337473474735747367473774738747397474074741747427474374744747457474674747747487474974750747517475274753747547475574756747577475874759747607476174762747637476474765747667476774768747697477074771747727477374774747757477674777747787477974780747817478274783747847478574786747877478874789747907479174792747937479474795747967479774798747997480074801748027480374804748057480674807748087480974810748117481274813748147481574816748177481874819748207482174822748237482474825748267482774828748297483074831748327483374834748357483674837748387483974840748417484274843748447484574846748477484874849748507485174852748537485474855748567485774858748597486074861748627486374864748657486674867748687486974870748717487274873748747487574876748777487874879748807488174882748837488474885748867488774888748897489074891748927489374894748957489674897748987489974900749017490274903749047490574906749077490874909749107491174912749137491474915749167491774918749197492074921749227492374924749257492674927749287492974930749317493274933749347493574936749377493874939749407494174942749437494474945749467494774948749497495074951749527495374954749557495674957749587495974960749617496274963749647496574966749677496874969749707497174972749737497474975749767497774978749797498074981749827498374984749857498674987749887498974990749917499274993749947499574996749977499874999750007500175002750037500475005750067500775008750097501075011750127501375014750157501675017750187501975020750217502275023750247502575026750277502875029750307503175032750337503475035750367503775038750397504075041750427504375044750457504675047750487504975050750517505275053750547505575056750577505875059750607506175062750637506475065750667506775068750697507075071750727507375074750757507675077750787507975080750817508275083750847508575086750877508875089750907509175092750937509475095750967509775098750997510075101751027510375104751057510675107751087510975110751117511275113751147511575116751177511875119751207512175122751237512475125751267512775128751297513075131751327513375134751357513675137751387513975140751417514275143751447514575146751477514875149751507515175152751537515475155751567515775158751597516075161751627516375164751657516675167751687516975170751717517275173751747517575176751777517875179751807518175182751837518475185751867518775188751897519075191751927519375194751957519675197751987519975200752017520275203752047520575206752077520875209752107521175212752137521475215752167521775218752197522075221752227522375224752257522675227752287522975230752317523275233752347523575236752377523875239752407524175242752437524475245752467524775248752497525075251752527525375254752557525675257752587525975260752617526275263752647526575266752677526875269752707527175272752737527475275752767527775278752797528075281752827528375284752857528675287752887528975290752917529275293752947529575296752977529875299753007530175302753037530475305753067530775308753097531075311753127531375314753157531675317753187531975320753217532275323753247532575326753277532875329753307533175332753337533475335753367533775338753397534075341753427534375344753457534675347753487534975350753517535275353753547535575356753577535875359753607536175362753637536475365753667536775368753697537075371753727537375374753757537675377753787537975380753817538275383753847538575386753877538875389753907539175392753937539475395753967539775398753997540075401754027540375404754057540675407754087540975410754117541275413754147541575416754177541875419754207542175422754237542475425754267542775428754297543075431754327543375434754357543675437754387543975440754417544275443754447544575446754477544875449754507545175452754537545475455754567545775458754597546075461754627546375464754657546675467754687546975470754717547275473754747547575476754777547875479754807548175482754837548475485754867548775488754897549075491754927549375494754957549675497754987549975500755017550275503755047550575506755077550875509755107551175512755137551475515755167551775518755197552075521755227552375524755257552675527755287552975530755317553275533755347553575536755377553875539755407554175542755437554475545755467554775548755497555075551755527555375554755557555675557755587555975560755617556275563755647556575566755677556875569755707557175572755737557475575755767557775578755797558075581755827558375584755857558675587755887558975590755917559275593755947559575596755977559875599756007560175602756037560475605756067560775608756097561075611756127561375614756157561675617756187561975620756217562275623756247562575626756277562875629756307563175632756337563475635756367563775638756397564075641756427564375644756457564675647756487564975650756517565275653756547565575656756577565875659756607566175662756637566475665756667566775668756697567075671756727567375674756757567675677756787567975680756817568275683756847568575686756877568875689756907569175692756937569475695756967569775698756997570075701757027570375704757057570675707757087570975710757117571275713757147571575716757177571875719757207572175722757237572475725757267572775728757297573075731757327573375734757357573675737757387573975740757417574275743757447574575746757477574875749757507575175752757537575475755757567575775758757597576075761757627576375764757657576675767757687576975770757717577275773757747577575776757777577875779757807578175782757837578475785757867578775788757897579075791757927579375794757957579675797757987579975800758017580275803758047580575806758077580875809758107581175812758137581475815758167581775818758197582075821758227582375824758257582675827758287582975830758317583275833758347583575836758377583875839758407584175842758437584475845758467584775848758497585075851758527585375854758557585675857758587585975860758617586275863758647586575866758677586875869758707587175872758737587475875758767587775878758797588075881758827588375884758857588675887758887588975890758917589275893758947589575896758977589875899759007590175902759037590475905759067590775908759097591075911759127591375914759157591675917759187591975920759217592275923759247592575926759277592875929759307593175932759337593475935759367593775938759397594075941759427594375944759457594675947759487594975950759517595275953759547595575956759577595875959759607596175962759637596475965759667596775968759697597075971759727597375974759757597675977759787597975980759817598275983759847598575986759877598875989759907599175992759937599475995759967599775998759997600076001760027600376004760057600676007760087600976010760117601276013760147601576016760177601876019760207602176022760237602476025760267602776028760297603076031760327603376034760357603676037760387603976040760417604276043760447604576046760477604876049760507605176052760537605476055760567605776058760597606076061760627606376064760657606676067760687606976070760717607276073760747607576076760777607876079760807608176082760837608476085760867608776088760897609076091760927609376094760957609676097760987609976100761017610276103761047610576106761077610876109761107611176112761137611476115761167611776118761197612076121761227612376124761257612676127761287612976130761317613276133761347613576136761377613876139761407614176142761437614476145761467614776148761497615076151761527615376154761557615676157761587615976160761617616276163761647616576166761677616876169761707617176172761737617476175761767617776178761797618076181761827618376184761857618676187761887618976190761917619276193761947619576196761977619876199762007620176202762037620476205762067620776208762097621076211762127621376214762157621676217762187621976220762217622276223762247622576226762277622876229762307623176232762337623476235762367623776238762397624076241762427624376244762457624676247762487624976250762517625276253762547625576256762577625876259762607626176262762637626476265762667626776268762697627076271762727627376274762757627676277762787627976280762817628276283762847628576286762877628876289762907629176292762937629476295762967629776298762997630076301763027630376304763057630676307763087630976310763117631276313763147631576316763177631876319763207632176322763237632476325763267632776328763297633076331763327633376334763357633676337763387633976340763417634276343763447634576346763477634876349763507635176352763537635476355763567635776358763597636076361763627636376364763657636676367763687636976370763717637276373763747637576376763777637876379763807638176382
  1. /******/ (function(modules) { // webpackBootstrap
  2. /******/ // install a JSONP callback for chunk loading
  3. /******/ var parentJsonpFunction = window["webpackJsonp"];
  4. /******/ window["webpackJsonp"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {
  5. /******/ // add "moreModules" to the modules object,
  6. /******/ // then flag all "chunkIds" as loaded and fire callback
  7. /******/ var moduleId, chunkId, i = 0, resolves = [], result;
  8. /******/ for(;i < chunkIds.length; i++) {
  9. /******/ chunkId = chunkIds[i];
  10. /******/ if(installedChunks[chunkId])
  11. /******/ resolves.push(installedChunks[chunkId][0]);
  12. /******/ installedChunks[chunkId] = 0;
  13. /******/ }
  14. /******/ for(moduleId in moreModules) {
  15. /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
  16. /******/ modules[moduleId] = moreModules[moduleId];
  17. /******/ }
  18. /******/ }
  19. /******/ if(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);
  20. /******/ while(resolves.length)
  21. /******/ resolves.shift()();
  22. /******/ if(executeModules) {
  23. /******/ for(i=0; i < executeModules.length; i++) {
  24. /******/ result = __webpack_require__(__webpack_require__.s = executeModules[i]);
  25. /******/ }
  26. /******/ }
  27. /******/ return result;
  28. /******/ };
  29. /******/ // The module cache
  30. /******/ var installedModules = {};
  31. /******/ // objects to store loaded and loading chunks
  32. /******/ var installedChunks = {
  33. /******/ 2: 0
  34. /******/ };
  35. /******/ // The require function
  36. /******/ function __webpack_require__(moduleId) {
  37. /******/ // Check if module is in cache
  38. /******/ if(installedModules[moduleId])
  39. /******/ return installedModules[moduleId].exports;
  40. /******/ // Create a new module (and put it into the cache)
  41. /******/ var module = installedModules[moduleId] = {
  42. /******/ i: moduleId,
  43. /******/ l: false,
  44. /******/ exports: {}
  45. /******/ };
  46. /******/ // Execute the module function
  47. /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  48. /******/ // Flag the module as loaded
  49. /******/ module.l = true;
  50. /******/ // Return the exports of the module
  51. /******/ return module.exports;
  52. /******/ }
  53. /******/ // This file contains only the entry chunk.
  54. /******/ // The chunk loading function for additional chunks
  55. /******/ __webpack_require__.e = function requireEnsure(chunkId) {
  56. /******/ if(installedChunks[chunkId] === 0)
  57. /******/ return Promise.resolve();
  58. /******/ // an Promise means "currently loading".
  59. /******/ if(installedChunks[chunkId]) {
  60. /******/ return installedChunks[chunkId][2];
  61. /******/ }
  62. /******/ // start chunk loading
  63. /******/ var head = document.getElementsByTagName('head')[0];
  64. /******/ var script = document.createElement('script');
  65. /******/ script.type = 'text/javascript';
  66. /******/ script.charset = 'utf-8';
  67. /******/ script.async = true;
  68. /******/ script.timeout = 120000;
  69. /******/ script.src = __webpack_require__.p + "js/chunks/" + ({"0":"main","1":"styles"}[chunkId]||chunkId) + "." + {"0":"32124e2749f372f2c348","1":"6bd84282ef3f94ec986f"}[chunkId] + ".js";
  70. /******/ var timeout = setTimeout(onScriptComplete, 120000);
  71. /******/ script.onerror = script.onload = onScriptComplete;
  72. /******/ function onScriptComplete() {
  73. /******/ // avoid mem leaks in IE.
  74. /******/ script.onerror = script.onload = null;
  75. /******/ clearTimeout(timeout);
  76. /******/ var chunk = installedChunks[chunkId];
  77. /******/ if(chunk !== 0) {
  78. /******/ if(chunk) chunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));
  79. /******/ installedChunks[chunkId] = undefined;
  80. /******/ }
  81. /******/ };
  82. /******/ head.appendChild(script);
  83. /******/ var promise = new Promise(function(resolve, reject) {
  84. /******/ installedChunks[chunkId] = [resolve, reject];
  85. /******/ });
  86. /******/ return installedChunks[chunkId][2] = promise;
  87. /******/ };
  88. /******/ // expose the modules object (__webpack_modules__)
  89. /******/ __webpack_require__.m = modules;
  90. /******/ // expose the module cache
  91. /******/ __webpack_require__.c = installedModules;
  92. /******/ // identity function for calling harmory imports with the correct context
  93. /******/ __webpack_require__.i = function(value) { return value; };
  94. /******/ // define getter function for harmory exports
  95. /******/ __webpack_require__.d = function(exports, name, getter) {
  96. /******/ Object.defineProperty(exports, name, {
  97. /******/ configurable: false,
  98. /******/ enumerable: true,
  99. /******/ get: getter
  100. /******/ });
  101. /******/ };
  102. /******/ // getDefaultExport function for compatibility with non-harmony modules
  103. /******/ __webpack_require__.n = function(module) {
  104. /******/ var getter = module && module.__esModule ?
  105. /******/ function getDefault() { return module['default']; } :
  106. /******/ function getModuleExports() { return module; };
  107. /******/ __webpack_require__.d(getter, 'a', getter);
  108. /******/ return getter;
  109. /******/ };
  110. /******/ // Object.prototype.hasOwnProperty.call
  111. /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  112. /******/ // __webpack_public_path__
  113. /******/ __webpack_require__.p = "";
  114. /******/ // on error function for async loading
  115. /******/ __webpack_require__.oe = function(err) { console.error(err); throw err; };
  116. /******/ // Load entry module and return exports
  117. /******/ return __webpack_require__(__webpack_require__.s = 964);
  118. /******/ })
  119. /************************************************************************/
  120. /******/ ([
  121. /* 0 */
  122. /***/ function(module, exports, __webpack_require__) {
  123. "use strict";
  124. "use strict";
  125. var root_1 = __webpack_require__(27);
  126. var toSubscriber_1 = __webpack_require__(961);
  127. var observable_1 = __webpack_require__(173);
  128. /**
  129. * A representation of any set of values over any amount of time. This the most basic building block
  130. * of RxJS.
  131. *
  132. * @class Observable<T>
  133. */
  134. var Observable = (function () {
  135. /**
  136. * @constructor
  137. * @param {Function} subscribe the function that is called when the Observable is
  138. * initially subscribed to. This function is given a Subscriber, to which new values
  139. * can be `next`ed, or an `error` method can be called to raise an error, or
  140. * `complete` can be called to notify of a successful completion.
  141. */
  142. function Observable(subscribe) {
  143. this._isScalar = false;
  144. if (subscribe) {
  145. this._subscribe = subscribe;
  146. }
  147. }
  148. /**
  149. * Creates a new Observable, with this Observable as the source, and the passed
  150. * operator defined as the new observable's operator.
  151. * @method lift
  152. * @param {Operator} operator the operator defining the operation to take on the observable
  153. * @return {Observable} a new observable with the Operator applied
  154. */
  155. Observable.prototype.lift = function (operator) {
  156. var observable = new Observable();
  157. observable.source = this;
  158. observable.operator = operator;
  159. return observable;
  160. };
  161. /**
  162. * Registers handlers for handling emitted values, error and completions from the observable, and
  163. * executes the observable's subscriber function, which will take action to set up the underlying data stream
  164. * @method subscribe
  165. * @param {PartialObserver|Function} observerOrNext (optional) either an observer defining all functions to be called,
  166. * or the first of three possible handlers, which is the handler for each value emitted from the observable.
  167. * @param {Function} error (optional) a handler for a terminal event resulting from an error. If no error handler is provided,
  168. * the error will be thrown as unhandled
  169. * @param {Function} complete (optional) a handler for a terminal event resulting from successful completion.
  170. * @return {ISubscription} a subscription reference to the registered handlers
  171. */
  172. Observable.prototype.subscribe = function (observerOrNext, error, complete) {
  173. var operator = this.operator;
  174. var sink = toSubscriber_1.toSubscriber(observerOrNext, error, complete);
  175. if (operator) {
  176. operator.call(sink, this);
  177. }
  178. else {
  179. sink.add(this._subscribe(sink));
  180. }
  181. if (sink.syncErrorThrowable) {
  182. sink.syncErrorThrowable = false;
  183. if (sink.syncErrorThrown) {
  184. throw sink.syncErrorValue;
  185. }
  186. }
  187. return sink;
  188. };
  189. /**
  190. * @method forEach
  191. * @param {Function} next a handler for each value emitted by the observable
  192. * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise
  193. * @return {Promise} a promise that either resolves on observable completion or
  194. * rejects with the handled error
  195. */
  196. Observable.prototype.forEach = function (next, PromiseCtor) {
  197. var _this = this;
  198. if (!PromiseCtor) {
  199. if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {
  200. PromiseCtor = root_1.root.Rx.config.Promise;
  201. }
  202. else if (root_1.root.Promise) {
  203. PromiseCtor = root_1.root.Promise;
  204. }
  205. }
  206. if (!PromiseCtor) {
  207. throw new Error('no Promise impl found');
  208. }
  209. return new PromiseCtor(function (resolve, reject) {
  210. var subscription = _this.subscribe(function (value) {
  211. if (subscription) {
  212. // if there is a subscription, then we can surmise
  213. // the next handling is asynchronous. Any errors thrown
  214. // need to be rejected explicitly and unsubscribe must be
  215. // called manually
  216. try {
  217. next(value);
  218. }
  219. catch (err) {
  220. reject(err);
  221. subscription.unsubscribe();
  222. }
  223. }
  224. else {
  225. // if there is NO subscription, then we're getting a nexted
  226. // value synchronously during subscription. We can just call it.
  227. // If it errors, Observable's `subscribe` will ensure the
  228. // unsubscription logic is called, then synchronously rethrow the error.
  229. // After that, Promise will trap the error and send it
  230. // down the rejection path.
  231. next(value);
  232. }
  233. }, reject, resolve);
  234. });
  235. };
  236. Observable.prototype._subscribe = function (subscriber) {
  237. return this.source.subscribe(subscriber);
  238. };
  239. /**
  240. * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable
  241. * @method Symbol.observable
  242. * @return {Observable} this instance of the observable
  243. */
  244. Observable.prototype[observable_1.$$observable] = function () {
  245. return this;
  246. };
  247. // HACK: Since TypeScript inherits static properties too, we have to
  248. // fight against TypeScript here so Subject can have a different static create signature
  249. /**
  250. * Creates a new cold Observable by calling the Observable constructor
  251. * @static true
  252. * @owner Observable
  253. * @method create
  254. * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor
  255. * @return {Observable} a new cold observable
  256. */
  257. Observable.create = function (subscribe) {
  258. return new Observable(subscribe);
  259. };
  260. return Observable;
  261. }());
  262. exports.Observable = Observable;
  263. //# sourceMappingURL=Observable.js.map
  264. /***/ },
  265. /* 1 */
  266. /***/ function(module, exports, __webpack_require__) {
  267. "use strict";
  268. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_core__ = __webpack_require__(481);
  269. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "assertPlatform", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_29"]; });
  270. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "destroyPlatform", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_30"]; });
  271. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "getPlatform", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_31"]; });
  272. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "createPlatform", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_32"]; });
  273. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ApplicationRef", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_21"]; });
  274. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "enableProdMode", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_33"]; });
  275. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "isDevMode", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["c"]; });
  276. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "createPlatformFactory", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_10"]; });
  277. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "PlatformRef", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_34"]; });
  278. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "APP_ID", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_35"]; });
  279. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "PACKAGE_ROOT_URL", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["y"]; });
  280. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "APP_BOOTSTRAP_LISTENER", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_36"]; });
  281. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "PLATFORM_INITIALIZER", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_13"]; });
  282. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ApplicationInitStatus", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_37"]; });
  283. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "APP_INITIALIZER", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_38"]; });
  284. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "DebugElement", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_39"]; });
  285. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "DebugNode", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_40"]; });
  286. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "asNativeElements", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_41"]; });
  287. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "getDebugNode", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_22"]; });
  288. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Testability", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_26"]; });
  289. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "TestabilityRegistry", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_42"]; });
  290. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "setTestabilityGetter", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_19"]; });
  291. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "TRANSLATIONS", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_7"]; });
  292. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "TRANSLATIONS_FORMAT", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["u"]; });
  293. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "LOCALE_ID", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["t"]; });
  294. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ApplicationModule", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_27"]; });
  295. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "wtfCreateScope", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_43"]; });
  296. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "wtfLeave", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_44"]; });
  297. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "wtfStartTimeRange", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_45"]; });
  298. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "wtfEndTimeRange", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_46"]; });
  299. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Type", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_2"]; });
  300. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "EventEmitter", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_14"]; });
  301. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ErrorHandler", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_25"]; });
  302. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AnimationTransitionEvent", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_47"]; });
  303. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AnimationPlayer", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_48"]; });
  304. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Sanitizer", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_24"]; });
  305. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "SecurityContext", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["s"]; });
  306. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Attribute", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_1"]; });
  307. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ContentChild", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_49"]; });
  308. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ContentChildren", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_50"]; });
  309. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Query", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["F"]; });
  310. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ViewChild", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_51"]; });
  311. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ViewChildren", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_52"]; });
  312. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ANALYZE_FOR_ENTRY_COMPONENTS", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["f"]; });
  313. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Component", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["G"]; });
  314. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Directive", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["z"]; });
  315. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "HostBinding", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["D"]; });
  316. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "HostListener", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["E"]; });
  317. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Input", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["B"]; });
  318. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Output", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["C"]; });
  319. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Pipe", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["Q"]; });
  320. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "OnDestroy", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["I"]; });
  321. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AfterContentInit", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["L"]; });
  322. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AfterViewChecked", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["O"]; });
  323. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AfterViewInit", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["N"]; });
  324. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "DoCheck", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["J"]; });
  325. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "OnChanges", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["K"]; });
  326. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AfterContentChecked", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["M"]; });
  327. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "OnInit", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["H"]; });
  328. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CUSTOM_ELEMENTS_SCHEMA", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_6"]; });
  329. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "NO_ERRORS_SCHEMA", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_5"]; });
  330. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "NgModule", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["P"]; });
  331. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ViewEncapsulation", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["a"]; });
  332. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Class", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_53"]; });
  333. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "forwardRef", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_28"]; });
  334. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "resolveForwardRef", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["A"]; });
  335. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Injector", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["p"]; });
  336. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ReflectiveInjector", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_8"]; });
  337. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ResolvedReflectiveFactory", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_54"]; });
  338. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ReflectiveKey", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_55"]; });
  339. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "OpaqueToken", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["v"]; });
  340. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "NgZone", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_20"]; });
  341. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RenderComponentType", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["j"]; });
  342. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Renderer", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["q"]; });
  343. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RootRenderer", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_23"]; });
  344. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "COMPILER_OPTIONS", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_9"]; });
  345. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CompilerFactory", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_12"]; });
  346. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ModuleWithComponentFactories", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_3"]; });
  347. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Compiler", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_4"]; });
  348. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ComponentFactory", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["n"]; });
  349. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ComponentRef", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_56"]; });
  350. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ComponentFactoryResolver", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["m"]; });
  351. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ElementRef", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["g"]; });
  352. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "NgModuleFactory", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["o"]; });
  353. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "NgModuleRef", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_57"]; });
  354. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "NgModuleFactoryLoader", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_58"]; });
  355. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "getModuleFactory", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_59"]; });
  356. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "QueryList", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["k"]; });
  357. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "SystemJsNgModuleLoader", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_60"]; });
  358. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "SystemJsNgModuleLoaderConfig", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_61"]; });
  359. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "TemplateRef", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["l"]; });
  360. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ViewContainerRef", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["h"]; });
  361. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "EmbeddedViewRef", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_62"]; });
  362. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ViewRef", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_63"]; });
  363. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ChangeDetectionStrategy", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["b"]; });
  364. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ChangeDetectorRef", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["i"]; });
  365. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CollectionChangeRecord", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_64"]; });
  366. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "DefaultIterableDiffer", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_65"]; });
  367. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "IterableDiffers", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_15"]; });
  368. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "KeyValueChangeRecord", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_66"]; });
  369. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "KeyValueDiffers", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_16"]; });
  370. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "SimpleChange", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["r"]; });
  371. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "WrappedValue", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_17"]; });
  372. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "platformCore", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_11"]; });
  373. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "__core_private__", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["e"]; });
  374. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AUTO_STYLE", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_18"]; });
  375. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AnimationEntryMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_67"]; });
  376. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AnimationStateMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_68"]; });
  377. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AnimationStateDeclarationMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["R"]; });
  378. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AnimationStateTransitionMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["S"]; });
  379. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AnimationMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_69"]; });
  380. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AnimationKeyframesSequenceMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["U"]; });
  381. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AnimationStyleMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["T"]; });
  382. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AnimationAnimateMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["V"]; });
  383. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AnimationWithStepsMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["W"]; });
  384. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AnimationSequenceMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_70"]; });
  385. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AnimationGroupMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["X"]; });
  386. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "animate", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_71"]; });
  387. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "group", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_72"]; });
  388. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "sequence", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_73"]; });
  389. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "style", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_74"]; });
  390. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "state", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_75"]; });
  391. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "keyframes", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_76"]; });
  392. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "transition", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_77"]; });
  393. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "trigger", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_78"]; });
  394. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Inject", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["x"]; });
  395. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Optional", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["w"]; });
  396. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Injectable", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["d"]; });
  397. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Self", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["Z"]; });
  398. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "SkipSelf", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["_0"]; });
  399. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Host", function() { return __WEBPACK_IMPORTED_MODULE_0__src_core__["Y"]; });
  400. /**
  401. * @license
  402. * Copyright Google Inc. All Rights Reserved.
  403. *
  404. * Use of this source code is governed by an MIT-style license that can be
  405. * found in the LICENSE file at https://angular.io/license
  406. */
  407. /**
  408. * @module
  409. * @description
  410. * Entry point for all public APIs of the core package.
  411. */
  412. //# sourceMappingURL=index.js.map
  413. /***/ },
  414. /* 2 */
  415. /***/ function(module, exports, __webpack_require__) {
  416. var global = __webpack_require__(11)
  417. , core = __webpack_require__(69)
  418. , hide = __webpack_require__(40)
  419. , redefine = __webpack_require__(37)
  420. , ctx = __webpack_require__(58)
  421. , PROTOTYPE = 'prototype';
  422. var $export = function(type, name, source){
  423. var IS_FORCED = type & $export.F
  424. , IS_GLOBAL = type & $export.G
  425. , IS_STATIC = type & $export.S
  426. , IS_PROTO = type & $export.P
  427. , IS_BIND = type & $export.B
  428. , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]
  429. , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
  430. , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})
  431. , key, own, out, exp;
  432. if(IS_GLOBAL)source = name;
  433. for(key in source){
  434. // contains in native
  435. own = !IS_FORCED && target && target[key] !== undefined;
  436. // export native or passed
  437. out = (own ? target : source)[key];
  438. // bind timers to global for call from export context
  439. exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
  440. // extend global
  441. if(target)redefine(target, key, out, type & $export.U);
  442. // export
  443. if(exports[key] != out)hide(exports, key, exp);
  444. if(IS_PROTO && expProto[key] != out)expProto[key] = out;
  445. }
  446. };
  447. global.core = core;
  448. // type bitmap
  449. $export.F = 1; // forced
  450. $export.G = 2; // global
  451. $export.S = 4; // static
  452. $export.P = 8; // proto
  453. $export.B = 16; // bind
  454. $export.W = 32; // wrap
  455. $export.U = 64; // safe
  456. $export.R = 128; // real proto method for `library`
  457. module.exports = $export;
  458. /***/ },
  459. /* 3 */
  460. /***/ function(module, exports, __webpack_require__) {
  461. "use strict";
  462. "use strict";
  463. var __extends = (this && this.__extends) || function (d, b) {
  464. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  465. function __() { this.constructor = d; }
  466. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  467. };
  468. var isFunction_1 = __webpack_require__(266);
  469. var Subscription_1 = __webpack_require__(22);
  470. var Observer_1 = __webpack_require__(695);
  471. var rxSubscriber_1 = __webpack_require__(174);
  472. /**
  473. * Implements the {@link Observer} interface and extends the
  474. * {@link Subscription} class. While the {@link Observer} is the public API for
  475. * consuming the values of an {@link Observable}, all Observers get converted to
  476. * a Subscriber, in order to provide Subscription-like capabilities such as
  477. * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for
  478. * implementing operators, but it is rarely used as a public API.
  479. *
  480. * @class Subscriber<T>
  481. */
  482. var Subscriber = (function (_super) {
  483. __extends(Subscriber, _super);
  484. /**
  485. * @param {Observer|function(value: T): void} [destinationOrNext] A partially
  486. * defined Observer or a `next` callback function.
  487. * @param {function(e: ?any): void} [error] The `error` callback of an
  488. * Observer.
  489. * @param {function(): void} [complete] The `complete` callback of an
  490. * Observer.
  491. */
  492. function Subscriber(destinationOrNext, error, complete) {
  493. _super.call(this);
  494. this.syncErrorValue = null;
  495. this.syncErrorThrown = false;
  496. this.syncErrorThrowable = false;
  497. this.isStopped = false;
  498. switch (arguments.length) {
  499. case 0:
  500. this.destination = Observer_1.empty;
  501. break;
  502. case 1:
  503. if (!destinationOrNext) {
  504. this.destination = Observer_1.empty;
  505. break;
  506. }
  507. if (typeof destinationOrNext === 'object') {
  508. if (destinationOrNext instanceof Subscriber) {
  509. this.destination = destinationOrNext;
  510. this.destination.add(this);
  511. }
  512. else {
  513. this.syncErrorThrowable = true;
  514. this.destination = new SafeSubscriber(this, destinationOrNext);
  515. }
  516. break;
  517. }
  518. default:
  519. this.syncErrorThrowable = true;
  520. this.destination = new SafeSubscriber(this, destinationOrNext, error, complete);
  521. break;
  522. }
  523. }
  524. Subscriber.prototype[rxSubscriber_1.$$rxSubscriber] = function () { return this; };
  525. /**
  526. * A static factory for a Subscriber, given a (potentially partial) definition
  527. * of an Observer.
  528. * @param {function(x: ?T): void} [next] The `next` callback of an Observer.
  529. * @param {function(e: ?any): void} [error] The `error` callback of an
  530. * Observer.
  531. * @param {function(): void} [complete] The `complete` callback of an
  532. * Observer.
  533. * @return {Subscriber<T>} A Subscriber wrapping the (partially defined)
  534. * Observer represented by the given arguments.
  535. */
  536. Subscriber.create = function (next, error, complete) {
  537. var subscriber = new Subscriber(next, error, complete);
  538. subscriber.syncErrorThrowable = false;
  539. return subscriber;
  540. };
  541. /**
  542. * The {@link Observer} callback to receive notifications of type `next` from
  543. * the Observable, with a value. The Observable may call this method 0 or more
  544. * times.
  545. * @param {T} [value] The `next` value.
  546. * @return {void}
  547. */
  548. Subscriber.prototype.next = function (value) {
  549. if (!this.isStopped) {
  550. this._next(value);
  551. }
  552. };
  553. /**
  554. * The {@link Observer} callback to receive notifications of type `error` from
  555. * the Observable, with an attached {@link Error}. Notifies the Observer that
  556. * the Observable has experienced an error condition.
  557. * @param {any} [err] The `error` exception.
  558. * @return {void}
  559. */
  560. Subscriber.prototype.error = function (err) {
  561. if (!this.isStopped) {
  562. this.isStopped = true;
  563. this._error(err);
  564. }
  565. };
  566. /**
  567. * The {@link Observer} callback to receive a valueless notification of type
  568. * `complete` from the Observable. Notifies the Observer that the Observable
  569. * has finished sending push-based notifications.
  570. * @return {void}
  571. */
  572. Subscriber.prototype.complete = function () {
  573. if (!this.isStopped) {
  574. this.isStopped = true;
  575. this._complete();
  576. }
  577. };
  578. Subscriber.prototype.unsubscribe = function () {
  579. if (this.closed) {
  580. return;
  581. }
  582. this.isStopped = true;
  583. _super.prototype.unsubscribe.call(this);
  584. };
  585. Subscriber.prototype._next = function (value) {
  586. this.destination.next(value);
  587. };
  588. Subscriber.prototype._error = function (err) {
  589. this.destination.error(err);
  590. this.unsubscribe();
  591. };
  592. Subscriber.prototype._complete = function () {
  593. this.destination.complete();
  594. this.unsubscribe();
  595. };
  596. return Subscriber;
  597. }(Subscription_1.Subscription));
  598. exports.Subscriber = Subscriber;
  599. /**
  600. * We need this JSDoc comment for affecting ESDoc.
  601. * @ignore
  602. * @extends {Ignored}
  603. */
  604. var SafeSubscriber = (function (_super) {
  605. __extends(SafeSubscriber, _super);
  606. function SafeSubscriber(_parent, observerOrNext, error, complete) {
  607. _super.call(this);
  608. this._parent = _parent;
  609. var next;
  610. var context = this;
  611. if (isFunction_1.isFunction(observerOrNext)) {
  612. next = observerOrNext;
  613. }
  614. else if (observerOrNext) {
  615. context = observerOrNext;
  616. next = observerOrNext.next;
  617. error = observerOrNext.error;
  618. complete = observerOrNext.complete;
  619. if (isFunction_1.isFunction(context.unsubscribe)) {
  620. this.add(context.unsubscribe.bind(context));
  621. }
  622. context.unsubscribe = this.unsubscribe.bind(this);
  623. }
  624. this._context = context;
  625. this._next = next;
  626. this._error = error;
  627. this._complete = complete;
  628. }
  629. SafeSubscriber.prototype.next = function (value) {
  630. if (!this.isStopped && this._next) {
  631. var _parent = this._parent;
  632. if (!_parent.syncErrorThrowable) {
  633. this.__tryOrUnsub(this._next, value);
  634. }
  635. else if (this.__tryOrSetError(_parent, this._next, value)) {
  636. this.unsubscribe();
  637. }
  638. }
  639. };
  640. SafeSubscriber.prototype.error = function (err) {
  641. if (!this.isStopped) {
  642. var _parent = this._parent;
  643. if (this._error) {
  644. if (!_parent.syncErrorThrowable) {
  645. this.__tryOrUnsub(this._error, err);
  646. this.unsubscribe();
  647. }
  648. else {
  649. this.__tryOrSetError(_parent, this._error, err);
  650. this.unsubscribe();
  651. }
  652. }
  653. else if (!_parent.syncErrorThrowable) {
  654. this.unsubscribe();
  655. throw err;
  656. }
  657. else {
  658. _parent.syncErrorValue = err;
  659. _parent.syncErrorThrown = true;
  660. this.unsubscribe();
  661. }
  662. }
  663. };
  664. SafeSubscriber.prototype.complete = function () {
  665. if (!this.isStopped) {
  666. var _parent = this._parent;
  667. if (this._complete) {
  668. if (!_parent.syncErrorThrowable) {
  669. this.__tryOrUnsub(this._complete);
  670. this.unsubscribe();
  671. }
  672. else {
  673. this.__tryOrSetError(_parent, this._complete);
  674. this.unsubscribe();
  675. }
  676. }
  677. else {
  678. this.unsubscribe();
  679. }
  680. }
  681. };
  682. SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {
  683. try {
  684. fn.call(this._context, value);
  685. }
  686. catch (err) {
  687. this.unsubscribe();
  688. throw err;
  689. }
  690. };
  691. SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {
  692. try {
  693. fn.call(this._context, value);
  694. }
  695. catch (err) {
  696. parent.syncErrorValue = err;
  697. parent.syncErrorThrown = true;
  698. return true;
  699. }
  700. return false;
  701. };
  702. SafeSubscriber.prototype._unsubscribe = function () {
  703. var _parent = this._parent;
  704. this._context = null;
  705. this._parent = null;
  706. _parent.unsubscribe();
  707. };
  708. return SafeSubscriber;
  709. }(Subscriber));
  710. //# sourceMappingURL=Subscriber.js.map
  711. /***/ },
  712. /* 4 */
  713. /***/ function(module, exports, __webpack_require__) {
  714. "use strict";
  715. /* WEBPACK VAR INJECTION */(function(global) {/* unused harmony export scheduleMicroTask */
  716. /* harmony export (binding) */ __webpack_require__.d(exports, "p", function() { return _global; });
  717. /* unused harmony export getTypeNameForDebugging */
  718. /* unused harmony export Math */
  719. /* unused harmony export Date */
  720. /* harmony export (immutable) */ exports["a"] = isPresent;
  721. /* harmony export (immutable) */ exports["b"] = isBlank;
  722. /* unused harmony export isBoolean */
  723. /* unused harmony export isNumber */
  724. /* harmony export (immutable) */ exports["g"] = isString;
  725. /* unused harmony export isFunction */
  726. /* unused harmony export isType */
  727. /* harmony export (immutable) */ exports["l"] = isStringMap;
  728. /* harmony export (immutable) */ exports["h"] = isStrictStringMap;
  729. /* harmony export (immutable) */ exports["c"] = isArray;
  730. /* unused harmony export isDate */
  731. /* unused harmony export noop */
  732. /* harmony export (immutable) */ exports["q"] = stringify;
  733. /* unused harmony export serializeEnum */
  734. /* unused harmony export deserializeEnum */
  735. /* unused harmony export resolveEnumToken */
  736. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return StringWrapper; });
  737. /* harmony export (binding) */ __webpack_require__.d(exports, "n", function() { return StringJoiner; });
  738. /* harmony export (binding) */ __webpack_require__.d(exports, "m", function() { return NumberWrapper; });
  739. /* unused harmony export RegExp */
  740. /* unused harmony export FunctionWrapper */
  741. /* unused harmony export looseIdentical */
  742. /* unused harmony export getMapKey */
  743. /* harmony export (immutable) */ exports["k"] = normalizeBlank;
  744. /* harmony export (immutable) */ exports["j"] = normalizeBool;
  745. /* harmony export (immutable) */ exports["d"] = isJsObject;
  746. /* unused harmony export print */
  747. /* unused harmony export warn */
  748. /* unused harmony export Json */
  749. /* unused harmony export DateWrapper */
  750. /* unused harmony export setValueOnPath */
  751. /* harmony export (immutable) */ exports["e"] = getSymbolIterator;
  752. /* harmony export (immutable) */ exports["r"] = evalExpression;
  753. /* harmony export (immutable) */ exports["i"] = isPrimitive;
  754. /* unused harmony export hasConstructor */
  755. /* unused harmony export escape */
  756. /* harmony export (immutable) */ exports["o"] = escapeRegExp;
  757. /**
  758. * @license
  759. * Copyright Google Inc. All Rights Reserved.
  760. *
  761. * Use of this source code is governed by an MIT-style license that can be
  762. * found in the LICENSE file at https://angular.io/license
  763. */
  764. var globalScope;
  765. if (typeof window === 'undefined') {
  766. if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {
  767. // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492
  768. globalScope = self;
  769. }
  770. else {
  771. globalScope = global;
  772. }
  773. }
  774. else {
  775. globalScope = window;
  776. }
  777. function scheduleMicroTask(fn) {
  778. Zone.current.scheduleMicroTask('scheduleMicrotask', fn);
  779. }
  780. // Need to declare a new variable for global here since TypeScript
  781. // exports the original value of the symbol.
  782. var _global = globalScope;
  783. function getTypeNameForDebugging(type) {
  784. if (type['name']) {
  785. return type['name'];
  786. }
  787. return typeof type;
  788. }
  789. var Math = _global.Math;
  790. var Date = _global.Date;
  791. // TODO: remove calls to assert in production environment
  792. // Note: Can't just export this and import in in other files
  793. // as `assert` is a reserved keyword in Dart
  794. _global.assert = function assert(condition) {
  795. // TODO: to be fixed properly via #2830, noop for now
  796. };
  797. function isPresent(obj) {
  798. return obj !== undefined && obj !== null;
  799. }
  800. function isBlank(obj) {
  801. return obj === undefined || obj === null;
  802. }
  803. function isBoolean(obj) {
  804. return typeof obj === 'boolean';
  805. }
  806. function isNumber(obj) {
  807. return typeof obj === 'number';
  808. }
  809. function isString(obj) {
  810. return typeof obj === 'string';
  811. }
  812. function isFunction(obj) {
  813. return typeof obj === 'function';
  814. }
  815. function isType(obj) {
  816. return isFunction(obj);
  817. }
  818. function isStringMap(obj) {
  819. return typeof obj === 'object' && obj !== null;
  820. }
  821. var STRING_MAP_PROTO = Object.getPrototypeOf({});
  822. function isStrictStringMap(obj) {
  823. return isStringMap(obj) && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;
  824. }
  825. function isArray(obj) {
  826. return Array.isArray(obj);
  827. }
  828. function isDate(obj) {
  829. return obj instanceof Date && !isNaN(obj.valueOf());
  830. }
  831. function noop() { }
  832. function stringify(token) {
  833. if (typeof token === 'string') {
  834. return token;
  835. }
  836. if (token === undefined || token === null) {
  837. return '' + token;
  838. }
  839. if (token.overriddenName) {
  840. return token.overriddenName;
  841. }
  842. if (token.name) {
  843. return token.name;
  844. }
  845. var res = token.toString();
  846. var newLineIndex = res.indexOf('\n');
  847. return (newLineIndex === -1) ? res : res.substring(0, newLineIndex);
  848. }
  849. // serialize / deserialize enum exist only for consistency with dart API
  850. // enums in typescript don't need to be serialized
  851. function serializeEnum(val) {
  852. return val;
  853. }
  854. function deserializeEnum(val, values) {
  855. return val;
  856. }
  857. function resolveEnumToken(enumValue, val) {
  858. return enumValue[val];
  859. }
  860. var StringWrapper = (function () {
  861. function StringWrapper() {
  862. }
  863. StringWrapper.fromCharCode = function (code) { return String.fromCharCode(code); };
  864. StringWrapper.charCodeAt = function (s, index) { return s.charCodeAt(index); };
  865. StringWrapper.split = function (s, regExp) { return s.split(regExp); };
  866. StringWrapper.equals = function (s, s2) { return s === s2; };
  867. StringWrapper.stripLeft = function (s, charVal) {
  868. if (s && s.length) {
  869. var pos = 0;
  870. for (var i = 0; i < s.length; i++) {
  871. if (s[i] != charVal)
  872. break;
  873. pos++;
  874. }
  875. s = s.substring(pos);
  876. }
  877. return s;
  878. };
  879. StringWrapper.stripRight = function (s, charVal) {
  880. if (s && s.length) {
  881. var pos = s.length;
  882. for (var i = s.length - 1; i >= 0; i--) {
  883. if (s[i] != charVal)
  884. break;
  885. pos--;
  886. }
  887. s = s.substring(0, pos);
  888. }
  889. return s;
  890. };
  891. StringWrapper.replace = function (s, from, replace) {
  892. return s.replace(from, replace);
  893. };
  894. StringWrapper.replaceAll = function (s, from, replace) {
  895. return s.replace(from, replace);
  896. };
  897. StringWrapper.slice = function (s, from, to) {
  898. if (from === void 0) { from = 0; }
  899. if (to === void 0) { to = null; }
  900. return s.slice(from, to === null ? undefined : to);
  901. };
  902. StringWrapper.replaceAllMapped = function (s, from, cb) {
  903. return s.replace(from, function () {
  904. var matches = [];
  905. for (var _i = 0; _i < arguments.length; _i++) {
  906. matches[_i - 0] = arguments[_i];
  907. }
  908. // Remove offset & string from the result array
  909. matches.splice(-2, 2);
  910. // The callback receives match, p1, ..., pn
  911. return cb(matches);
  912. });
  913. };
  914. StringWrapper.contains = function (s, substr) { return s.indexOf(substr) != -1; };
  915. StringWrapper.compare = function (a, b) {
  916. if (a < b) {
  917. return -1;
  918. }
  919. else if (a > b) {
  920. return 1;
  921. }
  922. else {
  923. return 0;
  924. }
  925. };
  926. return StringWrapper;
  927. }());
  928. var StringJoiner = (function () {
  929. function StringJoiner(parts) {
  930. if (parts === void 0) { parts = []; }
  931. this.parts = parts;
  932. }
  933. StringJoiner.prototype.add = function (part) { this.parts.push(part); };
  934. StringJoiner.prototype.toString = function () { return this.parts.join(''); };
  935. return StringJoiner;
  936. }());
  937. var NumberWrapper = (function () {
  938. function NumberWrapper() {
  939. }
  940. NumberWrapper.toFixed = function (n, fractionDigits) { return n.toFixed(fractionDigits); };
  941. NumberWrapper.equal = function (a, b) { return a === b; };
  942. NumberWrapper.parseIntAutoRadix = function (text) {
  943. var result = parseInt(text);
  944. if (isNaN(result)) {
  945. throw new Error('Invalid integer literal when parsing ' + text);
  946. }
  947. return result;
  948. };
  949. NumberWrapper.parseInt = function (text, radix) {
  950. if (radix == 10) {
  951. if (/^(\-|\+)?[0-9]+$/.test(text)) {
  952. return parseInt(text, radix);
  953. }
  954. }
  955. else if (radix == 16) {
  956. if (/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text)) {
  957. return parseInt(text, radix);
  958. }
  959. }
  960. else {
  961. var result = parseInt(text, radix);
  962. if (!isNaN(result)) {
  963. return result;
  964. }
  965. }
  966. throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);
  967. };
  968. Object.defineProperty(NumberWrapper, "NaN", {
  969. get: function () { return NaN; },
  970. enumerable: true,
  971. configurable: true
  972. });
  973. NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };
  974. NumberWrapper.isNaN = function (value) { return isNaN(value); };
  975. NumberWrapper.isInteger = function (value) { return Number.isInteger(value); };
  976. return NumberWrapper;
  977. }());
  978. var RegExp = _global.RegExp;
  979. var FunctionWrapper = (function () {
  980. function FunctionWrapper() {
  981. }
  982. FunctionWrapper.apply = function (fn, posArgs) { return fn.apply(null, posArgs); };
  983. FunctionWrapper.bind = function (fn, scope) { return fn.bind(scope); };
  984. return FunctionWrapper;
  985. }());
  986. // JS has NaN !== NaN
  987. function looseIdentical(a, b) {
  988. return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
  989. }
  990. // JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)
  991. // see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
  992. function getMapKey(value) {
  993. return value;
  994. }
  995. function normalizeBlank(obj) {
  996. return isBlank(obj) ? null : obj;
  997. }
  998. function normalizeBool(obj) {
  999. return isBlank(obj) ? false : obj;
  1000. }
  1001. function isJsObject(o) {
  1002. return o !== null && (typeof o === 'function' || typeof o === 'object');
  1003. }
  1004. function print(obj) {
  1005. console.log(obj);
  1006. }
  1007. function warn(obj) {
  1008. console.warn(obj);
  1009. }
  1010. // Can't be all uppercase as our transpiler would think it is a special directive...
  1011. var Json = (function () {
  1012. function Json() {
  1013. }
  1014. Json.parse = function (s) { return _global.JSON.parse(s); };
  1015. Json.stringify = function (data) {
  1016. // Dart doesn't take 3 arguments
  1017. return _global.JSON.stringify(data, null, 2);
  1018. };
  1019. return Json;
  1020. }());
  1021. var DateWrapper = (function () {
  1022. function DateWrapper() {
  1023. }
  1024. DateWrapper.create = function (year, month, day, hour, minutes, seconds, milliseconds) {
  1025. if (month === void 0) { month = 1; }
  1026. if (day === void 0) { day = 1; }
  1027. if (hour === void 0) { hour = 0; }
  1028. if (minutes === void 0) { minutes = 0; }
  1029. if (seconds === void 0) { seconds = 0; }
  1030. if (milliseconds === void 0) { milliseconds = 0; }
  1031. return new Date(year, month - 1, day, hour, minutes, seconds, milliseconds);
  1032. };
  1033. DateWrapper.fromISOString = function (str) { return new Date(str); };
  1034. DateWrapper.fromMillis = function (ms) { return new Date(ms); };
  1035. DateWrapper.toMillis = function (date) { return date.getTime(); };
  1036. DateWrapper.now = function () { return new Date(); };
  1037. DateWrapper.toJson = function (date) { return date.toJSON(); };
  1038. return DateWrapper;
  1039. }());
  1040. function setValueOnPath(global, path, value) {
  1041. var parts = path.split('.');
  1042. var obj = global;
  1043. while (parts.length > 1) {
  1044. var name = parts.shift();
  1045. if (obj.hasOwnProperty(name) && isPresent(obj[name])) {
  1046. obj = obj[name];
  1047. }
  1048. else {
  1049. obj = obj[name] = {};
  1050. }
  1051. }
  1052. if (obj === undefined || obj === null) {
  1053. obj = {};
  1054. }
  1055. obj[parts.shift()] = value;
  1056. }
  1057. var _symbolIterator = null;
  1058. function getSymbolIterator() {
  1059. if (isBlank(_symbolIterator)) {
  1060. if (isPresent(globalScope.Symbol) && isPresent(Symbol.iterator)) {
  1061. _symbolIterator = Symbol.iterator;
  1062. }
  1063. else {
  1064. // es6-shim specific logic
  1065. var keys = Object.getOwnPropertyNames(Map.prototype);
  1066. for (var i = 0; i < keys.length; ++i) {
  1067. var key = keys[i];
  1068. if (key !== 'entries' && key !== 'size' &&
  1069. Map.prototype[key] === Map.prototype['entries']) {
  1070. _symbolIterator = key;
  1071. }
  1072. }
  1073. }
  1074. }
  1075. return _symbolIterator;
  1076. }
  1077. function evalExpression(sourceUrl, expr, declarations, vars) {
  1078. var fnBody = declarations + "\nreturn " + expr + "\n//# sourceURL=" + sourceUrl;
  1079. var fnArgNames = [];
  1080. var fnArgValues = [];
  1081. for (var argName in vars) {
  1082. fnArgNames.push(argName);
  1083. fnArgValues.push(vars[argName]);
  1084. }
  1085. return new (Function.bind.apply(Function, [void 0].concat(fnArgNames.concat(fnBody))))().apply(void 0, fnArgValues);
  1086. }
  1087. function isPrimitive(obj) {
  1088. return !isJsObject(obj);
  1089. }
  1090. function hasConstructor(value, type) {
  1091. return value.constructor === type;
  1092. }
  1093. function escape(s) {
  1094. return _global.encodeURI(s);
  1095. }
  1096. function escapeRegExp(s) {
  1097. return s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
  1098. }
  1099. //# sourceMappingURL=lang.js.map
  1100. /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(64)))
  1101. /***/ },
  1102. /* 5 */
  1103. /***/ function(module, exports, __webpack_require__) {
  1104. "use strict";
  1105. /* WEBPACK VAR INJECTION */(function(global) {/* harmony export (immutable) */ exports["q"] = scheduleMicroTask;
  1106. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return _global; });
  1107. /* harmony export (immutable) */ exports["o"] = getTypeNameForDebugging;
  1108. /* harmony export (binding) */ __webpack_require__.d(exports, "j", function() { return Math; });
  1109. /* unused harmony export Date */
  1110. /* harmony export (immutable) */ exports["e"] = isPresent;
  1111. /* harmony export (immutable) */ exports["d"] = isBlank;
  1112. /* unused harmony export isBoolean */
  1113. /* unused harmony export isNumber */
  1114. /* harmony export (immutable) */ exports["r"] = isString;
  1115. /* harmony export (immutable) */ exports["a"] = isFunction;
  1116. /* unused harmony export isType */
  1117. /* unused harmony export isStringMap */
  1118. /* unused harmony export isStrictStringMap */
  1119. /* harmony export (immutable) */ exports["f"] = isArray;
  1120. /* unused harmony export isDate */
  1121. /* unused harmony export noop */
  1122. /* harmony export (immutable) */ exports["b"] = stringify;
  1123. /* unused harmony export serializeEnum */
  1124. /* unused harmony export deserializeEnum */
  1125. /* unused harmony export resolveEnumToken */
  1126. /* harmony export (binding) */ __webpack_require__.d(exports, "i", function() { return StringWrapper; });
  1127. /* unused harmony export StringJoiner */
  1128. /* unused harmony export NumberWrapper */
  1129. /* unused harmony export RegExp */
  1130. /* unused harmony export FunctionWrapper */
  1131. /* harmony export (immutable) */ exports["m"] = looseIdentical;
  1132. /* harmony export (immutable) */ exports["n"] = getMapKey;
  1133. /* unused harmony export normalizeBlank */
  1134. /* unused harmony export normalizeBool */
  1135. /* harmony export (immutable) */ exports["g"] = isJsObject;
  1136. /* harmony export (immutable) */ exports["k"] = print;
  1137. /* harmony export (immutable) */ exports["l"] = warn;
  1138. /* unused harmony export Json */
  1139. /* unused harmony export DateWrapper */
  1140. /* unused harmony export setValueOnPath */
  1141. /* harmony export (immutable) */ exports["h"] = getSymbolIterator;
  1142. /* unused harmony export evalExpression */
  1143. /* harmony export (immutable) */ exports["p"] = isPrimitive;
  1144. /* unused harmony export hasConstructor */
  1145. /* unused harmony export escape */
  1146. /* unused harmony export escapeRegExp */
  1147. /**
  1148. * @license
  1149. * Copyright Google Inc. All Rights Reserved.
  1150. *
  1151. * Use of this source code is governed by an MIT-style license that can be
  1152. * found in the LICENSE file at https://angular.io/license
  1153. */
  1154. var globalScope;
  1155. if (typeof window === 'undefined') {
  1156. if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {
  1157. // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492
  1158. globalScope = self;
  1159. }
  1160. else {
  1161. globalScope = global;
  1162. }
  1163. }
  1164. else {
  1165. globalScope = window;
  1166. }
  1167. function scheduleMicroTask(fn) {
  1168. Zone.current.scheduleMicroTask('scheduleMicrotask', fn);
  1169. }
  1170. // Need to declare a new variable for global here since TypeScript
  1171. // exports the original value of the symbol.
  1172. var _global = globalScope;
  1173. function getTypeNameForDebugging(type) {
  1174. if (type['name']) {
  1175. return type['name'];
  1176. }
  1177. return typeof type;
  1178. }
  1179. var Math = _global.Math;
  1180. var Date = _global.Date;
  1181. // TODO: remove calls to assert in production environment
  1182. // Note: Can't just export this and import in in other files
  1183. // as `assert` is a reserved keyword in Dart
  1184. _global.assert = function assert(condition) {
  1185. // TODO: to be fixed properly via #2830, noop for now
  1186. };
  1187. function isPresent(obj) {
  1188. return obj !== undefined && obj !== null;
  1189. }
  1190. function isBlank(obj) {
  1191. return obj === undefined || obj === null;
  1192. }
  1193. function isBoolean(obj) {
  1194. return typeof obj === 'boolean';
  1195. }
  1196. function isNumber(obj) {
  1197. return typeof obj === 'number';
  1198. }
  1199. function isString(obj) {
  1200. return typeof obj === 'string';
  1201. }
  1202. function isFunction(obj) {
  1203. return typeof obj === 'function';
  1204. }
  1205. function isType(obj) {
  1206. return isFunction(obj);
  1207. }
  1208. function isStringMap(obj) {
  1209. return typeof obj === 'object' && obj !== null;
  1210. }
  1211. var STRING_MAP_PROTO = Object.getPrototypeOf({});
  1212. function isStrictStringMap(obj) {
  1213. return isStringMap(obj) && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;
  1214. }
  1215. function isArray(obj) {
  1216. return Array.isArray(obj);
  1217. }
  1218. function isDate(obj) {
  1219. return obj instanceof Date && !isNaN(obj.valueOf());
  1220. }
  1221. function noop() { }
  1222. function stringify(token) {
  1223. if (typeof token === 'string') {
  1224. return token;
  1225. }
  1226. if (token === undefined || token === null) {
  1227. return '' + token;
  1228. }
  1229. if (token.overriddenName) {
  1230. return token.overriddenName;
  1231. }
  1232. if (token.name) {
  1233. return token.name;
  1234. }
  1235. var res = token.toString();
  1236. var newLineIndex = res.indexOf('\n');
  1237. return (newLineIndex === -1) ? res : res.substring(0, newLineIndex);
  1238. }
  1239. // serialize / deserialize enum exist only for consistency with dart API
  1240. // enums in typescript don't need to be serialized
  1241. function serializeEnum(val) {
  1242. return val;
  1243. }
  1244. function deserializeEnum(val, values) {
  1245. return val;
  1246. }
  1247. function resolveEnumToken(enumValue, val) {
  1248. return enumValue[val];
  1249. }
  1250. var StringWrapper = (function () {
  1251. function StringWrapper() {
  1252. }
  1253. StringWrapper.fromCharCode = function (code) { return String.fromCharCode(code); };
  1254. StringWrapper.charCodeAt = function (s, index) { return s.charCodeAt(index); };
  1255. StringWrapper.split = function (s, regExp) { return s.split(regExp); };
  1256. StringWrapper.equals = function (s, s2) { return s === s2; };
  1257. StringWrapper.stripLeft = function (s, charVal) {
  1258. if (s && s.length) {
  1259. var pos = 0;
  1260. for (var i = 0; i < s.length; i++) {
  1261. if (s[i] != charVal)
  1262. break;
  1263. pos++;
  1264. }
  1265. s = s.substring(pos);
  1266. }
  1267. return s;
  1268. };
  1269. StringWrapper.stripRight = function (s, charVal) {
  1270. if (s && s.length) {
  1271. var pos = s.length;
  1272. for (var i = s.length - 1; i >= 0; i--) {
  1273. if (s[i] != charVal)
  1274. break;
  1275. pos--;
  1276. }
  1277. s = s.substring(0, pos);
  1278. }
  1279. return s;
  1280. };
  1281. StringWrapper.replace = function (s, from, replace) {
  1282. return s.replace(from, replace);
  1283. };
  1284. StringWrapper.replaceAll = function (s, from, replace) {
  1285. return s.replace(from, replace);
  1286. };
  1287. StringWrapper.slice = function (s, from, to) {
  1288. if (from === void 0) { from = 0; }
  1289. if (to === void 0) { to = null; }
  1290. return s.slice(from, to === null ? undefined : to);
  1291. };
  1292. StringWrapper.replaceAllMapped = function (s, from, cb) {
  1293. return s.replace(from, function () {
  1294. var matches = [];
  1295. for (var _i = 0; _i < arguments.length; _i++) {
  1296. matches[_i - 0] = arguments[_i];
  1297. }
  1298. // Remove offset & string from the result array
  1299. matches.splice(-2, 2);
  1300. // The callback receives match, p1, ..., pn
  1301. return cb(matches);
  1302. });
  1303. };
  1304. StringWrapper.contains = function (s, substr) { return s.indexOf(substr) != -1; };
  1305. StringWrapper.compare = function (a, b) {
  1306. if (a < b) {
  1307. return -1;
  1308. }
  1309. else if (a > b) {
  1310. return 1;
  1311. }
  1312. else {
  1313. return 0;
  1314. }
  1315. };
  1316. return StringWrapper;
  1317. }());
  1318. var StringJoiner = (function () {
  1319. function StringJoiner(parts) {
  1320. if (parts === void 0) { parts = []; }
  1321. this.parts = parts;
  1322. }
  1323. StringJoiner.prototype.add = function (part) { this.parts.push(part); };
  1324. StringJoiner.prototype.toString = function () { return this.parts.join(''); };
  1325. return StringJoiner;
  1326. }());
  1327. var NumberWrapper = (function () {
  1328. function NumberWrapper() {
  1329. }
  1330. NumberWrapper.toFixed = function (n, fractionDigits) { return n.toFixed(fractionDigits); };
  1331. NumberWrapper.equal = function (a, b) { return a === b; };
  1332. NumberWrapper.parseIntAutoRadix = function (text) {
  1333. var result = parseInt(text);
  1334. if (isNaN(result)) {
  1335. throw new Error('Invalid integer literal when parsing ' + text);
  1336. }
  1337. return result;
  1338. };
  1339. NumberWrapper.parseInt = function (text, radix) {
  1340. if (radix == 10) {
  1341. if (/^(\-|\+)?[0-9]+$/.test(text)) {
  1342. return parseInt(text, radix);
  1343. }
  1344. }
  1345. else if (radix == 16) {
  1346. if (/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text)) {
  1347. return parseInt(text, radix);
  1348. }
  1349. }
  1350. else {
  1351. var result = parseInt(text, radix);
  1352. if (!isNaN(result)) {
  1353. return result;
  1354. }
  1355. }
  1356. throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);
  1357. };
  1358. Object.defineProperty(NumberWrapper, "NaN", {
  1359. get: function () { return NaN; },
  1360. enumerable: true,
  1361. configurable: true
  1362. });
  1363. NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };
  1364. NumberWrapper.isNaN = function (value) { return isNaN(value); };
  1365. NumberWrapper.isInteger = function (value) { return Number.isInteger(value); };
  1366. return NumberWrapper;
  1367. }());
  1368. var RegExp = _global.RegExp;
  1369. var FunctionWrapper = (function () {
  1370. function FunctionWrapper() {
  1371. }
  1372. FunctionWrapper.apply = function (fn, posArgs) { return fn.apply(null, posArgs); };
  1373. FunctionWrapper.bind = function (fn, scope) { return fn.bind(scope); };
  1374. return FunctionWrapper;
  1375. }());
  1376. // JS has NaN !== NaN
  1377. function looseIdentical(a, b) {
  1378. return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
  1379. }
  1380. // JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)
  1381. // see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
  1382. function getMapKey(value) {
  1383. return value;
  1384. }
  1385. function normalizeBlank(obj) {
  1386. return isBlank(obj) ? null : obj;
  1387. }
  1388. function normalizeBool(obj) {
  1389. return isBlank(obj) ? false : obj;
  1390. }
  1391. function isJsObject(o) {
  1392. return o !== null && (typeof o === 'function' || typeof o === 'object');
  1393. }
  1394. function print(obj) {
  1395. console.log(obj);
  1396. }
  1397. function warn(obj) {
  1398. console.warn(obj);
  1399. }
  1400. // Can't be all uppercase as our transpiler would think it is a special directive...
  1401. var Json = (function () {
  1402. function Json() {
  1403. }
  1404. Json.parse = function (s) { return _global.JSON.parse(s); };
  1405. Json.stringify = function (data) {
  1406. // Dart doesn't take 3 arguments
  1407. return _global.JSON.stringify(data, null, 2);
  1408. };
  1409. return Json;
  1410. }());
  1411. var DateWrapper = (function () {
  1412. function DateWrapper() {
  1413. }
  1414. DateWrapper.create = function (year, month, day, hour, minutes, seconds, milliseconds) {
  1415. if (month === void 0) { month = 1; }
  1416. if (day === void 0) { day = 1; }
  1417. if (hour === void 0) { hour = 0; }
  1418. if (minutes === void 0) { minutes = 0; }
  1419. if (seconds === void 0) { seconds = 0; }
  1420. if (milliseconds === void 0) { milliseconds = 0; }
  1421. return new Date(year, month - 1, day, hour, minutes, seconds, milliseconds);
  1422. };
  1423. DateWrapper.fromISOString = function (str) { return new Date(str); };
  1424. DateWrapper.fromMillis = function (ms) { return new Date(ms); };
  1425. DateWrapper.toMillis = function (date) { return date.getTime(); };
  1426. DateWrapper.now = function () { return new Date(); };
  1427. DateWrapper.toJson = function (date) { return date.toJSON(); };
  1428. return DateWrapper;
  1429. }());
  1430. function setValueOnPath(global, path, value) {
  1431. var parts = path.split('.');
  1432. var obj = global;
  1433. while (parts.length > 1) {
  1434. var name = parts.shift();
  1435. if (obj.hasOwnProperty(name) && isPresent(obj[name])) {
  1436. obj = obj[name];
  1437. }
  1438. else {
  1439. obj = obj[name] = {};
  1440. }
  1441. }
  1442. if (obj === undefined || obj === null) {
  1443. obj = {};
  1444. }
  1445. obj[parts.shift()] = value;
  1446. }
  1447. var _symbolIterator = null;
  1448. function getSymbolIterator() {
  1449. if (isBlank(_symbolIterator)) {
  1450. if (isPresent(globalScope.Symbol) && isPresent(Symbol.iterator)) {
  1451. _symbolIterator = Symbol.iterator;
  1452. }
  1453. else {
  1454. // es6-shim specific logic
  1455. var keys = Object.getOwnPropertyNames(Map.prototype);
  1456. for (var i = 0; i < keys.length; ++i) {
  1457. var key = keys[i];
  1458. if (key !== 'entries' && key !== 'size' &&
  1459. Map.prototype[key] === Map.prototype['entries']) {
  1460. _symbolIterator = key;
  1461. }
  1462. }
  1463. }
  1464. }
  1465. return _symbolIterator;
  1466. }
  1467. function evalExpression(sourceUrl, expr, declarations, vars) {
  1468. var fnBody = declarations + "\nreturn " + expr + "\n//# sourceURL=" + sourceUrl;
  1469. var fnArgNames = [];
  1470. var fnArgValues = [];
  1471. for (var argName in vars) {
  1472. fnArgNames.push(argName);
  1473. fnArgValues.push(vars[argName]);
  1474. }
  1475. return new (Function.bind.apply(Function, [void 0].concat(fnArgNames.concat(fnBody))))().apply(void 0, fnArgValues);
  1476. }
  1477. function isPrimitive(obj) {
  1478. return !isJsObject(obj);
  1479. }
  1480. function hasConstructor(value, type) {
  1481. return value.constructor === type;
  1482. }
  1483. function escape(s) {
  1484. return _global.encodeURI(s);
  1485. }
  1486. function escapeRegExp(s) {
  1487. return s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
  1488. }
  1489. //# sourceMappingURL=lang.js.map
  1490. /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(64)))
  1491. /***/ },
  1492. /* 6 */
  1493. /***/ function(module, exports, __webpack_require__) {
  1494. "use strict";
  1495. "use strict";
  1496. var __extends = (this && this.__extends) || function (d, b) {
  1497. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  1498. function __() { this.constructor = d; }
  1499. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  1500. };
  1501. var Subscriber_1 = __webpack_require__(3);
  1502. /**
  1503. * We need this JSDoc comment for affecting ESDoc.
  1504. * @ignore
  1505. * @extends {Ignored}
  1506. */
  1507. var OuterSubscriber = (function (_super) {
  1508. __extends(OuterSubscriber, _super);
  1509. function OuterSubscriber() {
  1510. _super.apply(this, arguments);
  1511. }
  1512. OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  1513. this.destination.next(innerValue);
  1514. };
  1515. OuterSubscriber.prototype.notifyError = function (error, innerSub) {
  1516. this.destination.error(error);
  1517. };
  1518. OuterSubscriber.prototype.notifyComplete = function (innerSub) {
  1519. this.destination.complete();
  1520. };
  1521. return OuterSubscriber;
  1522. }(Subscriber_1.Subscriber));
  1523. exports.OuterSubscriber = OuterSubscriber;
  1524. //# sourceMappingURL=OuterSubscriber.js.map
  1525. /***/ },
  1526. /* 7 */
  1527. /***/ function(module, exports, __webpack_require__) {
  1528. "use strict";
  1529. "use strict";
  1530. var root_1 = __webpack_require__(27);
  1531. var isArray_1 = __webpack_require__(48);
  1532. var isPromise_1 = __webpack_require__(418);
  1533. var Observable_1 = __webpack_require__(0);
  1534. var iterator_1 = __webpack_require__(124);
  1535. var InnerSubscriber_1 = __webpack_require__(694);
  1536. var observable_1 = __webpack_require__(173);
  1537. function subscribeToResult(outerSubscriber, result, outerValue, outerIndex) {
  1538. var destination = new InnerSubscriber_1.InnerSubscriber(outerSubscriber, outerValue, outerIndex);
  1539. if (destination.closed) {
  1540. return null;
  1541. }
  1542. if (result instanceof Observable_1.Observable) {
  1543. if (result._isScalar) {
  1544. destination.next(result.value);
  1545. destination.complete();
  1546. return null;
  1547. }
  1548. else {
  1549. return result.subscribe(destination);
  1550. }
  1551. }
  1552. if (isArray_1.isArray(result)) {
  1553. for (var i = 0, len = result.length; i < len && !destination.closed; i++) {
  1554. destination.next(result[i]);
  1555. }
  1556. if (!destination.closed) {
  1557. destination.complete();
  1558. }
  1559. }
  1560. else if (isPromise_1.isPromise(result)) {
  1561. result.then(function (value) {
  1562. if (!destination.closed) {
  1563. destination.next(value);
  1564. destination.complete();
  1565. }
  1566. }, function (err) { return destination.error(err); })
  1567. .then(null, function (err) {
  1568. // Escaping the Promise trap: globally throw unhandled errors
  1569. root_1.root.setTimeout(function () { throw err; });
  1570. });
  1571. return destination;
  1572. }
  1573. else if (typeof result[iterator_1.$$iterator] === 'function') {
  1574. var iterator = result[iterator_1.$$iterator]();
  1575. do {
  1576. var item = iterator.next();
  1577. if (item.done) {
  1578. destination.complete();
  1579. break;
  1580. }
  1581. destination.next(item.value);
  1582. if (destination.closed) {
  1583. break;
  1584. }
  1585. } while (true);
  1586. }
  1587. else if (typeof result[observable_1.$$observable] === 'function') {
  1588. var obs = result[observable_1.$$observable]();
  1589. if (typeof obs.subscribe !== 'function') {
  1590. destination.error(new Error('invalid observable'));
  1591. }
  1592. else {
  1593. return obs.subscribe(new InnerSubscriber_1.InnerSubscriber(outerSubscriber, outerValue, outerIndex));
  1594. }
  1595. }
  1596. else {
  1597. destination.error(new TypeError('unknown type returned'));
  1598. }
  1599. return null;
  1600. }
  1601. exports.subscribeToResult = subscribeToResult;
  1602. //# sourceMappingURL=subscribeToResult.js.map
  1603. /***/ },
  1604. /* 8 */
  1605. /***/ function(module, exports, __webpack_require__) {
  1606. var isObject = __webpack_require__(10);
  1607. module.exports = function(it){
  1608. if(!isObject(it))throw TypeError(it + ' is not an object!');
  1609. return it;
  1610. };
  1611. /***/ },
  1612. /* 9 */
  1613. /***/ function(module, exports) {
  1614. module.exports = function(exec){
  1615. try {
  1616. return !!exec();
  1617. } catch(e){
  1618. return true;
  1619. }
  1620. };
  1621. /***/ },
  1622. /* 10 */
  1623. /***/ function(module, exports) {
  1624. module.exports = function(it){
  1625. return typeof it === 'object' ? it !== null : typeof it === 'function';
  1626. };
  1627. /***/ },
  1628. /* 11 */
  1629. /***/ function(module, exports) {
  1630. // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
  1631. var global = module.exports = typeof window != 'undefined' && window.Math == Math
  1632. ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
  1633. if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
  1634. /***/ },
  1635. /* 12 */
  1636. /***/ function(module, exports, __webpack_require__) {
  1637. "use strict";
  1638. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(4);
  1639. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return TypeModifier; });
  1640. /* harmony export (binding) */ __webpack_require__.d(exports, "Q", function() { return Type; });
  1641. /* harmony export (binding) */ __webpack_require__.d(exports, "R", function() { return BuiltinTypeName; });
  1642. /* unused harmony export BuiltinType */
  1643. /* harmony export (binding) */ __webpack_require__.d(exports, "I", function() { return ExternalType; });
  1644. /* harmony export (binding) */ __webpack_require__.d(exports, "q", function() { return ArrayType; });
  1645. /* harmony export (binding) */ __webpack_require__.d(exports, "w", function() { return MapType; });
  1646. /* harmony export (binding) */ __webpack_require__.d(exports, "l", function() { return DYNAMIC_TYPE; });
  1647. /* harmony export (binding) */ __webpack_require__.d(exports, "D", function() { return BOOL_TYPE; });
  1648. /* unused harmony export INT_TYPE */
  1649. /* harmony export (binding) */ __webpack_require__.d(exports, "L", function() { return NUMBER_TYPE; });
  1650. /* harmony export (binding) */ __webpack_require__.d(exports, "K", function() { return STRING_TYPE; });
  1651. /* harmony export (binding) */ __webpack_require__.d(exports, "E", function() { return FUNCTION_TYPE; });
  1652. /* harmony export (binding) */ __webpack_require__.d(exports, "y", function() { return BinaryOperator; });
  1653. /* harmony export (binding) */ __webpack_require__.d(exports, "m", function() { return Expression; });
  1654. /* harmony export (binding) */ __webpack_require__.d(exports, "O", function() { return BuiltinVar; });
  1655. /* harmony export (binding) */ __webpack_require__.d(exports, "B", function() { return ReadVarExpr; });
  1656. /* unused harmony export WriteVarExpr */
  1657. /* unused harmony export WriteKeyExpr */
  1658. /* unused harmony export WritePropExpr */
  1659. /* harmony export (binding) */ __webpack_require__.d(exports, "r", function() { return BuiltinMethod; });
  1660. /* unused harmony export InvokeMethodExpr */
  1661. /* unused harmony export InvokeFunctionExpr */
  1662. /* unused harmony export InstantiateExpr */
  1663. /* harmony export (binding) */ __webpack_require__.d(exports, "G", function() { return LiteralExpr; });
  1664. /* harmony export (binding) */ __webpack_require__.d(exports, "S", function() { return ExternalExpr; });
  1665. /* unused harmony export ConditionalExpr */
  1666. /* unused harmony export NotExpr */
  1667. /* unused harmony export CastExpr */
  1668. /* harmony export (binding) */ __webpack_require__.d(exports, "k", function() { return FnParam; });
  1669. /* unused harmony export FunctionExpr */
  1670. /* harmony export (binding) */ __webpack_require__.d(exports, "z", function() { return BinaryOperatorExpr; });
  1671. /* harmony export (binding) */ __webpack_require__.d(exports, "o", function() { return ReadPropExpr; });
  1672. /* unused harmony export ReadKeyExpr */
  1673. /* unused harmony export LiteralArrayExpr */
  1674. /* unused harmony export LiteralMapExpr */
  1675. /* harmony export (binding) */ __webpack_require__.d(exports, "n", function() { return THIS_EXPR; });
  1676. /* harmony export (binding) */ __webpack_require__.d(exports, "J", function() { return SUPER_EXPR; });
  1677. /* unused harmony export CATCH_ERROR_VAR */
  1678. /* unused harmony export CATCH_STACK_VAR */
  1679. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return NULL_EXPR; });
  1680. /* harmony export (binding) */ __webpack_require__.d(exports, "u", function() { return StmtModifier; });
  1681. /* harmony export (binding) */ __webpack_require__.d(exports, "P", function() { return Statement; });
  1682. /* harmony export (binding) */ __webpack_require__.d(exports, "x", function() { return DeclareVarStmt; });
  1683. /* unused harmony export DeclareFunctionStmt */
  1684. /* harmony export (binding) */ __webpack_require__.d(exports, "F", function() { return ExpressionStatement; });
  1685. /* harmony export (binding) */ __webpack_require__.d(exports, "t", function() { return ReturnStatement; });
  1686. /* unused harmony export AbstractClassPart */
  1687. /* harmony export (binding) */ __webpack_require__.d(exports, "s", function() { return ClassField; });
  1688. /* harmony export (binding) */ __webpack_require__.d(exports, "C", function() { return ClassMethod; });
  1689. /* harmony export (binding) */ __webpack_require__.d(exports, "v", function() { return ClassGetter; });
  1690. /* harmony export (binding) */ __webpack_require__.d(exports, "M", function() { return ClassStmt; });
  1691. /* harmony export (binding) */ __webpack_require__.d(exports, "i", function() { return IfStmt; });
  1692. /* unused harmony export CommentStmt */
  1693. /* harmony export (binding) */ __webpack_require__.d(exports, "H", function() { return TryCatchStmt; });
  1694. /* unused harmony export ThrowStmt */
  1695. /* unused harmony export ExpressionTransformer */
  1696. /* unused harmony export RecursiveExpressionVisitor */
  1697. /* harmony export (immutable) */ exports["p"] = replaceVarInExpression;
  1698. /* harmony export (immutable) */ exports["N"] = findReadVarNames;
  1699. /* harmony export (immutable) */ exports["e"] = variable;
  1700. /* harmony export (immutable) */ exports["b"] = importExpr;
  1701. /* harmony export (immutable) */ exports["c"] = importType;
  1702. /* harmony export (immutable) */ exports["g"] = literalArr;
  1703. /* harmony export (immutable) */ exports["f"] = literalMap;
  1704. /* harmony export (immutable) */ exports["A"] = not;
  1705. /* harmony export (immutable) */ exports["j"] = fn;
  1706. /* harmony export (immutable) */ exports["a"] = literal;
  1707. /**
  1708. * @license
  1709. * Copyright Google Inc. All Rights Reserved.
  1710. *
  1711. * Use of this source code is governed by an MIT-style license that can be
  1712. * found in the LICENSE file at https://angular.io/license
  1713. */
  1714. var __extends = (this && this.__extends) || function (d, b) {
  1715. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  1716. function __() { this.constructor = d; }
  1717. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  1718. };
  1719. //// ServiceIdentifiers
  1720. var TypeModifier;
  1721. (function (TypeModifier) {
  1722. TypeModifier[TypeModifier["Const"] = 0] = "Const";
  1723. })(TypeModifier || (TypeModifier = {}));
  1724. var Type = (function () {
  1725. function Type(modifiers) {
  1726. if (modifiers === void 0) { modifiers = null; }
  1727. this.modifiers = modifiers;
  1728. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(modifiers)) {
  1729. this.modifiers = [];
  1730. }
  1731. }
  1732. Type.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };
  1733. return Type;
  1734. }());
  1735. var BuiltinTypeName;
  1736. (function (BuiltinTypeName) {
  1737. BuiltinTypeName[BuiltinTypeName["Dynamic"] = 0] = "Dynamic";
  1738. BuiltinTypeName[BuiltinTypeName["Bool"] = 1] = "Bool";
  1739. BuiltinTypeName[BuiltinTypeName["String"] = 2] = "String";
  1740. BuiltinTypeName[BuiltinTypeName["Int"] = 3] = "Int";
  1741. BuiltinTypeName[BuiltinTypeName["Number"] = 4] = "Number";
  1742. BuiltinTypeName[BuiltinTypeName["Function"] = 5] = "Function";
  1743. })(BuiltinTypeName || (BuiltinTypeName = {}));
  1744. var BuiltinType = (function (_super) {
  1745. __extends(BuiltinType, _super);
  1746. function BuiltinType(name, modifiers) {
  1747. if (modifiers === void 0) { modifiers = null; }
  1748. _super.call(this, modifiers);
  1749. this.name = name;
  1750. }
  1751. BuiltinType.prototype.visitType = function (visitor, context) {
  1752. return visitor.visitBuiltintType(this, context);
  1753. };
  1754. return BuiltinType;
  1755. }(Type));
  1756. var ExternalType = (function (_super) {
  1757. __extends(ExternalType, _super);
  1758. function ExternalType(value, typeParams, modifiers) {
  1759. if (typeParams === void 0) { typeParams = null; }
  1760. if (modifiers === void 0) { modifiers = null; }
  1761. _super.call(this, modifiers);
  1762. this.value = value;
  1763. this.typeParams = typeParams;
  1764. }
  1765. ExternalType.prototype.visitType = function (visitor, context) {
  1766. return visitor.visitExternalType(this, context);
  1767. };
  1768. return ExternalType;
  1769. }(Type));
  1770. var ArrayType = (function (_super) {
  1771. __extends(ArrayType, _super);
  1772. function ArrayType(of, modifiers) {
  1773. if (modifiers === void 0) { modifiers = null; }
  1774. _super.call(this, modifiers);
  1775. this.of = of;
  1776. }
  1777. ArrayType.prototype.visitType = function (visitor, context) {
  1778. return visitor.visitArrayType(this, context);
  1779. };
  1780. return ArrayType;
  1781. }(Type));
  1782. var MapType = (function (_super) {
  1783. __extends(MapType, _super);
  1784. function MapType(valueType, modifiers) {
  1785. if (modifiers === void 0) { modifiers = null; }
  1786. _super.call(this, modifiers);
  1787. this.valueType = valueType;
  1788. }
  1789. MapType.prototype.visitType = function (visitor, context) { return visitor.visitMapType(this, context); };
  1790. return MapType;
  1791. }(Type));
  1792. var DYNAMIC_TYPE = new BuiltinType(BuiltinTypeName.Dynamic);
  1793. var BOOL_TYPE = new BuiltinType(BuiltinTypeName.Bool);
  1794. var INT_TYPE = new BuiltinType(BuiltinTypeName.Int);
  1795. var NUMBER_TYPE = new BuiltinType(BuiltinTypeName.Number);
  1796. var STRING_TYPE = new BuiltinType(BuiltinTypeName.String);
  1797. var FUNCTION_TYPE = new BuiltinType(BuiltinTypeName.Function);
  1798. ///// Expressions
  1799. var BinaryOperator;
  1800. (function (BinaryOperator) {
  1801. BinaryOperator[BinaryOperator["Equals"] = 0] = "Equals";
  1802. BinaryOperator[BinaryOperator["NotEquals"] = 1] = "NotEquals";
  1803. BinaryOperator[BinaryOperator["Identical"] = 2] = "Identical";
  1804. BinaryOperator[BinaryOperator["NotIdentical"] = 3] = "NotIdentical";
  1805. BinaryOperator[BinaryOperator["Minus"] = 4] = "Minus";
  1806. BinaryOperator[BinaryOperator["Plus"] = 5] = "Plus";
  1807. BinaryOperator[BinaryOperator["Divide"] = 6] = "Divide";
  1808. BinaryOperator[BinaryOperator["Multiply"] = 7] = "Multiply";
  1809. BinaryOperator[BinaryOperator["Modulo"] = 8] = "Modulo";
  1810. BinaryOperator[BinaryOperator["And"] = 9] = "And";
  1811. BinaryOperator[BinaryOperator["Or"] = 10] = "Or";
  1812. BinaryOperator[BinaryOperator["Lower"] = 11] = "Lower";
  1813. BinaryOperator[BinaryOperator["LowerEquals"] = 12] = "LowerEquals";
  1814. BinaryOperator[BinaryOperator["Bigger"] = 13] = "Bigger";
  1815. BinaryOperator[BinaryOperator["BiggerEquals"] = 14] = "BiggerEquals";
  1816. })(BinaryOperator || (BinaryOperator = {}));
  1817. var Expression = (function () {
  1818. function Expression(type) {
  1819. this.type = type;
  1820. }
  1821. Expression.prototype.prop = function (name) { return new ReadPropExpr(this, name); };
  1822. Expression.prototype.key = function (index, type) {
  1823. if (type === void 0) { type = null; }
  1824. return new ReadKeyExpr(this, index, type);
  1825. };
  1826. Expression.prototype.callMethod = function (name, params) {
  1827. return new InvokeMethodExpr(this, name, params);
  1828. };
  1829. Expression.prototype.callFn = function (params) { return new InvokeFunctionExpr(this, params); };
  1830. Expression.prototype.instantiate = function (params, type) {
  1831. if (type === void 0) { type = null; }
  1832. return new InstantiateExpr(this, params, type);
  1833. };
  1834. Expression.prototype.conditional = function (trueCase, falseCase) {
  1835. if (falseCase === void 0) { falseCase = null; }
  1836. return new ConditionalExpr(this, trueCase, falseCase);
  1837. };
  1838. Expression.prototype.equals = function (rhs) {
  1839. return new BinaryOperatorExpr(BinaryOperator.Equals, this, rhs);
  1840. };
  1841. Expression.prototype.notEquals = function (rhs) {
  1842. return new BinaryOperatorExpr(BinaryOperator.NotEquals, this, rhs);
  1843. };
  1844. Expression.prototype.identical = function (rhs) {
  1845. return new BinaryOperatorExpr(BinaryOperator.Identical, this, rhs);
  1846. };
  1847. Expression.prototype.notIdentical = function (rhs) {
  1848. return new BinaryOperatorExpr(BinaryOperator.NotIdentical, this, rhs);
  1849. };
  1850. Expression.prototype.minus = function (rhs) {
  1851. return new BinaryOperatorExpr(BinaryOperator.Minus, this, rhs);
  1852. };
  1853. Expression.prototype.plus = function (rhs) {
  1854. return new BinaryOperatorExpr(BinaryOperator.Plus, this, rhs);
  1855. };
  1856. Expression.prototype.divide = function (rhs) {
  1857. return new BinaryOperatorExpr(BinaryOperator.Divide, this, rhs);
  1858. };
  1859. Expression.prototype.multiply = function (rhs) {
  1860. return new BinaryOperatorExpr(BinaryOperator.Multiply, this, rhs);
  1861. };
  1862. Expression.prototype.modulo = function (rhs) {
  1863. return new BinaryOperatorExpr(BinaryOperator.Modulo, this, rhs);
  1864. };
  1865. Expression.prototype.and = function (rhs) {
  1866. return new BinaryOperatorExpr(BinaryOperator.And, this, rhs);
  1867. };
  1868. Expression.prototype.or = function (rhs) {
  1869. return new BinaryOperatorExpr(BinaryOperator.Or, this, rhs);
  1870. };
  1871. Expression.prototype.lower = function (rhs) {
  1872. return new BinaryOperatorExpr(BinaryOperator.Lower, this, rhs);
  1873. };
  1874. Expression.prototype.lowerEquals = function (rhs) {
  1875. return new BinaryOperatorExpr(BinaryOperator.LowerEquals, this, rhs);
  1876. };
  1877. Expression.prototype.bigger = function (rhs) {
  1878. return new BinaryOperatorExpr(BinaryOperator.Bigger, this, rhs);
  1879. };
  1880. Expression.prototype.biggerEquals = function (rhs) {
  1881. return new BinaryOperatorExpr(BinaryOperator.BiggerEquals, this, rhs);
  1882. };
  1883. Expression.prototype.isBlank = function () {
  1884. // Note: We use equals by purpose here to compare to null and undefined in JS.
  1885. return this.equals(NULL_EXPR);
  1886. };
  1887. Expression.prototype.cast = function (type) { return new CastExpr(this, type); };
  1888. Expression.prototype.toStmt = function () { return new ExpressionStatement(this); };
  1889. return Expression;
  1890. }());
  1891. var BuiltinVar;
  1892. (function (BuiltinVar) {
  1893. BuiltinVar[BuiltinVar["This"] = 0] = "This";
  1894. BuiltinVar[BuiltinVar["Super"] = 1] = "Super";
  1895. BuiltinVar[BuiltinVar["CatchError"] = 2] = "CatchError";
  1896. BuiltinVar[BuiltinVar["CatchStack"] = 3] = "CatchStack";
  1897. })(BuiltinVar || (BuiltinVar = {}));
  1898. var ReadVarExpr = (function (_super) {
  1899. __extends(ReadVarExpr, _super);
  1900. function ReadVarExpr(name, type) {
  1901. if (type === void 0) { type = null; }
  1902. _super.call(this, type);
  1903. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["g" /* isString */])(name)) {
  1904. this.name = name;
  1905. this.builtin = null;
  1906. }
  1907. else {
  1908. this.name = null;
  1909. this.builtin = name;
  1910. }
  1911. }
  1912. ReadVarExpr.prototype.visitExpression = function (visitor, context) {
  1913. return visitor.visitReadVarExpr(this, context);
  1914. };
  1915. ReadVarExpr.prototype.set = function (value) { return new WriteVarExpr(this.name, value); };
  1916. return ReadVarExpr;
  1917. }(Expression));
  1918. var WriteVarExpr = (function (_super) {
  1919. __extends(WriteVarExpr, _super);
  1920. function WriteVarExpr(name, value, type) {
  1921. if (type === void 0) { type = null; }
  1922. _super.call(this, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(type) ? type : value.type);
  1923. this.name = name;
  1924. this.value = value;
  1925. }
  1926. WriteVarExpr.prototype.visitExpression = function (visitor, context) {
  1927. return visitor.visitWriteVarExpr(this, context);
  1928. };
  1929. WriteVarExpr.prototype.toDeclStmt = function (type, modifiers) {
  1930. if (type === void 0) { type = null; }
  1931. if (modifiers === void 0) { modifiers = null; }
  1932. return new DeclareVarStmt(this.name, this.value, type, modifiers);
  1933. };
  1934. return WriteVarExpr;
  1935. }(Expression));
  1936. var WriteKeyExpr = (function (_super) {
  1937. __extends(WriteKeyExpr, _super);
  1938. function WriteKeyExpr(receiver, index, value, type) {
  1939. if (type === void 0) { type = null; }
  1940. _super.call(this, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(type) ? type : value.type);
  1941. this.receiver = receiver;
  1942. this.index = index;
  1943. this.value = value;
  1944. }
  1945. WriteKeyExpr.prototype.visitExpression = function (visitor, context) {
  1946. return visitor.visitWriteKeyExpr(this, context);
  1947. };
  1948. return WriteKeyExpr;
  1949. }(Expression));
  1950. var WritePropExpr = (function (_super) {
  1951. __extends(WritePropExpr, _super);
  1952. function WritePropExpr(receiver, name, value, type) {
  1953. if (type === void 0) { type = null; }
  1954. _super.call(this, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(type) ? type : value.type);
  1955. this.receiver = receiver;
  1956. this.name = name;
  1957. this.value = value;
  1958. }
  1959. WritePropExpr.prototype.visitExpression = function (visitor, context) {
  1960. return visitor.visitWritePropExpr(this, context);
  1961. };
  1962. return WritePropExpr;
  1963. }(Expression));
  1964. var BuiltinMethod;
  1965. (function (BuiltinMethod) {
  1966. BuiltinMethod[BuiltinMethod["ConcatArray"] = 0] = "ConcatArray";
  1967. BuiltinMethod[BuiltinMethod["SubscribeObservable"] = 1] = "SubscribeObservable";
  1968. BuiltinMethod[BuiltinMethod["Bind"] = 2] = "Bind";
  1969. })(BuiltinMethod || (BuiltinMethod = {}));
  1970. var InvokeMethodExpr = (function (_super) {
  1971. __extends(InvokeMethodExpr, _super);
  1972. function InvokeMethodExpr(receiver, method, args, type) {
  1973. if (type === void 0) { type = null; }
  1974. _super.call(this, type);
  1975. this.receiver = receiver;
  1976. this.args = args;
  1977. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["g" /* isString */])(method)) {
  1978. this.name = method;
  1979. this.builtin = null;
  1980. }
  1981. else {
  1982. this.name = null;
  1983. this.builtin = method;
  1984. }
  1985. }
  1986. InvokeMethodExpr.prototype.visitExpression = function (visitor, context) {
  1987. return visitor.visitInvokeMethodExpr(this, context);
  1988. };
  1989. return InvokeMethodExpr;
  1990. }(Expression));
  1991. var InvokeFunctionExpr = (function (_super) {
  1992. __extends(InvokeFunctionExpr, _super);
  1993. function InvokeFunctionExpr(fn, args, type) {
  1994. if (type === void 0) { type = null; }
  1995. _super.call(this, type);
  1996. this.fn = fn;
  1997. this.args = args;
  1998. }
  1999. InvokeFunctionExpr.prototype.visitExpression = function (visitor, context) {
  2000. return visitor.visitInvokeFunctionExpr(this, context);
  2001. };
  2002. return InvokeFunctionExpr;
  2003. }(Expression));
  2004. var InstantiateExpr = (function (_super) {
  2005. __extends(InstantiateExpr, _super);
  2006. function InstantiateExpr(classExpr, args, type) {
  2007. _super.call(this, type);
  2008. this.classExpr = classExpr;
  2009. this.args = args;
  2010. }
  2011. InstantiateExpr.prototype.visitExpression = function (visitor, context) {
  2012. return visitor.visitInstantiateExpr(this, context);
  2013. };
  2014. return InstantiateExpr;
  2015. }(Expression));
  2016. var LiteralExpr = (function (_super) {
  2017. __extends(LiteralExpr, _super);
  2018. function LiteralExpr(value, type) {
  2019. if (type === void 0) { type = null; }
  2020. _super.call(this, type);
  2021. this.value = value;
  2022. }
  2023. LiteralExpr.prototype.visitExpression = function (visitor, context) {
  2024. return visitor.visitLiteralExpr(this, context);
  2025. };
  2026. return LiteralExpr;
  2027. }(Expression));
  2028. var ExternalExpr = (function (_super) {
  2029. __extends(ExternalExpr, _super);
  2030. function ExternalExpr(value, type, typeParams) {
  2031. if (type === void 0) { type = null; }
  2032. if (typeParams === void 0) { typeParams = null; }
  2033. _super.call(this, type);
  2034. this.value = value;
  2035. this.typeParams = typeParams;
  2036. }
  2037. ExternalExpr.prototype.visitExpression = function (visitor, context) {
  2038. return visitor.visitExternalExpr(this, context);
  2039. };
  2040. return ExternalExpr;
  2041. }(Expression));
  2042. var ConditionalExpr = (function (_super) {
  2043. __extends(ConditionalExpr, _super);
  2044. function ConditionalExpr(condition, trueCase, falseCase, type) {
  2045. if (falseCase === void 0) { falseCase = null; }
  2046. if (type === void 0) { type = null; }
  2047. _super.call(this, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(type) ? type : trueCase.type);
  2048. this.condition = condition;
  2049. this.falseCase = falseCase;
  2050. this.trueCase = trueCase;
  2051. }
  2052. ConditionalExpr.prototype.visitExpression = function (visitor, context) {
  2053. return visitor.visitConditionalExpr(this, context);
  2054. };
  2055. return ConditionalExpr;
  2056. }(Expression));
  2057. var NotExpr = (function (_super) {
  2058. __extends(NotExpr, _super);
  2059. function NotExpr(condition) {
  2060. _super.call(this, BOOL_TYPE);
  2061. this.condition = condition;
  2062. }
  2063. NotExpr.prototype.visitExpression = function (visitor, context) {
  2064. return visitor.visitNotExpr(this, context);
  2065. };
  2066. return NotExpr;
  2067. }(Expression));
  2068. var CastExpr = (function (_super) {
  2069. __extends(CastExpr, _super);
  2070. function CastExpr(value, type) {
  2071. _super.call(this, type);
  2072. this.value = value;
  2073. }
  2074. CastExpr.prototype.visitExpression = function (visitor, context) {
  2075. return visitor.visitCastExpr(this, context);
  2076. };
  2077. return CastExpr;
  2078. }(Expression));
  2079. var FnParam = (function () {
  2080. function FnParam(name, type) {
  2081. if (type === void 0) { type = null; }
  2082. this.name = name;
  2083. this.type = type;
  2084. }
  2085. return FnParam;
  2086. }());
  2087. var FunctionExpr = (function (_super) {
  2088. __extends(FunctionExpr, _super);
  2089. function FunctionExpr(params, statements, type) {
  2090. if (type === void 0) { type = null; }
  2091. _super.call(this, type);
  2092. this.params = params;
  2093. this.statements = statements;
  2094. }
  2095. FunctionExpr.prototype.visitExpression = function (visitor, context) {
  2096. return visitor.visitFunctionExpr(this, context);
  2097. };
  2098. FunctionExpr.prototype.toDeclStmt = function (name, modifiers) {
  2099. if (modifiers === void 0) { modifiers = null; }
  2100. return new DeclareFunctionStmt(name, this.params, this.statements, this.type, modifiers);
  2101. };
  2102. return FunctionExpr;
  2103. }(Expression));
  2104. var BinaryOperatorExpr = (function (_super) {
  2105. __extends(BinaryOperatorExpr, _super);
  2106. function BinaryOperatorExpr(operator, lhs, rhs, type) {
  2107. if (type === void 0) { type = null; }
  2108. _super.call(this, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(type) ? type : lhs.type);
  2109. this.operator = operator;
  2110. this.rhs = rhs;
  2111. this.lhs = lhs;
  2112. }
  2113. BinaryOperatorExpr.prototype.visitExpression = function (visitor, context) {
  2114. return visitor.visitBinaryOperatorExpr(this, context);
  2115. };
  2116. return BinaryOperatorExpr;
  2117. }(Expression));
  2118. var ReadPropExpr = (function (_super) {
  2119. __extends(ReadPropExpr, _super);
  2120. function ReadPropExpr(receiver, name, type) {
  2121. if (type === void 0) { type = null; }
  2122. _super.call(this, type);
  2123. this.receiver = receiver;
  2124. this.name = name;
  2125. }
  2126. ReadPropExpr.prototype.visitExpression = function (visitor, context) {
  2127. return visitor.visitReadPropExpr(this, context);
  2128. };
  2129. ReadPropExpr.prototype.set = function (value) {
  2130. return new WritePropExpr(this.receiver, this.name, value);
  2131. };
  2132. return ReadPropExpr;
  2133. }(Expression));
  2134. var ReadKeyExpr = (function (_super) {
  2135. __extends(ReadKeyExpr, _super);
  2136. function ReadKeyExpr(receiver, index, type) {
  2137. if (type === void 0) { type = null; }
  2138. _super.call(this, type);
  2139. this.receiver = receiver;
  2140. this.index = index;
  2141. }
  2142. ReadKeyExpr.prototype.visitExpression = function (visitor, context) {
  2143. return visitor.visitReadKeyExpr(this, context);
  2144. };
  2145. ReadKeyExpr.prototype.set = function (value) {
  2146. return new WriteKeyExpr(this.receiver, this.index, value);
  2147. };
  2148. return ReadKeyExpr;
  2149. }(Expression));
  2150. var LiteralArrayExpr = (function (_super) {
  2151. __extends(LiteralArrayExpr, _super);
  2152. function LiteralArrayExpr(entries, type) {
  2153. if (type === void 0) { type = null; }
  2154. _super.call(this, type);
  2155. this.entries = entries;
  2156. }
  2157. LiteralArrayExpr.prototype.visitExpression = function (visitor, context) {
  2158. return visitor.visitLiteralArrayExpr(this, context);
  2159. };
  2160. return LiteralArrayExpr;
  2161. }(Expression));
  2162. var LiteralMapExpr = (function (_super) {
  2163. __extends(LiteralMapExpr, _super);
  2164. function LiteralMapExpr(entries, type) {
  2165. if (type === void 0) { type = null; }
  2166. _super.call(this, type);
  2167. this.entries = entries;
  2168. this.valueType = null;
  2169. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(type)) {
  2170. this.valueType = type.valueType;
  2171. }
  2172. }
  2173. LiteralMapExpr.prototype.visitExpression = function (visitor, context) {
  2174. return visitor.visitLiteralMapExpr(this, context);
  2175. };
  2176. return LiteralMapExpr;
  2177. }(Expression));
  2178. var THIS_EXPR = new ReadVarExpr(BuiltinVar.This);
  2179. var SUPER_EXPR = new ReadVarExpr(BuiltinVar.Super);
  2180. var CATCH_ERROR_VAR = new ReadVarExpr(BuiltinVar.CatchError);
  2181. var CATCH_STACK_VAR = new ReadVarExpr(BuiltinVar.CatchStack);
  2182. var NULL_EXPR = new LiteralExpr(null, null);
  2183. //// Statements
  2184. var StmtModifier;
  2185. (function (StmtModifier) {
  2186. StmtModifier[StmtModifier["Final"] = 0] = "Final";
  2187. StmtModifier[StmtModifier["Private"] = 1] = "Private";
  2188. })(StmtModifier || (StmtModifier = {}));
  2189. var Statement = (function () {
  2190. function Statement(modifiers) {
  2191. if (modifiers === void 0) { modifiers = null; }
  2192. this.modifiers = modifiers;
  2193. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(modifiers)) {
  2194. this.modifiers = [];
  2195. }
  2196. }
  2197. Statement.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };
  2198. return Statement;
  2199. }());
  2200. var DeclareVarStmt = (function (_super) {
  2201. __extends(DeclareVarStmt, _super);
  2202. function DeclareVarStmt(name, value, type, modifiers) {
  2203. if (type === void 0) { type = null; }
  2204. if (modifiers === void 0) { modifiers = null; }
  2205. _super.call(this, modifiers);
  2206. this.name = name;
  2207. this.value = value;
  2208. this.type = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(type) ? type : value.type;
  2209. }
  2210. DeclareVarStmt.prototype.visitStatement = function (visitor, context) {
  2211. return visitor.visitDeclareVarStmt(this, context);
  2212. };
  2213. return DeclareVarStmt;
  2214. }(Statement));
  2215. var DeclareFunctionStmt = (function (_super) {
  2216. __extends(DeclareFunctionStmt, _super);
  2217. function DeclareFunctionStmt(name, params, statements, type, modifiers) {
  2218. if (type === void 0) { type = null; }
  2219. if (modifiers === void 0) { modifiers = null; }
  2220. _super.call(this, modifiers);
  2221. this.name = name;
  2222. this.params = params;
  2223. this.statements = statements;
  2224. this.type = type;
  2225. }
  2226. DeclareFunctionStmt.prototype.visitStatement = function (visitor, context) {
  2227. return visitor.visitDeclareFunctionStmt(this, context);
  2228. };
  2229. return DeclareFunctionStmt;
  2230. }(Statement));
  2231. var ExpressionStatement = (function (_super) {
  2232. __extends(ExpressionStatement, _super);
  2233. function ExpressionStatement(expr) {
  2234. _super.call(this);
  2235. this.expr = expr;
  2236. }
  2237. ExpressionStatement.prototype.visitStatement = function (visitor, context) {
  2238. return visitor.visitExpressionStmt(this, context);
  2239. };
  2240. return ExpressionStatement;
  2241. }(Statement));
  2242. var ReturnStatement = (function (_super) {
  2243. __extends(ReturnStatement, _super);
  2244. function ReturnStatement(value) {
  2245. _super.call(this);
  2246. this.value = value;
  2247. }
  2248. ReturnStatement.prototype.visitStatement = function (visitor, context) {
  2249. return visitor.visitReturnStmt(this, context);
  2250. };
  2251. return ReturnStatement;
  2252. }(Statement));
  2253. var AbstractClassPart = (function () {
  2254. function AbstractClassPart(type, modifiers) {
  2255. if (type === void 0) { type = null; }
  2256. this.type = type;
  2257. this.modifiers = modifiers;
  2258. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(modifiers)) {
  2259. this.modifiers = [];
  2260. }
  2261. }
  2262. AbstractClassPart.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };
  2263. return AbstractClassPart;
  2264. }());
  2265. var ClassField = (function (_super) {
  2266. __extends(ClassField, _super);
  2267. function ClassField(name, type, modifiers) {
  2268. if (type === void 0) { type = null; }
  2269. if (modifiers === void 0) { modifiers = null; }
  2270. _super.call(this, type, modifiers);
  2271. this.name = name;
  2272. }
  2273. return ClassField;
  2274. }(AbstractClassPart));
  2275. var ClassMethod = (function (_super) {
  2276. __extends(ClassMethod, _super);
  2277. function ClassMethod(name, params, body, type, modifiers) {
  2278. if (type === void 0) { type = null; }
  2279. if (modifiers === void 0) { modifiers = null; }
  2280. _super.call(this, type, modifiers);
  2281. this.name = name;
  2282. this.params = params;
  2283. this.body = body;
  2284. }
  2285. return ClassMethod;
  2286. }(AbstractClassPart));
  2287. var ClassGetter = (function (_super) {
  2288. __extends(ClassGetter, _super);
  2289. function ClassGetter(name, body, type, modifiers) {
  2290. if (type === void 0) { type = null; }
  2291. if (modifiers === void 0) { modifiers = null; }
  2292. _super.call(this, type, modifiers);
  2293. this.name = name;
  2294. this.body = body;
  2295. }
  2296. return ClassGetter;
  2297. }(AbstractClassPart));
  2298. var ClassStmt = (function (_super) {
  2299. __extends(ClassStmt, _super);
  2300. function ClassStmt(name, parent, fields, getters, constructorMethod, methods, modifiers) {
  2301. if (modifiers === void 0) { modifiers = null; }
  2302. _super.call(this, modifiers);
  2303. this.name = name;
  2304. this.parent = parent;
  2305. this.fields = fields;
  2306. this.getters = getters;
  2307. this.constructorMethod = constructorMethod;
  2308. this.methods = methods;
  2309. }
  2310. ClassStmt.prototype.visitStatement = function (visitor, context) {
  2311. return visitor.visitDeclareClassStmt(this, context);
  2312. };
  2313. return ClassStmt;
  2314. }(Statement));
  2315. var IfStmt = (function (_super) {
  2316. __extends(IfStmt, _super);
  2317. function IfStmt(condition, trueCase, falseCase) {
  2318. if (falseCase === void 0) { falseCase = []; }
  2319. _super.call(this);
  2320. this.condition = condition;
  2321. this.trueCase = trueCase;
  2322. this.falseCase = falseCase;
  2323. }
  2324. IfStmt.prototype.visitStatement = function (visitor, context) {
  2325. return visitor.visitIfStmt(this, context);
  2326. };
  2327. return IfStmt;
  2328. }(Statement));
  2329. var CommentStmt = (function (_super) {
  2330. __extends(CommentStmt, _super);
  2331. function CommentStmt(comment) {
  2332. _super.call(this);
  2333. this.comment = comment;
  2334. }
  2335. CommentStmt.prototype.visitStatement = function (visitor, context) {
  2336. return visitor.visitCommentStmt(this, context);
  2337. };
  2338. return CommentStmt;
  2339. }(Statement));
  2340. var TryCatchStmt = (function (_super) {
  2341. __extends(TryCatchStmt, _super);
  2342. function TryCatchStmt(bodyStmts, catchStmts) {
  2343. _super.call(this);
  2344. this.bodyStmts = bodyStmts;
  2345. this.catchStmts = catchStmts;
  2346. }
  2347. TryCatchStmt.prototype.visitStatement = function (visitor, context) {
  2348. return visitor.visitTryCatchStmt(this, context);
  2349. };
  2350. return TryCatchStmt;
  2351. }(Statement));
  2352. var ThrowStmt = (function (_super) {
  2353. __extends(ThrowStmt, _super);
  2354. function ThrowStmt(error) {
  2355. _super.call(this);
  2356. this.error = error;
  2357. }
  2358. ThrowStmt.prototype.visitStatement = function (visitor, context) {
  2359. return visitor.visitThrowStmt(this, context);
  2360. };
  2361. return ThrowStmt;
  2362. }(Statement));
  2363. var ExpressionTransformer = (function () {
  2364. function ExpressionTransformer() {
  2365. }
  2366. ExpressionTransformer.prototype.visitReadVarExpr = function (ast, context) { return ast; };
  2367. ExpressionTransformer.prototype.visitWriteVarExpr = function (expr, context) {
  2368. return new WriteVarExpr(expr.name, expr.value.visitExpression(this, context));
  2369. };
  2370. ExpressionTransformer.prototype.visitWriteKeyExpr = function (expr, context) {
  2371. return new WriteKeyExpr(expr.receiver.visitExpression(this, context), expr.index.visitExpression(this, context), expr.value.visitExpression(this, context));
  2372. };
  2373. ExpressionTransformer.prototype.visitWritePropExpr = function (expr, context) {
  2374. return new WritePropExpr(expr.receiver.visitExpression(this, context), expr.name, expr.value.visitExpression(this, context));
  2375. };
  2376. ExpressionTransformer.prototype.visitInvokeMethodExpr = function (ast, context) {
  2377. var method = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(ast.builtin) ? ast.builtin : ast.name;
  2378. return new InvokeMethodExpr(ast.receiver.visitExpression(this, context), method, this.visitAllExpressions(ast.args, context), ast.type);
  2379. };
  2380. ExpressionTransformer.prototype.visitInvokeFunctionExpr = function (ast, context) {
  2381. return new InvokeFunctionExpr(ast.fn.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type);
  2382. };
  2383. ExpressionTransformer.prototype.visitInstantiateExpr = function (ast, context) {
  2384. return new InstantiateExpr(ast.classExpr.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type);
  2385. };
  2386. ExpressionTransformer.prototype.visitLiteralExpr = function (ast, context) { return ast; };
  2387. ExpressionTransformer.prototype.visitExternalExpr = function (ast, context) { return ast; };
  2388. ExpressionTransformer.prototype.visitConditionalExpr = function (ast, context) {
  2389. return new ConditionalExpr(ast.condition.visitExpression(this, context), ast.trueCase.visitExpression(this, context), ast.falseCase.visitExpression(this, context));
  2390. };
  2391. ExpressionTransformer.prototype.visitNotExpr = function (ast, context) {
  2392. return new NotExpr(ast.condition.visitExpression(this, context));
  2393. };
  2394. ExpressionTransformer.prototype.visitCastExpr = function (ast, context) {
  2395. return new CastExpr(ast.value.visitExpression(this, context), context);
  2396. };
  2397. ExpressionTransformer.prototype.visitFunctionExpr = function (ast, context) {
  2398. // Don't descend into nested functions
  2399. return ast;
  2400. };
  2401. ExpressionTransformer.prototype.visitBinaryOperatorExpr = function (ast, context) {
  2402. return new BinaryOperatorExpr(ast.operator, ast.lhs.visitExpression(this, context), ast.rhs.visitExpression(this, context), ast.type);
  2403. };
  2404. ExpressionTransformer.prototype.visitReadPropExpr = function (ast, context) {
  2405. return new ReadPropExpr(ast.receiver.visitExpression(this, context), ast.name, ast.type);
  2406. };
  2407. ExpressionTransformer.prototype.visitReadKeyExpr = function (ast, context) {
  2408. return new ReadKeyExpr(ast.receiver.visitExpression(this, context), ast.index.visitExpression(this, context), ast.type);
  2409. };
  2410. ExpressionTransformer.prototype.visitLiteralArrayExpr = function (ast, context) {
  2411. return new LiteralArrayExpr(this.visitAllExpressions(ast.entries, context));
  2412. };
  2413. ExpressionTransformer.prototype.visitLiteralMapExpr = function (ast, context) {
  2414. var _this = this;
  2415. return new LiteralMapExpr(ast.entries.map(function (entry) { return [entry[0], entry[1].visitExpression(_this, context)]; }));
  2416. };
  2417. ExpressionTransformer.prototype.visitAllExpressions = function (exprs, context) {
  2418. var _this = this;
  2419. return exprs.map(function (expr) { return expr.visitExpression(_this, context); });
  2420. };
  2421. ExpressionTransformer.prototype.visitDeclareVarStmt = function (stmt, context) {
  2422. return new DeclareVarStmt(stmt.name, stmt.value.visitExpression(this, context), stmt.type, stmt.modifiers);
  2423. };
  2424. ExpressionTransformer.prototype.visitDeclareFunctionStmt = function (stmt, context) {
  2425. // Don't descend into nested functions
  2426. return stmt;
  2427. };
  2428. ExpressionTransformer.prototype.visitExpressionStmt = function (stmt, context) {
  2429. return new ExpressionStatement(stmt.expr.visitExpression(this, context));
  2430. };
  2431. ExpressionTransformer.prototype.visitReturnStmt = function (stmt, context) {
  2432. return new ReturnStatement(stmt.value.visitExpression(this, context));
  2433. };
  2434. ExpressionTransformer.prototype.visitDeclareClassStmt = function (stmt, context) {
  2435. // Don't descend into nested functions
  2436. return stmt;
  2437. };
  2438. ExpressionTransformer.prototype.visitIfStmt = function (stmt, context) {
  2439. return new IfStmt(stmt.condition.visitExpression(this, context), this.visitAllStatements(stmt.trueCase, context), this.visitAllStatements(stmt.falseCase, context));
  2440. };
  2441. ExpressionTransformer.prototype.visitTryCatchStmt = function (stmt, context) {
  2442. return new TryCatchStmt(this.visitAllStatements(stmt.bodyStmts, context), this.visitAllStatements(stmt.catchStmts, context));
  2443. };
  2444. ExpressionTransformer.prototype.visitThrowStmt = function (stmt, context) {
  2445. return new ThrowStmt(stmt.error.visitExpression(this, context));
  2446. };
  2447. ExpressionTransformer.prototype.visitCommentStmt = function (stmt, context) { return stmt; };
  2448. ExpressionTransformer.prototype.visitAllStatements = function (stmts, context) {
  2449. var _this = this;
  2450. return stmts.map(function (stmt) { return stmt.visitStatement(_this, context); });
  2451. };
  2452. return ExpressionTransformer;
  2453. }());
  2454. var RecursiveExpressionVisitor = (function () {
  2455. function RecursiveExpressionVisitor() {
  2456. }
  2457. RecursiveExpressionVisitor.prototype.visitReadVarExpr = function (ast, context) { return ast; };
  2458. RecursiveExpressionVisitor.prototype.visitWriteVarExpr = function (expr, context) {
  2459. expr.value.visitExpression(this, context);
  2460. return expr;
  2461. };
  2462. RecursiveExpressionVisitor.prototype.visitWriteKeyExpr = function (expr, context) {
  2463. expr.receiver.visitExpression(this, context);
  2464. expr.index.visitExpression(this, context);
  2465. expr.value.visitExpression(this, context);
  2466. return expr;
  2467. };
  2468. RecursiveExpressionVisitor.prototype.visitWritePropExpr = function (expr, context) {
  2469. expr.receiver.visitExpression(this, context);
  2470. expr.value.visitExpression(this, context);
  2471. return expr;
  2472. };
  2473. RecursiveExpressionVisitor.prototype.visitInvokeMethodExpr = function (ast, context) {
  2474. ast.receiver.visitExpression(this, context);
  2475. this.visitAllExpressions(ast.args, context);
  2476. return ast;
  2477. };
  2478. RecursiveExpressionVisitor.prototype.visitInvokeFunctionExpr = function (ast, context) {
  2479. ast.fn.visitExpression(this, context);
  2480. this.visitAllExpressions(ast.args, context);
  2481. return ast;
  2482. };
  2483. RecursiveExpressionVisitor.prototype.visitInstantiateExpr = function (ast, context) {
  2484. ast.classExpr.visitExpression(this, context);
  2485. this.visitAllExpressions(ast.args, context);
  2486. return ast;
  2487. };
  2488. RecursiveExpressionVisitor.prototype.visitLiteralExpr = function (ast, context) { return ast; };
  2489. RecursiveExpressionVisitor.prototype.visitExternalExpr = function (ast, context) { return ast; };
  2490. RecursiveExpressionVisitor.prototype.visitConditionalExpr = function (ast, context) {
  2491. ast.condition.visitExpression(this, context);
  2492. ast.trueCase.visitExpression(this, context);
  2493. ast.falseCase.visitExpression(this, context);
  2494. return ast;
  2495. };
  2496. RecursiveExpressionVisitor.prototype.visitNotExpr = function (ast, context) {
  2497. ast.condition.visitExpression(this, context);
  2498. return ast;
  2499. };
  2500. RecursiveExpressionVisitor.prototype.visitCastExpr = function (ast, context) {
  2501. ast.value.visitExpression(this, context);
  2502. return ast;
  2503. };
  2504. RecursiveExpressionVisitor.prototype.visitFunctionExpr = function (ast, context) { return ast; };
  2505. RecursiveExpressionVisitor.prototype.visitBinaryOperatorExpr = function (ast, context) {
  2506. ast.lhs.visitExpression(this, context);
  2507. ast.rhs.visitExpression(this, context);
  2508. return ast;
  2509. };
  2510. RecursiveExpressionVisitor.prototype.visitReadPropExpr = function (ast, context) {
  2511. ast.receiver.visitExpression(this, context);
  2512. return ast;
  2513. };
  2514. RecursiveExpressionVisitor.prototype.visitReadKeyExpr = function (ast, context) {
  2515. ast.receiver.visitExpression(this, context);
  2516. ast.index.visitExpression(this, context);
  2517. return ast;
  2518. };
  2519. RecursiveExpressionVisitor.prototype.visitLiteralArrayExpr = function (ast, context) {
  2520. this.visitAllExpressions(ast.entries, context);
  2521. return ast;
  2522. };
  2523. RecursiveExpressionVisitor.prototype.visitLiteralMapExpr = function (ast, context) {
  2524. var _this = this;
  2525. ast.entries.forEach(function (entry) { return entry[1].visitExpression(_this, context); });
  2526. return ast;
  2527. };
  2528. RecursiveExpressionVisitor.prototype.visitAllExpressions = function (exprs, context) {
  2529. var _this = this;
  2530. exprs.forEach(function (expr) { return expr.visitExpression(_this, context); });
  2531. };
  2532. RecursiveExpressionVisitor.prototype.visitDeclareVarStmt = function (stmt, context) {
  2533. stmt.value.visitExpression(this, context);
  2534. return stmt;
  2535. };
  2536. RecursiveExpressionVisitor.prototype.visitDeclareFunctionStmt = function (stmt, context) {
  2537. // Don't descend into nested functions
  2538. return stmt;
  2539. };
  2540. RecursiveExpressionVisitor.prototype.visitExpressionStmt = function (stmt, context) {
  2541. stmt.expr.visitExpression(this, context);
  2542. return stmt;
  2543. };
  2544. RecursiveExpressionVisitor.prototype.visitReturnStmt = function (stmt, context) {
  2545. stmt.value.visitExpression(this, context);
  2546. return stmt;
  2547. };
  2548. RecursiveExpressionVisitor.prototype.visitDeclareClassStmt = function (stmt, context) {
  2549. // Don't descend into nested functions
  2550. return stmt;
  2551. };
  2552. RecursiveExpressionVisitor.prototype.visitIfStmt = function (stmt, context) {
  2553. stmt.condition.visitExpression(this, context);
  2554. this.visitAllStatements(stmt.trueCase, context);
  2555. this.visitAllStatements(stmt.falseCase, context);
  2556. return stmt;
  2557. };
  2558. RecursiveExpressionVisitor.prototype.visitTryCatchStmt = function (stmt, context) {
  2559. this.visitAllStatements(stmt.bodyStmts, context);
  2560. this.visitAllStatements(stmt.catchStmts, context);
  2561. return stmt;
  2562. };
  2563. RecursiveExpressionVisitor.prototype.visitThrowStmt = function (stmt, context) {
  2564. stmt.error.visitExpression(this, context);
  2565. return stmt;
  2566. };
  2567. RecursiveExpressionVisitor.prototype.visitCommentStmt = function (stmt, context) { return stmt; };
  2568. RecursiveExpressionVisitor.prototype.visitAllStatements = function (stmts, context) {
  2569. var _this = this;
  2570. stmts.forEach(function (stmt) { return stmt.visitStatement(_this, context); });
  2571. };
  2572. return RecursiveExpressionVisitor;
  2573. }());
  2574. function replaceVarInExpression(varName, newValue, expression) {
  2575. var transformer = new _ReplaceVariableTransformer(varName, newValue);
  2576. return expression.visitExpression(transformer, null);
  2577. }
  2578. var _ReplaceVariableTransformer = (function (_super) {
  2579. __extends(_ReplaceVariableTransformer, _super);
  2580. function _ReplaceVariableTransformer(_varName, _newValue) {
  2581. _super.call(this);
  2582. this._varName = _varName;
  2583. this._newValue = _newValue;
  2584. }
  2585. _ReplaceVariableTransformer.prototype.visitReadVarExpr = function (ast, context) {
  2586. return ast.name == this._varName ? this._newValue : ast;
  2587. };
  2588. return _ReplaceVariableTransformer;
  2589. }(ExpressionTransformer));
  2590. function findReadVarNames(stmts) {
  2591. var finder = new _VariableFinder();
  2592. finder.visitAllStatements(stmts, null);
  2593. return finder.varNames;
  2594. }
  2595. var _VariableFinder = (function (_super) {
  2596. __extends(_VariableFinder, _super);
  2597. function _VariableFinder() {
  2598. _super.apply(this, arguments);
  2599. this.varNames = new Set();
  2600. }
  2601. _VariableFinder.prototype.visitReadVarExpr = function (ast, context) {
  2602. this.varNames.add(ast.name);
  2603. return null;
  2604. };
  2605. return _VariableFinder;
  2606. }(RecursiveExpressionVisitor));
  2607. function variable(name, type) {
  2608. if (type === void 0) { type = null; }
  2609. return new ReadVarExpr(name, type);
  2610. }
  2611. function importExpr(id, typeParams) {
  2612. if (typeParams === void 0) { typeParams = null; }
  2613. return new ExternalExpr(id, null, typeParams);
  2614. }
  2615. function importType(id, typeParams, typeModifiers) {
  2616. if (typeParams === void 0) { typeParams = null; }
  2617. if (typeModifiers === void 0) { typeModifiers = null; }
  2618. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(id) ? new ExternalType(id, typeParams, typeModifiers) : null;
  2619. }
  2620. function literalArr(values, type) {
  2621. if (type === void 0) { type = null; }
  2622. return new LiteralArrayExpr(values, type);
  2623. }
  2624. function literalMap(values, type) {
  2625. if (type === void 0) { type = null; }
  2626. return new LiteralMapExpr(values, type);
  2627. }
  2628. function not(expr) {
  2629. return new NotExpr(expr);
  2630. }
  2631. function fn(params, body, type) {
  2632. if (type === void 0) { type = null; }
  2633. return new FunctionExpr(params, body, type);
  2634. }
  2635. function literal(value, type) {
  2636. if (type === void 0) { type = null; }
  2637. return new LiteralExpr(value, type);
  2638. }
  2639. //# sourceMappingURL=output_ast.js.map
  2640. /***/ },
  2641. /* 13 */
  2642. /***/ function(module, exports, __webpack_require__) {
  2643. "use strict";
  2644. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lang__ = __webpack_require__(4);
  2645. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return MapWrapper; });
  2646. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return StringMapWrapper; });
  2647. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ListWrapper; });
  2648. /* unused harmony export isListLikeIterable */
  2649. /* unused harmony export areIterablesEqual */
  2650. /* unused harmony export iterateListLike */
  2651. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return SetWrapper; });
  2652. /**
  2653. * @license
  2654. * Copyright Google Inc. All Rights Reserved.
  2655. *
  2656. * Use of this source code is governed by an MIT-style license that can be
  2657. * found in the LICENSE file at https://angular.io/license
  2658. */
  2659. // Safari and Internet Explorer do not support the iterable parameter to the
  2660. // Map constructor. We work around that by manually adding the items.
  2661. var createMapFromPairs = (function () {
  2662. try {
  2663. if (new Map([[1, 2]]).size === 1) {
  2664. return function createMapFromPairs(pairs) { return new Map(pairs); };
  2665. }
  2666. }
  2667. catch (e) {
  2668. }
  2669. return function createMapAndPopulateFromPairs(pairs) {
  2670. var map = new Map();
  2671. for (var i = 0; i < pairs.length; i++) {
  2672. var pair = pairs[i];
  2673. map.set(pair[0], pair[1]);
  2674. }
  2675. return map;
  2676. };
  2677. })();
  2678. var createMapFromMap = (function () {
  2679. try {
  2680. if (new Map(new Map())) {
  2681. return function createMapFromMap(m) { return new Map(m); };
  2682. }
  2683. }
  2684. catch (e) {
  2685. }
  2686. return function createMapAndPopulateFromMap(m) {
  2687. var map = new Map();
  2688. m.forEach(function (v, k) { map.set(k, v); });
  2689. return map;
  2690. };
  2691. })();
  2692. var _clearValues = (function () {
  2693. if ((new Map()).keys().next) {
  2694. return function _clearValues(m) {
  2695. var keyIterator = m.keys();
  2696. var k;
  2697. while (!((k = keyIterator.next()).done)) {
  2698. m.set(k.value, null);
  2699. }
  2700. };
  2701. }
  2702. else {
  2703. return function _clearValuesWithForeEach(m) {
  2704. m.forEach(function (v, k) { m.set(k, null); });
  2705. };
  2706. }
  2707. })();
  2708. // Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from
  2709. // TODO(mlaval): remove the work around once we have a working polyfill of Array.from
  2710. var _arrayFromMap = (function () {
  2711. try {
  2712. if ((new Map()).values().next) {
  2713. return function createArrayFromMap(m, getValues) {
  2714. return getValues ? Array.from(m.values()) : Array.from(m.keys());
  2715. };
  2716. }
  2717. }
  2718. catch (e) {
  2719. }
  2720. return function createArrayFromMapWithForeach(m, getValues) {
  2721. var res = new Array(m.size), i = 0;
  2722. m.forEach(function (v, k) {
  2723. res[i] = getValues ? v : k;
  2724. i++;
  2725. });
  2726. return res;
  2727. };
  2728. })();
  2729. var MapWrapper = (function () {
  2730. function MapWrapper() {
  2731. }
  2732. MapWrapper.createFromStringMap = function (stringMap) {
  2733. var result = new Map();
  2734. for (var prop in stringMap) {
  2735. result.set(prop, stringMap[prop]);
  2736. }
  2737. return result;
  2738. };
  2739. MapWrapper.toStringMap = function (m) {
  2740. var r = {};
  2741. m.forEach(function (v, k) { return r[k] = v; });
  2742. return r;
  2743. };
  2744. MapWrapper.createFromPairs = function (pairs) { return createMapFromPairs(pairs); };
  2745. MapWrapper.iterable = function (m) { return m; };
  2746. MapWrapper.keys = function (m) { return _arrayFromMap(m, false); };
  2747. MapWrapper.values = function (m) { return _arrayFromMap(m, true); };
  2748. return MapWrapper;
  2749. }());
  2750. /**
  2751. * Wraps Javascript Objects
  2752. */
  2753. var StringMapWrapper = (function () {
  2754. function StringMapWrapper() {
  2755. }
  2756. StringMapWrapper.get = function (map, key) {
  2757. return map.hasOwnProperty(key) ? map[key] : undefined;
  2758. };
  2759. StringMapWrapper.set = function (map, key, value) { map[key] = value; };
  2760. StringMapWrapper.keys = function (map) { return Object.keys(map); };
  2761. StringMapWrapper.values = function (map) {
  2762. return Object.keys(map).map(function (k) { return map[k]; });
  2763. };
  2764. StringMapWrapper.isEmpty = function (map) {
  2765. for (var prop in map) {
  2766. return false;
  2767. }
  2768. return true;
  2769. };
  2770. StringMapWrapper.forEach = function (map, callback) {
  2771. for (var _i = 0, _a = Object.keys(map); _i < _a.length; _i++) {
  2772. var k = _a[_i];
  2773. callback(map[k], k);
  2774. }
  2775. };
  2776. StringMapWrapper.merge = function (m1, m2) {
  2777. var m = {};
  2778. for (var _i = 0, _a = Object.keys(m1); _i < _a.length; _i++) {
  2779. var k = _a[_i];
  2780. m[k] = m1[k];
  2781. }
  2782. for (var _b = 0, _c = Object.keys(m2); _b < _c.length; _b++) {
  2783. var k = _c[_b];
  2784. m[k] = m2[k];
  2785. }
  2786. return m;
  2787. };
  2788. StringMapWrapper.equals = function (m1, m2) {
  2789. var k1 = Object.keys(m1);
  2790. var k2 = Object.keys(m2);
  2791. if (k1.length != k2.length) {
  2792. return false;
  2793. }
  2794. for (var i = 0; i < k1.length; i++) {
  2795. var key = k1[i];
  2796. if (m1[key] !== m2[key]) {
  2797. return false;
  2798. }
  2799. }
  2800. return true;
  2801. };
  2802. return StringMapWrapper;
  2803. }());
  2804. var ListWrapper = (function () {
  2805. function ListWrapper() {
  2806. }
  2807. // JS has no way to express a statically fixed size list, but dart does so we
  2808. // keep both methods.
  2809. ListWrapper.createFixedSize = function (size) { return new Array(size); };
  2810. ListWrapper.createGrowableSize = function (size) { return new Array(size); };
  2811. ListWrapper.clone = function (array) { return array.slice(0); };
  2812. ListWrapper.forEachWithIndex = function (array, fn) {
  2813. for (var i = 0; i < array.length; i++) {
  2814. fn(array[i], i);
  2815. }
  2816. };
  2817. ListWrapper.first = function (array) {
  2818. if (!array)
  2819. return null;
  2820. return array[0];
  2821. };
  2822. ListWrapper.last = function (array) {
  2823. if (!array || array.length == 0)
  2824. return null;
  2825. return array[array.length - 1];
  2826. };
  2827. ListWrapper.indexOf = function (array, value, startIndex) {
  2828. if (startIndex === void 0) { startIndex = 0; }
  2829. return array.indexOf(value, startIndex);
  2830. };
  2831. ListWrapper.contains = function (list, el) { return list.indexOf(el) !== -1; };
  2832. ListWrapper.reversed = function (array) {
  2833. var a = ListWrapper.clone(array);
  2834. return a.reverse();
  2835. };
  2836. ListWrapper.concat = function (a, b) { return a.concat(b); };
  2837. ListWrapper.insert = function (list, index, value) { list.splice(index, 0, value); };
  2838. ListWrapper.removeAt = function (list, index) {
  2839. var res = list[index];
  2840. list.splice(index, 1);
  2841. return res;
  2842. };
  2843. ListWrapper.removeAll = function (list, items) {
  2844. for (var i = 0; i < items.length; ++i) {
  2845. var index = list.indexOf(items[i]);
  2846. list.splice(index, 1);
  2847. }
  2848. };
  2849. ListWrapper.remove = function (list, el) {
  2850. var index = list.indexOf(el);
  2851. if (index > -1) {
  2852. list.splice(index, 1);
  2853. return true;
  2854. }
  2855. return false;
  2856. };
  2857. ListWrapper.clear = function (list) { list.length = 0; };
  2858. ListWrapper.isEmpty = function (list) { return list.length == 0; };
  2859. ListWrapper.fill = function (list, value, start, end) {
  2860. if (start === void 0) { start = 0; }
  2861. if (end === void 0) { end = null; }
  2862. list.fill(value, start, end === null ? list.length : end);
  2863. };
  2864. ListWrapper.equals = function (a, b) {
  2865. if (a.length != b.length)
  2866. return false;
  2867. for (var i = 0; i < a.length; ++i) {
  2868. if (a[i] !== b[i])
  2869. return false;
  2870. }
  2871. return true;
  2872. };
  2873. ListWrapper.slice = function (l, from, to) {
  2874. if (from === void 0) { from = 0; }
  2875. if (to === void 0) { to = null; }
  2876. return l.slice(from, to === null ? undefined : to);
  2877. };
  2878. ListWrapper.splice = function (l, from, length) { return l.splice(from, length); };
  2879. ListWrapper.sort = function (l, compareFn) {
  2880. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["a" /* isPresent */])(compareFn)) {
  2881. l.sort(compareFn);
  2882. }
  2883. else {
  2884. l.sort();
  2885. }
  2886. };
  2887. ListWrapper.toString = function (l) { return l.toString(); };
  2888. ListWrapper.toJSON = function (l) { return JSON.stringify(l); };
  2889. ListWrapper.maximum = function (list, predicate) {
  2890. if (list.length == 0) {
  2891. return null;
  2892. }
  2893. var solution = null;
  2894. var maxValue = -Infinity;
  2895. for (var index = 0; index < list.length; index++) {
  2896. var candidate = list[index];
  2897. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["b" /* isBlank */])(candidate)) {
  2898. continue;
  2899. }
  2900. var candidateValue = predicate(candidate);
  2901. if (candidateValue > maxValue) {
  2902. solution = candidate;
  2903. maxValue = candidateValue;
  2904. }
  2905. }
  2906. return solution;
  2907. };
  2908. ListWrapper.flatten = function (list) {
  2909. var target = [];
  2910. _flattenArray(list, target);
  2911. return target;
  2912. };
  2913. ListWrapper.addAll = function (list, source) {
  2914. for (var i = 0; i < source.length; i++) {
  2915. list.push(source[i]);
  2916. }
  2917. };
  2918. return ListWrapper;
  2919. }());
  2920. function _flattenArray(source, target) {
  2921. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["a" /* isPresent */])(source)) {
  2922. for (var i = 0; i < source.length; i++) {
  2923. var item = source[i];
  2924. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["c" /* isArray */])(item)) {
  2925. _flattenArray(item, target);
  2926. }
  2927. else {
  2928. target.push(item);
  2929. }
  2930. }
  2931. }
  2932. return target;
  2933. }
  2934. function isListLikeIterable(obj) {
  2935. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["d" /* isJsObject */])(obj))
  2936. return false;
  2937. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["c" /* isArray */])(obj) ||
  2938. (!(obj instanceof Map) &&
  2939. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])() in obj); // JS Iterable have a Symbol.iterator prop
  2940. }
  2941. function areIterablesEqual(a, b, comparator) {
  2942. var iterator1 = a[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])()]();
  2943. var iterator2 = b[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])()]();
  2944. while (true) {
  2945. var item1 = iterator1.next();
  2946. var item2 = iterator2.next();
  2947. if (item1.done && item2.done)
  2948. return true;
  2949. if (item1.done || item2.done)
  2950. return false;
  2951. if (!comparator(item1.value, item2.value))
  2952. return false;
  2953. }
  2954. }
  2955. function iterateListLike(obj, fn) {
  2956. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["c" /* isArray */])(obj)) {
  2957. for (var i = 0; i < obj.length; i++) {
  2958. fn(obj[i]);
  2959. }
  2960. }
  2961. else {
  2962. var iterator = obj[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])()]();
  2963. var item;
  2964. while (!((item = iterator.next()).done)) {
  2965. fn(item.value);
  2966. }
  2967. }
  2968. }
  2969. // Safari and Internet Explorer do not support the iterable parameter to the
  2970. // Set constructor. We work around that by manually adding the items.
  2971. var createSetFromList = (function () {
  2972. var test = new Set([1, 2, 3]);
  2973. if (test.size === 3) {
  2974. return function createSetFromList(lst) { return new Set(lst); };
  2975. }
  2976. else {
  2977. return function createSetAndPopulateFromList(lst) {
  2978. var res = new Set(lst);
  2979. if (res.size !== lst.length) {
  2980. for (var i = 0; i < lst.length; i++) {
  2981. res.add(lst[i]);
  2982. }
  2983. }
  2984. return res;
  2985. };
  2986. }
  2987. })();
  2988. var SetWrapper = (function () {
  2989. function SetWrapper() {
  2990. }
  2991. SetWrapper.createFromList = function (lst) { return createSetFromList(lst); };
  2992. SetWrapper.has = function (s, key) { return s.has(key); };
  2993. SetWrapper.delete = function (m, k) { m.delete(k); };
  2994. return SetWrapper;
  2995. }());
  2996. //# sourceMappingURL=collection.js.map
  2997. /***/ },
  2998. /* 14 */
  2999. /***/ function(module, exports, __webpack_require__) {
  3000. var store = __webpack_require__(165)('wks')
  3001. , uid = __webpack_require__(81)
  3002. , Symbol = __webpack_require__(11).Symbol
  3003. , USE_SYMBOL = typeof Symbol == 'function';
  3004. var $exports = module.exports = function(name){
  3005. return store[name] || (store[name] =
  3006. USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
  3007. };
  3008. $exports.store = store;
  3009. /***/ },
  3010. /* 15 */
  3011. /***/ function(module, exports, __webpack_require__) {
  3012. "use strict";
  3013. "use strict";
  3014. var __extends = (this && this.__extends) || function (d, b) {
  3015. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  3016. function __() { this.constructor = d; }
  3017. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  3018. };
  3019. var Observable_1 = __webpack_require__(0);
  3020. var Subscriber_1 = __webpack_require__(3);
  3021. var Subscription_1 = __webpack_require__(22);
  3022. var ObjectUnsubscribedError_1 = __webpack_require__(265);
  3023. var SubjectSubscription_1 = __webpack_require__(697);
  3024. var rxSubscriber_1 = __webpack_require__(174);
  3025. /**
  3026. * @class SubjectSubscriber<T>
  3027. */
  3028. var SubjectSubscriber = (function (_super) {
  3029. __extends(SubjectSubscriber, _super);
  3030. function SubjectSubscriber(destination) {
  3031. _super.call(this, destination);
  3032. this.destination = destination;
  3033. }
  3034. return SubjectSubscriber;
  3035. }(Subscriber_1.Subscriber));
  3036. exports.SubjectSubscriber = SubjectSubscriber;
  3037. /**
  3038. * @class Subject<T>
  3039. */
  3040. var Subject = (function (_super) {
  3041. __extends(Subject, _super);
  3042. function Subject() {
  3043. _super.call(this);
  3044. this.observers = [];
  3045. this.closed = false;
  3046. this.isStopped = false;
  3047. this.hasError = false;
  3048. this.thrownError = null;
  3049. }
  3050. Subject.prototype[rxSubscriber_1.$$rxSubscriber] = function () {
  3051. return new SubjectSubscriber(this);
  3052. };
  3053. Subject.prototype.lift = function (operator) {
  3054. var subject = new AnonymousSubject(this, this);
  3055. subject.operator = operator;
  3056. return subject;
  3057. };
  3058. Subject.prototype.next = function (value) {
  3059. if (this.closed) {
  3060. throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();
  3061. }
  3062. if (!this.isStopped) {
  3063. var observers = this.observers;
  3064. var len = observers.length;
  3065. var copy = observers.slice();
  3066. for (var i = 0; i < len; i++) {
  3067. copy[i].next(value);
  3068. }
  3069. }
  3070. };
  3071. Subject.prototype.error = function (err) {
  3072. if (this.closed) {
  3073. throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();
  3074. }
  3075. this.hasError = true;
  3076. this.thrownError = err;
  3077. this.isStopped = true;
  3078. var observers = this.observers;
  3079. var len = observers.length;
  3080. var copy = observers.slice();
  3081. for (var i = 0; i < len; i++) {
  3082. copy[i].error(err);
  3083. }
  3084. this.observers.length = 0;
  3085. };
  3086. Subject.prototype.complete = function () {
  3087. if (this.closed) {
  3088. throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();
  3089. }
  3090. this.isStopped = true;
  3091. var observers = this.observers;
  3092. var len = observers.length;
  3093. var copy = observers.slice();
  3094. for (var i = 0; i < len; i++) {
  3095. copy[i].complete();
  3096. }
  3097. this.observers.length = 0;
  3098. };
  3099. Subject.prototype.unsubscribe = function () {
  3100. this.isStopped = true;
  3101. this.closed = true;
  3102. this.observers = null;
  3103. };
  3104. Subject.prototype._subscribe = function (subscriber) {
  3105. if (this.closed) {
  3106. throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();
  3107. }
  3108. else if (this.hasError) {
  3109. subscriber.error(this.thrownError);
  3110. return Subscription_1.Subscription.EMPTY;
  3111. }
  3112. else if (this.isStopped) {
  3113. subscriber.complete();
  3114. return Subscription_1.Subscription.EMPTY;
  3115. }
  3116. else {
  3117. this.observers.push(subscriber);
  3118. return new SubjectSubscription_1.SubjectSubscription(this, subscriber);
  3119. }
  3120. };
  3121. Subject.prototype.asObservable = function () {
  3122. var observable = new Observable_1.Observable();
  3123. observable.source = this;
  3124. return observable;
  3125. };
  3126. Subject.create = function (destination, source) {
  3127. return new AnonymousSubject(destination, source);
  3128. };
  3129. return Subject;
  3130. }(Observable_1.Observable));
  3131. exports.Subject = Subject;
  3132. /**
  3133. * @class AnonymousSubject<T>
  3134. */
  3135. var AnonymousSubject = (function (_super) {
  3136. __extends(AnonymousSubject, _super);
  3137. function AnonymousSubject(destination, source) {
  3138. _super.call(this);
  3139. this.destination = destination;
  3140. this.source = source;
  3141. }
  3142. AnonymousSubject.prototype.next = function (value) {
  3143. var destination = this.destination;
  3144. if (destination && destination.next) {
  3145. destination.next(value);
  3146. }
  3147. };
  3148. AnonymousSubject.prototype.error = function (err) {
  3149. var destination = this.destination;
  3150. if (destination && destination.error) {
  3151. this.destination.error(err);
  3152. }
  3153. };
  3154. AnonymousSubject.prototype.complete = function () {
  3155. var destination = this.destination;
  3156. if (destination && destination.complete) {
  3157. this.destination.complete();
  3158. }
  3159. };
  3160. AnonymousSubject.prototype._subscribe = function (subscriber) {
  3161. var source = this.source;
  3162. if (source) {
  3163. return this.source.subscribe(subscriber);
  3164. }
  3165. else {
  3166. return Subscription_1.Subscription.EMPTY;
  3167. }
  3168. };
  3169. return AnonymousSubject;
  3170. }(Subject));
  3171. exports.AnonymousSubject = AnonymousSubject;
  3172. //# sourceMappingURL=Subject.js.map
  3173. /***/ },
  3174. /* 16 */
  3175. /***/ function(module, exports, __webpack_require__) {
  3176. "use strict";
  3177. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lang__ = __webpack_require__(5);
  3178. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return MapWrapper; });
  3179. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return StringMapWrapper; });
  3180. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ListWrapper; });
  3181. /* harmony export (immutable) */ exports["e"] = isListLikeIterable;
  3182. /* harmony export (immutable) */ exports["g"] = areIterablesEqual;
  3183. /* harmony export (immutable) */ exports["f"] = iterateListLike;
  3184. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return SetWrapper; });
  3185. /**
  3186. * @license
  3187. * Copyright Google Inc. All Rights Reserved.
  3188. *
  3189. * Use of this source code is governed by an MIT-style license that can be
  3190. * found in the LICENSE file at https://angular.io/license
  3191. */
  3192. // Safari and Internet Explorer do not support the iterable parameter to the
  3193. // Map constructor. We work around that by manually adding the items.
  3194. var createMapFromPairs = (function () {
  3195. try {
  3196. if (new Map([[1, 2]]).size === 1) {
  3197. return function createMapFromPairs(pairs) { return new Map(pairs); };
  3198. }
  3199. }
  3200. catch (e) {
  3201. }
  3202. return function createMapAndPopulateFromPairs(pairs) {
  3203. var map = new Map();
  3204. for (var i = 0; i < pairs.length; i++) {
  3205. var pair = pairs[i];
  3206. map.set(pair[0], pair[1]);
  3207. }
  3208. return map;
  3209. };
  3210. })();
  3211. var createMapFromMap = (function () {
  3212. try {
  3213. if (new Map(new Map())) {
  3214. return function createMapFromMap(m) { return new Map(m); };
  3215. }
  3216. }
  3217. catch (e) {
  3218. }
  3219. return function createMapAndPopulateFromMap(m) {
  3220. var map = new Map();
  3221. m.forEach(function (v, k) { map.set(k, v); });
  3222. return map;
  3223. };
  3224. })();
  3225. var _clearValues = (function () {
  3226. if ((new Map()).keys().next) {
  3227. return function _clearValues(m) {
  3228. var keyIterator = m.keys();
  3229. var k;
  3230. while (!((k = keyIterator.next()).done)) {
  3231. m.set(k.value, null);
  3232. }
  3233. };
  3234. }
  3235. else {
  3236. return function _clearValuesWithForeEach(m) {
  3237. m.forEach(function (v, k) { m.set(k, null); });
  3238. };
  3239. }
  3240. })();
  3241. // Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from
  3242. // TODO(mlaval): remove the work around once we have a working polyfill of Array.from
  3243. var _arrayFromMap = (function () {
  3244. try {
  3245. if ((new Map()).values().next) {
  3246. return function createArrayFromMap(m, getValues) {
  3247. return getValues ? Array.from(m.values()) : Array.from(m.keys());
  3248. };
  3249. }
  3250. }
  3251. catch (e) {
  3252. }
  3253. return function createArrayFromMapWithForeach(m, getValues) {
  3254. var res = new Array(m.size), i = 0;
  3255. m.forEach(function (v, k) {
  3256. res[i] = getValues ? v : k;
  3257. i++;
  3258. });
  3259. return res;
  3260. };
  3261. })();
  3262. var MapWrapper = (function () {
  3263. function MapWrapper() {
  3264. }
  3265. MapWrapper.createFromStringMap = function (stringMap) {
  3266. var result = new Map();
  3267. for (var prop in stringMap) {
  3268. result.set(prop, stringMap[prop]);
  3269. }
  3270. return result;
  3271. };
  3272. MapWrapper.toStringMap = function (m) {
  3273. var r = {};
  3274. m.forEach(function (v, k) { return r[k] = v; });
  3275. return r;
  3276. };
  3277. MapWrapper.createFromPairs = function (pairs) { return createMapFromPairs(pairs); };
  3278. MapWrapper.iterable = function (m) { return m; };
  3279. MapWrapper.keys = function (m) { return _arrayFromMap(m, false); };
  3280. MapWrapper.values = function (m) { return _arrayFromMap(m, true); };
  3281. return MapWrapper;
  3282. }());
  3283. /**
  3284. * Wraps Javascript Objects
  3285. */
  3286. var StringMapWrapper = (function () {
  3287. function StringMapWrapper() {
  3288. }
  3289. StringMapWrapper.get = function (map, key) {
  3290. return map.hasOwnProperty(key) ? map[key] : undefined;
  3291. };
  3292. StringMapWrapper.set = function (map, key, value) { map[key] = value; };
  3293. StringMapWrapper.keys = function (map) { return Object.keys(map); };
  3294. StringMapWrapper.values = function (map) {
  3295. return Object.keys(map).map(function (k) { return map[k]; });
  3296. };
  3297. StringMapWrapper.isEmpty = function (map) {
  3298. for (var prop in map) {
  3299. return false;
  3300. }
  3301. return true;
  3302. };
  3303. StringMapWrapper.forEach = function (map, callback) {
  3304. for (var _i = 0, _a = Object.keys(map); _i < _a.length; _i++) {
  3305. var k = _a[_i];
  3306. callback(map[k], k);
  3307. }
  3308. };
  3309. StringMapWrapper.merge = function (m1, m2) {
  3310. var m = {};
  3311. for (var _i = 0, _a = Object.keys(m1); _i < _a.length; _i++) {
  3312. var k = _a[_i];
  3313. m[k] = m1[k];
  3314. }
  3315. for (var _b = 0, _c = Object.keys(m2); _b < _c.length; _b++) {
  3316. var k = _c[_b];
  3317. m[k] = m2[k];
  3318. }
  3319. return m;
  3320. };
  3321. StringMapWrapper.equals = function (m1, m2) {
  3322. var k1 = Object.keys(m1);
  3323. var k2 = Object.keys(m2);
  3324. if (k1.length != k2.length) {
  3325. return false;
  3326. }
  3327. for (var i = 0; i < k1.length; i++) {
  3328. var key = k1[i];
  3329. if (m1[key] !== m2[key]) {
  3330. return false;
  3331. }
  3332. }
  3333. return true;
  3334. };
  3335. return StringMapWrapper;
  3336. }());
  3337. var ListWrapper = (function () {
  3338. function ListWrapper() {
  3339. }
  3340. // JS has no way to express a statically fixed size list, but dart does so we
  3341. // keep both methods.
  3342. ListWrapper.createFixedSize = function (size) { return new Array(size); };
  3343. ListWrapper.createGrowableSize = function (size) { return new Array(size); };
  3344. ListWrapper.clone = function (array) { return array.slice(0); };
  3345. ListWrapper.forEachWithIndex = function (array, fn) {
  3346. for (var i = 0; i < array.length; i++) {
  3347. fn(array[i], i);
  3348. }
  3349. };
  3350. ListWrapper.first = function (array) {
  3351. if (!array)
  3352. return null;
  3353. return array[0];
  3354. };
  3355. ListWrapper.last = function (array) {
  3356. if (!array || array.length == 0)
  3357. return null;
  3358. return array[array.length - 1];
  3359. };
  3360. ListWrapper.indexOf = function (array, value, startIndex) {
  3361. if (startIndex === void 0) { startIndex = 0; }
  3362. return array.indexOf(value, startIndex);
  3363. };
  3364. ListWrapper.contains = function (list, el) { return list.indexOf(el) !== -1; };
  3365. ListWrapper.reversed = function (array) {
  3366. var a = ListWrapper.clone(array);
  3367. return a.reverse();
  3368. };
  3369. ListWrapper.concat = function (a, b) { return a.concat(b); };
  3370. ListWrapper.insert = function (list, index, value) { list.splice(index, 0, value); };
  3371. ListWrapper.removeAt = function (list, index) {
  3372. var res = list[index];
  3373. list.splice(index, 1);
  3374. return res;
  3375. };
  3376. ListWrapper.removeAll = function (list, items) {
  3377. for (var i = 0; i < items.length; ++i) {
  3378. var index = list.indexOf(items[i]);
  3379. list.splice(index, 1);
  3380. }
  3381. };
  3382. ListWrapper.remove = function (list, el) {
  3383. var index = list.indexOf(el);
  3384. if (index > -1) {
  3385. list.splice(index, 1);
  3386. return true;
  3387. }
  3388. return false;
  3389. };
  3390. ListWrapper.clear = function (list) { list.length = 0; };
  3391. ListWrapper.isEmpty = function (list) { return list.length == 0; };
  3392. ListWrapper.fill = function (list, value, start, end) {
  3393. if (start === void 0) { start = 0; }
  3394. if (end === void 0) { end = null; }
  3395. list.fill(value, start, end === null ? list.length : end);
  3396. };
  3397. ListWrapper.equals = function (a, b) {
  3398. if (a.length != b.length)
  3399. return false;
  3400. for (var i = 0; i < a.length; ++i) {
  3401. if (a[i] !== b[i])
  3402. return false;
  3403. }
  3404. return true;
  3405. };
  3406. ListWrapper.slice = function (l, from, to) {
  3407. if (from === void 0) { from = 0; }
  3408. if (to === void 0) { to = null; }
  3409. return l.slice(from, to === null ? undefined : to);
  3410. };
  3411. ListWrapper.splice = function (l, from, length) { return l.splice(from, length); };
  3412. ListWrapper.sort = function (l, compareFn) {
  3413. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* isPresent */])(compareFn)) {
  3414. l.sort(compareFn);
  3415. }
  3416. else {
  3417. l.sort();
  3418. }
  3419. };
  3420. ListWrapper.toString = function (l) { return l.toString(); };
  3421. ListWrapper.toJSON = function (l) { return JSON.stringify(l); };
  3422. ListWrapper.maximum = function (list, predicate) {
  3423. if (list.length == 0) {
  3424. return null;
  3425. }
  3426. var solution = null;
  3427. var maxValue = -Infinity;
  3428. for (var index = 0; index < list.length; index++) {
  3429. var candidate = list[index];
  3430. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["d" /* isBlank */])(candidate)) {
  3431. continue;
  3432. }
  3433. var candidateValue = predicate(candidate);
  3434. if (candidateValue > maxValue) {
  3435. solution = candidate;
  3436. maxValue = candidateValue;
  3437. }
  3438. }
  3439. return solution;
  3440. };
  3441. ListWrapper.flatten = function (list) {
  3442. var target = [];
  3443. _flattenArray(list, target);
  3444. return target;
  3445. };
  3446. ListWrapper.addAll = function (list, source) {
  3447. for (var i = 0; i < source.length; i++) {
  3448. list.push(source[i]);
  3449. }
  3450. };
  3451. return ListWrapper;
  3452. }());
  3453. function _flattenArray(source, target) {
  3454. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* isPresent */])(source)) {
  3455. for (var i = 0; i < source.length; i++) {
  3456. var item = source[i];
  3457. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["f" /* isArray */])(item)) {
  3458. _flattenArray(item, target);
  3459. }
  3460. else {
  3461. target.push(item);
  3462. }
  3463. }
  3464. }
  3465. return target;
  3466. }
  3467. function isListLikeIterable(obj) {
  3468. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["g" /* isJsObject */])(obj))
  3469. return false;
  3470. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["f" /* isArray */])(obj) ||
  3471. (!(obj instanceof Map) &&
  3472. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["h" /* getSymbolIterator */])() in obj); // JS Iterable have a Symbol.iterator prop
  3473. }
  3474. function areIterablesEqual(a, b, comparator) {
  3475. var iterator1 = a[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["h" /* getSymbolIterator */])()]();
  3476. var iterator2 = b[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["h" /* getSymbolIterator */])()]();
  3477. while (true) {
  3478. var item1 = iterator1.next();
  3479. var item2 = iterator2.next();
  3480. if (item1.done && item2.done)
  3481. return true;
  3482. if (item1.done || item2.done)
  3483. return false;
  3484. if (!comparator(item1.value, item2.value))
  3485. return false;
  3486. }
  3487. }
  3488. function iterateListLike(obj, fn) {
  3489. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["f" /* isArray */])(obj)) {
  3490. for (var i = 0; i < obj.length; i++) {
  3491. fn(obj[i]);
  3492. }
  3493. }
  3494. else {
  3495. var iterator = obj[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["h" /* getSymbolIterator */])()]();
  3496. var item;
  3497. while (!((item = iterator.next()).done)) {
  3498. fn(item.value);
  3499. }
  3500. }
  3501. }
  3502. // Safari and Internet Explorer do not support the iterable parameter to the
  3503. // Set constructor. We work around that by manually adding the items.
  3504. var createSetFromList = (function () {
  3505. var test = new Set([1, 2, 3]);
  3506. if (test.size === 3) {
  3507. return function createSetFromList(lst) { return new Set(lst); };
  3508. }
  3509. else {
  3510. return function createSetAndPopulateFromList(lst) {
  3511. var res = new Set(lst);
  3512. if (res.size !== lst.length) {
  3513. for (var i = 0; i < lst.length; i++) {
  3514. res.add(lst[i]);
  3515. }
  3516. }
  3517. return res;
  3518. };
  3519. }
  3520. })();
  3521. var SetWrapper = (function () {
  3522. function SetWrapper() {
  3523. }
  3524. SetWrapper.createFromList = function (lst) { return createSetFromList(lst); };
  3525. SetWrapper.has = function (s, key) { return s.has(key); };
  3526. SetWrapper.delete = function (m, k) { m.delete(k); };
  3527. return SetWrapper;
  3528. }());
  3529. //# sourceMappingURL=collection.js.map
  3530. /***/ },
  3531. /* 17 */
  3532. /***/ function(module, exports, __webpack_require__) {
  3533. var anObject = __webpack_require__(8)
  3534. , IE8_DOM_DEFINE = __webpack_require__(367)
  3535. , toPrimitive = __webpack_require__(73)
  3536. , dP = Object.defineProperty;
  3537. exports.f = __webpack_require__(21) ? Object.defineProperty : function defineProperty(O, P, Attributes){
  3538. anObject(O);
  3539. P = toPrimitive(P, true);
  3540. anObject(Attributes);
  3541. if(IE8_DOM_DEFINE)try {
  3542. return dP(O, P, Attributes);
  3543. } catch(e){ /* empty */ }
  3544. if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');
  3545. if('value' in Attributes)O[P] = Attributes.value;
  3546. return O;
  3547. };
  3548. /***/ },
  3549. /* 18 */
  3550. /***/ function(module, exports, __webpack_require__) {
  3551. "use strict";
  3552. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(31);
  3553. /* harmony export (immutable) */ exports["a"] = getDOM;
  3554. /* unused harmony export setDOM */
  3555. /* harmony export (immutable) */ exports["c"] = setRootDomAdapter;
  3556. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return DomAdapter; });
  3557. /**
  3558. * @license
  3559. * Copyright Google Inc. All Rights Reserved.
  3560. *
  3561. * Use of this source code is governed by an MIT-style license that can be
  3562. * found in the LICENSE file at https://angular.io/license
  3563. */
  3564. var _DOM = null;
  3565. function getDOM() {
  3566. return _DOM;
  3567. }
  3568. function setDOM(adapter) {
  3569. _DOM = adapter;
  3570. }
  3571. function setRootDomAdapter(adapter) {
  3572. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(_DOM)) {
  3573. _DOM = adapter;
  3574. }
  3575. }
  3576. /* tslint:disable:requireParameterType */
  3577. /**
  3578. * Provides DOM operations in an environment-agnostic way.
  3579. *
  3580. * @security Tread carefully! Interacting with the DOM directly is dangerous and
  3581. * can introduce XSS risks.
  3582. */
  3583. var DomAdapter = (function () {
  3584. function DomAdapter() {
  3585. this.resourceLoaderType = null;
  3586. }
  3587. Object.defineProperty(DomAdapter.prototype, "attrToPropMap", {
  3588. /**
  3589. * Maps attribute names to their corresponding property names for cases
  3590. * where attribute name doesn't match property name.
  3591. */
  3592. get: function () { return this._attrToPropMap; },
  3593. set: function (value) { this._attrToPropMap = value; },
  3594. enumerable: true,
  3595. configurable: true
  3596. });
  3597. ;
  3598. ;
  3599. return DomAdapter;
  3600. }());
  3601. //# sourceMappingURL=dom_adapter.js.map
  3602. /***/ },
  3603. /* 19 */
  3604. /***/ function(module, exports, __webpack_require__) {
  3605. "use strict";
  3606. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  3607. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__compile_metadata__ = __webpack_require__(25);
  3608. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__private_import_core__ = __webpack_require__(20);
  3609. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(29);
  3610. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return Identifiers; });
  3611. /* harmony export (immutable) */ exports["d"] = resolveIdentifier;
  3612. /* harmony export (immutable) */ exports["c"] = identifierToken;
  3613. /* harmony export (immutable) */ exports["a"] = resolveIdentifierToken;
  3614. /* harmony export (immutable) */ exports["e"] = resolveEnumIdentifier;
  3615. /**
  3616. * @license
  3617. * Copyright Google Inc. All Rights Reserved.
  3618. *
  3619. * Use of this source code is governed by an MIT-style license that can be
  3620. * found in the LICENSE file at https://angular.io/license
  3621. */
  3622. var APP_VIEW_MODULE_URL = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/view');
  3623. var VIEW_UTILS_MODULE_URL = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/view_utils');
  3624. var CD_MODULE_URL = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'change_detection/change_detection');
  3625. var ANIMATION_STYLE_UTIL_ASSET_URL = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'animation/animation_style_util');
  3626. var Identifiers = (function () {
  3627. function Identifiers() {
  3628. }
  3629. Identifiers.ANALYZE_FOR_ENTRY_COMPONENTS = {
  3630. name: 'ANALYZE_FOR_ENTRY_COMPONENTS',
  3631. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'metadata/di'),
  3632. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ANALYZE_FOR_ENTRY_COMPONENTS"]
  3633. };
  3634. Identifiers.ViewUtils = {
  3635. name: 'ViewUtils',
  3636. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/view_utils'),
  3637. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["a" /* ViewUtils */]
  3638. };
  3639. Identifiers.AppView = { name: 'AppView', moduleUrl: APP_VIEW_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["b" /* AppView */] };
  3640. Identifiers.DebugAppView = {
  3641. name: 'DebugAppView',
  3642. moduleUrl: APP_VIEW_MODULE_URL,
  3643. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["c" /* DebugAppView */]
  3644. };
  3645. Identifiers.AppElement = {
  3646. name: 'AppElement',
  3647. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/element'),
  3648. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["d" /* AppElement */]
  3649. };
  3650. Identifiers.ElementRef = {
  3651. name: 'ElementRef',
  3652. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/element_ref'),
  3653. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ElementRef"]
  3654. };
  3655. Identifiers.ViewContainerRef = {
  3656. name: 'ViewContainerRef',
  3657. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/view_container_ref'),
  3658. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewContainerRef"]
  3659. };
  3660. Identifiers.ChangeDetectorRef = {
  3661. name: 'ChangeDetectorRef',
  3662. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'change_detection/change_detector_ref'),
  3663. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ChangeDetectorRef"]
  3664. };
  3665. Identifiers.RenderComponentType = {
  3666. name: 'RenderComponentType',
  3667. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'render/api'),
  3668. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["RenderComponentType"]
  3669. };
  3670. Identifiers.QueryList = {
  3671. name: 'QueryList',
  3672. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/query_list'),
  3673. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["QueryList"]
  3674. };
  3675. Identifiers.TemplateRef = {
  3676. name: 'TemplateRef',
  3677. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/template_ref'),
  3678. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["TemplateRef"]
  3679. };
  3680. Identifiers.TemplateRef_ = {
  3681. name: 'TemplateRef_',
  3682. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/template_ref'),
  3683. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["e" /* TemplateRef_ */]
  3684. };
  3685. Identifiers.CodegenComponentFactoryResolver = {
  3686. name: 'CodegenComponentFactoryResolver',
  3687. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/component_factory_resolver'),
  3688. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["f" /* CodegenComponentFactoryResolver */]
  3689. };
  3690. Identifiers.ComponentFactoryResolver = {
  3691. name: 'ComponentFactoryResolver',
  3692. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/component_factory_resolver'),
  3693. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ComponentFactoryResolver"]
  3694. };
  3695. Identifiers.ComponentFactory = {
  3696. name: 'ComponentFactory',
  3697. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ComponentFactory"],
  3698. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/component_factory')
  3699. };
  3700. Identifiers.NgModuleFactory = {
  3701. name: 'NgModuleFactory',
  3702. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["NgModuleFactory"],
  3703. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/ng_module_factory')
  3704. };
  3705. Identifiers.NgModuleInjector = {
  3706. name: 'NgModuleInjector',
  3707. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["g" /* NgModuleInjector */],
  3708. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/ng_module_factory')
  3709. };
  3710. Identifiers.RegisterModuleFactoryFn = {
  3711. name: 'registerModuleFactory',
  3712. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["h" /* registerModuleFactory */],
  3713. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/ng_module_factory_loader')
  3714. };
  3715. Identifiers.ValueUnwrapper = { name: 'ValueUnwrapper', moduleUrl: CD_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["i" /* ValueUnwrapper */] };
  3716. Identifiers.Injector = {
  3717. name: 'Injector',
  3718. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'di/injector'),
  3719. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injector"]
  3720. };
  3721. Identifiers.ViewEncapsulation = {
  3722. name: 'ViewEncapsulation',
  3723. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'metadata/view'),
  3724. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"]
  3725. };
  3726. Identifiers.ViewType = {
  3727. name: 'ViewType',
  3728. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/view_type'),
  3729. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["j" /* ViewType */]
  3730. };
  3731. Identifiers.ChangeDetectionStrategy = {
  3732. name: 'ChangeDetectionStrategy',
  3733. moduleUrl: CD_MODULE_URL,
  3734. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ChangeDetectionStrategy"]
  3735. };
  3736. Identifiers.StaticNodeDebugInfo = {
  3737. name: 'StaticNodeDebugInfo',
  3738. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/debug_context'),
  3739. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["k" /* StaticNodeDebugInfo */]
  3740. };
  3741. Identifiers.DebugContext = {
  3742. name: 'DebugContext',
  3743. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'linker/debug_context'),
  3744. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["l" /* DebugContext */]
  3745. };
  3746. Identifiers.Renderer = {
  3747. name: 'Renderer',
  3748. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'render/api'),
  3749. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Renderer"]
  3750. };
  3751. Identifiers.SimpleChange = { name: 'SimpleChange', moduleUrl: CD_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["SimpleChange"] };
  3752. Identifiers.UNINITIALIZED = { name: 'UNINITIALIZED', moduleUrl: CD_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["m" /* UNINITIALIZED */] };
  3753. Identifiers.ChangeDetectorStatus = {
  3754. name: 'ChangeDetectorStatus',
  3755. moduleUrl: CD_MODULE_URL,
  3756. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["n" /* ChangeDetectorStatus */]
  3757. };
  3758. Identifiers.checkBinding = {
  3759. name: 'checkBinding',
  3760. moduleUrl: VIEW_UTILS_MODULE_URL,
  3761. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["o" /* checkBinding */]
  3762. };
  3763. Identifiers.flattenNestedViewRenderNodes = {
  3764. name: 'flattenNestedViewRenderNodes',
  3765. moduleUrl: VIEW_UTILS_MODULE_URL,
  3766. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["p" /* flattenNestedViewRenderNodes */]
  3767. };
  3768. Identifiers.devModeEqual = { name: 'devModeEqual', moduleUrl: CD_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["q" /* devModeEqual */] };
  3769. Identifiers.interpolate = {
  3770. name: 'interpolate',
  3771. moduleUrl: VIEW_UTILS_MODULE_URL,
  3772. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["r" /* interpolate */]
  3773. };
  3774. Identifiers.castByValue = {
  3775. name: 'castByValue',
  3776. moduleUrl: VIEW_UTILS_MODULE_URL,
  3777. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["s" /* castByValue */]
  3778. };
  3779. Identifiers.EMPTY_ARRAY = {
  3780. name: 'EMPTY_ARRAY',
  3781. moduleUrl: VIEW_UTILS_MODULE_URL,
  3782. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["t" /* EMPTY_ARRAY */]
  3783. };
  3784. Identifiers.EMPTY_MAP = { name: 'EMPTY_MAP', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["u" /* EMPTY_MAP */] };
  3785. Identifiers.pureProxies = [
  3786. null,
  3787. { name: 'pureProxy1', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["v" /* pureProxy1 */] },
  3788. { name: 'pureProxy2', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["w" /* pureProxy2 */] },
  3789. { name: 'pureProxy3', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["x" /* pureProxy3 */] },
  3790. { name: 'pureProxy4', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["y" /* pureProxy4 */] },
  3791. { name: 'pureProxy5', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["z" /* pureProxy5 */] },
  3792. { name: 'pureProxy6', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["A" /* pureProxy6 */] },
  3793. { name: 'pureProxy7', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["B" /* pureProxy7 */] },
  3794. { name: 'pureProxy8', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["C" /* pureProxy8 */] },
  3795. { name: 'pureProxy9', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["D" /* pureProxy9 */] },
  3796. { name: 'pureProxy10', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["E" /* pureProxy10 */] },
  3797. ];
  3798. Identifiers.SecurityContext = {
  3799. name: 'SecurityContext',
  3800. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'security'),
  3801. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"],
  3802. };
  3803. Identifiers.AnimationKeyframe = {
  3804. name: 'AnimationKeyframe',
  3805. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'animation/animation_keyframe'),
  3806. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["F" /* AnimationKeyframe */]
  3807. };
  3808. Identifiers.AnimationStyles = {
  3809. name: 'AnimationStyles',
  3810. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'animation/animation_styles'),
  3811. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["G" /* AnimationStyles */]
  3812. };
  3813. Identifiers.NoOpAnimationPlayer = {
  3814. name: 'NoOpAnimationPlayer',
  3815. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'animation/animation_player'),
  3816. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["H" /* NoOpAnimationPlayer */]
  3817. };
  3818. Identifiers.AnimationGroupPlayer = {
  3819. name: 'AnimationGroupPlayer',
  3820. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'animation/animation_group_player'),
  3821. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["I" /* AnimationGroupPlayer */]
  3822. };
  3823. Identifiers.AnimationSequencePlayer = {
  3824. name: 'AnimationSequencePlayer',
  3825. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'animation/animation_sequence_player'),
  3826. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["J" /* AnimationSequencePlayer */]
  3827. };
  3828. Identifiers.prepareFinalAnimationStyles = {
  3829. name: 'prepareFinalAnimationStyles',
  3830. moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,
  3831. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["K" /* prepareFinalAnimationStyles */]
  3832. };
  3833. Identifiers.balanceAnimationKeyframes = {
  3834. name: 'balanceAnimationKeyframes',
  3835. moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,
  3836. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["L" /* balanceAnimationKeyframes */]
  3837. };
  3838. Identifiers.clearStyles = {
  3839. name: 'clearStyles',
  3840. moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,
  3841. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["M" /* clearStyles */]
  3842. };
  3843. Identifiers.renderStyles = {
  3844. name: 'renderStyles',
  3845. moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,
  3846. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["N" /* renderStyles */]
  3847. };
  3848. Identifiers.collectAndResolveStyles = {
  3849. name: 'collectAndResolveStyles',
  3850. moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,
  3851. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["O" /* collectAndResolveStyles */]
  3852. };
  3853. Identifiers.LOCALE_ID = {
  3854. name: 'LOCALE_ID',
  3855. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'i18n/tokens'),
  3856. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["LOCALE_ID"]
  3857. };
  3858. Identifiers.TRANSLATIONS_FORMAT = {
  3859. name: 'TRANSLATIONS_FORMAT',
  3860. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'i18n/tokens'),
  3861. runtime: __WEBPACK_IMPORTED_MODULE_0__angular_core__["TRANSLATIONS_FORMAT"]
  3862. };
  3863. Identifiers.AnimationOutput = {
  3864. name: 'AnimationOutput',
  3865. moduleUrl: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* assetUrl */])('core', 'animation/animation_output'),
  3866. runtime: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["P" /* AnimationOutput */]
  3867. };
  3868. return Identifiers;
  3869. }());
  3870. function resolveIdentifier(identifier) {
  3871. return new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["a" /* CompileIdentifierMetadata */]({
  3872. name: identifier.name,
  3873. moduleUrl: identifier.moduleUrl,
  3874. reference: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["Q" /* reflector */].resolveIdentifier(identifier.name, identifier.moduleUrl, identifier.runtime)
  3875. });
  3876. }
  3877. function identifierToken(identifier) {
  3878. return new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["b" /* CompileTokenMetadata */]({ identifier: identifier });
  3879. }
  3880. function resolveIdentifierToken(identifier) {
  3881. return identifierToken(resolveIdentifier(identifier));
  3882. }
  3883. function resolveEnumIdentifier(enumType, name) {
  3884. var resolvedEnum = __WEBPACK_IMPORTED_MODULE_2__private_import_core__["Q" /* reflector */].resolveEnum(enumType.reference, name);
  3885. return new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["a" /* CompileIdentifierMetadata */]({ name: enumType.name + "." + name, moduleUrl: enumType.moduleUrl, reference: resolvedEnum });
  3886. }
  3887. //# sourceMappingURL=identifiers.js.map
  3888. /***/ },
  3889. /* 20 */
  3890. /***/ function(module, exports, __webpack_require__) {
  3891. "use strict";
  3892. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  3893. /* harmony export (binding) */ __webpack_require__.d(exports, "Y", function() { return isDefaultChangeDetectionStrategy; });
  3894. /* harmony export (binding) */ __webpack_require__.d(exports, "n", function() { return ChangeDetectorStatus; });
  3895. /* harmony export (binding) */ __webpack_require__.d(exports, "X", function() { return LifecycleHooks; });
  3896. /* harmony export (binding) */ __webpack_require__.d(exports, "_0", function() { return LIFECYCLE_HOOKS_VALUES; });
  3897. /* harmony export (binding) */ __webpack_require__.d(exports, "Z", function() { return ReflectorReader; });
  3898. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return AppElement; });
  3899. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return CodegenComponentFactoryResolver; });
  3900. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return AppView; });
  3901. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return DebugAppView; });
  3902. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return NgModuleInjector; });
  3903. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return registerModuleFactory; });
  3904. /* harmony export (binding) */ __webpack_require__.d(exports, "j", function() { return ViewType; });
  3905. /* harmony export (binding) */ __webpack_require__.d(exports, "S", function() { return MAX_INTERPOLATION_VALUES; });
  3906. /* harmony export (binding) */ __webpack_require__.d(exports, "o", function() { return checkBinding; });
  3907. /* harmony export (binding) */ __webpack_require__.d(exports, "p", function() { return flattenNestedViewRenderNodes; });
  3908. /* harmony export (binding) */ __webpack_require__.d(exports, "r", function() { return interpolate; });
  3909. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ViewUtils; });
  3910. /* harmony export (binding) */ __webpack_require__.d(exports, "l", function() { return DebugContext; });
  3911. /* harmony export (binding) */ __webpack_require__.d(exports, "k", function() { return StaticNodeDebugInfo; });
  3912. /* harmony export (binding) */ __webpack_require__.d(exports, "q", function() { return devModeEqual; });
  3913. /* harmony export (binding) */ __webpack_require__.d(exports, "m", function() { return UNINITIALIZED; });
  3914. /* harmony export (binding) */ __webpack_require__.d(exports, "i", function() { return ValueUnwrapper; });
  3915. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return TemplateRef_; });
  3916. /* unused harmony export RenderDebugInfo */
  3917. /* harmony export (binding) */ __webpack_require__.d(exports, "t", function() { return EMPTY_ARRAY; });
  3918. /* harmony export (binding) */ __webpack_require__.d(exports, "u", function() { return EMPTY_MAP; });
  3919. /* harmony export (binding) */ __webpack_require__.d(exports, "v", function() { return pureProxy1; });
  3920. /* harmony export (binding) */ __webpack_require__.d(exports, "w", function() { return pureProxy2; });
  3921. /* harmony export (binding) */ __webpack_require__.d(exports, "x", function() { return pureProxy3; });
  3922. /* harmony export (binding) */ __webpack_require__.d(exports, "y", function() { return pureProxy4; });
  3923. /* harmony export (binding) */ __webpack_require__.d(exports, "z", function() { return pureProxy5; });
  3924. /* harmony export (binding) */ __webpack_require__.d(exports, "A", function() { return pureProxy6; });
  3925. /* harmony export (binding) */ __webpack_require__.d(exports, "B", function() { return pureProxy7; });
  3926. /* harmony export (binding) */ __webpack_require__.d(exports, "C", function() { return pureProxy8; });
  3927. /* harmony export (binding) */ __webpack_require__.d(exports, "D", function() { return pureProxy9; });
  3928. /* harmony export (binding) */ __webpack_require__.d(exports, "E", function() { return pureProxy10; });
  3929. /* harmony export (binding) */ __webpack_require__.d(exports, "s", function() { return castByValue; });
  3930. /* harmony export (binding) */ __webpack_require__.d(exports, "R", function() { return Console; });
  3931. /* harmony export (binding) */ __webpack_require__.d(exports, "Q", function() { return reflector; });
  3932. /* harmony export (binding) */ __webpack_require__.d(exports, "_2", function() { return Reflector; });
  3933. /* harmony export (binding) */ __webpack_require__.d(exports, "_3", function() { return ReflectionCapabilities; });
  3934. /* harmony export (binding) */ __webpack_require__.d(exports, "H", function() { return NoOpAnimationPlayer; });
  3935. /* unused harmony export AnimationPlayer */
  3936. /* harmony export (binding) */ __webpack_require__.d(exports, "J", function() { return AnimationSequencePlayer; });
  3937. /* harmony export (binding) */ __webpack_require__.d(exports, "I", function() { return AnimationGroupPlayer; });
  3938. /* harmony export (binding) */ __webpack_require__.d(exports, "F", function() { return AnimationKeyframe; });
  3939. /* harmony export (binding) */ __webpack_require__.d(exports, "G", function() { return AnimationStyles; });
  3940. /* harmony export (binding) */ __webpack_require__.d(exports, "P", function() { return AnimationOutput; });
  3941. /* harmony export (binding) */ __webpack_require__.d(exports, "T", function() { return ANY_STATE; });
  3942. /* harmony export (binding) */ __webpack_require__.d(exports, "V", function() { return DEFAULT_STATE; });
  3943. /* harmony export (binding) */ __webpack_require__.d(exports, "W", function() { return EMPTY_STATE; });
  3944. /* harmony export (binding) */ __webpack_require__.d(exports, "U", function() { return FILL_STYLE_FLAG; });
  3945. /* harmony export (binding) */ __webpack_require__.d(exports, "K", function() { return prepareFinalAnimationStyles; });
  3946. /* harmony export (binding) */ __webpack_require__.d(exports, "L", function() { return balanceAnimationKeyframes; });
  3947. /* harmony export (binding) */ __webpack_require__.d(exports, "M", function() { return clearStyles; });
  3948. /* harmony export (binding) */ __webpack_require__.d(exports, "O", function() { return collectAndResolveStyles; });
  3949. /* harmony export (binding) */ __webpack_require__.d(exports, "N", function() { return renderStyles; });
  3950. /* unused harmony export ViewMetadata */
  3951. /* harmony export (binding) */ __webpack_require__.d(exports, "_1", function() { return ComponentStillLoadingError; });
  3952. /**
  3953. * @license
  3954. * Copyright Google Inc. All Rights Reserved.
  3955. *
  3956. * Use of this source code is governed by an MIT-style license that can be
  3957. * found in the LICENSE file at https://angular.io/license
  3958. */
  3959. var isDefaultChangeDetectionStrategy = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].isDefaultChangeDetectionStrategy;
  3960. var ChangeDetectorStatus = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].ChangeDetectorStatus;
  3961. __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].CHANGE_DETECTION_STRATEGY_VALUES;
  3962. var LifecycleHooks = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].LifecycleHooks;
  3963. var LIFECYCLE_HOOKS_VALUES = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].LIFECYCLE_HOOKS_VALUES;
  3964. var ReflectorReader = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].ReflectorReader;
  3965. var AppElement = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].AppElement;
  3966. var CodegenComponentFactoryResolver = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].CodegenComponentFactoryResolver;
  3967. var AppView = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].AppView;
  3968. var DebugAppView = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].DebugAppView;
  3969. var NgModuleInjector = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].NgModuleInjector;
  3970. var registerModuleFactory = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].registerModuleFactory;
  3971. var ViewType = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].ViewType;
  3972. var MAX_INTERPOLATION_VALUES = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].MAX_INTERPOLATION_VALUES;
  3973. var checkBinding = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].checkBinding;
  3974. var flattenNestedViewRenderNodes = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].flattenNestedViewRenderNodes;
  3975. var interpolate = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].interpolate;
  3976. var ViewUtils = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].ViewUtils;
  3977. var DebugContext = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].DebugContext;
  3978. var StaticNodeDebugInfo = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].StaticNodeDebugInfo;
  3979. var devModeEqual = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].devModeEqual;
  3980. var UNINITIALIZED = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].UNINITIALIZED;
  3981. var ValueUnwrapper = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].ValueUnwrapper;
  3982. var TemplateRef_ = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].TemplateRef_;
  3983. var RenderDebugInfo = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].RenderDebugInfo;
  3984. var EMPTY_ARRAY = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].EMPTY_ARRAY;
  3985. var EMPTY_MAP = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].EMPTY_MAP;
  3986. var pureProxy1 = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].pureProxy1;
  3987. var pureProxy2 = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].pureProxy2;
  3988. var pureProxy3 = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].pureProxy3;
  3989. var pureProxy4 = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].pureProxy4;
  3990. var pureProxy5 = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].pureProxy5;
  3991. var pureProxy6 = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].pureProxy6;
  3992. var pureProxy7 = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].pureProxy7;
  3993. var pureProxy8 = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].pureProxy8;
  3994. var pureProxy9 = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].pureProxy9;
  3995. var pureProxy10 = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].pureProxy10;
  3996. var castByValue = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].castByValue;
  3997. var Console = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].Console;
  3998. var reflector = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].reflector;
  3999. var Reflector = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].Reflector;
  4000. var ReflectionCapabilities = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].ReflectionCapabilities;
  4001. var NoOpAnimationPlayer = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].NoOpAnimationPlayer;
  4002. var AnimationPlayer = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].AnimationPlayer;
  4003. var AnimationSequencePlayer = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].AnimationSequencePlayer;
  4004. var AnimationGroupPlayer = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].AnimationGroupPlayer;
  4005. var AnimationKeyframe = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].AnimationKeyframe;
  4006. var AnimationStyles = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].AnimationStyles;
  4007. var AnimationOutput = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].AnimationOutput;
  4008. var ANY_STATE = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].ANY_STATE;
  4009. var DEFAULT_STATE = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].DEFAULT_STATE;
  4010. var EMPTY_STATE = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].EMPTY_STATE;
  4011. var FILL_STYLE_FLAG = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].FILL_STYLE_FLAG;
  4012. var prepareFinalAnimationStyles = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].prepareFinalAnimationStyles;
  4013. var balanceAnimationKeyframes = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].balanceAnimationKeyframes;
  4014. var clearStyles = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].clearStyles;
  4015. var collectAndResolveStyles = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].collectAndResolveStyles;
  4016. var renderStyles = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].renderStyles;
  4017. var ViewMetadata = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].ViewMetadata;
  4018. var ComponentStillLoadingError = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].ComponentStillLoadingError;
  4019. //# sourceMappingURL=private_import_core.js.map
  4020. /***/ },
  4021. /* 21 */
  4022. /***/ function(module, exports, __webpack_require__) {
  4023. // Thank's IE8 for his funny defineProperty
  4024. module.exports = !__webpack_require__(9)(function(){
  4025. return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
  4026. });
  4027. /***/ },
  4028. /* 22 */
  4029. /***/ function(module, exports, __webpack_require__) {
  4030. "use strict";
  4031. "use strict";
  4032. var isArray_1 = __webpack_require__(48);
  4033. var isObject_1 = __webpack_require__(959);
  4034. var isFunction_1 = __webpack_require__(266);
  4035. var tryCatch_1 = __webpack_require__(24);
  4036. var errorObject_1 = __webpack_require__(23);
  4037. var UnsubscriptionError_1 = __webpack_require__(416);
  4038. /**
  4039. * Represents a disposable resource, such as the execution of an Observable. A
  4040. * Subscription has one important method, `unsubscribe`, that takes no argument
  4041. * and just disposes the resource held by the subscription.
  4042. *
  4043. * Additionally, subscriptions may be grouped together through the `add()`
  4044. * method, which will attach a child Subscription to the current Subscription.
  4045. * When a Subscription is unsubscribed, all its children (and its grandchildren)
  4046. * will be unsubscribed as well.
  4047. *
  4048. * @class Subscription
  4049. */
  4050. var Subscription = (function () {
  4051. /**
  4052. * @param {function(): void} [unsubscribe] A function describing how to
  4053. * perform the disposal of resources when the `unsubscribe` method is called.
  4054. */
  4055. function Subscription(unsubscribe) {
  4056. /**
  4057. * A flag to indicate whether this Subscription has already been unsubscribed.
  4058. * @type {boolean}
  4059. */
  4060. this.closed = false;
  4061. if (unsubscribe) {
  4062. this._unsubscribe = unsubscribe;
  4063. }
  4064. }
  4065. /**
  4066. * Disposes the resources held by the subscription. May, for instance, cancel
  4067. * an ongoing Observable execution or cancel any other type of work that
  4068. * started when the Subscription was created.
  4069. * @return {void}
  4070. */
  4071. Subscription.prototype.unsubscribe = function () {
  4072. var hasErrors = false;
  4073. var errors;
  4074. if (this.closed) {
  4075. return;
  4076. }
  4077. this.closed = true;
  4078. var _a = this, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;
  4079. this._subscriptions = null;
  4080. if (isFunction_1.isFunction(_unsubscribe)) {
  4081. var trial = tryCatch_1.tryCatch(_unsubscribe).call(this);
  4082. if (trial === errorObject_1.errorObject) {
  4083. hasErrors = true;
  4084. (errors = errors || []).push(errorObject_1.errorObject.e);
  4085. }
  4086. }
  4087. if (isArray_1.isArray(_subscriptions)) {
  4088. var index = -1;
  4089. var len = _subscriptions.length;
  4090. while (++index < len) {
  4091. var sub = _subscriptions[index];
  4092. if (isObject_1.isObject(sub)) {
  4093. var trial = tryCatch_1.tryCatch(sub.unsubscribe).call(sub);
  4094. if (trial === errorObject_1.errorObject) {
  4095. hasErrors = true;
  4096. errors = errors || [];
  4097. var err = errorObject_1.errorObject.e;
  4098. if (err instanceof UnsubscriptionError_1.UnsubscriptionError) {
  4099. errors = errors.concat(err.errors);
  4100. }
  4101. else {
  4102. errors.push(err);
  4103. }
  4104. }
  4105. }
  4106. }
  4107. }
  4108. if (hasErrors) {
  4109. throw new UnsubscriptionError_1.UnsubscriptionError(errors);
  4110. }
  4111. };
  4112. /**
  4113. * Adds a tear down to be called during the unsubscribe() of this
  4114. * Subscription.
  4115. *
  4116. * If the tear down being added is a subscription that is already
  4117. * unsubscribed, is the same reference `add` is being called on, or is
  4118. * `Subscription.EMPTY`, it will not be added.
  4119. *
  4120. * If this subscription is already in an `closed` state, the passed
  4121. * tear down logic will be executed immediately.
  4122. *
  4123. * @param {TeardownLogic} teardown The additional logic to execute on
  4124. * teardown.
  4125. * @return {Subscription} Returns the Subscription used or created to be
  4126. * added to the inner subscriptions list. This Subscription can be used with
  4127. * `remove()` to remove the passed teardown logic from the inner subscriptions
  4128. * list.
  4129. */
  4130. Subscription.prototype.add = function (teardown) {
  4131. if (!teardown || (teardown === Subscription.EMPTY)) {
  4132. return Subscription.EMPTY;
  4133. }
  4134. if (teardown === this) {
  4135. return this;
  4136. }
  4137. var sub = teardown;
  4138. switch (typeof teardown) {
  4139. case 'function':
  4140. sub = new Subscription(teardown);
  4141. case 'object':
  4142. if (sub.closed || typeof sub.unsubscribe !== 'function') {
  4143. break;
  4144. }
  4145. else if (this.closed) {
  4146. sub.unsubscribe();
  4147. }
  4148. else {
  4149. (this._subscriptions || (this._subscriptions = [])).push(sub);
  4150. }
  4151. break;
  4152. default:
  4153. throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');
  4154. }
  4155. return sub;
  4156. };
  4157. /**
  4158. * Removes a Subscription from the internal list of subscriptions that will
  4159. * unsubscribe during the unsubscribe process of this Subscription.
  4160. * @param {Subscription} subscription The subscription to remove.
  4161. * @return {void}
  4162. */
  4163. Subscription.prototype.remove = function (subscription) {
  4164. // HACK: This might be redundant because of the logic in `add()`
  4165. if (subscription == null || (subscription === this) || (subscription === Subscription.EMPTY)) {
  4166. return;
  4167. }
  4168. var subscriptions = this._subscriptions;
  4169. if (subscriptions) {
  4170. var subscriptionIndex = subscriptions.indexOf(subscription);
  4171. if (subscriptionIndex !== -1) {
  4172. subscriptions.splice(subscriptionIndex, 1);
  4173. }
  4174. }
  4175. };
  4176. Subscription.EMPTY = (function (empty) {
  4177. empty.closed = true;
  4178. return empty;
  4179. }(new Subscription()));
  4180. return Subscription;
  4181. }());
  4182. exports.Subscription = Subscription;
  4183. //# sourceMappingURL=Subscription.js.map
  4184. /***/ },
  4185. /* 23 */
  4186. /***/ function(module, exports) {
  4187. "use strict";
  4188. "use strict";
  4189. // typeof any so that it we don't have to cast when comparing a result to the error object
  4190. exports.errorObject = { e: {} };
  4191. //# sourceMappingURL=errorObject.js.map
  4192. /***/ },
  4193. /* 24 */
  4194. /***/ function(module, exports, __webpack_require__) {
  4195. "use strict";
  4196. "use strict";
  4197. var errorObject_1 = __webpack_require__(23);
  4198. var tryCatchTarget;
  4199. function tryCatcher() {
  4200. try {
  4201. return tryCatchTarget.apply(this, arguments);
  4202. }
  4203. catch (e) {
  4204. errorObject_1.errorObject.e = e;
  4205. return errorObject_1.errorObject;
  4206. }
  4207. }
  4208. function tryCatch(fn) {
  4209. tryCatchTarget = fn;
  4210. return tryCatcher;
  4211. }
  4212. exports.tryCatch = tryCatch;
  4213. ;
  4214. //# sourceMappingURL=tryCatch.js.map
  4215. /***/ },
  4216. /* 25 */
  4217. /***/ function(module, exports, __webpack_require__) {
  4218. "use strict";
  4219. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  4220. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(13);
  4221. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(4);
  4222. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__selector__ = __webpack_require__(195);
  4223. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util__ = __webpack_require__(29);
  4224. /* harmony export (binding) */ __webpack_require__.d(exports, "A", function() { return CompileMetadataWithIdentifier; });
  4225. /* harmony export (binding) */ __webpack_require__.d(exports, "r", function() { return CompileAnimationEntryMetadata; });
  4226. /* unused harmony export CompileAnimationStateMetadata */
  4227. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return CompileAnimationStateDeclarationMetadata; });
  4228. /* harmony export (binding) */ __webpack_require__.d(exports, "s", function() { return CompileAnimationStateTransitionMetadata; });
  4229. /* unused harmony export CompileAnimationMetadata */
  4230. /* harmony export (binding) */ __webpack_require__.d(exports, "m", function() { return CompileAnimationKeyframesSequenceMetadata; });
  4231. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return CompileAnimationStyleMetadata; });
  4232. /* harmony export (binding) */ __webpack_require__.d(exports, "l", function() { return CompileAnimationAnimateMetadata; });
  4233. /* harmony export (binding) */ __webpack_require__.d(exports, "k", function() { return CompileAnimationWithStepsMetadata; });
  4234. /* harmony export (binding) */ __webpack_require__.d(exports, "i", function() { return CompileAnimationSequenceMetadata; });
  4235. /* harmony export (binding) */ __webpack_require__.d(exports, "j", function() { return CompileAnimationGroupMetadata; });
  4236. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return CompileIdentifierMetadata; });
  4237. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return CompileDiDependencyMetadata; });
  4238. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return CompileProviderMetadata; });
  4239. /* harmony export (binding) */ __webpack_require__.d(exports, "v", function() { return CompileFactoryMetadata; });
  4240. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return CompileTokenMetadata; });
  4241. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return CompileTypeMetadata; });
  4242. /* harmony export (binding) */ __webpack_require__.d(exports, "y", function() { return CompileQueryMetadata; });
  4243. /* harmony export (binding) */ __webpack_require__.d(exports, "o", function() { return CompileStylesheetMetadata; });
  4244. /* harmony export (binding) */ __webpack_require__.d(exports, "p", function() { return CompileTemplateMetadata; });
  4245. /* harmony export (binding) */ __webpack_require__.d(exports, "q", function() { return CompileDirectiveMetadata; });
  4246. /* harmony export (immutable) */ exports["n"] = createHostComponentMeta;
  4247. /* harmony export (binding) */ __webpack_require__.d(exports, "w", function() { return CompilePipeMetadata; });
  4248. /* harmony export (binding) */ __webpack_require__.d(exports, "t", function() { return CompileNgModuleMetadata; });
  4249. /* harmony export (binding) */ __webpack_require__.d(exports, "u", function() { return TransitiveCompileNgModuleMetadata; });
  4250. /* harmony export (immutable) */ exports["f"] = removeIdentifierDuplicates;
  4251. /* harmony export (immutable) */ exports["z"] = isStaticSymbol;
  4252. /* harmony export (binding) */ __webpack_require__.d(exports, "x", function() { return ProviderMeta; });
  4253. /**
  4254. * @license
  4255. * Copyright Google Inc. All Rights Reserved.
  4256. *
  4257. * Use of this source code is governed by an MIT-style license that can be
  4258. * found in the LICENSE file at https://angular.io/license
  4259. */
  4260. var __extends = (this && this.__extends) || function (d, b) {
  4261. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  4262. function __() { this.constructor = d; }
  4263. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  4264. };
  4265. function unimplemented() {
  4266. throw new Error('unimplemented');
  4267. }
  4268. // group 0: "[prop] or (event) or @trigger"
  4269. // group 1: "prop" from "[prop]"
  4270. // group 2: "event" from "(event)"
  4271. // group 3: "@trigger" from "@trigger"
  4272. var HOST_REG_EXP = /^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;
  4273. var UNDEFINED = new Object();
  4274. var CompileMetadataWithIdentifier = (function () {
  4275. function CompileMetadataWithIdentifier() {
  4276. }
  4277. Object.defineProperty(CompileMetadataWithIdentifier.prototype, "identifier", {
  4278. get: function () { return unimplemented(); },
  4279. enumerable: true,
  4280. configurable: true
  4281. });
  4282. return CompileMetadataWithIdentifier;
  4283. }());
  4284. var CompileAnimationEntryMetadata = (function () {
  4285. function CompileAnimationEntryMetadata(name, definitions) {
  4286. if (name === void 0) { name = null; }
  4287. if (definitions === void 0) { definitions = null; }
  4288. this.name = name;
  4289. this.definitions = definitions;
  4290. }
  4291. return CompileAnimationEntryMetadata;
  4292. }());
  4293. var CompileAnimationStateMetadata = (function () {
  4294. function CompileAnimationStateMetadata() {
  4295. }
  4296. return CompileAnimationStateMetadata;
  4297. }());
  4298. var CompileAnimationStateDeclarationMetadata = (function (_super) {
  4299. __extends(CompileAnimationStateDeclarationMetadata, _super);
  4300. function CompileAnimationStateDeclarationMetadata(stateNameExpr, styles) {
  4301. _super.call(this);
  4302. this.stateNameExpr = stateNameExpr;
  4303. this.styles = styles;
  4304. }
  4305. return CompileAnimationStateDeclarationMetadata;
  4306. }(CompileAnimationStateMetadata));
  4307. var CompileAnimationStateTransitionMetadata = (function (_super) {
  4308. __extends(CompileAnimationStateTransitionMetadata, _super);
  4309. function CompileAnimationStateTransitionMetadata(stateChangeExpr, steps) {
  4310. _super.call(this);
  4311. this.stateChangeExpr = stateChangeExpr;
  4312. this.steps = steps;
  4313. }
  4314. return CompileAnimationStateTransitionMetadata;
  4315. }(CompileAnimationStateMetadata));
  4316. var CompileAnimationMetadata = (function () {
  4317. function CompileAnimationMetadata() {
  4318. }
  4319. return CompileAnimationMetadata;
  4320. }());
  4321. var CompileAnimationKeyframesSequenceMetadata = (function (_super) {
  4322. __extends(CompileAnimationKeyframesSequenceMetadata, _super);
  4323. function CompileAnimationKeyframesSequenceMetadata(steps) {
  4324. if (steps === void 0) { steps = []; }
  4325. _super.call(this);
  4326. this.steps = steps;
  4327. }
  4328. return CompileAnimationKeyframesSequenceMetadata;
  4329. }(CompileAnimationMetadata));
  4330. var CompileAnimationStyleMetadata = (function (_super) {
  4331. __extends(CompileAnimationStyleMetadata, _super);
  4332. function CompileAnimationStyleMetadata(offset, styles) {
  4333. if (styles === void 0) { styles = null; }
  4334. _super.call(this);
  4335. this.offset = offset;
  4336. this.styles = styles;
  4337. }
  4338. return CompileAnimationStyleMetadata;
  4339. }(CompileAnimationMetadata));
  4340. var CompileAnimationAnimateMetadata = (function (_super) {
  4341. __extends(CompileAnimationAnimateMetadata, _super);
  4342. function CompileAnimationAnimateMetadata(timings, styles) {
  4343. if (timings === void 0) { timings = 0; }
  4344. if (styles === void 0) { styles = null; }
  4345. _super.call(this);
  4346. this.timings = timings;
  4347. this.styles = styles;
  4348. }
  4349. return CompileAnimationAnimateMetadata;
  4350. }(CompileAnimationMetadata));
  4351. var CompileAnimationWithStepsMetadata = (function (_super) {
  4352. __extends(CompileAnimationWithStepsMetadata, _super);
  4353. function CompileAnimationWithStepsMetadata(steps) {
  4354. if (steps === void 0) { steps = null; }
  4355. _super.call(this);
  4356. this.steps = steps;
  4357. }
  4358. return CompileAnimationWithStepsMetadata;
  4359. }(CompileAnimationMetadata));
  4360. var CompileAnimationSequenceMetadata = (function (_super) {
  4361. __extends(CompileAnimationSequenceMetadata, _super);
  4362. function CompileAnimationSequenceMetadata(steps) {
  4363. if (steps === void 0) { steps = null; }
  4364. _super.call(this, steps);
  4365. }
  4366. return CompileAnimationSequenceMetadata;
  4367. }(CompileAnimationWithStepsMetadata));
  4368. var CompileAnimationGroupMetadata = (function (_super) {
  4369. __extends(CompileAnimationGroupMetadata, _super);
  4370. function CompileAnimationGroupMetadata(steps) {
  4371. if (steps === void 0) { steps = null; }
  4372. _super.call(this, steps);
  4373. }
  4374. return CompileAnimationGroupMetadata;
  4375. }(CompileAnimationWithStepsMetadata));
  4376. var CompileIdentifierMetadata = (function () {
  4377. function CompileIdentifierMetadata(_a) {
  4378. var _b = _a === void 0 ? {} : _a, reference = _b.reference, name = _b.name, moduleUrl = _b.moduleUrl, prefix = _b.prefix, value = _b.value;
  4379. this.reference = reference;
  4380. this.name = name;
  4381. this.prefix = prefix;
  4382. this.moduleUrl = moduleUrl;
  4383. this.value = value;
  4384. }
  4385. Object.defineProperty(CompileIdentifierMetadata.prototype, "identifier", {
  4386. get: function () { return this; },
  4387. enumerable: true,
  4388. configurable: true
  4389. });
  4390. return CompileIdentifierMetadata;
  4391. }());
  4392. var CompileDiDependencyMetadata = (function () {
  4393. function CompileDiDependencyMetadata(_a) {
  4394. var _b = _a === void 0 ? {} : _a, isAttribute = _b.isAttribute, isSelf = _b.isSelf, isHost = _b.isHost, isSkipSelf = _b.isSkipSelf, isOptional = _b.isOptional, isValue = _b.isValue, query = _b.query, viewQuery = _b.viewQuery, token = _b.token, value = _b.value;
  4395. this.isAttribute = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["j" /* normalizeBool */])(isAttribute);
  4396. this.isSelf = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["j" /* normalizeBool */])(isSelf);
  4397. this.isHost = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["j" /* normalizeBool */])(isHost);
  4398. this.isSkipSelf = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["j" /* normalizeBool */])(isSkipSelf);
  4399. this.isOptional = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["j" /* normalizeBool */])(isOptional);
  4400. this.isValue = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["j" /* normalizeBool */])(isValue);
  4401. this.query = query;
  4402. this.viewQuery = viewQuery;
  4403. this.token = token;
  4404. this.value = value;
  4405. }
  4406. return CompileDiDependencyMetadata;
  4407. }());
  4408. var CompileProviderMetadata = (function () {
  4409. function CompileProviderMetadata(_a) {
  4410. var token = _a.token, useClass = _a.useClass, useValue = _a.useValue, useExisting = _a.useExisting, useFactory = _a.useFactory, deps = _a.deps, multi = _a.multi;
  4411. this.token = token;
  4412. this.useClass = useClass;
  4413. this.useValue = useValue;
  4414. this.useExisting = useExisting;
  4415. this.useFactory = useFactory;
  4416. this.deps = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["k" /* normalizeBlank */])(deps);
  4417. this.multi = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["j" /* normalizeBool */])(multi);
  4418. }
  4419. return CompileProviderMetadata;
  4420. }());
  4421. var CompileFactoryMetadata = (function (_super) {
  4422. __extends(CompileFactoryMetadata, _super);
  4423. function CompileFactoryMetadata(_a) {
  4424. var reference = _a.reference, name = _a.name, moduleUrl = _a.moduleUrl, prefix = _a.prefix, diDeps = _a.diDeps, value = _a.value;
  4425. _super.call(this, { reference: reference, name: name, prefix: prefix, moduleUrl: moduleUrl, value: value });
  4426. this.diDeps = _normalizeArray(diDeps);
  4427. }
  4428. return CompileFactoryMetadata;
  4429. }(CompileIdentifierMetadata));
  4430. var CompileTokenMetadata = (function () {
  4431. function CompileTokenMetadata(_a) {
  4432. var value = _a.value, identifier = _a.identifier, identifierIsInstance = _a.identifierIsInstance;
  4433. this.value = value;
  4434. this.identifier = identifier;
  4435. this.identifierIsInstance = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["j" /* normalizeBool */])(identifierIsInstance);
  4436. }
  4437. Object.defineProperty(CompileTokenMetadata.prototype, "reference", {
  4438. get: function () {
  4439. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this.identifier)) {
  4440. return this.identifier.reference;
  4441. }
  4442. else {
  4443. return this.value;
  4444. }
  4445. },
  4446. enumerable: true,
  4447. configurable: true
  4448. });
  4449. Object.defineProperty(CompileTokenMetadata.prototype, "name", {
  4450. get: function () {
  4451. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this.value) ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__util__["a" /* sanitizeIdentifier */])(this.value) : this.identifier.name;
  4452. },
  4453. enumerable: true,
  4454. configurable: true
  4455. });
  4456. return CompileTokenMetadata;
  4457. }());
  4458. /**
  4459. * Metadata regarding compilation of a type.
  4460. */
  4461. var CompileTypeMetadata = (function (_super) {
  4462. __extends(CompileTypeMetadata, _super);
  4463. function CompileTypeMetadata(_a) {
  4464. var _b = _a === void 0 ? {} : _a, reference = _b.reference, name = _b.name, moduleUrl = _b.moduleUrl, prefix = _b.prefix, isHost = _b.isHost, value = _b.value, diDeps = _b.diDeps, lifecycleHooks = _b.lifecycleHooks;
  4465. _super.call(this, { reference: reference, name: name, moduleUrl: moduleUrl, prefix: prefix, value: value });
  4466. this.isHost = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["j" /* normalizeBool */])(isHost);
  4467. this.diDeps = _normalizeArray(diDeps);
  4468. this.lifecycleHooks = _normalizeArray(lifecycleHooks);
  4469. }
  4470. return CompileTypeMetadata;
  4471. }(CompileIdentifierMetadata));
  4472. var CompileQueryMetadata = (function () {
  4473. function CompileQueryMetadata(_a) {
  4474. var _b = _a === void 0 ? {} : _a, selectors = _b.selectors, descendants = _b.descendants, first = _b.first, propertyName = _b.propertyName, read = _b.read;
  4475. this.selectors = selectors;
  4476. this.descendants = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["j" /* normalizeBool */])(descendants);
  4477. this.first = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["j" /* normalizeBool */])(first);
  4478. this.propertyName = propertyName;
  4479. this.read = read;
  4480. }
  4481. return CompileQueryMetadata;
  4482. }());
  4483. /**
  4484. * Metadata about a stylesheet
  4485. */
  4486. var CompileStylesheetMetadata = (function () {
  4487. function CompileStylesheetMetadata(_a) {
  4488. var _b = _a === void 0 ? {} : _a, moduleUrl = _b.moduleUrl, styles = _b.styles, styleUrls = _b.styleUrls;
  4489. this.moduleUrl = moduleUrl;
  4490. this.styles = _normalizeArray(styles);
  4491. this.styleUrls = _normalizeArray(styleUrls);
  4492. }
  4493. return CompileStylesheetMetadata;
  4494. }());
  4495. /**
  4496. * Metadata regarding compilation of a template.
  4497. */
  4498. var CompileTemplateMetadata = (function () {
  4499. function CompileTemplateMetadata(_a) {
  4500. var _b = _a === void 0 ? {} : _a, encapsulation = _b.encapsulation, template = _b.template, templateUrl = _b.templateUrl, styles = _b.styles, styleUrls = _b.styleUrls, externalStylesheets = _b.externalStylesheets, animations = _b.animations, ngContentSelectors = _b.ngContentSelectors, interpolation = _b.interpolation;
  4501. this.encapsulation = encapsulation;
  4502. this.template = template;
  4503. this.templateUrl = templateUrl;
  4504. this.styles = _normalizeArray(styles);
  4505. this.styleUrls = _normalizeArray(styleUrls);
  4506. this.externalStylesheets = _normalizeArray(externalStylesheets);
  4507. this.animations = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(animations) ? __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].flatten(animations) : [];
  4508. this.ngContentSelectors = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(ngContentSelectors) ? ngContentSelectors : [];
  4509. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(interpolation) && interpolation.length != 2) {
  4510. throw new Error("'interpolation' should have a start and an end symbol.");
  4511. }
  4512. this.interpolation = interpolation;
  4513. }
  4514. return CompileTemplateMetadata;
  4515. }());
  4516. /**
  4517. * Metadata regarding compilation of a directive.
  4518. */
  4519. var CompileDirectiveMetadata = (function () {
  4520. function CompileDirectiveMetadata(_a) {
  4521. var _b = _a === void 0 ? {} : _a, type = _b.type, isComponent = _b.isComponent, selector = _b.selector, exportAs = _b.exportAs, changeDetection = _b.changeDetection, inputs = _b.inputs, outputs = _b.outputs, hostListeners = _b.hostListeners, hostProperties = _b.hostProperties, hostAttributes = _b.hostAttributes, providers = _b.providers, viewProviders = _b.viewProviders, queries = _b.queries, viewQueries = _b.viewQueries, entryComponents = _b.entryComponents, template = _b.template;
  4522. this.type = type;
  4523. this.isComponent = isComponent;
  4524. this.selector = selector;
  4525. this.exportAs = exportAs;
  4526. this.changeDetection = changeDetection;
  4527. this.inputs = inputs;
  4528. this.outputs = outputs;
  4529. this.hostListeners = hostListeners;
  4530. this.hostProperties = hostProperties;
  4531. this.hostAttributes = hostAttributes;
  4532. this.providers = _normalizeArray(providers);
  4533. this.viewProviders = _normalizeArray(viewProviders);
  4534. this.queries = _normalizeArray(queries);
  4535. this.viewQueries = _normalizeArray(viewQueries);
  4536. this.entryComponents = _normalizeArray(entryComponents);
  4537. this.template = template;
  4538. }
  4539. CompileDirectiveMetadata.create = function (_a) {
  4540. var _b = _a === void 0 ? {} : _a, type = _b.type, isComponent = _b.isComponent, selector = _b.selector, exportAs = _b.exportAs, changeDetection = _b.changeDetection, inputs = _b.inputs, outputs = _b.outputs, host = _b.host, providers = _b.providers, viewProviders = _b.viewProviders, queries = _b.queries, viewQueries = _b.viewQueries, entryComponents = _b.entryComponents, template = _b.template;
  4541. var hostListeners = {};
  4542. var hostProperties = {};
  4543. var hostAttributes = {};
  4544. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(host)) {
  4545. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* StringMapWrapper */].forEach(host, function (value, key) {
  4546. var matches = key.match(HOST_REG_EXP);
  4547. if (matches === null) {
  4548. hostAttributes[key] = value;
  4549. }
  4550. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(matches[1])) {
  4551. hostProperties[matches[1]] = value;
  4552. }
  4553. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(matches[2])) {
  4554. hostListeners[matches[2]] = value;
  4555. }
  4556. });
  4557. }
  4558. var inputsMap = {};
  4559. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(inputs)) {
  4560. inputs.forEach(function (bindConfig) {
  4561. // canonical syntax: `dirProp: elProp`
  4562. // if there is no `:`, use dirProp = elProp
  4563. var parts = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__util__["b" /* splitAtColon */])(bindConfig, [bindConfig, bindConfig]);
  4564. inputsMap[parts[0]] = parts[1];
  4565. });
  4566. }
  4567. var outputsMap = {};
  4568. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(outputs)) {
  4569. outputs.forEach(function (bindConfig) {
  4570. // canonical syntax: `dirProp: elProp`
  4571. // if there is no `:`, use dirProp = elProp
  4572. var parts = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__util__["b" /* splitAtColon */])(bindConfig, [bindConfig, bindConfig]);
  4573. outputsMap[parts[0]] = parts[1];
  4574. });
  4575. }
  4576. return new CompileDirectiveMetadata({
  4577. type: type,
  4578. isComponent: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["j" /* normalizeBool */])(isComponent), selector: selector, exportAs: exportAs, changeDetection: changeDetection,
  4579. inputs: inputsMap,
  4580. outputs: outputsMap,
  4581. hostListeners: hostListeners,
  4582. hostProperties: hostProperties,
  4583. hostAttributes: hostAttributes,
  4584. providers: providers,
  4585. viewProviders: viewProviders,
  4586. queries: queries,
  4587. viewQueries: viewQueries,
  4588. entryComponents: entryComponents,
  4589. template: template,
  4590. });
  4591. };
  4592. Object.defineProperty(CompileDirectiveMetadata.prototype, "identifier", {
  4593. get: function () { return this.type; },
  4594. enumerable: true,
  4595. configurable: true
  4596. });
  4597. return CompileDirectiveMetadata;
  4598. }());
  4599. /**
  4600. * Construct {@link CompileDirectiveMetadata} from {@link ComponentTypeMetadata} and a selector.
  4601. */
  4602. function createHostComponentMeta(compMeta) {
  4603. var template = __WEBPACK_IMPORTED_MODULE_3__selector__["a" /* CssSelector */].parse(compMeta.selector)[0].getMatchingElementTemplate();
  4604. return CompileDirectiveMetadata.create({
  4605. type: new CompileTypeMetadata({
  4606. reference: Object,
  4607. name: compMeta.type.name + "_Host",
  4608. moduleUrl: compMeta.type.moduleUrl,
  4609. isHost: true
  4610. }),
  4611. template: new CompileTemplateMetadata({
  4612. encapsulation: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"].None,
  4613. template: template,
  4614. templateUrl: '',
  4615. styles: [],
  4616. styleUrls: [],
  4617. ngContentSelectors: [],
  4618. animations: []
  4619. }),
  4620. changeDetection: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ChangeDetectionStrategy"].Default,
  4621. inputs: [],
  4622. outputs: [],
  4623. host: {},
  4624. isComponent: true,
  4625. selector: '*',
  4626. providers: [],
  4627. viewProviders: [],
  4628. queries: [],
  4629. viewQueries: []
  4630. });
  4631. }
  4632. var CompilePipeMetadata = (function () {
  4633. function CompilePipeMetadata(_a) {
  4634. var _b = _a === void 0 ? {} : _a, type = _b.type, name = _b.name, pure = _b.pure;
  4635. this.type = type;
  4636. this.name = name;
  4637. this.pure = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["j" /* normalizeBool */])(pure);
  4638. }
  4639. Object.defineProperty(CompilePipeMetadata.prototype, "identifier", {
  4640. get: function () { return this.type; },
  4641. enumerable: true,
  4642. configurable: true
  4643. });
  4644. return CompilePipeMetadata;
  4645. }());
  4646. /**
  4647. * Metadata regarding compilation of a directive.
  4648. */
  4649. var CompileNgModuleMetadata = (function () {
  4650. function CompileNgModuleMetadata(_a) {
  4651. var _b = _a === void 0 ? {} : _a, type = _b.type, providers = _b.providers, declaredDirectives = _b.declaredDirectives, exportedDirectives = _b.exportedDirectives, declaredPipes = _b.declaredPipes, exportedPipes = _b.exportedPipes, entryComponents = _b.entryComponents, bootstrapComponents = _b.bootstrapComponents, importedModules = _b.importedModules, exportedModules = _b.exportedModules, schemas = _b.schemas, transitiveModule = _b.transitiveModule, id = _b.id;
  4652. this.type = type;
  4653. this.declaredDirectives = _normalizeArray(declaredDirectives);
  4654. this.exportedDirectives = _normalizeArray(exportedDirectives);
  4655. this.declaredPipes = _normalizeArray(declaredPipes);
  4656. this.exportedPipes = _normalizeArray(exportedPipes);
  4657. this.providers = _normalizeArray(providers);
  4658. this.entryComponents = _normalizeArray(entryComponents);
  4659. this.bootstrapComponents = _normalizeArray(bootstrapComponents);
  4660. this.importedModules = _normalizeArray(importedModules);
  4661. this.exportedModules = _normalizeArray(exportedModules);
  4662. this.schemas = _normalizeArray(schemas);
  4663. this.id = id;
  4664. this.transitiveModule = transitiveModule;
  4665. }
  4666. Object.defineProperty(CompileNgModuleMetadata.prototype, "identifier", {
  4667. get: function () { return this.type; },
  4668. enumerable: true,
  4669. configurable: true
  4670. });
  4671. return CompileNgModuleMetadata;
  4672. }());
  4673. var TransitiveCompileNgModuleMetadata = (function () {
  4674. function TransitiveCompileNgModuleMetadata(modules, providers, entryComponents, directives, pipes) {
  4675. var _this = this;
  4676. this.modules = modules;
  4677. this.providers = providers;
  4678. this.entryComponents = entryComponents;
  4679. this.directives = directives;
  4680. this.pipes = pipes;
  4681. this.directivesSet = new Set();
  4682. this.pipesSet = new Set();
  4683. directives.forEach(function (dir) { return _this.directivesSet.add(dir.type.reference); });
  4684. pipes.forEach(function (pipe) { return _this.pipesSet.add(pipe.type.reference); });
  4685. }
  4686. return TransitiveCompileNgModuleMetadata;
  4687. }());
  4688. function removeIdentifierDuplicates(items) {
  4689. var map = new Map();
  4690. items.forEach(function (item) {
  4691. if (!map.get(item.identifier.reference)) {
  4692. map.set(item.identifier.reference, item);
  4693. }
  4694. });
  4695. return __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].values(map);
  4696. }
  4697. function _normalizeArray(obj) {
  4698. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(obj) ? obj : [];
  4699. }
  4700. function isStaticSymbol(value) {
  4701. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["l" /* isStringMap */])(value) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(value['name']) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(value['filePath']);
  4702. }
  4703. var ProviderMeta = (function () {
  4704. function ProviderMeta(token, _a) {
  4705. var useClass = _a.useClass, useValue = _a.useValue, useExisting = _a.useExisting, useFactory = _a.useFactory, deps = _a.deps, multi = _a.multi;
  4706. this.token = token;
  4707. this.useClass = useClass;
  4708. this.useValue = useValue;
  4709. this.useExisting = useExisting;
  4710. this.useFactory = useFactory;
  4711. this.dependencies = deps;
  4712. this.multi = !!multi;
  4713. }
  4714. return ProviderMeta;
  4715. }());
  4716. //# sourceMappingURL=compile_metadata.js.map
  4717. /***/ },
  4718. /* 26 */
  4719. /***/ function(module, exports, __webpack_require__) {
  4720. // 7.1.15 ToLength
  4721. var toInteger = __webpack_require__(72)
  4722. , min = Math.min;
  4723. module.exports = function(it){
  4724. return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
  4725. };
  4726. /***/ },
  4727. /* 27 */
  4728. /***/ function(module, exports, __webpack_require__) {
  4729. "use strict";
  4730. /* WEBPACK VAR INJECTION */(function(global) {"use strict";
  4731. var objectTypes = {
  4732. 'boolean': false,
  4733. 'function': true,
  4734. 'object': true,
  4735. 'number': false,
  4736. 'string': false,
  4737. 'undefined': false
  4738. };
  4739. exports.root = (objectTypes[typeof self] && self) || (objectTypes[typeof window] && window);
  4740. var freeGlobal = objectTypes[typeof global] && global;
  4741. if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {
  4742. exports.root = freeGlobal;
  4743. }
  4744. //# sourceMappingURL=root.js.map
  4745. /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(64)))
  4746. /***/ },
  4747. /* 28 */
  4748. /***/ function(module, exports, __webpack_require__) {
  4749. "use strict";
  4750. /* WEBPACK VAR INJECTION */(function(global) {/* unused harmony export scheduleMicroTask */
  4751. /* unused harmony export global */
  4752. /* harmony export (immutable) */ exports["f"] = getTypeNameForDebugging;
  4753. /* unused harmony export Math */
  4754. /* unused harmony export Date */
  4755. /* harmony export (immutable) */ exports["a"] = isPresent;
  4756. /* harmony export (immutable) */ exports["b"] = isBlank;
  4757. /* unused harmony export isBoolean */
  4758. /* unused harmony export isNumber */
  4759. /* unused harmony export isString */
  4760. /* unused harmony export isFunction */
  4761. /* unused harmony export isType */
  4762. /* harmony export (immutable) */ exports["j"] = isStringMap;
  4763. /* unused harmony export isStrictStringMap */
  4764. /* harmony export (immutable) */ exports["c"] = isArray;
  4765. /* harmony export (immutable) */ exports["i"] = isDate;
  4766. /* unused harmony export noop */
  4767. /* harmony export (immutable) */ exports["g"] = stringify;
  4768. /* unused harmony export serializeEnum */
  4769. /* unused harmony export deserializeEnum */
  4770. /* unused harmony export resolveEnumToken */
  4771. /* unused harmony export StringWrapper */
  4772. /* unused harmony export StringJoiner */
  4773. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return NumberWrapper; });
  4774. /* unused harmony export RegExp */
  4775. /* unused harmony export FunctionWrapper */
  4776. /* unused harmony export looseIdentical */
  4777. /* unused harmony export getMapKey */
  4778. /* unused harmony export normalizeBlank */
  4779. /* unused harmony export normalizeBool */
  4780. /* harmony export (immutable) */ exports["d"] = isJsObject;
  4781. /* unused harmony export print */
  4782. /* unused harmony export warn */
  4783. /* harmony export (binding) */ __webpack_require__.d(exports, "k", function() { return Json; });
  4784. /* unused harmony export DateWrapper */
  4785. /* unused harmony export setValueOnPath */
  4786. /* harmony export (immutable) */ exports["e"] = getSymbolIterator;
  4787. /* unused harmony export evalExpression */
  4788. /* unused harmony export isPrimitive */
  4789. /* unused harmony export hasConstructor */
  4790. /* unused harmony export escape */
  4791. /* unused harmony export escapeRegExp */
  4792. /**
  4793. * @license
  4794. * Copyright Google Inc. All Rights Reserved.
  4795. *
  4796. * Use of this source code is governed by an MIT-style license that can be
  4797. * found in the LICENSE file at https://angular.io/license
  4798. */
  4799. var globalScope;
  4800. if (typeof window === 'undefined') {
  4801. if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {
  4802. // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492
  4803. globalScope = self;
  4804. }
  4805. else {
  4806. globalScope = global;
  4807. }
  4808. }
  4809. else {
  4810. globalScope = window;
  4811. }
  4812. function scheduleMicroTask(fn) {
  4813. Zone.current.scheduleMicroTask('scheduleMicrotask', fn);
  4814. }
  4815. // Need to declare a new variable for global here since TypeScript
  4816. // exports the original value of the symbol.
  4817. var _global = globalScope;
  4818. function getTypeNameForDebugging(type) {
  4819. if (type['name']) {
  4820. return type['name'];
  4821. }
  4822. return typeof type;
  4823. }
  4824. var Math = _global.Math;
  4825. var Date = _global.Date;
  4826. // TODO: remove calls to assert in production environment
  4827. // Note: Can't just export this and import in in other files
  4828. // as `assert` is a reserved keyword in Dart
  4829. _global.assert = function assert(condition) {
  4830. // TODO: to be fixed properly via #2830, noop for now
  4831. };
  4832. function isPresent(obj) {
  4833. return obj !== undefined && obj !== null;
  4834. }
  4835. function isBlank(obj) {
  4836. return obj === undefined || obj === null;
  4837. }
  4838. function isBoolean(obj) {
  4839. return typeof obj === 'boolean';
  4840. }
  4841. function isNumber(obj) {
  4842. return typeof obj === 'number';
  4843. }
  4844. function isString(obj) {
  4845. return typeof obj === 'string';
  4846. }
  4847. function isFunction(obj) {
  4848. return typeof obj === 'function';
  4849. }
  4850. function isType(obj) {
  4851. return isFunction(obj);
  4852. }
  4853. function isStringMap(obj) {
  4854. return typeof obj === 'object' && obj !== null;
  4855. }
  4856. var STRING_MAP_PROTO = Object.getPrototypeOf({});
  4857. function isStrictStringMap(obj) {
  4858. return isStringMap(obj) && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;
  4859. }
  4860. function isArray(obj) {
  4861. return Array.isArray(obj);
  4862. }
  4863. function isDate(obj) {
  4864. return obj instanceof Date && !isNaN(obj.valueOf());
  4865. }
  4866. function noop() { }
  4867. function stringify(token) {
  4868. if (typeof token === 'string') {
  4869. return token;
  4870. }
  4871. if (token === undefined || token === null) {
  4872. return '' + token;
  4873. }
  4874. if (token.overriddenName) {
  4875. return token.overriddenName;
  4876. }
  4877. if (token.name) {
  4878. return token.name;
  4879. }
  4880. var res = token.toString();
  4881. var newLineIndex = res.indexOf('\n');
  4882. return (newLineIndex === -1) ? res : res.substring(0, newLineIndex);
  4883. }
  4884. // serialize / deserialize enum exist only for consistency with dart API
  4885. // enums in typescript don't need to be serialized
  4886. function serializeEnum(val) {
  4887. return val;
  4888. }
  4889. function deserializeEnum(val, values) {
  4890. return val;
  4891. }
  4892. function resolveEnumToken(enumValue, val) {
  4893. return enumValue[val];
  4894. }
  4895. var StringWrapper = (function () {
  4896. function StringWrapper() {
  4897. }
  4898. StringWrapper.fromCharCode = function (code) { return String.fromCharCode(code); };
  4899. StringWrapper.charCodeAt = function (s, index) { return s.charCodeAt(index); };
  4900. StringWrapper.split = function (s, regExp) { return s.split(regExp); };
  4901. StringWrapper.equals = function (s, s2) { return s === s2; };
  4902. StringWrapper.stripLeft = function (s, charVal) {
  4903. if (s && s.length) {
  4904. var pos = 0;
  4905. for (var i = 0; i < s.length; i++) {
  4906. if (s[i] != charVal)
  4907. break;
  4908. pos++;
  4909. }
  4910. s = s.substring(pos);
  4911. }
  4912. return s;
  4913. };
  4914. StringWrapper.stripRight = function (s, charVal) {
  4915. if (s && s.length) {
  4916. var pos = s.length;
  4917. for (var i = s.length - 1; i >= 0; i--) {
  4918. if (s[i] != charVal)
  4919. break;
  4920. pos--;
  4921. }
  4922. s = s.substring(0, pos);
  4923. }
  4924. return s;
  4925. };
  4926. StringWrapper.replace = function (s, from, replace) {
  4927. return s.replace(from, replace);
  4928. };
  4929. StringWrapper.replaceAll = function (s, from, replace) {
  4930. return s.replace(from, replace);
  4931. };
  4932. StringWrapper.slice = function (s, from, to) {
  4933. if (from === void 0) { from = 0; }
  4934. if (to === void 0) { to = null; }
  4935. return s.slice(from, to === null ? undefined : to);
  4936. };
  4937. StringWrapper.replaceAllMapped = function (s, from, cb) {
  4938. return s.replace(from, function () {
  4939. var matches = [];
  4940. for (var _i = 0; _i < arguments.length; _i++) {
  4941. matches[_i - 0] = arguments[_i];
  4942. }
  4943. // Remove offset & string from the result array
  4944. matches.splice(-2, 2);
  4945. // The callback receives match, p1, ..., pn
  4946. return cb(matches);
  4947. });
  4948. };
  4949. StringWrapper.contains = function (s, substr) { return s.indexOf(substr) != -1; };
  4950. StringWrapper.compare = function (a, b) {
  4951. if (a < b) {
  4952. return -1;
  4953. }
  4954. else if (a > b) {
  4955. return 1;
  4956. }
  4957. else {
  4958. return 0;
  4959. }
  4960. };
  4961. return StringWrapper;
  4962. }());
  4963. var StringJoiner = (function () {
  4964. function StringJoiner(parts) {
  4965. if (parts === void 0) { parts = []; }
  4966. this.parts = parts;
  4967. }
  4968. StringJoiner.prototype.add = function (part) { this.parts.push(part); };
  4969. StringJoiner.prototype.toString = function () { return this.parts.join(''); };
  4970. return StringJoiner;
  4971. }());
  4972. var NumberWrapper = (function () {
  4973. function NumberWrapper() {
  4974. }
  4975. NumberWrapper.toFixed = function (n, fractionDigits) { return n.toFixed(fractionDigits); };
  4976. NumberWrapper.equal = function (a, b) { return a === b; };
  4977. NumberWrapper.parseIntAutoRadix = function (text) {
  4978. var result = parseInt(text);
  4979. if (isNaN(result)) {
  4980. throw new Error('Invalid integer literal when parsing ' + text);
  4981. }
  4982. return result;
  4983. };
  4984. NumberWrapper.parseInt = function (text, radix) {
  4985. if (radix == 10) {
  4986. if (/^(\-|\+)?[0-9]+$/.test(text)) {
  4987. return parseInt(text, radix);
  4988. }
  4989. }
  4990. else if (radix == 16) {
  4991. if (/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text)) {
  4992. return parseInt(text, radix);
  4993. }
  4994. }
  4995. else {
  4996. var result = parseInt(text, radix);
  4997. if (!isNaN(result)) {
  4998. return result;
  4999. }
  5000. }
  5001. throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);
  5002. };
  5003. Object.defineProperty(NumberWrapper, "NaN", {
  5004. get: function () { return NaN; },
  5005. enumerable: true,
  5006. configurable: true
  5007. });
  5008. NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };
  5009. NumberWrapper.isNaN = function (value) { return isNaN(value); };
  5010. NumberWrapper.isInteger = function (value) { return Number.isInteger(value); };
  5011. return NumberWrapper;
  5012. }());
  5013. var RegExp = _global.RegExp;
  5014. var FunctionWrapper = (function () {
  5015. function FunctionWrapper() {
  5016. }
  5017. FunctionWrapper.apply = function (fn, posArgs) { return fn.apply(null, posArgs); };
  5018. FunctionWrapper.bind = function (fn, scope) { return fn.bind(scope); };
  5019. return FunctionWrapper;
  5020. }());
  5021. // JS has NaN !== NaN
  5022. function looseIdentical(a, b) {
  5023. return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
  5024. }
  5025. // JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)
  5026. // see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
  5027. function getMapKey(value) {
  5028. return value;
  5029. }
  5030. function normalizeBlank(obj) {
  5031. return isBlank(obj) ? null : obj;
  5032. }
  5033. function normalizeBool(obj) {
  5034. return isBlank(obj) ? false : obj;
  5035. }
  5036. function isJsObject(o) {
  5037. return o !== null && (typeof o === 'function' || typeof o === 'object');
  5038. }
  5039. function print(obj) {
  5040. console.log(obj);
  5041. }
  5042. function warn(obj) {
  5043. console.warn(obj);
  5044. }
  5045. // Can't be all uppercase as our transpiler would think it is a special directive...
  5046. var Json = (function () {
  5047. function Json() {
  5048. }
  5049. Json.parse = function (s) { return _global.JSON.parse(s); };
  5050. Json.stringify = function (data) {
  5051. // Dart doesn't take 3 arguments
  5052. return _global.JSON.stringify(data, null, 2);
  5053. };
  5054. return Json;
  5055. }());
  5056. var DateWrapper = (function () {
  5057. function DateWrapper() {
  5058. }
  5059. DateWrapper.create = function (year, month, day, hour, minutes, seconds, milliseconds) {
  5060. if (month === void 0) { month = 1; }
  5061. if (day === void 0) { day = 1; }
  5062. if (hour === void 0) { hour = 0; }
  5063. if (minutes === void 0) { minutes = 0; }
  5064. if (seconds === void 0) { seconds = 0; }
  5065. if (milliseconds === void 0) { milliseconds = 0; }
  5066. return new Date(year, month - 1, day, hour, minutes, seconds, milliseconds);
  5067. };
  5068. DateWrapper.fromISOString = function (str) { return new Date(str); };
  5069. DateWrapper.fromMillis = function (ms) { return new Date(ms); };
  5070. DateWrapper.toMillis = function (date) { return date.getTime(); };
  5071. DateWrapper.now = function () { return new Date(); };
  5072. DateWrapper.toJson = function (date) { return date.toJSON(); };
  5073. return DateWrapper;
  5074. }());
  5075. function setValueOnPath(global, path, value) {
  5076. var parts = path.split('.');
  5077. var obj = global;
  5078. while (parts.length > 1) {
  5079. var name = parts.shift();
  5080. if (obj.hasOwnProperty(name) && isPresent(obj[name])) {
  5081. obj = obj[name];
  5082. }
  5083. else {
  5084. obj = obj[name] = {};
  5085. }
  5086. }
  5087. if (obj === undefined || obj === null) {
  5088. obj = {};
  5089. }
  5090. obj[parts.shift()] = value;
  5091. }
  5092. var _symbolIterator = null;
  5093. function getSymbolIterator() {
  5094. if (isBlank(_symbolIterator)) {
  5095. if (isPresent(globalScope.Symbol) && isPresent(Symbol.iterator)) {
  5096. _symbolIterator = Symbol.iterator;
  5097. }
  5098. else {
  5099. // es6-shim specific logic
  5100. var keys = Object.getOwnPropertyNames(Map.prototype);
  5101. for (var i = 0; i < keys.length; ++i) {
  5102. var key = keys[i];
  5103. if (key !== 'entries' && key !== 'size' &&
  5104. Map.prototype[key] === Map.prototype['entries']) {
  5105. _symbolIterator = key;
  5106. }
  5107. }
  5108. }
  5109. }
  5110. return _symbolIterator;
  5111. }
  5112. function evalExpression(sourceUrl, expr, declarations, vars) {
  5113. var fnBody = declarations + "\nreturn " + expr + "\n//# sourceURL=" + sourceUrl;
  5114. var fnArgNames = [];
  5115. var fnArgValues = [];
  5116. for (var argName in vars) {
  5117. fnArgNames.push(argName);
  5118. fnArgValues.push(vars[argName]);
  5119. }
  5120. return new (Function.bind.apply(Function, [void 0].concat(fnArgNames.concat(fnBody))))().apply(void 0, fnArgValues);
  5121. }
  5122. function isPrimitive(obj) {
  5123. return !isJsObject(obj);
  5124. }
  5125. function hasConstructor(value, type) {
  5126. return value.constructor === type;
  5127. }
  5128. function escape(s) {
  5129. return _global.encodeURI(s);
  5130. }
  5131. function escapeRegExp(s) {
  5132. return s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
  5133. }
  5134. //# sourceMappingURL=lang.js.map
  5135. /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(64)))
  5136. /***/ },
  5137. /* 29 */
  5138. /***/ function(module, exports, __webpack_require__) {
  5139. "use strict";
  5140. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(13);
  5141. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(4);
  5142. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__output_output_ast__ = __webpack_require__(12);
  5143. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return MODULE_SUFFIX; });
  5144. /* harmony export (immutable) */ exports["f"] = camelCaseToDashCase;
  5145. /* harmony export (immutable) */ exports["b"] = splitAtColon;
  5146. /* harmony export (immutable) */ exports["a"] = sanitizeIdentifier;
  5147. /* harmony export (immutable) */ exports["d"] = visitValue;
  5148. /* harmony export (binding) */ __webpack_require__.d(exports, "i", function() { return ValueTransformer; });
  5149. /* harmony export (immutable) */ exports["c"] = assetUrl;
  5150. /* harmony export (immutable) */ exports["e"] = createDiTokenExpression;
  5151. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return SyncAsyncResult; });
  5152. /**
  5153. * @license
  5154. * Copyright Google Inc. All Rights Reserved.
  5155. *
  5156. * Use of this source code is governed by an MIT-style license that can be
  5157. * found in the LICENSE file at https://angular.io/license
  5158. */
  5159. var MODULE_SUFFIX = '';
  5160. var CAMEL_CASE_REGEXP = /([A-Z])/g;
  5161. function camelCaseToDashCase(input) {
  5162. return __WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* StringWrapper */].replaceAllMapped(input, CAMEL_CASE_REGEXP, function (m) { return '-' + m[1].toLowerCase(); });
  5163. }
  5164. function splitAtColon(input, defaultValues) {
  5165. var colonIndex = input.indexOf(':');
  5166. if (colonIndex == -1)
  5167. return defaultValues;
  5168. return [input.slice(0, colonIndex).trim(), input.slice(colonIndex + 1).trim()];
  5169. }
  5170. function sanitizeIdentifier(name) {
  5171. return __WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* StringWrapper */].replaceAll(name, /\W/g, '_');
  5172. }
  5173. function visitValue(value, visitor, context) {
  5174. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["c" /* isArray */])(value)) {
  5175. return visitor.visitArray(value, context);
  5176. }
  5177. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["h" /* isStrictStringMap */])(value)) {
  5178. return visitor.visitStringMap(value, context);
  5179. }
  5180. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(value) || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["i" /* isPrimitive */])(value)) {
  5181. return visitor.visitPrimitive(value, context);
  5182. }
  5183. else {
  5184. return visitor.visitOther(value, context);
  5185. }
  5186. }
  5187. var ValueTransformer = (function () {
  5188. function ValueTransformer() {
  5189. }
  5190. ValueTransformer.prototype.visitArray = function (arr, context) {
  5191. var _this = this;
  5192. return arr.map(function (value) { return visitValue(value, _this, context); });
  5193. };
  5194. ValueTransformer.prototype.visitStringMap = function (map, context) {
  5195. var _this = this;
  5196. var result = {};
  5197. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["b" /* StringMapWrapper */].forEach(map, function (value /** TODO #9100 */, key /** TODO #9100 */) {
  5198. result[key] = visitValue(value, _this, context);
  5199. });
  5200. return result;
  5201. };
  5202. ValueTransformer.prototype.visitPrimitive = function (value, context) { return value; };
  5203. ValueTransformer.prototype.visitOther = function (value, context) { return value; };
  5204. return ValueTransformer;
  5205. }());
  5206. function assetUrl(pkg, path, type) {
  5207. if (path === void 0) { path = null; }
  5208. if (type === void 0) { type = 'src'; }
  5209. if (path == null) {
  5210. return "asset:@angular/lib/" + pkg + "/index";
  5211. }
  5212. else {
  5213. return "asset:@angular/lib/" + pkg + "/src/" + path;
  5214. }
  5215. }
  5216. function createDiTokenExpression(token) {
  5217. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(token.value)) {
  5218. return __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["a" /* literal */](token.value);
  5219. }
  5220. else if (token.identifierIsInstance) {
  5221. return __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["b" /* importExpr */](token.identifier)
  5222. .instantiate([], __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["c" /* importType */](token.identifier, [], [__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["d" /* TypeModifier */].Const]));
  5223. }
  5224. else {
  5225. return __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["b" /* importExpr */](token.identifier);
  5226. }
  5227. }
  5228. var SyncAsyncResult = (function () {
  5229. function SyncAsyncResult(syncResult, asyncResult) {
  5230. if (asyncResult === void 0) { asyncResult = null; }
  5231. this.syncResult = syncResult;
  5232. this.asyncResult = asyncResult;
  5233. if (!asyncResult) {
  5234. this.asyncResult = Promise.resolve(syncResult);
  5235. }
  5236. }
  5237. return SyncAsyncResult;
  5238. }());
  5239. //# sourceMappingURL=util.js.map
  5240. /***/ },
  5241. /* 30 */,
  5242. /* 31 */
  5243. /***/ function(module, exports, __webpack_require__) {
  5244. "use strict";
  5245. /* WEBPACK VAR INJECTION */(function(global) {/* unused harmony export scheduleMicroTask */
  5246. /* harmony export (binding) */ __webpack_require__.d(exports, "j", function() { return _global; });
  5247. /* unused harmony export getTypeNameForDebugging */
  5248. /* unused harmony export Math */
  5249. /* unused harmony export Date */
  5250. /* harmony export (immutable) */ exports["a"] = isPresent;
  5251. /* harmony export (immutable) */ exports["b"] = isBlank;
  5252. /* unused harmony export isBoolean */
  5253. /* harmony export (immutable) */ exports["g"] = isNumber;
  5254. /* harmony export (immutable) */ exports["l"] = isString;
  5255. /* harmony export (immutable) */ exports["h"] = isFunction;
  5256. /* unused harmony export isType */
  5257. /* unused harmony export isStringMap */
  5258. /* unused harmony export isStrictStringMap */
  5259. /* harmony export (immutable) */ exports["c"] = isArray;
  5260. /* unused harmony export isDate */
  5261. /* unused harmony export noop */
  5262. /* harmony export (immutable) */ exports["n"] = stringify;
  5263. /* unused harmony export serializeEnum */
  5264. /* unused harmony export deserializeEnum */
  5265. /* unused harmony export resolveEnumToken */
  5266. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return StringWrapper; });
  5267. /* unused harmony export StringJoiner */
  5268. /* harmony export (binding) */ __webpack_require__.d(exports, "o", function() { return NumberWrapper; });
  5269. /* unused harmony export RegExp */
  5270. /* unused harmony export FunctionWrapper */
  5271. /* unused harmony export looseIdentical */
  5272. /* unused harmony export getMapKey */
  5273. /* unused harmony export normalizeBlank */
  5274. /* unused harmony export normalizeBool */
  5275. /* harmony export (immutable) */ exports["d"] = isJsObject;
  5276. /* unused harmony export print */
  5277. /* unused harmony export warn */
  5278. /* harmony export (binding) */ __webpack_require__.d(exports, "m", function() { return Json; });
  5279. /* harmony export (binding) */ __webpack_require__.d(exports, "k", function() { return DateWrapper; });
  5280. /* harmony export (immutable) */ exports["i"] = setValueOnPath;
  5281. /* harmony export (immutable) */ exports["e"] = getSymbolIterator;
  5282. /* unused harmony export evalExpression */
  5283. /* unused harmony export isPrimitive */
  5284. /* unused harmony export hasConstructor */
  5285. /* unused harmony export escape */
  5286. /* unused harmony export escapeRegExp */
  5287. /**
  5288. * @license
  5289. * Copyright Google Inc. All Rights Reserved.
  5290. *
  5291. * Use of this source code is governed by an MIT-style license that can be
  5292. * found in the LICENSE file at https://angular.io/license
  5293. */
  5294. var globalScope;
  5295. if (typeof window === 'undefined') {
  5296. if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {
  5297. // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492
  5298. globalScope = self;
  5299. }
  5300. else {
  5301. globalScope = global;
  5302. }
  5303. }
  5304. else {
  5305. globalScope = window;
  5306. }
  5307. function scheduleMicroTask(fn) {
  5308. Zone.current.scheduleMicroTask('scheduleMicrotask', fn);
  5309. }
  5310. // Need to declare a new variable for global here since TypeScript
  5311. // exports the original value of the symbol.
  5312. var _global = globalScope;
  5313. function getTypeNameForDebugging(type) {
  5314. if (type['name']) {
  5315. return type['name'];
  5316. }
  5317. return typeof type;
  5318. }
  5319. var Math = _global.Math;
  5320. var Date = _global.Date;
  5321. // TODO: remove calls to assert in production environment
  5322. // Note: Can't just export this and import in in other files
  5323. // as `assert` is a reserved keyword in Dart
  5324. _global.assert = function assert(condition) {
  5325. // TODO: to be fixed properly via #2830, noop for now
  5326. };
  5327. function isPresent(obj) {
  5328. return obj !== undefined && obj !== null;
  5329. }
  5330. function isBlank(obj) {
  5331. return obj === undefined || obj === null;
  5332. }
  5333. function isBoolean(obj) {
  5334. return typeof obj === 'boolean';
  5335. }
  5336. function isNumber(obj) {
  5337. return typeof obj === 'number';
  5338. }
  5339. function isString(obj) {
  5340. return typeof obj === 'string';
  5341. }
  5342. function isFunction(obj) {
  5343. return typeof obj === 'function';
  5344. }
  5345. function isType(obj) {
  5346. return isFunction(obj);
  5347. }
  5348. function isStringMap(obj) {
  5349. return typeof obj === 'object' && obj !== null;
  5350. }
  5351. var STRING_MAP_PROTO = Object.getPrototypeOf({});
  5352. function isStrictStringMap(obj) {
  5353. return isStringMap(obj) && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;
  5354. }
  5355. function isArray(obj) {
  5356. return Array.isArray(obj);
  5357. }
  5358. function isDate(obj) {
  5359. return obj instanceof Date && !isNaN(obj.valueOf());
  5360. }
  5361. function noop() { }
  5362. function stringify(token) {
  5363. if (typeof token === 'string') {
  5364. return token;
  5365. }
  5366. if (token === undefined || token === null) {
  5367. return '' + token;
  5368. }
  5369. if (token.overriddenName) {
  5370. return token.overriddenName;
  5371. }
  5372. if (token.name) {
  5373. return token.name;
  5374. }
  5375. var res = token.toString();
  5376. var newLineIndex = res.indexOf('\n');
  5377. return (newLineIndex === -1) ? res : res.substring(0, newLineIndex);
  5378. }
  5379. // serialize / deserialize enum exist only for consistency with dart API
  5380. // enums in typescript don't need to be serialized
  5381. function serializeEnum(val) {
  5382. return val;
  5383. }
  5384. function deserializeEnum(val, values) {
  5385. return val;
  5386. }
  5387. function resolveEnumToken(enumValue, val) {
  5388. return enumValue[val];
  5389. }
  5390. var StringWrapper = (function () {
  5391. function StringWrapper() {
  5392. }
  5393. StringWrapper.fromCharCode = function (code) { return String.fromCharCode(code); };
  5394. StringWrapper.charCodeAt = function (s, index) { return s.charCodeAt(index); };
  5395. StringWrapper.split = function (s, regExp) { return s.split(regExp); };
  5396. StringWrapper.equals = function (s, s2) { return s === s2; };
  5397. StringWrapper.stripLeft = function (s, charVal) {
  5398. if (s && s.length) {
  5399. var pos = 0;
  5400. for (var i = 0; i < s.length; i++) {
  5401. if (s[i] != charVal)
  5402. break;
  5403. pos++;
  5404. }
  5405. s = s.substring(pos);
  5406. }
  5407. return s;
  5408. };
  5409. StringWrapper.stripRight = function (s, charVal) {
  5410. if (s && s.length) {
  5411. var pos = s.length;
  5412. for (var i = s.length - 1; i >= 0; i--) {
  5413. if (s[i] != charVal)
  5414. break;
  5415. pos--;
  5416. }
  5417. s = s.substring(0, pos);
  5418. }
  5419. return s;
  5420. };
  5421. StringWrapper.replace = function (s, from, replace) {
  5422. return s.replace(from, replace);
  5423. };
  5424. StringWrapper.replaceAll = function (s, from, replace) {
  5425. return s.replace(from, replace);
  5426. };
  5427. StringWrapper.slice = function (s, from, to) {
  5428. if (from === void 0) { from = 0; }
  5429. if (to === void 0) { to = null; }
  5430. return s.slice(from, to === null ? undefined : to);
  5431. };
  5432. StringWrapper.replaceAllMapped = function (s, from, cb) {
  5433. return s.replace(from, function () {
  5434. var matches = [];
  5435. for (var _i = 0; _i < arguments.length; _i++) {
  5436. matches[_i - 0] = arguments[_i];
  5437. }
  5438. // Remove offset & string from the result array
  5439. matches.splice(-2, 2);
  5440. // The callback receives match, p1, ..., pn
  5441. return cb(matches);
  5442. });
  5443. };
  5444. StringWrapper.contains = function (s, substr) { return s.indexOf(substr) != -1; };
  5445. StringWrapper.compare = function (a, b) {
  5446. if (a < b) {
  5447. return -1;
  5448. }
  5449. else if (a > b) {
  5450. return 1;
  5451. }
  5452. else {
  5453. return 0;
  5454. }
  5455. };
  5456. return StringWrapper;
  5457. }());
  5458. var StringJoiner = (function () {
  5459. function StringJoiner(parts) {
  5460. if (parts === void 0) { parts = []; }
  5461. this.parts = parts;
  5462. }
  5463. StringJoiner.prototype.add = function (part) { this.parts.push(part); };
  5464. StringJoiner.prototype.toString = function () { return this.parts.join(''); };
  5465. return StringJoiner;
  5466. }());
  5467. var NumberWrapper = (function () {
  5468. function NumberWrapper() {
  5469. }
  5470. NumberWrapper.toFixed = function (n, fractionDigits) { return n.toFixed(fractionDigits); };
  5471. NumberWrapper.equal = function (a, b) { return a === b; };
  5472. NumberWrapper.parseIntAutoRadix = function (text) {
  5473. var result = parseInt(text);
  5474. if (isNaN(result)) {
  5475. throw new Error('Invalid integer literal when parsing ' + text);
  5476. }
  5477. return result;
  5478. };
  5479. NumberWrapper.parseInt = function (text, radix) {
  5480. if (radix == 10) {
  5481. if (/^(\-|\+)?[0-9]+$/.test(text)) {
  5482. return parseInt(text, radix);
  5483. }
  5484. }
  5485. else if (radix == 16) {
  5486. if (/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text)) {
  5487. return parseInt(text, radix);
  5488. }
  5489. }
  5490. else {
  5491. var result = parseInt(text, radix);
  5492. if (!isNaN(result)) {
  5493. return result;
  5494. }
  5495. }
  5496. throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);
  5497. };
  5498. Object.defineProperty(NumberWrapper, "NaN", {
  5499. get: function () { return NaN; },
  5500. enumerable: true,
  5501. configurable: true
  5502. });
  5503. NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };
  5504. NumberWrapper.isNaN = function (value) { return isNaN(value); };
  5505. NumberWrapper.isInteger = function (value) { return Number.isInteger(value); };
  5506. return NumberWrapper;
  5507. }());
  5508. var RegExp = _global.RegExp;
  5509. var FunctionWrapper = (function () {
  5510. function FunctionWrapper() {
  5511. }
  5512. FunctionWrapper.apply = function (fn, posArgs) { return fn.apply(null, posArgs); };
  5513. FunctionWrapper.bind = function (fn, scope) { return fn.bind(scope); };
  5514. return FunctionWrapper;
  5515. }());
  5516. // JS has NaN !== NaN
  5517. function looseIdentical(a, b) {
  5518. return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
  5519. }
  5520. // JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)
  5521. // see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
  5522. function getMapKey(value) {
  5523. return value;
  5524. }
  5525. function normalizeBlank(obj) {
  5526. return isBlank(obj) ? null : obj;
  5527. }
  5528. function normalizeBool(obj) {
  5529. return isBlank(obj) ? false : obj;
  5530. }
  5531. function isJsObject(o) {
  5532. return o !== null && (typeof o === 'function' || typeof o === 'object');
  5533. }
  5534. function print(obj) {
  5535. console.log(obj);
  5536. }
  5537. function warn(obj) {
  5538. console.warn(obj);
  5539. }
  5540. // Can't be all uppercase as our transpiler would think it is a special directive...
  5541. var Json = (function () {
  5542. function Json() {
  5543. }
  5544. Json.parse = function (s) { return _global.JSON.parse(s); };
  5545. Json.stringify = function (data) {
  5546. // Dart doesn't take 3 arguments
  5547. return _global.JSON.stringify(data, null, 2);
  5548. };
  5549. return Json;
  5550. }());
  5551. var DateWrapper = (function () {
  5552. function DateWrapper() {
  5553. }
  5554. DateWrapper.create = function (year, month, day, hour, minutes, seconds, milliseconds) {
  5555. if (month === void 0) { month = 1; }
  5556. if (day === void 0) { day = 1; }
  5557. if (hour === void 0) { hour = 0; }
  5558. if (minutes === void 0) { minutes = 0; }
  5559. if (seconds === void 0) { seconds = 0; }
  5560. if (milliseconds === void 0) { milliseconds = 0; }
  5561. return new Date(year, month - 1, day, hour, minutes, seconds, milliseconds);
  5562. };
  5563. DateWrapper.fromISOString = function (str) { return new Date(str); };
  5564. DateWrapper.fromMillis = function (ms) { return new Date(ms); };
  5565. DateWrapper.toMillis = function (date) { return date.getTime(); };
  5566. DateWrapper.now = function () { return new Date(); };
  5567. DateWrapper.toJson = function (date) { return date.toJSON(); };
  5568. return DateWrapper;
  5569. }());
  5570. function setValueOnPath(global, path, value) {
  5571. var parts = path.split('.');
  5572. var obj = global;
  5573. while (parts.length > 1) {
  5574. var name = parts.shift();
  5575. if (obj.hasOwnProperty(name) && isPresent(obj[name])) {
  5576. obj = obj[name];
  5577. }
  5578. else {
  5579. obj = obj[name] = {};
  5580. }
  5581. }
  5582. if (obj === undefined || obj === null) {
  5583. obj = {};
  5584. }
  5585. obj[parts.shift()] = value;
  5586. }
  5587. var _symbolIterator = null;
  5588. function getSymbolIterator() {
  5589. if (isBlank(_symbolIterator)) {
  5590. if (isPresent(globalScope.Symbol) && isPresent(Symbol.iterator)) {
  5591. _symbolIterator = Symbol.iterator;
  5592. }
  5593. else {
  5594. // es6-shim specific logic
  5595. var keys = Object.getOwnPropertyNames(Map.prototype);
  5596. for (var i = 0; i < keys.length; ++i) {
  5597. var key = keys[i];
  5598. if (key !== 'entries' && key !== 'size' &&
  5599. Map.prototype[key] === Map.prototype['entries']) {
  5600. _symbolIterator = key;
  5601. }
  5602. }
  5603. }
  5604. }
  5605. return _symbolIterator;
  5606. }
  5607. function evalExpression(sourceUrl, expr, declarations, vars) {
  5608. var fnBody = declarations + "\nreturn " + expr + "\n//# sourceURL=" + sourceUrl;
  5609. var fnArgNames = [];
  5610. var fnArgValues = [];
  5611. for (var argName in vars) {
  5612. fnArgNames.push(argName);
  5613. fnArgValues.push(vars[argName]);
  5614. }
  5615. return new (Function.bind.apply(Function, [void 0].concat(fnArgNames.concat(fnBody))))().apply(void 0, fnArgValues);
  5616. }
  5617. function isPrimitive(obj) {
  5618. return !isJsObject(obj);
  5619. }
  5620. function hasConstructor(value, type) {
  5621. return value.constructor === type;
  5622. }
  5623. function escape(s) {
  5624. return _global.encodeURI(s);
  5625. }
  5626. function escapeRegExp(s) {
  5627. return s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
  5628. }
  5629. //# sourceMappingURL=lang.js.map
  5630. /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(64)))
  5631. /***/ },
  5632. /* 32 */
  5633. /***/ function(module, exports) {
  5634. var hasOwnProperty = {}.hasOwnProperty;
  5635. module.exports = function(it, key){
  5636. return hasOwnProperty.call(it, key);
  5637. };
  5638. /***/ },
  5639. /* 33 */
  5640. /***/ function(module, exports, __webpack_require__) {
  5641. "use strict";
  5642. "use strict";
  5643. var AsyncAction_1 = __webpack_require__(122);
  5644. var AsyncScheduler_1 = __webpack_require__(123);
  5645. exports.async = new AsyncScheduler_1.AsyncScheduler(AsyncAction_1.AsyncAction);
  5646. //# sourceMappingURL=async.js.map
  5647. /***/ },
  5648. /* 34 */
  5649. /***/ function(module, exports, __webpack_require__) {
  5650. var $export = __webpack_require__(2)
  5651. , fails = __webpack_require__(9)
  5652. , defined = __webpack_require__(59)
  5653. , quot = /"/g;
  5654. // B.2.3.2.1 CreateHTML(string, tag, attribute, value)
  5655. var createHTML = function(string, tag, attribute, value) {
  5656. var S = String(defined(string))
  5657. , p1 = '<' + tag;
  5658. if(attribute !== '')p1 += ' ' + attribute + '="' + String(value).replace(quot, '&quot;') + '"';
  5659. return p1 + '>' + S + '</' + tag + '>';
  5660. };
  5661. module.exports = function(NAME, exec){
  5662. var O = {};
  5663. O[NAME] = exec(createHTML);
  5664. $export($export.P + $export.F * fails(function(){
  5665. var test = ''[NAME]('"');
  5666. return test !== test.toLowerCase() || test.split('"').length > 3;
  5667. }), 'String', O);
  5668. };
  5669. /***/ },
  5670. /* 35 */
  5671. /***/ function(module, exports, __webpack_require__) {
  5672. "use strict";
  5673. /* harmony export (immutable) */ exports["a"] = unimplemented;
  5674. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return BaseError; });
  5675. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return WrappedError; });
  5676. /**
  5677. * @license
  5678. * Copyright Google Inc. All Rights Reserved.
  5679. *
  5680. * Use of this source code is governed by an MIT-style license that can be
  5681. * found in the LICENSE file at https://angular.io/license
  5682. */
  5683. var __extends = (this && this.__extends) || function (d, b) {
  5684. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  5685. function __() { this.constructor = d; }
  5686. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  5687. };
  5688. function unimplemented() {
  5689. throw new Error('unimplemented');
  5690. }
  5691. /**
  5692. * @stable
  5693. */
  5694. var BaseError = (function (_super) {
  5695. __extends(BaseError, _super);
  5696. function BaseError(message) {
  5697. // Errors don't use current this, instead they create a new instance.
  5698. // We have to do forward all of our api to the nativeInstance.
  5699. var nativeError = _super.call(this, message);
  5700. this._nativeError = nativeError;
  5701. }
  5702. Object.defineProperty(BaseError.prototype, "message", {
  5703. get: function () { return this._nativeError.message; },
  5704. set: function (message) { this._nativeError.message = message; },
  5705. enumerable: true,
  5706. configurable: true
  5707. });
  5708. Object.defineProperty(BaseError.prototype, "name", {
  5709. get: function () { return this._nativeError.name; },
  5710. enumerable: true,
  5711. configurable: true
  5712. });
  5713. Object.defineProperty(BaseError.prototype, "stack", {
  5714. get: function () { return this._nativeError.stack; },
  5715. set: function (value) { this._nativeError.stack = value; },
  5716. enumerable: true,
  5717. configurable: true
  5718. });
  5719. BaseError.prototype.toString = function () { return this._nativeError.toString(); };
  5720. return BaseError;
  5721. }(Error));
  5722. /**
  5723. * @stable
  5724. */
  5725. var WrappedError = (function (_super) {
  5726. __extends(WrappedError, _super);
  5727. function WrappedError(message, error) {
  5728. _super.call(this, message + " caused by: " + (error instanceof Error ? error.message : error));
  5729. this.originalError = error;
  5730. }
  5731. Object.defineProperty(WrappedError.prototype, "stack", {
  5732. get: function () {
  5733. return (this.originalError instanceof Error ? this.originalError : this._nativeError)
  5734. .stack;
  5735. },
  5736. enumerable: true,
  5737. configurable: true
  5738. });
  5739. return WrappedError;
  5740. }(BaseError));
  5741. //# sourceMappingURL=errors.js.map
  5742. /***/ },
  5743. /* 36 */
  5744. /***/ function(module, exports, __webpack_require__) {
  5745. "use strict";
  5746. /* WEBPACK VAR INJECTION */(function(global) {/* unused harmony export scheduleMicroTask */
  5747. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return _global; });
  5748. /* unused harmony export getTypeNameForDebugging */
  5749. /* unused harmony export Math */
  5750. /* unused harmony export Date */
  5751. /* harmony export (immutable) */ exports["a"] = isPresent;
  5752. /* harmony export (immutable) */ exports["b"] = isBlank;
  5753. /* unused harmony export isBoolean */
  5754. /* unused harmony export isNumber */
  5755. /* harmony export (immutable) */ exports["f"] = isString;
  5756. /* unused harmony export isFunction */
  5757. /* unused harmony export isType */
  5758. /* unused harmony export isStringMap */
  5759. /* unused harmony export isStrictStringMap */
  5760. /* harmony export (immutable) */ exports["c"] = isArray;
  5761. /* unused harmony export isDate */
  5762. /* unused harmony export noop */
  5763. /* unused harmony export stringify */
  5764. /* unused harmony export serializeEnum */
  5765. /* unused harmony export deserializeEnum */
  5766. /* unused harmony export resolveEnumToken */
  5767. /* harmony export (binding) */ __webpack_require__.d(exports, "i", function() { return StringWrapper; });
  5768. /* unused harmony export StringJoiner */
  5769. /* unused harmony export NumberWrapper */
  5770. /* unused harmony export RegExp */
  5771. /* unused harmony export FunctionWrapper */
  5772. /* unused harmony export looseIdentical */
  5773. /* unused harmony export getMapKey */
  5774. /* unused harmony export normalizeBlank */
  5775. /* unused harmony export normalizeBool */
  5776. /* harmony export (immutable) */ exports["d"] = isJsObject;
  5777. /* unused harmony export print */
  5778. /* unused harmony export warn */
  5779. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return Json; });
  5780. /* unused harmony export DateWrapper */
  5781. /* unused harmony export setValueOnPath */
  5782. /* harmony export (immutable) */ exports["e"] = getSymbolIterator;
  5783. /* unused harmony export evalExpression */
  5784. /* unused harmony export isPrimitive */
  5785. /* unused harmony export hasConstructor */
  5786. /* unused harmony export escape */
  5787. /* unused harmony export escapeRegExp */
  5788. /**
  5789. * @license
  5790. * Copyright Google Inc. All Rights Reserved.
  5791. *
  5792. * Use of this source code is governed by an MIT-style license that can be
  5793. * found in the LICENSE file at https://angular.io/license
  5794. */
  5795. var globalScope;
  5796. if (typeof window === 'undefined') {
  5797. if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {
  5798. // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492
  5799. globalScope = self;
  5800. }
  5801. else {
  5802. globalScope = global;
  5803. }
  5804. }
  5805. else {
  5806. globalScope = window;
  5807. }
  5808. function scheduleMicroTask(fn) {
  5809. Zone.current.scheduleMicroTask('scheduleMicrotask', fn);
  5810. }
  5811. // Need to declare a new variable for global here since TypeScript
  5812. // exports the original value of the symbol.
  5813. var _global = globalScope;
  5814. function getTypeNameForDebugging(type) {
  5815. if (type['name']) {
  5816. return type['name'];
  5817. }
  5818. return typeof type;
  5819. }
  5820. var Math = _global.Math;
  5821. var Date = _global.Date;
  5822. // TODO: remove calls to assert in production environment
  5823. // Note: Can't just export this and import in in other files
  5824. // as `assert` is a reserved keyword in Dart
  5825. _global.assert = function assert(condition) {
  5826. // TODO: to be fixed properly via #2830, noop for now
  5827. };
  5828. function isPresent(obj) {
  5829. return obj !== undefined && obj !== null;
  5830. }
  5831. function isBlank(obj) {
  5832. return obj === undefined || obj === null;
  5833. }
  5834. function isBoolean(obj) {
  5835. return typeof obj === 'boolean';
  5836. }
  5837. function isNumber(obj) {
  5838. return typeof obj === 'number';
  5839. }
  5840. function isString(obj) {
  5841. return typeof obj === 'string';
  5842. }
  5843. function isFunction(obj) {
  5844. return typeof obj === 'function';
  5845. }
  5846. function isType(obj) {
  5847. return isFunction(obj);
  5848. }
  5849. function isStringMap(obj) {
  5850. return typeof obj === 'object' && obj !== null;
  5851. }
  5852. var STRING_MAP_PROTO = Object.getPrototypeOf({});
  5853. function isStrictStringMap(obj) {
  5854. return isStringMap(obj) && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;
  5855. }
  5856. function isArray(obj) {
  5857. return Array.isArray(obj);
  5858. }
  5859. function isDate(obj) {
  5860. return obj instanceof Date && !isNaN(obj.valueOf());
  5861. }
  5862. function noop() { }
  5863. function stringify(token) {
  5864. if (typeof token === 'string') {
  5865. return token;
  5866. }
  5867. if (token === undefined || token === null) {
  5868. return '' + token;
  5869. }
  5870. if (token.overriddenName) {
  5871. return token.overriddenName;
  5872. }
  5873. if (token.name) {
  5874. return token.name;
  5875. }
  5876. var res = token.toString();
  5877. var newLineIndex = res.indexOf('\n');
  5878. return (newLineIndex === -1) ? res : res.substring(0, newLineIndex);
  5879. }
  5880. // serialize / deserialize enum exist only for consistency with dart API
  5881. // enums in typescript don't need to be serialized
  5882. function serializeEnum(val) {
  5883. return val;
  5884. }
  5885. function deserializeEnum(val, values) {
  5886. return val;
  5887. }
  5888. function resolveEnumToken(enumValue, val) {
  5889. return enumValue[val];
  5890. }
  5891. var StringWrapper = (function () {
  5892. function StringWrapper() {
  5893. }
  5894. StringWrapper.fromCharCode = function (code) { return String.fromCharCode(code); };
  5895. StringWrapper.charCodeAt = function (s, index) { return s.charCodeAt(index); };
  5896. StringWrapper.split = function (s, regExp) { return s.split(regExp); };
  5897. StringWrapper.equals = function (s, s2) { return s === s2; };
  5898. StringWrapper.stripLeft = function (s, charVal) {
  5899. if (s && s.length) {
  5900. var pos = 0;
  5901. for (var i = 0; i < s.length; i++) {
  5902. if (s[i] != charVal)
  5903. break;
  5904. pos++;
  5905. }
  5906. s = s.substring(pos);
  5907. }
  5908. return s;
  5909. };
  5910. StringWrapper.stripRight = function (s, charVal) {
  5911. if (s && s.length) {
  5912. var pos = s.length;
  5913. for (var i = s.length - 1; i >= 0; i--) {
  5914. if (s[i] != charVal)
  5915. break;
  5916. pos--;
  5917. }
  5918. s = s.substring(0, pos);
  5919. }
  5920. return s;
  5921. };
  5922. StringWrapper.replace = function (s, from, replace) {
  5923. return s.replace(from, replace);
  5924. };
  5925. StringWrapper.replaceAll = function (s, from, replace) {
  5926. return s.replace(from, replace);
  5927. };
  5928. StringWrapper.slice = function (s, from, to) {
  5929. if (from === void 0) { from = 0; }
  5930. if (to === void 0) { to = null; }
  5931. return s.slice(from, to === null ? undefined : to);
  5932. };
  5933. StringWrapper.replaceAllMapped = function (s, from, cb) {
  5934. return s.replace(from, function () {
  5935. var matches = [];
  5936. for (var _i = 0; _i < arguments.length; _i++) {
  5937. matches[_i - 0] = arguments[_i];
  5938. }
  5939. // Remove offset & string from the result array
  5940. matches.splice(-2, 2);
  5941. // The callback receives match, p1, ..., pn
  5942. return cb(matches);
  5943. });
  5944. };
  5945. StringWrapper.contains = function (s, substr) { return s.indexOf(substr) != -1; };
  5946. StringWrapper.compare = function (a, b) {
  5947. if (a < b) {
  5948. return -1;
  5949. }
  5950. else if (a > b) {
  5951. return 1;
  5952. }
  5953. else {
  5954. return 0;
  5955. }
  5956. };
  5957. return StringWrapper;
  5958. }());
  5959. var StringJoiner = (function () {
  5960. function StringJoiner(parts) {
  5961. if (parts === void 0) { parts = []; }
  5962. this.parts = parts;
  5963. }
  5964. StringJoiner.prototype.add = function (part) { this.parts.push(part); };
  5965. StringJoiner.prototype.toString = function () { return this.parts.join(''); };
  5966. return StringJoiner;
  5967. }());
  5968. var NumberWrapper = (function () {
  5969. function NumberWrapper() {
  5970. }
  5971. NumberWrapper.toFixed = function (n, fractionDigits) { return n.toFixed(fractionDigits); };
  5972. NumberWrapper.equal = function (a, b) { return a === b; };
  5973. NumberWrapper.parseIntAutoRadix = function (text) {
  5974. var result = parseInt(text);
  5975. if (isNaN(result)) {
  5976. throw new Error('Invalid integer literal when parsing ' + text);
  5977. }
  5978. return result;
  5979. };
  5980. NumberWrapper.parseInt = function (text, radix) {
  5981. if (radix == 10) {
  5982. if (/^(\-|\+)?[0-9]+$/.test(text)) {
  5983. return parseInt(text, radix);
  5984. }
  5985. }
  5986. else if (radix == 16) {
  5987. if (/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text)) {
  5988. return parseInt(text, radix);
  5989. }
  5990. }
  5991. else {
  5992. var result = parseInt(text, radix);
  5993. if (!isNaN(result)) {
  5994. return result;
  5995. }
  5996. }
  5997. throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);
  5998. };
  5999. Object.defineProperty(NumberWrapper, "NaN", {
  6000. get: function () { return NaN; },
  6001. enumerable: true,
  6002. configurable: true
  6003. });
  6004. NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };
  6005. NumberWrapper.isNaN = function (value) { return isNaN(value); };
  6006. NumberWrapper.isInteger = function (value) { return Number.isInteger(value); };
  6007. return NumberWrapper;
  6008. }());
  6009. var RegExp = _global.RegExp;
  6010. var FunctionWrapper = (function () {
  6011. function FunctionWrapper() {
  6012. }
  6013. FunctionWrapper.apply = function (fn, posArgs) { return fn.apply(null, posArgs); };
  6014. FunctionWrapper.bind = function (fn, scope) { return fn.bind(scope); };
  6015. return FunctionWrapper;
  6016. }());
  6017. // JS has NaN !== NaN
  6018. function looseIdentical(a, b) {
  6019. return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
  6020. }
  6021. // JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)
  6022. // see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
  6023. function getMapKey(value) {
  6024. return value;
  6025. }
  6026. function normalizeBlank(obj) {
  6027. return isBlank(obj) ? null : obj;
  6028. }
  6029. function normalizeBool(obj) {
  6030. return isBlank(obj) ? false : obj;
  6031. }
  6032. function isJsObject(o) {
  6033. return o !== null && (typeof o === 'function' || typeof o === 'object');
  6034. }
  6035. function print(obj) {
  6036. console.log(obj);
  6037. }
  6038. function warn(obj) {
  6039. console.warn(obj);
  6040. }
  6041. // Can't be all uppercase as our transpiler would think it is a special directive...
  6042. var Json = (function () {
  6043. function Json() {
  6044. }
  6045. Json.parse = function (s) { return _global.JSON.parse(s); };
  6046. Json.stringify = function (data) {
  6047. // Dart doesn't take 3 arguments
  6048. return _global.JSON.stringify(data, null, 2);
  6049. };
  6050. return Json;
  6051. }());
  6052. var DateWrapper = (function () {
  6053. function DateWrapper() {
  6054. }
  6055. DateWrapper.create = function (year, month, day, hour, minutes, seconds, milliseconds) {
  6056. if (month === void 0) { month = 1; }
  6057. if (day === void 0) { day = 1; }
  6058. if (hour === void 0) { hour = 0; }
  6059. if (minutes === void 0) { minutes = 0; }
  6060. if (seconds === void 0) { seconds = 0; }
  6061. if (milliseconds === void 0) { milliseconds = 0; }
  6062. return new Date(year, month - 1, day, hour, minutes, seconds, milliseconds);
  6063. };
  6064. DateWrapper.fromISOString = function (str) { return new Date(str); };
  6065. DateWrapper.fromMillis = function (ms) { return new Date(ms); };
  6066. DateWrapper.toMillis = function (date) { return date.getTime(); };
  6067. DateWrapper.now = function () { return new Date(); };
  6068. DateWrapper.toJson = function (date) { return date.toJSON(); };
  6069. return DateWrapper;
  6070. }());
  6071. function setValueOnPath(global, path, value) {
  6072. var parts = path.split('.');
  6073. var obj = global;
  6074. while (parts.length > 1) {
  6075. var name = parts.shift();
  6076. if (obj.hasOwnProperty(name) && isPresent(obj[name])) {
  6077. obj = obj[name];
  6078. }
  6079. else {
  6080. obj = obj[name] = {};
  6081. }
  6082. }
  6083. if (obj === undefined || obj === null) {
  6084. obj = {};
  6085. }
  6086. obj[parts.shift()] = value;
  6087. }
  6088. var _symbolIterator = null;
  6089. function getSymbolIterator() {
  6090. if (isBlank(_symbolIterator)) {
  6091. if (isPresent(globalScope.Symbol) && isPresent(Symbol.iterator)) {
  6092. _symbolIterator = Symbol.iterator;
  6093. }
  6094. else {
  6095. // es6-shim specific logic
  6096. var keys = Object.getOwnPropertyNames(Map.prototype);
  6097. for (var i = 0; i < keys.length; ++i) {
  6098. var key = keys[i];
  6099. if (key !== 'entries' && key !== 'size' &&
  6100. Map.prototype[key] === Map.prototype['entries']) {
  6101. _symbolIterator = key;
  6102. }
  6103. }
  6104. }
  6105. }
  6106. return _symbolIterator;
  6107. }
  6108. function evalExpression(sourceUrl, expr, declarations, vars) {
  6109. var fnBody = declarations + "\nreturn " + expr + "\n//# sourceURL=" + sourceUrl;
  6110. var fnArgNames = [];
  6111. var fnArgValues = [];
  6112. for (var argName in vars) {
  6113. fnArgNames.push(argName);
  6114. fnArgValues.push(vars[argName]);
  6115. }
  6116. return new (Function.bind.apply(Function, [void 0].concat(fnArgNames.concat(fnBody))))().apply(void 0, fnArgValues);
  6117. }
  6118. function isPrimitive(obj) {
  6119. return !isJsObject(obj);
  6120. }
  6121. function hasConstructor(value, type) {
  6122. return value.constructor === type;
  6123. }
  6124. function escape(s) {
  6125. return _global.encodeURI(s);
  6126. }
  6127. function escapeRegExp(s) {
  6128. return s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
  6129. }
  6130. //# sourceMappingURL=lang.js.map
  6131. /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(64)))
  6132. /***/ },
  6133. /* 37 */
  6134. /***/ function(module, exports, __webpack_require__) {
  6135. var global = __webpack_require__(11)
  6136. , hide = __webpack_require__(40)
  6137. , has = __webpack_require__(32)
  6138. , SRC = __webpack_require__(81)('src')
  6139. , TO_STRING = 'toString'
  6140. , $toString = Function[TO_STRING]
  6141. , TPL = ('' + $toString).split(TO_STRING);
  6142. __webpack_require__(69).inspectSource = function(it){
  6143. return $toString.call(it);
  6144. };
  6145. (module.exports = function(O, key, val, safe){
  6146. var isFunction = typeof val == 'function';
  6147. if(isFunction)has(val, 'name') || hide(val, 'name', key);
  6148. if(O[key] === val)return;
  6149. if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
  6150. if(O === global){
  6151. O[key] = val;
  6152. } else {
  6153. if(!safe){
  6154. delete O[key];
  6155. hide(O, key, val);
  6156. } else {
  6157. if(O[key])O[key] = val;
  6158. else hide(O, key, val);
  6159. }
  6160. }
  6161. // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
  6162. })(Function.prototype, TO_STRING, function toString(){
  6163. return typeof this == 'function' && this[SRC] || $toString.call(this);
  6164. });
  6165. /***/ },
  6166. /* 38 */
  6167. /***/ function(module, exports, __webpack_require__) {
  6168. // 7.1.13 ToObject(argument)
  6169. var defined = __webpack_require__(59);
  6170. module.exports = function(it){
  6171. return Object(defined(it));
  6172. };
  6173. /***/ },
  6174. /* 39 */
  6175. /***/ function(module, exports, __webpack_require__) {
  6176. "use strict";
  6177. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__di_metadata__ = __webpack_require__(140);
  6178. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__di_forward_ref__ = __webpack_require__(203);
  6179. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__di_injector__ = __webpack_require__(139);
  6180. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__di_reflective_injector__ = __webpack_require__(484);
  6181. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__di_reflective_provider__ = __webpack_require__(206);
  6182. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__di_reflective_key__ = __webpack_require__(205);
  6183. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__di_opaque_token__ = __webpack_require__(204);
  6184. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_0__di_metadata__["a"]; });
  6185. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_0__di_metadata__["b"]; });
  6186. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_0__di_metadata__["c"]; });
  6187. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_0__di_metadata__["f"]; });
  6188. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "i", function() { return __WEBPACK_IMPORTED_MODULE_0__di_metadata__["e"]; });
  6189. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "j", function() { return __WEBPACK_IMPORTED_MODULE_0__di_metadata__["d"]; });
  6190. /* harmony reexport (binding) */ __webpack_require__.d(exports, "k", function() { return __WEBPACK_IMPORTED_MODULE_1__di_forward_ref__["b"]; });
  6191. /* harmony reexport (binding) */ __webpack_require__.d(exports, "h", function() { return __WEBPACK_IMPORTED_MODULE_1__di_forward_ref__["a"]; });
  6192. /* harmony reexport (binding) */ __webpack_require__.d(exports, "g", function() { return __WEBPACK_IMPORTED_MODULE_2__di_injector__["b"]; });
  6193. /* harmony reexport (binding) */ __webpack_require__.d(exports, "f", function() { return __WEBPACK_IMPORTED_MODULE_3__di_reflective_injector__["a"]; });
  6194. /* harmony reexport (binding) */ __webpack_require__.d(exports, "l", function() { return __WEBPACK_IMPORTED_MODULE_4__di_reflective_provider__["c"]; });
  6195. /* harmony reexport (binding) */ __webpack_require__.d(exports, "m", function() { return __WEBPACK_IMPORTED_MODULE_5__di_reflective_key__["a"]; });
  6196. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_6__di_opaque_token__["a"]; });
  6197. /**
  6198. * @license
  6199. * Copyright Google Inc. All Rights Reserved.
  6200. *
  6201. * Use of this source code is governed by an MIT-style license that can be
  6202. * found in the LICENSE file at https://angular.io/license
  6203. */
  6204. /**
  6205. * @module
  6206. * @description
  6207. * The `di` module provides dependency injection container services.
  6208. */
  6209. //# sourceMappingURL=di.js.map
  6210. /***/ },
  6211. /* 40 */
  6212. /***/ function(module, exports, __webpack_require__) {
  6213. var dP = __webpack_require__(17)
  6214. , createDesc = __webpack_require__(71);
  6215. module.exports = __webpack_require__(21) ? function(object, key, value){
  6216. return dP.f(object, key, createDesc(1, value));
  6217. } : function(object, key, value){
  6218. object[key] = value;
  6219. return object;
  6220. };
  6221. /***/ },
  6222. /* 41 */
  6223. /***/ function(module, exports, __webpack_require__) {
  6224. var fails = __webpack_require__(9);
  6225. module.exports = function(method, arg){
  6226. return !!method && fails(function(){
  6227. arg ? method.call(null, function(){}, 1) : method.call(null);
  6228. });
  6229. };
  6230. /***/ },
  6231. /* 42 */
  6232. /***/ function(module, exports, __webpack_require__) {
  6233. // to indexed object, toString with fallback for non-array-like ES3 strings
  6234. var IObject = __webpack_require__(118)
  6235. , defined = __webpack_require__(59);
  6236. module.exports = function(it){
  6237. return IObject(defined(it));
  6238. };
  6239. /***/ },
  6240. /* 43 */,
  6241. /* 44 */,
  6242. /* 45 */
  6243. /***/ function(module, exports, __webpack_require__) {
  6244. // 0 -> Array#forEach
  6245. // 1 -> Array#map
  6246. // 2 -> Array#filter
  6247. // 3 -> Array#some
  6248. // 4 -> Array#every
  6249. // 5 -> Array#find
  6250. // 6 -> Array#findIndex
  6251. var ctx = __webpack_require__(58)
  6252. , IObject = __webpack_require__(118)
  6253. , toObject = __webpack_require__(38)
  6254. , toLength = __webpack_require__(26)
  6255. , asc = __webpack_require__(542);
  6256. module.exports = function(TYPE, $create){
  6257. var IS_MAP = TYPE == 1
  6258. , IS_FILTER = TYPE == 2
  6259. , IS_SOME = TYPE == 3
  6260. , IS_EVERY = TYPE == 4
  6261. , IS_FIND_INDEX = TYPE == 6
  6262. , NO_HOLES = TYPE == 5 || IS_FIND_INDEX
  6263. , create = $create || asc;
  6264. return function($this, callbackfn, that){
  6265. var O = toObject($this)
  6266. , self = IObject(O)
  6267. , f = ctx(callbackfn, that, 3)
  6268. , length = toLength(self.length)
  6269. , index = 0
  6270. , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined
  6271. , val, res;
  6272. for(;length > index; index++)if(NO_HOLES || index in self){
  6273. val = self[index];
  6274. res = f(val, index, O);
  6275. if(TYPE){
  6276. if(IS_MAP)result[index] = res; // map
  6277. else if(res)switch(TYPE){
  6278. case 3: return true; // some
  6279. case 5: return val; // find
  6280. case 6: return index; // findIndex
  6281. case 2: result.push(val); // filter
  6282. } else if(IS_EVERY)return false; // every
  6283. }
  6284. }
  6285. return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
  6286. };
  6287. };
  6288. /***/ },
  6289. /* 46 */
  6290. /***/ function(module, exports, __webpack_require__) {
  6291. // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
  6292. var has = __webpack_require__(32)
  6293. , toObject = __webpack_require__(38)
  6294. , IE_PROTO = __webpack_require__(250)('IE_PROTO')
  6295. , ObjectProto = Object.prototype;
  6296. module.exports = Object.getPrototypeOf || function(O){
  6297. O = toObject(O);
  6298. if(has(O, IE_PROTO))return O[IE_PROTO];
  6299. if(typeof O.constructor == 'function' && O instanceof O.constructor){
  6300. return O.constructor.prototype;
  6301. } return O instanceof Object ? ObjectProto : null;
  6302. };
  6303. /***/ },
  6304. /* 47 */
  6305. /***/ function(module, exports, __webpack_require__) {
  6306. // most Object methods by ES6 should accept primitives
  6307. var $export = __webpack_require__(2)
  6308. , core = __webpack_require__(69)
  6309. , fails = __webpack_require__(9);
  6310. module.exports = function(KEY, exec){
  6311. var fn = (core.Object || {})[KEY] || Object[KEY]
  6312. , exp = {};
  6313. exp[KEY] = exec(fn);
  6314. $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);
  6315. };
  6316. /***/ },
  6317. /* 48 */
  6318. /***/ function(module, exports) {
  6319. "use strict";
  6320. "use strict";
  6321. exports.isArray = Array.isArray || (function (x) { return x && typeof x.length === 'number'; });
  6322. //# sourceMappingURL=isArray.js.map
  6323. /***/ },
  6324. /* 49 */
  6325. /***/ function(module, exports, __webpack_require__) {
  6326. "use strict";
  6327. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__assertions__ = __webpack_require__(276);
  6328. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return InterpolationConfig; });
  6329. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DEFAULT_INTERPOLATION_CONFIG; });
  6330. /**
  6331. * @license
  6332. * Copyright Google Inc. All Rights Reserved.
  6333. *
  6334. * Use of this source code is governed by an MIT-style license that can be
  6335. * found in the LICENSE file at https://angular.io/license
  6336. */
  6337. var InterpolationConfig = (function () {
  6338. function InterpolationConfig(start, end) {
  6339. this.start = start;
  6340. this.end = end;
  6341. }
  6342. InterpolationConfig.fromArray = function (markers) {
  6343. if (!markers) {
  6344. return DEFAULT_INTERPOLATION_CONFIG;
  6345. }
  6346. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__assertions__["a" /* assertInterpolationSymbols */])('interpolation', markers);
  6347. return new InterpolationConfig(markers[0], markers[1]);
  6348. };
  6349. ;
  6350. return InterpolationConfig;
  6351. }());
  6352. var DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');
  6353. //# sourceMappingURL=interpolation_config.js.map
  6354. /***/ },
  6355. /* 50 */
  6356. /***/ function(module, exports, __webpack_require__) {
  6357. "use strict";
  6358. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(4);
  6359. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return ParseLocation; });
  6360. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return ParseSourceFile; });
  6361. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return ParseSourceSpan; });
  6362. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return ParseErrorLevel; });
  6363. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ParseError; });
  6364. var ParseLocation = (function () {
  6365. function ParseLocation(file, offset, line, col) {
  6366. this.file = file;
  6367. this.offset = offset;
  6368. this.line = line;
  6369. this.col = col;
  6370. }
  6371. ParseLocation.prototype.toString = function () {
  6372. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(this.offset) ? this.file.url + "@" + this.line + ":" + this.col : this.file.url;
  6373. };
  6374. return ParseLocation;
  6375. }());
  6376. var ParseSourceFile = (function () {
  6377. function ParseSourceFile(content, url) {
  6378. this.content = content;
  6379. this.url = url;
  6380. }
  6381. return ParseSourceFile;
  6382. }());
  6383. var ParseSourceSpan = (function () {
  6384. function ParseSourceSpan(start, end, details) {
  6385. if (details === void 0) { details = null; }
  6386. this.start = start;
  6387. this.end = end;
  6388. this.details = details;
  6389. }
  6390. ParseSourceSpan.prototype.toString = function () {
  6391. return this.start.file.content.substring(this.start.offset, this.end.offset);
  6392. };
  6393. return ParseSourceSpan;
  6394. }());
  6395. var ParseErrorLevel;
  6396. (function (ParseErrorLevel) {
  6397. ParseErrorLevel[ParseErrorLevel["WARNING"] = 0] = "WARNING";
  6398. ParseErrorLevel[ParseErrorLevel["FATAL"] = 1] = "FATAL";
  6399. })(ParseErrorLevel || (ParseErrorLevel = {}));
  6400. var ParseError = (function () {
  6401. function ParseError(span, msg, level) {
  6402. if (level === void 0) { level = ParseErrorLevel.FATAL; }
  6403. this.span = span;
  6404. this.msg = msg;
  6405. this.level = level;
  6406. }
  6407. ParseError.prototype.toString = function () {
  6408. var source = this.span.start.file.content;
  6409. var ctxStart = this.span.start.offset;
  6410. var contextStr = '';
  6411. var details = '';
  6412. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(ctxStart)) {
  6413. if (ctxStart > source.length - 1) {
  6414. ctxStart = source.length - 1;
  6415. }
  6416. var ctxEnd = ctxStart;
  6417. var ctxLen = 0;
  6418. var ctxLines = 0;
  6419. while (ctxLen < 100 && ctxStart > 0) {
  6420. ctxStart--;
  6421. ctxLen++;
  6422. if (source[ctxStart] == '\n') {
  6423. if (++ctxLines == 3) {
  6424. break;
  6425. }
  6426. }
  6427. }
  6428. ctxLen = 0;
  6429. ctxLines = 0;
  6430. while (ctxLen < 100 && ctxEnd < source.length - 1) {
  6431. ctxEnd++;
  6432. ctxLen++;
  6433. if (source[ctxEnd] == '\n') {
  6434. if (++ctxLines == 3) {
  6435. break;
  6436. }
  6437. }
  6438. }
  6439. var context = source.substring(ctxStart, this.span.start.offset) + '[ERROR ->]' +
  6440. source.substring(this.span.start.offset, ctxEnd + 1);
  6441. contextStr = " (\"" + context + "\")";
  6442. }
  6443. if (this.span.details) {
  6444. details = ", " + this.span.details;
  6445. }
  6446. return "" + this.msg + contextStr + ": " + this.span.start + details;
  6447. };
  6448. return ParseError;
  6449. }());
  6450. //# sourceMappingURL=parse_util.js.map
  6451. /***/ },
  6452. /* 51 */
  6453. /***/ function(module, exports, __webpack_require__) {
  6454. "use strict";
  6455. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(4);
  6456. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return TextAst; });
  6457. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return BoundTextAst; });
  6458. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return AttrAst; });
  6459. /* harmony export (binding) */ __webpack_require__.d(exports, "k", function() { return BoundElementPropertyAst; });
  6460. /* harmony export (binding) */ __webpack_require__.d(exports, "m", function() { return BoundEventAst; });
  6461. /* harmony export (binding) */ __webpack_require__.d(exports, "n", function() { return ReferenceAst; });
  6462. /* harmony export (binding) */ __webpack_require__.d(exports, "j", function() { return VariableAst; });
  6463. /* harmony export (binding) */ __webpack_require__.d(exports, "i", function() { return ElementAst; });
  6464. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return EmbeddedTemplateAst; });
  6465. /* harmony export (binding) */ __webpack_require__.d(exports, "p", function() { return BoundDirectivePropertyAst; });
  6466. /* harmony export (binding) */ __webpack_require__.d(exports, "o", function() { return DirectiveAst; });
  6467. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return ProviderAst; });
  6468. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ProviderAstType; });
  6469. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return NgContentAst; });
  6470. /* harmony export (binding) */ __webpack_require__.d(exports, "l", function() { return PropertyBindingType; });
  6471. /* harmony export (immutable) */ exports["c"] = templateVisitAll;
  6472. /**
  6473. * @license
  6474. * Copyright Google Inc. All Rights Reserved.
  6475. *
  6476. * Use of this source code is governed by an MIT-style license that can be
  6477. * found in the LICENSE file at https://angular.io/license
  6478. */
  6479. /**
  6480. * A segment of text within the template.
  6481. */
  6482. var TextAst = (function () {
  6483. function TextAst(value, ngContentIndex, sourceSpan) {
  6484. this.value = value;
  6485. this.ngContentIndex = ngContentIndex;
  6486. this.sourceSpan = sourceSpan;
  6487. }
  6488. TextAst.prototype.visit = function (visitor, context) { return visitor.visitText(this, context); };
  6489. return TextAst;
  6490. }());
  6491. /**
  6492. * A bound expression within the text of a template.
  6493. */
  6494. var BoundTextAst = (function () {
  6495. function BoundTextAst(value, ngContentIndex, sourceSpan) {
  6496. this.value = value;
  6497. this.ngContentIndex = ngContentIndex;
  6498. this.sourceSpan = sourceSpan;
  6499. }
  6500. BoundTextAst.prototype.visit = function (visitor, context) {
  6501. return visitor.visitBoundText(this, context);
  6502. };
  6503. return BoundTextAst;
  6504. }());
  6505. /**
  6506. * A plain attribute on an element.
  6507. */
  6508. var AttrAst = (function () {
  6509. function AttrAst(name, value, sourceSpan) {
  6510. this.name = name;
  6511. this.value = value;
  6512. this.sourceSpan = sourceSpan;
  6513. }
  6514. AttrAst.prototype.visit = function (visitor, context) { return visitor.visitAttr(this, context); };
  6515. return AttrAst;
  6516. }());
  6517. /**
  6518. * A binding for an element property (e.g. `[property]="expression"`).
  6519. */
  6520. var BoundElementPropertyAst = (function () {
  6521. function BoundElementPropertyAst(name, type, securityContext, value, unit, sourceSpan) {
  6522. this.name = name;
  6523. this.type = type;
  6524. this.securityContext = securityContext;
  6525. this.value = value;
  6526. this.unit = unit;
  6527. this.sourceSpan = sourceSpan;
  6528. }
  6529. BoundElementPropertyAst.prototype.visit = function (visitor, context) {
  6530. return visitor.visitElementProperty(this, context);
  6531. };
  6532. return BoundElementPropertyAst;
  6533. }());
  6534. /**
  6535. * A binding for an element event (e.g. `(event)="handler()"`).
  6536. */
  6537. var BoundEventAst = (function () {
  6538. function BoundEventAst(name, target, handler, sourceSpan) {
  6539. this.name = name;
  6540. this.target = target;
  6541. this.handler = handler;
  6542. this.sourceSpan = sourceSpan;
  6543. }
  6544. BoundEventAst.prototype.visit = function (visitor, context) {
  6545. return visitor.visitEvent(this, context);
  6546. };
  6547. Object.defineProperty(BoundEventAst.prototype, "fullName", {
  6548. get: function () {
  6549. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(this.target)) {
  6550. return this.target + ":" + this.name;
  6551. }
  6552. else {
  6553. return this.name;
  6554. }
  6555. },
  6556. enumerable: true,
  6557. configurable: true
  6558. });
  6559. return BoundEventAst;
  6560. }());
  6561. /**
  6562. * A reference declaration on an element (e.g. `let someName="expression"`).
  6563. */
  6564. var ReferenceAst = (function () {
  6565. function ReferenceAst(name, value, sourceSpan) {
  6566. this.name = name;
  6567. this.value = value;
  6568. this.sourceSpan = sourceSpan;
  6569. }
  6570. ReferenceAst.prototype.visit = function (visitor, context) {
  6571. return visitor.visitReference(this, context);
  6572. };
  6573. return ReferenceAst;
  6574. }());
  6575. /**
  6576. * A variable declaration on a <template> (e.g. `var-someName="someLocalName"`).
  6577. */
  6578. var VariableAst = (function () {
  6579. function VariableAst(name, value, sourceSpan) {
  6580. this.name = name;
  6581. this.value = value;
  6582. this.sourceSpan = sourceSpan;
  6583. }
  6584. VariableAst.prototype.visit = function (visitor, context) {
  6585. return visitor.visitVariable(this, context);
  6586. };
  6587. return VariableAst;
  6588. }());
  6589. /**
  6590. * An element declaration in a template.
  6591. */
  6592. var ElementAst = (function () {
  6593. function ElementAst(name, attrs, inputs, outputs, references, directives, providers, hasViewContainer, children, ngContentIndex, sourceSpan) {
  6594. this.name = name;
  6595. this.attrs = attrs;
  6596. this.inputs = inputs;
  6597. this.outputs = outputs;
  6598. this.references = references;
  6599. this.directives = directives;
  6600. this.providers = providers;
  6601. this.hasViewContainer = hasViewContainer;
  6602. this.children = children;
  6603. this.ngContentIndex = ngContentIndex;
  6604. this.sourceSpan = sourceSpan;
  6605. }
  6606. ElementAst.prototype.visit = function (visitor, context) {
  6607. return visitor.visitElement(this, context);
  6608. };
  6609. return ElementAst;
  6610. }());
  6611. /**
  6612. * A `<template>` element included in an Angular template.
  6613. */
  6614. var EmbeddedTemplateAst = (function () {
  6615. function EmbeddedTemplateAst(attrs, outputs, references, variables, directives, providers, hasViewContainer, children, ngContentIndex, sourceSpan) {
  6616. this.attrs = attrs;
  6617. this.outputs = outputs;
  6618. this.references = references;
  6619. this.variables = variables;
  6620. this.directives = directives;
  6621. this.providers = providers;
  6622. this.hasViewContainer = hasViewContainer;
  6623. this.children = children;
  6624. this.ngContentIndex = ngContentIndex;
  6625. this.sourceSpan = sourceSpan;
  6626. }
  6627. EmbeddedTemplateAst.prototype.visit = function (visitor, context) {
  6628. return visitor.visitEmbeddedTemplate(this, context);
  6629. };
  6630. return EmbeddedTemplateAst;
  6631. }());
  6632. /**
  6633. * A directive property with a bound value (e.g. `*ngIf="condition").
  6634. */
  6635. var BoundDirectivePropertyAst = (function () {
  6636. function BoundDirectivePropertyAst(directiveName, templateName, value, sourceSpan) {
  6637. this.directiveName = directiveName;
  6638. this.templateName = templateName;
  6639. this.value = value;
  6640. this.sourceSpan = sourceSpan;
  6641. }
  6642. BoundDirectivePropertyAst.prototype.visit = function (visitor, context) {
  6643. return visitor.visitDirectiveProperty(this, context);
  6644. };
  6645. return BoundDirectivePropertyAst;
  6646. }());
  6647. /**
  6648. * A directive declared on an element.
  6649. */
  6650. var DirectiveAst = (function () {
  6651. function DirectiveAst(directive, inputs, hostProperties, hostEvents, sourceSpan) {
  6652. this.directive = directive;
  6653. this.inputs = inputs;
  6654. this.hostProperties = hostProperties;
  6655. this.hostEvents = hostEvents;
  6656. this.sourceSpan = sourceSpan;
  6657. }
  6658. DirectiveAst.prototype.visit = function (visitor, context) {
  6659. return visitor.visitDirective(this, context);
  6660. };
  6661. return DirectiveAst;
  6662. }());
  6663. /**
  6664. * A provider declared on an element
  6665. */
  6666. var ProviderAst = (function () {
  6667. function ProviderAst(token, multiProvider, eager, providers, providerType, lifecycleHooks, sourceSpan) {
  6668. this.token = token;
  6669. this.multiProvider = multiProvider;
  6670. this.eager = eager;
  6671. this.providers = providers;
  6672. this.providerType = providerType;
  6673. this.lifecycleHooks = lifecycleHooks;
  6674. this.sourceSpan = sourceSpan;
  6675. }
  6676. ProviderAst.prototype.visit = function (visitor, context) {
  6677. // No visit method in the visitor for now...
  6678. return null;
  6679. };
  6680. return ProviderAst;
  6681. }());
  6682. var ProviderAstType;
  6683. (function (ProviderAstType) {
  6684. ProviderAstType[ProviderAstType["PublicService"] = 0] = "PublicService";
  6685. ProviderAstType[ProviderAstType["PrivateService"] = 1] = "PrivateService";
  6686. ProviderAstType[ProviderAstType["Component"] = 2] = "Component";
  6687. ProviderAstType[ProviderAstType["Directive"] = 3] = "Directive";
  6688. ProviderAstType[ProviderAstType["Builtin"] = 4] = "Builtin";
  6689. })(ProviderAstType || (ProviderAstType = {}));
  6690. /**
  6691. * Position where content is to be projected (instance of `<ng-content>` in a template).
  6692. */
  6693. var NgContentAst = (function () {
  6694. function NgContentAst(index, ngContentIndex, sourceSpan) {
  6695. this.index = index;
  6696. this.ngContentIndex = ngContentIndex;
  6697. this.sourceSpan = sourceSpan;
  6698. }
  6699. NgContentAst.prototype.visit = function (visitor, context) {
  6700. return visitor.visitNgContent(this, context);
  6701. };
  6702. return NgContentAst;
  6703. }());
  6704. /**
  6705. * Enumeration of types of property bindings.
  6706. */
  6707. var PropertyBindingType;
  6708. (function (PropertyBindingType) {
  6709. /**
  6710. * A normal binding to a property (e.g. `[property]="expression"`).
  6711. */
  6712. PropertyBindingType[PropertyBindingType["Property"] = 0] = "Property";
  6713. /**
  6714. * A binding to an element attribute (e.g. `[attr.name]="expression"`).
  6715. */
  6716. PropertyBindingType[PropertyBindingType["Attribute"] = 1] = "Attribute";
  6717. /**
  6718. * A binding to a CSS class (e.g. `[class.name]="condition"`).
  6719. */
  6720. PropertyBindingType[PropertyBindingType["Class"] = 2] = "Class";
  6721. /**
  6722. * A binding to a style rule (e.g. `[style.rule]="expression"`).
  6723. */
  6724. PropertyBindingType[PropertyBindingType["Style"] = 3] = "Style";
  6725. /**
  6726. * A binding to an animation reference (e.g. `[animate.key]="expression"`).
  6727. */
  6728. PropertyBindingType[PropertyBindingType["Animation"] = 4] = "Animation";
  6729. })(PropertyBindingType || (PropertyBindingType = {}));
  6730. /**
  6731. * Visit every node in a list of {@link TemplateAst}s with the given {@link TemplateAstVisitor}.
  6732. */
  6733. function templateVisitAll(visitor, asts, context) {
  6734. if (context === void 0) { context = null; }
  6735. var result = [];
  6736. asts.forEach(function (ast) {
  6737. var astResult = ast.visit(visitor, context);
  6738. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(astResult)) {
  6739. result.push(astResult);
  6740. }
  6741. });
  6742. return result;
  6743. }
  6744. //# sourceMappingURL=template_ast.js.map
  6745. /***/ },
  6746. /* 52 */,
  6747. /* 53 */,
  6748. /* 54 */
  6749. /***/ function(module, exports, __webpack_require__) {
  6750. "use strict";
  6751. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return PRIMARY_OUTLET; });
  6752. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return NavigationCancelingError; });
  6753. /**
  6754. * @license
  6755. * Copyright Google Inc. All Rights Reserved.
  6756. *
  6757. * Use of this source code is governed by an MIT-style license that can be
  6758. * found in the LICENSE file at https://angular.io/license
  6759. */
  6760. var __extends = (this && this.__extends) || function (d, b) {
  6761. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  6762. function __() { this.constructor = d; }
  6763. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  6764. };
  6765. /**
  6766. * @whatItDoes Name of the primary outlet.
  6767. *
  6768. * @stable
  6769. */
  6770. var PRIMARY_OUTLET = 'primary';
  6771. var NavigationCancelingError = (function (_super) {
  6772. __extends(NavigationCancelingError, _super);
  6773. function NavigationCancelingError(message) {
  6774. _super.call(this, message);
  6775. this.message = message;
  6776. this.stack = (new Error(message)).stack;
  6777. }
  6778. NavigationCancelingError.prototype.toString = function () { return this.message; };
  6779. return NavigationCancelingError;
  6780. }(Error));
  6781. //# sourceMappingURL=shared.js.map
  6782. /***/ },
  6783. /* 55 */
  6784. /***/ function(module, exports, __webpack_require__) {
  6785. "use strict";
  6786. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__ = __webpack_require__(0);
  6787. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__);
  6788. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_observable_fromPromise__ = __webpack_require__(171);
  6789. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_observable_fromPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_rxjs_observable_fromPromise__);
  6790. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__ = __webpack_require__(100);
  6791. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__);
  6792. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_concatAll__ = __webpack_require__(261);
  6793. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_concatAll___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_operator_concatAll__);
  6794. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_every__ = __webpack_require__(262);
  6795. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_every___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_operator_every__);
  6796. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_last__ = __webpack_require__(403);
  6797. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_last___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_rxjs_operator_last__);
  6798. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__ = __webpack_require__(82);
  6799. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__);
  6800. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeAll__ = __webpack_require__(101);
  6801. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeAll___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeAll__);
  6802. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__shared__ = __webpack_require__(54);
  6803. /* harmony export (immutable) */ exports["h"] = shallowEqualArrays;
  6804. /* harmony export (immutable) */ exports["d"] = shallowEqual;
  6805. /* harmony export (immutable) */ exports["a"] = flatten;
  6806. /* unused harmony export first */
  6807. /* harmony export (immutable) */ exports["i"] = last;
  6808. /* unused harmony export and */
  6809. /* harmony export (immutable) */ exports["g"] = merge;
  6810. /* harmony export (immutable) */ exports["c"] = forEach;
  6811. /* harmony export (immutable) */ exports["e"] = waitForMap;
  6812. /* harmony export (immutable) */ exports["f"] = andObservables;
  6813. /* harmony export (immutable) */ exports["b"] = wrapIntoObservable;
  6814. /**
  6815. * @license
  6816. * Copyright Google Inc. All Rights Reserved.
  6817. *
  6818. * Use of this source code is governed by an MIT-style license that can be
  6819. * found in the LICENSE file at https://angular.io/license
  6820. */
  6821. function shallowEqualArrays(a, b) {
  6822. if (a.length !== b.length)
  6823. return false;
  6824. for (var i = 0; i < a.length; ++i) {
  6825. if (!shallowEqual(a[i], b[i]))
  6826. return false;
  6827. }
  6828. return true;
  6829. }
  6830. function shallowEqual(a, b) {
  6831. var k1 = Object.keys(a);
  6832. var k2 = Object.keys(b);
  6833. if (k1.length != k2.length) {
  6834. return false;
  6835. }
  6836. var key;
  6837. for (var i = 0; i < k1.length; i++) {
  6838. key = k1[i];
  6839. if (a[key] !== b[key]) {
  6840. return false;
  6841. }
  6842. }
  6843. return true;
  6844. }
  6845. function flatten(a) {
  6846. var target = [];
  6847. for (var i = 0; i < a.length; ++i) {
  6848. for (var j = 0; j < a[i].length; ++j) {
  6849. target.push(a[i][j]);
  6850. }
  6851. }
  6852. return target;
  6853. }
  6854. function first(a) {
  6855. return a.length > 0 ? a[0] : null;
  6856. }
  6857. function last(a) {
  6858. return a.length > 0 ? a[a.length - 1] : null;
  6859. }
  6860. function and(bools) {
  6861. return bools.reduce(function (a, b) { return a && b; }, true);
  6862. }
  6863. function merge(m1, m2) {
  6864. var m = {};
  6865. for (var attr in m1) {
  6866. if (m1.hasOwnProperty(attr)) {
  6867. m[attr] = m1[attr];
  6868. }
  6869. }
  6870. for (var attr in m2) {
  6871. if (m2.hasOwnProperty(attr)) {
  6872. m[attr] = m2[attr];
  6873. }
  6874. }
  6875. return m;
  6876. }
  6877. function forEach(map, callback) {
  6878. for (var prop in map) {
  6879. if (map.hasOwnProperty(prop)) {
  6880. callback(map[prop], prop);
  6881. }
  6882. }
  6883. }
  6884. function waitForMap(obj, fn) {
  6885. var waitFor = [];
  6886. var res = {};
  6887. forEach(obj, function (a, k) {
  6888. if (k === __WEBPACK_IMPORTED_MODULE_8__shared__["a" /* PRIMARY_OUTLET */]) {
  6889. waitFor.push(__WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(fn(k, a), function (_) {
  6890. res[k] = _;
  6891. return _;
  6892. }));
  6893. }
  6894. });
  6895. forEach(obj, function (a, k) {
  6896. if (k !== __WEBPACK_IMPORTED_MODULE_8__shared__["a" /* PRIMARY_OUTLET */]) {
  6897. waitFor.push(__WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(fn(k, a), function (_) {
  6898. res[k] = _;
  6899. return _;
  6900. }));
  6901. }
  6902. });
  6903. if (waitFor.length > 0) {
  6904. var concatted$ = __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_concatAll__["concatAll"].call(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"].apply(void 0, waitFor));
  6905. var last$ = __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_last__["last"].call(concatted$);
  6906. return __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(last$, function () { return res; });
  6907. }
  6908. else {
  6909. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"])(res);
  6910. }
  6911. }
  6912. function andObservables(observables) {
  6913. var merged$ = __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeAll__["mergeAll"].call(observables);
  6914. return __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_every__["every"].call(merged$, function (result) { return result === true; });
  6915. }
  6916. function wrapIntoObservable(value) {
  6917. if (value instanceof __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__["Observable"]) {
  6918. return value;
  6919. }
  6920. else if (value instanceof Promise) {
  6921. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_rxjs_observable_fromPromise__["fromPromise"])(value);
  6922. }
  6923. else {
  6924. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"])(value);
  6925. }
  6926. }
  6927. //# sourceMappingURL=collection.js.map
  6928. /***/ },
  6929. /* 56 */
  6930. /***/ function(module, exports) {
  6931. module.exports = function(it){
  6932. if(typeof it != 'function')throw TypeError(it + ' is not a function!');
  6933. return it;
  6934. };
  6935. /***/ },
  6936. /* 57 */
  6937. /***/ function(module, exports) {
  6938. var toString = {}.toString;
  6939. module.exports = function(it){
  6940. return toString.call(it).slice(8, -1);
  6941. };
  6942. /***/ },
  6943. /* 58 */
  6944. /***/ function(module, exports, __webpack_require__) {
  6945. // optional / simple context binding
  6946. var aFunction = __webpack_require__(56);
  6947. module.exports = function(fn, that, length){
  6948. aFunction(fn);
  6949. if(that === undefined)return fn;
  6950. switch(length){
  6951. case 1: return function(a){
  6952. return fn.call(that, a);
  6953. };
  6954. case 2: return function(a, b){
  6955. return fn.call(that, a, b);
  6956. };
  6957. case 3: return function(a, b, c){
  6958. return fn.call(that, a, b, c);
  6959. };
  6960. }
  6961. return function(/* ...args */){
  6962. return fn.apply(that, arguments);
  6963. };
  6964. };
  6965. /***/ },
  6966. /* 59 */
  6967. /***/ function(module, exports) {
  6968. // 7.2.1 RequireObjectCoercible(argument)
  6969. module.exports = function(it){
  6970. if(it == undefined)throw TypeError("Can't call method on " + it);
  6971. return it;
  6972. };
  6973. /***/ },
  6974. /* 60 */
  6975. /***/ function(module, exports, __webpack_require__) {
  6976. var Map = __webpack_require__(386)
  6977. , $export = __webpack_require__(2)
  6978. , shared = __webpack_require__(165)('metadata')
  6979. , store = shared.store || (shared.store = new (__webpack_require__(389)));
  6980. var getOrCreateMetadataMap = function(target, targetKey, create){
  6981. var targetMetadata = store.get(target);
  6982. if(!targetMetadata){
  6983. if(!create)return undefined;
  6984. store.set(target, targetMetadata = new Map);
  6985. }
  6986. var keyMetadata = targetMetadata.get(targetKey);
  6987. if(!keyMetadata){
  6988. if(!create)return undefined;
  6989. targetMetadata.set(targetKey, keyMetadata = new Map);
  6990. } return keyMetadata;
  6991. };
  6992. var ordinaryHasOwnMetadata = function(MetadataKey, O, P){
  6993. var metadataMap = getOrCreateMetadataMap(O, P, false);
  6994. return metadataMap === undefined ? false : metadataMap.has(MetadataKey);
  6995. };
  6996. var ordinaryGetOwnMetadata = function(MetadataKey, O, P){
  6997. var metadataMap = getOrCreateMetadataMap(O, P, false);
  6998. return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);
  6999. };
  7000. var ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){
  7001. getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);
  7002. };
  7003. var ordinaryOwnMetadataKeys = function(target, targetKey){
  7004. var metadataMap = getOrCreateMetadataMap(target, targetKey, false)
  7005. , keys = [];
  7006. if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); });
  7007. return keys;
  7008. };
  7009. var toMetaKey = function(it){
  7010. return it === undefined || typeof it == 'symbol' ? it : String(it);
  7011. };
  7012. var exp = function(O){
  7013. $export($export.S, 'Reflect', O);
  7014. };
  7015. module.exports = {
  7016. store: store,
  7017. map: getOrCreateMetadataMap,
  7018. has: ordinaryHasOwnMetadata,
  7019. get: ordinaryGetOwnMetadata,
  7020. set: ordinaryDefineOwnMetadata,
  7021. keys: ordinaryOwnMetadataKeys,
  7022. key: toMetaKey,
  7023. exp: exp
  7024. };
  7025. /***/ },
  7026. /* 61 */
  7027. /***/ function(module, exports, __webpack_require__) {
  7028. var pIE = __webpack_require__(164)
  7029. , createDesc = __webpack_require__(71)
  7030. , toIObject = __webpack_require__(42)
  7031. , toPrimitive = __webpack_require__(73)
  7032. , has = __webpack_require__(32)
  7033. , IE8_DOM_DEFINE = __webpack_require__(367)
  7034. , gOPD = Object.getOwnPropertyDescriptor;
  7035. exports.f = __webpack_require__(21) ? gOPD : function getOwnPropertyDescriptor(O, P){
  7036. O = toIObject(O);
  7037. P = toPrimitive(P, true);
  7038. if(IE8_DOM_DEFINE)try {
  7039. return gOPD(O, P);
  7040. } catch(e){ /* empty */ }
  7041. if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);
  7042. };
  7043. /***/ },
  7044. /* 62 */
  7045. /***/ function(module, exports, __webpack_require__) {
  7046. "use strict";
  7047. 'use strict';
  7048. if(__webpack_require__(21)){
  7049. var LIBRARY = __webpack_require__(95)
  7050. , global = __webpack_require__(11)
  7051. , fails = __webpack_require__(9)
  7052. , $export = __webpack_require__(2)
  7053. , $typed = __webpack_require__(167)
  7054. , $buffer = __webpack_require__(254)
  7055. , ctx = __webpack_require__(58)
  7056. , anInstance = __webpack_require__(94)
  7057. , propertyDesc = __webpack_require__(71)
  7058. , hide = __webpack_require__(40)
  7059. , redefineAll = __webpack_require__(97)
  7060. , toInteger = __webpack_require__(72)
  7061. , toLength = __webpack_require__(26)
  7062. , toIndex = __webpack_require__(80)
  7063. , toPrimitive = __webpack_require__(73)
  7064. , has = __webpack_require__(32)
  7065. , same = __webpack_require__(380)
  7066. , classof = __webpack_require__(159)
  7067. , isObject = __webpack_require__(10)
  7068. , toObject = __webpack_require__(38)
  7069. , isArrayIter = __webpack_require__(243)
  7070. , create = __webpack_require__(78)
  7071. , getPrototypeOf = __webpack_require__(46)
  7072. , gOPN = __webpack_require__(79).f
  7073. , getIterFn = __webpack_require__(255)
  7074. , uid = __webpack_require__(81)
  7075. , wks = __webpack_require__(14)
  7076. , createArrayMethod = __webpack_require__(45)
  7077. , createArrayIncludes = __webpack_require__(236)
  7078. , speciesConstructor = __webpack_require__(251)
  7079. , ArrayIterators = __webpack_require__(385)
  7080. , Iterators = __webpack_require__(119)
  7081. , $iterDetect = __webpack_require__(162)
  7082. , setSpecies = __webpack_require__(98)
  7083. , arrayFill = __webpack_require__(235)
  7084. , arrayCopyWithin = __webpack_require__(361)
  7085. , $DP = __webpack_require__(17)
  7086. , $GOPD = __webpack_require__(61)
  7087. , dP = $DP.f
  7088. , gOPD = $GOPD.f
  7089. , RangeError = global.RangeError
  7090. , TypeError = global.TypeError
  7091. , Uint8Array = global.Uint8Array
  7092. , ARRAY_BUFFER = 'ArrayBuffer'
  7093. , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER
  7094. , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'
  7095. , PROTOTYPE = 'prototype'
  7096. , ArrayProto = Array[PROTOTYPE]
  7097. , $ArrayBuffer = $buffer.ArrayBuffer
  7098. , $DataView = $buffer.DataView
  7099. , arrayForEach = createArrayMethod(0)
  7100. , arrayFilter = createArrayMethod(2)
  7101. , arraySome = createArrayMethod(3)
  7102. , arrayEvery = createArrayMethod(4)
  7103. , arrayFind = createArrayMethod(5)
  7104. , arrayFindIndex = createArrayMethod(6)
  7105. , arrayIncludes = createArrayIncludes(true)
  7106. , arrayIndexOf = createArrayIncludes(false)
  7107. , arrayValues = ArrayIterators.values
  7108. , arrayKeys = ArrayIterators.keys
  7109. , arrayEntries = ArrayIterators.entries
  7110. , arrayLastIndexOf = ArrayProto.lastIndexOf
  7111. , arrayReduce = ArrayProto.reduce
  7112. , arrayReduceRight = ArrayProto.reduceRight
  7113. , arrayJoin = ArrayProto.join
  7114. , arraySort = ArrayProto.sort
  7115. , arraySlice = ArrayProto.slice
  7116. , arrayToString = ArrayProto.toString
  7117. , arrayToLocaleString = ArrayProto.toLocaleString
  7118. , ITERATOR = wks('iterator')
  7119. , TAG = wks('toStringTag')
  7120. , TYPED_CONSTRUCTOR = uid('typed_constructor')
  7121. , DEF_CONSTRUCTOR = uid('def_constructor')
  7122. , ALL_CONSTRUCTORS = $typed.CONSTR
  7123. , TYPED_ARRAY = $typed.TYPED
  7124. , VIEW = $typed.VIEW
  7125. , WRONG_LENGTH = 'Wrong length!';
  7126. var $map = createArrayMethod(1, function(O, length){
  7127. return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);
  7128. });
  7129. var LITTLE_ENDIAN = fails(function(){
  7130. return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;
  7131. });
  7132. var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){
  7133. new Uint8Array(1).set({});
  7134. });
  7135. var strictToLength = function(it, SAME){
  7136. if(it === undefined)throw TypeError(WRONG_LENGTH);
  7137. var number = +it
  7138. , length = toLength(it);
  7139. if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH);
  7140. return length;
  7141. };
  7142. var toOffset = function(it, BYTES){
  7143. var offset = toInteger(it);
  7144. if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!');
  7145. return offset;
  7146. };
  7147. var validate = function(it){
  7148. if(isObject(it) && TYPED_ARRAY in it)return it;
  7149. throw TypeError(it + ' is not a typed array!');
  7150. };
  7151. var allocate = function(C, length){
  7152. if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){
  7153. throw TypeError('It is not a typed array constructor!');
  7154. } return new C(length);
  7155. };
  7156. var speciesFromList = function(O, list){
  7157. return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);
  7158. };
  7159. var fromList = function(C, list){
  7160. var index = 0
  7161. , length = list.length
  7162. , result = allocate(C, length);
  7163. while(length > index)result[index] = list[index++];
  7164. return result;
  7165. };
  7166. var addGetter = function(it, key, internal){
  7167. dP(it, key, {get: function(){ return this._d[internal]; }});
  7168. };
  7169. var $from = function from(source /*, mapfn, thisArg */){
  7170. var O = toObject(source)
  7171. , aLen = arguments.length
  7172. , mapfn = aLen > 1 ? arguments[1] : undefined
  7173. , mapping = mapfn !== undefined
  7174. , iterFn = getIterFn(O)
  7175. , i, length, values, result, step, iterator;
  7176. if(iterFn != undefined && !isArrayIter(iterFn)){
  7177. for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){
  7178. values.push(step.value);
  7179. } O = values;
  7180. }
  7181. if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2);
  7182. for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){
  7183. result[i] = mapping ? mapfn(O[i], i) : O[i];
  7184. }
  7185. return result;
  7186. };
  7187. var $of = function of(/*...items*/){
  7188. var index = 0
  7189. , length = arguments.length
  7190. , result = allocate(this, length);
  7191. while(length > index)result[index] = arguments[index++];
  7192. return result;
  7193. };
  7194. // iOS Safari 6.x fails here
  7195. var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); });
  7196. var $toLocaleString = function toLocaleString(){
  7197. return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);
  7198. };
  7199. var proto = {
  7200. copyWithin: function copyWithin(target, start /*, end */){
  7201. return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
  7202. },
  7203. every: function every(callbackfn /*, thisArg */){
  7204. return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  7205. },
  7206. fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars
  7207. return arrayFill.apply(validate(this), arguments);
  7208. },
  7209. filter: function filter(callbackfn /*, thisArg */){
  7210. return speciesFromList(this, arrayFilter(validate(this), callbackfn,
  7211. arguments.length > 1 ? arguments[1] : undefined));
  7212. },
  7213. find: function find(predicate /*, thisArg */){
  7214. return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
  7215. },
  7216. findIndex: function findIndex(predicate /*, thisArg */){
  7217. return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
  7218. },
  7219. forEach: function forEach(callbackfn /*, thisArg */){
  7220. arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  7221. },
  7222. indexOf: function indexOf(searchElement /*, fromIndex */){
  7223. return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
  7224. },
  7225. includes: function includes(searchElement /*, fromIndex */){
  7226. return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
  7227. },
  7228. join: function join(separator){ // eslint-disable-line no-unused-vars
  7229. return arrayJoin.apply(validate(this), arguments);
  7230. },
  7231. lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars
  7232. return arrayLastIndexOf.apply(validate(this), arguments);
  7233. },
  7234. map: function map(mapfn /*, thisArg */){
  7235. return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);
  7236. },
  7237. reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars
  7238. return arrayReduce.apply(validate(this), arguments);
  7239. },
  7240. reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars
  7241. return arrayReduceRight.apply(validate(this), arguments);
  7242. },
  7243. reverse: function reverse(){
  7244. var that = this
  7245. , length = validate(that).length
  7246. , middle = Math.floor(length / 2)
  7247. , index = 0
  7248. , value;
  7249. while(index < middle){
  7250. value = that[index];
  7251. that[index++] = that[--length];
  7252. that[length] = value;
  7253. } return that;
  7254. },
  7255. some: function some(callbackfn /*, thisArg */){
  7256. return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  7257. },
  7258. sort: function sort(comparefn){
  7259. return arraySort.call(validate(this), comparefn);
  7260. },
  7261. subarray: function subarray(begin, end){
  7262. var O = validate(this)
  7263. , length = O.length
  7264. , $begin = toIndex(begin, length);
  7265. return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(
  7266. O.buffer,
  7267. O.byteOffset + $begin * O.BYTES_PER_ELEMENT,
  7268. toLength((end === undefined ? length : toIndex(end, length)) - $begin)
  7269. );
  7270. }
  7271. };
  7272. var $slice = function slice(start, end){
  7273. return speciesFromList(this, arraySlice.call(validate(this), start, end));
  7274. };
  7275. var $set = function set(arrayLike /*, offset */){
  7276. validate(this);
  7277. var offset = toOffset(arguments[1], 1)
  7278. , length = this.length
  7279. , src = toObject(arrayLike)
  7280. , len = toLength(src.length)
  7281. , index = 0;
  7282. if(len + offset > length)throw RangeError(WRONG_LENGTH);
  7283. while(index < len)this[offset + index] = src[index++];
  7284. };
  7285. var $iterators = {
  7286. entries: function entries(){
  7287. return arrayEntries.call(validate(this));
  7288. },
  7289. keys: function keys(){
  7290. return arrayKeys.call(validate(this));
  7291. },
  7292. values: function values(){
  7293. return arrayValues.call(validate(this));
  7294. }
  7295. };
  7296. var isTAIndex = function(target, key){
  7297. return isObject(target)
  7298. && target[TYPED_ARRAY]
  7299. && typeof key != 'symbol'
  7300. && key in target
  7301. && String(+key) == String(key);
  7302. };
  7303. var $getDesc = function getOwnPropertyDescriptor(target, key){
  7304. return isTAIndex(target, key = toPrimitive(key, true))
  7305. ? propertyDesc(2, target[key])
  7306. : gOPD(target, key);
  7307. };
  7308. var $setDesc = function defineProperty(target, key, desc){
  7309. if(isTAIndex(target, key = toPrimitive(key, true))
  7310. && isObject(desc)
  7311. && has(desc, 'value')
  7312. && !has(desc, 'get')
  7313. && !has(desc, 'set')
  7314. // TODO: add validation descriptor w/o calling accessors
  7315. && !desc.configurable
  7316. && (!has(desc, 'writable') || desc.writable)
  7317. && (!has(desc, 'enumerable') || desc.enumerable)
  7318. ){
  7319. target[key] = desc.value;
  7320. return target;
  7321. } else return dP(target, key, desc);
  7322. };
  7323. if(!ALL_CONSTRUCTORS){
  7324. $GOPD.f = $getDesc;
  7325. $DP.f = $setDesc;
  7326. }
  7327. $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {
  7328. getOwnPropertyDescriptor: $getDesc,
  7329. defineProperty: $setDesc
  7330. });
  7331. if(fails(function(){ arrayToString.call({}); })){
  7332. arrayToString = arrayToLocaleString = function toString(){
  7333. return arrayJoin.call(this);
  7334. }
  7335. }
  7336. var $TypedArrayPrototype$ = redefineAll({}, proto);
  7337. redefineAll($TypedArrayPrototype$, $iterators);
  7338. hide($TypedArrayPrototype$, ITERATOR, $iterators.values);
  7339. redefineAll($TypedArrayPrototype$, {
  7340. slice: $slice,
  7341. set: $set,
  7342. constructor: function(){ /* noop */ },
  7343. toString: arrayToString,
  7344. toLocaleString: $toLocaleString
  7345. });
  7346. addGetter($TypedArrayPrototype$, 'buffer', 'b');
  7347. addGetter($TypedArrayPrototype$, 'byteOffset', 'o');
  7348. addGetter($TypedArrayPrototype$, 'byteLength', 'l');
  7349. addGetter($TypedArrayPrototype$, 'length', 'e');
  7350. dP($TypedArrayPrototype$, TAG, {
  7351. get: function(){ return this[TYPED_ARRAY]; }
  7352. });
  7353. module.exports = function(KEY, BYTES, wrapper, CLAMPED){
  7354. CLAMPED = !!CLAMPED;
  7355. var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'
  7356. , ISNT_UINT8 = NAME != 'Uint8Array'
  7357. , GETTER = 'get' + KEY
  7358. , SETTER = 'set' + KEY
  7359. , TypedArray = global[NAME]
  7360. , Base = TypedArray || {}
  7361. , TAC = TypedArray && getPrototypeOf(TypedArray)
  7362. , FORCED = !TypedArray || !$typed.ABV
  7363. , O = {}
  7364. , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];
  7365. var getter = function(that, index){
  7366. var data = that._d;
  7367. return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);
  7368. };
  7369. var setter = function(that, index, value){
  7370. var data = that._d;
  7371. if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;
  7372. data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);
  7373. };
  7374. var addElement = function(that, index){
  7375. dP(that, index, {
  7376. get: function(){
  7377. return getter(this, index);
  7378. },
  7379. set: function(value){
  7380. return setter(this, index, value);
  7381. },
  7382. enumerable: true
  7383. });
  7384. };
  7385. if(FORCED){
  7386. TypedArray = wrapper(function(that, data, $offset, $length){
  7387. anInstance(that, TypedArray, NAME, '_d');
  7388. var index = 0
  7389. , offset = 0
  7390. , buffer, byteLength, length, klass;
  7391. if(!isObject(data)){
  7392. length = strictToLength(data, true)
  7393. byteLength = length * BYTES;
  7394. buffer = new $ArrayBuffer(byteLength);
  7395. } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){
  7396. buffer = data;
  7397. offset = toOffset($offset, BYTES);
  7398. var $len = data.byteLength;
  7399. if($length === undefined){
  7400. if($len % BYTES)throw RangeError(WRONG_LENGTH);
  7401. byteLength = $len - offset;
  7402. if(byteLength < 0)throw RangeError(WRONG_LENGTH);
  7403. } else {
  7404. byteLength = toLength($length) * BYTES;
  7405. if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH);
  7406. }
  7407. length = byteLength / BYTES;
  7408. } else if(TYPED_ARRAY in data){
  7409. return fromList(TypedArray, data);
  7410. } else {
  7411. return $from.call(TypedArray, data);
  7412. }
  7413. hide(that, '_d', {
  7414. b: buffer,
  7415. o: offset,
  7416. l: byteLength,
  7417. e: length,
  7418. v: new $DataView(buffer)
  7419. });
  7420. while(index < length)addElement(that, index++);
  7421. });
  7422. TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);
  7423. hide(TypedArrayPrototype, 'constructor', TypedArray);
  7424. } else if(!$iterDetect(function(iter){
  7425. // V8 works with iterators, but fails in many other cases
  7426. // https://code.google.com/p/v8/issues/detail?id=4552
  7427. new TypedArray(null); // eslint-disable-line no-new
  7428. new TypedArray(iter); // eslint-disable-line no-new
  7429. }, true)){
  7430. TypedArray = wrapper(function(that, data, $offset, $length){
  7431. anInstance(that, TypedArray, NAME);
  7432. var klass;
  7433. // `ws` module bug, temporarily remove validation length for Uint8Array
  7434. // https://github.com/websockets/ws/pull/645
  7435. if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8));
  7436. if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){
  7437. return $length !== undefined
  7438. ? new Base(data, toOffset($offset, BYTES), $length)
  7439. : $offset !== undefined
  7440. ? new Base(data, toOffset($offset, BYTES))
  7441. : new Base(data);
  7442. }
  7443. if(TYPED_ARRAY in data)return fromList(TypedArray, data);
  7444. return $from.call(TypedArray, data);
  7445. });
  7446. arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){
  7447. if(!(key in TypedArray))hide(TypedArray, key, Base[key]);
  7448. });
  7449. TypedArray[PROTOTYPE] = TypedArrayPrototype;
  7450. if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray;
  7451. }
  7452. var $nativeIterator = TypedArrayPrototype[ITERATOR]
  7453. , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined)
  7454. , $iterator = $iterators.values;
  7455. hide(TypedArray, TYPED_CONSTRUCTOR, true);
  7456. hide(TypedArrayPrototype, TYPED_ARRAY, NAME);
  7457. hide(TypedArrayPrototype, VIEW, true);
  7458. hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);
  7459. if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){
  7460. dP(TypedArrayPrototype, TAG, {
  7461. get: function(){ return NAME; }
  7462. });
  7463. }
  7464. O[NAME] = TypedArray;
  7465. $export($export.G + $export.W + $export.F * (TypedArray != Base), O);
  7466. $export($export.S, NAME, {
  7467. BYTES_PER_ELEMENT: BYTES,
  7468. from: $from,
  7469. of: $of
  7470. });
  7471. if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);
  7472. $export($export.P, NAME, proto);
  7473. setSpecies(NAME);
  7474. $export($export.P + $export.F * FORCED_SET, NAME, {set: $set});
  7475. $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);
  7476. $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString});
  7477. $export($export.P + $export.F * fails(function(){
  7478. new TypedArray(1).slice();
  7479. }), NAME, {slice: $slice});
  7480. $export($export.P + $export.F * (fails(function(){
  7481. return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString()
  7482. }) || !fails(function(){
  7483. TypedArrayPrototype.toLocaleString.call([1, 2]);
  7484. })), NAME, {toLocaleString: $toLocaleString});
  7485. Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;
  7486. if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator);
  7487. };
  7488. } else module.exports = function(){ /* empty */ };
  7489. /***/ },
  7490. /* 63 */
  7491. /***/ function(module, exports, __webpack_require__) {
  7492. "use strict";
  7493. "use strict";
  7494. var __extends = (this && this.__extends) || function (d, b) {
  7495. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  7496. function __() { this.constructor = d; }
  7497. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  7498. };
  7499. var Observable_1 = __webpack_require__(0);
  7500. var ScalarObservable_1 = __webpack_require__(257);
  7501. var EmptyObservable_1 = __webpack_require__(74);
  7502. var isScheduler_1 = __webpack_require__(75);
  7503. /**
  7504. * We need this JSDoc comment for affecting ESDoc.
  7505. * @extends {Ignored}
  7506. * @hide true
  7507. */
  7508. var ArrayObservable = (function (_super) {
  7509. __extends(ArrayObservable, _super);
  7510. function ArrayObservable(array, scheduler) {
  7511. _super.call(this);
  7512. this.array = array;
  7513. this.scheduler = scheduler;
  7514. if (!scheduler && array.length === 1) {
  7515. this._isScalar = true;
  7516. this.value = array[0];
  7517. }
  7518. }
  7519. ArrayObservable.create = function (array, scheduler) {
  7520. return new ArrayObservable(array, scheduler);
  7521. };
  7522. /**
  7523. * Creates an Observable that emits some values you specify as arguments,
  7524. * immediately one after the other, and then emits a complete notification.
  7525. *
  7526. * <span class="informal">Emits the arguments you provide, then completes.
  7527. * </span>
  7528. *
  7529. * <img src="./img/of.png" width="100%">
  7530. *
  7531. * This static operator is useful for creating a simple Observable that only
  7532. * emits the arguments given, and the complete notification thereafter. It can
  7533. * be used for composing with other Observables, such as with {@link concat}.
  7534. * By default, it uses a `null` Scheduler, which means the `next`
  7535. * notifications are sent synchronously, although with a different Scheduler
  7536. * it is possible to determine when those notifications will be delivered.
  7537. *
  7538. * @example <caption>Emit 10, 20, 30, then 'a', 'b', 'c', then start ticking every second.</caption>
  7539. * var numbers = Rx.Observable.of(10, 20, 30);
  7540. * var letters = Rx.Observable.of('a', 'b', 'c');
  7541. * var interval = Rx.Observable.interval(1000);
  7542. * var result = numbers.concat(letters).concat(interval);
  7543. * result.subscribe(x => console.log(x));
  7544. *
  7545. * @see {@link create}
  7546. * @see {@link empty}
  7547. * @see {@link never}
  7548. * @see {@link throw}
  7549. *
  7550. * @param {...T} values Arguments that represent `next` values to be emitted.
  7551. * @param {Scheduler} [scheduler] A {@link Scheduler} to use for scheduling
  7552. * the emissions of the `next` notifications.
  7553. * @return {Observable<T>} An Observable that emits each given input value.
  7554. * @static true
  7555. * @name of
  7556. * @owner Observable
  7557. */
  7558. ArrayObservable.of = function () {
  7559. var array = [];
  7560. for (var _i = 0; _i < arguments.length; _i++) {
  7561. array[_i - 0] = arguments[_i];
  7562. }
  7563. var scheduler = array[array.length - 1];
  7564. if (isScheduler_1.isScheduler(scheduler)) {
  7565. array.pop();
  7566. }
  7567. else {
  7568. scheduler = null;
  7569. }
  7570. var len = array.length;
  7571. if (len > 1) {
  7572. return new ArrayObservable(array, scheduler);
  7573. }
  7574. else if (len === 1) {
  7575. return new ScalarObservable_1.ScalarObservable(array[0], scheduler);
  7576. }
  7577. else {
  7578. return new EmptyObservable_1.EmptyObservable(scheduler);
  7579. }
  7580. };
  7581. ArrayObservable.dispatch = function (state) {
  7582. var array = state.array, index = state.index, count = state.count, subscriber = state.subscriber;
  7583. if (index >= count) {
  7584. subscriber.complete();
  7585. return;
  7586. }
  7587. subscriber.next(array[index]);
  7588. if (subscriber.closed) {
  7589. return;
  7590. }
  7591. state.index = index + 1;
  7592. this.schedule(state);
  7593. };
  7594. ArrayObservable.prototype._subscribe = function (subscriber) {
  7595. var index = 0;
  7596. var array = this.array;
  7597. var count = array.length;
  7598. var scheduler = this.scheduler;
  7599. if (scheduler) {
  7600. return scheduler.schedule(ArrayObservable.dispatch, 0, {
  7601. array: array, index: index, count: count, subscriber: subscriber
  7602. });
  7603. }
  7604. else {
  7605. for (var i = 0; i < count && !subscriber.closed; i++) {
  7606. subscriber.next(array[i]);
  7607. }
  7608. subscriber.complete();
  7609. }
  7610. };
  7611. return ArrayObservable;
  7612. }(Observable_1.Observable));
  7613. exports.ArrayObservable = ArrayObservable;
  7614. //# sourceMappingURL=ArrayObservable.js.map
  7615. /***/ },
  7616. /* 64 */
  7617. /***/ function(module, exports) {
  7618. var g;
  7619. // This works in non-strict mode
  7620. g = (function() { return this; })();
  7621. try {
  7622. // This works if eval is allowed (see CSP)
  7623. g = g || Function("return this")() || (1,eval)("this");
  7624. } catch(e) {
  7625. // This works if the window reference is available
  7626. if(typeof window === "object")
  7627. g = window;
  7628. }
  7629. // g can still be undefined, but nothing to do about it...
  7630. // We return undefined, instead of nothing here, so it's
  7631. // easier to handle this case. if(!global) { ...}
  7632. module.exports = g;
  7633. /***/ },
  7634. /* 65 */
  7635. /***/ function(module, exports, __webpack_require__) {
  7636. "use strict";
  7637. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_errors__ = __webpack_require__(433);
  7638. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(28);
  7639. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return InvalidPipeArgumentError; });
  7640. /**
  7641. * @license
  7642. * Copyright Google Inc. All Rights Reserved.
  7643. *
  7644. * Use of this source code is governed by an MIT-style license that can be
  7645. * found in the LICENSE file at https://angular.io/license
  7646. */
  7647. var __extends = (this && this.__extends) || function (d, b) {
  7648. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  7649. function __() { this.constructor = d; }
  7650. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  7651. };
  7652. var InvalidPipeArgumentError = (function (_super) {
  7653. __extends(InvalidPipeArgumentError, _super);
  7654. function InvalidPipeArgumentError(type, value) {
  7655. _super.call(this, "Invalid argument '" + value + "' for pipe '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["g" /* stringify */])(type) + "'");
  7656. }
  7657. return InvalidPipeArgumentError;
  7658. }(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["a" /* BaseError */]));
  7659. //# sourceMappingURL=invalid_pipe_argument_error.js.map
  7660. /***/ },
  7661. /* 66 */
  7662. /***/ function(module, exports, __webpack_require__) {
  7663. "use strict";
  7664. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return Text; });
  7665. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return Expansion; });
  7666. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return ExpansionCase; });
  7667. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return Attribute; });
  7668. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return Element; });
  7669. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Comment; });
  7670. /* harmony export (immutable) */ exports["g"] = visitAll;
  7671. /**
  7672. * @license
  7673. * Copyright Google Inc. All Rights Reserved.
  7674. *
  7675. * Use of this source code is governed by an MIT-style license that can be
  7676. * found in the LICENSE file at https://angular.io/license
  7677. */
  7678. var Text = (function () {
  7679. function Text(value, sourceSpan) {
  7680. this.value = value;
  7681. this.sourceSpan = sourceSpan;
  7682. }
  7683. Text.prototype.visit = function (visitor, context) { return visitor.visitText(this, context); };
  7684. return Text;
  7685. }());
  7686. var Expansion = (function () {
  7687. function Expansion(switchValue, type, cases, sourceSpan, switchValueSourceSpan) {
  7688. this.switchValue = switchValue;
  7689. this.type = type;
  7690. this.cases = cases;
  7691. this.sourceSpan = sourceSpan;
  7692. this.switchValueSourceSpan = switchValueSourceSpan;
  7693. }
  7694. Expansion.prototype.visit = function (visitor, context) { return visitor.visitExpansion(this, context); };
  7695. return Expansion;
  7696. }());
  7697. var ExpansionCase = (function () {
  7698. function ExpansionCase(value, expression, sourceSpan, valueSourceSpan, expSourceSpan) {
  7699. this.value = value;
  7700. this.expression = expression;
  7701. this.sourceSpan = sourceSpan;
  7702. this.valueSourceSpan = valueSourceSpan;
  7703. this.expSourceSpan = expSourceSpan;
  7704. }
  7705. ExpansionCase.prototype.visit = function (visitor, context) { return visitor.visitExpansionCase(this, context); };
  7706. return ExpansionCase;
  7707. }());
  7708. var Attribute = (function () {
  7709. function Attribute(name, value, sourceSpan) {
  7710. this.name = name;
  7711. this.value = value;
  7712. this.sourceSpan = sourceSpan;
  7713. }
  7714. Attribute.prototype.visit = function (visitor, context) { return visitor.visitAttribute(this, context); };
  7715. return Attribute;
  7716. }());
  7717. var Element = (function () {
  7718. function Element(name, attrs, children, sourceSpan, startSourceSpan, endSourceSpan) {
  7719. this.name = name;
  7720. this.attrs = attrs;
  7721. this.children = children;
  7722. this.sourceSpan = sourceSpan;
  7723. this.startSourceSpan = startSourceSpan;
  7724. this.endSourceSpan = endSourceSpan;
  7725. }
  7726. Element.prototype.visit = function (visitor, context) { return visitor.visitElement(this, context); };
  7727. return Element;
  7728. }());
  7729. var Comment = (function () {
  7730. function Comment(value, sourceSpan) {
  7731. this.value = value;
  7732. this.sourceSpan = sourceSpan;
  7733. }
  7734. Comment.prototype.visit = function (visitor, context) { return visitor.visitComment(this, context); };
  7735. return Comment;
  7736. }());
  7737. function visitAll(visitor, nodes, context) {
  7738. if (context === void 0) { context = null; }
  7739. var result = [];
  7740. nodes.forEach(function (ast) {
  7741. var astResult = ast.visit(visitor, context);
  7742. if (astResult) {
  7743. result.push(astResult);
  7744. }
  7745. });
  7746. return result;
  7747. }
  7748. //# sourceMappingURL=ast.js.map
  7749. /***/ },
  7750. /* 67 */,
  7751. /* 68 */
  7752. /***/ function(module, exports, __webpack_require__) {
  7753. "use strict";
  7754. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return RequestMethod; });
  7755. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return ReadyState; });
  7756. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ResponseType; });
  7757. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return ContentType; });
  7758. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return ResponseContentType; });
  7759. /**
  7760. * @license
  7761. * Copyright Google Inc. All Rights Reserved.
  7762. *
  7763. * Use of this source code is governed by an MIT-style license that can be
  7764. * found in the LICENSE file at https://angular.io/license
  7765. */
  7766. /**
  7767. * Supported http methods.
  7768. * @experimental
  7769. */
  7770. var RequestMethod;
  7771. (function (RequestMethod) {
  7772. RequestMethod[RequestMethod["Get"] = 0] = "Get";
  7773. RequestMethod[RequestMethod["Post"] = 1] = "Post";
  7774. RequestMethod[RequestMethod["Put"] = 2] = "Put";
  7775. RequestMethod[RequestMethod["Delete"] = 3] = "Delete";
  7776. RequestMethod[RequestMethod["Options"] = 4] = "Options";
  7777. RequestMethod[RequestMethod["Head"] = 5] = "Head";
  7778. RequestMethod[RequestMethod["Patch"] = 6] = "Patch";
  7779. })(RequestMethod || (RequestMethod = {}));
  7780. /**
  7781. * All possible states in which a connection can be, based on
  7782. * [States](http://www.w3.org/TR/XMLHttpRequest/#states) from the `XMLHttpRequest` spec, but with an
  7783. * additional "CANCELLED" state.
  7784. * @experimental
  7785. */
  7786. var ReadyState;
  7787. (function (ReadyState) {
  7788. ReadyState[ReadyState["Unsent"] = 0] = "Unsent";
  7789. ReadyState[ReadyState["Open"] = 1] = "Open";
  7790. ReadyState[ReadyState["HeadersReceived"] = 2] = "HeadersReceived";
  7791. ReadyState[ReadyState["Loading"] = 3] = "Loading";
  7792. ReadyState[ReadyState["Done"] = 4] = "Done";
  7793. ReadyState[ReadyState["Cancelled"] = 5] = "Cancelled";
  7794. })(ReadyState || (ReadyState = {}));
  7795. /**
  7796. * Acceptable response types to be associated with a {@link Response}, based on
  7797. * [ResponseType](https://fetch.spec.whatwg.org/#responsetype) from the Fetch spec.
  7798. * @experimental
  7799. */
  7800. var ResponseType;
  7801. (function (ResponseType) {
  7802. ResponseType[ResponseType["Basic"] = 0] = "Basic";
  7803. ResponseType[ResponseType["Cors"] = 1] = "Cors";
  7804. ResponseType[ResponseType["Default"] = 2] = "Default";
  7805. ResponseType[ResponseType["Error"] = 3] = "Error";
  7806. ResponseType[ResponseType["Opaque"] = 4] = "Opaque";
  7807. })(ResponseType || (ResponseType = {}));
  7808. /**
  7809. * Supported content type to be automatically associated with a {@link Request}.
  7810. * @experimental
  7811. */
  7812. var ContentType;
  7813. (function (ContentType) {
  7814. ContentType[ContentType["NONE"] = 0] = "NONE";
  7815. ContentType[ContentType["JSON"] = 1] = "JSON";
  7816. ContentType[ContentType["FORM"] = 2] = "FORM";
  7817. ContentType[ContentType["FORM_DATA"] = 3] = "FORM_DATA";
  7818. ContentType[ContentType["TEXT"] = 4] = "TEXT";
  7819. ContentType[ContentType["BLOB"] = 5] = "BLOB";
  7820. ContentType[ContentType["ARRAY_BUFFER"] = 6] = "ARRAY_BUFFER";
  7821. })(ContentType || (ContentType = {}));
  7822. /**
  7823. * Define which buffer to use to store the response
  7824. * @experimental
  7825. */
  7826. var ResponseContentType;
  7827. (function (ResponseContentType) {
  7828. ResponseContentType[ResponseContentType["Text"] = 0] = "Text";
  7829. ResponseContentType[ResponseContentType["Json"] = 1] = "Json";
  7830. ResponseContentType[ResponseContentType["ArrayBuffer"] = 2] = "ArrayBuffer";
  7831. ResponseContentType[ResponseContentType["Blob"] = 3] = "Blob";
  7832. })(ResponseContentType || (ResponseContentType = {}));
  7833. //# sourceMappingURL=enums.js.map
  7834. /***/ },
  7835. /* 69 */
  7836. /***/ function(module, exports) {
  7837. var core = module.exports = {version: '2.4.0'};
  7838. if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
  7839. /***/ },
  7840. /* 70 */
  7841. /***/ function(module, exports, __webpack_require__) {
  7842. var META = __webpack_require__(81)('meta')
  7843. , isObject = __webpack_require__(10)
  7844. , has = __webpack_require__(32)
  7845. , setDesc = __webpack_require__(17).f
  7846. , id = 0;
  7847. var isExtensible = Object.isExtensible || function(){
  7848. return true;
  7849. };
  7850. var FREEZE = !__webpack_require__(9)(function(){
  7851. return isExtensible(Object.preventExtensions({}));
  7852. });
  7853. var setMeta = function(it){
  7854. setDesc(it, META, {value: {
  7855. i: 'O' + ++id, // object ID
  7856. w: {} // weak collections IDs
  7857. }});
  7858. };
  7859. var fastKey = function(it, create){
  7860. // return primitive with prefix
  7861. if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
  7862. if(!has(it, META)){
  7863. // can't set metadata to uncaught frozen object
  7864. if(!isExtensible(it))return 'F';
  7865. // not necessary to add metadata
  7866. if(!create)return 'E';
  7867. // add missing metadata
  7868. setMeta(it);
  7869. // return object ID
  7870. } return it[META].i;
  7871. };
  7872. var getWeak = function(it, create){
  7873. if(!has(it, META)){
  7874. // can't set metadata to uncaught frozen object
  7875. if(!isExtensible(it))return true;
  7876. // not necessary to add metadata
  7877. if(!create)return false;
  7878. // add missing metadata
  7879. setMeta(it);
  7880. // return hash weak collections IDs
  7881. } return it[META].w;
  7882. };
  7883. // add metadata on freeze-family methods calling
  7884. var onFreeze = function(it){
  7885. if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);
  7886. return it;
  7887. };
  7888. var meta = module.exports = {
  7889. KEY: META,
  7890. NEED: false,
  7891. fastKey: fastKey,
  7892. getWeak: getWeak,
  7893. onFreeze: onFreeze
  7894. };
  7895. /***/ },
  7896. /* 71 */
  7897. /***/ function(module, exports) {
  7898. module.exports = function(bitmap, value){
  7899. return {
  7900. enumerable : !(bitmap & 1),
  7901. configurable: !(bitmap & 2),
  7902. writable : !(bitmap & 4),
  7903. value : value
  7904. };
  7905. };
  7906. /***/ },
  7907. /* 72 */
  7908. /***/ function(module, exports) {
  7909. // 7.1.4 ToInteger
  7910. var ceil = Math.ceil
  7911. , floor = Math.floor;
  7912. module.exports = function(it){
  7913. return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
  7914. };
  7915. /***/ },
  7916. /* 73 */
  7917. /***/ function(module, exports, __webpack_require__) {
  7918. // 7.1.1 ToPrimitive(input [, PreferredType])
  7919. var isObject = __webpack_require__(10);
  7920. // instead of the ES6 spec version, we didn't implement @@toPrimitive case
  7921. // and the second argument - flag - preferred type is a string
  7922. module.exports = function(it, S){
  7923. if(!isObject(it))return it;
  7924. var fn, val;
  7925. if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
  7926. if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;
  7927. if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
  7928. throw TypeError("Can't convert object to primitive value");
  7929. };
  7930. /***/ },
  7931. /* 74 */
  7932. /***/ function(module, exports, __webpack_require__) {
  7933. "use strict";
  7934. "use strict";
  7935. var __extends = (this && this.__extends) || function (d, b) {
  7936. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  7937. function __() { this.constructor = d; }
  7938. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  7939. };
  7940. var Observable_1 = __webpack_require__(0);
  7941. /**
  7942. * We need this JSDoc comment for affecting ESDoc.
  7943. * @extends {Ignored}
  7944. * @hide true
  7945. */
  7946. var EmptyObservable = (function (_super) {
  7947. __extends(EmptyObservable, _super);
  7948. function EmptyObservable(scheduler) {
  7949. _super.call(this);
  7950. this.scheduler = scheduler;
  7951. }
  7952. /**
  7953. * Creates an Observable that emits no items to the Observer and immediately
  7954. * emits a complete notification.
  7955. *
  7956. * <span class="informal">Just emits 'complete', and nothing else.
  7957. * </span>
  7958. *
  7959. * <img src="./img/empty.png" width="100%">
  7960. *
  7961. * This static operator is useful for creating a simple Observable that only
  7962. * emits the complete notification. It can be used for composing with other
  7963. * Observables, such as in a {@link mergeMap}.
  7964. *
  7965. * @example <caption>Emit the number 7, then complete.</caption>
  7966. * var result = Rx.Observable.empty().startWith(7);
  7967. * result.subscribe(x => console.log(x));
  7968. *
  7969. * @example <caption>Map and flatten only odd numbers to the sequence 'a', 'b', 'c'</caption>
  7970. * var interval = Rx.Observable.interval(1000);
  7971. * var result = interval.mergeMap(x =>
  7972. * x % 2 === 1 ? Rx.Observable.of('a', 'b', 'c') : Rx.Observable.empty()
  7973. * );
  7974. * result.subscribe(x => console.log(x));
  7975. *
  7976. * @see {@link create}
  7977. * @see {@link never}
  7978. * @see {@link of}
  7979. * @see {@link throw}
  7980. *
  7981. * @param {Scheduler} [scheduler] A {@link Scheduler} to use for scheduling
  7982. * the emission of the complete notification.
  7983. * @return {Observable} An "empty" Observable: emits only the complete
  7984. * notification.
  7985. * @static true
  7986. * @name empty
  7987. * @owner Observable
  7988. */
  7989. EmptyObservable.create = function (scheduler) {
  7990. return new EmptyObservable(scheduler);
  7991. };
  7992. EmptyObservable.dispatch = function (arg) {
  7993. var subscriber = arg.subscriber;
  7994. subscriber.complete();
  7995. };
  7996. EmptyObservable.prototype._subscribe = function (subscriber) {
  7997. var scheduler = this.scheduler;
  7998. if (scheduler) {
  7999. return scheduler.schedule(EmptyObservable.dispatch, 0, { subscriber: subscriber });
  8000. }
  8001. else {
  8002. subscriber.complete();
  8003. }
  8004. };
  8005. return EmptyObservable;
  8006. }(Observable_1.Observable));
  8007. exports.EmptyObservable = EmptyObservable;
  8008. //# sourceMappingURL=EmptyObservable.js.map
  8009. /***/ },
  8010. /* 75 */
  8011. /***/ function(module, exports) {
  8012. "use strict";
  8013. "use strict";
  8014. function isScheduler(value) {
  8015. return value && typeof value.schedule === 'function';
  8016. }
  8017. exports.isScheduler = isScheduler;
  8018. //# sourceMappingURL=isScheduler.js.map
  8019. /***/ },
  8020. /* 76 */,
  8021. /* 77 */
  8022. /***/ function(module, exports, __webpack_require__) {
  8023. "use strict";
  8024. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__shared__ = __webpack_require__(54);
  8025. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_collection__ = __webpack_require__(55);
  8026. /* harmony export (immutable) */ exports["e"] = createEmptyUrlTree;
  8027. /* harmony export (immutable) */ exports["f"] = containsTree;
  8028. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return UrlTree; });
  8029. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return UrlSegmentGroup; });
  8030. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return UrlSegment; });
  8031. /* unused harmony export equalSegments */
  8032. /* unused harmony export equalPath */
  8033. /* harmony export (immutable) */ exports["d"] = mapChildrenIntoArray;
  8034. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return UrlSerializer; });
  8035. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return DefaultUrlSerializer; });
  8036. /* unused harmony export serializePaths */
  8037. /* unused harmony export encode */
  8038. /* unused harmony export decode */
  8039. /* unused harmony export serializePath */
  8040. /**
  8041. * @license
  8042. * Copyright Google Inc. All Rights Reserved.
  8043. *
  8044. * Use of this source code is governed by an MIT-style license that can be
  8045. * found in the LICENSE file at https://angular.io/license
  8046. */
  8047. function createEmptyUrlTree() {
  8048. return new UrlTree(new UrlSegmentGroup([], {}), {}, null);
  8049. }
  8050. function containsTree(container, containee, exact) {
  8051. if (exact) {
  8052. return equalSegmentGroups(container.root, containee.root);
  8053. }
  8054. else {
  8055. return containsSegmentGroup(container.root, containee.root);
  8056. }
  8057. }
  8058. function equalSegmentGroups(container, containee) {
  8059. if (!equalPath(container.segments, containee.segments))
  8060. return false;
  8061. if (container.numberOfChildren !== containee.numberOfChildren)
  8062. return false;
  8063. for (var c in containee.children) {
  8064. if (!container.children[c])
  8065. return false;
  8066. if (!equalSegmentGroups(container.children[c], containee.children[c]))
  8067. return false;
  8068. }
  8069. return true;
  8070. }
  8071. function containsSegmentGroup(container, containee) {
  8072. return containsSegmentGroupHelper(container, containee, containee.segments);
  8073. }
  8074. function containsSegmentGroupHelper(container, containee, containeePaths) {
  8075. if (container.segments.length > containeePaths.length) {
  8076. var current = container.segments.slice(0, containeePaths.length);
  8077. if (!equalPath(current, containeePaths))
  8078. return false;
  8079. if (containee.hasChildren())
  8080. return false;
  8081. return true;
  8082. }
  8083. else if (container.segments.length === containeePaths.length) {
  8084. if (!equalPath(container.segments, containeePaths))
  8085. return false;
  8086. for (var c in containee.children) {
  8087. if (!container.children[c])
  8088. return false;
  8089. if (!containsSegmentGroup(container.children[c], containee.children[c]))
  8090. return false;
  8091. }
  8092. return true;
  8093. }
  8094. else {
  8095. var current = containeePaths.slice(0, container.segments.length);
  8096. var next = containeePaths.slice(container.segments.length);
  8097. if (!equalPath(container.segments, current))
  8098. return false;
  8099. if (!container.children[__WEBPACK_IMPORTED_MODULE_0__shared__["a" /* PRIMARY_OUTLET */]])
  8100. return false;
  8101. return containsSegmentGroupHelper(container.children[__WEBPACK_IMPORTED_MODULE_0__shared__["a" /* PRIMARY_OUTLET */]], containee, next);
  8102. }
  8103. }
  8104. /**
  8105. * @whatItDoes Represents the parsed URL.
  8106. *
  8107. * @howToUse
  8108. *
  8109. * ```
  8110. * @Component({templateUrl:'template.html'})
  8111. * class MyComponent {
  8112. * constructor(router: Router) {
  8113. * const tree: UrlTree =
  8114. * router.parseUrl('/team/33/(user/victor//support:help)?debug=true#fragment');
  8115. * const f = tree.fragment; // return 'fragment'
  8116. * const q = tree.queryParams; // returns {debug: 'true'}
  8117. * const g: UrlSegmentGroup = tree.root.children[PRIMARY_OUTLET];
  8118. * const s: UrlSegment[] = g.segments; // returns 2 segments 'team' and '33'
  8119. * g.children[PRIMARY_OUTLET].segments; // returns 2 segments 'user' and 'victor'
  8120. * g.children['support'].segments; // return 1 segment 'help'
  8121. * }
  8122. * }
  8123. * ```
  8124. *
  8125. * @description
  8126. *
  8127. * Since a router state is a tree, and the URL is nothing but a serialized state, the URL is a
  8128. * serialized tree.
  8129. * UrlTree is a data structure that provides a lot of affordances in dealing with URLs
  8130. *
  8131. * @stable
  8132. */
  8133. var UrlTree = (function () {
  8134. /**
  8135. * @internal
  8136. */
  8137. function UrlTree(
  8138. /**
  8139. * The root segment group of the URL tree.
  8140. */
  8141. root,
  8142. /**
  8143. * The query params of the URL.
  8144. */
  8145. queryParams,
  8146. /**
  8147. * The fragment of the URL.
  8148. */
  8149. fragment) {
  8150. this.root = root;
  8151. this.queryParams = queryParams;
  8152. this.fragment = fragment;
  8153. }
  8154. /**
  8155. * @docsNotRequired
  8156. */
  8157. UrlTree.prototype.toString = function () { return new DefaultUrlSerializer().serialize(this); };
  8158. return UrlTree;
  8159. }());
  8160. /**
  8161. * @whatItDoes Represents the parsed URL segment.
  8162. *
  8163. * See {@link UrlTree} for more information.
  8164. *
  8165. * @stable
  8166. */
  8167. var UrlSegmentGroup = (function () {
  8168. function UrlSegmentGroup(
  8169. /**
  8170. * The URL segments of this group. See {@link UrlSegment} for more information.
  8171. */
  8172. segments,
  8173. /**
  8174. * The list of children of this group.
  8175. */
  8176. children) {
  8177. var _this = this;
  8178. this.segments = segments;
  8179. this.children = children;
  8180. /**
  8181. * The parent node in the url tree.
  8182. */
  8183. this.parent = null;
  8184. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils_collection__["c" /* forEach */])(children, function (v, k) { return v.parent = _this; });
  8185. }
  8186. /**
  8187. * Return true if the segment has child segments
  8188. */
  8189. UrlSegmentGroup.prototype.hasChildren = function () { return this.numberOfChildren > 0; };
  8190. Object.defineProperty(UrlSegmentGroup.prototype, "numberOfChildren", {
  8191. /**
  8192. * Returns the number of child sements.
  8193. */
  8194. get: function () { return Object.keys(this.children).length; },
  8195. enumerable: true,
  8196. configurable: true
  8197. });
  8198. /**
  8199. * @docsNotRequired
  8200. */
  8201. UrlSegmentGroup.prototype.toString = function () { return serializePaths(this); };
  8202. return UrlSegmentGroup;
  8203. }());
  8204. /**
  8205. * @whatItDoes Represents a single URL segment.
  8206. *
  8207. * @howToUse
  8208. *
  8209. * ```
  8210. * @Component({templateUrl:'template.html'})
  8211. * class MyComponent {
  8212. * constructor(router: Router) {
  8213. * const tree: UrlTree = router.parseUrl('/team;id=33');
  8214. * const g: UrlSegmentGroup = tree.root.children[PRIMARY_OUTLET];
  8215. * const s: UrlSegment[] = g.segments;
  8216. * s[0].path; // returns 'team'
  8217. * s[0].parameters; // returns {id: 33}
  8218. * }
  8219. * }
  8220. * ```
  8221. *
  8222. * @description
  8223. *
  8224. * A UrlSegment is a part of a URL between the two slashes. It contains a path and
  8225. * the matrix parameters associated with the segment.
  8226. *
  8227. * @stable
  8228. */
  8229. var UrlSegment = (function () {
  8230. function UrlSegment(
  8231. /**
  8232. * The part part of a URL segment.
  8233. */
  8234. path,
  8235. /**
  8236. * The matrix parameters associated with a segment.
  8237. */
  8238. parameters) {
  8239. this.path = path;
  8240. this.parameters = parameters;
  8241. }
  8242. /**
  8243. * @docsNotRequired
  8244. */
  8245. UrlSegment.prototype.toString = function () { return serializePath(this); };
  8246. return UrlSegment;
  8247. }());
  8248. function equalSegments(a, b) {
  8249. if (a.length !== b.length)
  8250. return false;
  8251. for (var i = 0; i < a.length; ++i) {
  8252. if (a[i].path !== b[i].path)
  8253. return false;
  8254. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils_collection__["d" /* shallowEqual */])(a[i].parameters, b[i].parameters))
  8255. return false;
  8256. }
  8257. return true;
  8258. }
  8259. function equalPath(a, b) {
  8260. if (a.length !== b.length)
  8261. return false;
  8262. for (var i = 0; i < a.length; ++i) {
  8263. if (a[i].path !== b[i].path)
  8264. return false;
  8265. }
  8266. return true;
  8267. }
  8268. function mapChildrenIntoArray(segment, fn) {
  8269. var res = [];
  8270. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils_collection__["c" /* forEach */])(segment.children, function (child, childOutlet) {
  8271. if (childOutlet === __WEBPACK_IMPORTED_MODULE_0__shared__["a" /* PRIMARY_OUTLET */]) {
  8272. res = res.concat(fn(child, childOutlet));
  8273. }
  8274. });
  8275. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils_collection__["c" /* forEach */])(segment.children, function (child, childOutlet) {
  8276. if (childOutlet !== __WEBPACK_IMPORTED_MODULE_0__shared__["a" /* PRIMARY_OUTLET */]) {
  8277. res = res.concat(fn(child, childOutlet));
  8278. }
  8279. });
  8280. return res;
  8281. }
  8282. /**
  8283. * @whatItDoes Serializes and deserializes a URL string into a URL tree.
  8284. *
  8285. * @description The url serialization strategy is customizable. You can
  8286. * make all URLs case insensitive by providing a custom UrlSerializer.
  8287. *
  8288. * See {@link DefaultUrlSerializer} for an example of a URL serializer.
  8289. *
  8290. * @stable
  8291. */
  8292. var UrlSerializer = (function () {
  8293. function UrlSerializer() {
  8294. }
  8295. return UrlSerializer;
  8296. }());
  8297. /**
  8298. * @whatItDoes A default implementation of the {@link UrlSerializer}.
  8299. *
  8300. * @description
  8301. *
  8302. * Example URLs:
  8303. *
  8304. * ```
  8305. * /inbox/33(popup:compose)
  8306. * /inbox/33;open=true/messages/44
  8307. * ```
  8308. *
  8309. * DefaultUrlSerializer uses parentheses to serialize secondary segments (e.g., popup:compose), the
  8310. * colon syntax to specify the outlet, and the ';parameter=value' syntax (e.g., open=true) to
  8311. * specify route specific parameters.
  8312. *
  8313. * @stable
  8314. */
  8315. var DefaultUrlSerializer = (function () {
  8316. function DefaultUrlSerializer() {
  8317. }
  8318. /**
  8319. * Parse a url into a {@link UrlTree}.
  8320. */
  8321. DefaultUrlSerializer.prototype.parse = function (url) {
  8322. var p = new UrlParser(url);
  8323. return new UrlTree(p.parseRootSegment(), p.parseQueryParams(), p.parseFragment());
  8324. };
  8325. /**
  8326. * Converts a {@link UrlTree} into a url.
  8327. */
  8328. DefaultUrlSerializer.prototype.serialize = function (tree) {
  8329. var segment = "/" + serializeSegment(tree.root, true);
  8330. var query = serializeQueryParams(tree.queryParams);
  8331. var fragment = tree.fragment !== null && tree.fragment !== undefined ? "#" + encodeURI(tree.fragment) : '';
  8332. return "" + segment + query + fragment;
  8333. };
  8334. return DefaultUrlSerializer;
  8335. }());
  8336. function serializePaths(segment) {
  8337. return segment.segments.map(function (p) { return serializePath(p); }).join('/');
  8338. }
  8339. function serializeSegment(segment, root) {
  8340. if (segment.hasChildren() && root) {
  8341. var primary = segment.children[__WEBPACK_IMPORTED_MODULE_0__shared__["a" /* PRIMARY_OUTLET */]] ?
  8342. serializeSegment(segment.children[__WEBPACK_IMPORTED_MODULE_0__shared__["a" /* PRIMARY_OUTLET */]], false) :
  8343. '';
  8344. var children_1 = [];
  8345. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils_collection__["c" /* forEach */])(segment.children, function (v, k) {
  8346. if (k !== __WEBPACK_IMPORTED_MODULE_0__shared__["a" /* PRIMARY_OUTLET */]) {
  8347. children_1.push(k + ":" + serializeSegment(v, false));
  8348. }
  8349. });
  8350. if (children_1.length > 0) {
  8351. return primary + "(" + children_1.join('//') + ")";
  8352. }
  8353. else {
  8354. return "" + primary;
  8355. }
  8356. }
  8357. else if (segment.hasChildren() && !root) {
  8358. var children = mapChildrenIntoArray(segment, function (v, k) {
  8359. if (k === __WEBPACK_IMPORTED_MODULE_0__shared__["a" /* PRIMARY_OUTLET */]) {
  8360. return [serializeSegment(segment.children[__WEBPACK_IMPORTED_MODULE_0__shared__["a" /* PRIMARY_OUTLET */]], false)];
  8361. }
  8362. else {
  8363. return [(k + ":" + serializeSegment(v, false))];
  8364. }
  8365. });
  8366. return serializePaths(segment) + "/(" + children.join('//') + ")";
  8367. }
  8368. else {
  8369. return serializePaths(segment);
  8370. }
  8371. }
  8372. function encode(s) {
  8373. return encodeURIComponent(s);
  8374. }
  8375. function decode(s) {
  8376. return decodeURIComponent(s);
  8377. }
  8378. function serializePath(path) {
  8379. return "" + encode(path.path) + serializeParams(path.parameters);
  8380. }
  8381. function serializeParams(params) {
  8382. return pairs(params).map(function (p) { return (";" + encode(p.first) + "=" + encode(p.second)); }).join('');
  8383. }
  8384. function serializeQueryParams(params) {
  8385. var strs = pairs(params).map(function (p) { return (encode(p.first) + "=" + encode(p.second)); });
  8386. return strs.length > 0 ? "?" + strs.join("&") : '';
  8387. }
  8388. var Pair = (function () {
  8389. function Pair(first, second) {
  8390. this.first = first;
  8391. this.second = second;
  8392. }
  8393. return Pair;
  8394. }());
  8395. function pairs(obj) {
  8396. var res = [];
  8397. for (var prop in obj) {
  8398. if (obj.hasOwnProperty(prop)) {
  8399. res.push(new Pair(prop, obj[prop]));
  8400. }
  8401. }
  8402. return res;
  8403. }
  8404. var SEGMENT_RE = /^[^\/\(\)\?;=&#]+/;
  8405. function matchSegments(str) {
  8406. SEGMENT_RE.lastIndex = 0;
  8407. var match = str.match(SEGMENT_RE);
  8408. return match ? match[0] : '';
  8409. }
  8410. var QUERY_PARAM_RE = /^[^=\?&#]+/;
  8411. function matchQueryParams(str) {
  8412. QUERY_PARAM_RE.lastIndex = 0;
  8413. var match = str.match(SEGMENT_RE);
  8414. return match ? match[0] : '';
  8415. }
  8416. var QUERY_PARAM_VALUE_RE = /^[^\?&#]+/;
  8417. function matchUrlQueryParamValue(str) {
  8418. QUERY_PARAM_VALUE_RE.lastIndex = 0;
  8419. var match = str.match(QUERY_PARAM_VALUE_RE);
  8420. return match ? match[0] : '';
  8421. }
  8422. var UrlParser = (function () {
  8423. function UrlParser(url) {
  8424. this.url = url;
  8425. this.remaining = url;
  8426. }
  8427. UrlParser.prototype.peekStartsWith = function (str) { return this.remaining.startsWith(str); };
  8428. UrlParser.prototype.capture = function (str) {
  8429. if (!this.remaining.startsWith(str)) {
  8430. throw new Error("Expected \"" + str + "\".");
  8431. }
  8432. this.remaining = this.remaining.substring(str.length);
  8433. };
  8434. UrlParser.prototype.parseRootSegment = function () {
  8435. if (this.remaining.startsWith('/')) {
  8436. this.capture('/');
  8437. }
  8438. if (this.remaining === '' || this.remaining.startsWith('?') || this.remaining.startsWith('#')) {
  8439. return new UrlSegmentGroup([], {});
  8440. }
  8441. else {
  8442. return new UrlSegmentGroup([], this.parseChildren());
  8443. }
  8444. };
  8445. UrlParser.prototype.parseChildren = function () {
  8446. if (this.remaining.length == 0) {
  8447. return {};
  8448. }
  8449. if (this.peekStartsWith('/')) {
  8450. this.capture('/');
  8451. }
  8452. var paths = [];
  8453. if (!this.peekStartsWith('(')) {
  8454. paths.push(this.parseSegments());
  8455. }
  8456. while (this.peekStartsWith('/') && !this.peekStartsWith('//') && !this.peekStartsWith('/(')) {
  8457. this.capture('/');
  8458. paths.push(this.parseSegments());
  8459. }
  8460. var children = {};
  8461. if (this.peekStartsWith('/(')) {
  8462. this.capture('/');
  8463. children = this.parseParens(true);
  8464. }
  8465. var res = {};
  8466. if (this.peekStartsWith('(')) {
  8467. res = this.parseParens(false);
  8468. }
  8469. if (paths.length > 0 || Object.keys(children).length > 0) {
  8470. res[__WEBPACK_IMPORTED_MODULE_0__shared__["a" /* PRIMARY_OUTLET */]] = new UrlSegmentGroup(paths, children);
  8471. }
  8472. return res;
  8473. };
  8474. UrlParser.prototype.parseSegments = function () {
  8475. var path = matchSegments(this.remaining);
  8476. if (path === '' && this.peekStartsWith(';')) {
  8477. throw new Error("Empty path url segment cannot have parameters: '" + this.remaining + "'.");
  8478. }
  8479. this.capture(path);
  8480. var matrixParams = {};
  8481. if (this.peekStartsWith(';')) {
  8482. matrixParams = this.parseMatrixParams();
  8483. }
  8484. return new UrlSegment(decode(path), matrixParams);
  8485. };
  8486. UrlParser.prototype.parseQueryParams = function () {
  8487. var params = {};
  8488. if (this.peekStartsWith('?')) {
  8489. this.capture('?');
  8490. this.parseQueryParam(params);
  8491. while (this.remaining.length > 0 && this.peekStartsWith('&')) {
  8492. this.capture('&');
  8493. this.parseQueryParam(params);
  8494. }
  8495. }
  8496. return params;
  8497. };
  8498. UrlParser.prototype.parseFragment = function () {
  8499. if (this.peekStartsWith('#')) {
  8500. return decodeURI(this.remaining.substring(1));
  8501. }
  8502. else {
  8503. return null;
  8504. }
  8505. };
  8506. UrlParser.prototype.parseMatrixParams = function () {
  8507. var params = {};
  8508. while (this.remaining.length > 0 && this.peekStartsWith(';')) {
  8509. this.capture(';');
  8510. this.parseParam(params);
  8511. }
  8512. return params;
  8513. };
  8514. UrlParser.prototype.parseParam = function (params) {
  8515. var key = matchSegments(this.remaining);
  8516. if (!key) {
  8517. return;
  8518. }
  8519. this.capture(key);
  8520. var value = '';
  8521. if (this.peekStartsWith('=')) {
  8522. this.capture('=');
  8523. var valueMatch = matchSegments(this.remaining);
  8524. if (valueMatch) {
  8525. value = valueMatch;
  8526. this.capture(value);
  8527. }
  8528. }
  8529. params[decode(key)] = decode(value);
  8530. };
  8531. UrlParser.prototype.parseQueryParam = function (params) {
  8532. var key = matchQueryParams(this.remaining);
  8533. if (!key) {
  8534. return;
  8535. }
  8536. this.capture(key);
  8537. var value = '';
  8538. if (this.peekStartsWith('=')) {
  8539. this.capture('=');
  8540. var valueMatch = matchUrlQueryParamValue(this.remaining);
  8541. if (valueMatch) {
  8542. value = valueMatch;
  8543. this.capture(value);
  8544. }
  8545. }
  8546. params[decode(key)] = decode(value);
  8547. };
  8548. UrlParser.prototype.parseParens = function (allowPrimary) {
  8549. var segments = {};
  8550. this.capture('(');
  8551. while (!this.peekStartsWith(')') && this.remaining.length > 0) {
  8552. var path = matchSegments(this.remaining);
  8553. var next = this.remaining[path.length];
  8554. // if is is not one of these characters, then the segment was unescaped
  8555. // or the group was not closed
  8556. if (next !== '/' && next !== ')' && next !== ';') {
  8557. throw new Error("Cannot parse url '" + this.url + "'");
  8558. }
  8559. var outletName = void 0;
  8560. if (path.indexOf(':') > -1) {
  8561. outletName = path.substr(0, path.indexOf(':'));
  8562. this.capture(outletName);
  8563. this.capture(':');
  8564. }
  8565. else if (allowPrimary) {
  8566. outletName = __WEBPACK_IMPORTED_MODULE_0__shared__["a" /* PRIMARY_OUTLET */];
  8567. }
  8568. var children = this.parseChildren();
  8569. segments[outletName] = Object.keys(children).length === 1 ? children[__WEBPACK_IMPORTED_MODULE_0__shared__["a" /* PRIMARY_OUTLET */]] :
  8570. new UrlSegmentGroup([], children);
  8571. if (this.peekStartsWith('//')) {
  8572. this.capture('//');
  8573. }
  8574. }
  8575. this.capture(')');
  8576. return segments;
  8577. };
  8578. return UrlParser;
  8579. }());
  8580. //# sourceMappingURL=url_tree.js.map
  8581. /***/ },
  8582. /* 78 */
  8583. /***/ function(module, exports, __webpack_require__) {
  8584. // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
  8585. var anObject = __webpack_require__(8)
  8586. , dPs = __webpack_require__(375)
  8587. , enumBugKeys = __webpack_require__(238)
  8588. , IE_PROTO = __webpack_require__(250)('IE_PROTO')
  8589. , Empty = function(){ /* empty */ }
  8590. , PROTOTYPE = 'prototype';
  8591. // Create object with fake `null` prototype: use iframe Object with cleared prototype
  8592. var createDict = function(){
  8593. // Thrash, waste and sodomy: IE GC bug
  8594. var iframe = __webpack_require__(237)('iframe')
  8595. , i = enumBugKeys.length
  8596. , lt = '<'
  8597. , gt = '>'
  8598. , iframeDocument;
  8599. iframe.style.display = 'none';
  8600. __webpack_require__(241).appendChild(iframe);
  8601. iframe.src = 'javascript:'; // eslint-disable-line no-script-url
  8602. // createDict = iframe.contentWindow.Object;
  8603. // html.removeChild(iframe);
  8604. iframeDocument = iframe.contentWindow.document;
  8605. iframeDocument.open();
  8606. iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
  8607. iframeDocument.close();
  8608. createDict = iframeDocument.F;
  8609. while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];
  8610. return createDict();
  8611. };
  8612. module.exports = Object.create || function create(O, Properties){
  8613. var result;
  8614. if(O !== null){
  8615. Empty[PROTOTYPE] = anObject(O);
  8616. result = new Empty;
  8617. Empty[PROTOTYPE] = null;
  8618. // add "__proto__" for Object.getPrototypeOf polyfill
  8619. result[IE_PROTO] = O;
  8620. } else result = createDict();
  8621. return Properties === undefined ? result : dPs(result, Properties);
  8622. };
  8623. /***/ },
  8624. /* 79 */
  8625. /***/ function(module, exports, __webpack_require__) {
  8626. // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
  8627. var $keys = __webpack_require__(377)
  8628. , hiddenKeys = __webpack_require__(238).concat('length', 'prototype');
  8629. exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){
  8630. return $keys(O, hiddenKeys);
  8631. };
  8632. /***/ },
  8633. /* 80 */
  8634. /***/ function(module, exports, __webpack_require__) {
  8635. var toInteger = __webpack_require__(72)
  8636. , max = Math.max
  8637. , min = Math.min;
  8638. module.exports = function(index, length){
  8639. index = toInteger(index);
  8640. return index < 0 ? max(index + length, 0) : min(index, length);
  8641. };
  8642. /***/ },
  8643. /* 81 */
  8644. /***/ function(module, exports) {
  8645. var id = 0
  8646. , px = Math.random();
  8647. module.exports = function(key){
  8648. return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
  8649. };
  8650. /***/ },
  8651. /* 82 */
  8652. /***/ function(module, exports, __webpack_require__) {
  8653. "use strict";
  8654. "use strict";
  8655. var __extends = (this && this.__extends) || function (d, b) {
  8656. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  8657. function __() { this.constructor = d; }
  8658. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  8659. };
  8660. var Subscriber_1 = __webpack_require__(3);
  8661. /**
  8662. * Applies a given `project` function to each value emitted by the source
  8663. * Observable, and emits the resulting values as an Observable.
  8664. *
  8665. * <span class="informal">Like [Array.prototype.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map),
  8666. * it passes each source value through a transformation function to get
  8667. * corresponding output values.</span>
  8668. *
  8669. * <img src="./img/map.png" width="100%">
  8670. *
  8671. * Similar to the well known `Array.prototype.map` function, this operator
  8672. * applies a projection to each value and emits that projection in the output
  8673. * Observable.
  8674. *
  8675. * @example <caption>Map every every click to the clientX position of that click</caption>
  8676. * var clicks = Rx.Observable.fromEvent(document, 'click');
  8677. * var positions = clicks.map(ev => ev.clientX);
  8678. * positions.subscribe(x => console.log(x));
  8679. *
  8680. * @see {@link mapTo}
  8681. * @see {@link pluck}
  8682. *
  8683. * @param {function(value: T, index: number): R} project The function to apply
  8684. * to each `value` emitted by the source Observable. The `index` parameter is
  8685. * the number `i` for the i-th emission that has happened since the
  8686. * subscription, starting from the number `0`.
  8687. * @param {any} [thisArg] An optional argument to define what `this` is in the
  8688. * `project` function.
  8689. * @return {Observable<R>} An Observable that emits the values from the source
  8690. * Observable transformed by the given `project` function.
  8691. * @method map
  8692. * @owner Observable
  8693. */
  8694. function map(project, thisArg) {
  8695. if (typeof project !== 'function') {
  8696. throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');
  8697. }
  8698. return this.lift(new MapOperator(project, thisArg));
  8699. }
  8700. exports.map = map;
  8701. var MapOperator = (function () {
  8702. function MapOperator(project, thisArg) {
  8703. this.project = project;
  8704. this.thisArg = thisArg;
  8705. }
  8706. MapOperator.prototype.call = function (subscriber, source) {
  8707. return source._subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));
  8708. };
  8709. return MapOperator;
  8710. }());
  8711. exports.MapOperator = MapOperator;
  8712. /**
  8713. * We need this JSDoc comment for affecting ESDoc.
  8714. * @ignore
  8715. * @extends {Ignored}
  8716. */
  8717. var MapSubscriber = (function (_super) {
  8718. __extends(MapSubscriber, _super);
  8719. function MapSubscriber(destination, project, thisArg) {
  8720. _super.call(this, destination);
  8721. this.project = project;
  8722. this.count = 0;
  8723. this.thisArg = thisArg || this;
  8724. }
  8725. // NOTE: This looks unoptimized, but it's actually purposefully NOT
  8726. // using try/catch optimizations.
  8727. MapSubscriber.prototype._next = function (value) {
  8728. var result;
  8729. try {
  8730. result = this.project.call(this.thisArg, value, this.count++);
  8731. }
  8732. catch (err) {
  8733. this.destination.error(err);
  8734. return;
  8735. }
  8736. this.destination.next(result);
  8737. };
  8738. return MapSubscriber;
  8739. }(Subscriber_1.Subscriber));
  8740. //# sourceMappingURL=map.js.map
  8741. /***/ },
  8742. /* 83 */,
  8743. /* 84 */,
  8744. /* 85 */
  8745. /***/ function(module, exports, __webpack_require__) {
  8746. "use strict";
  8747. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_index__ = __webpack_require__(454);
  8748. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RenderTypes", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["c"]; });
  8749. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CompileDiDependencyMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["d"]; });
  8750. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CompileDirectiveMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["e"]; });
  8751. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CompileFactoryMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["f"]; });
  8752. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CompileIdentifierMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["g"]; });
  8753. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CompileMetadataWithIdentifier", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["h"]; });
  8754. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CompilePipeMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["i"]; });
  8755. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CompileProviderMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["j"]; });
  8756. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CompileQueryMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["k"]; });
  8757. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CompileTemplateMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["l"]; });
  8758. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CompileTokenMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["m"]; });
  8759. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CompileTypeMetadata", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["n"]; });
  8760. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CompilerConfig", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["o"]; });
  8761. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "DEFAULT_PACKAGE_URL_PROVIDER", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["p"]; });
  8762. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "DirectiveResolver", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["q"]; });
  8763. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "NgModuleResolver", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["r"]; });
  8764. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "OfflineCompiler", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["s"]; });
  8765. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "PipeResolver", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["t"]; });
  8766. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "COMPILER_PROVIDERS", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["u"]; });
  8767. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ResourceLoader", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["a"]; });
  8768. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RuntimeCompiler", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["v"]; });
  8769. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "SourceModule", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["w"]; });
  8770. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "TEMPLATE_TRANSFORMS", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["x"]; });
  8771. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "UrlResolver", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["y"]; });
  8772. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "createOfflineCompileUrlResolver", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["z"]; });
  8773. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "platformCoreDynamic", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["b"]; });
  8774. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "InterpolationConfig", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["A"]; });
  8775. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "DEFAULT_INTERPOLATION_CONFIG", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["B"]; });
  8776. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ElementSchemaRegistry", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["C"]; });
  8777. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "I18NHtmlParser", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["D"]; });
  8778. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "MessageBundle", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["E"]; });
  8779. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Xliff", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["F"]; });
  8780. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Xmb", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["G"]; });
  8781. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Xtb", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["H"]; });
  8782. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "TextAst", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["I"]; });
  8783. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "BoundTextAst", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["J"]; });
  8784. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AttrAst", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["K"]; });
  8785. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "BoundElementPropertyAst", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["L"]; });
  8786. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "BoundEventAst", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["M"]; });
  8787. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ReferenceAst", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["N"]; });
  8788. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "VariableAst", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["O"]; });
  8789. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ElementAst", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["P"]; });
  8790. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "EmbeddedTemplateAst", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["Q"]; });
  8791. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "BoundDirectivePropertyAst", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["R"]; });
  8792. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "DirectiveAst", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["S"]; });
  8793. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ProviderAst", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["T"]; });
  8794. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ProviderAstType", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["U"]; });
  8795. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "NgContentAst", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["V"]; });
  8796. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "PropertyBindingType", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["W"]; });
  8797. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "templateVisitAll", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["X"]; });
  8798. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "__compiler_private__", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["Y"]; });
  8799. /**
  8800. * @license
  8801. * Copyright Google Inc. All Rights Reserved.
  8802. *
  8803. * Use of this source code is governed by an MIT-style license that can be
  8804. * found in the LICENSE file at https://angular.io/license
  8805. */
  8806. /**
  8807. * @module
  8808. * @description
  8809. * Entry point for all APIs of the compiler package.
  8810. *
  8811. * <div class="callout is-critical">
  8812. * <header>Unstable APIs</header>
  8813. * <p>
  8814. * All compiler apis are currently considered experimental and private!
  8815. * </p>
  8816. * <p>
  8817. * We expect the APIs in this package to keep on changing. Do not rely on them.
  8818. * </p>
  8819. * </div>
  8820. */
  8821. //# sourceMappingURL=index.js.map
  8822. /***/ },
  8823. /* 86 */
  8824. /***/ function(module, exports, __webpack_require__) {
  8825. "use strict";
  8826. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(13);
  8827. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(4);
  8828. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__parse_util__ = __webpack_require__(50);
  8829. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ast__ = __webpack_require__(66);
  8830. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__interpolation_config__ = __webpack_require__(49);
  8831. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__lexer__ = __webpack_require__(457);
  8832. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__tags__ = __webpack_require__(87);
  8833. /* unused harmony export TreeError */
  8834. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ParseTreeResult; });
  8835. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return Parser; });
  8836. /**
  8837. * @license
  8838. * Copyright Google Inc. All Rights Reserved.
  8839. *
  8840. * Use of this source code is governed by an MIT-style license that can be
  8841. * found in the LICENSE file at https://angular.io/license
  8842. */
  8843. var __extends = (this && this.__extends) || function (d, b) {
  8844. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  8845. function __() { this.constructor = d; }
  8846. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  8847. };
  8848. var TreeError = (function (_super) {
  8849. __extends(TreeError, _super);
  8850. function TreeError(elementName, span, msg) {
  8851. _super.call(this, span, msg);
  8852. this.elementName = elementName;
  8853. }
  8854. TreeError.create = function (elementName, span, msg) {
  8855. return new TreeError(elementName, span, msg);
  8856. };
  8857. return TreeError;
  8858. }(__WEBPACK_IMPORTED_MODULE_2__parse_util__["a" /* ParseError */]));
  8859. var ParseTreeResult = (function () {
  8860. function ParseTreeResult(rootNodes, errors) {
  8861. this.rootNodes = rootNodes;
  8862. this.errors = errors;
  8863. }
  8864. return ParseTreeResult;
  8865. }());
  8866. var Parser = (function () {
  8867. function Parser(getTagDefinition) {
  8868. this.getTagDefinition = getTagDefinition;
  8869. }
  8870. Parser.prototype.parse = function (source, url, parseExpansionForms, interpolationConfig) {
  8871. if (parseExpansionForms === void 0) { parseExpansionForms = false; }
  8872. if (interpolationConfig === void 0) { interpolationConfig = __WEBPACK_IMPORTED_MODULE_4__interpolation_config__["a" /* DEFAULT_INTERPOLATION_CONFIG */]; }
  8873. var tokensAndErrors = __WEBPACK_IMPORTED_MODULE_5__lexer__["a" /* tokenize */](source, url, this.getTagDefinition, parseExpansionForms, interpolationConfig);
  8874. var treeAndErrors = new _TreeBuilder(tokensAndErrors.tokens, this.getTagDefinition).build();
  8875. return new ParseTreeResult(treeAndErrors.rootNodes, tokensAndErrors.errors.concat(treeAndErrors.errors));
  8876. };
  8877. return Parser;
  8878. }());
  8879. var _TreeBuilder = (function () {
  8880. function _TreeBuilder(tokens, getTagDefinition) {
  8881. this.tokens = tokens;
  8882. this.getTagDefinition = getTagDefinition;
  8883. this._index = -1;
  8884. this._rootNodes = [];
  8885. this._errors = [];
  8886. this._elementStack = [];
  8887. this._advance();
  8888. }
  8889. _TreeBuilder.prototype.build = function () {
  8890. while (this._peek.type !== __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].EOF) {
  8891. if (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].TAG_OPEN_START) {
  8892. this._consumeStartTag(this._advance());
  8893. }
  8894. else if (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].TAG_CLOSE) {
  8895. this._consumeEndTag(this._advance());
  8896. }
  8897. else if (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].CDATA_START) {
  8898. this._closeVoidElement();
  8899. this._consumeCdata(this._advance());
  8900. }
  8901. else if (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].COMMENT_START) {
  8902. this._closeVoidElement();
  8903. this._consumeComment(this._advance());
  8904. }
  8905. else if (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].TEXT || this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].RAW_TEXT ||
  8906. this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].ESCAPABLE_RAW_TEXT) {
  8907. this._closeVoidElement();
  8908. this._consumeText(this._advance());
  8909. }
  8910. else if (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].EXPANSION_FORM_START) {
  8911. this._consumeExpansion(this._advance());
  8912. }
  8913. else {
  8914. // Skip all other tokens...
  8915. this._advance();
  8916. }
  8917. }
  8918. return new ParseTreeResult(this._rootNodes, this._errors);
  8919. };
  8920. _TreeBuilder.prototype._advance = function () {
  8921. var prev = this._peek;
  8922. if (this._index < this.tokens.length - 1) {
  8923. // Note: there is always an EOF token at the end
  8924. this._index++;
  8925. }
  8926. this._peek = this.tokens[this._index];
  8927. return prev;
  8928. };
  8929. _TreeBuilder.prototype._advanceIf = function (type) {
  8930. if (this._peek.type === type) {
  8931. return this._advance();
  8932. }
  8933. return null;
  8934. };
  8935. _TreeBuilder.prototype._consumeCdata = function (startToken) {
  8936. this._consumeText(this._advance());
  8937. this._advanceIf(__WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].CDATA_END);
  8938. };
  8939. _TreeBuilder.prototype._consumeComment = function (token) {
  8940. var text = this._advanceIf(__WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].RAW_TEXT);
  8941. this._advanceIf(__WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].COMMENT_END);
  8942. var value = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(text) ? text.parts[0].trim() : null;
  8943. this._addToParent(new __WEBPACK_IMPORTED_MODULE_3__ast__["a" /* Comment */](value, token.sourceSpan));
  8944. };
  8945. _TreeBuilder.prototype._consumeExpansion = function (token) {
  8946. var switchValue = this._advance();
  8947. var type = this._advance();
  8948. var cases = [];
  8949. // read =
  8950. while (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].EXPANSION_CASE_VALUE) {
  8951. var expCase = this._parseExpansionCase();
  8952. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(expCase))
  8953. return; // error
  8954. cases.push(expCase);
  8955. }
  8956. // read the final }
  8957. if (this._peek.type !== __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].EXPANSION_FORM_END) {
  8958. this._errors.push(TreeError.create(null, this._peek.sourceSpan, "Invalid ICU message. Missing '}'."));
  8959. return;
  8960. }
  8961. var sourceSpan = new __WEBPACK_IMPORTED_MODULE_2__parse_util__["d" /* ParseSourceSpan */](token.sourceSpan.start, this._peek.sourceSpan.end);
  8962. this._addToParent(new __WEBPACK_IMPORTED_MODULE_3__ast__["b" /* Expansion */](switchValue.parts[0], type.parts[0], cases, sourceSpan, switchValue.sourceSpan));
  8963. this._advance();
  8964. };
  8965. _TreeBuilder.prototype._parseExpansionCase = function () {
  8966. var value = this._advance();
  8967. // read {
  8968. if (this._peek.type !== __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].EXPANSION_CASE_EXP_START) {
  8969. this._errors.push(TreeError.create(null, this._peek.sourceSpan, "Invalid ICU message. Missing '{'."));
  8970. return null;
  8971. }
  8972. // read until }
  8973. var start = this._advance();
  8974. var exp = this._collectExpansionExpTokens(start);
  8975. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(exp))
  8976. return null;
  8977. var end = this._advance();
  8978. exp.push(new __WEBPACK_IMPORTED_MODULE_5__lexer__["c" /* Token */](__WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].EOF, [], end.sourceSpan));
  8979. // parse everything in between { and }
  8980. var parsedExp = new _TreeBuilder(exp, this.getTagDefinition).build();
  8981. if (parsedExp.errors.length > 0) {
  8982. this._errors = this._errors.concat(parsedExp.errors);
  8983. return null;
  8984. }
  8985. var sourceSpan = new __WEBPACK_IMPORTED_MODULE_2__parse_util__["d" /* ParseSourceSpan */](value.sourceSpan.start, end.sourceSpan.end);
  8986. var expSourceSpan = new __WEBPACK_IMPORTED_MODULE_2__parse_util__["d" /* ParseSourceSpan */](start.sourceSpan.start, end.sourceSpan.end);
  8987. return new __WEBPACK_IMPORTED_MODULE_3__ast__["c" /* ExpansionCase */](value.parts[0], parsedExp.rootNodes, sourceSpan, value.sourceSpan, expSourceSpan);
  8988. };
  8989. _TreeBuilder.prototype._collectExpansionExpTokens = function (start) {
  8990. var exp = [];
  8991. var expansionFormStack = [__WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].EXPANSION_CASE_EXP_START];
  8992. while (true) {
  8993. if (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].EXPANSION_FORM_START ||
  8994. this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].EXPANSION_CASE_EXP_START) {
  8995. expansionFormStack.push(this._peek.type);
  8996. }
  8997. if (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].EXPANSION_CASE_EXP_END) {
  8998. if (lastOnStack(expansionFormStack, __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].EXPANSION_CASE_EXP_START)) {
  8999. expansionFormStack.pop();
  9000. if (expansionFormStack.length == 0)
  9001. return exp;
  9002. }
  9003. else {
  9004. this._errors.push(TreeError.create(null, start.sourceSpan, "Invalid ICU message. Missing '}'."));
  9005. return null;
  9006. }
  9007. }
  9008. if (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].EXPANSION_FORM_END) {
  9009. if (lastOnStack(expansionFormStack, __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].EXPANSION_FORM_START)) {
  9010. expansionFormStack.pop();
  9011. }
  9012. else {
  9013. this._errors.push(TreeError.create(null, start.sourceSpan, "Invalid ICU message. Missing '}'."));
  9014. return null;
  9015. }
  9016. }
  9017. if (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].EOF) {
  9018. this._errors.push(TreeError.create(null, start.sourceSpan, "Invalid ICU message. Missing '}'."));
  9019. return null;
  9020. }
  9021. exp.push(this._advance());
  9022. }
  9023. };
  9024. _TreeBuilder.prototype._consumeText = function (token) {
  9025. var text = token.parts[0];
  9026. if (text.length > 0 && text[0] == '\n') {
  9027. var parent_1 = this._getParentElement();
  9028. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(parent_1) && parent_1.children.length == 0 &&
  9029. this.getTagDefinition(parent_1.name).ignoreFirstLf) {
  9030. text = text.substring(1);
  9031. }
  9032. }
  9033. if (text.length > 0) {
  9034. this._addToParent(new __WEBPACK_IMPORTED_MODULE_3__ast__["d" /* Text */](text, token.sourceSpan));
  9035. }
  9036. };
  9037. _TreeBuilder.prototype._closeVoidElement = function () {
  9038. if (this._elementStack.length > 0) {
  9039. var el = __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].last(this._elementStack);
  9040. if (this.getTagDefinition(el.name).isVoid) {
  9041. this._elementStack.pop();
  9042. }
  9043. }
  9044. };
  9045. _TreeBuilder.prototype._consumeStartTag = function (startTagToken) {
  9046. var prefix = startTagToken.parts[0];
  9047. var name = startTagToken.parts[1];
  9048. var attrs = [];
  9049. while (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].ATTR_NAME) {
  9050. attrs.push(this._consumeAttr(this._advance()));
  9051. }
  9052. var fullName = this._getElementFullName(prefix, name, this._getParentElement());
  9053. var selfClosing = false;
  9054. // Note: There could have been a tokenizer error
  9055. // so that we don't get a token for the end tag...
  9056. if (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].TAG_OPEN_END_VOID) {
  9057. this._advance();
  9058. selfClosing = true;
  9059. var tagDef = this.getTagDefinition(fullName);
  9060. if (!(tagDef.canSelfClose || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__tags__["c" /* getNsPrefix */])(fullName) !== null || tagDef.isVoid)) {
  9061. this._errors.push(TreeError.create(fullName, startTagToken.sourceSpan, "Only void and foreign elements can be self closed \"" + startTagToken.parts[1] + "\""));
  9062. }
  9063. }
  9064. else if (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].TAG_OPEN_END) {
  9065. this._advance();
  9066. selfClosing = false;
  9067. }
  9068. var end = this._peek.sourceSpan.start;
  9069. var span = new __WEBPACK_IMPORTED_MODULE_2__parse_util__["d" /* ParseSourceSpan */](startTagToken.sourceSpan.start, end);
  9070. var el = new __WEBPACK_IMPORTED_MODULE_3__ast__["e" /* Element */](fullName, attrs, [], span, span, null);
  9071. this._pushElement(el);
  9072. if (selfClosing) {
  9073. this._popElement(fullName);
  9074. el.endSourceSpan = span;
  9075. }
  9076. };
  9077. _TreeBuilder.prototype._pushElement = function (el) {
  9078. if (this._elementStack.length > 0) {
  9079. var parentEl = __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].last(this._elementStack);
  9080. if (this.getTagDefinition(parentEl.name).isClosedByChild(el.name)) {
  9081. this._elementStack.pop();
  9082. }
  9083. }
  9084. var tagDef = this.getTagDefinition(el.name);
  9085. var _a = this._getParentElementSkippingContainers(), parent = _a.parent, container = _a.container;
  9086. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(parent) && tagDef.requireExtraParent(parent.name)) {
  9087. var newParent = new __WEBPACK_IMPORTED_MODULE_3__ast__["e" /* Element */](tagDef.parentToAdd, [], [], el.sourceSpan, el.startSourceSpan, el.endSourceSpan);
  9088. this._insertBeforeContainer(parent, container, newParent);
  9089. }
  9090. this._addToParent(el);
  9091. this._elementStack.push(el);
  9092. };
  9093. _TreeBuilder.prototype._consumeEndTag = function (endTagToken) {
  9094. var fullName = this._getElementFullName(endTagToken.parts[0], endTagToken.parts[1], this._getParentElement());
  9095. if (this._getParentElement()) {
  9096. this._getParentElement().endSourceSpan = endTagToken.sourceSpan;
  9097. }
  9098. if (this.getTagDefinition(fullName).isVoid) {
  9099. this._errors.push(TreeError.create(fullName, endTagToken.sourceSpan, "Void elements do not have end tags \"" + endTagToken.parts[1] + "\""));
  9100. }
  9101. else if (!this._popElement(fullName)) {
  9102. this._errors.push(TreeError.create(fullName, endTagToken.sourceSpan, "Unexpected closing tag \"" + endTagToken.parts[1] + "\""));
  9103. }
  9104. };
  9105. _TreeBuilder.prototype._popElement = function (fullName) {
  9106. for (var stackIndex = this._elementStack.length - 1; stackIndex >= 0; stackIndex--) {
  9107. var el = this._elementStack[stackIndex];
  9108. if (el.name == fullName) {
  9109. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].splice(this._elementStack, stackIndex, this._elementStack.length - stackIndex);
  9110. return true;
  9111. }
  9112. if (!this.getTagDefinition(el.name).closedByParent) {
  9113. return false;
  9114. }
  9115. }
  9116. return false;
  9117. };
  9118. _TreeBuilder.prototype._consumeAttr = function (attrName) {
  9119. var fullName = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__tags__["d" /* mergeNsAndName */])(attrName.parts[0], attrName.parts[1]);
  9120. var end = attrName.sourceSpan.end;
  9121. var value = '';
  9122. if (this._peek.type === __WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* TokenType */].ATTR_VALUE) {
  9123. var valueToken = this._advance();
  9124. value = valueToken.parts[0];
  9125. end = valueToken.sourceSpan.end;
  9126. }
  9127. return new __WEBPACK_IMPORTED_MODULE_3__ast__["f" /* Attribute */](fullName, value, new __WEBPACK_IMPORTED_MODULE_2__parse_util__["d" /* ParseSourceSpan */](attrName.sourceSpan.start, end));
  9128. };
  9129. _TreeBuilder.prototype._getParentElement = function () {
  9130. return this._elementStack.length > 0 ? __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].last(this._elementStack) : null;
  9131. };
  9132. /**
  9133. * Returns the parent in the DOM and the container.
  9134. *
  9135. * `<ng-container>` elements are skipped as they are not rendered as DOM element.
  9136. */
  9137. _TreeBuilder.prototype._getParentElementSkippingContainers = function () {
  9138. var container = null;
  9139. for (var i = this._elementStack.length - 1; i >= 0; i--) {
  9140. if (this._elementStack[i].name !== 'ng-container') {
  9141. return { parent: this._elementStack[i], container: container };
  9142. }
  9143. container = this._elementStack[i];
  9144. }
  9145. return { parent: __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].last(this._elementStack), container: container };
  9146. };
  9147. _TreeBuilder.prototype._addToParent = function (node) {
  9148. var parent = this._getParentElement();
  9149. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(parent)) {
  9150. parent.children.push(node);
  9151. }
  9152. else {
  9153. this._rootNodes.push(node);
  9154. }
  9155. };
  9156. /**
  9157. * Insert a node between the parent and the container.
  9158. * When no container is given, the node is appended as a child of the parent.
  9159. * Also updates the element stack accordingly.
  9160. *
  9161. * @internal
  9162. */
  9163. _TreeBuilder.prototype._insertBeforeContainer = function (parent, container, node) {
  9164. if (!container) {
  9165. this._addToParent(node);
  9166. this._elementStack.push(node);
  9167. }
  9168. else {
  9169. if (parent) {
  9170. // replace the container with the new node in the children
  9171. var index = parent.children.indexOf(container);
  9172. parent.children[index] = node;
  9173. }
  9174. else {
  9175. this._rootNodes.push(node);
  9176. }
  9177. node.children.push(container);
  9178. this._elementStack.splice(this._elementStack.indexOf(container), 0, node);
  9179. }
  9180. };
  9181. _TreeBuilder.prototype._getElementFullName = function (prefix, localName, parentElement) {
  9182. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(prefix)) {
  9183. prefix = this.getTagDefinition(localName).implicitNamespacePrefix;
  9184. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(prefix) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(parentElement)) {
  9185. prefix = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__tags__["c" /* getNsPrefix */])(parentElement.name);
  9186. }
  9187. }
  9188. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__tags__["d" /* mergeNsAndName */])(prefix, localName);
  9189. };
  9190. return _TreeBuilder;
  9191. }());
  9192. function lastOnStack(stack, element) {
  9193. return stack.length > 0 && stack[stack.length - 1] === element;
  9194. }
  9195. //# sourceMappingURL=parser.js.map
  9196. /***/ },
  9197. /* 87 */
  9198. /***/ function(module, exports, __webpack_require__) {
  9199. "use strict";
  9200. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return TagContentType; });
  9201. /* harmony export (immutable) */ exports["e"] = splitNsName;
  9202. /* harmony export (immutable) */ exports["c"] = getNsPrefix;
  9203. /* harmony export (immutable) */ exports["d"] = mergeNsAndName;
  9204. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return NAMED_ENTITIES; });
  9205. /**
  9206. * @license
  9207. * Copyright Google Inc. All Rights Reserved.
  9208. *
  9209. * Use of this source code is governed by an MIT-style license that can be
  9210. * found in the LICENSE file at https://angular.io/license
  9211. */
  9212. var TagContentType;
  9213. (function (TagContentType) {
  9214. TagContentType[TagContentType["RAW_TEXT"] = 0] = "RAW_TEXT";
  9215. TagContentType[TagContentType["ESCAPABLE_RAW_TEXT"] = 1] = "ESCAPABLE_RAW_TEXT";
  9216. TagContentType[TagContentType["PARSABLE_DATA"] = 2] = "PARSABLE_DATA";
  9217. })(TagContentType || (TagContentType = {}));
  9218. function splitNsName(elementName) {
  9219. if (elementName[0] != ':') {
  9220. return [null, elementName];
  9221. }
  9222. var colonIndex = elementName.indexOf(':', 1);
  9223. if (colonIndex == -1) {
  9224. throw new Error("Unsupported format \"" + elementName + "\" expecting \":namespace:name\"");
  9225. }
  9226. return [elementName.slice(1, colonIndex), elementName.slice(colonIndex + 1)];
  9227. }
  9228. function getNsPrefix(fullName) {
  9229. return fullName === null ? null : splitNsName(fullName)[0];
  9230. }
  9231. function mergeNsAndName(prefix, localName) {
  9232. return prefix ? ":" + prefix + ":" + localName : localName;
  9233. }
  9234. // see http://www.w3.org/TR/html51/syntax.html#named-character-references
  9235. // see https://html.spec.whatwg.org/multipage/entities.json
  9236. // This list is not exhaustive to keep the compiler footprint low.
  9237. // The `&#123;` / `&#x1ab;` syntax should be used when the named character reference does not exist.
  9238. var NAMED_ENTITIES = {
  9239. 'Aacute': '\u00C1',
  9240. 'aacute': '\u00E1',
  9241. 'Acirc': '\u00C2',
  9242. 'acirc': '\u00E2',
  9243. 'acute': '\u00B4',
  9244. 'AElig': '\u00C6',
  9245. 'aelig': '\u00E6',
  9246. 'Agrave': '\u00C0',
  9247. 'agrave': '\u00E0',
  9248. 'alefsym': '\u2135',
  9249. 'Alpha': '\u0391',
  9250. 'alpha': '\u03B1',
  9251. 'amp': '&',
  9252. 'and': '\u2227',
  9253. 'ang': '\u2220',
  9254. 'apos': '\u0027',
  9255. 'Aring': '\u00C5',
  9256. 'aring': '\u00E5',
  9257. 'asymp': '\u2248',
  9258. 'Atilde': '\u00C3',
  9259. 'atilde': '\u00E3',
  9260. 'Auml': '\u00C4',
  9261. 'auml': '\u00E4',
  9262. 'bdquo': '\u201E',
  9263. 'Beta': '\u0392',
  9264. 'beta': '\u03B2',
  9265. 'brvbar': '\u00A6',
  9266. 'bull': '\u2022',
  9267. 'cap': '\u2229',
  9268. 'Ccedil': '\u00C7',
  9269. 'ccedil': '\u00E7',
  9270. 'cedil': '\u00B8',
  9271. 'cent': '\u00A2',
  9272. 'Chi': '\u03A7',
  9273. 'chi': '\u03C7',
  9274. 'circ': '\u02C6',
  9275. 'clubs': '\u2663',
  9276. 'cong': '\u2245',
  9277. 'copy': '\u00A9',
  9278. 'crarr': '\u21B5',
  9279. 'cup': '\u222A',
  9280. 'curren': '\u00A4',
  9281. 'dagger': '\u2020',
  9282. 'Dagger': '\u2021',
  9283. 'darr': '\u2193',
  9284. 'dArr': '\u21D3',
  9285. 'deg': '\u00B0',
  9286. 'Delta': '\u0394',
  9287. 'delta': '\u03B4',
  9288. 'diams': '\u2666',
  9289. 'divide': '\u00F7',
  9290. 'Eacute': '\u00C9',
  9291. 'eacute': '\u00E9',
  9292. 'Ecirc': '\u00CA',
  9293. 'ecirc': '\u00EA',
  9294. 'Egrave': '\u00C8',
  9295. 'egrave': '\u00E8',
  9296. 'empty': '\u2205',
  9297. 'emsp': '\u2003',
  9298. 'ensp': '\u2002',
  9299. 'Epsilon': '\u0395',
  9300. 'epsilon': '\u03B5',
  9301. 'equiv': '\u2261',
  9302. 'Eta': '\u0397',
  9303. 'eta': '\u03B7',
  9304. 'ETH': '\u00D0',
  9305. 'eth': '\u00F0',
  9306. 'Euml': '\u00CB',
  9307. 'euml': '\u00EB',
  9308. 'euro': '\u20AC',
  9309. 'exist': '\u2203',
  9310. 'fnof': '\u0192',
  9311. 'forall': '\u2200',
  9312. 'frac12': '\u00BD',
  9313. 'frac14': '\u00BC',
  9314. 'frac34': '\u00BE',
  9315. 'frasl': '\u2044',
  9316. 'Gamma': '\u0393',
  9317. 'gamma': '\u03B3',
  9318. 'ge': '\u2265',
  9319. 'gt': '>',
  9320. 'harr': '\u2194',
  9321. 'hArr': '\u21D4',
  9322. 'hearts': '\u2665',
  9323. 'hellip': '\u2026',
  9324. 'Iacute': '\u00CD',
  9325. 'iacute': '\u00ED',
  9326. 'Icirc': '\u00CE',
  9327. 'icirc': '\u00EE',
  9328. 'iexcl': '\u00A1',
  9329. 'Igrave': '\u00CC',
  9330. 'igrave': '\u00EC',
  9331. 'image': '\u2111',
  9332. 'infin': '\u221E',
  9333. 'int': '\u222B',
  9334. 'Iota': '\u0399',
  9335. 'iota': '\u03B9',
  9336. 'iquest': '\u00BF',
  9337. 'isin': '\u2208',
  9338. 'Iuml': '\u00CF',
  9339. 'iuml': '\u00EF',
  9340. 'Kappa': '\u039A',
  9341. 'kappa': '\u03BA',
  9342. 'Lambda': '\u039B',
  9343. 'lambda': '\u03BB',
  9344. 'lang': '\u27E8',
  9345. 'laquo': '\u00AB',
  9346. 'larr': '\u2190',
  9347. 'lArr': '\u21D0',
  9348. 'lceil': '\u2308',
  9349. 'ldquo': '\u201C',
  9350. 'le': '\u2264',
  9351. 'lfloor': '\u230A',
  9352. 'lowast': '\u2217',
  9353. 'loz': '\u25CA',
  9354. 'lrm': '\u200E',
  9355. 'lsaquo': '\u2039',
  9356. 'lsquo': '\u2018',
  9357. 'lt': '<',
  9358. 'macr': '\u00AF',
  9359. 'mdash': '\u2014',
  9360. 'micro': '\u00B5',
  9361. 'middot': '\u00B7',
  9362. 'minus': '\u2212',
  9363. 'Mu': '\u039C',
  9364. 'mu': '\u03BC',
  9365. 'nabla': '\u2207',
  9366. 'nbsp': '\u00A0',
  9367. 'ndash': '\u2013',
  9368. 'ne': '\u2260',
  9369. 'ni': '\u220B',
  9370. 'not': '\u00AC',
  9371. 'notin': '\u2209',
  9372. 'nsub': '\u2284',
  9373. 'Ntilde': '\u00D1',
  9374. 'ntilde': '\u00F1',
  9375. 'Nu': '\u039D',
  9376. 'nu': '\u03BD',
  9377. 'Oacute': '\u00D3',
  9378. 'oacute': '\u00F3',
  9379. 'Ocirc': '\u00D4',
  9380. 'ocirc': '\u00F4',
  9381. 'OElig': '\u0152',
  9382. 'oelig': '\u0153',
  9383. 'Ograve': '\u00D2',
  9384. 'ograve': '\u00F2',
  9385. 'oline': '\u203E',
  9386. 'Omega': '\u03A9',
  9387. 'omega': '\u03C9',
  9388. 'Omicron': '\u039F',
  9389. 'omicron': '\u03BF',
  9390. 'oplus': '\u2295',
  9391. 'or': '\u2228',
  9392. 'ordf': '\u00AA',
  9393. 'ordm': '\u00BA',
  9394. 'Oslash': '\u00D8',
  9395. 'oslash': '\u00F8',
  9396. 'Otilde': '\u00D5',
  9397. 'otilde': '\u00F5',
  9398. 'otimes': '\u2297',
  9399. 'Ouml': '\u00D6',
  9400. 'ouml': '\u00F6',
  9401. 'para': '\u00B6',
  9402. 'permil': '\u2030',
  9403. 'perp': '\u22A5',
  9404. 'Phi': '\u03A6',
  9405. 'phi': '\u03C6',
  9406. 'Pi': '\u03A0',
  9407. 'pi': '\u03C0',
  9408. 'piv': '\u03D6',
  9409. 'plusmn': '\u00B1',
  9410. 'pound': '\u00A3',
  9411. 'prime': '\u2032',
  9412. 'Prime': '\u2033',
  9413. 'prod': '\u220F',
  9414. 'prop': '\u221D',
  9415. 'Psi': '\u03A8',
  9416. 'psi': '\u03C8',
  9417. 'quot': '\u0022',
  9418. 'radic': '\u221A',
  9419. 'rang': '\u27E9',
  9420. 'raquo': '\u00BB',
  9421. 'rarr': '\u2192',
  9422. 'rArr': '\u21D2',
  9423. 'rceil': '\u2309',
  9424. 'rdquo': '\u201D',
  9425. 'real': '\u211C',
  9426. 'reg': '\u00AE',
  9427. 'rfloor': '\u230B',
  9428. 'Rho': '\u03A1',
  9429. 'rho': '\u03C1',
  9430. 'rlm': '\u200F',
  9431. 'rsaquo': '\u203A',
  9432. 'rsquo': '\u2019',
  9433. 'sbquo': '\u201A',
  9434. 'Scaron': '\u0160',
  9435. 'scaron': '\u0161',
  9436. 'sdot': '\u22C5',
  9437. 'sect': '\u00A7',
  9438. 'shy': '\u00AD',
  9439. 'Sigma': '\u03A3',
  9440. 'sigma': '\u03C3',
  9441. 'sigmaf': '\u03C2',
  9442. 'sim': '\u223C',
  9443. 'spades': '\u2660',
  9444. 'sub': '\u2282',
  9445. 'sube': '\u2286',
  9446. 'sum': '\u2211',
  9447. 'sup': '\u2283',
  9448. 'sup1': '\u00B9',
  9449. 'sup2': '\u00B2',
  9450. 'sup3': '\u00B3',
  9451. 'supe': '\u2287',
  9452. 'szlig': '\u00DF',
  9453. 'Tau': '\u03A4',
  9454. 'tau': '\u03C4',
  9455. 'there4': '\u2234',
  9456. 'Theta': '\u0398',
  9457. 'theta': '\u03B8',
  9458. 'thetasym': '\u03D1',
  9459. 'thinsp': '\u2009',
  9460. 'THORN': '\u00DE',
  9461. 'thorn': '\u00FE',
  9462. 'tilde': '\u02DC',
  9463. 'times': '\u00D7',
  9464. 'trade': '\u2122',
  9465. 'Uacute': '\u00DA',
  9466. 'uacute': '\u00FA',
  9467. 'uarr': '\u2191',
  9468. 'uArr': '\u21D1',
  9469. 'Ucirc': '\u00DB',
  9470. 'ucirc': '\u00FB',
  9471. 'Ugrave': '\u00D9',
  9472. 'ugrave': '\u00F9',
  9473. 'uml': '\u00A8',
  9474. 'upsih': '\u03D2',
  9475. 'Upsilon': '\u03A5',
  9476. 'upsilon': '\u03C5',
  9477. 'Uuml': '\u00DC',
  9478. 'uuml': '\u00FC',
  9479. 'weierp': '\u2118',
  9480. 'Xi': '\u039E',
  9481. 'xi': '\u03BE',
  9482. 'Yacute': '\u00DD',
  9483. 'yacute': '\u00FD',
  9484. 'yen': '\u00A5',
  9485. 'yuml': '\u00FF',
  9486. 'Yuml': '\u0178',
  9487. 'Zeta': '\u0396',
  9488. 'zeta': '\u03B6',
  9489. 'zwj': '\u200D',
  9490. 'zwnj': '\u200C',
  9491. };
  9492. //# sourceMappingURL=tags.js.map
  9493. /***/ },
  9494. /* 88 */
  9495. /***/ function(module, exports, __webpack_require__) {
  9496. "use strict";
  9497. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  9498. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__identifiers__ = __webpack_require__(19);
  9499. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__output_output_ast__ = __webpack_require__(12);
  9500. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__private_import_core__ = __webpack_require__(20);
  9501. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return ViewTypeEnum; });
  9502. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return ViewEncapsulationEnum; });
  9503. /* unused harmony export ChangeDetectionStrategyEnum */
  9504. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return ChangeDetectorStatusEnum; });
  9505. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return ViewConstructorVars; });
  9506. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return ViewProperties; });
  9507. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return EventHandlerVars; });
  9508. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return InjectMethodVars; });
  9509. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return DetectChangesVars; });
  9510. /**
  9511. * @license
  9512. * Copyright Google Inc. All Rights Reserved.
  9513. *
  9514. * Use of this source code is governed by an MIT-style license that can be
  9515. * found in the LICENSE file at https://angular.io/license
  9516. */
  9517. function _enumExpression(classIdentifier, name) {
  9518. return __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__identifiers__["e" /* resolveEnumIdentifier */])(classIdentifier, name));
  9519. }
  9520. var ViewTypeEnum = (function () {
  9521. function ViewTypeEnum() {
  9522. }
  9523. ViewTypeEnum.fromValue = function (value) {
  9524. var viewType = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_1__identifiers__["b" /* Identifiers */].ViewType);
  9525. switch (value) {
  9526. case __WEBPACK_IMPORTED_MODULE_3__private_import_core__["j" /* ViewType */].HOST:
  9527. return _enumExpression(viewType, 'HOST');
  9528. case __WEBPACK_IMPORTED_MODULE_3__private_import_core__["j" /* ViewType */].COMPONENT:
  9529. return _enumExpression(viewType, 'COMPONENT');
  9530. case __WEBPACK_IMPORTED_MODULE_3__private_import_core__["j" /* ViewType */].EMBEDDED:
  9531. return _enumExpression(viewType, 'EMBEDDED');
  9532. default:
  9533. throw Error("Inavlid ViewType value: " + value);
  9534. }
  9535. };
  9536. return ViewTypeEnum;
  9537. }());
  9538. var ViewEncapsulationEnum = (function () {
  9539. function ViewEncapsulationEnum() {
  9540. }
  9541. ViewEncapsulationEnum.fromValue = function (value) {
  9542. var viewEncapsulation = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_1__identifiers__["b" /* Identifiers */].ViewEncapsulation);
  9543. switch (value) {
  9544. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"].Emulated:
  9545. return _enumExpression(viewEncapsulation, 'Emulated');
  9546. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"].Native:
  9547. return _enumExpression(viewEncapsulation, 'Native');
  9548. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"].None:
  9549. return _enumExpression(viewEncapsulation, 'None');
  9550. default:
  9551. throw Error("Inavlid ViewEncapsulation value: " + value);
  9552. }
  9553. };
  9554. return ViewEncapsulationEnum;
  9555. }());
  9556. var ChangeDetectionStrategyEnum = (function () {
  9557. function ChangeDetectionStrategyEnum() {
  9558. }
  9559. ChangeDetectionStrategyEnum.fromValue = function (value) {
  9560. var changeDetectionStrategy = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_1__identifiers__["b" /* Identifiers */].ChangeDetectionStrategy);
  9561. switch (value) {
  9562. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["ChangeDetectionStrategy"].OnPush:
  9563. return _enumExpression(changeDetectionStrategy, 'OnPush');
  9564. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["ChangeDetectionStrategy"].Default:
  9565. return _enumExpression(changeDetectionStrategy, 'Default');
  9566. default:
  9567. throw Error("Inavlid ChangeDetectionStrategy value: " + value);
  9568. }
  9569. };
  9570. return ChangeDetectionStrategyEnum;
  9571. }());
  9572. var ChangeDetectorStatusEnum = (function () {
  9573. function ChangeDetectorStatusEnum() {
  9574. }
  9575. ChangeDetectorStatusEnum.fromValue = function (value) {
  9576. var changeDetectorStatus = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_1__identifiers__["b" /* Identifiers */].ChangeDetectorStatus);
  9577. switch (value) {
  9578. case __WEBPACK_IMPORTED_MODULE_3__private_import_core__["n" /* ChangeDetectorStatus */].CheckOnce:
  9579. return _enumExpression(changeDetectorStatus, 'CheckOnce');
  9580. case __WEBPACK_IMPORTED_MODULE_3__private_import_core__["n" /* ChangeDetectorStatus */].Checked:
  9581. return _enumExpression(changeDetectorStatus, 'Checked');
  9582. case __WEBPACK_IMPORTED_MODULE_3__private_import_core__["n" /* ChangeDetectorStatus */].CheckAlways:
  9583. return _enumExpression(changeDetectorStatus, 'CheckAlways');
  9584. case __WEBPACK_IMPORTED_MODULE_3__private_import_core__["n" /* ChangeDetectorStatus */].Detached:
  9585. return _enumExpression(changeDetectorStatus, 'Detached');
  9586. case __WEBPACK_IMPORTED_MODULE_3__private_import_core__["n" /* ChangeDetectorStatus */].Errored:
  9587. return _enumExpression(changeDetectorStatus, 'Errored');
  9588. case __WEBPACK_IMPORTED_MODULE_3__private_import_core__["n" /* ChangeDetectorStatus */].Destroyed:
  9589. return _enumExpression(changeDetectorStatus, 'Destroyed');
  9590. default:
  9591. throw Error("Inavlid ChangeDetectorStatus value: " + value);
  9592. }
  9593. };
  9594. return ChangeDetectorStatusEnum;
  9595. }());
  9596. var ViewConstructorVars = (function () {
  9597. function ViewConstructorVars() {
  9598. }
  9599. ViewConstructorVars.viewUtils = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */]('viewUtils');
  9600. ViewConstructorVars.parentInjector = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */]('parentInjector');
  9601. ViewConstructorVars.declarationEl = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */]('declarationEl');
  9602. return ViewConstructorVars;
  9603. }());
  9604. var ViewProperties = (function () {
  9605. function ViewProperties() {
  9606. }
  9607. ViewProperties.renderer = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["n" /* THIS_EXPR */].prop('renderer');
  9608. ViewProperties.projectableNodes = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["n" /* THIS_EXPR */].prop('projectableNodes');
  9609. ViewProperties.viewUtils = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["n" /* THIS_EXPR */].prop('viewUtils');
  9610. return ViewProperties;
  9611. }());
  9612. var EventHandlerVars = (function () {
  9613. function EventHandlerVars() {
  9614. }
  9615. EventHandlerVars.event = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */]('$event');
  9616. return EventHandlerVars;
  9617. }());
  9618. var InjectMethodVars = (function () {
  9619. function InjectMethodVars() {
  9620. }
  9621. InjectMethodVars.token = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */]('token');
  9622. InjectMethodVars.requestNodeIndex = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */]('requestNodeIndex');
  9623. InjectMethodVars.notFoundResult = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */]('notFoundResult');
  9624. return InjectMethodVars;
  9625. }());
  9626. var DetectChangesVars = (function () {
  9627. function DetectChangesVars() {
  9628. }
  9629. DetectChangesVars.throwOnChange = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */]("throwOnChange");
  9630. DetectChangesVars.changes = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */]("changes");
  9631. DetectChangesVars.changed = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */]("changed");
  9632. DetectChangesVars.valUnwrapper = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */]("valUnwrapper");
  9633. return DetectChangesVars;
  9634. }());
  9635. //# sourceMappingURL=constants.js.map
  9636. /***/ },
  9637. /* 89 */
  9638. /***/ function(module, exports, __webpack_require__) {
  9639. "use strict";
  9640. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(5);
  9641. /* harmony export (immutable) */ exports["d"] = Class;
  9642. /* harmony export (immutable) */ exports["c"] = makeDecorator;
  9643. /* harmony export (immutable) */ exports["a"] = makeParamDecorator;
  9644. /* harmony export (immutable) */ exports["b"] = makePropDecorator;
  9645. /**
  9646. * @license
  9647. * Copyright Google Inc. All Rights Reserved.
  9648. *
  9649. * Use of this source code is governed by an MIT-style license that can be
  9650. * found in the LICENSE file at https://angular.io/license
  9651. */
  9652. var _nextClassId = 0;
  9653. function extractAnnotation(annotation) {
  9654. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isFunction */])(annotation) && annotation.hasOwnProperty('annotation')) {
  9655. // it is a decorator, extract annotation
  9656. annotation = annotation.annotation;
  9657. }
  9658. return annotation;
  9659. }
  9660. function applyParams(fnOrArray, key) {
  9661. if (fnOrArray === Object || fnOrArray === String || fnOrArray === Function ||
  9662. fnOrArray === Number || fnOrArray === Array) {
  9663. throw new Error("Can not use native " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* stringify */])(fnOrArray) + " as constructor");
  9664. }
  9665. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isFunction */])(fnOrArray)) {
  9666. return fnOrArray;
  9667. }
  9668. else if (fnOrArray instanceof Array) {
  9669. var annotations = fnOrArray;
  9670. var annoLength = annotations.length - 1;
  9671. var fn = fnOrArray[annoLength];
  9672. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isFunction */])(fn)) {
  9673. throw new Error("Last position of Class method array must be Function in key " + key + " was '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* stringify */])(fn) + "'");
  9674. }
  9675. if (annoLength != fn.length) {
  9676. throw new Error("Number of annotations (" + annoLength + ") does not match number of arguments (" + fn.length + ") in the function: " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* stringify */])(fn));
  9677. }
  9678. var paramsAnnotations = [];
  9679. for (var i = 0, ii = annotations.length - 1; i < ii; i++) {
  9680. var paramAnnotations = [];
  9681. paramsAnnotations.push(paramAnnotations);
  9682. var annotation = annotations[i];
  9683. if (annotation instanceof Array) {
  9684. for (var j = 0; j < annotation.length; j++) {
  9685. paramAnnotations.push(extractAnnotation(annotation[j]));
  9686. }
  9687. }
  9688. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isFunction */])(annotation)) {
  9689. paramAnnotations.push(extractAnnotation(annotation));
  9690. }
  9691. else {
  9692. paramAnnotations.push(annotation);
  9693. }
  9694. }
  9695. Reflect.defineMetadata('parameters', paramsAnnotations, fn);
  9696. return fn;
  9697. }
  9698. else {
  9699. throw new Error("Only Function or Array is supported in Class definition for key '" + key + "' is '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* stringify */])(fnOrArray) + "'");
  9700. }
  9701. }
  9702. /**
  9703. * Provides a way for expressing ES6 classes with parameter annotations in ES5.
  9704. *
  9705. * ## Basic Example
  9706. *
  9707. * ```
  9708. * var Greeter = ng.Class({
  9709. * constructor: function(name) {
  9710. * this.name = name;
  9711. * },
  9712. *
  9713. * greet: function() {
  9714. * alert('Hello ' + this.name + '!');
  9715. * }
  9716. * });
  9717. * ```
  9718. *
  9719. * is equivalent to ES6:
  9720. *
  9721. * ```
  9722. * class Greeter {
  9723. * constructor(name) {
  9724. * this.name = name;
  9725. * }
  9726. *
  9727. * greet() {
  9728. * alert('Hello ' + this.name + '!');
  9729. * }
  9730. * }
  9731. * ```
  9732. *
  9733. * or equivalent to ES5:
  9734. *
  9735. * ```
  9736. * var Greeter = function (name) {
  9737. * this.name = name;
  9738. * }
  9739. *
  9740. * Greeter.prototype.greet = function () {
  9741. * alert('Hello ' + this.name + '!');
  9742. * }
  9743. * ```
  9744. *
  9745. * ### Example with parameter annotations
  9746. *
  9747. * ```
  9748. * var MyService = ng.Class({
  9749. * constructor: [String, [new Query(), QueryList], function(name, queryList) {
  9750. * ...
  9751. * }]
  9752. * });
  9753. * ```
  9754. *
  9755. * is equivalent to ES6:
  9756. *
  9757. * ```
  9758. * class MyService {
  9759. * constructor(name: string, @Query() queryList: QueryList) {
  9760. * ...
  9761. * }
  9762. * }
  9763. * ```
  9764. *
  9765. * ### Example with inheritance
  9766. *
  9767. * ```
  9768. * var Shape = ng.Class({
  9769. * constructor: (color) {
  9770. * this.color = color;
  9771. * }
  9772. * });
  9773. *
  9774. * var Square = ng.Class({
  9775. * extends: Shape,
  9776. * constructor: function(color, size) {
  9777. * Shape.call(this, color);
  9778. * this.size = size;
  9779. * }
  9780. * });
  9781. * ```
  9782. * @stable
  9783. */
  9784. function Class(clsDef) {
  9785. var constructor = applyParams(clsDef.hasOwnProperty('constructor') ? clsDef.constructor : undefined, 'constructor');
  9786. var proto = constructor.prototype;
  9787. if (clsDef.hasOwnProperty('extends')) {
  9788. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isFunction */])(clsDef.extends)) {
  9789. constructor.prototype = proto =
  9790. Object.create(clsDef.extends.prototype);
  9791. }
  9792. else {
  9793. throw new Error("Class definition 'extends' property must be a constructor function was: " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* stringify */])(clsDef.extends));
  9794. }
  9795. }
  9796. for (var key in clsDef) {
  9797. if (key != 'extends' && key != 'prototype' && clsDef.hasOwnProperty(key)) {
  9798. proto[key] = applyParams(clsDef[key], key);
  9799. }
  9800. }
  9801. if (this && this.annotations instanceof Array) {
  9802. Reflect.defineMetadata('annotations', this.annotations, constructor);
  9803. }
  9804. var constructorName = constructor['name'];
  9805. if (!constructorName || constructorName === 'constructor') {
  9806. constructor['overriddenName'] = "class" + _nextClassId++;
  9807. }
  9808. return constructor;
  9809. }
  9810. var Reflect = __WEBPACK_IMPORTED_MODULE_0__facade_lang__["c" /* global */].Reflect;
  9811. function makeDecorator(name, props, parentClass, chainFn) {
  9812. if (chainFn === void 0) { chainFn = null; }
  9813. var metaCtor = makeMetadataCtor([props]);
  9814. function DecoratorFactory(objOrType) {
  9815. if (!(Reflect && Reflect.getMetadata)) {
  9816. throw 'reflect-metadata shim is required when using class decorators';
  9817. }
  9818. if (this instanceof DecoratorFactory) {
  9819. metaCtor.call(this, objOrType);
  9820. return this;
  9821. }
  9822. else {
  9823. var annotationInstance_1 = new DecoratorFactory(objOrType);
  9824. var chainAnnotation = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isFunction */])(this) && this.annotations instanceof Array ? this.annotations : [];
  9825. chainAnnotation.push(annotationInstance_1);
  9826. var TypeDecorator = function TypeDecorator(cls) {
  9827. var annotations = Reflect.getOwnMetadata('annotations', cls) || [];
  9828. annotations.push(annotationInstance_1);
  9829. Reflect.defineMetadata('annotations', annotations, cls);
  9830. return cls;
  9831. };
  9832. TypeDecorator.annotations = chainAnnotation;
  9833. TypeDecorator.Class = Class;
  9834. if (chainFn)
  9835. chainFn(TypeDecorator);
  9836. return TypeDecorator;
  9837. }
  9838. }
  9839. if (parentClass) {
  9840. DecoratorFactory.prototype = Object.create(parentClass.prototype);
  9841. }
  9842. DecoratorFactory.prototype.toString = function () { return ("@" + name); };
  9843. DecoratorFactory.annotationCls = DecoratorFactory;
  9844. return DecoratorFactory;
  9845. }
  9846. function makeMetadataCtor(props) {
  9847. function ctor() {
  9848. var _this = this;
  9849. var args = [];
  9850. for (var _i = 0; _i < arguments.length; _i++) {
  9851. args[_i - 0] = arguments[_i];
  9852. }
  9853. props.forEach(function (prop, i) {
  9854. var argVal = args[i];
  9855. if (Array.isArray(prop)) {
  9856. // plain parameter
  9857. var val = !argVal || argVal === undefined ? prop[1] : argVal;
  9858. _this[prop[0]] = val;
  9859. }
  9860. else {
  9861. for (var propName in prop) {
  9862. var val = !argVal || argVal[propName] === undefined ? prop[propName] : argVal[propName];
  9863. _this[propName] = val;
  9864. }
  9865. }
  9866. });
  9867. }
  9868. return ctor;
  9869. }
  9870. function makeParamDecorator(name, props, parentClass) {
  9871. var metaCtor = makeMetadataCtor(props);
  9872. function ParamDecoratorFactory() {
  9873. var args = [];
  9874. for (var _i = 0; _i < arguments.length; _i++) {
  9875. args[_i - 0] = arguments[_i];
  9876. }
  9877. if (this instanceof ParamDecoratorFactory) {
  9878. metaCtor.apply(this, args);
  9879. return this;
  9880. }
  9881. var annotationInstance = new ((_a = ParamDecoratorFactory).bind.apply(_a, [void 0].concat(args)))();
  9882. ParamDecorator.annotation = annotationInstance;
  9883. return ParamDecorator;
  9884. function ParamDecorator(cls, unusedKey, index) {
  9885. var parameters = Reflect.getMetadata('parameters', cls) || [];
  9886. // there might be gaps if some in between parameters do not have annotations.
  9887. // we pad with nulls.
  9888. while (parameters.length <= index) {
  9889. parameters.push(null);
  9890. }
  9891. parameters[index] = parameters[index] || [];
  9892. var annotationsForParam = parameters[index];
  9893. annotationsForParam.push(annotationInstance);
  9894. Reflect.defineMetadata('parameters', parameters, cls);
  9895. return cls;
  9896. }
  9897. var _a;
  9898. }
  9899. if (parentClass) {
  9900. ParamDecoratorFactory.prototype = Object.create(parentClass.prototype);
  9901. }
  9902. ParamDecoratorFactory.prototype.toString = function () { return ("@" + name); };
  9903. ParamDecoratorFactory.annotationCls = ParamDecoratorFactory;
  9904. return ParamDecoratorFactory;
  9905. }
  9906. function makePropDecorator(name, props, parentClass) {
  9907. var metaCtor = makeMetadataCtor(props);
  9908. function PropDecoratorFactory() {
  9909. var args = [];
  9910. for (var _i = 0; _i < arguments.length; _i++) {
  9911. args[_i - 0] = arguments[_i];
  9912. }
  9913. if (this instanceof PropDecoratorFactory) {
  9914. metaCtor.apply(this, args);
  9915. return this;
  9916. }
  9917. else {
  9918. var decoratorInstance = new ((_a = PropDecoratorFactory).bind.apply(_a, [void 0].concat(args)))();
  9919. return function PropDecorator(target, name) {
  9920. var meta = Reflect.getOwnMetadata('propMetadata', target.constructor) || {};
  9921. meta[name] = meta[name] || [];
  9922. meta[name].unshift(decoratorInstance);
  9923. Reflect.defineMetadata('propMetadata', meta, target.constructor);
  9924. };
  9925. }
  9926. var _a;
  9927. }
  9928. if (parentClass) {
  9929. PropDecoratorFactory.prototype = Object.create(parentClass.prototype);
  9930. }
  9931. PropDecoratorFactory.prototype.toString = function () { return ("@" + name); };
  9932. PropDecoratorFactory.annotationCls = PropDecoratorFactory;
  9933. return PropDecoratorFactory;
  9934. }
  9935. //# sourceMappingURL=decorators.js.map
  9936. /***/ },
  9937. /* 90 */,
  9938. /* 91 */
  9939. /***/ function(module, exports, __webpack_require__) {
  9940. "use strict";
  9941. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  9942. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return EVENT_MANAGER_PLUGINS; });
  9943. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return EventManager; });
  9944. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return EventManagerPlugin; });
  9945. /**
  9946. * @license
  9947. * Copyright Google Inc. All Rights Reserved.
  9948. *
  9949. * Use of this source code is governed by an MIT-style license that can be
  9950. * found in the LICENSE file at https://angular.io/license
  9951. */
  9952. /**
  9953. * @stable
  9954. */
  9955. var EVENT_MANAGER_PLUGINS = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["OpaqueToken"]('EventManagerPlugins');
  9956. /**
  9957. * @stable
  9958. */
  9959. var EventManager = (function () {
  9960. function EventManager(plugins, _zone) {
  9961. var _this = this;
  9962. this._zone = _zone;
  9963. plugins.forEach(function (p) { return p.manager = _this; });
  9964. this._plugins = plugins.slice().reverse();
  9965. }
  9966. EventManager.prototype.addEventListener = function (element, eventName, handler) {
  9967. var plugin = this._findPluginFor(eventName);
  9968. return plugin.addEventListener(element, eventName, handler);
  9969. };
  9970. EventManager.prototype.addGlobalEventListener = function (target, eventName, handler) {
  9971. var plugin = this._findPluginFor(eventName);
  9972. return plugin.addGlobalEventListener(target, eventName, handler);
  9973. };
  9974. EventManager.prototype.getZone = function () { return this._zone; };
  9975. /** @internal */
  9976. EventManager.prototype._findPluginFor = function (eventName) {
  9977. var plugins = this._plugins;
  9978. for (var i = 0; i < plugins.length; i++) {
  9979. var plugin = plugins[i];
  9980. if (plugin.supports(eventName)) {
  9981. return plugin;
  9982. }
  9983. }
  9984. throw new Error("No event manager plugin found for event " + eventName);
  9985. };
  9986. EventManager.decorators = [
  9987. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  9988. ];
  9989. /** @nocollapse */
  9990. EventManager.ctorParameters = [
  9991. { type: Array, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"], args: [EVENT_MANAGER_PLUGINS,] },] },
  9992. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["NgZone"], },
  9993. ];
  9994. return EventManager;
  9995. }());
  9996. var EventManagerPlugin = (function () {
  9997. function EventManagerPlugin() {
  9998. }
  9999. // That is equivalent to having supporting $event.target
  10000. EventManagerPlugin.prototype.supports = function (eventName) { return false; };
  10001. EventManagerPlugin.prototype.addEventListener = function (element, eventName, handler) {
  10002. throw 'not implemented';
  10003. };
  10004. EventManagerPlugin.prototype.addGlobalEventListener = function (element, eventName, handler) {
  10005. throw 'not implemented';
  10006. };
  10007. return EventManagerPlugin;
  10008. }());
  10009. //# sourceMappingURL=event_manager.js.map
  10010. /***/ },
  10011. /* 92 */
  10012. /***/ function(module, exports, __webpack_require__) {
  10013. "use strict";
  10014. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lang__ = __webpack_require__(31);
  10015. /* unused harmony export MapWrapper */
  10016. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return StringMapWrapper; });
  10017. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return ListWrapper; });
  10018. /* unused harmony export isListLikeIterable */
  10019. /* unused harmony export areIterablesEqual */
  10020. /* unused harmony export iterateListLike */
  10021. /* unused harmony export SetWrapper */
  10022. /**
  10023. * @license
  10024. * Copyright Google Inc. All Rights Reserved.
  10025. *
  10026. * Use of this source code is governed by an MIT-style license that can be
  10027. * found in the LICENSE file at https://angular.io/license
  10028. */
  10029. // Safari and Internet Explorer do not support the iterable parameter to the
  10030. // Map constructor. We work around that by manually adding the items.
  10031. var createMapFromPairs = (function () {
  10032. try {
  10033. if (new Map([[1, 2]]).size === 1) {
  10034. return function createMapFromPairs(pairs) { return new Map(pairs); };
  10035. }
  10036. }
  10037. catch (e) {
  10038. }
  10039. return function createMapAndPopulateFromPairs(pairs) {
  10040. var map = new Map();
  10041. for (var i = 0; i < pairs.length; i++) {
  10042. var pair = pairs[i];
  10043. map.set(pair[0], pair[1]);
  10044. }
  10045. return map;
  10046. };
  10047. })();
  10048. var createMapFromMap = (function () {
  10049. try {
  10050. if (new Map(new Map())) {
  10051. return function createMapFromMap(m) { return new Map(m); };
  10052. }
  10053. }
  10054. catch (e) {
  10055. }
  10056. return function createMapAndPopulateFromMap(m) {
  10057. var map = new Map();
  10058. m.forEach(function (v, k) { map.set(k, v); });
  10059. return map;
  10060. };
  10061. })();
  10062. var _clearValues = (function () {
  10063. if ((new Map()).keys().next) {
  10064. return function _clearValues(m) {
  10065. var keyIterator = m.keys();
  10066. var k;
  10067. while (!((k = keyIterator.next()).done)) {
  10068. m.set(k.value, null);
  10069. }
  10070. };
  10071. }
  10072. else {
  10073. return function _clearValuesWithForeEach(m) {
  10074. m.forEach(function (v, k) { m.set(k, null); });
  10075. };
  10076. }
  10077. })();
  10078. // Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from
  10079. // TODO(mlaval): remove the work around once we have a working polyfill of Array.from
  10080. var _arrayFromMap = (function () {
  10081. try {
  10082. if ((new Map()).values().next) {
  10083. return function createArrayFromMap(m, getValues) {
  10084. return getValues ? Array.from(m.values()) : Array.from(m.keys());
  10085. };
  10086. }
  10087. }
  10088. catch (e) {
  10089. }
  10090. return function createArrayFromMapWithForeach(m, getValues) {
  10091. var res = new Array(m.size), i = 0;
  10092. m.forEach(function (v, k) {
  10093. res[i] = getValues ? v : k;
  10094. i++;
  10095. });
  10096. return res;
  10097. };
  10098. })();
  10099. var MapWrapper = (function () {
  10100. function MapWrapper() {
  10101. }
  10102. MapWrapper.createFromStringMap = function (stringMap) {
  10103. var result = new Map();
  10104. for (var prop in stringMap) {
  10105. result.set(prop, stringMap[prop]);
  10106. }
  10107. return result;
  10108. };
  10109. MapWrapper.toStringMap = function (m) {
  10110. var r = {};
  10111. m.forEach(function (v, k) { return r[k] = v; });
  10112. return r;
  10113. };
  10114. MapWrapper.createFromPairs = function (pairs) { return createMapFromPairs(pairs); };
  10115. MapWrapper.iterable = function (m) { return m; };
  10116. MapWrapper.keys = function (m) { return _arrayFromMap(m, false); };
  10117. MapWrapper.values = function (m) { return _arrayFromMap(m, true); };
  10118. return MapWrapper;
  10119. }());
  10120. /**
  10121. * Wraps Javascript Objects
  10122. */
  10123. var StringMapWrapper = (function () {
  10124. function StringMapWrapper() {
  10125. }
  10126. StringMapWrapper.get = function (map, key) {
  10127. return map.hasOwnProperty(key) ? map[key] : undefined;
  10128. };
  10129. StringMapWrapper.set = function (map, key, value) { map[key] = value; };
  10130. StringMapWrapper.keys = function (map) { return Object.keys(map); };
  10131. StringMapWrapper.values = function (map) {
  10132. return Object.keys(map).map(function (k) { return map[k]; });
  10133. };
  10134. StringMapWrapper.isEmpty = function (map) {
  10135. for (var prop in map) {
  10136. return false;
  10137. }
  10138. return true;
  10139. };
  10140. StringMapWrapper.forEach = function (map, callback) {
  10141. for (var _i = 0, _a = Object.keys(map); _i < _a.length; _i++) {
  10142. var k = _a[_i];
  10143. callback(map[k], k);
  10144. }
  10145. };
  10146. StringMapWrapper.merge = function (m1, m2) {
  10147. var m = {};
  10148. for (var _i = 0, _a = Object.keys(m1); _i < _a.length; _i++) {
  10149. var k = _a[_i];
  10150. m[k] = m1[k];
  10151. }
  10152. for (var _b = 0, _c = Object.keys(m2); _b < _c.length; _b++) {
  10153. var k = _c[_b];
  10154. m[k] = m2[k];
  10155. }
  10156. return m;
  10157. };
  10158. StringMapWrapper.equals = function (m1, m2) {
  10159. var k1 = Object.keys(m1);
  10160. var k2 = Object.keys(m2);
  10161. if (k1.length != k2.length) {
  10162. return false;
  10163. }
  10164. for (var i = 0; i < k1.length; i++) {
  10165. var key = k1[i];
  10166. if (m1[key] !== m2[key]) {
  10167. return false;
  10168. }
  10169. }
  10170. return true;
  10171. };
  10172. return StringMapWrapper;
  10173. }());
  10174. var ListWrapper = (function () {
  10175. function ListWrapper() {
  10176. }
  10177. // JS has no way to express a statically fixed size list, but dart does so we
  10178. // keep both methods.
  10179. ListWrapper.createFixedSize = function (size) { return new Array(size); };
  10180. ListWrapper.createGrowableSize = function (size) { return new Array(size); };
  10181. ListWrapper.clone = function (array) { return array.slice(0); };
  10182. ListWrapper.forEachWithIndex = function (array, fn) {
  10183. for (var i = 0; i < array.length; i++) {
  10184. fn(array[i], i);
  10185. }
  10186. };
  10187. ListWrapper.first = function (array) {
  10188. if (!array)
  10189. return null;
  10190. return array[0];
  10191. };
  10192. ListWrapper.last = function (array) {
  10193. if (!array || array.length == 0)
  10194. return null;
  10195. return array[array.length - 1];
  10196. };
  10197. ListWrapper.indexOf = function (array, value, startIndex) {
  10198. if (startIndex === void 0) { startIndex = 0; }
  10199. return array.indexOf(value, startIndex);
  10200. };
  10201. ListWrapper.contains = function (list, el) { return list.indexOf(el) !== -1; };
  10202. ListWrapper.reversed = function (array) {
  10203. var a = ListWrapper.clone(array);
  10204. return a.reverse();
  10205. };
  10206. ListWrapper.concat = function (a, b) { return a.concat(b); };
  10207. ListWrapper.insert = function (list, index, value) { list.splice(index, 0, value); };
  10208. ListWrapper.removeAt = function (list, index) {
  10209. var res = list[index];
  10210. list.splice(index, 1);
  10211. return res;
  10212. };
  10213. ListWrapper.removeAll = function (list, items) {
  10214. for (var i = 0; i < items.length; ++i) {
  10215. var index = list.indexOf(items[i]);
  10216. list.splice(index, 1);
  10217. }
  10218. };
  10219. ListWrapper.remove = function (list, el) {
  10220. var index = list.indexOf(el);
  10221. if (index > -1) {
  10222. list.splice(index, 1);
  10223. return true;
  10224. }
  10225. return false;
  10226. };
  10227. ListWrapper.clear = function (list) { list.length = 0; };
  10228. ListWrapper.isEmpty = function (list) { return list.length == 0; };
  10229. ListWrapper.fill = function (list, value, start, end) {
  10230. if (start === void 0) { start = 0; }
  10231. if (end === void 0) { end = null; }
  10232. list.fill(value, start, end === null ? list.length : end);
  10233. };
  10234. ListWrapper.equals = function (a, b) {
  10235. if (a.length != b.length)
  10236. return false;
  10237. for (var i = 0; i < a.length; ++i) {
  10238. if (a[i] !== b[i])
  10239. return false;
  10240. }
  10241. return true;
  10242. };
  10243. ListWrapper.slice = function (l, from, to) {
  10244. if (from === void 0) { from = 0; }
  10245. if (to === void 0) { to = null; }
  10246. return l.slice(from, to === null ? undefined : to);
  10247. };
  10248. ListWrapper.splice = function (l, from, length) { return l.splice(from, length); };
  10249. ListWrapper.sort = function (l, compareFn) {
  10250. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["a" /* isPresent */])(compareFn)) {
  10251. l.sort(compareFn);
  10252. }
  10253. else {
  10254. l.sort();
  10255. }
  10256. };
  10257. ListWrapper.toString = function (l) { return l.toString(); };
  10258. ListWrapper.toJSON = function (l) { return JSON.stringify(l); };
  10259. ListWrapper.maximum = function (list, predicate) {
  10260. if (list.length == 0) {
  10261. return null;
  10262. }
  10263. var solution = null;
  10264. var maxValue = -Infinity;
  10265. for (var index = 0; index < list.length; index++) {
  10266. var candidate = list[index];
  10267. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["b" /* isBlank */])(candidate)) {
  10268. continue;
  10269. }
  10270. var candidateValue = predicate(candidate);
  10271. if (candidateValue > maxValue) {
  10272. solution = candidate;
  10273. maxValue = candidateValue;
  10274. }
  10275. }
  10276. return solution;
  10277. };
  10278. ListWrapper.flatten = function (list) {
  10279. var target = [];
  10280. _flattenArray(list, target);
  10281. return target;
  10282. };
  10283. ListWrapper.addAll = function (list, source) {
  10284. for (var i = 0; i < source.length; i++) {
  10285. list.push(source[i]);
  10286. }
  10287. };
  10288. return ListWrapper;
  10289. }());
  10290. function _flattenArray(source, target) {
  10291. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["a" /* isPresent */])(source)) {
  10292. for (var i = 0; i < source.length; i++) {
  10293. var item = source[i];
  10294. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["c" /* isArray */])(item)) {
  10295. _flattenArray(item, target);
  10296. }
  10297. else {
  10298. target.push(item);
  10299. }
  10300. }
  10301. }
  10302. return target;
  10303. }
  10304. function isListLikeIterable(obj) {
  10305. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["d" /* isJsObject */])(obj))
  10306. return false;
  10307. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["c" /* isArray */])(obj) ||
  10308. (!(obj instanceof Map) &&
  10309. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])() in obj); // JS Iterable have a Symbol.iterator prop
  10310. }
  10311. function areIterablesEqual(a, b, comparator) {
  10312. var iterator1 = a[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])()]();
  10313. var iterator2 = b[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])()]();
  10314. while (true) {
  10315. var item1 = iterator1.next();
  10316. var item2 = iterator2.next();
  10317. if (item1.done && item2.done)
  10318. return true;
  10319. if (item1.done || item2.done)
  10320. return false;
  10321. if (!comparator(item1.value, item2.value))
  10322. return false;
  10323. }
  10324. }
  10325. function iterateListLike(obj, fn) {
  10326. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["c" /* isArray */])(obj)) {
  10327. for (var i = 0; i < obj.length; i++) {
  10328. fn(obj[i]);
  10329. }
  10330. }
  10331. else {
  10332. var iterator = obj[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])()]();
  10333. var item;
  10334. while (!((item = iterator.next()).done)) {
  10335. fn(item.value);
  10336. }
  10337. }
  10338. }
  10339. // Safari and Internet Explorer do not support the iterable parameter to the
  10340. // Set constructor. We work around that by manually adding the items.
  10341. var createSetFromList = (function () {
  10342. var test = new Set([1, 2, 3]);
  10343. if (test.size === 3) {
  10344. return function createSetFromList(lst) { return new Set(lst); };
  10345. }
  10346. else {
  10347. return function createSetAndPopulateFromList(lst) {
  10348. var res = new Set(lst);
  10349. if (res.size !== lst.length) {
  10350. for (var i = 0; i < lst.length; i++) {
  10351. res.add(lst[i]);
  10352. }
  10353. }
  10354. return res;
  10355. };
  10356. }
  10357. })();
  10358. var SetWrapper = (function () {
  10359. function SetWrapper() {
  10360. }
  10361. SetWrapper.createFromList = function (lst) { return createSetFromList(lst); };
  10362. SetWrapper.has = function (s, key) { return s.has(key); };
  10363. SetWrapper.delete = function (m, k) { m.delete(k); };
  10364. return SetWrapper;
  10365. }());
  10366. //# sourceMappingURL=collection.js.map
  10367. /***/ },
  10368. /* 93 */
  10369. /***/ function(module, exports, __webpack_require__) {
  10370. "use strict";
  10371. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject__ = __webpack_require__(169);
  10372. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject__);
  10373. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__shared__ = __webpack_require__(54);
  10374. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__url_tree__ = __webpack_require__(77);
  10375. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_collection__ = __webpack_require__(55);
  10376. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_tree__ = __webpack_require__(233);
  10377. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return RouterState; });
  10378. /* harmony export (immutable) */ exports["f"] = createEmptyState;
  10379. /* unused harmony export createEmptyStateSnapshot */
  10380. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return ActivatedRoute; });
  10381. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return InheritedResolve; });
  10382. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return ActivatedRouteSnapshot; });
  10383. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return RouterStateSnapshot; });
  10384. /* harmony export (immutable) */ exports["g"] = advanceActivatedRoute;
  10385. /**
  10386. * @license
  10387. * Copyright Google Inc. All Rights Reserved.
  10388. *
  10389. * Use of this source code is governed by an MIT-style license that can be
  10390. * found in the LICENSE file at https://angular.io/license
  10391. */
  10392. var __extends = (this && this.__extends) || function (d, b) {
  10393. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  10394. function __() { this.constructor = d; }
  10395. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  10396. };
  10397. /**
  10398. * @whatItDoes Represents the state of the router.
  10399. *
  10400. * @howToUse
  10401. *
  10402. * ```
  10403. * @Component({templateUrl:'template.html'})
  10404. * class MyComponent {
  10405. * constructor(router: Router) {
  10406. * const state: RouterState = router.routerState;
  10407. * const root: ActivatedRoute = state.root;
  10408. * const child = root.firstChild;
  10409. * const id: Observable<string> = child.params.map(p => p.id);
  10410. * //...
  10411. * }
  10412. * }
  10413. * ```
  10414. *
  10415. * @description
  10416. * RouterState is a tree of activated routes. Every node in this tree knows about the "consumed" URL
  10417. * segments,
  10418. * the extracted parameters, and the resolved data.
  10419. *
  10420. * See {@link ActivatedRoute} for more information.
  10421. *
  10422. * @stable
  10423. */
  10424. var RouterState = (function (_super) {
  10425. __extends(RouterState, _super);
  10426. /**
  10427. * @internal
  10428. */
  10429. function RouterState(root,
  10430. /**
  10431. * The current snapshot of the router state.
  10432. */
  10433. snapshot) {
  10434. _super.call(this, root);
  10435. this.snapshot = snapshot;
  10436. setRouterStateSnapshot(this, root);
  10437. }
  10438. RouterState.prototype.toString = function () { return this.snapshot.toString(); };
  10439. return RouterState;
  10440. }(__WEBPACK_IMPORTED_MODULE_4__utils_tree__["a" /* Tree */]));
  10441. function createEmptyState(urlTree, rootComponent) {
  10442. var snapshot = createEmptyStateSnapshot(urlTree, rootComponent);
  10443. var emptyUrl = new __WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject__["BehaviorSubject"]([new __WEBPACK_IMPORTED_MODULE_2__url_tree__["c" /* UrlSegment */]('', {})]);
  10444. var emptyParams = new __WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject__["BehaviorSubject"]({});
  10445. var emptyData = new __WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject__["BehaviorSubject"]({});
  10446. var emptyQueryParams = new __WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject__["BehaviorSubject"]({});
  10447. var fragment = new __WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject__["BehaviorSubject"]('');
  10448. var activated = new ActivatedRoute(emptyUrl, emptyParams, emptyQueryParams, fragment, emptyData, __WEBPACK_IMPORTED_MODULE_1__shared__["a" /* PRIMARY_OUTLET */], rootComponent, snapshot.root);
  10449. activated.snapshot = snapshot.root;
  10450. return new RouterState(new __WEBPACK_IMPORTED_MODULE_4__utils_tree__["b" /* TreeNode */](activated, []), snapshot);
  10451. }
  10452. function createEmptyStateSnapshot(urlTree, rootComponent) {
  10453. var emptyParams = {};
  10454. var emptyData = {};
  10455. var emptyQueryParams = {};
  10456. var fragment = '';
  10457. var activated = new ActivatedRouteSnapshot([], emptyParams, emptyQueryParams, fragment, emptyData, __WEBPACK_IMPORTED_MODULE_1__shared__["a" /* PRIMARY_OUTLET */], rootComponent, null, urlTree.root, -1, InheritedResolve.empty);
  10458. return new RouterStateSnapshot('', new __WEBPACK_IMPORTED_MODULE_4__utils_tree__["b" /* TreeNode */](activated, []));
  10459. }
  10460. /**
  10461. * @whatItDoes Contains the information about a route associated with a component loaded in an
  10462. * outlet.
  10463. * ActivatedRoute can also be used to traverse the router state tree.
  10464. *
  10465. * @howToUse
  10466. *
  10467. * ```
  10468. * @Component({templateUrl:'./my-component.html'})
  10469. * class MyComponent {
  10470. * constructor(route: ActivatedRoute) {
  10471. * const id: Observable<string> = route.params.map(p => p.id);
  10472. * const url: Observable<string> = route.url.map(s => s.join(''));
  10473. * const user = route.data.map(d => d.user); //includes `data` and `resolve`
  10474. * }
  10475. * }
  10476. * ```
  10477. *
  10478. * @stable
  10479. */
  10480. var ActivatedRoute = (function () {
  10481. /**
  10482. * @internal
  10483. */
  10484. function ActivatedRoute(
  10485. /**
  10486. * The URL segments matched by this route. The observable will emit a new value when
  10487. * the array of segments changes.
  10488. */
  10489. url,
  10490. /**
  10491. * The matrix parameters scoped to this route. The observable will emit a new value when
  10492. * the set of the parameters changes.
  10493. */
  10494. params,
  10495. /**
  10496. * The query parameters shared by all the routes. The observable will emit a new value when
  10497. * the set of the parameters changes.
  10498. */
  10499. queryParams,
  10500. /**
  10501. * The URL fragment shared by all the routes. The observable will emit a new value when
  10502. * the URL fragment changes.
  10503. */
  10504. fragment,
  10505. /**
  10506. * The static and resolved data of this route. The observable will emit a new value when
  10507. * any of the resolvers returns a new object.
  10508. */
  10509. data,
  10510. /**
  10511. * The outlet name of the route. It's a constant.
  10512. */
  10513. outlet,
  10514. /**
  10515. * The component of the route. It's a constant.
  10516. */
  10517. component, // TODO: vsavkin: remove |string
  10518. futureSnapshot) {
  10519. this.url = url;
  10520. this.params = params;
  10521. this.queryParams = queryParams;
  10522. this.fragment = fragment;
  10523. this.data = data;
  10524. this.outlet = outlet;
  10525. this.component = component;
  10526. this._futureSnapshot = futureSnapshot;
  10527. }
  10528. Object.defineProperty(ActivatedRoute.prototype, "routeConfig", {
  10529. /**
  10530. * The configuration used to match this route.
  10531. */
  10532. get: function () { return this._futureSnapshot.routeConfig; },
  10533. enumerable: true,
  10534. configurable: true
  10535. });
  10536. Object.defineProperty(ActivatedRoute.prototype, "root", {
  10537. /**
  10538. * The root of the router state.
  10539. */
  10540. get: function () { return this._routerState.root; },
  10541. enumerable: true,
  10542. configurable: true
  10543. });
  10544. Object.defineProperty(ActivatedRoute.prototype, "parent", {
  10545. /**
  10546. * The parent of this route in the router state tree.
  10547. */
  10548. get: function () { return this._routerState.parent(this); },
  10549. enumerable: true,
  10550. configurable: true
  10551. });
  10552. Object.defineProperty(ActivatedRoute.prototype, "firstChild", {
  10553. /**
  10554. * The first child of this route in the router state tree.
  10555. */
  10556. get: function () { return this._routerState.firstChild(this); },
  10557. enumerable: true,
  10558. configurable: true
  10559. });
  10560. Object.defineProperty(ActivatedRoute.prototype, "children", {
  10561. /**
  10562. * The children of this route in the router state tree.
  10563. */
  10564. get: function () { return this._routerState.children(this); },
  10565. enumerable: true,
  10566. configurable: true
  10567. });
  10568. Object.defineProperty(ActivatedRoute.prototype, "pathFromRoot", {
  10569. /**
  10570. * The path from the root of the router state tree to this route.
  10571. */
  10572. get: function () { return this._routerState.pathFromRoot(this); },
  10573. enumerable: true,
  10574. configurable: true
  10575. });
  10576. /**
  10577. * @docsNotRequired
  10578. */
  10579. ActivatedRoute.prototype.toString = function () {
  10580. return this.snapshot ? this.snapshot.toString() : "Future(" + this._futureSnapshot + ")";
  10581. };
  10582. return ActivatedRoute;
  10583. }());
  10584. /**
  10585. * @internal
  10586. */
  10587. var InheritedResolve = (function () {
  10588. function InheritedResolve(parent, current) {
  10589. this.parent = parent;
  10590. this.current = current;
  10591. /**
  10592. * @internal
  10593. */
  10594. this.resolvedData = {};
  10595. }
  10596. Object.defineProperty(InheritedResolve.prototype, "flattenedResolvedData", {
  10597. /**
  10598. * @internal
  10599. */
  10600. get: function () {
  10601. return this.parent ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__utils_collection__["g" /* merge */])(this.parent.flattenedResolvedData, this.resolvedData) :
  10602. this.resolvedData;
  10603. },
  10604. enumerable: true,
  10605. configurable: true
  10606. });
  10607. Object.defineProperty(InheritedResolve, "empty", {
  10608. get: function () { return new InheritedResolve(null, {}); },
  10609. enumerable: true,
  10610. configurable: true
  10611. });
  10612. return InheritedResolve;
  10613. }());
  10614. /**
  10615. * @whatItDoes Contains the information about a route associated with a component loaded in an
  10616. * outlet
  10617. * at a particular moment in time. ActivatedRouteSnapshot can also be used to traverse the router
  10618. * state tree.
  10619. *
  10620. * @howToUse
  10621. *
  10622. * ```
  10623. * @Component({templateUrl:'./my-component.html'})
  10624. * class MyComponent {
  10625. * constructor(route: ActivatedRoute) {
  10626. * const id: string = route.snapshot.params.id;
  10627. * const url: string = route.snapshot.url.join('');
  10628. * const user = route.snapshot.data.user;
  10629. * }
  10630. * }
  10631. * ```
  10632. *
  10633. * @stable
  10634. */
  10635. var ActivatedRouteSnapshot = (function () {
  10636. /**
  10637. * @internal
  10638. */
  10639. function ActivatedRouteSnapshot(
  10640. /**
  10641. * The URL segments matched by this route.
  10642. */
  10643. url,
  10644. /**
  10645. * The matrix parameters scoped to this route.
  10646. */
  10647. params,
  10648. /**
  10649. * The query parameters shared by all the routes.
  10650. */
  10651. queryParams,
  10652. /**
  10653. * The URL fragment shared by all the routes.
  10654. */
  10655. fragment,
  10656. /**
  10657. * The static and resolved data of this route.
  10658. */
  10659. data,
  10660. /**
  10661. * The outlet name of the route.
  10662. */
  10663. outlet,
  10664. /**
  10665. * The component of the route.
  10666. */
  10667. component, routeConfig, urlSegment, lastPathIndex, resolve) {
  10668. this.url = url;
  10669. this.params = params;
  10670. this.queryParams = queryParams;
  10671. this.fragment = fragment;
  10672. this.data = data;
  10673. this.outlet = outlet;
  10674. this.component = component;
  10675. this._routeConfig = routeConfig;
  10676. this._urlSegment = urlSegment;
  10677. this._lastPathIndex = lastPathIndex;
  10678. this._resolve = resolve;
  10679. }
  10680. Object.defineProperty(ActivatedRouteSnapshot.prototype, "routeConfig", {
  10681. /**
  10682. * The configuration used to match this route.
  10683. */
  10684. get: function () { return this._routeConfig; },
  10685. enumerable: true,
  10686. configurable: true
  10687. });
  10688. Object.defineProperty(ActivatedRouteSnapshot.prototype, "root", {
  10689. /**
  10690. * The root of the router state.
  10691. */
  10692. get: function () { return this._routerState.root; },
  10693. enumerable: true,
  10694. configurable: true
  10695. });
  10696. Object.defineProperty(ActivatedRouteSnapshot.prototype, "parent", {
  10697. /**
  10698. * The parent of this route in the router state tree.
  10699. */
  10700. get: function () { return this._routerState.parent(this); },
  10701. enumerable: true,
  10702. configurable: true
  10703. });
  10704. Object.defineProperty(ActivatedRouteSnapshot.prototype, "firstChild", {
  10705. /**
  10706. * The first child of this route in the router state tree.
  10707. */
  10708. get: function () { return this._routerState.firstChild(this); },
  10709. enumerable: true,
  10710. configurable: true
  10711. });
  10712. Object.defineProperty(ActivatedRouteSnapshot.prototype, "children", {
  10713. /**
  10714. * The children of this route in the router state tree.
  10715. */
  10716. get: function () { return this._routerState.children(this); },
  10717. enumerable: true,
  10718. configurable: true
  10719. });
  10720. Object.defineProperty(ActivatedRouteSnapshot.prototype, "pathFromRoot", {
  10721. /**
  10722. * The path from the root of the router state tree to this route.
  10723. */
  10724. get: function () { return this._routerState.pathFromRoot(this); },
  10725. enumerable: true,
  10726. configurable: true
  10727. });
  10728. /**
  10729. * @docsNotRequired
  10730. */
  10731. ActivatedRouteSnapshot.prototype.toString = function () {
  10732. var url = this.url.map(function (s) { return s.toString(); }).join('/');
  10733. var matched = this._routeConfig ? this._routeConfig.path : '';
  10734. return "Route(url:'" + url + "', path:'" + matched + "')";
  10735. };
  10736. return ActivatedRouteSnapshot;
  10737. }());
  10738. /**
  10739. * @whatItDoes Represents the state of the router at a moment in time.
  10740. *
  10741. * @howToUse
  10742. *
  10743. * ```
  10744. * @Component({templateUrl:'template.html'})
  10745. * class MyComponent {
  10746. * constructor(router: Router) {
  10747. * const state: RouterState = router.routerState;
  10748. * const snapshot: RouterStateSnapshot = state.snapshot;
  10749. * const root: ActivatedRouteSnapshot = snapshot.root;
  10750. * const child = root.firstChild;
  10751. * const id: Observable<string> = child.params.map(p => p.id);
  10752. * //...
  10753. * }
  10754. * }
  10755. * ```
  10756. *
  10757. * @description
  10758. * RouterStateSnapshot is a tree of activated route snapshots. Every node in this tree knows about
  10759. * the "consumed" URL segments, the extracted parameters, and the resolved data.
  10760. *
  10761. * @stable
  10762. */
  10763. var RouterStateSnapshot = (function (_super) {
  10764. __extends(RouterStateSnapshot, _super);
  10765. /**
  10766. * @internal
  10767. */
  10768. function RouterStateSnapshot(
  10769. /** The url from which this snapshot was created */
  10770. url, root) {
  10771. _super.call(this, root);
  10772. this.url = url;
  10773. setRouterStateSnapshot(this, root);
  10774. }
  10775. RouterStateSnapshot.prototype.toString = function () { return serializeNode(this._root); };
  10776. return RouterStateSnapshot;
  10777. }(__WEBPACK_IMPORTED_MODULE_4__utils_tree__["a" /* Tree */]));
  10778. function setRouterStateSnapshot(state, node) {
  10779. node.value._routerState = state;
  10780. node.children.forEach(function (c) { return setRouterStateSnapshot(state, c); });
  10781. }
  10782. function serializeNode(node) {
  10783. var c = node.children.length > 0 ? " { " + node.children.map(serializeNode).join(", ") + " } " : '';
  10784. return "" + node.value + c;
  10785. }
  10786. /**
  10787. * The expectation is that the activate route is created with the right set of parameters.
  10788. * So we push new values into the observables only when they are not the initial values.
  10789. * And we detect that by checking if the snapshot field is set.
  10790. */
  10791. function advanceActivatedRoute(route) {
  10792. if (route.snapshot) {
  10793. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__utils_collection__["d" /* shallowEqual */])(route.snapshot.queryParams, route._futureSnapshot.queryParams)) {
  10794. route.queryParams.next(route._futureSnapshot.queryParams);
  10795. }
  10796. if (route.snapshot.fragment !== route._futureSnapshot.fragment) {
  10797. route.fragment.next(route._futureSnapshot.fragment);
  10798. }
  10799. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__utils_collection__["d" /* shallowEqual */])(route.snapshot.params, route._futureSnapshot.params)) {
  10800. route.params.next(route._futureSnapshot.params);
  10801. route.data.next(route._futureSnapshot.data);
  10802. }
  10803. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__utils_collection__["h" /* shallowEqualArrays */])(route.snapshot.url, route._futureSnapshot.url)) {
  10804. route.url.next(route._futureSnapshot.url);
  10805. }
  10806. route.snapshot = route._futureSnapshot;
  10807. }
  10808. else {
  10809. route.snapshot = route._futureSnapshot;
  10810. // this is for resolved data
  10811. route.data.next(route._futureSnapshot.data);
  10812. }
  10813. }
  10814. //# sourceMappingURL=router_state.js.map
  10815. /***/ },
  10816. /* 94 */
  10817. /***/ function(module, exports) {
  10818. module.exports = function(it, Constructor, name, forbiddenField){
  10819. if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){
  10820. throw TypeError(name + ': incorrect invocation!');
  10821. } return it;
  10822. };
  10823. /***/ },
  10824. /* 95 */
  10825. /***/ function(module, exports) {
  10826. module.exports = false;
  10827. /***/ },
  10828. /* 96 */
  10829. /***/ function(module, exports, __webpack_require__) {
  10830. // 19.1.2.14 / 15.2.3.14 Object.keys(O)
  10831. var $keys = __webpack_require__(377)
  10832. , enumBugKeys = __webpack_require__(238);
  10833. module.exports = Object.keys || function keys(O){
  10834. return $keys(O, enumBugKeys);
  10835. };
  10836. /***/ },
  10837. /* 97 */
  10838. /***/ function(module, exports, __webpack_require__) {
  10839. var redefine = __webpack_require__(37);
  10840. module.exports = function(target, src, safe){
  10841. for(var key in src)redefine(target, key, src[key], safe);
  10842. return target;
  10843. };
  10844. /***/ },
  10845. /* 98 */
  10846. /***/ function(module, exports, __webpack_require__) {
  10847. "use strict";
  10848. 'use strict';
  10849. var global = __webpack_require__(11)
  10850. , dP = __webpack_require__(17)
  10851. , DESCRIPTORS = __webpack_require__(21)
  10852. , SPECIES = __webpack_require__(14)('species');
  10853. module.exports = function(KEY){
  10854. var C = global[KEY];
  10855. if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {
  10856. configurable: true,
  10857. get: function(){ return this; }
  10858. });
  10859. };
  10860. /***/ },
  10861. /* 99 */
  10862. /***/ function(module, exports, __webpack_require__) {
  10863. var def = __webpack_require__(17).f
  10864. , has = __webpack_require__(32)
  10865. , TAG = __webpack_require__(14)('toStringTag');
  10866. module.exports = function(it, tag, stat){
  10867. if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});
  10868. };
  10869. /***/ },
  10870. /* 100 */
  10871. /***/ function(module, exports, __webpack_require__) {
  10872. "use strict";
  10873. "use strict";
  10874. var ArrayObservable_1 = __webpack_require__(63);
  10875. exports.of = ArrayObservable_1.ArrayObservable.of;
  10876. //# sourceMappingURL=of.js.map
  10877. /***/ },
  10878. /* 101 */
  10879. /***/ function(module, exports, __webpack_require__) {
  10880. "use strict";
  10881. "use strict";
  10882. var __extends = (this && this.__extends) || function (d, b) {
  10883. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  10884. function __() { this.constructor = d; }
  10885. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  10886. };
  10887. var OuterSubscriber_1 = __webpack_require__(6);
  10888. var subscribeToResult_1 = __webpack_require__(7);
  10889. /**
  10890. * Converts a higher-order Observable into a first-order Observable which
  10891. * concurrently delivers all values that are emitted on the inner Observables.
  10892. *
  10893. * <span class="informal">Flattens an Observable-of-Observables.</span>
  10894. *
  10895. * <img src="./img/mergeAll.png" width="100%">
  10896. *
  10897. * `mergeAll` subscribes to an Observable that emits Observables, also known as
  10898. * a higher-order Observable. Each time it observes one of these emitted inner
  10899. * Observables, it subscribes to that and delivers all the values from the
  10900. * inner Observable on the output Observable. The output Observable only
  10901. * completes once all inner Observables have completed. Any error delivered by
  10902. * a inner Observable will be immediately emitted on the output Observable.
  10903. *
  10904. * @example <caption>Spawn a new interval Observable for each click event, and blend their outputs as one Observable</caption>
  10905. * var clicks = Rx.Observable.fromEvent(document, 'click');
  10906. * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));
  10907. * var firstOrder = higherOrder.mergeAll();
  10908. * firstOrder.subscribe(x => console.log(x));
  10909. *
  10910. * @example <caption>Count from 0 to 9 every second for each click, but only allow 2 concurrent timers</caption>
  10911. * var clicks = Rx.Observable.fromEvent(document, 'click');
  10912. * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000).take(10));
  10913. * var firstOrder = higherOrder.mergeAll(2);
  10914. * firstOrder.subscribe(x => console.log(x));
  10915. *
  10916. * @see {@link combineAll}
  10917. * @see {@link concatAll}
  10918. * @see {@link exhaust}
  10919. * @see {@link merge}
  10920. * @see {@link mergeMap}
  10921. * @see {@link mergeMapTo}
  10922. * @see {@link mergeScan}
  10923. * @see {@link switch}
  10924. * @see {@link zipAll}
  10925. *
  10926. * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of inner
  10927. * Observables being subscribed to concurrently.
  10928. * @return {Observable} An Observable that emits values coming from all the
  10929. * inner Observables emitted by the source Observable.
  10930. * @method mergeAll
  10931. * @owner Observable
  10932. */
  10933. function mergeAll(concurrent) {
  10934. if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
  10935. return this.lift(new MergeAllOperator(concurrent));
  10936. }
  10937. exports.mergeAll = mergeAll;
  10938. var MergeAllOperator = (function () {
  10939. function MergeAllOperator(concurrent) {
  10940. this.concurrent = concurrent;
  10941. }
  10942. MergeAllOperator.prototype.call = function (observer, source) {
  10943. return source._subscribe(new MergeAllSubscriber(observer, this.concurrent));
  10944. };
  10945. return MergeAllOperator;
  10946. }());
  10947. exports.MergeAllOperator = MergeAllOperator;
  10948. /**
  10949. * We need this JSDoc comment for affecting ESDoc.
  10950. * @ignore
  10951. * @extends {Ignored}
  10952. */
  10953. var MergeAllSubscriber = (function (_super) {
  10954. __extends(MergeAllSubscriber, _super);
  10955. function MergeAllSubscriber(destination, concurrent) {
  10956. _super.call(this, destination);
  10957. this.concurrent = concurrent;
  10958. this.hasCompleted = false;
  10959. this.buffer = [];
  10960. this.active = 0;
  10961. }
  10962. MergeAllSubscriber.prototype._next = function (observable) {
  10963. if (this.active < this.concurrent) {
  10964. this.active++;
  10965. this.add(subscribeToResult_1.subscribeToResult(this, observable));
  10966. }
  10967. else {
  10968. this.buffer.push(observable);
  10969. }
  10970. };
  10971. MergeAllSubscriber.prototype._complete = function () {
  10972. this.hasCompleted = true;
  10973. if (this.active === 0 && this.buffer.length === 0) {
  10974. this.destination.complete();
  10975. }
  10976. };
  10977. MergeAllSubscriber.prototype.notifyComplete = function (innerSub) {
  10978. var buffer = this.buffer;
  10979. this.remove(innerSub);
  10980. this.active--;
  10981. if (buffer.length > 0) {
  10982. this._next(buffer.shift());
  10983. }
  10984. else if (this.active === 0 && this.hasCompleted) {
  10985. this.destination.complete();
  10986. }
  10987. };
  10988. return MergeAllSubscriber;
  10989. }(OuterSubscriber_1.OuterSubscriber));
  10990. exports.MergeAllSubscriber = MergeAllSubscriber;
  10991. //# sourceMappingURL=mergeAll.js.map
  10992. /***/ },
  10993. /* 102 */
  10994. /***/ function(module, exports, __webpack_require__) {
  10995. "use strict";
  10996. "use strict";
  10997. var MulticastObservable_1 = __webpack_require__(394);
  10998. var ConnectableObservable_1 = __webpack_require__(256);
  10999. /**
  11000. * Returns an Observable that emits the results of invoking a specified selector on items
  11001. * emitted by a ConnectableObservable that shares a single subscription to the underlying stream.
  11002. *
  11003. * <img src="./img/multicast.png" width="100%">
  11004. *
  11005. * @param {Function|Subject} Factory function to create an intermediate subject through
  11006. * which the source sequence's elements will be multicast to the selector function
  11007. * or Subject to push source elements into.
  11008. * @param {Function} Optional selector function that can use the multicasted source stream
  11009. * as many times as needed, without causing multiple subscriptions to the source stream.
  11010. * Subscribers to the given source will receive all notifications of the source from the
  11011. * time of the subscription forward.
  11012. * @return {Observable} an Observable that emits the results of invoking the selector
  11013. * on the items emitted by a `ConnectableObservable` that shares a single subscription to
  11014. * the underlying stream.
  11015. * @method multicast
  11016. * @owner Observable
  11017. */
  11018. function multicast(subjectOrSubjectFactory, selector) {
  11019. var subjectFactory;
  11020. if (typeof subjectOrSubjectFactory === 'function') {
  11021. subjectFactory = subjectOrSubjectFactory;
  11022. }
  11023. else {
  11024. subjectFactory = function subjectFactory() {
  11025. return subjectOrSubjectFactory;
  11026. };
  11027. }
  11028. return !selector ?
  11029. new ConnectableObservable_1.ConnectableObservable(this, subjectFactory) :
  11030. new MulticastObservable_1.MulticastObservable(this, subjectFactory, selector);
  11031. }
  11032. exports.multicast = multicast;
  11033. //# sourceMappingURL=multicast.js.map
  11034. /***/ },
  11035. /* 103 */
  11036. /***/ function(module, exports, __webpack_require__) {
  11037. "use strict";
  11038. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_location__ = __webpack_require__(434);
  11039. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_localization__ = __webpack_require__(128);
  11040. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_common_module__ = __webpack_require__(426);
  11041. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_directives_index__ = __webpack_require__(269);
  11042. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_pipes_index__ = __webpack_require__(273);
  11043. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "PlatformLocation", function() { return __WEBPACK_IMPORTED_MODULE_0__src_location__["a"]; });
  11044. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "LocationStrategy", function() { return __WEBPACK_IMPORTED_MODULE_0__src_location__["b"]; });
  11045. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "APP_BASE_HREF", function() { return __WEBPACK_IMPORTED_MODULE_0__src_location__["f"]; });
  11046. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "HashLocationStrategy", function() { return __WEBPACK_IMPORTED_MODULE_0__src_location__["d"]; });
  11047. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "PathLocationStrategy", function() { return __WEBPACK_IMPORTED_MODULE_0__src_location__["c"]; });
  11048. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Location", function() { return __WEBPACK_IMPORTED_MODULE_0__src_location__["e"]; });
  11049. /* harmony reexport (binding) */ __webpack_require__.d(exports, "NgLocalization", function() { return __WEBPACK_IMPORTED_MODULE_1__src_localization__["b"]; });
  11050. /* harmony reexport (binding) */ __webpack_require__.d(exports, "CommonModule", function() { return __WEBPACK_IMPORTED_MODULE_2__src_common_module__["a"]; });
  11051. /* harmony reexport (binding) */ __webpack_require__.d(exports, "NgClass", function() { return __WEBPACK_IMPORTED_MODULE_3__src_directives_index__["b"]; });
  11052. /* harmony reexport (binding) */ __webpack_require__.d(exports, "NgFor", function() { return __WEBPACK_IMPORTED_MODULE_3__src_directives_index__["c"]; });
  11053. /* harmony reexport (binding) */ __webpack_require__.d(exports, "NgIf", function() { return __WEBPACK_IMPORTED_MODULE_3__src_directives_index__["d"]; });
  11054. /* harmony reexport (binding) */ __webpack_require__.d(exports, "NgPlural", function() { return __WEBPACK_IMPORTED_MODULE_3__src_directives_index__["e"]; });
  11055. /* harmony reexport (binding) */ __webpack_require__.d(exports, "NgPluralCase", function() { return __WEBPACK_IMPORTED_MODULE_3__src_directives_index__["f"]; });
  11056. /* harmony reexport (binding) */ __webpack_require__.d(exports, "NgStyle", function() { return __WEBPACK_IMPORTED_MODULE_3__src_directives_index__["g"]; });
  11057. /* harmony reexport (binding) */ __webpack_require__.d(exports, "NgSwitch", function() { return __WEBPACK_IMPORTED_MODULE_3__src_directives_index__["h"]; });
  11058. /* harmony reexport (binding) */ __webpack_require__.d(exports, "NgSwitchCase", function() { return __WEBPACK_IMPORTED_MODULE_3__src_directives_index__["i"]; });
  11059. /* harmony reexport (binding) */ __webpack_require__.d(exports, "NgSwitchDefault", function() { return __WEBPACK_IMPORTED_MODULE_3__src_directives_index__["j"]; });
  11060. /* harmony reexport (binding) */ __webpack_require__.d(exports, "NgTemplateOutlet", function() { return __WEBPACK_IMPORTED_MODULE_3__src_directives_index__["k"]; });
  11061. /* harmony reexport (binding) */ __webpack_require__.d(exports, "LowerCasePipe", function() { return __WEBPACK_IMPORTED_MODULE_4__src_pipes_index__["b"]; });
  11062. /* harmony reexport (binding) */ __webpack_require__.d(exports, "DatePipe", function() { return __WEBPACK_IMPORTED_MODULE_4__src_pipes_index__["c"]; });
  11063. /* harmony reexport (binding) */ __webpack_require__.d(exports, "I18nPluralPipe", function() { return __WEBPACK_IMPORTED_MODULE_4__src_pipes_index__["d"]; });
  11064. /* harmony reexport (binding) */ __webpack_require__.d(exports, "I18nSelectPipe", function() { return __WEBPACK_IMPORTED_MODULE_4__src_pipes_index__["e"]; });
  11065. /* harmony reexport (binding) */ __webpack_require__.d(exports, "JsonPipe", function() { return __WEBPACK_IMPORTED_MODULE_4__src_pipes_index__["f"]; });
  11066. /* harmony reexport (binding) */ __webpack_require__.d(exports, "AsyncPipe", function() { return __WEBPACK_IMPORTED_MODULE_4__src_pipes_index__["g"]; });
  11067. /* harmony reexport (binding) */ __webpack_require__.d(exports, "CurrencyPipe", function() { return __WEBPACK_IMPORTED_MODULE_4__src_pipes_index__["h"]; });
  11068. /* harmony reexport (binding) */ __webpack_require__.d(exports, "DecimalPipe", function() { return __WEBPACK_IMPORTED_MODULE_4__src_pipes_index__["i"]; });
  11069. /* harmony reexport (binding) */ __webpack_require__.d(exports, "PercentPipe", function() { return __WEBPACK_IMPORTED_MODULE_4__src_pipes_index__["j"]; });
  11070. /* harmony reexport (binding) */ __webpack_require__.d(exports, "SlicePipe", function() { return __WEBPACK_IMPORTED_MODULE_4__src_pipes_index__["k"]; });
  11071. /* harmony reexport (binding) */ __webpack_require__.d(exports, "UpperCasePipe", function() { return __WEBPACK_IMPORTED_MODULE_4__src_pipes_index__["l"]; });
  11072. /**
  11073. * @license
  11074. * Copyright Google Inc. All Rights Reserved.
  11075. *
  11076. * Use of this source code is governed by an MIT-style license that can be
  11077. * found in the LICENSE file at https://angular.io/license
  11078. */
  11079. /**
  11080. * @module
  11081. * @description
  11082. * Entry point for all public APIs of the common package.
  11083. */
  11084. //# sourceMappingURL=index.js.map
  11085. /***/ },
  11086. /* 104 */
  11087. /***/ function(module, exports, __webpack_require__) {
  11088. "use strict";
  11089. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  11090. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__identifiers__ = __webpack_require__(19);
  11091. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return CompilerConfig; });
  11092. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return RenderTypes; });
  11093. /* unused harmony export DefaultRenderTypes */
  11094. /**
  11095. * @license
  11096. * Copyright Google Inc. All Rights Reserved.
  11097. *
  11098. * Use of this source code is governed by an MIT-style license that can be
  11099. * found in the LICENSE file at https://angular.io/license
  11100. */
  11101. function unimplemented() {
  11102. throw new Error('unimplemented');
  11103. }
  11104. var CompilerConfig = (function () {
  11105. function CompilerConfig(_a) {
  11106. var _b = _a === void 0 ? {} : _a, _c = _b.renderTypes, renderTypes = _c === void 0 ? new DefaultRenderTypes() : _c, _d = _b.defaultEncapsulation, defaultEncapsulation = _d === void 0 ? __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"].Emulated : _d, genDebugInfo = _b.genDebugInfo, logBindingUpdate = _b.logBindingUpdate, _e = _b.useJit, useJit = _e === void 0 ? true : _e;
  11107. this.renderTypes = renderTypes;
  11108. this.defaultEncapsulation = defaultEncapsulation;
  11109. this._genDebugInfo = genDebugInfo;
  11110. this._logBindingUpdate = logBindingUpdate;
  11111. this.useJit = useJit;
  11112. }
  11113. Object.defineProperty(CompilerConfig.prototype, "genDebugInfo", {
  11114. get: function () {
  11115. return this._genDebugInfo === void 0 ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["isDevMode"])() : this._genDebugInfo;
  11116. },
  11117. enumerable: true,
  11118. configurable: true
  11119. });
  11120. Object.defineProperty(CompilerConfig.prototype, "logBindingUpdate", {
  11121. get: function () {
  11122. return this._logBindingUpdate === void 0 ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["isDevMode"])() : this._logBindingUpdate;
  11123. },
  11124. enumerable: true,
  11125. configurable: true
  11126. });
  11127. return CompilerConfig;
  11128. }());
  11129. /**
  11130. * ServiceIdentifiers used for the renderer.
  11131. * Can be replaced to specialize the generated output to a specific renderer
  11132. * to help tree shaking.
  11133. */
  11134. var RenderTypes = (function () {
  11135. function RenderTypes() {
  11136. }
  11137. Object.defineProperty(RenderTypes.prototype, "renderer", {
  11138. get: function () { return unimplemented(); },
  11139. enumerable: true,
  11140. configurable: true
  11141. });
  11142. Object.defineProperty(RenderTypes.prototype, "renderText", {
  11143. get: function () { return unimplemented(); },
  11144. enumerable: true,
  11145. configurable: true
  11146. });
  11147. Object.defineProperty(RenderTypes.prototype, "renderElement", {
  11148. get: function () { return unimplemented(); },
  11149. enumerable: true,
  11150. configurable: true
  11151. });
  11152. Object.defineProperty(RenderTypes.prototype, "renderComment", {
  11153. get: function () { return unimplemented(); },
  11154. enumerable: true,
  11155. configurable: true
  11156. });
  11157. Object.defineProperty(RenderTypes.prototype, "renderNode", {
  11158. get: function () { return unimplemented(); },
  11159. enumerable: true,
  11160. configurable: true
  11161. });
  11162. Object.defineProperty(RenderTypes.prototype, "renderEvent", {
  11163. get: function () { return unimplemented(); },
  11164. enumerable: true,
  11165. configurable: true
  11166. });
  11167. return RenderTypes;
  11168. }());
  11169. var DefaultRenderTypes = (function () {
  11170. function DefaultRenderTypes() {
  11171. this.renderText = null;
  11172. this.renderElement = null;
  11173. this.renderComment = null;
  11174. this.renderNode = null;
  11175. this.renderEvent = null;
  11176. }
  11177. Object.defineProperty(DefaultRenderTypes.prototype, "renderer", {
  11178. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_1__identifiers__["b" /* Identifiers */].Renderer); },
  11179. enumerable: true,
  11180. configurable: true
  11181. });
  11182. ;
  11183. return DefaultRenderTypes;
  11184. }());
  11185. //# sourceMappingURL=config.js.map
  11186. /***/ },
  11187. /* 105 */
  11188. /***/ function(module, exports, __webpack_require__) {
  11189. "use strict";
  11190. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ElementSchemaRegistry; });
  11191. /**
  11192. * @license
  11193. * Copyright Google Inc. All Rights Reserved.
  11194. *
  11195. * Use of this source code is governed by an MIT-style license that can be
  11196. * found in the LICENSE file at https://angular.io/license
  11197. */
  11198. var ElementSchemaRegistry = (function () {
  11199. function ElementSchemaRegistry() {
  11200. }
  11201. return ElementSchemaRegistry;
  11202. }());
  11203. //# sourceMappingURL=element_schema_registry.js.map
  11204. /***/ },
  11205. /* 106 */
  11206. /***/ function(module, exports, __webpack_require__) {
  11207. "use strict";
  11208. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  11209. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(4);
  11210. /* unused harmony export createUrlResolverWithoutPackagePrefix */
  11211. /* harmony export (immutable) */ exports["d"] = createOfflineCompileUrlResolver;
  11212. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return DEFAULT_PACKAGE_URL_PROVIDER; });
  11213. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return UrlResolver; });
  11214. /* harmony export (immutable) */ exports["b"] = getUrlScheme;
  11215. /**
  11216. * @license
  11217. * Copyright Google Inc. All Rights Reserved.
  11218. *
  11219. * Use of this source code is governed by an MIT-style license that can be
  11220. * found in the LICENSE file at https://angular.io/license
  11221. */
  11222. var _ASSET_SCHEME = 'asset:';
  11223. /**
  11224. * Create a {@link UrlResolver} with no package prefix.
  11225. */
  11226. function createUrlResolverWithoutPackagePrefix() {
  11227. return new UrlResolver();
  11228. }
  11229. function createOfflineCompileUrlResolver() {
  11230. return new UrlResolver(_ASSET_SCHEME);
  11231. }
  11232. /**
  11233. * A default provider for {@link PACKAGE_ROOT_URL} that maps to '/'.
  11234. */
  11235. var DEFAULT_PACKAGE_URL_PROVIDER = {
  11236. provide: __WEBPACK_IMPORTED_MODULE_0__angular_core__["PACKAGE_ROOT_URL"],
  11237. useValue: '/'
  11238. };
  11239. /**
  11240. * Used by the {@link Compiler} when resolving HTML and CSS template URLs.
  11241. *
  11242. * This class can be overridden by the application developer to create custom behavior.
  11243. *
  11244. * See {@link Compiler}
  11245. *
  11246. * ## Example
  11247. *
  11248. * {@example compiler/ts/url_resolver/url_resolver.ts region='url_resolver'}
  11249. *
  11250. * @security When compiling templates at runtime, you must
  11251. * ensure that the entire template comes from a trusted source.
  11252. * Attacker-controlled data introduced by a template could expose your
  11253. * application to XSS risks. For more detail, see the [Security Guide](http://g.co/ng/security).
  11254. */
  11255. var UrlResolver = (function () {
  11256. function UrlResolver(_packagePrefix) {
  11257. if (_packagePrefix === void 0) { _packagePrefix = null; }
  11258. this._packagePrefix = _packagePrefix;
  11259. }
  11260. /**
  11261. * Resolves the `url` given the `baseUrl`:
  11262. * - when the `url` is null, the `baseUrl` is returned,
  11263. * - if `url` is relative ('path/to/here', './path/to/here'), the resolved url is a combination of
  11264. * `baseUrl` and `url`,
  11265. * - if `url` is absolute (it has a scheme: 'http://', 'https://' or start with '/'), the `url` is
  11266. * returned as is (ignoring the `baseUrl`)
  11267. */
  11268. UrlResolver.prototype.resolve = function (baseUrl, url) {
  11269. var resolvedUrl = url;
  11270. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(baseUrl) && baseUrl.length > 0) {
  11271. resolvedUrl = _resolveUrl(baseUrl, resolvedUrl);
  11272. }
  11273. var resolvedParts = _split(resolvedUrl);
  11274. var prefix = this._packagePrefix;
  11275. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(prefix) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(resolvedParts) &&
  11276. resolvedParts[_ComponentIndex.Scheme] == 'package') {
  11277. var path = resolvedParts[_ComponentIndex.Path];
  11278. if (this._packagePrefix === _ASSET_SCHEME) {
  11279. var pathSegements = path.split(/\//);
  11280. resolvedUrl = "asset:" + pathSegements[0] + "/lib/" + pathSegements.slice(1).join('/');
  11281. }
  11282. else {
  11283. prefix = __WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* StringWrapper */].stripRight(prefix, '/');
  11284. path = __WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* StringWrapper */].stripLeft(path, '/');
  11285. return prefix + "/" + path;
  11286. }
  11287. }
  11288. return resolvedUrl;
  11289. };
  11290. UrlResolver.decorators = [
  11291. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  11292. ];
  11293. /** @nocollapse */
  11294. UrlResolver.ctorParameters = [
  11295. { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"], args: [__WEBPACK_IMPORTED_MODULE_0__angular_core__["PACKAGE_ROOT_URL"],] },] },
  11296. ];
  11297. return UrlResolver;
  11298. }());
  11299. /**
  11300. * Extract the scheme of a URL.
  11301. */
  11302. function getUrlScheme(url) {
  11303. var match = _split(url);
  11304. return (match && match[_ComponentIndex.Scheme]) || '';
  11305. }
  11306. // The code below is adapted from Traceur:
  11307. // https://github.com/google/traceur-compiler/blob/9511c1dafa972bf0de1202a8a863bad02f0f95a8/src/runtime/url.js
  11308. /**
  11309. * Builds a URI string from already-encoded parts.
  11310. *
  11311. * No encoding is performed. Any component may be omitted as either null or
  11312. * undefined.
  11313. *
  11314. * @param opt_scheme The scheme such as 'http'.
  11315. * @param opt_userInfo The user name before the '@'.
  11316. * @param opt_domain The domain such as 'www.google.com', already
  11317. * URI-encoded.
  11318. * @param opt_port The port number.
  11319. * @param opt_path The path, already URI-encoded. If it is not
  11320. * empty, it must begin with a slash.
  11321. * @param opt_queryData The URI-encoded query data.
  11322. * @param opt_fragment The URI-encoded fragment identifier.
  11323. * @return The fully combined URI.
  11324. */
  11325. function _buildFromEncodedParts(opt_scheme, opt_userInfo, opt_domain, opt_port, opt_path, opt_queryData, opt_fragment) {
  11326. var out = [];
  11327. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(opt_scheme)) {
  11328. out.push(opt_scheme + ':');
  11329. }
  11330. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(opt_domain)) {
  11331. out.push('//');
  11332. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(opt_userInfo)) {
  11333. out.push(opt_userInfo + '@');
  11334. }
  11335. out.push(opt_domain);
  11336. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(opt_port)) {
  11337. out.push(':' + opt_port);
  11338. }
  11339. }
  11340. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(opt_path)) {
  11341. out.push(opt_path);
  11342. }
  11343. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(opt_queryData)) {
  11344. out.push('?' + opt_queryData);
  11345. }
  11346. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(opt_fragment)) {
  11347. out.push('#' + opt_fragment);
  11348. }
  11349. return out.join('');
  11350. }
  11351. /**
  11352. * A regular expression for breaking a URI into its component parts.
  11353. *
  11354. * {@link http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#RFC2234} says
  11355. * As the "first-match-wins" algorithm is identical to the "greedy"
  11356. * disambiguation method used by POSIX regular expressions, it is natural and
  11357. * commonplace to use a regular expression for parsing the potential five
  11358. * components of a URI reference.
  11359. *
  11360. * The following line is the regular expression for breaking-down a
  11361. * well-formed URI reference into its components.
  11362. *
  11363. * <pre>
  11364. * ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?
  11365. * 12 3 4 5 6 7 8 9
  11366. * </pre>
  11367. *
  11368. * The numbers in the second line above are only to assist readability; they
  11369. * indicate the reference points for each subexpression (i.e., each paired
  11370. * parenthesis). We refer to the value matched for subexpression <n> as $<n>.
  11371. * For example, matching the above expression to
  11372. * <pre>
  11373. * http://www.ics.uci.edu/pub/ietf/uri/#Related
  11374. * </pre>
  11375. * results in the following subexpression matches:
  11376. * <pre>
  11377. * $1 = http:
  11378. * $2 = http
  11379. * $3 = //www.ics.uci.edu
  11380. * $4 = www.ics.uci.edu
  11381. * $5 = /pub/ietf/uri/
  11382. * $6 = <undefined>
  11383. * $7 = <undefined>
  11384. * $8 = #Related
  11385. * $9 = Related
  11386. * </pre>
  11387. * where <undefined> indicates that the component is not present, as is the
  11388. * case for the query component in the above example. Therefore, we can
  11389. * determine the value of the five components as
  11390. * <pre>
  11391. * scheme = $2
  11392. * authority = $4
  11393. * path = $5
  11394. * query = $7
  11395. * fragment = $9
  11396. * </pre>
  11397. *
  11398. * The regular expression has been modified slightly to expose the
  11399. * userInfo, domain, and port separately from the authority.
  11400. * The modified version yields
  11401. * <pre>
  11402. * $1 = http scheme
  11403. * $2 = <undefined> userInfo -\
  11404. * $3 = www.ics.uci.edu domain | authority
  11405. * $4 = <undefined> port -/
  11406. * $5 = /pub/ietf/uri/ path
  11407. * $6 = <undefined> query without ?
  11408. * $7 = Related fragment without #
  11409. * </pre>
  11410. * @type {!RegExp}
  11411. * @internal
  11412. */
  11413. var _splitRe = new RegExp('^' +
  11414. '(?:' +
  11415. '([^:/?#.]+)' +
  11416. // used by other URL parts such as :,
  11417. // ?, /, #, and .
  11418. ':)?' +
  11419. '(?://' +
  11420. '(?:([^/?#]*)@)?' +
  11421. '([\\w\\d\\-\\u0100-\\uffff.%]*)' +
  11422. // digits, dashes, dots, percent
  11423. // escapes, and unicode characters.
  11424. '(?::([0-9]+))?' +
  11425. ')?' +
  11426. '([^?#]+)?' +
  11427. '(?:\\?([^#]*))?' +
  11428. '(?:#(.*))?' +
  11429. '$');
  11430. /**
  11431. * The index of each URI component in the return value of goog.uri.utils.split.
  11432. * @enum {number}
  11433. */
  11434. var _ComponentIndex;
  11435. (function (_ComponentIndex) {
  11436. _ComponentIndex[_ComponentIndex["Scheme"] = 1] = "Scheme";
  11437. _ComponentIndex[_ComponentIndex["UserInfo"] = 2] = "UserInfo";
  11438. _ComponentIndex[_ComponentIndex["Domain"] = 3] = "Domain";
  11439. _ComponentIndex[_ComponentIndex["Port"] = 4] = "Port";
  11440. _ComponentIndex[_ComponentIndex["Path"] = 5] = "Path";
  11441. _ComponentIndex[_ComponentIndex["QueryData"] = 6] = "QueryData";
  11442. _ComponentIndex[_ComponentIndex["Fragment"] = 7] = "Fragment";
  11443. })(_ComponentIndex || (_ComponentIndex = {}));
  11444. /**
  11445. * Splits a URI into its component parts.
  11446. *
  11447. * Each component can be accessed via the component indices; for example:
  11448. * <pre>
  11449. * goog.uri.utils.split(someStr)[goog.uri.utils.CompontentIndex.QUERY_DATA];
  11450. * </pre>
  11451. *
  11452. * @param uri The URI string to examine.
  11453. * @return Each component still URI-encoded.
  11454. * Each component that is present will contain the encoded value, whereas
  11455. * components that are not present will be undefined or empty, depending
  11456. * on the browser's regular expression implementation. Never null, since
  11457. * arbitrary strings may still look like path names.
  11458. */
  11459. function _split(uri) {
  11460. return uri.match(_splitRe);
  11461. }
  11462. /**
  11463. * Removes dot segments in given path component, as described in
  11464. * RFC 3986, section 5.2.4.
  11465. *
  11466. * @param path A non-empty path component.
  11467. * @return Path component with removed dot segments.
  11468. */
  11469. function _removeDotSegments(path) {
  11470. if (path == '/')
  11471. return '/';
  11472. var leadingSlash = path[0] == '/' ? '/' : '';
  11473. var trailingSlash = path[path.length - 1] === '/' ? '/' : '';
  11474. var segments = path.split('/');
  11475. var out = [];
  11476. var up = 0;
  11477. for (var pos = 0; pos < segments.length; pos++) {
  11478. var segment = segments[pos];
  11479. switch (segment) {
  11480. case '':
  11481. case '.':
  11482. break;
  11483. case '..':
  11484. if (out.length > 0) {
  11485. out.pop();
  11486. }
  11487. else {
  11488. up++;
  11489. }
  11490. break;
  11491. default:
  11492. out.push(segment);
  11493. }
  11494. }
  11495. if (leadingSlash == '') {
  11496. while (up-- > 0) {
  11497. out.unshift('..');
  11498. }
  11499. if (out.length === 0)
  11500. out.push('.');
  11501. }
  11502. return leadingSlash + out.join('/') + trailingSlash;
  11503. }
  11504. /**
  11505. * Takes an array of the parts from split and canonicalizes the path part
  11506. * and then joins all the parts.
  11507. */
  11508. function _joinAndCanonicalizePath(parts) {
  11509. var path = parts[_ComponentIndex.Path];
  11510. path = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(path) ? '' : _removeDotSegments(path);
  11511. parts[_ComponentIndex.Path] = path;
  11512. return _buildFromEncodedParts(parts[_ComponentIndex.Scheme], parts[_ComponentIndex.UserInfo], parts[_ComponentIndex.Domain], parts[_ComponentIndex.Port], path, parts[_ComponentIndex.QueryData], parts[_ComponentIndex.Fragment]);
  11513. }
  11514. /**
  11515. * Resolves a URL.
  11516. * @param base The URL acting as the base URL.
  11517. * @param to The URL to resolve.
  11518. */
  11519. function _resolveUrl(base, url) {
  11520. var parts = _split(encodeURI(url));
  11521. var baseParts = _split(base);
  11522. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(parts[_ComponentIndex.Scheme])) {
  11523. return _joinAndCanonicalizePath(parts);
  11524. }
  11525. else {
  11526. parts[_ComponentIndex.Scheme] = baseParts[_ComponentIndex.Scheme];
  11527. }
  11528. for (var i = _ComponentIndex.Scheme; i <= _ComponentIndex.Port; i++) {
  11529. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(parts[i])) {
  11530. parts[i] = baseParts[i];
  11531. }
  11532. }
  11533. if (parts[_ComponentIndex.Path][0] == '/') {
  11534. return _joinAndCanonicalizePath(parts);
  11535. }
  11536. var path = baseParts[_ComponentIndex.Path];
  11537. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(path))
  11538. path = '/';
  11539. var index = path.lastIndexOf('/');
  11540. path = path.substring(0, index + 1) + parts[_ComponentIndex.Path];
  11541. parts[_ComponentIndex.Path] = path;
  11542. return _joinAndCanonicalizePath(parts);
  11543. }
  11544. //# sourceMappingURL=url_resolver.js.map
  11545. /***/ },
  11546. /* 107 */
  11547. /***/ function(module, exports, __webpack_require__) {
  11548. "use strict";
  11549. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(4);
  11550. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__identifiers__ = __webpack_require__(19);
  11551. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__output_output_ast__ = __webpack_require__(12);
  11552. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(29);
  11553. /* harmony export (immutable) */ exports["a"] = getPropertyInView;
  11554. /* harmony export (immutable) */ exports["b"] = injectFromViewParentInjector;
  11555. /* harmony export (immutable) */ exports["d"] = getViewFactoryName;
  11556. /* harmony export (immutable) */ exports["e"] = createFlatArray;
  11557. /* harmony export (immutable) */ exports["c"] = createPureProxy;
  11558. /**
  11559. * @license
  11560. * Copyright Google Inc. All Rights Reserved.
  11561. *
  11562. * Use of this source code is governed by an MIT-style license that can be
  11563. * found in the LICENSE file at https://angular.io/license
  11564. */
  11565. function getPropertyInView(property, callingView, definedView) {
  11566. if (callingView === definedView) {
  11567. return property;
  11568. }
  11569. else {
  11570. var viewProp = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["n" /* THIS_EXPR */];
  11571. var currView = callingView;
  11572. while (currView !== definedView && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(currView.declarationElement.view)) {
  11573. currView = currView.declarationElement.view;
  11574. viewProp = viewProp.prop('parent');
  11575. }
  11576. if (currView !== definedView) {
  11577. throw new Error("Internal error: Could not calculate a property in a parent view: " + property);
  11578. }
  11579. if (property instanceof __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["o" /* ReadPropExpr */]) {
  11580. var readPropExpr_1 = property;
  11581. // Note: Don't cast for members of the AppView base class...
  11582. if (definedView.fields.some(function (field) { return field.name == readPropExpr_1.name; }) ||
  11583. definedView.getters.some(function (field) { return field.name == readPropExpr_1.name; })) {
  11584. viewProp = viewProp.cast(definedView.classType);
  11585. }
  11586. }
  11587. return __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["p" /* replaceVarInExpression */](__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["n" /* THIS_EXPR */].name, viewProp, property);
  11588. }
  11589. }
  11590. function injectFromViewParentInjector(token, optional) {
  11591. var args = [__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["e" /* createDiTokenExpression */])(token)];
  11592. if (optional) {
  11593. args.push(__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["h" /* NULL_EXPR */]);
  11594. }
  11595. return __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["n" /* THIS_EXPR */].prop('parentInjector').callMethod('get', args);
  11596. }
  11597. function getViewFactoryName(component, embeddedTemplateIndex) {
  11598. return "viewFactory_" + component.type.name + embeddedTemplateIndex;
  11599. }
  11600. function createFlatArray(expressions) {
  11601. var lastNonArrayExpressions = [];
  11602. var result = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["g" /* literalArr */]([]);
  11603. for (var i = 0; i < expressions.length; i++) {
  11604. var expr = expressions[i];
  11605. if (expr.type instanceof __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["q" /* ArrayType */]) {
  11606. if (lastNonArrayExpressions.length > 0) {
  11607. result =
  11608. result.callMethod(__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["r" /* BuiltinMethod */].ConcatArray, [__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["g" /* literalArr */](lastNonArrayExpressions)]);
  11609. lastNonArrayExpressions = [];
  11610. }
  11611. result = result.callMethod(__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["r" /* BuiltinMethod */].ConcatArray, [expr]);
  11612. }
  11613. else {
  11614. lastNonArrayExpressions.push(expr);
  11615. }
  11616. }
  11617. if (lastNonArrayExpressions.length > 0) {
  11618. result =
  11619. result.callMethod(__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["r" /* BuiltinMethod */].ConcatArray, [__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["g" /* literalArr */](lastNonArrayExpressions)]);
  11620. }
  11621. return result;
  11622. }
  11623. function createPureProxy(fn, argCount, pureProxyProp, view) {
  11624. view.fields.push(new __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["s" /* ClassField */](pureProxyProp.name, null));
  11625. var pureProxyId = argCount < __WEBPACK_IMPORTED_MODULE_1__identifiers__["b" /* Identifiers */].pureProxies.length ? __WEBPACK_IMPORTED_MODULE_1__identifiers__["b" /* Identifiers */].pureProxies[argCount] : null;
  11626. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(pureProxyId)) {
  11627. throw new Error("Unsupported number of argument for pure functions: " + argCount);
  11628. }
  11629. view.createMethod.addStmt(__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["n" /* THIS_EXPR */].prop(pureProxyProp.name)
  11630. .set(__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__identifiers__["d" /* resolveIdentifier */])(pureProxyId)).callFn([fn]))
  11631. .toStmt());
  11632. }
  11633. //# sourceMappingURL=util.js.map
  11634. /***/ },
  11635. /* 108 */
  11636. /***/ function(module, exports, __webpack_require__) {
  11637. "use strict";
  11638. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__di__ = __webpack_require__(39);
  11639. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_errors__ = __webpack_require__(35);
  11640. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(5);
  11641. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return ComponentStillLoadingError; });
  11642. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return ModuleWithComponentFactories; });
  11643. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return Compiler; });
  11644. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return COMPILER_OPTIONS; });
  11645. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return CompilerFactory; });
  11646. /**
  11647. * @license
  11648. * Copyright Google Inc. All Rights Reserved.
  11649. *
  11650. * Use of this source code is governed by an MIT-style license that can be
  11651. * found in the LICENSE file at https://angular.io/license
  11652. */
  11653. var __extends = (this && this.__extends) || function (d, b) {
  11654. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  11655. function __() { this.constructor = d; }
  11656. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  11657. };
  11658. /**
  11659. * Indicates that a component is still being loaded in a synchronous compile.
  11660. *
  11661. * @stable
  11662. */
  11663. var ComponentStillLoadingError = (function (_super) {
  11664. __extends(ComponentStillLoadingError, _super);
  11665. function ComponentStillLoadingError(compType) {
  11666. _super.call(this, "Can't compile synchronously as " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* stringify */])(compType) + " is still being loaded!");
  11667. this.compType = compType;
  11668. }
  11669. return ComponentStillLoadingError;
  11670. }(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["b" /* BaseError */]));
  11671. /**
  11672. * Combination of NgModuleFactory and ComponentFactorys.
  11673. *
  11674. * @experimental
  11675. */
  11676. var ModuleWithComponentFactories = (function () {
  11677. function ModuleWithComponentFactories(ngModuleFactory, componentFactories) {
  11678. this.ngModuleFactory = ngModuleFactory;
  11679. this.componentFactories = componentFactories;
  11680. }
  11681. return ModuleWithComponentFactories;
  11682. }());
  11683. function _throwError() {
  11684. throw new Error("Runtime compiler is not loaded");
  11685. }
  11686. /**
  11687. * Low-level service for running the angular compiler during runtime
  11688. * to create {@link ComponentFactory}s, which
  11689. * can later be used to create and render a Component instance.
  11690. *
  11691. * Each `@NgModule` provides an own `Compiler` to its injector,
  11692. * that will use the directives/pipes of the ng module for compilation
  11693. * of components.
  11694. * @stable
  11695. */
  11696. var Compiler = (function () {
  11697. function Compiler() {
  11698. }
  11699. /**
  11700. * Compiles the given NgModule and all of its components. All templates of the components listed
  11701. * in `entryComponents`
  11702. * have to be inlined. Otherwise throws a {@link ComponentStillLoadingError}.
  11703. */
  11704. Compiler.prototype.compileModuleSync = function (moduleType) { throw _throwError(); };
  11705. /**
  11706. * Compiles the given NgModule and all of its components
  11707. */
  11708. Compiler.prototype.compileModuleAsync = function (moduleType) { throw _throwError(); };
  11709. /**
  11710. * Same as {@link compileModuleSync} but also creates ComponentFactories for all components.
  11711. */
  11712. Compiler.prototype.compileModuleAndAllComponentsSync = function (moduleType) {
  11713. throw _throwError();
  11714. };
  11715. /**
  11716. * Same as {@link compileModuleAsync} but also creates ComponentFactories for all components.
  11717. */
  11718. Compiler.prototype.compileModuleAndAllComponentsAsync = function (moduleType) {
  11719. throw _throwError();
  11720. };
  11721. /**
  11722. * Clears all caches.
  11723. */
  11724. Compiler.prototype.clearCache = function () { };
  11725. /**
  11726. * Clears the cache for the given component/ngModule.
  11727. */
  11728. Compiler.prototype.clearCacheFor = function (type) { };
  11729. return Compiler;
  11730. }());
  11731. /**
  11732. * Token to provide CompilerOptions in the platform injector.
  11733. *
  11734. * @experimental
  11735. */
  11736. var COMPILER_OPTIONS = new __WEBPACK_IMPORTED_MODULE_0__di__["a" /* OpaqueToken */]('compilerOptions');
  11737. /**
  11738. * A factory for creating a Compiler
  11739. *
  11740. * @experimental
  11741. */
  11742. var CompilerFactory = (function () {
  11743. function CompilerFactory() {
  11744. }
  11745. return CompilerFactory;
  11746. }());
  11747. //# sourceMappingURL=compiler.js.map
  11748. /***/ },
  11749. /* 109 */,
  11750. /* 110 */,
  11751. /* 111 */,
  11752. /* 112 */,
  11753. /* 113 */,
  11754. /* 114 */
  11755. /***/ function(module, exports, __webpack_require__) {
  11756. "use strict";
  11757. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_facade_collection__ = __webpack_require__(505);
  11758. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_facade_lang__ = __webpack_require__(36);
  11759. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Headers; });
  11760. /**
  11761. * @license
  11762. * Copyright Google Inc. All Rights Reserved.
  11763. *
  11764. * Use of this source code is governed by an MIT-style license that can be
  11765. * found in the LICENSE file at https://angular.io/license
  11766. */
  11767. /**
  11768. * Polyfill for [Headers](https://developer.mozilla.org/en-US/docs/Web/API/Headers/Headers), as
  11769. * specified in the [Fetch Spec](https://fetch.spec.whatwg.org/#headers-class).
  11770. *
  11771. * The only known difference between this `Headers` implementation and the spec is the
  11772. * lack of an `entries` method.
  11773. *
  11774. * ### Example ([live demo](http://plnkr.co/edit/MTdwT6?p=preview))
  11775. *
  11776. * ```
  11777. * import {Headers} from '@angular/http';
  11778. *
  11779. * var firstHeaders = new Headers();
  11780. * firstHeaders.append('Content-Type', 'image/jpeg');
  11781. * console.log(firstHeaders.get('Content-Type')) //'image/jpeg'
  11782. *
  11783. * // Create headers from Plain Old JavaScript Object
  11784. * var secondHeaders = new Headers({
  11785. * 'X-My-Custom-Header': 'Angular'
  11786. * });
  11787. * console.log(secondHeaders.get('X-My-Custom-Header')); //'Angular'
  11788. *
  11789. * var thirdHeaders = new Headers(secondHeaders);
  11790. * console.log(thirdHeaders.get('X-My-Custom-Header')); //'Angular'
  11791. * ```
  11792. *
  11793. * @experimental
  11794. */
  11795. var Headers = (function () {
  11796. function Headers(headers) {
  11797. var _this = this;
  11798. if (headers instanceof Headers) {
  11799. this._headersMap = new Map(headers._headersMap);
  11800. return;
  11801. }
  11802. this._headersMap = new Map();
  11803. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["b" /* isBlank */])(headers)) {
  11804. return;
  11805. }
  11806. // headers instanceof StringMap
  11807. __WEBPACK_IMPORTED_MODULE_0__src_facade_collection__["a" /* StringMapWrapper */].forEach(headers, function (v, k) {
  11808. _this._headersMap.set(normalize(k), __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__src_facade_collection__["b" /* isListLikeIterable */])(v) ? v : [v]);
  11809. });
  11810. }
  11811. /**
  11812. * Returns a new Headers instance from the given DOMString of Response Headers
  11813. */
  11814. Headers.fromResponseHeaderString = function (headersString) {
  11815. var headers = new Headers();
  11816. headersString.split('\n').forEach(function (line) {
  11817. var index = line.indexOf(':');
  11818. if (index > 0) {
  11819. var key = line.substring(0, index);
  11820. var value = line.substring(index + 1).trim();
  11821. headers.set(key, value);
  11822. }
  11823. });
  11824. return headers;
  11825. };
  11826. /**
  11827. * Appends a header to existing list of header values for a given header name.
  11828. */
  11829. Headers.prototype.append = function (name, value) {
  11830. name = normalize(name);
  11831. var mapName = this._headersMap.get(name);
  11832. var list = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__src_facade_collection__["b" /* isListLikeIterable */])(mapName) ? mapName : [];
  11833. list.push(value);
  11834. this._headersMap.set(name, list);
  11835. };
  11836. /**
  11837. * Deletes all header values for the given name.
  11838. */
  11839. Headers.prototype.delete = function (name) { this._headersMap.delete(normalize(name)); };
  11840. Headers.prototype.forEach = function (fn) {
  11841. this._headersMap.forEach(fn);
  11842. };
  11843. /**
  11844. * Returns first header that matches given name.
  11845. */
  11846. Headers.prototype.get = function (header) { return __WEBPACK_IMPORTED_MODULE_0__src_facade_collection__["c" /* ListWrapper */].first(this._headersMap.get(normalize(header))); };
  11847. /**
  11848. * Check for existence of header by given name.
  11849. */
  11850. Headers.prototype.has = function (header) { return this._headersMap.has(normalize(header)); };
  11851. /**
  11852. * Provides names of set headers
  11853. */
  11854. Headers.prototype.keys = function () { return __WEBPACK_IMPORTED_MODULE_0__src_facade_collection__["d" /* MapWrapper */].keys(this._headersMap); };
  11855. /**
  11856. * Sets or overrides header value for given name.
  11857. */
  11858. Headers.prototype.set = function (header, value) {
  11859. var list = [];
  11860. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__src_facade_collection__["b" /* isListLikeIterable */])(value)) {
  11861. var pushValue = value.join(',');
  11862. list.push(pushValue);
  11863. }
  11864. else {
  11865. list.push(value);
  11866. }
  11867. this._headersMap.set(normalize(header), list);
  11868. };
  11869. /**
  11870. * Returns values of all headers.
  11871. */
  11872. Headers.prototype.values = function () { return __WEBPACK_IMPORTED_MODULE_0__src_facade_collection__["d" /* MapWrapper */].values(this._headersMap); };
  11873. /**
  11874. * Returns string of all headers.
  11875. */
  11876. Headers.prototype.toJSON = function () {
  11877. var serializableHeaders = {};
  11878. this._headersMap.forEach(function (values, name) {
  11879. var list = [];
  11880. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__src_facade_collection__["e" /* iterateListLike */])(values, function (val /** TODO #9100 */) { return list = __WEBPACK_IMPORTED_MODULE_0__src_facade_collection__["c" /* ListWrapper */].concat(list, val.split(',')); });
  11881. serializableHeaders[normalize(name)] = list;
  11882. });
  11883. return serializableHeaders;
  11884. };
  11885. /**
  11886. * Returns list of header values for a given name.
  11887. */
  11888. Headers.prototype.getAll = function (header) {
  11889. var headers = this._headersMap.get(normalize(header));
  11890. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__src_facade_collection__["b" /* isListLikeIterable */])(headers) ? headers : [];
  11891. };
  11892. /**
  11893. * This method is not implemented.
  11894. */
  11895. Headers.prototype.entries = function () { throw new Error('"entries" method is not implemented on Headers class'); };
  11896. return Headers;
  11897. }());
  11898. // "HTTP character sets are identified by case-insensitive tokens"
  11899. // Spec at https://tools.ietf.org/html/rfc2616
  11900. // This implementation is same as NodeJS.
  11901. // see https://nodejs.org/dist/latest-v6.x/docs/api/http.html#http_message_headers
  11902. function normalize(name) {
  11903. return name.toLowerCase();
  11904. }
  11905. //# sourceMappingURL=headers.js.map
  11906. /***/ },
  11907. /* 115 */
  11908. /***/ function(module, exports, __webpack_require__) {
  11909. "use strict";
  11910. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ConnectionBackend; });
  11911. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return Connection; });
  11912. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return XSRFStrategy; });
  11913. /**
  11914. * @license
  11915. * Copyright Google Inc. All Rights Reserved.
  11916. *
  11917. * Use of this source code is governed by an MIT-style license that can be
  11918. * found in the LICENSE file at https://angular.io/license
  11919. */
  11920. /**
  11921. * Abstract class from which real backends are derived.
  11922. *
  11923. * The primary purpose of a `ConnectionBackend` is to create new connections to fulfill a given
  11924. * {@link Request}.
  11925. *
  11926. * @experimental
  11927. */
  11928. var ConnectionBackend = (function () {
  11929. function ConnectionBackend() {
  11930. }
  11931. return ConnectionBackend;
  11932. }());
  11933. /**
  11934. * Abstract class from which real connections are derived.
  11935. *
  11936. * @experimental
  11937. */
  11938. var Connection = (function () {
  11939. function Connection() {
  11940. }
  11941. return Connection;
  11942. }());
  11943. /**
  11944. * An XSRFStrategy configures XSRF protection (e.g. via headers) on an HTTP request.
  11945. *
  11946. * @experimental
  11947. */
  11948. var XSRFStrategy = (function () {
  11949. function XSRFStrategy() {
  11950. }
  11951. return XSRFStrategy;
  11952. }());
  11953. //# sourceMappingURL=interfaces.js.map
  11954. /***/ },
  11955. /* 116 */
  11956. /***/ function(module, exports, __webpack_require__) {
  11957. // 22.1.3.31 Array.prototype[@@unscopables]
  11958. var UNSCOPABLES = __webpack_require__(14)('unscopables')
  11959. , ArrayProto = Array.prototype;
  11960. if(ArrayProto[UNSCOPABLES] == undefined)__webpack_require__(40)(ArrayProto, UNSCOPABLES, {});
  11961. module.exports = function(key){
  11962. ArrayProto[UNSCOPABLES][key] = true;
  11963. };
  11964. /***/ },
  11965. /* 117 */
  11966. /***/ function(module, exports, __webpack_require__) {
  11967. var ctx = __webpack_require__(58)
  11968. , call = __webpack_require__(370)
  11969. , isArrayIter = __webpack_require__(243)
  11970. , anObject = __webpack_require__(8)
  11971. , toLength = __webpack_require__(26)
  11972. , getIterFn = __webpack_require__(255)
  11973. , BREAK = {}
  11974. , RETURN = {};
  11975. var exports = module.exports = function(iterable, entries, fn, that, ITERATOR){
  11976. var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)
  11977. , f = ctx(fn, that, entries ? 2 : 1)
  11978. , index = 0
  11979. , length, step, iterator, result;
  11980. if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');
  11981. // fast case for arrays with default iterator
  11982. if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){
  11983. result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
  11984. if(result === BREAK || result === RETURN)return result;
  11985. } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){
  11986. result = call(iterator, f, step.value, entries);
  11987. if(result === BREAK || result === RETURN)return result;
  11988. }
  11989. };
  11990. exports.BREAK = BREAK;
  11991. exports.RETURN = RETURN;
  11992. /***/ },
  11993. /* 118 */
  11994. /***/ function(module, exports, __webpack_require__) {
  11995. // fallback for non-array-like ES3 and non-enumerable old V8 strings
  11996. var cof = __webpack_require__(57);
  11997. module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){
  11998. return cof(it) == 'String' ? it.split('') : Object(it);
  11999. };
  12000. /***/ },
  12001. /* 119 */
  12002. /***/ function(module, exports) {
  12003. module.exports = {};
  12004. /***/ },
  12005. /* 120 */
  12006. /***/ function(module, exports, __webpack_require__) {
  12007. "use strict";
  12008. "use strict";
  12009. var Observable_1 = __webpack_require__(0);
  12010. /**
  12011. * Represents a push-based event or value that an {@link Observable} can emit.
  12012. * This class is particularly useful for operators that manage notifications,
  12013. * like {@link materialize}, {@link dematerialize}, {@link observeOn}, and
  12014. * others. Besides wrapping the actual delivered value, it also annotates it
  12015. * with metadata of, for instance, what type of push message it is (`next`,
  12016. * `error`, or `complete`).
  12017. *
  12018. * @see {@link materialize}
  12019. * @see {@link dematerialize}
  12020. * @see {@link observeOn}
  12021. *
  12022. * @class Notification<T>
  12023. */
  12024. var Notification = (function () {
  12025. function Notification(kind, value, exception) {
  12026. this.kind = kind;
  12027. this.value = value;
  12028. this.exception = exception;
  12029. this.hasValue = kind === 'N';
  12030. }
  12031. /**
  12032. * Delivers to the given `observer` the value wrapped by this Notification.
  12033. * @param {Observer} observer
  12034. * @return
  12035. */
  12036. Notification.prototype.observe = function (observer) {
  12037. switch (this.kind) {
  12038. case 'N':
  12039. return observer.next && observer.next(this.value);
  12040. case 'E':
  12041. return observer.error && observer.error(this.exception);
  12042. case 'C':
  12043. return observer.complete && observer.complete();
  12044. }
  12045. };
  12046. /**
  12047. * Given some {@link Observer} callbacks, deliver the value represented by the
  12048. * current Notification to the correctly corresponding callback.
  12049. * @param {function(value: T): void} next An Observer `next` callback.
  12050. * @param {function(err: any): void} [error] An Observer `error` callback.
  12051. * @param {function(): void} [complete] An Observer `complete` callback.
  12052. * @return {any}
  12053. */
  12054. Notification.prototype.do = function (next, error, complete) {
  12055. var kind = this.kind;
  12056. switch (kind) {
  12057. case 'N':
  12058. return next && next(this.value);
  12059. case 'E':
  12060. return error && error(this.exception);
  12061. case 'C':
  12062. return complete && complete();
  12063. }
  12064. };
  12065. /**
  12066. * Takes an Observer or its individual callback functions, and calls `observe`
  12067. * or `do` methods accordingly.
  12068. * @param {Observer|function(value: T): void} nextOrObserver An Observer or
  12069. * the `next` callback.
  12070. * @param {function(err: any): void} [error] An Observer `error` callback.
  12071. * @param {function(): void} [complete] An Observer `complete` callback.
  12072. * @return {any}
  12073. */
  12074. Notification.prototype.accept = function (nextOrObserver, error, complete) {
  12075. if (nextOrObserver && typeof nextOrObserver.next === 'function') {
  12076. return this.observe(nextOrObserver);
  12077. }
  12078. else {
  12079. return this.do(nextOrObserver, error, complete);
  12080. }
  12081. };
  12082. /**
  12083. * Returns a simple Observable that just delivers the notification represented
  12084. * by this Notification instance.
  12085. * @return {any}
  12086. */
  12087. Notification.prototype.toObservable = function () {
  12088. var kind = this.kind;
  12089. switch (kind) {
  12090. case 'N':
  12091. return Observable_1.Observable.of(this.value);
  12092. case 'E':
  12093. return Observable_1.Observable.throw(this.exception);
  12094. case 'C':
  12095. return Observable_1.Observable.empty();
  12096. }
  12097. throw new Error('unexpected notification kind value');
  12098. };
  12099. /**
  12100. * A shortcut to create a Notification instance of the type `next` from a
  12101. * given value.
  12102. * @param {T} value The `next` value.
  12103. * @return {Notification<T>} The "next" Notification representing the
  12104. * argument.
  12105. */
  12106. Notification.createNext = function (value) {
  12107. if (typeof value !== 'undefined') {
  12108. return new Notification('N', value);
  12109. }
  12110. return this.undefinedValueNotification;
  12111. };
  12112. /**
  12113. * A shortcut to create a Notification instance of the type `error` from a
  12114. * given error.
  12115. * @param {any} [err] The `error` exception.
  12116. * @return {Notification<T>} The "error" Notification representing the
  12117. * argument.
  12118. */
  12119. Notification.createError = function (err) {
  12120. return new Notification('E', undefined, err);
  12121. };
  12122. /**
  12123. * A shortcut to create a Notification instance of the type `complete`.
  12124. * @return {Notification<any>} The valueless "complete" Notification.
  12125. */
  12126. Notification.createComplete = function () {
  12127. return this.completeNotification;
  12128. };
  12129. Notification.completeNotification = new Notification('C');
  12130. Notification.undefinedValueNotification = new Notification('N', undefined);
  12131. return Notification;
  12132. }());
  12133. exports.Notification = Notification;
  12134. //# sourceMappingURL=Notification.js.map
  12135. /***/ },
  12136. /* 121 */
  12137. /***/ function(module, exports, __webpack_require__) {
  12138. "use strict";
  12139. "use strict";
  12140. var __extends = (this && this.__extends) || function (d, b) {
  12141. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  12142. function __() { this.constructor = d; }
  12143. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  12144. };
  12145. var subscribeToResult_1 = __webpack_require__(7);
  12146. var OuterSubscriber_1 = __webpack_require__(6);
  12147. /**
  12148. * Projects each source value to an Observable which is merged in the output
  12149. * Observable.
  12150. *
  12151. * <span class="informal">Maps each value to an Observable, then flattens all of
  12152. * these inner Observables using {@link mergeAll}.</span>
  12153. *
  12154. * <img src="./img/mergeMap.png" width="100%">
  12155. *
  12156. * Returns an Observable that emits items based on applying a function that you
  12157. * supply to each item emitted by the source Observable, where that function
  12158. * returns an Observable, and then merging those resulting Observables and
  12159. * emitting the results of this merger.
  12160. *
  12161. * @example <caption>Map and flatten each letter to an Observable ticking every 1 second</caption>
  12162. * var letters = Rx.Observable.of('a', 'b', 'c');
  12163. * var result = letters.mergeMap(x =>
  12164. * Rx.Observable.interval(1000).map(i => x+i)
  12165. * );
  12166. * result.subscribe(x => console.log(x));
  12167. *
  12168. * @see {@link concatMap}
  12169. * @see {@link exhaustMap}
  12170. * @see {@link merge}
  12171. * @see {@link mergeAll}
  12172. * @see {@link mergeMapTo}
  12173. * @see {@link mergeScan}
  12174. * @see {@link switchMap}
  12175. *
  12176. * @param {function(value: T, ?index: number): Observable} project A function
  12177. * that, when applied to an item emitted by the source Observable, returns an
  12178. * Observable.
  12179. * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]
  12180. * A function to produce the value on the output Observable based on the values
  12181. * and the indices of the source (outer) emission and the inner Observable
  12182. * emission. The arguments passed to this function are:
  12183. * - `outerValue`: the value that came from the source
  12184. * - `innerValue`: the value that came from the projected Observable
  12185. * - `outerIndex`: the "index" of the value that came from the source
  12186. * - `innerIndex`: the "index" of the value from the projected Observable
  12187. * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input
  12188. * Observables being subscribed to concurrently.
  12189. * @return {Observable} An Observable that emits the result of applying the
  12190. * projection function (and the optional `resultSelector`) to each item emitted
  12191. * by the source Observable and merging the results of the Observables obtained
  12192. * from this transformation.
  12193. * @method mergeMap
  12194. * @owner Observable
  12195. */
  12196. function mergeMap(project, resultSelector, concurrent) {
  12197. if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
  12198. if (typeof resultSelector === 'number') {
  12199. concurrent = resultSelector;
  12200. resultSelector = null;
  12201. }
  12202. return this.lift(new MergeMapOperator(project, resultSelector, concurrent));
  12203. }
  12204. exports.mergeMap = mergeMap;
  12205. var MergeMapOperator = (function () {
  12206. function MergeMapOperator(project, resultSelector, concurrent) {
  12207. if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
  12208. this.project = project;
  12209. this.resultSelector = resultSelector;
  12210. this.concurrent = concurrent;
  12211. }
  12212. MergeMapOperator.prototype.call = function (observer, source) {
  12213. return source._subscribe(new MergeMapSubscriber(observer, this.project, this.resultSelector, this.concurrent));
  12214. };
  12215. return MergeMapOperator;
  12216. }());
  12217. exports.MergeMapOperator = MergeMapOperator;
  12218. /**
  12219. * We need this JSDoc comment for affecting ESDoc.
  12220. * @ignore
  12221. * @extends {Ignored}
  12222. */
  12223. var MergeMapSubscriber = (function (_super) {
  12224. __extends(MergeMapSubscriber, _super);
  12225. function MergeMapSubscriber(destination, project, resultSelector, concurrent) {
  12226. if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
  12227. _super.call(this, destination);
  12228. this.project = project;
  12229. this.resultSelector = resultSelector;
  12230. this.concurrent = concurrent;
  12231. this.hasCompleted = false;
  12232. this.buffer = [];
  12233. this.active = 0;
  12234. this.index = 0;
  12235. }
  12236. MergeMapSubscriber.prototype._next = function (value) {
  12237. if (this.active < this.concurrent) {
  12238. this._tryNext(value);
  12239. }
  12240. else {
  12241. this.buffer.push(value);
  12242. }
  12243. };
  12244. MergeMapSubscriber.prototype._tryNext = function (value) {
  12245. var result;
  12246. var index = this.index++;
  12247. try {
  12248. result = this.project(value, index);
  12249. }
  12250. catch (err) {
  12251. this.destination.error(err);
  12252. return;
  12253. }
  12254. this.active++;
  12255. this._innerSub(result, value, index);
  12256. };
  12257. MergeMapSubscriber.prototype._innerSub = function (ish, value, index) {
  12258. this.add(subscribeToResult_1.subscribeToResult(this, ish, value, index));
  12259. };
  12260. MergeMapSubscriber.prototype._complete = function () {
  12261. this.hasCompleted = true;
  12262. if (this.active === 0 && this.buffer.length === 0) {
  12263. this.destination.complete();
  12264. }
  12265. };
  12266. MergeMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  12267. if (this.resultSelector) {
  12268. this._notifyResultSelector(outerValue, innerValue, outerIndex, innerIndex);
  12269. }
  12270. else {
  12271. this.destination.next(innerValue);
  12272. }
  12273. };
  12274. MergeMapSubscriber.prototype._notifyResultSelector = function (outerValue, innerValue, outerIndex, innerIndex) {
  12275. var result;
  12276. try {
  12277. result = this.resultSelector(outerValue, innerValue, outerIndex, innerIndex);
  12278. }
  12279. catch (err) {
  12280. this.destination.error(err);
  12281. return;
  12282. }
  12283. this.destination.next(result);
  12284. };
  12285. MergeMapSubscriber.prototype.notifyComplete = function (innerSub) {
  12286. var buffer = this.buffer;
  12287. this.remove(innerSub);
  12288. this.active--;
  12289. if (buffer.length > 0) {
  12290. this._next(buffer.shift());
  12291. }
  12292. else if (this.active === 0 && this.hasCompleted) {
  12293. this.destination.complete();
  12294. }
  12295. };
  12296. return MergeMapSubscriber;
  12297. }(OuterSubscriber_1.OuterSubscriber));
  12298. exports.MergeMapSubscriber = MergeMapSubscriber;
  12299. //# sourceMappingURL=mergeMap.js.map
  12300. /***/ },
  12301. /* 122 */
  12302. /***/ function(module, exports, __webpack_require__) {
  12303. "use strict";
  12304. "use strict";
  12305. var __extends = (this && this.__extends) || function (d, b) {
  12306. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  12307. function __() { this.constructor = d; }
  12308. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  12309. };
  12310. var root_1 = __webpack_require__(27);
  12311. var Action_1 = __webpack_require__(942);
  12312. /**
  12313. * We need this JSDoc comment for affecting ESDoc.
  12314. * @ignore
  12315. * @extends {Ignored}
  12316. */
  12317. var AsyncAction = (function (_super) {
  12318. __extends(AsyncAction, _super);
  12319. function AsyncAction(scheduler, work) {
  12320. _super.call(this, scheduler, work);
  12321. this.scheduler = scheduler;
  12322. this.work = work;
  12323. this.pending = false;
  12324. }
  12325. AsyncAction.prototype.schedule = function (state, delay) {
  12326. if (delay === void 0) { delay = 0; }
  12327. if (this.closed) {
  12328. return this;
  12329. }
  12330. // Always replace the current state with the new state.
  12331. this.state = state;
  12332. // Set the pending flag indicating that this action has been scheduled, or
  12333. // has recursively rescheduled itself.
  12334. this.pending = true;
  12335. var id = this.id;
  12336. var scheduler = this.scheduler;
  12337. //
  12338. // Important implementation note:
  12339. //
  12340. // Actions only execute once by default, unless rescheduled from within the
  12341. // scheduled callback. This allows us to implement single and repeat
  12342. // actions via the same code path, without adding API surface area, as well
  12343. // as mimic traditional recursion but across asynchronous boundaries.
  12344. //
  12345. // However, JS runtimes and timers distinguish between intervals achieved by
  12346. // serial `setTimeout` calls vs. a single `setInterval` call. An interval of
  12347. // serial `setTimeout` calls can be individually delayed, which delays
  12348. // scheduling the next `setTimeout`, and so on. `setInterval` attempts to
  12349. // guarantee the interval callback will be invoked more precisely to the
  12350. // interval period, regardless of load.
  12351. //
  12352. // Therefore, we use `setInterval` to schedule single and repeat actions.
  12353. // If the action reschedules itself with the same delay, the interval is not
  12354. // canceled. If the action doesn't reschedule, or reschedules with a
  12355. // different delay, the interval will be canceled after scheduled callback
  12356. // execution.
  12357. //
  12358. if (id != null) {
  12359. this.id = this.recycleAsyncId(scheduler, id, delay);
  12360. }
  12361. this.delay = delay;
  12362. // If this action has already an async Id, don't request a new one.
  12363. this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);
  12364. return this;
  12365. };
  12366. AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {
  12367. if (delay === void 0) { delay = 0; }
  12368. return root_1.root.setInterval(scheduler.flush.bind(scheduler, this), delay);
  12369. };
  12370. AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {
  12371. if (delay === void 0) { delay = 0; }
  12372. // If this action is rescheduled with the same delay time, don't clear the interval id.
  12373. if (delay !== null && this.delay === delay) {
  12374. return id;
  12375. }
  12376. // Otherwise, if the action's delay time is different from the current delay,
  12377. // clear the interval id
  12378. return root_1.root.clearInterval(id) && undefined || undefined;
  12379. };
  12380. /**
  12381. * Immediately executes this action and the `work` it contains.
  12382. * @return {any}
  12383. */
  12384. AsyncAction.prototype.execute = function (state, delay) {
  12385. if (this.closed) {
  12386. return new Error('executing a cancelled action');
  12387. }
  12388. this.pending = false;
  12389. var error = this._execute(state, delay);
  12390. if (error) {
  12391. return error;
  12392. }
  12393. else if (this.pending === false && this.id != null) {
  12394. // Dequeue if the action didn't reschedule itself. Don't call
  12395. // unsubscribe(), because the action could reschedule later.
  12396. // For example:
  12397. // ```
  12398. // scheduler.schedule(function doWork(counter) {
  12399. // /* ... I'm a busy worker bee ... */
  12400. // var originalAction = this;
  12401. // /* wait 100ms before rescheduling the action */
  12402. // setTimeout(function () {
  12403. // originalAction.schedule(counter + 1);
  12404. // }, 100);
  12405. // }, 1000);
  12406. // ```
  12407. this.id = this.recycleAsyncId(this.scheduler, this.id, null);
  12408. }
  12409. };
  12410. AsyncAction.prototype._execute = function (state, delay) {
  12411. var errored = false;
  12412. var errorValue = undefined;
  12413. try {
  12414. this.work(state);
  12415. }
  12416. catch (e) {
  12417. errored = true;
  12418. errorValue = !!e && e || new Error(e);
  12419. }
  12420. if (errored) {
  12421. this.unsubscribe();
  12422. return errorValue;
  12423. }
  12424. };
  12425. AsyncAction.prototype._unsubscribe = function () {
  12426. var id = this.id;
  12427. var scheduler = this.scheduler;
  12428. var actions = scheduler.actions;
  12429. var index = actions.indexOf(this);
  12430. this.work = null;
  12431. this.delay = null;
  12432. this.state = null;
  12433. this.pending = false;
  12434. this.scheduler = null;
  12435. if (index !== -1) {
  12436. actions.splice(index, 1);
  12437. }
  12438. if (id != null) {
  12439. this.id = this.recycleAsyncId(scheduler, id, null);
  12440. }
  12441. };
  12442. return AsyncAction;
  12443. }(Action_1.Action));
  12444. exports.AsyncAction = AsyncAction;
  12445. //# sourceMappingURL=AsyncAction.js.map
  12446. /***/ },
  12447. /* 123 */
  12448. /***/ function(module, exports, __webpack_require__) {
  12449. "use strict";
  12450. "use strict";
  12451. var __extends = (this && this.__extends) || function (d, b) {
  12452. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  12453. function __() { this.constructor = d; }
  12454. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  12455. };
  12456. var Scheduler_1 = __webpack_require__(696);
  12457. var AsyncScheduler = (function (_super) {
  12458. __extends(AsyncScheduler, _super);
  12459. function AsyncScheduler() {
  12460. _super.apply(this, arguments);
  12461. this.actions = [];
  12462. /**
  12463. * A flag to indicate whether the Scheduler is currently executing a batch of
  12464. * queued actions.
  12465. * @type {boolean}
  12466. */
  12467. this.active = false;
  12468. /**
  12469. * An internal ID used to track the latest asynchronous task such as those
  12470. * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and
  12471. * others.
  12472. * @type {any}
  12473. */
  12474. this.scheduled = undefined;
  12475. }
  12476. AsyncScheduler.prototype.flush = function (action) {
  12477. var actions = this.actions;
  12478. if (this.active) {
  12479. actions.push(action);
  12480. return;
  12481. }
  12482. var error;
  12483. this.active = true;
  12484. do {
  12485. if (error = action.execute(action.state, action.delay)) {
  12486. break;
  12487. }
  12488. } while (action = actions.shift()); // exhaust the scheduler queue
  12489. this.active = false;
  12490. if (error) {
  12491. while (action = actions.shift()) {
  12492. action.unsubscribe();
  12493. }
  12494. throw error;
  12495. }
  12496. };
  12497. return AsyncScheduler;
  12498. }(Scheduler_1.Scheduler));
  12499. exports.AsyncScheduler = AsyncScheduler;
  12500. //# sourceMappingURL=AsyncScheduler.js.map
  12501. /***/ },
  12502. /* 124 */
  12503. /***/ function(module, exports, __webpack_require__) {
  12504. "use strict";
  12505. "use strict";
  12506. var root_1 = __webpack_require__(27);
  12507. var Symbol = root_1.root.Symbol;
  12508. if (typeof Symbol === 'function') {
  12509. if (Symbol.iterator) {
  12510. exports.$$iterator = Symbol.iterator;
  12511. }
  12512. else if (typeof Symbol.for === 'function') {
  12513. exports.$$iterator = Symbol.for('iterator');
  12514. }
  12515. }
  12516. else {
  12517. if (root_1.root.Set && typeof new root_1.root.Set()['@@iterator'] === 'function') {
  12518. // Bug for mozilla version
  12519. exports.$$iterator = '@@iterator';
  12520. }
  12521. else if (root_1.root.Map) {
  12522. // es6-shim specific logic
  12523. var keys = Object.getOwnPropertyNames(root_1.root.Map.prototype);
  12524. for (var i = 0; i < keys.length; ++i) {
  12525. var key = keys[i];
  12526. if (key !== 'entries' && key !== 'size' && root_1.root.Map.prototype[key] === root_1.root.Map.prototype['entries']) {
  12527. exports.$$iterator = key;
  12528. break;
  12529. }
  12530. }
  12531. }
  12532. else {
  12533. exports.$$iterator = '@@iterator';
  12534. }
  12535. }
  12536. //# sourceMappingURL=iterator.js.map
  12537. /***/ },
  12538. /* 125 */
  12539. /***/ function(module, exports) {
  12540. "use strict";
  12541. "use strict";
  12542. var __extends = (this && this.__extends) || function (d, b) {
  12543. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  12544. function __() { this.constructor = d; }
  12545. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  12546. };
  12547. /**
  12548. * An error thrown when an Observable or a sequence was queried but has no
  12549. * elements.
  12550. *
  12551. * @see {@link first}
  12552. * @see {@link last}
  12553. * @see {@link single}
  12554. *
  12555. * @class EmptyError
  12556. */
  12557. var EmptyError = (function (_super) {
  12558. __extends(EmptyError, _super);
  12559. function EmptyError() {
  12560. var err = _super.call(this, 'no elements in sequence');
  12561. this.name = err.name = 'EmptyError';
  12562. this.stack = err.stack;
  12563. this.message = err.message;
  12564. }
  12565. return EmptyError;
  12566. }(Error));
  12567. exports.EmptyError = EmptyError;
  12568. //# sourceMappingURL=EmptyError.js.map
  12569. /***/ },
  12570. /* 126 */
  12571. /***/ function(module, exports, __webpack_require__) {
  12572. "use strict";
  12573. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__ = __webpack_require__(521);
  12574. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "BrowserModule", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["b"]; });
  12575. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "platformBrowser", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["c"]; });
  12576. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Title", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["d"]; });
  12577. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "disableDebugTools", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["e"]; });
  12578. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "enableDebugTools", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["f"]; });
  12579. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "AnimationDriver", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["g"]; });
  12580. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "By", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["h"]; });
  12581. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "NgProbeToken", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["i"]; });
  12582. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "DOCUMENT", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["j"]; });
  12583. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "EVENT_MANAGER_PLUGINS", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["k"]; });
  12584. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "EventManager", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["l"]; });
  12585. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "HAMMER_GESTURE_CONFIG", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["m"]; });
  12586. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "HammerGestureConfig", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["n"]; });
  12587. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "DomSanitizer", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["o"]; });
  12588. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "__platform_browser_private__", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser__["a"]; });
  12589. /**
  12590. * @license
  12591. * Copyright Google Inc. All Rights Reserved.
  12592. *
  12593. * Use of this source code is governed by an MIT-style license that can be
  12594. * found in the LICENSE file at https://angular.io/license
  12595. */
  12596. /**
  12597. * @module
  12598. * @description
  12599. * Entry point for all public APIs of the platform-browser package.
  12600. */
  12601. //# sourceMappingURL=index.js.map
  12602. /***/ },
  12603. /* 127 */
  12604. /***/ function(module, exports, __webpack_require__) {
  12605. "use strict";
  12606. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_platform_browser_dynamic__ = __webpack_require__(508);
  12607. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RESOURCE_CACHE_PROVIDER", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser_dynamic__["a"]; });
  12608. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "platformBrowserDynamic", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser_dynamic__["b"]; });
  12609. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "__platform_browser_dynamic_private__", function() { return __WEBPACK_IMPORTED_MODULE_0__src_platform_browser_dynamic__["c"]; });
  12610. /**
  12611. * @license
  12612. * Copyright Google Inc. All Rights Reserved.
  12613. *
  12614. * Use of this source code is governed by an MIT-style license that can be
  12615. * found in the LICENSE file at https://angular.io/license
  12616. */
  12617. /**
  12618. * @module
  12619. * @description
  12620. * Entry point for all public APIs of the platform-browser-dynamic package.
  12621. */
  12622. //# sourceMappingURL=index.js.map
  12623. /***/ },
  12624. /* 128 */
  12625. /***/ function(module, exports, __webpack_require__) {
  12626. "use strict";
  12627. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  12628. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return NgLocalization; });
  12629. /* harmony export (immutable) */ exports["a"] = getPluralCategory;
  12630. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return NgLocaleLocalization; });
  12631. /* unused harmony export Plural */
  12632. /* unused harmony export getPluralCase */
  12633. /**
  12634. * @license
  12635. * Copyright Google Inc. All Rights Reserved.
  12636. *
  12637. * Use of this source code is governed by an MIT-style license that can be
  12638. * found in the LICENSE file at https://angular.io/license
  12639. */
  12640. var __extends = (this && this.__extends) || function (d, b) {
  12641. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  12642. function __() { this.constructor = d; }
  12643. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  12644. };
  12645. /**
  12646. * @experimental
  12647. */
  12648. var NgLocalization = (function () {
  12649. function NgLocalization() {
  12650. }
  12651. return NgLocalization;
  12652. }());
  12653. /**
  12654. * Returns the plural category for a given value.
  12655. * - "=value" when the case exists,
  12656. * - the plural category otherwise
  12657. *
  12658. * @internal
  12659. */
  12660. function getPluralCategory(value, cases, ngLocalization) {
  12661. var nbCase = "=" + value;
  12662. return cases.indexOf(nbCase) > -1 ? nbCase : ngLocalization.getPluralCategory(value);
  12663. }
  12664. /**
  12665. * Returns the plural case based on the locale
  12666. *
  12667. * @experimental
  12668. */
  12669. var NgLocaleLocalization = (function (_super) {
  12670. __extends(NgLocaleLocalization, _super);
  12671. function NgLocaleLocalization(_locale) {
  12672. _super.call(this);
  12673. this._locale = _locale;
  12674. }
  12675. NgLocaleLocalization.prototype.getPluralCategory = function (value) {
  12676. var plural = getPluralCase(this._locale, value);
  12677. switch (plural) {
  12678. case Plural.Zero:
  12679. return 'zero';
  12680. case Plural.One:
  12681. return 'one';
  12682. case Plural.Two:
  12683. return 'two';
  12684. case Plural.Few:
  12685. return 'few';
  12686. case Plural.Many:
  12687. return 'many';
  12688. default:
  12689. return 'other';
  12690. }
  12691. };
  12692. NgLocaleLocalization.decorators = [
  12693. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  12694. ];
  12695. /** @nocollapse */
  12696. NgLocaleLocalization.ctorParameters = [
  12697. { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"], args: [__WEBPACK_IMPORTED_MODULE_0__angular_core__["LOCALE_ID"],] },] },
  12698. ];
  12699. return NgLocaleLocalization;
  12700. }(NgLocalization));
  12701. // This is generated code DO NOT MODIFY
  12702. // see angular2/script/cldr/gen_plural_rules.js
  12703. /** @experimental */
  12704. var Plural;
  12705. (function (Plural) {
  12706. Plural[Plural["Zero"] = 0] = "Zero";
  12707. Plural[Plural["One"] = 1] = "One";
  12708. Plural[Plural["Two"] = 2] = "Two";
  12709. Plural[Plural["Few"] = 3] = "Few";
  12710. Plural[Plural["Many"] = 4] = "Many";
  12711. Plural[Plural["Other"] = 5] = "Other";
  12712. })(Plural || (Plural = {}));
  12713. /**
  12714. * Returns the plural case based on the locale
  12715. *
  12716. * @experimental
  12717. */
  12718. function getPluralCase(locale, nLike) {
  12719. // TODO(vicb): lazy compute
  12720. if (typeof nLike === 'string') {
  12721. nLike = parseInt(nLike, 10);
  12722. }
  12723. var n = nLike;
  12724. var nDecimal = n.toString().replace(/^[^.]*\.?/, '');
  12725. var i = Math.floor(Math.abs(n));
  12726. var v = nDecimal.length;
  12727. var f = parseInt(nDecimal, 10);
  12728. var t = parseInt(n.toString().replace(/^[^.]*\.?|0+$/g, ''), 10) || 0;
  12729. var lang = locale.split('-')[0].toLowerCase();
  12730. switch (lang) {
  12731. case 'af':
  12732. case 'asa':
  12733. case 'az':
  12734. case 'bem':
  12735. case 'bez':
  12736. case 'bg':
  12737. case 'brx':
  12738. case 'ce':
  12739. case 'cgg':
  12740. case 'chr':
  12741. case 'ckb':
  12742. case 'ee':
  12743. case 'el':
  12744. case 'eo':
  12745. case 'es':
  12746. case 'eu':
  12747. case 'fo':
  12748. case 'fur':
  12749. case 'gsw':
  12750. case 'ha':
  12751. case 'haw':
  12752. case 'hu':
  12753. case 'jgo':
  12754. case 'jmc':
  12755. case 'ka':
  12756. case 'kk':
  12757. case 'kkj':
  12758. case 'kl':
  12759. case 'ks':
  12760. case 'ksb':
  12761. case 'ky':
  12762. case 'lb':
  12763. case 'lg':
  12764. case 'mas':
  12765. case 'mgo':
  12766. case 'ml':
  12767. case 'mn':
  12768. case 'nb':
  12769. case 'nd':
  12770. case 'ne':
  12771. case 'nn':
  12772. case 'nnh':
  12773. case 'nyn':
  12774. case 'om':
  12775. case 'or':
  12776. case 'os':
  12777. case 'ps':
  12778. case 'rm':
  12779. case 'rof':
  12780. case 'rwk':
  12781. case 'saq':
  12782. case 'seh':
  12783. case 'sn':
  12784. case 'so':
  12785. case 'sq':
  12786. case 'ta':
  12787. case 'te':
  12788. case 'teo':
  12789. case 'tk':
  12790. case 'tr':
  12791. case 'ug':
  12792. case 'uz':
  12793. case 'vo':
  12794. case 'vun':
  12795. case 'wae':
  12796. case 'xog':
  12797. if (n === 1)
  12798. return Plural.One;
  12799. return Plural.Other;
  12800. case 'agq':
  12801. case 'bas':
  12802. case 'cu':
  12803. case 'dav':
  12804. case 'dje':
  12805. case 'dua':
  12806. case 'dyo':
  12807. case 'ebu':
  12808. case 'ewo':
  12809. case 'guz':
  12810. case 'kam':
  12811. case 'khq':
  12812. case 'ki':
  12813. case 'kln':
  12814. case 'kok':
  12815. case 'ksf':
  12816. case 'lrc':
  12817. case 'lu':
  12818. case 'luo':
  12819. case 'luy':
  12820. case 'mer':
  12821. case 'mfe':
  12822. case 'mgh':
  12823. case 'mua':
  12824. case 'mzn':
  12825. case 'nmg':
  12826. case 'nus':
  12827. case 'qu':
  12828. case 'rn':
  12829. case 'rw':
  12830. case 'sbp':
  12831. case 'twq':
  12832. case 'vai':
  12833. case 'yav':
  12834. case 'yue':
  12835. case 'zgh':
  12836. case 'ak':
  12837. case 'ln':
  12838. case 'mg':
  12839. case 'pa':
  12840. case 'ti':
  12841. if (n === Math.floor(n) && n >= 0 && n <= 1)
  12842. return Plural.One;
  12843. return Plural.Other;
  12844. case 'am':
  12845. case 'as':
  12846. case 'bn':
  12847. case 'fa':
  12848. case 'gu':
  12849. case 'hi':
  12850. case 'kn':
  12851. case 'mr':
  12852. case 'zu':
  12853. if (i === 0 || n === 1)
  12854. return Plural.One;
  12855. return Plural.Other;
  12856. case 'ar':
  12857. if (n === 0)
  12858. return Plural.Zero;
  12859. if (n === 1)
  12860. return Plural.One;
  12861. if (n === 2)
  12862. return Plural.Two;
  12863. if (n % 100 === Math.floor(n % 100) && n % 100 >= 3 && n % 100 <= 10)
  12864. return Plural.Few;
  12865. if (n % 100 === Math.floor(n % 100) && n % 100 >= 11 && n % 100 <= 99)
  12866. return Plural.Many;
  12867. return Plural.Other;
  12868. case 'ast':
  12869. case 'ca':
  12870. case 'de':
  12871. case 'en':
  12872. case 'et':
  12873. case 'fi':
  12874. case 'fy':
  12875. case 'gl':
  12876. case 'it':
  12877. case 'nl':
  12878. case 'sv':
  12879. case 'sw':
  12880. case 'ur':
  12881. case 'yi':
  12882. if (i === 1 && v === 0)
  12883. return Plural.One;
  12884. return Plural.Other;
  12885. case 'be':
  12886. if (n % 10 === 1 && !(n % 100 === 11))
  12887. return Plural.One;
  12888. if (n % 10 === Math.floor(n % 10) && n % 10 >= 2 && n % 10 <= 4 &&
  12889. !(n % 100 >= 12 && n % 100 <= 14))
  12890. return Plural.Few;
  12891. if (n % 10 === 0 || n % 10 === Math.floor(n % 10) && n % 10 >= 5 && n % 10 <= 9 ||
  12892. n % 100 === Math.floor(n % 100) && n % 100 >= 11 && n % 100 <= 14)
  12893. return Plural.Many;
  12894. return Plural.Other;
  12895. case 'br':
  12896. if (n % 10 === 1 && !(n % 100 === 11 || n % 100 === 71 || n % 100 === 91))
  12897. return Plural.One;
  12898. if (n % 10 === 2 && !(n % 100 === 12 || n % 100 === 72 || n % 100 === 92))
  12899. return Plural.Two;
  12900. if (n % 10 === Math.floor(n % 10) && (n % 10 >= 3 && n % 10 <= 4 || n % 10 === 9) &&
  12901. !(n % 100 >= 10 && n % 100 <= 19 || n % 100 >= 70 && n % 100 <= 79 ||
  12902. n % 100 >= 90 && n % 100 <= 99))
  12903. return Plural.Few;
  12904. if (!(n === 0) && n % 1e6 === 0)
  12905. return Plural.Many;
  12906. return Plural.Other;
  12907. case 'bs':
  12908. case 'hr':
  12909. case 'sr':
  12910. if (v === 0 && i % 10 === 1 && !(i % 100 === 11) || f % 10 === 1 && !(f % 100 === 11))
  12911. return Plural.One;
  12912. if (v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 2 && i % 10 <= 4 &&
  12913. !(i % 100 >= 12 && i % 100 <= 14) ||
  12914. f % 10 === Math.floor(f % 10) && f % 10 >= 2 && f % 10 <= 4 &&
  12915. !(f % 100 >= 12 && f % 100 <= 14))
  12916. return Plural.Few;
  12917. return Plural.Other;
  12918. case 'cs':
  12919. case 'sk':
  12920. if (i === 1 && v === 0)
  12921. return Plural.One;
  12922. if (i === Math.floor(i) && i >= 2 && i <= 4 && v === 0)
  12923. return Plural.Few;
  12924. if (!(v === 0))
  12925. return Plural.Many;
  12926. return Plural.Other;
  12927. case 'cy':
  12928. if (n === 0)
  12929. return Plural.Zero;
  12930. if (n === 1)
  12931. return Plural.One;
  12932. if (n === 2)
  12933. return Plural.Two;
  12934. if (n === 3)
  12935. return Plural.Few;
  12936. if (n === 6)
  12937. return Plural.Many;
  12938. return Plural.Other;
  12939. case 'da':
  12940. if (n === 1 || !(t === 0) && (i === 0 || i === 1))
  12941. return Plural.One;
  12942. return Plural.Other;
  12943. case 'dsb':
  12944. case 'hsb':
  12945. if (v === 0 && i % 100 === 1 || f % 100 === 1)
  12946. return Plural.One;
  12947. if (v === 0 && i % 100 === 2 || f % 100 === 2)
  12948. return Plural.Two;
  12949. if (v === 0 && i % 100 === Math.floor(i % 100) && i % 100 >= 3 && i % 100 <= 4 ||
  12950. f % 100 === Math.floor(f % 100) && f % 100 >= 3 && f % 100 <= 4)
  12951. return Plural.Few;
  12952. return Plural.Other;
  12953. case 'ff':
  12954. case 'fr':
  12955. case 'hy':
  12956. case 'kab':
  12957. if (i === 0 || i === 1)
  12958. return Plural.One;
  12959. return Plural.Other;
  12960. case 'fil':
  12961. if (v === 0 && (i === 1 || i === 2 || i === 3) ||
  12962. v === 0 && !(i % 10 === 4 || i % 10 === 6 || i % 10 === 9) ||
  12963. !(v === 0) && !(f % 10 === 4 || f % 10 === 6 || f % 10 === 9))
  12964. return Plural.One;
  12965. return Plural.Other;
  12966. case 'ga':
  12967. if (n === 1)
  12968. return Plural.One;
  12969. if (n === 2)
  12970. return Plural.Two;
  12971. if (n === Math.floor(n) && n >= 3 && n <= 6)
  12972. return Plural.Few;
  12973. if (n === Math.floor(n) && n >= 7 && n <= 10)
  12974. return Plural.Many;
  12975. return Plural.Other;
  12976. case 'gd':
  12977. if (n === 1 || n === 11)
  12978. return Plural.One;
  12979. if (n === 2 || n === 12)
  12980. return Plural.Two;
  12981. if (n === Math.floor(n) && (n >= 3 && n <= 10 || n >= 13 && n <= 19))
  12982. return Plural.Few;
  12983. return Plural.Other;
  12984. case 'gv':
  12985. if (v === 0 && i % 10 === 1)
  12986. return Plural.One;
  12987. if (v === 0 && i % 10 === 2)
  12988. return Plural.Two;
  12989. if (v === 0 &&
  12990. (i % 100 === 0 || i % 100 === 20 || i % 100 === 40 || i % 100 === 60 || i % 100 === 80))
  12991. return Plural.Few;
  12992. if (!(v === 0))
  12993. return Plural.Many;
  12994. return Plural.Other;
  12995. case 'he':
  12996. if (i === 1 && v === 0)
  12997. return Plural.One;
  12998. if (i === 2 && v === 0)
  12999. return Plural.Two;
  13000. if (v === 0 && !(n >= 0 && n <= 10) && n % 10 === 0)
  13001. return Plural.Many;
  13002. return Plural.Other;
  13003. case 'is':
  13004. if (t === 0 && i % 10 === 1 && !(i % 100 === 11) || !(t === 0))
  13005. return Plural.One;
  13006. return Plural.Other;
  13007. case 'ksh':
  13008. if (n === 0)
  13009. return Plural.Zero;
  13010. if (n === 1)
  13011. return Plural.One;
  13012. return Plural.Other;
  13013. case 'kw':
  13014. case 'naq':
  13015. case 'se':
  13016. case 'smn':
  13017. if (n === 1)
  13018. return Plural.One;
  13019. if (n === 2)
  13020. return Plural.Two;
  13021. return Plural.Other;
  13022. case 'lag':
  13023. if (n === 0)
  13024. return Plural.Zero;
  13025. if ((i === 0 || i === 1) && !(n === 0))
  13026. return Plural.One;
  13027. return Plural.Other;
  13028. case 'lt':
  13029. if (n % 10 === 1 && !(n % 100 >= 11 && n % 100 <= 19))
  13030. return Plural.One;
  13031. if (n % 10 === Math.floor(n % 10) && n % 10 >= 2 && n % 10 <= 9 &&
  13032. !(n % 100 >= 11 && n % 100 <= 19))
  13033. return Plural.Few;
  13034. if (!(f === 0))
  13035. return Plural.Many;
  13036. return Plural.Other;
  13037. case 'lv':
  13038. case 'prg':
  13039. if (n % 10 === 0 || n % 100 === Math.floor(n % 100) && n % 100 >= 11 && n % 100 <= 19 ||
  13040. v === 2 && f % 100 === Math.floor(f % 100) && f % 100 >= 11 && f % 100 <= 19)
  13041. return Plural.Zero;
  13042. if (n % 10 === 1 && !(n % 100 === 11) || v === 2 && f % 10 === 1 && !(f % 100 === 11) ||
  13043. !(v === 2) && f % 10 === 1)
  13044. return Plural.One;
  13045. return Plural.Other;
  13046. case 'mk':
  13047. if (v === 0 && i % 10 === 1 || f % 10 === 1)
  13048. return Plural.One;
  13049. return Plural.Other;
  13050. case 'mt':
  13051. if (n === 1)
  13052. return Plural.One;
  13053. if (n === 0 || n % 100 === Math.floor(n % 100) && n % 100 >= 2 && n % 100 <= 10)
  13054. return Plural.Few;
  13055. if (n % 100 === Math.floor(n % 100) && n % 100 >= 11 && n % 100 <= 19)
  13056. return Plural.Many;
  13057. return Plural.Other;
  13058. case 'pl':
  13059. if (i === 1 && v === 0)
  13060. return Plural.One;
  13061. if (v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 2 && i % 10 <= 4 &&
  13062. !(i % 100 >= 12 && i % 100 <= 14))
  13063. return Plural.Few;
  13064. if (v === 0 && !(i === 1) && i % 10 === Math.floor(i % 10) && i % 10 >= 0 && i % 10 <= 1 ||
  13065. v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 5 && i % 10 <= 9 ||
  13066. v === 0 && i % 100 === Math.floor(i % 100) && i % 100 >= 12 && i % 100 <= 14)
  13067. return Plural.Many;
  13068. return Plural.Other;
  13069. case 'pt':
  13070. if (n === Math.floor(n) && n >= 0 && n <= 2 && !(n === 2))
  13071. return Plural.One;
  13072. return Plural.Other;
  13073. case 'ro':
  13074. if (i === 1 && v === 0)
  13075. return Plural.One;
  13076. if (!(v === 0) || n === 0 ||
  13077. !(n === 1) && n % 100 === Math.floor(n % 100) && n % 100 >= 1 && n % 100 <= 19)
  13078. return Plural.Few;
  13079. return Plural.Other;
  13080. case 'ru':
  13081. case 'uk':
  13082. if (v === 0 && i % 10 === 1 && !(i % 100 === 11))
  13083. return Plural.One;
  13084. if (v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 2 && i % 10 <= 4 &&
  13085. !(i % 100 >= 12 && i % 100 <= 14))
  13086. return Plural.Few;
  13087. if (v === 0 && i % 10 === 0 ||
  13088. v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 5 && i % 10 <= 9 ||
  13089. v === 0 && i % 100 === Math.floor(i % 100) && i % 100 >= 11 && i % 100 <= 14)
  13090. return Plural.Many;
  13091. return Plural.Other;
  13092. case 'shi':
  13093. if (i === 0 || n === 1)
  13094. return Plural.One;
  13095. if (n === Math.floor(n) && n >= 2 && n <= 10)
  13096. return Plural.Few;
  13097. return Plural.Other;
  13098. case 'si':
  13099. if (n === 0 || n === 1 || i === 0 && f === 1)
  13100. return Plural.One;
  13101. return Plural.Other;
  13102. case 'sl':
  13103. if (v === 0 && i % 100 === 1)
  13104. return Plural.One;
  13105. if (v === 0 && i % 100 === 2)
  13106. return Plural.Two;
  13107. if (v === 0 && i % 100 === Math.floor(i % 100) && i % 100 >= 3 && i % 100 <= 4 || !(v === 0))
  13108. return Plural.Few;
  13109. return Plural.Other;
  13110. case 'tzm':
  13111. if (n === Math.floor(n) && n >= 0 && n <= 1 || n === Math.floor(n) && n >= 11 && n <= 99)
  13112. return Plural.One;
  13113. return Plural.Other;
  13114. default:
  13115. return Plural.Other;
  13116. }
  13117. }
  13118. //# sourceMappingURL=localization.js.map
  13119. /***/ },
  13120. /* 129 */
  13121. /***/ function(module, exports, __webpack_require__) {
  13122. "use strict";
  13123. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  13124. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return LocationStrategy; });
  13125. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return APP_BASE_HREF; });
  13126. /**
  13127. * @license
  13128. * Copyright Google Inc. All Rights Reserved.
  13129. *
  13130. * Use of this source code is governed by an MIT-style license that can be
  13131. * found in the LICENSE file at https://angular.io/license
  13132. */
  13133. /**
  13134. * `LocationStrategy` is responsible for representing and reading route state
  13135. * from the browser's URL. Angular provides two strategies:
  13136. * {@link HashLocationStrategy} and {@link PathLocationStrategy} (default).
  13137. *
  13138. * This is used under the hood of the {@link Location} service.
  13139. *
  13140. * Applications should use the {@link Router} or {@link Location} services to
  13141. * interact with application route state.
  13142. *
  13143. * For instance, {@link HashLocationStrategy} produces URLs like
  13144. * `http://example.com#/foo`, and {@link PathLocationStrategy} produces
  13145. * `http://example.com/foo` as an equivalent URL.
  13146. *
  13147. * See these two classes for more.
  13148. *
  13149. * @stable
  13150. */
  13151. var LocationStrategy = (function () {
  13152. function LocationStrategy() {
  13153. }
  13154. return LocationStrategy;
  13155. }());
  13156. /**
  13157. * The `APP_BASE_HREF` token represents the base href to be used with the
  13158. * {@link PathLocationStrategy}.
  13159. *
  13160. * If you're using {@link PathLocationStrategy}, you must provide a provider to a string
  13161. * representing the URL prefix that should be preserved when generating and recognizing
  13162. * URLs.
  13163. *
  13164. * ### Example
  13165. *
  13166. * ```typescript
  13167. * import {Component, NgModule} from '@angular/core';
  13168. * import {APP_BASE_HREF} from '@angular/common';
  13169. *
  13170. * @NgModule({
  13171. * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]
  13172. * })
  13173. * class AppModule {}
  13174. * ```
  13175. *
  13176. * @stable
  13177. */
  13178. var APP_BASE_HREF = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["OpaqueToken"]('appBaseHref');
  13179. //# sourceMappingURL=location_strategy.js.map
  13180. /***/ },
  13181. /* 130 */
  13182. /***/ function(module, exports, __webpack_require__) {
  13183. "use strict";
  13184. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  13185. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__chars__ = __webpack_require__(182);
  13186. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(4);
  13187. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return TokenType; });
  13188. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return Lexer; });
  13189. /* unused harmony export Token */
  13190. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return EOF; });
  13191. /* harmony export (immutable) */ exports["a"] = isIdentifier;
  13192. /* harmony export (immutable) */ exports["b"] = isQuote;
  13193. /**
  13194. * @license
  13195. * Copyright Google Inc. All Rights Reserved.
  13196. *
  13197. * Use of this source code is governed by an MIT-style license that can be
  13198. * found in the LICENSE file at https://angular.io/license
  13199. */
  13200. var TokenType;
  13201. (function (TokenType) {
  13202. TokenType[TokenType["Character"] = 0] = "Character";
  13203. TokenType[TokenType["Identifier"] = 1] = "Identifier";
  13204. TokenType[TokenType["Keyword"] = 2] = "Keyword";
  13205. TokenType[TokenType["String"] = 3] = "String";
  13206. TokenType[TokenType["Operator"] = 4] = "Operator";
  13207. TokenType[TokenType["Number"] = 5] = "Number";
  13208. TokenType[TokenType["Error"] = 6] = "Error";
  13209. })(TokenType || (TokenType = {}));
  13210. var KEYWORDS = ['var', 'let', 'null', 'undefined', 'true', 'false', 'if', 'else', 'this'];
  13211. var Lexer = (function () {
  13212. function Lexer() {
  13213. }
  13214. Lexer.prototype.tokenize = function (text) {
  13215. var scanner = new _Scanner(text);
  13216. var tokens = [];
  13217. var token = scanner.scanToken();
  13218. while (token != null) {
  13219. tokens.push(token);
  13220. token = scanner.scanToken();
  13221. }
  13222. return tokens;
  13223. };
  13224. Lexer.decorators = [
  13225. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  13226. ];
  13227. /** @nocollapse */
  13228. Lexer.ctorParameters = [];
  13229. return Lexer;
  13230. }());
  13231. var Token = (function () {
  13232. function Token(index, type, numValue, strValue) {
  13233. this.index = index;
  13234. this.type = type;
  13235. this.numValue = numValue;
  13236. this.strValue = strValue;
  13237. }
  13238. Token.prototype.isCharacter = function (code) {
  13239. return this.type == TokenType.Character && this.numValue == code;
  13240. };
  13241. Token.prototype.isNumber = function () { return this.type == TokenType.Number; };
  13242. Token.prototype.isString = function () { return this.type == TokenType.String; };
  13243. Token.prototype.isOperator = function (operater) {
  13244. return this.type == TokenType.Operator && this.strValue == operater;
  13245. };
  13246. Token.prototype.isIdentifier = function () { return this.type == TokenType.Identifier; };
  13247. Token.prototype.isKeyword = function () { return this.type == TokenType.Keyword; };
  13248. Token.prototype.isKeywordLet = function () { return this.type == TokenType.Keyword && this.strValue == 'let'; };
  13249. Token.prototype.isKeywordNull = function () { return this.type == TokenType.Keyword && this.strValue == 'null'; };
  13250. Token.prototype.isKeywordUndefined = function () {
  13251. return this.type == TokenType.Keyword && this.strValue == 'undefined';
  13252. };
  13253. Token.prototype.isKeywordTrue = function () { return this.type == TokenType.Keyword && this.strValue == 'true'; };
  13254. Token.prototype.isKeywordFalse = function () { return this.type == TokenType.Keyword && this.strValue == 'false'; };
  13255. Token.prototype.isKeywordThis = function () { return this.type == TokenType.Keyword && this.strValue == 'this'; };
  13256. Token.prototype.isError = function () { return this.type == TokenType.Error; };
  13257. Token.prototype.toNumber = function () { return this.type == TokenType.Number ? this.numValue : -1; };
  13258. Token.prototype.toString = function () {
  13259. switch (this.type) {
  13260. case TokenType.Character:
  13261. case TokenType.Identifier:
  13262. case TokenType.Keyword:
  13263. case TokenType.Operator:
  13264. case TokenType.String:
  13265. case TokenType.Error:
  13266. return this.strValue;
  13267. case TokenType.Number:
  13268. return this.numValue.toString();
  13269. default:
  13270. return null;
  13271. }
  13272. };
  13273. return Token;
  13274. }());
  13275. function newCharacterToken(index, code) {
  13276. return new Token(index, TokenType.Character, code, __WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].fromCharCode(code));
  13277. }
  13278. function newIdentifierToken(index, text) {
  13279. return new Token(index, TokenType.Identifier, 0, text);
  13280. }
  13281. function newKeywordToken(index, text) {
  13282. return new Token(index, TokenType.Keyword, 0, text);
  13283. }
  13284. function newOperatorToken(index, text) {
  13285. return new Token(index, TokenType.Operator, 0, text);
  13286. }
  13287. function newStringToken(index, text) {
  13288. return new Token(index, TokenType.String, 0, text);
  13289. }
  13290. function newNumberToken(index, n) {
  13291. return new Token(index, TokenType.Number, n, '');
  13292. }
  13293. function newErrorToken(index, message) {
  13294. return new Token(index, TokenType.Error, 0, message);
  13295. }
  13296. var EOF = new Token(-1, TokenType.Character, 0, '');
  13297. var _Scanner = (function () {
  13298. function _Scanner(input) {
  13299. this.input = input;
  13300. this.peek = 0;
  13301. this.index = -1;
  13302. this.length = input.length;
  13303. this.advance();
  13304. }
  13305. _Scanner.prototype.advance = function () {
  13306. this.peek =
  13307. ++this.index >= this.length ? __WEBPACK_IMPORTED_MODULE_1__chars__["a" /* $EOF */] : __WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].charCodeAt(this.input, this.index);
  13308. };
  13309. _Scanner.prototype.scanToken = function () {
  13310. var input = this.input, length = this.length, peek = this.peek, index = this.index;
  13311. // Skip whitespace.
  13312. while (peek <= __WEBPACK_IMPORTED_MODULE_1__chars__["b" /* $SPACE */]) {
  13313. if (++index >= length) {
  13314. peek = __WEBPACK_IMPORTED_MODULE_1__chars__["a" /* $EOF */];
  13315. break;
  13316. }
  13317. else {
  13318. peek = __WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].charCodeAt(input, index);
  13319. }
  13320. }
  13321. this.peek = peek;
  13322. this.index = index;
  13323. if (index >= length) {
  13324. return null;
  13325. }
  13326. // Handle identifiers and numbers.
  13327. if (isIdentifierStart(peek))
  13328. return this.scanIdentifier();
  13329. if (__WEBPACK_IMPORTED_MODULE_1__chars__["c" /* isDigit */](peek))
  13330. return this.scanNumber(index);
  13331. var start = index;
  13332. switch (peek) {
  13333. case __WEBPACK_IMPORTED_MODULE_1__chars__["d" /* $PERIOD */]:
  13334. this.advance();
  13335. return __WEBPACK_IMPORTED_MODULE_1__chars__["c" /* isDigit */](this.peek) ? this.scanNumber(start) :
  13336. newCharacterToken(start, __WEBPACK_IMPORTED_MODULE_1__chars__["d" /* $PERIOD */]);
  13337. case __WEBPACK_IMPORTED_MODULE_1__chars__["e" /* $LPAREN */]:
  13338. case __WEBPACK_IMPORTED_MODULE_1__chars__["f" /* $RPAREN */]:
  13339. case __WEBPACK_IMPORTED_MODULE_1__chars__["g" /* $LBRACE */]:
  13340. case __WEBPACK_IMPORTED_MODULE_1__chars__["h" /* $RBRACE */]:
  13341. case __WEBPACK_IMPORTED_MODULE_1__chars__["i" /* $LBRACKET */]:
  13342. case __WEBPACK_IMPORTED_MODULE_1__chars__["j" /* $RBRACKET */]:
  13343. case __WEBPACK_IMPORTED_MODULE_1__chars__["k" /* $COMMA */]:
  13344. case __WEBPACK_IMPORTED_MODULE_1__chars__["l" /* $COLON */]:
  13345. case __WEBPACK_IMPORTED_MODULE_1__chars__["m" /* $SEMICOLON */]:
  13346. return this.scanCharacter(start, peek);
  13347. case __WEBPACK_IMPORTED_MODULE_1__chars__["n" /* $SQ */]:
  13348. case __WEBPACK_IMPORTED_MODULE_1__chars__["o" /* $DQ */]:
  13349. return this.scanString();
  13350. case __WEBPACK_IMPORTED_MODULE_1__chars__["p" /* $HASH */]:
  13351. case __WEBPACK_IMPORTED_MODULE_1__chars__["q" /* $PLUS */]:
  13352. case __WEBPACK_IMPORTED_MODULE_1__chars__["r" /* $MINUS */]:
  13353. case __WEBPACK_IMPORTED_MODULE_1__chars__["s" /* $STAR */]:
  13354. case __WEBPACK_IMPORTED_MODULE_1__chars__["t" /* $SLASH */]:
  13355. case __WEBPACK_IMPORTED_MODULE_1__chars__["u" /* $PERCENT */]:
  13356. case __WEBPACK_IMPORTED_MODULE_1__chars__["v" /* $CARET */]:
  13357. return this.scanOperator(start, __WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].fromCharCode(peek));
  13358. case __WEBPACK_IMPORTED_MODULE_1__chars__["w" /* $QUESTION */]:
  13359. return this.scanComplexOperator(start, '?', __WEBPACK_IMPORTED_MODULE_1__chars__["d" /* $PERIOD */], '.');
  13360. case __WEBPACK_IMPORTED_MODULE_1__chars__["x" /* $LT */]:
  13361. case __WEBPACK_IMPORTED_MODULE_1__chars__["y" /* $GT */]:
  13362. return this.scanComplexOperator(start, __WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].fromCharCode(peek), __WEBPACK_IMPORTED_MODULE_1__chars__["z" /* $EQ */], '=');
  13363. case __WEBPACK_IMPORTED_MODULE_1__chars__["A" /* $BANG */]:
  13364. case __WEBPACK_IMPORTED_MODULE_1__chars__["z" /* $EQ */]:
  13365. return this.scanComplexOperator(start, __WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].fromCharCode(peek), __WEBPACK_IMPORTED_MODULE_1__chars__["z" /* $EQ */], '=', __WEBPACK_IMPORTED_MODULE_1__chars__["z" /* $EQ */], '=');
  13366. case __WEBPACK_IMPORTED_MODULE_1__chars__["B" /* $AMPERSAND */]:
  13367. return this.scanComplexOperator(start, '&', __WEBPACK_IMPORTED_MODULE_1__chars__["B" /* $AMPERSAND */], '&');
  13368. case __WEBPACK_IMPORTED_MODULE_1__chars__["C" /* $BAR */]:
  13369. return this.scanComplexOperator(start, '|', __WEBPACK_IMPORTED_MODULE_1__chars__["C" /* $BAR */], '|');
  13370. case __WEBPACK_IMPORTED_MODULE_1__chars__["D" /* $NBSP */]:
  13371. while (__WEBPACK_IMPORTED_MODULE_1__chars__["E" /* isWhitespace */](this.peek))
  13372. this.advance();
  13373. return this.scanToken();
  13374. }
  13375. this.advance();
  13376. return this.error("Unexpected character [" + __WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].fromCharCode(peek) + "]", 0);
  13377. };
  13378. _Scanner.prototype.scanCharacter = function (start, code) {
  13379. this.advance();
  13380. return newCharacterToken(start, code);
  13381. };
  13382. _Scanner.prototype.scanOperator = function (start, str) {
  13383. this.advance();
  13384. return newOperatorToken(start, str);
  13385. };
  13386. /**
  13387. * Tokenize a 2/3 char long operator
  13388. *
  13389. * @param start start index in the expression
  13390. * @param one first symbol (always part of the operator)
  13391. * @param twoCode code point for the second symbol
  13392. * @param two second symbol (part of the operator when the second code point matches)
  13393. * @param threeCode code point for the third symbol
  13394. * @param three third symbol (part of the operator when provided and matches source expression)
  13395. * @returns {Token}
  13396. */
  13397. _Scanner.prototype.scanComplexOperator = function (start, one, twoCode, two, threeCode, three) {
  13398. this.advance();
  13399. var str = one;
  13400. if (this.peek == twoCode) {
  13401. this.advance();
  13402. str += two;
  13403. }
  13404. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(threeCode) && this.peek == threeCode) {
  13405. this.advance();
  13406. str += three;
  13407. }
  13408. return newOperatorToken(start, str);
  13409. };
  13410. _Scanner.prototype.scanIdentifier = function () {
  13411. var start = this.index;
  13412. this.advance();
  13413. while (isIdentifierPart(this.peek))
  13414. this.advance();
  13415. var str = this.input.substring(start, this.index);
  13416. return KEYWORDS.indexOf(str) > -1 ? newKeywordToken(start, str) :
  13417. newIdentifierToken(start, str);
  13418. };
  13419. _Scanner.prototype.scanNumber = function (start) {
  13420. var simple = (this.index === start);
  13421. this.advance(); // Skip initial digit.
  13422. while (true) {
  13423. if (__WEBPACK_IMPORTED_MODULE_1__chars__["c" /* isDigit */](this.peek)) {
  13424. }
  13425. else if (this.peek == __WEBPACK_IMPORTED_MODULE_1__chars__["d" /* $PERIOD */]) {
  13426. simple = false;
  13427. }
  13428. else if (isExponentStart(this.peek)) {
  13429. this.advance();
  13430. if (isExponentSign(this.peek))
  13431. this.advance();
  13432. if (!__WEBPACK_IMPORTED_MODULE_1__chars__["c" /* isDigit */](this.peek))
  13433. return this.error('Invalid exponent', -1);
  13434. simple = false;
  13435. }
  13436. else {
  13437. break;
  13438. }
  13439. this.advance();
  13440. }
  13441. var str = this.input.substring(start, this.index);
  13442. var value = simple ? __WEBPACK_IMPORTED_MODULE_2__facade_lang__["m" /* NumberWrapper */].parseIntAutoRadix(str) : parseFloat(str);
  13443. return newNumberToken(start, value);
  13444. };
  13445. _Scanner.prototype.scanString = function () {
  13446. var start = this.index;
  13447. var quote = this.peek;
  13448. this.advance(); // Skip initial quote.
  13449. var buffer;
  13450. var marker = this.index;
  13451. var input = this.input;
  13452. while (this.peek != quote) {
  13453. if (this.peek == __WEBPACK_IMPORTED_MODULE_1__chars__["F" /* $BACKSLASH */]) {
  13454. if (buffer == null)
  13455. buffer = new __WEBPACK_IMPORTED_MODULE_2__facade_lang__["n" /* StringJoiner */]();
  13456. buffer.add(input.substring(marker, this.index));
  13457. this.advance();
  13458. var unescapedCode;
  13459. if (this.peek == __WEBPACK_IMPORTED_MODULE_1__chars__["G" /* $u */]) {
  13460. // 4 character hex code for unicode character.
  13461. var hex = input.substring(this.index + 1, this.index + 5);
  13462. try {
  13463. unescapedCode = __WEBPACK_IMPORTED_MODULE_2__facade_lang__["m" /* NumberWrapper */].parseInt(hex, 16);
  13464. }
  13465. catch (e) {
  13466. return this.error("Invalid unicode escape [\\u" + hex + "]", 0);
  13467. }
  13468. for (var i = 0; i < 5; i++) {
  13469. this.advance();
  13470. }
  13471. }
  13472. else {
  13473. unescapedCode = unescape(this.peek);
  13474. this.advance();
  13475. }
  13476. buffer.add(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].fromCharCode(unescapedCode));
  13477. marker = this.index;
  13478. }
  13479. else if (this.peek == __WEBPACK_IMPORTED_MODULE_1__chars__["a" /* $EOF */]) {
  13480. return this.error('Unterminated quote', 0);
  13481. }
  13482. else {
  13483. this.advance();
  13484. }
  13485. }
  13486. var last = input.substring(marker, this.index);
  13487. this.advance(); // Skip terminating quote.
  13488. // Compute the unescaped string value.
  13489. var unescaped = last;
  13490. if (buffer != null) {
  13491. buffer.add(last);
  13492. unescaped = buffer.toString();
  13493. }
  13494. return newStringToken(start, unescaped);
  13495. };
  13496. _Scanner.prototype.error = function (message, offset) {
  13497. var position = this.index + offset;
  13498. return newErrorToken(position, "Lexer Error: " + message + " at column " + position + " in expression [" + this.input + "]");
  13499. };
  13500. return _Scanner;
  13501. }());
  13502. function isIdentifierStart(code) {
  13503. return (__WEBPACK_IMPORTED_MODULE_1__chars__["H" /* $a */] <= code && code <= __WEBPACK_IMPORTED_MODULE_1__chars__["I" /* $z */]) || (__WEBPACK_IMPORTED_MODULE_1__chars__["J" /* $A */] <= code && code <= __WEBPACK_IMPORTED_MODULE_1__chars__["K" /* $Z */]) ||
  13504. (code == __WEBPACK_IMPORTED_MODULE_1__chars__["L" /* $_ */]) || (code == __WEBPACK_IMPORTED_MODULE_1__chars__["M" /* $$ */]);
  13505. }
  13506. function isIdentifier(input) {
  13507. if (input.length == 0)
  13508. return false;
  13509. var scanner = new _Scanner(input);
  13510. if (!isIdentifierStart(scanner.peek))
  13511. return false;
  13512. scanner.advance();
  13513. while (scanner.peek !== __WEBPACK_IMPORTED_MODULE_1__chars__["a" /* $EOF */]) {
  13514. if (!isIdentifierPart(scanner.peek))
  13515. return false;
  13516. scanner.advance();
  13517. }
  13518. return true;
  13519. }
  13520. function isIdentifierPart(code) {
  13521. return __WEBPACK_IMPORTED_MODULE_1__chars__["N" /* isAsciiLetter */](code) || __WEBPACK_IMPORTED_MODULE_1__chars__["c" /* isDigit */](code) || (code == __WEBPACK_IMPORTED_MODULE_1__chars__["L" /* $_ */]) ||
  13522. (code == __WEBPACK_IMPORTED_MODULE_1__chars__["M" /* $$ */]);
  13523. }
  13524. function isExponentStart(code) {
  13525. return code == __WEBPACK_IMPORTED_MODULE_1__chars__["O" /* $e */] || code == __WEBPACK_IMPORTED_MODULE_1__chars__["P" /* $E */];
  13526. }
  13527. function isExponentSign(code) {
  13528. return code == __WEBPACK_IMPORTED_MODULE_1__chars__["r" /* $MINUS */] || code == __WEBPACK_IMPORTED_MODULE_1__chars__["q" /* $PLUS */];
  13529. }
  13530. function isQuote(code) {
  13531. return code === __WEBPACK_IMPORTED_MODULE_1__chars__["n" /* $SQ */] || code === __WEBPACK_IMPORTED_MODULE_1__chars__["o" /* $DQ */] || code === __WEBPACK_IMPORTED_MODULE_1__chars__["Q" /* $BT */];
  13532. }
  13533. function unescape(code) {
  13534. switch (code) {
  13535. case __WEBPACK_IMPORTED_MODULE_1__chars__["R" /* $n */]:
  13536. return __WEBPACK_IMPORTED_MODULE_1__chars__["S" /* $LF */];
  13537. case __WEBPACK_IMPORTED_MODULE_1__chars__["T" /* $f */]:
  13538. return __WEBPACK_IMPORTED_MODULE_1__chars__["U" /* $FF */];
  13539. case __WEBPACK_IMPORTED_MODULE_1__chars__["V" /* $r */]:
  13540. return __WEBPACK_IMPORTED_MODULE_1__chars__["W" /* $CR */];
  13541. case __WEBPACK_IMPORTED_MODULE_1__chars__["X" /* $t */]:
  13542. return __WEBPACK_IMPORTED_MODULE_1__chars__["Y" /* $TAB */];
  13543. case __WEBPACK_IMPORTED_MODULE_1__chars__["Z" /* $v */]:
  13544. return __WEBPACK_IMPORTED_MODULE_1__chars__["_0" /* $VTAB */];
  13545. default:
  13546. return code;
  13547. }
  13548. }
  13549. //# sourceMappingURL=lexer.js.map
  13550. /***/ },
  13551. /* 131 */
  13552. /***/ function(module, exports, __webpack_require__) {
  13553. "use strict";
  13554. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  13555. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__chars__ = __webpack_require__(182);
  13556. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(4);
  13557. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ml_parser_interpolation_config__ = __webpack_require__(49);
  13558. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__ast__ = __webpack_require__(185);
  13559. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__lexer__ = __webpack_require__(130);
  13560. /* unused harmony export SplitInterpolation */
  13561. /* unused harmony export TemplateBindingParseResult */
  13562. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Parser; });
  13563. /* unused harmony export _ParseAST */
  13564. /**
  13565. * @license
  13566. * Copyright Google Inc. All Rights Reserved.
  13567. *
  13568. * Use of this source code is governed by an MIT-style license that can be
  13569. * found in the LICENSE file at https://angular.io/license
  13570. */
  13571. var SplitInterpolation = (function () {
  13572. function SplitInterpolation(strings, expressions) {
  13573. this.strings = strings;
  13574. this.expressions = expressions;
  13575. }
  13576. return SplitInterpolation;
  13577. }());
  13578. var TemplateBindingParseResult = (function () {
  13579. function TemplateBindingParseResult(templateBindings, warnings, errors) {
  13580. this.templateBindings = templateBindings;
  13581. this.warnings = warnings;
  13582. this.errors = errors;
  13583. }
  13584. return TemplateBindingParseResult;
  13585. }());
  13586. function _createInterpolateRegExp(config) {
  13587. var pattern = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["o" /* escapeRegExp */])(config.start) + '([\\s\\S]*?)' + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["o" /* escapeRegExp */])(config.end);
  13588. return new RegExp(pattern, 'g');
  13589. }
  13590. var Parser = (function () {
  13591. function Parser(_lexer) {
  13592. this._lexer = _lexer;
  13593. this.errors = [];
  13594. }
  13595. Parser.prototype.parseAction = function (input, location, interpolationConfig) {
  13596. if (interpolationConfig === void 0) { interpolationConfig = __WEBPACK_IMPORTED_MODULE_3__ml_parser_interpolation_config__["a" /* DEFAULT_INTERPOLATION_CONFIG */]; }
  13597. this._checkNoInterpolation(input, location, interpolationConfig);
  13598. var tokens = this._lexer.tokenize(this._stripComments(input));
  13599. var ast = new _ParseAST(input, location, tokens, true, this.errors).parseChain();
  13600. return new __WEBPACK_IMPORTED_MODULE_4__ast__["a" /* ASTWithSource */](ast, input, location, this.errors);
  13601. };
  13602. Parser.prototype.parseBinding = function (input, location, interpolationConfig) {
  13603. if (interpolationConfig === void 0) { interpolationConfig = __WEBPACK_IMPORTED_MODULE_3__ml_parser_interpolation_config__["a" /* DEFAULT_INTERPOLATION_CONFIG */]; }
  13604. var ast = this._parseBindingAst(input, location, interpolationConfig);
  13605. return new __WEBPACK_IMPORTED_MODULE_4__ast__["a" /* ASTWithSource */](ast, input, location, this.errors);
  13606. };
  13607. Parser.prototype.parseSimpleBinding = function (input, location, interpolationConfig) {
  13608. if (interpolationConfig === void 0) { interpolationConfig = __WEBPACK_IMPORTED_MODULE_3__ml_parser_interpolation_config__["a" /* DEFAULT_INTERPOLATION_CONFIG */]; }
  13609. var ast = this._parseBindingAst(input, location, interpolationConfig);
  13610. if (!SimpleExpressionChecker.check(ast)) {
  13611. this._reportError('Host binding expression can only contain field access and constants', input, location);
  13612. }
  13613. return new __WEBPACK_IMPORTED_MODULE_4__ast__["a" /* ASTWithSource */](ast, input, location, this.errors);
  13614. };
  13615. Parser.prototype._reportError = function (message, input, errLocation, ctxLocation) {
  13616. this.errors.push(new __WEBPACK_IMPORTED_MODULE_4__ast__["b" /* ParserError */](message, input, errLocation, ctxLocation));
  13617. };
  13618. Parser.prototype._parseBindingAst = function (input, location, interpolationConfig) {
  13619. // Quotes expressions use 3rd-party expression language. We don't want to use
  13620. // our lexer or parser for that, so we check for that ahead of time.
  13621. var quote = this._parseQuote(input, location);
  13622. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(quote)) {
  13623. return quote;
  13624. }
  13625. this._checkNoInterpolation(input, location, interpolationConfig);
  13626. var tokens = this._lexer.tokenize(this._stripComments(input));
  13627. return new _ParseAST(input, location, tokens, false, this.errors).parseChain();
  13628. };
  13629. Parser.prototype._parseQuote = function (input, location) {
  13630. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(input))
  13631. return null;
  13632. var prefixSeparatorIndex = input.indexOf(':');
  13633. if (prefixSeparatorIndex == -1)
  13634. return null;
  13635. var prefix = input.substring(0, prefixSeparatorIndex).trim();
  13636. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__lexer__["a" /* isIdentifier */])(prefix))
  13637. return null;
  13638. var uninterpretedExpression = input.substring(prefixSeparatorIndex + 1);
  13639. return new __WEBPACK_IMPORTED_MODULE_4__ast__["c" /* Quote */](new __WEBPACK_IMPORTED_MODULE_4__ast__["d" /* ParseSpan */](0, input.length), prefix, uninterpretedExpression, location);
  13640. };
  13641. Parser.prototype.parseTemplateBindings = function (input, location) {
  13642. var tokens = this._lexer.tokenize(input);
  13643. return new _ParseAST(input, location, tokens, false, this.errors).parseTemplateBindings();
  13644. };
  13645. Parser.prototype.parseInterpolation = function (input, location, interpolationConfig) {
  13646. if (interpolationConfig === void 0) { interpolationConfig = __WEBPACK_IMPORTED_MODULE_3__ml_parser_interpolation_config__["a" /* DEFAULT_INTERPOLATION_CONFIG */]; }
  13647. var split = this.splitInterpolation(input, location, interpolationConfig);
  13648. if (split == null)
  13649. return null;
  13650. var expressions = [];
  13651. for (var i = 0; i < split.expressions.length; ++i) {
  13652. var tokens = this._lexer.tokenize(this._stripComments(split.expressions[i]));
  13653. var ast = new _ParseAST(input, location, tokens, false, this.errors).parseChain();
  13654. expressions.push(ast);
  13655. }
  13656. return new __WEBPACK_IMPORTED_MODULE_4__ast__["a" /* ASTWithSource */](new __WEBPACK_IMPORTED_MODULE_4__ast__["e" /* Interpolation */](new __WEBPACK_IMPORTED_MODULE_4__ast__["d" /* ParseSpan */](0, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(input) ? 0 : input.length), split.strings, expressions), input, location, this.errors);
  13657. };
  13658. Parser.prototype.splitInterpolation = function (input, location, interpolationConfig) {
  13659. if (interpolationConfig === void 0) { interpolationConfig = __WEBPACK_IMPORTED_MODULE_3__ml_parser_interpolation_config__["a" /* DEFAULT_INTERPOLATION_CONFIG */]; }
  13660. var regexp = _createInterpolateRegExp(interpolationConfig);
  13661. var parts = __WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].split(input, regexp);
  13662. if (parts.length <= 1) {
  13663. return null;
  13664. }
  13665. var strings = [];
  13666. var expressions = [];
  13667. for (var i = 0; i < parts.length; i++) {
  13668. var part = parts[i];
  13669. if (i % 2 === 0) {
  13670. // fixed string
  13671. strings.push(part);
  13672. }
  13673. else if (part.trim().length > 0) {
  13674. expressions.push(part);
  13675. }
  13676. else {
  13677. this._reportError('Blank expressions are not allowed in interpolated strings', input, "at column " + this._findInterpolationErrorColumn(parts, i, interpolationConfig) + " in", location);
  13678. }
  13679. }
  13680. return new SplitInterpolation(strings, expressions);
  13681. };
  13682. Parser.prototype.wrapLiteralPrimitive = function (input, location) {
  13683. return new __WEBPACK_IMPORTED_MODULE_4__ast__["a" /* ASTWithSource */](new __WEBPACK_IMPORTED_MODULE_4__ast__["f" /* LiteralPrimitive */](new __WEBPACK_IMPORTED_MODULE_4__ast__["d" /* ParseSpan */](0, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(input) ? 0 : input.length), input), input, location, this.errors);
  13684. };
  13685. Parser.prototype._stripComments = function (input) {
  13686. var i = this._commentStart(input);
  13687. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(i) ? input.substring(0, i).trim() : input;
  13688. };
  13689. Parser.prototype._commentStart = function (input) {
  13690. var outerQuote = null;
  13691. for (var i = 0; i < input.length - 1; i++) {
  13692. var char = __WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].charCodeAt(input, i);
  13693. var nextChar = __WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].charCodeAt(input, i + 1);
  13694. if (char === __WEBPACK_IMPORTED_MODULE_1__chars__["t" /* $SLASH */] && nextChar == __WEBPACK_IMPORTED_MODULE_1__chars__["t" /* $SLASH */] && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(outerQuote))
  13695. return i;
  13696. if (outerQuote === char) {
  13697. outerQuote = null;
  13698. }
  13699. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(outerQuote) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__lexer__["b" /* isQuote */])(char)) {
  13700. outerQuote = char;
  13701. }
  13702. }
  13703. return null;
  13704. };
  13705. Parser.prototype._checkNoInterpolation = function (input, location, interpolationConfig) {
  13706. var regexp = _createInterpolateRegExp(interpolationConfig);
  13707. var parts = __WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].split(input, regexp);
  13708. if (parts.length > 1) {
  13709. this._reportError("Got interpolation (" + interpolationConfig.start + interpolationConfig.end + ") where expression was expected", input, "at column " + this._findInterpolationErrorColumn(parts, 1, interpolationConfig) + " in", location);
  13710. }
  13711. };
  13712. Parser.prototype._findInterpolationErrorColumn = function (parts, partInErrIdx, interpolationConfig) {
  13713. var errLocation = '';
  13714. for (var j = 0; j < partInErrIdx; j++) {
  13715. errLocation += j % 2 === 0 ?
  13716. parts[j] :
  13717. "" + interpolationConfig.start + parts[j] + interpolationConfig.end;
  13718. }
  13719. return errLocation.length;
  13720. };
  13721. Parser.decorators = [
  13722. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  13723. ];
  13724. /** @nocollapse */
  13725. Parser.ctorParameters = [
  13726. { type: __WEBPACK_IMPORTED_MODULE_5__lexer__["c" /* Lexer */], },
  13727. ];
  13728. return Parser;
  13729. }());
  13730. var _ParseAST = (function () {
  13731. function _ParseAST(input, location, tokens, parseAction, errors) {
  13732. this.input = input;
  13733. this.location = location;
  13734. this.tokens = tokens;
  13735. this.parseAction = parseAction;
  13736. this.errors = errors;
  13737. this.rparensExpected = 0;
  13738. this.rbracketsExpected = 0;
  13739. this.rbracesExpected = 0;
  13740. this.index = 0;
  13741. }
  13742. _ParseAST.prototype.peek = function (offset) {
  13743. var i = this.index + offset;
  13744. return i < this.tokens.length ? this.tokens[i] : __WEBPACK_IMPORTED_MODULE_5__lexer__["d" /* EOF */];
  13745. };
  13746. Object.defineProperty(_ParseAST.prototype, "next", {
  13747. get: function () { return this.peek(0); },
  13748. enumerable: true,
  13749. configurable: true
  13750. });
  13751. Object.defineProperty(_ParseAST.prototype, "inputIndex", {
  13752. get: function () {
  13753. return (this.index < this.tokens.length) ? this.next.index : this.input.length;
  13754. },
  13755. enumerable: true,
  13756. configurable: true
  13757. });
  13758. _ParseAST.prototype.span = function (start) { return new __WEBPACK_IMPORTED_MODULE_4__ast__["d" /* ParseSpan */](start, this.inputIndex); };
  13759. _ParseAST.prototype.advance = function () { this.index++; };
  13760. _ParseAST.prototype.optionalCharacter = function (code) {
  13761. if (this.next.isCharacter(code)) {
  13762. this.advance();
  13763. return true;
  13764. }
  13765. else {
  13766. return false;
  13767. }
  13768. };
  13769. _ParseAST.prototype.peekKeywordLet = function () { return this.next.isKeywordLet(); };
  13770. _ParseAST.prototype.expectCharacter = function (code) {
  13771. if (this.optionalCharacter(code))
  13772. return;
  13773. this.error("Missing expected " + __WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].fromCharCode(code));
  13774. };
  13775. _ParseAST.prototype.optionalOperator = function (op) {
  13776. if (this.next.isOperator(op)) {
  13777. this.advance();
  13778. return true;
  13779. }
  13780. else {
  13781. return false;
  13782. }
  13783. };
  13784. _ParseAST.prototype.expectOperator = function (operator) {
  13785. if (this.optionalOperator(operator))
  13786. return;
  13787. this.error("Missing expected operator " + operator);
  13788. };
  13789. _ParseAST.prototype.expectIdentifierOrKeyword = function () {
  13790. var n = this.next;
  13791. if (!n.isIdentifier() && !n.isKeyword()) {
  13792. this.error("Unexpected token " + n + ", expected identifier or keyword");
  13793. return '';
  13794. }
  13795. this.advance();
  13796. return n.toString();
  13797. };
  13798. _ParseAST.prototype.expectIdentifierOrKeywordOrString = function () {
  13799. var n = this.next;
  13800. if (!n.isIdentifier() && !n.isKeyword() && !n.isString()) {
  13801. this.error("Unexpected token " + n + ", expected identifier, keyword, or string");
  13802. return '';
  13803. }
  13804. this.advance();
  13805. return n.toString();
  13806. };
  13807. _ParseAST.prototype.parseChain = function () {
  13808. var exprs = [];
  13809. var start = this.inputIndex;
  13810. while (this.index < this.tokens.length) {
  13811. var expr = this.parsePipe();
  13812. exprs.push(expr);
  13813. if (this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["m" /* $SEMICOLON */])) {
  13814. if (!this.parseAction) {
  13815. this.error('Binding expression cannot contain chained expression');
  13816. }
  13817. while (this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["m" /* $SEMICOLON */])) {
  13818. } // read all semicolons
  13819. }
  13820. else if (this.index < this.tokens.length) {
  13821. this.error("Unexpected token '" + this.next + "'");
  13822. }
  13823. }
  13824. if (exprs.length == 0)
  13825. return new __WEBPACK_IMPORTED_MODULE_4__ast__["g" /* EmptyExpr */](this.span(start));
  13826. if (exprs.length == 1)
  13827. return exprs[0];
  13828. return new __WEBPACK_IMPORTED_MODULE_4__ast__["h" /* Chain */](this.span(start), exprs);
  13829. };
  13830. _ParseAST.prototype.parsePipe = function () {
  13831. var result = this.parseExpression();
  13832. if (this.optionalOperator('|')) {
  13833. if (this.parseAction) {
  13834. this.error('Cannot have a pipe in an action expression');
  13835. }
  13836. do {
  13837. var name = this.expectIdentifierOrKeyword();
  13838. var args = [];
  13839. while (this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["l" /* $COLON */])) {
  13840. args.push(this.parseExpression());
  13841. }
  13842. result = new __WEBPACK_IMPORTED_MODULE_4__ast__["i" /* BindingPipe */](this.span(result.span.start), result, name, args);
  13843. } while (this.optionalOperator('|'));
  13844. }
  13845. return result;
  13846. };
  13847. _ParseAST.prototype.parseExpression = function () { return this.parseConditional(); };
  13848. _ParseAST.prototype.parseConditional = function () {
  13849. var start = this.inputIndex;
  13850. var result = this.parseLogicalOr();
  13851. if (this.optionalOperator('?')) {
  13852. var yes = this.parsePipe();
  13853. var no = void 0;
  13854. if (!this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["l" /* $COLON */])) {
  13855. var end = this.inputIndex;
  13856. var expression = this.input.substring(start, end);
  13857. this.error("Conditional expression " + expression + " requires all 3 expressions");
  13858. no = new __WEBPACK_IMPORTED_MODULE_4__ast__["g" /* EmptyExpr */](this.span(start));
  13859. }
  13860. else {
  13861. no = this.parsePipe();
  13862. }
  13863. return new __WEBPACK_IMPORTED_MODULE_4__ast__["j" /* Conditional */](this.span(start), result, yes, no);
  13864. }
  13865. else {
  13866. return result;
  13867. }
  13868. };
  13869. _ParseAST.prototype.parseLogicalOr = function () {
  13870. // '||'
  13871. var result = this.parseLogicalAnd();
  13872. while (this.optionalOperator('||')) {
  13873. var right = this.parseLogicalAnd();
  13874. result = new __WEBPACK_IMPORTED_MODULE_4__ast__["k" /* Binary */](this.span(result.span.start), '||', result, right);
  13875. }
  13876. return result;
  13877. };
  13878. _ParseAST.prototype.parseLogicalAnd = function () {
  13879. // '&&'
  13880. var result = this.parseEquality();
  13881. while (this.optionalOperator('&&')) {
  13882. var right = this.parseEquality();
  13883. result = new __WEBPACK_IMPORTED_MODULE_4__ast__["k" /* Binary */](this.span(result.span.start), '&&', result, right);
  13884. }
  13885. return result;
  13886. };
  13887. _ParseAST.prototype.parseEquality = function () {
  13888. // '==','!=','===','!=='
  13889. var result = this.parseRelational();
  13890. while (this.next.type == __WEBPACK_IMPORTED_MODULE_5__lexer__["e" /* TokenType */].Operator) {
  13891. var operator = this.next.strValue;
  13892. switch (operator) {
  13893. case '==':
  13894. case '===':
  13895. case '!=':
  13896. case '!==':
  13897. this.advance();
  13898. var right = this.parseRelational();
  13899. result = new __WEBPACK_IMPORTED_MODULE_4__ast__["k" /* Binary */](this.span(result.span.start), operator, result, right);
  13900. continue;
  13901. }
  13902. break;
  13903. }
  13904. return result;
  13905. };
  13906. _ParseAST.prototype.parseRelational = function () {
  13907. // '<', '>', '<=', '>='
  13908. var result = this.parseAdditive();
  13909. while (this.next.type == __WEBPACK_IMPORTED_MODULE_5__lexer__["e" /* TokenType */].Operator) {
  13910. var operator = this.next.strValue;
  13911. switch (operator) {
  13912. case '<':
  13913. case '>':
  13914. case '<=':
  13915. case '>=':
  13916. this.advance();
  13917. var right = this.parseAdditive();
  13918. result = new __WEBPACK_IMPORTED_MODULE_4__ast__["k" /* Binary */](this.span(result.span.start), operator, result, right);
  13919. continue;
  13920. }
  13921. break;
  13922. }
  13923. return result;
  13924. };
  13925. _ParseAST.prototype.parseAdditive = function () {
  13926. // '+', '-'
  13927. var result = this.parseMultiplicative();
  13928. while (this.next.type == __WEBPACK_IMPORTED_MODULE_5__lexer__["e" /* TokenType */].Operator) {
  13929. var operator = this.next.strValue;
  13930. switch (operator) {
  13931. case '+':
  13932. case '-':
  13933. this.advance();
  13934. var right = this.parseMultiplicative();
  13935. result = new __WEBPACK_IMPORTED_MODULE_4__ast__["k" /* Binary */](this.span(result.span.start), operator, result, right);
  13936. continue;
  13937. }
  13938. break;
  13939. }
  13940. return result;
  13941. };
  13942. _ParseAST.prototype.parseMultiplicative = function () {
  13943. // '*', '%', '/'
  13944. var result = this.parsePrefix();
  13945. while (this.next.type == __WEBPACK_IMPORTED_MODULE_5__lexer__["e" /* TokenType */].Operator) {
  13946. var operator = this.next.strValue;
  13947. switch (operator) {
  13948. case '*':
  13949. case '%':
  13950. case '/':
  13951. this.advance();
  13952. var right = this.parsePrefix();
  13953. result = new __WEBPACK_IMPORTED_MODULE_4__ast__["k" /* Binary */](this.span(result.span.start), operator, result, right);
  13954. continue;
  13955. }
  13956. break;
  13957. }
  13958. return result;
  13959. };
  13960. _ParseAST.prototype.parsePrefix = function () {
  13961. if (this.next.type == __WEBPACK_IMPORTED_MODULE_5__lexer__["e" /* TokenType */].Operator) {
  13962. var start = this.inputIndex;
  13963. var operator = this.next.strValue;
  13964. var result = void 0;
  13965. switch (operator) {
  13966. case '+':
  13967. this.advance();
  13968. return this.parsePrefix();
  13969. case '-':
  13970. this.advance();
  13971. result = this.parsePrefix();
  13972. return new __WEBPACK_IMPORTED_MODULE_4__ast__["k" /* Binary */](this.span(start), operator, new __WEBPACK_IMPORTED_MODULE_4__ast__["f" /* LiteralPrimitive */](new __WEBPACK_IMPORTED_MODULE_4__ast__["d" /* ParseSpan */](start, start), 0), result);
  13973. case '!':
  13974. this.advance();
  13975. result = this.parsePrefix();
  13976. return new __WEBPACK_IMPORTED_MODULE_4__ast__["l" /* PrefixNot */](this.span(start), result);
  13977. }
  13978. }
  13979. return this.parseCallChain();
  13980. };
  13981. _ParseAST.prototype.parseCallChain = function () {
  13982. var result = this.parsePrimary();
  13983. while (true) {
  13984. if (this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["d" /* $PERIOD */])) {
  13985. result = this.parseAccessMemberOrMethodCall(result, false);
  13986. }
  13987. else if (this.optionalOperator('?.')) {
  13988. result = this.parseAccessMemberOrMethodCall(result, true);
  13989. }
  13990. else if (this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["i" /* $LBRACKET */])) {
  13991. this.rbracketsExpected++;
  13992. var key = this.parsePipe();
  13993. this.rbracketsExpected--;
  13994. this.expectCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["j" /* $RBRACKET */]);
  13995. if (this.optionalOperator('=')) {
  13996. var value = this.parseConditional();
  13997. result = new __WEBPACK_IMPORTED_MODULE_4__ast__["m" /* KeyedWrite */](this.span(result.span.start), result, key, value);
  13998. }
  13999. else {
  14000. result = new __WEBPACK_IMPORTED_MODULE_4__ast__["n" /* KeyedRead */](this.span(result.span.start), result, key);
  14001. }
  14002. }
  14003. else if (this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["e" /* $LPAREN */])) {
  14004. this.rparensExpected++;
  14005. var args = this.parseCallArguments();
  14006. this.rparensExpected--;
  14007. this.expectCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["f" /* $RPAREN */]);
  14008. result = new __WEBPACK_IMPORTED_MODULE_4__ast__["o" /* FunctionCall */](this.span(result.span.start), result, args);
  14009. }
  14010. else {
  14011. return result;
  14012. }
  14013. }
  14014. };
  14015. _ParseAST.prototype.parsePrimary = function () {
  14016. var start = this.inputIndex;
  14017. if (this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["e" /* $LPAREN */])) {
  14018. this.rparensExpected++;
  14019. var result = this.parsePipe();
  14020. this.rparensExpected--;
  14021. this.expectCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["f" /* $RPAREN */]);
  14022. return result;
  14023. }
  14024. else if (this.next.isKeywordNull()) {
  14025. this.advance();
  14026. return new __WEBPACK_IMPORTED_MODULE_4__ast__["f" /* LiteralPrimitive */](this.span(start), null);
  14027. }
  14028. else if (this.next.isKeywordUndefined()) {
  14029. this.advance();
  14030. return new __WEBPACK_IMPORTED_MODULE_4__ast__["f" /* LiteralPrimitive */](this.span(start), void 0);
  14031. }
  14032. else if (this.next.isKeywordTrue()) {
  14033. this.advance();
  14034. return new __WEBPACK_IMPORTED_MODULE_4__ast__["f" /* LiteralPrimitive */](this.span(start), true);
  14035. }
  14036. else if (this.next.isKeywordFalse()) {
  14037. this.advance();
  14038. return new __WEBPACK_IMPORTED_MODULE_4__ast__["f" /* LiteralPrimitive */](this.span(start), false);
  14039. }
  14040. else if (this.next.isKeywordThis()) {
  14041. this.advance();
  14042. return new __WEBPACK_IMPORTED_MODULE_4__ast__["p" /* ImplicitReceiver */](this.span(start));
  14043. }
  14044. else if (this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["i" /* $LBRACKET */])) {
  14045. this.rbracketsExpected++;
  14046. var elements = this.parseExpressionList(__WEBPACK_IMPORTED_MODULE_1__chars__["j" /* $RBRACKET */]);
  14047. this.rbracketsExpected--;
  14048. this.expectCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["j" /* $RBRACKET */]);
  14049. return new __WEBPACK_IMPORTED_MODULE_4__ast__["q" /* LiteralArray */](this.span(start), elements);
  14050. }
  14051. else if (this.next.isCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["g" /* $LBRACE */])) {
  14052. return this.parseLiteralMap();
  14053. }
  14054. else if (this.next.isIdentifier()) {
  14055. return this.parseAccessMemberOrMethodCall(new __WEBPACK_IMPORTED_MODULE_4__ast__["p" /* ImplicitReceiver */](this.span(start)), false);
  14056. }
  14057. else if (this.next.isNumber()) {
  14058. var value = this.next.toNumber();
  14059. this.advance();
  14060. return new __WEBPACK_IMPORTED_MODULE_4__ast__["f" /* LiteralPrimitive */](this.span(start), value);
  14061. }
  14062. else if (this.next.isString()) {
  14063. var literalValue = this.next.toString();
  14064. this.advance();
  14065. return new __WEBPACK_IMPORTED_MODULE_4__ast__["f" /* LiteralPrimitive */](this.span(start), literalValue);
  14066. }
  14067. else if (this.index >= this.tokens.length) {
  14068. this.error("Unexpected end of expression: " + this.input);
  14069. return new __WEBPACK_IMPORTED_MODULE_4__ast__["g" /* EmptyExpr */](this.span(start));
  14070. }
  14071. else {
  14072. this.error("Unexpected token " + this.next);
  14073. return new __WEBPACK_IMPORTED_MODULE_4__ast__["g" /* EmptyExpr */](this.span(start));
  14074. }
  14075. };
  14076. _ParseAST.prototype.parseExpressionList = function (terminator) {
  14077. var result = [];
  14078. if (!this.next.isCharacter(terminator)) {
  14079. do {
  14080. result.push(this.parsePipe());
  14081. } while (this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["k" /* $COMMA */]));
  14082. }
  14083. return result;
  14084. };
  14085. _ParseAST.prototype.parseLiteralMap = function () {
  14086. var keys = [];
  14087. var values = [];
  14088. var start = this.inputIndex;
  14089. this.expectCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["g" /* $LBRACE */]);
  14090. if (!this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["h" /* $RBRACE */])) {
  14091. this.rbracesExpected++;
  14092. do {
  14093. var key = this.expectIdentifierOrKeywordOrString();
  14094. keys.push(key);
  14095. this.expectCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["l" /* $COLON */]);
  14096. values.push(this.parsePipe());
  14097. } while (this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["k" /* $COMMA */]));
  14098. this.rbracesExpected--;
  14099. this.expectCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["h" /* $RBRACE */]);
  14100. }
  14101. return new __WEBPACK_IMPORTED_MODULE_4__ast__["r" /* LiteralMap */](this.span(start), keys, values);
  14102. };
  14103. _ParseAST.prototype.parseAccessMemberOrMethodCall = function (receiver, isSafe) {
  14104. if (isSafe === void 0) { isSafe = false; }
  14105. var start = receiver.span.start;
  14106. var id = this.expectIdentifierOrKeyword();
  14107. if (this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["e" /* $LPAREN */])) {
  14108. this.rparensExpected++;
  14109. var args = this.parseCallArguments();
  14110. this.expectCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["f" /* $RPAREN */]);
  14111. this.rparensExpected--;
  14112. var span = this.span(start);
  14113. return isSafe ? new __WEBPACK_IMPORTED_MODULE_4__ast__["s" /* SafeMethodCall */](span, receiver, id, args) :
  14114. new __WEBPACK_IMPORTED_MODULE_4__ast__["t" /* MethodCall */](span, receiver, id, args);
  14115. }
  14116. else {
  14117. if (isSafe) {
  14118. if (this.optionalOperator('=')) {
  14119. this.error('The \'?.\' operator cannot be used in the assignment');
  14120. return new __WEBPACK_IMPORTED_MODULE_4__ast__["g" /* EmptyExpr */](this.span(start));
  14121. }
  14122. else {
  14123. return new __WEBPACK_IMPORTED_MODULE_4__ast__["u" /* SafePropertyRead */](this.span(start), receiver, id);
  14124. }
  14125. }
  14126. else {
  14127. if (this.optionalOperator('=')) {
  14128. if (!this.parseAction) {
  14129. this.error('Bindings cannot contain assignments');
  14130. return new __WEBPACK_IMPORTED_MODULE_4__ast__["g" /* EmptyExpr */](this.span(start));
  14131. }
  14132. var value = this.parseConditional();
  14133. return new __WEBPACK_IMPORTED_MODULE_4__ast__["v" /* PropertyWrite */](this.span(start), receiver, id, value);
  14134. }
  14135. else {
  14136. return new __WEBPACK_IMPORTED_MODULE_4__ast__["w" /* PropertyRead */](this.span(start), receiver, id);
  14137. }
  14138. }
  14139. }
  14140. };
  14141. _ParseAST.prototype.parseCallArguments = function () {
  14142. if (this.next.isCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["f" /* $RPAREN */]))
  14143. return [];
  14144. var positionals = [];
  14145. do {
  14146. positionals.push(this.parsePipe());
  14147. } while (this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["k" /* $COMMA */]));
  14148. return positionals;
  14149. };
  14150. /**
  14151. * An identifier, a keyword, a string with an optional `-` inbetween.
  14152. */
  14153. _ParseAST.prototype.expectTemplateBindingKey = function () {
  14154. var result = '';
  14155. var operatorFound = false;
  14156. do {
  14157. result += this.expectIdentifierOrKeywordOrString();
  14158. operatorFound = this.optionalOperator('-');
  14159. if (operatorFound) {
  14160. result += '-';
  14161. }
  14162. } while (operatorFound);
  14163. return result.toString();
  14164. };
  14165. _ParseAST.prototype.parseTemplateBindings = function () {
  14166. var bindings = [];
  14167. var prefix = null;
  14168. var warnings = [];
  14169. while (this.index < this.tokens.length) {
  14170. var keyIsVar = this.peekKeywordLet();
  14171. if (keyIsVar) {
  14172. this.advance();
  14173. }
  14174. var key = this.expectTemplateBindingKey();
  14175. if (!keyIsVar) {
  14176. if (prefix == null) {
  14177. prefix = key;
  14178. }
  14179. else {
  14180. key = prefix + key[0].toUpperCase() + key.substring(1);
  14181. }
  14182. }
  14183. this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["l" /* $COLON */]);
  14184. var name = null;
  14185. var expression = null;
  14186. if (keyIsVar) {
  14187. if (this.optionalOperator('=')) {
  14188. name = this.expectTemplateBindingKey();
  14189. }
  14190. else {
  14191. name = '\$implicit';
  14192. }
  14193. }
  14194. else if (this.next !== __WEBPACK_IMPORTED_MODULE_5__lexer__["d" /* EOF */] && !this.peekKeywordLet()) {
  14195. var start = this.inputIndex;
  14196. var ast = this.parsePipe();
  14197. var source = this.input.substring(start, this.inputIndex);
  14198. expression = new __WEBPACK_IMPORTED_MODULE_4__ast__["a" /* ASTWithSource */](ast, source, this.location, this.errors);
  14199. }
  14200. bindings.push(new __WEBPACK_IMPORTED_MODULE_4__ast__["x" /* TemplateBinding */](key, keyIsVar, name, expression));
  14201. if (!this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["m" /* $SEMICOLON */])) {
  14202. this.optionalCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["k" /* $COMMA */]);
  14203. }
  14204. }
  14205. return new TemplateBindingParseResult(bindings, warnings, this.errors);
  14206. };
  14207. _ParseAST.prototype.error = function (message, index) {
  14208. if (index === void 0) { index = null; }
  14209. this.errors.push(new __WEBPACK_IMPORTED_MODULE_4__ast__["b" /* ParserError */](message, this.input, this.locationText(index), this.location));
  14210. this.skip();
  14211. };
  14212. _ParseAST.prototype.locationText = function (index) {
  14213. if (index === void 0) { index = null; }
  14214. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(index))
  14215. index = this.index;
  14216. return (index < this.tokens.length) ? "at column " + (this.tokens[index].index + 1) + " in" :
  14217. "at the end of the expression";
  14218. };
  14219. // Error recovery should skip tokens until it encounters a recovery point. skip() treats
  14220. // the end of input and a ';' as unconditionally a recovery point. It also treats ')',
  14221. // '}' and ']' as conditional recovery points if one of calling productions is expecting
  14222. // one of these symbols. This allows skip() to recover from errors such as '(a.) + 1' allowing
  14223. // more of the AST to be retained (it doesn't skip any tokens as the ')' is retained because
  14224. // of the '(' begins an '(' <expr> ')' production). The recovery points of grouping symbols
  14225. // must be conditional as they must be skipped if none of the calling productions are not
  14226. // expecting the closing token else we will never make progress in the case of an
  14227. // extraneous group closing symbol (such as a stray ')'). This is not the case for ';' because
  14228. // parseChain() is always the root production and it expects a ';'.
  14229. // If a production expects one of these token it increments the corresponding nesting count,
  14230. // and then decrements it just prior to checking if the token is in the input.
  14231. _ParseAST.prototype.skip = function () {
  14232. var n = this.next;
  14233. while (this.index < this.tokens.length && !n.isCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["m" /* $SEMICOLON */]) &&
  14234. (this.rparensExpected <= 0 || !n.isCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["f" /* $RPAREN */])) &&
  14235. (this.rbracesExpected <= 0 || !n.isCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["h" /* $RBRACE */])) &&
  14236. (this.rbracketsExpected <= 0 || !n.isCharacter(__WEBPACK_IMPORTED_MODULE_1__chars__["j" /* $RBRACKET */]))) {
  14237. if (this.next.isError()) {
  14238. this.errors.push(new __WEBPACK_IMPORTED_MODULE_4__ast__["b" /* ParserError */](this.next.toString(), this.input, this.locationText(), this.location));
  14239. }
  14240. this.advance();
  14241. n = this.next;
  14242. }
  14243. };
  14244. return _ParseAST;
  14245. }());
  14246. var SimpleExpressionChecker = (function () {
  14247. function SimpleExpressionChecker() {
  14248. this.simple = true;
  14249. }
  14250. SimpleExpressionChecker.check = function (ast) {
  14251. var s = new SimpleExpressionChecker();
  14252. ast.visit(s);
  14253. return s.simple;
  14254. };
  14255. SimpleExpressionChecker.prototype.visitImplicitReceiver = function (ast, context) { };
  14256. SimpleExpressionChecker.prototype.visitInterpolation = function (ast, context) { this.simple = false; };
  14257. SimpleExpressionChecker.prototype.visitLiteralPrimitive = function (ast, context) { };
  14258. SimpleExpressionChecker.prototype.visitPropertyRead = function (ast, context) { };
  14259. SimpleExpressionChecker.prototype.visitPropertyWrite = function (ast, context) { this.simple = false; };
  14260. SimpleExpressionChecker.prototype.visitSafePropertyRead = function (ast, context) { this.simple = false; };
  14261. SimpleExpressionChecker.prototype.visitMethodCall = function (ast, context) { this.simple = false; };
  14262. SimpleExpressionChecker.prototype.visitSafeMethodCall = function (ast, context) { this.simple = false; };
  14263. SimpleExpressionChecker.prototype.visitFunctionCall = function (ast, context) { this.simple = false; };
  14264. SimpleExpressionChecker.prototype.visitLiteralArray = function (ast, context) { this.visitAll(ast.expressions); };
  14265. SimpleExpressionChecker.prototype.visitLiteralMap = function (ast, context) { this.visitAll(ast.values); };
  14266. SimpleExpressionChecker.prototype.visitBinary = function (ast, context) { this.simple = false; };
  14267. SimpleExpressionChecker.prototype.visitPrefixNot = function (ast, context) { this.simple = false; };
  14268. SimpleExpressionChecker.prototype.visitConditional = function (ast, context) { this.simple = false; };
  14269. SimpleExpressionChecker.prototype.visitPipe = function (ast, context) { this.simple = false; };
  14270. SimpleExpressionChecker.prototype.visitKeyedRead = function (ast, context) { this.simple = false; };
  14271. SimpleExpressionChecker.prototype.visitKeyedWrite = function (ast, context) { this.simple = false; };
  14272. SimpleExpressionChecker.prototype.visitAll = function (asts) {
  14273. var _this = this;
  14274. return asts.map(function (node) { return node.visit(_this); });
  14275. };
  14276. SimpleExpressionChecker.prototype.visitChain = function (ast, context) { this.simple = false; };
  14277. SimpleExpressionChecker.prototype.visitQuote = function (ast, context) { this.simple = false; };
  14278. return SimpleExpressionChecker;
  14279. }());
  14280. //# sourceMappingURL=parser.js.map
  14281. /***/ },
  14282. /* 132 */
  14283. /***/ function(module, exports, __webpack_require__) {
  14284. "use strict";
  14285. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  14286. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__html_tags__ = __webpack_require__(189);
  14287. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__interpolation_config__ = __webpack_require__(49);
  14288. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__parser__ = __webpack_require__(86);
  14289. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return HtmlParser; });
  14290. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_3__parser__["a"]; });
  14291. /* unused harmony reexport TreeError */
  14292. /**
  14293. * @license
  14294. * Copyright Google Inc. All Rights Reserved.
  14295. *
  14296. * Use of this source code is governed by an MIT-style license that can be
  14297. * found in the LICENSE file at https://angular.io/license
  14298. */
  14299. var __extends = (this && this.__extends) || function (d, b) {
  14300. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  14301. function __() { this.constructor = d; }
  14302. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  14303. };
  14304. var HtmlParser = (function (_super) {
  14305. __extends(HtmlParser, _super);
  14306. function HtmlParser() {
  14307. _super.call(this, __WEBPACK_IMPORTED_MODULE_1__html_tags__["a" /* getHtmlTagDefinition */]);
  14308. }
  14309. HtmlParser.prototype.parse = function (source, url, parseExpansionForms, interpolationConfig) {
  14310. if (parseExpansionForms === void 0) { parseExpansionForms = false; }
  14311. if (interpolationConfig === void 0) { interpolationConfig = __WEBPACK_IMPORTED_MODULE_2__interpolation_config__["a" /* DEFAULT_INTERPOLATION_CONFIG */]; }
  14312. return _super.prototype.parse.call(this, source, url, parseExpansionForms, interpolationConfig);
  14313. };
  14314. HtmlParser.decorators = [
  14315. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  14316. ];
  14317. /** @nocollapse */
  14318. HtmlParser.ctorParameters = [];
  14319. return HtmlParser;
  14320. }(__WEBPACK_IMPORTED_MODULE_3__parser__["b" /* Parser */]));
  14321. //# sourceMappingURL=html_parser.js.map
  14322. /***/ },
  14323. /* 133 */
  14324. /***/ function(module, exports, __webpack_require__) {
  14325. "use strict";
  14326. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  14327. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__compile_metadata__ = __webpack_require__(25);
  14328. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__expression_parser_ast__ = __webpack_require__(185);
  14329. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__expression_parser_parser__ = __webpack_require__(131);
  14330. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__facade_collection__ = __webpack_require__(13);
  14331. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__facade_lang__ = __webpack_require__(4);
  14332. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__i18n_i18n_html_parser__ = __webpack_require__(279);
  14333. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__identifiers__ = __webpack_require__(19);
  14334. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ml_parser_ast__ = __webpack_require__(66);
  14335. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ml_parser_html_parser__ = __webpack_require__(132);
  14336. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__ml_parser_icu_ast_expander__ = __webpack_require__(456);
  14337. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__ml_parser_interpolation_config__ = __webpack_require__(49);
  14338. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__ml_parser_tags__ = __webpack_require__(87);
  14339. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__parse_util__ = __webpack_require__(50);
  14340. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__private_import_core__ = __webpack_require__(20);
  14341. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__provider_analyzer__ = __webpack_require__(290);
  14342. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__schema_element_schema_registry__ = __webpack_require__(105);
  14343. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__selector__ = __webpack_require__(195);
  14344. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__style_url_resolver__ = __webpack_require__(293);
  14345. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__util__ = __webpack_require__(29);
  14346. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__template_ast__ = __webpack_require__(51);
  14347. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__template_preparser__ = __webpack_require__(294);
  14348. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return TEMPLATE_TRANSFORMS; });
  14349. /* unused harmony export TemplateParseError */
  14350. /* unused harmony export TemplateParseResult */
  14351. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return TemplateParser; });
  14352. /* unused harmony export splitClasses */
  14353. /* unused harmony export PipeCollector */
  14354. /**
  14355. * @license
  14356. * Copyright Google Inc. All Rights Reserved.
  14357. *
  14358. * Use of this source code is governed by an MIT-style license that can be
  14359. * found in the LICENSE file at https://angular.io/license
  14360. */
  14361. var __extends = (this && this.__extends) || function (d, b) {
  14362. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  14363. function __() { this.constructor = d; }
  14364. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  14365. };
  14366. // Group 1 = "bind-"
  14367. // Group 2 = "let-"
  14368. // Group 3 = "ref-/#"
  14369. // Group 4 = "on-"
  14370. // Group 5 = "bindon-"
  14371. // Group 6 = "@"
  14372. // Group 7 = the identifier after "bind-", "let-", "ref-/#", "on-", "bindon-" or "@"
  14373. // Group 8 = identifier inside [()]
  14374. // Group 9 = identifier inside []
  14375. // Group 10 = identifier inside ()
  14376. var BIND_NAME_REGEXP = /^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.+))|\[\(([^\)]+)\)\]|\[([^\]]+)\]|\(([^\)]+)\))$/;
  14377. var KW_BIND_IDX = 1;
  14378. var KW_LET_IDX = 2;
  14379. var KW_REF_IDX = 3;
  14380. var KW_ON_IDX = 4;
  14381. var KW_BINDON_IDX = 5;
  14382. var KW_AT_IDX = 6;
  14383. var IDENT_KW_IDX = 7;
  14384. var IDENT_BANANA_BOX_IDX = 8;
  14385. var IDENT_PROPERTY_IDX = 9;
  14386. var IDENT_EVENT_IDX = 10;
  14387. var ANIMATE_PROP_PREFIX = 'animate-';
  14388. var TEMPLATE_ELEMENT = 'template';
  14389. var TEMPLATE_ATTR = 'template';
  14390. var TEMPLATE_ATTR_PREFIX = '*';
  14391. var CLASS_ATTR = 'class';
  14392. var PROPERTY_PARTS_SEPARATOR = '.';
  14393. var ATTRIBUTE_PREFIX = 'attr';
  14394. var CLASS_PREFIX = 'class';
  14395. var STYLE_PREFIX = 'style';
  14396. var TEXT_CSS_SELECTOR = __WEBPACK_IMPORTED_MODULE_17__selector__["a" /* CssSelector */].parse('*')[0];
  14397. /**
  14398. * Provides an array of {@link TemplateAstVisitor}s which will be used to transform
  14399. * parsed templates before compilation is invoked, allowing custom expression syntax
  14400. * and other advanced transformations.
  14401. *
  14402. * This is currently an internal-only feature and not meant for general use.
  14403. */
  14404. var TEMPLATE_TRANSFORMS = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["OpaqueToken"]('TemplateTransforms');
  14405. var TemplateParseError = (function (_super) {
  14406. __extends(TemplateParseError, _super);
  14407. function TemplateParseError(message, span, level) {
  14408. _super.call(this, span, message, level);
  14409. }
  14410. return TemplateParseError;
  14411. }(__WEBPACK_IMPORTED_MODULE_13__parse_util__["a" /* ParseError */]));
  14412. var TemplateParseResult = (function () {
  14413. function TemplateParseResult(templateAst, errors) {
  14414. this.templateAst = templateAst;
  14415. this.errors = errors;
  14416. }
  14417. return TemplateParseResult;
  14418. }());
  14419. var TemplateParser = (function () {
  14420. function TemplateParser(_exprParser, _schemaRegistry, _htmlParser, _console, transforms) {
  14421. this._exprParser = _exprParser;
  14422. this._schemaRegistry = _schemaRegistry;
  14423. this._htmlParser = _htmlParser;
  14424. this._console = _console;
  14425. this.transforms = transforms;
  14426. }
  14427. TemplateParser.prototype.parse = function (component, template, directives, pipes, schemas, templateUrl) {
  14428. var result = this.tryParse(component, template, directives, pipes, schemas, templateUrl);
  14429. var warnings = result.errors.filter(function (error) { return error.level === __WEBPACK_IMPORTED_MODULE_13__parse_util__["e" /* ParseErrorLevel */].WARNING; });
  14430. var errors = result.errors.filter(function (error) { return error.level === __WEBPACK_IMPORTED_MODULE_13__parse_util__["e" /* ParseErrorLevel */].FATAL; });
  14431. if (warnings.length > 0) {
  14432. this._console.warn("Template parse warnings:\n" + warnings.join('\n'));
  14433. }
  14434. if (errors.length > 0) {
  14435. var errorString = errors.join('\n');
  14436. throw new Error("Template parse errors:\n" + errorString);
  14437. }
  14438. return result.templateAst;
  14439. };
  14440. TemplateParser.prototype.tryParse = function (component, template, directives, pipes, schemas, templateUrl) {
  14441. var interpolationConfig;
  14442. if (component.template) {
  14443. interpolationConfig = __WEBPACK_IMPORTED_MODULE_11__ml_parser_interpolation_config__["b" /* InterpolationConfig */].fromArray(component.template.interpolation);
  14444. }
  14445. var htmlAstWithErrors = this._htmlParser.parse(template, templateUrl, true, interpolationConfig);
  14446. var errors = htmlAstWithErrors.errors;
  14447. var result;
  14448. if (errors.length == 0) {
  14449. // Transform ICU messages to angular directives
  14450. var expandedHtmlAst = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_10__ml_parser_icu_ast_expander__["a" /* expandNodes */])(htmlAstWithErrors.rootNodes);
  14451. errors.push.apply(errors, expandedHtmlAst.errors);
  14452. htmlAstWithErrors = new __WEBPACK_IMPORTED_MODULE_9__ml_parser_html_parser__["a" /* ParseTreeResult */](expandedHtmlAst.customNodesStorage, errors);
  14453. }
  14454. if (htmlAstWithErrors.rootNodes.length > 0) {
  14455. var uniqDirectives = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__compile_metadata__["f" /* removeIdentifierDuplicates */])(directives);
  14456. var uniqPipes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__compile_metadata__["f" /* removeIdentifierDuplicates */])(pipes);
  14457. var providerViewContext = new __WEBPACK_IMPORTED_MODULE_15__provider_analyzer__["a" /* ProviderViewContext */](component, htmlAstWithErrors.rootNodes[0].sourceSpan);
  14458. var parseVisitor = new TemplateParseVisitor(providerViewContext, uniqDirectives, uniqPipes, schemas, this._exprParser, this._schemaRegistry);
  14459. result = __WEBPACK_IMPORTED_MODULE_8__ml_parser_ast__["g" /* visitAll */](parseVisitor, htmlAstWithErrors.rootNodes, EMPTY_ELEMENT_CONTEXT);
  14460. errors.push.apply(errors, parseVisitor.errors.concat(providerViewContext.errors));
  14461. }
  14462. else {
  14463. result = [];
  14464. }
  14465. this._assertNoReferenceDuplicationOnTemplate(result, errors);
  14466. if (errors.length > 0) {
  14467. return new TemplateParseResult(result, errors);
  14468. }
  14469. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(this.transforms)) {
  14470. this.transforms.forEach(function (transform) { result = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_20__template_ast__["c" /* templateVisitAll */])(transform, result); });
  14471. }
  14472. return new TemplateParseResult(result, errors);
  14473. };
  14474. /** @internal */
  14475. TemplateParser.prototype._assertNoReferenceDuplicationOnTemplate = function (result, errors) {
  14476. var existingReferences = [];
  14477. result.filter(function (element) { return !!element.references; })
  14478. .forEach(function (element) { return element.references.forEach(function (reference) {
  14479. var name = reference.name;
  14480. if (existingReferences.indexOf(name) < 0) {
  14481. existingReferences.push(name);
  14482. }
  14483. else {
  14484. var error = new TemplateParseError("Reference \"#" + name + "\" is defined several times", reference.sourceSpan, __WEBPACK_IMPORTED_MODULE_13__parse_util__["e" /* ParseErrorLevel */].FATAL);
  14485. errors.push(error);
  14486. }
  14487. }); });
  14488. };
  14489. TemplateParser.decorators = [
  14490. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  14491. ];
  14492. /** @nocollapse */
  14493. TemplateParser.ctorParameters = [
  14494. { type: __WEBPACK_IMPORTED_MODULE_3__expression_parser_parser__["a" /* Parser */], },
  14495. { type: __WEBPACK_IMPORTED_MODULE_16__schema_element_schema_registry__["a" /* ElementSchemaRegistry */], },
  14496. { type: __WEBPACK_IMPORTED_MODULE_6__i18n_i18n_html_parser__["a" /* I18NHtmlParser */], },
  14497. { type: __WEBPACK_IMPORTED_MODULE_14__private_import_core__["R" /* Console */], },
  14498. { type: Array, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Optional"] }, { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"], args: [TEMPLATE_TRANSFORMS,] },] },
  14499. ];
  14500. return TemplateParser;
  14501. }());
  14502. var TemplateParseVisitor = (function () {
  14503. function TemplateParseVisitor(providerViewContext, directives, pipes, _schemas, _exprParser, _schemaRegistry) {
  14504. var _this = this;
  14505. this.providerViewContext = providerViewContext;
  14506. this._schemas = _schemas;
  14507. this._exprParser = _exprParser;
  14508. this._schemaRegistry = _schemaRegistry;
  14509. this.selectorMatcher = new __WEBPACK_IMPORTED_MODULE_17__selector__["b" /* SelectorMatcher */]();
  14510. this.errors = [];
  14511. this.directivesIndex = new Map();
  14512. this.ngContentCount = 0;
  14513. this.pipesByName = new Map();
  14514. var tempMeta = providerViewContext.component.template;
  14515. if (tempMeta && tempMeta.interpolation) {
  14516. this._interpolationConfig = {
  14517. start: tempMeta.interpolation[0],
  14518. end: tempMeta.interpolation[1]
  14519. };
  14520. }
  14521. directives.forEach(function (directive, index) {
  14522. var selector = __WEBPACK_IMPORTED_MODULE_17__selector__["a" /* CssSelector */].parse(directive.selector);
  14523. _this.selectorMatcher.addSelectables(selector, directive);
  14524. _this.directivesIndex.set(directive, index);
  14525. });
  14526. pipes.forEach(function (pipe) { return _this.pipesByName.set(pipe.name, pipe); });
  14527. }
  14528. TemplateParseVisitor.prototype._reportError = function (message, sourceSpan, level) {
  14529. if (level === void 0) { level = __WEBPACK_IMPORTED_MODULE_13__parse_util__["e" /* ParseErrorLevel */].FATAL; }
  14530. this.errors.push(new TemplateParseError(message, sourceSpan, level));
  14531. };
  14532. TemplateParseVisitor.prototype._reportParserErrors = function (errors, sourceSpan) {
  14533. for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
  14534. var error = errors_1[_i];
  14535. this._reportError(error.message, sourceSpan);
  14536. }
  14537. };
  14538. TemplateParseVisitor.prototype._parseInterpolation = function (value, sourceSpan) {
  14539. var sourceInfo = sourceSpan.start.toString();
  14540. try {
  14541. var ast = this._exprParser.parseInterpolation(value, sourceInfo, this._interpolationConfig);
  14542. if (ast)
  14543. this._reportParserErrors(ast.errors, sourceSpan);
  14544. this._checkPipes(ast, sourceSpan);
  14545. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(ast) &&
  14546. ast.ast.expressions.length > __WEBPACK_IMPORTED_MODULE_14__private_import_core__["S" /* MAX_INTERPOLATION_VALUES */]) {
  14547. throw new Error("Only support at most " + __WEBPACK_IMPORTED_MODULE_14__private_import_core__["S" /* MAX_INTERPOLATION_VALUES */] + " interpolation values!");
  14548. }
  14549. return ast;
  14550. }
  14551. catch (e) {
  14552. this._reportError("" + e, sourceSpan);
  14553. return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);
  14554. }
  14555. };
  14556. TemplateParseVisitor.prototype._parseAction = function (value, sourceSpan) {
  14557. var sourceInfo = sourceSpan.start.toString();
  14558. try {
  14559. var ast = this._exprParser.parseAction(value, sourceInfo, this._interpolationConfig);
  14560. if (ast) {
  14561. this._reportParserErrors(ast.errors, sourceSpan);
  14562. }
  14563. if (!ast || ast.ast instanceof __WEBPACK_IMPORTED_MODULE_2__expression_parser_ast__["g" /* EmptyExpr */]) {
  14564. this._reportError("Empty expressions are not allowed", sourceSpan);
  14565. return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);
  14566. }
  14567. this._checkPipes(ast, sourceSpan);
  14568. return ast;
  14569. }
  14570. catch (e) {
  14571. this._reportError("" + e, sourceSpan);
  14572. return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);
  14573. }
  14574. };
  14575. TemplateParseVisitor.prototype._parseBinding = function (value, sourceSpan) {
  14576. var sourceInfo = sourceSpan.start.toString();
  14577. try {
  14578. var ast = this._exprParser.parseBinding(value, sourceInfo, this._interpolationConfig);
  14579. if (ast)
  14580. this._reportParserErrors(ast.errors, sourceSpan);
  14581. this._checkPipes(ast, sourceSpan);
  14582. return ast;
  14583. }
  14584. catch (e) {
  14585. this._reportError("" + e, sourceSpan);
  14586. return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);
  14587. }
  14588. };
  14589. TemplateParseVisitor.prototype._parseTemplateBindings = function (value, sourceSpan) {
  14590. var _this = this;
  14591. var sourceInfo = sourceSpan.start.toString();
  14592. try {
  14593. var bindingsResult = this._exprParser.parseTemplateBindings(value, sourceInfo);
  14594. this._reportParserErrors(bindingsResult.errors, sourceSpan);
  14595. bindingsResult.templateBindings.forEach(function (binding) {
  14596. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(binding.expression)) {
  14597. _this._checkPipes(binding.expression, sourceSpan);
  14598. }
  14599. });
  14600. bindingsResult.warnings.forEach(function (warning) { _this._reportError(warning, sourceSpan, __WEBPACK_IMPORTED_MODULE_13__parse_util__["e" /* ParseErrorLevel */].WARNING); });
  14601. return bindingsResult.templateBindings;
  14602. }
  14603. catch (e) {
  14604. this._reportError("" + e, sourceSpan);
  14605. return [];
  14606. }
  14607. };
  14608. TemplateParseVisitor.prototype._checkPipes = function (ast, sourceSpan) {
  14609. var _this = this;
  14610. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(ast)) {
  14611. var collector = new PipeCollector();
  14612. ast.visit(collector);
  14613. collector.pipes.forEach(function (pipeName) {
  14614. if (!_this.pipesByName.has(pipeName)) {
  14615. _this._reportError("The pipe '" + pipeName + "' could not be found", sourceSpan);
  14616. }
  14617. });
  14618. }
  14619. };
  14620. TemplateParseVisitor.prototype.visitExpansion = function (expansion, context) { return null; };
  14621. TemplateParseVisitor.prototype.visitExpansionCase = function (expansionCase, context) { return null; };
  14622. TemplateParseVisitor.prototype.visitText = function (text, parent) {
  14623. var ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR);
  14624. var expr = this._parseInterpolation(text.value, text.sourceSpan);
  14625. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(expr)) {
  14626. return new __WEBPACK_IMPORTED_MODULE_20__template_ast__["d" /* BoundTextAst */](expr, ngContentIndex, text.sourceSpan);
  14627. }
  14628. else {
  14629. return new __WEBPACK_IMPORTED_MODULE_20__template_ast__["e" /* TextAst */](text.value, ngContentIndex, text.sourceSpan);
  14630. }
  14631. };
  14632. TemplateParseVisitor.prototype.visitAttribute = function (attribute, context) {
  14633. return new __WEBPACK_IMPORTED_MODULE_20__template_ast__["f" /* AttrAst */](attribute.name, attribute.value, attribute.sourceSpan);
  14634. };
  14635. TemplateParseVisitor.prototype.visitComment = function (comment, context) { return null; };
  14636. TemplateParseVisitor.prototype.visitElement = function (element, parent) {
  14637. var _this = this;
  14638. var nodeName = element.name;
  14639. var preparsedElement = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_21__template_preparser__["a" /* preparseElement */])(element);
  14640. if (preparsedElement.type === __WEBPACK_IMPORTED_MODULE_21__template_preparser__["b" /* PreparsedElementType */].SCRIPT ||
  14641. preparsedElement.type === __WEBPACK_IMPORTED_MODULE_21__template_preparser__["b" /* PreparsedElementType */].STYLE) {
  14642. // Skipping <script> for security reasons
  14643. // Skipping <style> as we already processed them
  14644. // in the StyleCompiler
  14645. return null;
  14646. }
  14647. if (preparsedElement.type === __WEBPACK_IMPORTED_MODULE_21__template_preparser__["b" /* PreparsedElementType */].STYLESHEET &&
  14648. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_18__style_url_resolver__["a" /* isStyleUrlResolvable */])(preparsedElement.hrefAttr)) {
  14649. // Skipping stylesheets with either relative urls or package scheme as we already processed
  14650. // them in the StyleCompiler
  14651. return null;
  14652. }
  14653. var matchableAttrs = [];
  14654. var elementOrDirectiveProps = [];
  14655. var elementOrDirectiveRefs = [];
  14656. var elementVars = [];
  14657. var animationProps = [];
  14658. var events = [];
  14659. var templateElementOrDirectiveProps = [];
  14660. var templateMatchableAttrs = [];
  14661. var templateElementVars = [];
  14662. var hasInlineTemplates = false;
  14663. var attrs = [];
  14664. var lcElName = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__ml_parser_tags__["e" /* splitNsName */])(nodeName.toLowerCase())[1];
  14665. var isTemplateElement = lcElName == TEMPLATE_ELEMENT;
  14666. element.attrs.forEach(function (attr) {
  14667. var hasBinding = _this._parseAttr(isTemplateElement, attr, matchableAttrs, elementOrDirectiveProps, animationProps, events, elementOrDirectiveRefs, elementVars);
  14668. var hasTemplateBinding = _this._parseInlineTemplateBinding(attr, templateMatchableAttrs, templateElementOrDirectiveProps, templateElementVars);
  14669. if (hasTemplateBinding && hasInlineTemplates) {
  14670. _this._reportError("Can't have multiple template bindings on one element. Use only one attribute named 'template' or prefixed with *", attr.sourceSpan);
  14671. }
  14672. if (!hasBinding && !hasTemplateBinding) {
  14673. // don't include the bindings as attributes as well in the AST
  14674. attrs.push(_this.visitAttribute(attr, null));
  14675. matchableAttrs.push([attr.name, attr.value]);
  14676. }
  14677. if (hasTemplateBinding) {
  14678. hasInlineTemplates = true;
  14679. }
  14680. });
  14681. var elementCssSelector = createElementCssSelector(nodeName, matchableAttrs);
  14682. var _a = this._parseDirectives(this.selectorMatcher, elementCssSelector), directiveMetas = _a.directives, matchElement = _a.matchElement;
  14683. var references = [];
  14684. var directiveAsts = this._createDirectiveAsts(isTemplateElement, element.name, directiveMetas, elementOrDirectiveProps, elementOrDirectiveRefs, element.sourceSpan, references);
  14685. var elementProps = this._createElementPropertyAsts(element.name, elementOrDirectiveProps, directiveAsts)
  14686. .concat(animationProps);
  14687. var isViewRoot = parent.isTemplateElement || hasInlineTemplates;
  14688. var providerContext = new __WEBPACK_IMPORTED_MODULE_15__provider_analyzer__["b" /* ProviderElementContext */](this.providerViewContext, parent.providerContext, isViewRoot, directiveAsts, attrs, references, element.sourceSpan);
  14689. var children = __WEBPACK_IMPORTED_MODULE_8__ml_parser_ast__["g" /* visitAll */](preparsedElement.nonBindable ? NON_BINDABLE_VISITOR : this, element.children, ElementContext.create(isTemplateElement, directiveAsts, isTemplateElement ? parent.providerContext : providerContext));
  14690. providerContext.afterElement();
  14691. // Override the actual selector when the `ngProjectAs` attribute is provided
  14692. var projectionSelector = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(preparsedElement.projectAs) ?
  14693. __WEBPACK_IMPORTED_MODULE_17__selector__["a" /* CssSelector */].parse(preparsedElement.projectAs)[0] :
  14694. elementCssSelector;
  14695. var ngContentIndex = parent.findNgContentIndex(projectionSelector);
  14696. var parsedElement;
  14697. if (preparsedElement.type === __WEBPACK_IMPORTED_MODULE_21__template_preparser__["b" /* PreparsedElementType */].NG_CONTENT) {
  14698. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(element.children) && element.children.length > 0) {
  14699. this._reportError("<ng-content> element cannot have content. <ng-content> must be immediately followed by </ng-content>", element.sourceSpan);
  14700. }
  14701. parsedElement = new __WEBPACK_IMPORTED_MODULE_20__template_ast__["g" /* NgContentAst */](this.ngContentCount++, hasInlineTemplates ? null : ngContentIndex, element.sourceSpan);
  14702. }
  14703. else if (isTemplateElement) {
  14704. this._assertAllEventsPublishedByDirectives(directiveAsts, events);
  14705. this._assertNoComponentsNorElementBindingsOnTemplate(directiveAsts, elementProps, element.sourceSpan);
  14706. parsedElement = new __WEBPACK_IMPORTED_MODULE_20__template_ast__["h" /* EmbeddedTemplateAst */](attrs, events, references, elementVars, providerContext.transformedDirectiveAsts, providerContext.transformProviders, providerContext.transformedHasViewContainer, children, hasInlineTemplates ? null : ngContentIndex, element.sourceSpan);
  14707. }
  14708. else {
  14709. this._assertElementExists(matchElement, element);
  14710. this._assertOnlyOneComponent(directiveAsts, element.sourceSpan);
  14711. var ngContentIndex_1 = hasInlineTemplates ? null : parent.findNgContentIndex(projectionSelector);
  14712. parsedElement = new __WEBPACK_IMPORTED_MODULE_20__template_ast__["i" /* ElementAst */](nodeName, attrs, elementProps, events, references, providerContext.transformedDirectiveAsts, providerContext.transformProviders, providerContext.transformedHasViewContainer, children, hasInlineTemplates ? null : ngContentIndex_1, element.sourceSpan);
  14713. }
  14714. if (hasInlineTemplates) {
  14715. var templateCssSelector = createElementCssSelector(TEMPLATE_ELEMENT, templateMatchableAttrs);
  14716. var templateDirectiveMetas = this._parseDirectives(this.selectorMatcher, templateCssSelector).directives;
  14717. var templateDirectiveAsts = this._createDirectiveAsts(true, element.name, templateDirectiveMetas, templateElementOrDirectiveProps, [], element.sourceSpan, []);
  14718. var templateElementProps = this._createElementPropertyAsts(element.name, templateElementOrDirectiveProps, templateDirectiveAsts);
  14719. this._assertNoComponentsNorElementBindingsOnTemplate(templateDirectiveAsts, templateElementProps, element.sourceSpan);
  14720. var templateProviderContext = new __WEBPACK_IMPORTED_MODULE_15__provider_analyzer__["b" /* ProviderElementContext */](this.providerViewContext, parent.providerContext, parent.isTemplateElement, templateDirectiveAsts, [], [], element.sourceSpan);
  14721. templateProviderContext.afterElement();
  14722. parsedElement = new __WEBPACK_IMPORTED_MODULE_20__template_ast__["h" /* EmbeddedTemplateAst */]([], [], [], templateElementVars, templateProviderContext.transformedDirectiveAsts, templateProviderContext.transformProviders, templateProviderContext.transformedHasViewContainer, [parsedElement], ngContentIndex, element.sourceSpan);
  14723. }
  14724. return parsedElement;
  14725. };
  14726. TemplateParseVisitor.prototype._parseInlineTemplateBinding = function (attr, targetMatchableAttrs, targetProps, targetVars) {
  14727. var templateBindingsSource = null;
  14728. if (this._normalizeAttributeName(attr.name) == TEMPLATE_ATTR) {
  14729. templateBindingsSource = attr.value;
  14730. }
  14731. else if (attr.name.startsWith(TEMPLATE_ATTR_PREFIX)) {
  14732. var key = attr.name.substring(TEMPLATE_ATTR_PREFIX.length); // remove the star
  14733. templateBindingsSource = (attr.value.length == 0) ? key : key + ' ' + attr.value;
  14734. }
  14735. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(templateBindingsSource)) {
  14736. var bindings = this._parseTemplateBindings(templateBindingsSource, attr.sourceSpan);
  14737. for (var i = 0; i < bindings.length; i++) {
  14738. var binding = bindings[i];
  14739. if (binding.keyIsVar) {
  14740. targetVars.push(new __WEBPACK_IMPORTED_MODULE_20__template_ast__["j" /* VariableAst */](binding.key, binding.name, attr.sourceSpan));
  14741. }
  14742. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(binding.expression)) {
  14743. this._parsePropertyAst(binding.key, binding.expression, attr.sourceSpan, targetMatchableAttrs, targetProps);
  14744. }
  14745. else {
  14746. targetMatchableAttrs.push([binding.key, '']);
  14747. this._parseLiteralAttr(binding.key, null, attr.sourceSpan, targetProps);
  14748. }
  14749. }
  14750. return true;
  14751. }
  14752. return false;
  14753. };
  14754. TemplateParseVisitor.prototype._parseAttr = function (isTemplateElement, attr, targetMatchableAttrs, targetProps, targetAnimationProps, targetEvents, targetRefs, targetVars) {
  14755. var name = this._normalizeAttributeName(attr.name);
  14756. var value = attr.value;
  14757. var srcSpan = attr.sourceSpan;
  14758. var bindParts = name.match(BIND_NAME_REGEXP);
  14759. var hasBinding = false;
  14760. if (bindParts !== null) {
  14761. hasBinding = true;
  14762. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(bindParts[KW_BIND_IDX])) {
  14763. this._parsePropertyOrAnimation(bindParts[IDENT_KW_IDX], value, srcSpan, targetMatchableAttrs, targetProps, targetAnimationProps);
  14764. }
  14765. else if (bindParts[KW_LET_IDX]) {
  14766. if (isTemplateElement) {
  14767. var identifier = bindParts[IDENT_KW_IDX];
  14768. this._parseVariable(identifier, value, srcSpan, targetVars);
  14769. }
  14770. else {
  14771. this._reportError("\"let-\" is only supported on template elements.", srcSpan);
  14772. }
  14773. }
  14774. else if (bindParts[KW_REF_IDX]) {
  14775. var identifier = bindParts[IDENT_KW_IDX];
  14776. this._parseReference(identifier, value, srcSpan, targetRefs);
  14777. }
  14778. else if (bindParts[KW_ON_IDX]) {
  14779. this._parseEvent(bindParts[IDENT_KW_IDX], value, srcSpan, targetMatchableAttrs, targetEvents);
  14780. }
  14781. else if (bindParts[KW_BINDON_IDX]) {
  14782. this._parsePropertyOrAnimation(bindParts[IDENT_KW_IDX], value, srcSpan, targetMatchableAttrs, targetProps, targetAnimationProps);
  14783. this._parseAssignmentEvent(bindParts[IDENT_KW_IDX], value, srcSpan, targetMatchableAttrs, targetEvents);
  14784. }
  14785. else if (bindParts[KW_AT_IDX]) {
  14786. if (name[0] == '@' && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(value) && value.length > 0) {
  14787. this._reportError("Assigning animation triggers via @prop=\"exp\" attributes with an expression is invalid." +
  14788. " Use property bindings (e.g. [@prop]=\"exp\") or use an attribute without a value (e.g. @prop) instead.", srcSpan, __WEBPACK_IMPORTED_MODULE_13__parse_util__["e" /* ParseErrorLevel */].FATAL);
  14789. }
  14790. this._parseAnimation(bindParts[IDENT_KW_IDX], value, srcSpan, targetMatchableAttrs, targetAnimationProps);
  14791. }
  14792. else if (bindParts[IDENT_BANANA_BOX_IDX]) {
  14793. this._parsePropertyOrAnimation(bindParts[IDENT_BANANA_BOX_IDX], value, srcSpan, targetMatchableAttrs, targetProps, targetAnimationProps);
  14794. this._parseAssignmentEvent(bindParts[IDENT_BANANA_BOX_IDX], value, srcSpan, targetMatchableAttrs, targetEvents);
  14795. }
  14796. else if (bindParts[IDENT_PROPERTY_IDX]) {
  14797. this._parsePropertyOrAnimation(bindParts[IDENT_PROPERTY_IDX], value, srcSpan, targetMatchableAttrs, targetProps, targetAnimationProps);
  14798. }
  14799. else if (bindParts[IDENT_EVENT_IDX]) {
  14800. this._parseEvent(bindParts[IDENT_EVENT_IDX], value, srcSpan, targetMatchableAttrs, targetEvents);
  14801. }
  14802. }
  14803. else {
  14804. hasBinding =
  14805. this._parsePropertyInterpolation(name, value, srcSpan, targetMatchableAttrs, targetProps);
  14806. }
  14807. if (!hasBinding) {
  14808. this._parseLiteralAttr(name, value, srcSpan, targetProps);
  14809. }
  14810. return hasBinding;
  14811. };
  14812. TemplateParseVisitor.prototype._normalizeAttributeName = function (attrName) {
  14813. return /^data-/i.test(attrName) ? attrName.substring(5) : attrName;
  14814. };
  14815. TemplateParseVisitor.prototype._parseVariable = function (identifier, value, sourceSpan, targetVars) {
  14816. if (identifier.indexOf('-') > -1) {
  14817. this._reportError("\"-\" is not allowed in variable names", sourceSpan);
  14818. }
  14819. targetVars.push(new __WEBPACK_IMPORTED_MODULE_20__template_ast__["j" /* VariableAst */](identifier, value, sourceSpan));
  14820. };
  14821. TemplateParseVisitor.prototype._parseReference = function (identifier, value, sourceSpan, targetRefs) {
  14822. if (identifier.indexOf('-') > -1) {
  14823. this._reportError("\"-\" is not allowed in reference names", sourceSpan);
  14824. }
  14825. targetRefs.push(new ElementOrDirectiveRef(identifier, value, sourceSpan));
  14826. };
  14827. TemplateParseVisitor.prototype._parsePropertyOrAnimation = function (name, expression, sourceSpan, targetMatchableAttrs, targetProps, targetAnimationProps) {
  14828. var animatePropLength = ANIMATE_PROP_PREFIX.length;
  14829. var isAnimationProp = name[0] == '@';
  14830. var animationPrefixLength = 1;
  14831. if (name.substring(0, animatePropLength) == ANIMATE_PROP_PREFIX) {
  14832. isAnimationProp = true;
  14833. animationPrefixLength = animatePropLength;
  14834. }
  14835. if (isAnimationProp) {
  14836. this._parseAnimation(name.substr(animationPrefixLength), expression, sourceSpan, targetMatchableAttrs, targetAnimationProps);
  14837. }
  14838. else {
  14839. this._parsePropertyAst(name, this._parseBinding(expression, sourceSpan), sourceSpan, targetMatchableAttrs, targetProps);
  14840. }
  14841. };
  14842. TemplateParseVisitor.prototype._parseAnimation = function (name, expression, sourceSpan, targetMatchableAttrs, targetAnimationProps) {
  14843. // This will occur when a @trigger is not paired with an expression.
  14844. // For animations it is valid to not have an expression since */void
  14845. // states will be applied by angular when the element is attached/detached
  14846. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(expression) || expression.length == 0) {
  14847. expression = 'null';
  14848. }
  14849. var ast = this._parseBinding(expression, sourceSpan);
  14850. targetMatchableAttrs.push([name, ast.source]);
  14851. targetAnimationProps.push(new __WEBPACK_IMPORTED_MODULE_20__template_ast__["k" /* BoundElementPropertyAst */](name, __WEBPACK_IMPORTED_MODULE_20__template_ast__["l" /* PropertyBindingType */].Animation, __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].NONE, ast, null, sourceSpan));
  14852. };
  14853. TemplateParseVisitor.prototype._parsePropertyInterpolation = function (name, value, sourceSpan, targetMatchableAttrs, targetProps) {
  14854. var expr = this._parseInterpolation(value, sourceSpan);
  14855. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(expr)) {
  14856. this._parsePropertyAst(name, expr, sourceSpan, targetMatchableAttrs, targetProps);
  14857. return true;
  14858. }
  14859. return false;
  14860. };
  14861. TemplateParseVisitor.prototype._parsePropertyAst = function (name, ast, sourceSpan, targetMatchableAttrs, targetProps) {
  14862. targetMatchableAttrs.push([name, ast.source]);
  14863. targetProps.push(new BoundElementOrDirectiveProperty(name, ast, false, sourceSpan));
  14864. };
  14865. TemplateParseVisitor.prototype._parseAssignmentEvent = function (name, expression, sourceSpan, targetMatchableAttrs, targetEvents) {
  14866. this._parseEvent(name + "Change", expression + "=$event", sourceSpan, targetMatchableAttrs, targetEvents);
  14867. };
  14868. TemplateParseVisitor.prototype._parseEvent = function (name, expression, sourceSpan, targetMatchableAttrs, targetEvents) {
  14869. // long format: 'target: eventName'
  14870. var parts = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__util__["b" /* splitAtColon */])(name, [null, name]);
  14871. var target = parts[0];
  14872. var eventName = parts[1];
  14873. var ast = this._parseAction(expression, sourceSpan);
  14874. targetMatchableAttrs.push([name, ast.source]);
  14875. targetEvents.push(new __WEBPACK_IMPORTED_MODULE_20__template_ast__["m" /* BoundEventAst */](eventName, target, ast, sourceSpan));
  14876. // Don't detect directives for event names for now,
  14877. // so don't add the event name to the matchableAttrs
  14878. };
  14879. TemplateParseVisitor.prototype._parseLiteralAttr = function (name, value, sourceSpan, targetProps) {
  14880. targetProps.push(new BoundElementOrDirectiveProperty(name, this._exprParser.wrapLiteralPrimitive(value, ''), true, sourceSpan));
  14881. };
  14882. TemplateParseVisitor.prototype._parseDirectives = function (selectorMatcher, elementCssSelector) {
  14883. var _this = this;
  14884. // Need to sort the directives so that we get consistent results throughout,
  14885. // as selectorMatcher uses Maps inside.
  14886. // Also deduplicate directives as they might match more than one time!
  14887. var directives = new Array(this.directivesIndex.size);
  14888. // Whether any directive selector matches on the element name
  14889. var matchElement = false;
  14890. selectorMatcher.match(elementCssSelector, function (selector, directive) {
  14891. directives[_this.directivesIndex.get(directive)] = directive;
  14892. matchElement = matchElement || selector.hasElementSelector();
  14893. });
  14894. return {
  14895. directives: directives.filter(function (dir) { return !!dir; }),
  14896. matchElement: matchElement,
  14897. };
  14898. };
  14899. TemplateParseVisitor.prototype._createDirectiveAsts = function (isTemplateElement, elementName, directives, props, elementOrDirectiveRefs, elementSourceSpan, targetReferences) {
  14900. var _this = this;
  14901. var matchedReferences = new Set();
  14902. var component = null;
  14903. var directiveAsts = directives.map(function (directive) {
  14904. var sourceSpan = new __WEBPACK_IMPORTED_MODULE_13__parse_util__["d" /* ParseSourceSpan */](elementSourceSpan.start, elementSourceSpan.end, "Directive " + directive.type.name);
  14905. if (directive.isComponent) {
  14906. component = directive;
  14907. }
  14908. var hostProperties = [];
  14909. var hostEvents = [];
  14910. var directiveProperties = [];
  14911. _this._createDirectiveHostPropertyAsts(elementName, directive.hostProperties, sourceSpan, hostProperties);
  14912. _this._createDirectiveHostEventAsts(directive.hostListeners, sourceSpan, hostEvents);
  14913. _this._createDirectivePropertyAsts(directive.inputs, props, directiveProperties);
  14914. elementOrDirectiveRefs.forEach(function (elOrDirRef) {
  14915. if ((elOrDirRef.value.length === 0 && directive.isComponent) ||
  14916. (directive.exportAs == elOrDirRef.value)) {
  14917. targetReferences.push(new __WEBPACK_IMPORTED_MODULE_20__template_ast__["n" /* ReferenceAst */](elOrDirRef.name, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__identifiers__["c" /* identifierToken */])(directive.type), elOrDirRef.sourceSpan));
  14918. matchedReferences.add(elOrDirRef.name);
  14919. }
  14920. });
  14921. return new __WEBPACK_IMPORTED_MODULE_20__template_ast__["o" /* DirectiveAst */](directive, directiveProperties, hostProperties, hostEvents, sourceSpan);
  14922. });
  14923. elementOrDirectiveRefs.forEach(function (elOrDirRef) {
  14924. if (elOrDirRef.value.length > 0) {
  14925. if (!matchedReferences.has(elOrDirRef.name)) {
  14926. _this._reportError("There is no directive with \"exportAs\" set to \"" + elOrDirRef.value + "\"", elOrDirRef.sourceSpan);
  14927. }
  14928. }
  14929. else if (!component) {
  14930. var refToken = null;
  14931. if (isTemplateElement) {
  14932. refToken = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_7__identifiers__["b" /* Identifiers */].TemplateRef);
  14933. }
  14934. targetReferences.push(new __WEBPACK_IMPORTED_MODULE_20__template_ast__["n" /* ReferenceAst */](elOrDirRef.name, refToken, elOrDirRef.sourceSpan));
  14935. }
  14936. }); // fix syntax highlighting issue: `
  14937. return directiveAsts;
  14938. };
  14939. TemplateParseVisitor.prototype._createDirectiveHostPropertyAsts = function (elementName, hostProps, sourceSpan, targetPropertyAsts) {
  14940. var _this = this;
  14941. if (hostProps) {
  14942. __WEBPACK_IMPORTED_MODULE_4__facade_collection__["b" /* StringMapWrapper */].forEach(hostProps, function (expression, propName) {
  14943. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["g" /* isString */])(expression)) {
  14944. var exprAst = _this._parseBinding(expression, sourceSpan);
  14945. targetPropertyAsts.push(_this._createElementPropertyAst(elementName, propName, exprAst, sourceSpan));
  14946. }
  14947. else {
  14948. _this._reportError("Value of the host property binding \"" + propName + "\" needs to be a string representing an expression but got \"" + expression + "\" (" + typeof expression + ")", sourceSpan);
  14949. }
  14950. });
  14951. }
  14952. };
  14953. TemplateParseVisitor.prototype._createDirectiveHostEventAsts = function (hostListeners, sourceSpan, targetEventAsts) {
  14954. var _this = this;
  14955. if (hostListeners) {
  14956. __WEBPACK_IMPORTED_MODULE_4__facade_collection__["b" /* StringMapWrapper */].forEach(hostListeners, function (expression, propName) {
  14957. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["g" /* isString */])(expression)) {
  14958. _this._parseEvent(propName, expression, sourceSpan, [], targetEventAsts);
  14959. }
  14960. else {
  14961. _this._reportError("Value of the host listener \"" + propName + "\" needs to be a string representing an expression but got \"" + expression + "\" (" + typeof expression + ")", sourceSpan);
  14962. }
  14963. });
  14964. }
  14965. };
  14966. TemplateParseVisitor.prototype._createDirectivePropertyAsts = function (directiveProperties, boundProps, targetBoundDirectiveProps) {
  14967. if (directiveProperties) {
  14968. var boundPropsByName_1 = new Map();
  14969. boundProps.forEach(function (boundProp) {
  14970. var prevValue = boundPropsByName_1.get(boundProp.name);
  14971. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["b" /* isBlank */])(prevValue) || prevValue.isLiteral) {
  14972. // give [a]="b" a higher precedence than a="b" on the same element
  14973. boundPropsByName_1.set(boundProp.name, boundProp);
  14974. }
  14975. });
  14976. __WEBPACK_IMPORTED_MODULE_4__facade_collection__["b" /* StringMapWrapper */].forEach(directiveProperties, function (elProp, dirProp) {
  14977. var boundProp = boundPropsByName_1.get(elProp);
  14978. // Bindings are optional, so this binding only needs to be set up if an expression is given.
  14979. if (boundProp) {
  14980. targetBoundDirectiveProps.push(new __WEBPACK_IMPORTED_MODULE_20__template_ast__["p" /* BoundDirectivePropertyAst */](dirProp, boundProp.name, boundProp.expression, boundProp.sourceSpan));
  14981. }
  14982. });
  14983. }
  14984. };
  14985. TemplateParseVisitor.prototype._createElementPropertyAsts = function (elementName, props, directives) {
  14986. var _this = this;
  14987. var boundElementProps = [];
  14988. var boundDirectivePropsIndex = new Map();
  14989. directives.forEach(function (directive) {
  14990. directive.inputs.forEach(function (prop) {
  14991. boundDirectivePropsIndex.set(prop.templateName, prop);
  14992. });
  14993. });
  14994. props.forEach(function (prop) {
  14995. if (!prop.isLiteral && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["b" /* isBlank */])(boundDirectivePropsIndex.get(prop.name))) {
  14996. boundElementProps.push(_this._createElementPropertyAst(elementName, prop.name, prop.expression, prop.sourceSpan));
  14997. }
  14998. });
  14999. return boundElementProps;
  15000. };
  15001. TemplateParseVisitor.prototype._createElementPropertyAst = function (elementName, name, ast, sourceSpan) {
  15002. var unit = null;
  15003. var bindingType;
  15004. var boundPropertyName;
  15005. var parts = name.split(PROPERTY_PARTS_SEPARATOR);
  15006. var securityContext;
  15007. if (parts.length === 1) {
  15008. var partValue = parts[0];
  15009. if (partValue[0] == '@') {
  15010. boundPropertyName = partValue.substr(1);
  15011. bindingType = __WEBPACK_IMPORTED_MODULE_20__template_ast__["l" /* PropertyBindingType */].Animation;
  15012. securityContext = __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].NONE;
  15013. }
  15014. else {
  15015. boundPropertyName = this._schemaRegistry.getMappedPropName(partValue);
  15016. securityContext = this._schemaRegistry.securityContext(elementName, boundPropertyName);
  15017. bindingType = __WEBPACK_IMPORTED_MODULE_20__template_ast__["l" /* PropertyBindingType */].Property;
  15018. this._assertNoEventBinding(boundPropertyName, sourceSpan, false);
  15019. if (!this._schemaRegistry.hasProperty(elementName, boundPropertyName, this._schemas)) {
  15020. var errorMsg = "Can't bind to '" + boundPropertyName + "' since it isn't a known property of '" + elementName + "'.";
  15021. if (elementName.indexOf('-') > -1) {
  15022. errorMsg +=
  15023. ("\n1. If '" + elementName + "' is an Angular component and it has '" + boundPropertyName + "' input, then verify that it is part of this module.") +
  15024. ("\n2. If '" + elementName + "' is a Web Component then add \"CUSTOM_ELEMENTS_SCHEMA\" to the '@NgModule.schemas' of this component to suppress this message.\n");
  15025. }
  15026. this._reportError(errorMsg, sourceSpan);
  15027. }
  15028. }
  15029. }
  15030. else {
  15031. if (parts[0] == ATTRIBUTE_PREFIX) {
  15032. boundPropertyName = parts[1];
  15033. this._assertNoEventBinding(boundPropertyName, sourceSpan, true);
  15034. // NB: For security purposes, use the mapped property name, not the attribute name.
  15035. var mapPropName = this._schemaRegistry.getMappedPropName(boundPropertyName);
  15036. securityContext = this._schemaRegistry.securityContext(elementName, mapPropName);
  15037. var nsSeparatorIdx = boundPropertyName.indexOf(':');
  15038. if (nsSeparatorIdx > -1) {
  15039. var ns = boundPropertyName.substring(0, nsSeparatorIdx);
  15040. var name_1 = boundPropertyName.substring(nsSeparatorIdx + 1);
  15041. boundPropertyName = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__ml_parser_tags__["d" /* mergeNsAndName */])(ns, name_1);
  15042. }
  15043. bindingType = __WEBPACK_IMPORTED_MODULE_20__template_ast__["l" /* PropertyBindingType */].Attribute;
  15044. }
  15045. else if (parts[0] == CLASS_PREFIX) {
  15046. boundPropertyName = parts[1];
  15047. bindingType = __WEBPACK_IMPORTED_MODULE_20__template_ast__["l" /* PropertyBindingType */].Class;
  15048. securityContext = __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].NONE;
  15049. }
  15050. else if (parts[0] == STYLE_PREFIX) {
  15051. unit = parts.length > 2 ? parts[2] : null;
  15052. boundPropertyName = parts[1];
  15053. bindingType = __WEBPACK_IMPORTED_MODULE_20__template_ast__["l" /* PropertyBindingType */].Style;
  15054. securityContext = __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].STYLE;
  15055. }
  15056. else {
  15057. this._reportError("Invalid property name '" + name + "'", sourceSpan);
  15058. bindingType = null;
  15059. securityContext = null;
  15060. }
  15061. }
  15062. return new __WEBPACK_IMPORTED_MODULE_20__template_ast__["k" /* BoundElementPropertyAst */](boundPropertyName, bindingType, securityContext, ast, unit, sourceSpan);
  15063. };
  15064. /**
  15065. * @param propName the name of the property / attribute
  15066. * @param sourceSpan
  15067. * @param isAttr true when binding to an attribute
  15068. * @private
  15069. */
  15070. TemplateParseVisitor.prototype._assertNoEventBinding = function (propName, sourceSpan, isAttr) {
  15071. if (propName.toLowerCase().startsWith('on')) {
  15072. var msg = ("Binding to event attribute '" + propName + "' is disallowed for security reasons, ") +
  15073. ("please use (" + propName.slice(2) + ")=...");
  15074. if (!isAttr) {
  15075. msg +=
  15076. ("\nIf '" + propName + "' is a directive input, make sure the directive is imported by the") +
  15077. " current module.";
  15078. }
  15079. this._reportError(msg, sourceSpan, __WEBPACK_IMPORTED_MODULE_13__parse_util__["e" /* ParseErrorLevel */].FATAL);
  15080. }
  15081. };
  15082. TemplateParseVisitor.prototype._findComponentDirectiveNames = function (directives) {
  15083. var componentTypeNames = [];
  15084. directives.forEach(function (directive) {
  15085. var typeName = directive.directive.type.name;
  15086. if (directive.directive.isComponent) {
  15087. componentTypeNames.push(typeName);
  15088. }
  15089. });
  15090. return componentTypeNames;
  15091. };
  15092. TemplateParseVisitor.prototype._assertOnlyOneComponent = function (directives, sourceSpan) {
  15093. var componentTypeNames = this._findComponentDirectiveNames(directives);
  15094. if (componentTypeNames.length > 1) {
  15095. this._reportError("More than one component: " + componentTypeNames.join(','), sourceSpan);
  15096. }
  15097. };
  15098. /**
  15099. * Make sure that non-angular tags conform to the schemas.
  15100. *
  15101. * Note: An element is considered an angular tag when at least one directive selector matches the
  15102. * tag name.
  15103. *
  15104. * @param matchElement Whether any directive has matched on the tag name
  15105. * @param element the html element
  15106. */
  15107. TemplateParseVisitor.prototype._assertElementExists = function (matchElement, element) {
  15108. var elName = element.name.replace(/^:xhtml:/, '');
  15109. if (!matchElement && !this._schemaRegistry.hasElement(elName, this._schemas)) {
  15110. var errorMsg = ("'" + elName + "' is not a known element:\n") +
  15111. ("1. If '" + elName + "' is an Angular component, then verify that it is part of this module.\n") +
  15112. ("2. If '" + elName + "' is a Web Component then add \"CUSTOM_ELEMENTS_SCHEMA\" to the '@NgModule.schemas' of this component to suppress this message.");
  15113. this._reportError(errorMsg, element.sourceSpan);
  15114. }
  15115. };
  15116. TemplateParseVisitor.prototype._assertNoComponentsNorElementBindingsOnTemplate = function (directives, elementProps, sourceSpan) {
  15117. var _this = this;
  15118. var componentTypeNames = this._findComponentDirectiveNames(directives);
  15119. if (componentTypeNames.length > 0) {
  15120. this._reportError("Components on an embedded template: " + componentTypeNames.join(','), sourceSpan);
  15121. }
  15122. elementProps.forEach(function (prop) {
  15123. _this._reportError("Property binding " + prop.name + " not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the \"directives\" section.", sourceSpan);
  15124. });
  15125. };
  15126. TemplateParseVisitor.prototype._assertAllEventsPublishedByDirectives = function (directives, events) {
  15127. var _this = this;
  15128. var allDirectiveEvents = new Set();
  15129. directives.forEach(function (directive) {
  15130. __WEBPACK_IMPORTED_MODULE_4__facade_collection__["b" /* StringMapWrapper */].forEach(directive.directive.outputs, function (eventName) {
  15131. allDirectiveEvents.add(eventName);
  15132. });
  15133. });
  15134. events.forEach(function (event) {
  15135. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(event.target) || !allDirectiveEvents.has(event.name)) {
  15136. _this._reportError("Event binding " + event.fullName + " not emitted by any directive on an embedded template. Make sure that the event name is spelled correctly and all directives are listed in the \"directives\" section.", event.sourceSpan);
  15137. }
  15138. });
  15139. };
  15140. return TemplateParseVisitor;
  15141. }());
  15142. var NonBindableVisitor = (function () {
  15143. function NonBindableVisitor() {
  15144. }
  15145. NonBindableVisitor.prototype.visitElement = function (ast, parent) {
  15146. var preparsedElement = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_21__template_preparser__["a" /* preparseElement */])(ast);
  15147. if (preparsedElement.type === __WEBPACK_IMPORTED_MODULE_21__template_preparser__["b" /* PreparsedElementType */].SCRIPT ||
  15148. preparsedElement.type === __WEBPACK_IMPORTED_MODULE_21__template_preparser__["b" /* PreparsedElementType */].STYLE ||
  15149. preparsedElement.type === __WEBPACK_IMPORTED_MODULE_21__template_preparser__["b" /* PreparsedElementType */].STYLESHEET) {
  15150. // Skipping <script> for security reasons
  15151. // Skipping <style> and stylesheets as we already processed them
  15152. // in the StyleCompiler
  15153. return null;
  15154. }
  15155. var attrNameAndValues = ast.attrs.map(function (attrAst) { return [attrAst.name, attrAst.value]; });
  15156. var selector = createElementCssSelector(ast.name, attrNameAndValues);
  15157. var ngContentIndex = parent.findNgContentIndex(selector);
  15158. var children = __WEBPACK_IMPORTED_MODULE_8__ml_parser_ast__["g" /* visitAll */](this, ast.children, EMPTY_ELEMENT_CONTEXT);
  15159. return new __WEBPACK_IMPORTED_MODULE_20__template_ast__["i" /* ElementAst */](ast.name, __WEBPACK_IMPORTED_MODULE_8__ml_parser_ast__["g" /* visitAll */](this, ast.attrs), [], [], [], [], [], false, children, ngContentIndex, ast.sourceSpan);
  15160. };
  15161. NonBindableVisitor.prototype.visitComment = function (comment, context) { return null; };
  15162. NonBindableVisitor.prototype.visitAttribute = function (attribute, context) {
  15163. return new __WEBPACK_IMPORTED_MODULE_20__template_ast__["f" /* AttrAst */](attribute.name, attribute.value, attribute.sourceSpan);
  15164. };
  15165. NonBindableVisitor.prototype.visitText = function (text, parent) {
  15166. var ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR);
  15167. return new __WEBPACK_IMPORTED_MODULE_20__template_ast__["e" /* TextAst */](text.value, ngContentIndex, text.sourceSpan);
  15168. };
  15169. NonBindableVisitor.prototype.visitExpansion = function (expansion, context) { return expansion; };
  15170. NonBindableVisitor.prototype.visitExpansionCase = function (expansionCase, context) { return expansionCase; };
  15171. return NonBindableVisitor;
  15172. }());
  15173. var BoundElementOrDirectiveProperty = (function () {
  15174. function BoundElementOrDirectiveProperty(name, expression, isLiteral, sourceSpan) {
  15175. this.name = name;
  15176. this.expression = expression;
  15177. this.isLiteral = isLiteral;
  15178. this.sourceSpan = sourceSpan;
  15179. }
  15180. return BoundElementOrDirectiveProperty;
  15181. }());
  15182. var ElementOrDirectiveRef = (function () {
  15183. function ElementOrDirectiveRef(name, value, sourceSpan) {
  15184. this.name = name;
  15185. this.value = value;
  15186. this.sourceSpan = sourceSpan;
  15187. }
  15188. return ElementOrDirectiveRef;
  15189. }());
  15190. function splitClasses(classAttrValue) {
  15191. return classAttrValue.trim().split(/\s+/g);
  15192. }
  15193. var ElementContext = (function () {
  15194. function ElementContext(isTemplateElement, _ngContentIndexMatcher, _wildcardNgContentIndex, providerContext) {
  15195. this.isTemplateElement = isTemplateElement;
  15196. this._ngContentIndexMatcher = _ngContentIndexMatcher;
  15197. this._wildcardNgContentIndex = _wildcardNgContentIndex;
  15198. this.providerContext = providerContext;
  15199. }
  15200. ElementContext.create = function (isTemplateElement, directives, providerContext) {
  15201. var matcher = new __WEBPACK_IMPORTED_MODULE_17__selector__["b" /* SelectorMatcher */]();
  15202. var wildcardNgContentIndex = null;
  15203. var component = directives.find(function (directive) { return directive.directive.isComponent; });
  15204. if (component) {
  15205. var ngContentSelectors = component.directive.template.ngContentSelectors;
  15206. for (var i = 0; i < ngContentSelectors.length; i++) {
  15207. var selector = ngContentSelectors[i];
  15208. if (selector === '*') {
  15209. wildcardNgContentIndex = i;
  15210. }
  15211. else {
  15212. matcher.addSelectables(__WEBPACK_IMPORTED_MODULE_17__selector__["a" /* CssSelector */].parse(ngContentSelectors[i]), i);
  15213. }
  15214. }
  15215. }
  15216. return new ElementContext(isTemplateElement, matcher, wildcardNgContentIndex, providerContext);
  15217. };
  15218. ElementContext.prototype.findNgContentIndex = function (selector) {
  15219. var ngContentIndices = [];
  15220. this._ngContentIndexMatcher.match(selector, function (selector, ngContentIndex) { ngContentIndices.push(ngContentIndex); });
  15221. ngContentIndices.sort();
  15222. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(this._wildcardNgContentIndex)) {
  15223. ngContentIndices.push(this._wildcardNgContentIndex);
  15224. }
  15225. return ngContentIndices.length > 0 ? ngContentIndices[0] : null;
  15226. };
  15227. return ElementContext;
  15228. }());
  15229. function createElementCssSelector(elementName, matchableAttrs) {
  15230. var cssSelector = new __WEBPACK_IMPORTED_MODULE_17__selector__["a" /* CssSelector */]();
  15231. var elNameNoNs = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__ml_parser_tags__["e" /* splitNsName */])(elementName)[1];
  15232. cssSelector.setElement(elNameNoNs);
  15233. for (var i = 0; i < matchableAttrs.length; i++) {
  15234. var attrName = matchableAttrs[i][0];
  15235. var attrNameNoNs = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__ml_parser_tags__["e" /* splitNsName */])(attrName)[1];
  15236. var attrValue = matchableAttrs[i][1];
  15237. cssSelector.addAttribute(attrNameNoNs, attrValue);
  15238. if (attrName.toLowerCase() == CLASS_ATTR) {
  15239. var classes = splitClasses(attrValue);
  15240. classes.forEach(function (className) { return cssSelector.addClassName(className); });
  15241. }
  15242. }
  15243. return cssSelector;
  15244. }
  15245. var EMPTY_ELEMENT_CONTEXT = new ElementContext(true, new __WEBPACK_IMPORTED_MODULE_17__selector__["b" /* SelectorMatcher */](), null, null);
  15246. var NON_BINDABLE_VISITOR = new NonBindableVisitor();
  15247. var PipeCollector = (function (_super) {
  15248. __extends(PipeCollector, _super);
  15249. function PipeCollector() {
  15250. _super.apply(this, arguments);
  15251. this.pipes = new Set();
  15252. }
  15253. PipeCollector.prototype.visitPipe = function (ast, context) {
  15254. this.pipes.add(ast.name);
  15255. ast.exp.visit(this);
  15256. this.visitAll(ast.args, context);
  15257. return null;
  15258. };
  15259. return PipeCollector;
  15260. }(__WEBPACK_IMPORTED_MODULE_2__expression_parser_ast__["y" /* RecursiveAstVisitor */]));
  15261. //# sourceMappingURL=template_parser.js.map
  15262. /***/ },
  15263. /* 134 */
  15264. /***/ function(module, exports, __webpack_require__) {
  15265. "use strict";
  15266. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  15267. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__animation_animation_compiler__ = __webpack_require__(275);
  15268. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__config__ = __webpack_require__(104);
  15269. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__compile_element__ = __webpack_require__(296);
  15270. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__compile_view__ = __webpack_require__(298);
  15271. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__view_binder__ = __webpack_require__(471);
  15272. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__view_builder__ = __webpack_require__(300);
  15273. /* unused harmony export ViewCompileResult */
  15274. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return ViewCompiler; });
  15275. /* harmony reexport (binding) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_6__view_builder__["d"]; });
  15276. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_6__view_builder__["c"]; });
  15277. /**
  15278. * @license
  15279. * Copyright Google Inc. All Rights Reserved.
  15280. *
  15281. * Use of this source code is governed by an MIT-style license that can be
  15282. * found in the LICENSE file at https://angular.io/license
  15283. */
  15284. var ViewCompileResult = (function () {
  15285. function ViewCompileResult(statements, viewFactoryVar, dependencies) {
  15286. this.statements = statements;
  15287. this.viewFactoryVar = viewFactoryVar;
  15288. this.dependencies = dependencies;
  15289. }
  15290. return ViewCompileResult;
  15291. }());
  15292. var ViewCompiler = (function () {
  15293. function ViewCompiler(_genConfig) {
  15294. this._genConfig = _genConfig;
  15295. this._animationCompiler = new __WEBPACK_IMPORTED_MODULE_1__animation_animation_compiler__["a" /* AnimationCompiler */]();
  15296. }
  15297. ViewCompiler.prototype.compileComponent = function (component, template, styles, pipes) {
  15298. var dependencies = [];
  15299. var compiledAnimations = this._animationCompiler.compileComponent(component, template);
  15300. var statements = [];
  15301. var animationTriggers = compiledAnimations.triggers;
  15302. animationTriggers.forEach(function (entry) {
  15303. statements.push(entry.statesMapStatement);
  15304. statements.push(entry.fnStatement);
  15305. });
  15306. var view = new __WEBPACK_IMPORTED_MODULE_4__compile_view__["a" /* CompileView */](component, this._genConfig, pipes, styles, animationTriggers, 0, __WEBPACK_IMPORTED_MODULE_3__compile_element__["a" /* CompileElement */].createNull(), []);
  15307. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__view_builder__["a" /* buildView */])(view, template, dependencies);
  15308. // Need to separate binding from creation to be able to refer to
  15309. // variables that have been declared after usage.
  15310. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__view_binder__["a" /* bindView */])(view, template, compiledAnimations.outputs);
  15311. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__view_builder__["b" /* finishView */])(view, statements);
  15312. return new ViewCompileResult(statements, view.viewFactory.name, dependencies);
  15313. };
  15314. ViewCompiler.decorators = [
  15315. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  15316. ];
  15317. /** @nocollapse */
  15318. ViewCompiler.ctorParameters = [
  15319. { type: __WEBPACK_IMPORTED_MODULE_2__config__["a" /* CompilerConfig */], },
  15320. ];
  15321. return ViewCompiler;
  15322. }());
  15323. //# sourceMappingURL=view_compiler.js.map
  15324. /***/ },
  15325. /* 135 */
  15326. /***/ function(module, exports, __webpack_require__) {
  15327. "use strict";
  15328. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_facade_lang__ = __webpack_require__(5);
  15329. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__di__ = __webpack_require__(39);
  15330. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return APP_ID; });
  15331. /* unused harmony export _appIdRandomProviderFactory */
  15332. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return APP_ID_RANDOM_PROVIDER; });
  15333. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return PLATFORM_INITIALIZER; });
  15334. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return APP_BOOTSTRAP_LISTENER; });
  15335. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return PACKAGE_ROOT_URL; });
  15336. /**
  15337. * @license
  15338. * Copyright Google Inc. All Rights Reserved.
  15339. *
  15340. * Use of this source code is governed by an MIT-style license that can be
  15341. * found in the LICENSE file at https://angular.io/license
  15342. */
  15343. /**
  15344. * A DI Token representing a unique string id assigned to the application by Angular and used
  15345. * primarily for prefixing application attributes and CSS styles when
  15346. * {@link ViewEncapsulation#Emulated} is being used.
  15347. *
  15348. * If you need to avoid randomly generated value to be used as an application id, you can provide
  15349. * a custom value via a DI provider <!-- TODO: provider --> configuring the root {@link Injector}
  15350. * using this token.
  15351. * @experimental
  15352. */
  15353. var APP_ID = new __WEBPACK_IMPORTED_MODULE_1__di__["a" /* OpaqueToken */]('AppId');
  15354. function _appIdRandomProviderFactory() {
  15355. return "" + _randomChar() + _randomChar() + _randomChar();
  15356. }
  15357. /**
  15358. * Providers that will generate a random APP_ID_TOKEN.
  15359. * @experimental
  15360. */
  15361. var APP_ID_RANDOM_PROVIDER = {
  15362. provide: APP_ID,
  15363. useFactory: _appIdRandomProviderFactory,
  15364. deps: [],
  15365. };
  15366. function _randomChar() {
  15367. return __WEBPACK_IMPORTED_MODULE_0__src_facade_lang__["i" /* StringWrapper */].fromCharCode(97 + __WEBPACK_IMPORTED_MODULE_0__src_facade_lang__["j" /* Math */].floor(__WEBPACK_IMPORTED_MODULE_0__src_facade_lang__["j" /* Math */].random() * 25));
  15368. }
  15369. /**
  15370. * A function that will be executed when a platform is initialized.
  15371. * @experimental
  15372. */
  15373. var PLATFORM_INITIALIZER = new __WEBPACK_IMPORTED_MODULE_1__di__["a" /* OpaqueToken */]('Platform Initializer');
  15374. /**
  15375. * All callbacks provided via this token will be called for every component that is bootstrapped.
  15376. * Signature of the callback:
  15377. *
  15378. * `(componentRef: ComponentRef) => void`.
  15379. *
  15380. * @experimental
  15381. */
  15382. var APP_BOOTSTRAP_LISTENER = new __WEBPACK_IMPORTED_MODULE_1__di__["a" /* OpaqueToken */]('appBootstrapListener');
  15383. /**
  15384. * A token which indicates the root directory of the application
  15385. * @experimental
  15386. */
  15387. var PACKAGE_ROOT_URL = new __WEBPACK_IMPORTED_MODULE_1__di__["a" /* OpaqueToken */]('Application Packages Root URL');
  15388. //# sourceMappingURL=application_tokens.js.map
  15389. /***/ },
  15390. /* 136 */
  15391. /***/ function(module, exports, __webpack_require__) {
  15392. "use strict";
  15393. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__differs_default_iterable_differ__ = __webpack_require__(201);
  15394. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__differs_default_keyvalue_differ__ = __webpack_require__(306);
  15395. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__differs_iterable_differs__ = __webpack_require__(307);
  15396. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__differs_keyvalue_differs__ = __webpack_require__(308);
  15397. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__change_detection_util__ = __webpack_require__(137);
  15398. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__change_detector_ref__ = __webpack_require__(480);
  15399. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__constants__ = __webpack_require__(138);
  15400. /* unused harmony export keyValDiff */
  15401. /* unused harmony export iterableDiff */
  15402. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return defaultIterableDiffers; });
  15403. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return defaultKeyValueDiffers; });
  15404. /* harmony reexport (binding) */ __webpack_require__.d(exports, "i", function() { return __WEBPACK_IMPORTED_MODULE_4__change_detection_util__["d"]; });
  15405. /* unused harmony reexport UNINITIALIZED */
  15406. /* unused harmony reexport ValueUnwrapper */
  15407. /* harmony reexport (binding) */ __webpack_require__.d(exports, "j", function() { return __WEBPACK_IMPORTED_MODULE_4__change_detection_util__["e"]; });
  15408. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_4__change_detection_util__["b"]; });
  15409. /* unused harmony reexport looseIdentical */
  15410. /* harmony reexport (binding) */ __webpack_require__.d(exports, "h", function() { return __WEBPACK_IMPORTED_MODULE_5__change_detector_ref__["a"]; });
  15411. /* unused harmony reexport CHANGE_DETECTION_STRATEGY_VALUES */
  15412. /* harmony reexport (binding) */ __webpack_require__.d(exports, "g", function() { return __WEBPACK_IMPORTED_MODULE_6__constants__["a"]; });
  15413. /* harmony reexport (binding) */ __webpack_require__.d(exports, "f", function() { return __WEBPACK_IMPORTED_MODULE_6__constants__["b"]; });
  15414. /* unused harmony reexport isDefaultChangeDetectionStrategy */
  15415. /* harmony reexport (binding) */ __webpack_require__.d(exports, "k", function() { return __WEBPACK_IMPORTED_MODULE_0__differs_default_iterable_differ__["b"]; });
  15416. /* unused harmony reexport DefaultIterableDifferFactory */
  15417. /* harmony reexport (binding) */ __webpack_require__.d(exports, "l", function() { return __WEBPACK_IMPORTED_MODULE_0__differs_default_iterable_differ__["c"]; });
  15418. /* harmony reexport (binding) */ __webpack_require__.d(exports, "m", function() { return __WEBPACK_IMPORTED_MODULE_1__differs_default_keyvalue_differ__["b"]; });
  15419. /* unused harmony reexport DefaultKeyValueDifferFactory */
  15420. /* harmony reexport (binding) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_2__differs_iterable_differs__["a"]; });
  15421. /* harmony reexport (binding) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_3__differs_keyvalue_differs__["a"]; });
  15422. /**
  15423. * @license
  15424. * Copyright Google Inc. All Rights Reserved.
  15425. *
  15426. * Use of this source code is governed by an MIT-style license that can be
  15427. * found in the LICENSE file at https://angular.io/license
  15428. */
  15429. /**
  15430. * Structural diffing for `Object`s and `Map`s.
  15431. */
  15432. var keyValDiff = [new __WEBPACK_IMPORTED_MODULE_1__differs_default_keyvalue_differ__["a" /* DefaultKeyValueDifferFactory */]()];
  15433. /**
  15434. * Structural diffing for `Iterable` types such as `Array`s.
  15435. */
  15436. var iterableDiff = [new __WEBPACK_IMPORTED_MODULE_0__differs_default_iterable_differ__["a" /* DefaultIterableDifferFactory */]()];
  15437. var defaultIterableDiffers = new __WEBPACK_IMPORTED_MODULE_2__differs_iterable_differs__["a" /* IterableDiffers */](iterableDiff);
  15438. var defaultKeyValueDiffers = new __WEBPACK_IMPORTED_MODULE_3__differs_keyvalue_differs__["a" /* KeyValueDiffers */](keyValDiff);
  15439. //# sourceMappingURL=change_detection.js.map
  15440. /***/ },
  15441. /* 137 */
  15442. /***/ function(module, exports, __webpack_require__) {
  15443. "use strict";
  15444. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(16);
  15445. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(5);
  15446. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return UNINITIALIZED; });
  15447. /* harmony export (immutable) */ exports["b"] = devModeEqual;
  15448. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return WrappedValue; });
  15449. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return ValueUnwrapper; });
  15450. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return SimpleChange; });
  15451. /* unused harmony reexport looseIdentical */
  15452. /**
  15453. * @license
  15454. * Copyright Google Inc. All Rights Reserved.
  15455. *
  15456. * Use of this source code is governed by an MIT-style license that can be
  15457. * found in the LICENSE file at https://angular.io/license
  15458. */
  15459. var UNINITIALIZED = {
  15460. toString: function () { return 'CD_INIT_VALUE'; }
  15461. };
  15462. function devModeEqual(a, b) {
  15463. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_collection__["e" /* isListLikeIterable */])(a) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_collection__["e" /* isListLikeIterable */])(b)) {
  15464. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_collection__["g" /* areIterablesEqual */])(a, b, devModeEqual);
  15465. }
  15466. else if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_collection__["e" /* isListLikeIterable */])(a) && !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["p" /* isPrimitive */])(a) && !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_collection__["e" /* isListLikeIterable */])(b) && !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["p" /* isPrimitive */])(b)) {
  15467. return true;
  15468. }
  15469. else {
  15470. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["m" /* looseIdentical */])(a, b);
  15471. }
  15472. }
  15473. /**
  15474. * Indicates that the result of a {@link Pipe} transformation has changed even though the
  15475. * reference
  15476. * has not changed.
  15477. *
  15478. * The wrapped value will be unwrapped by change detection, and the unwrapped value will be stored.
  15479. *
  15480. * Example:
  15481. *
  15482. * ```
  15483. * if (this._latestValue === this._latestReturnedValue) {
  15484. * return this._latestReturnedValue;
  15485. * } else {
  15486. * this._latestReturnedValue = this._latestValue;
  15487. * return WrappedValue.wrap(this._latestValue); // this will force update
  15488. * }
  15489. * ```
  15490. * @stable
  15491. */
  15492. var WrappedValue = (function () {
  15493. function WrappedValue(wrapped) {
  15494. this.wrapped = wrapped;
  15495. }
  15496. WrappedValue.wrap = function (value) { return new WrappedValue(value); };
  15497. return WrappedValue;
  15498. }());
  15499. /**
  15500. * Helper class for unwrapping WrappedValue s
  15501. */
  15502. var ValueUnwrapper = (function () {
  15503. function ValueUnwrapper() {
  15504. this.hasWrappedValue = false;
  15505. }
  15506. ValueUnwrapper.prototype.unwrap = function (value) {
  15507. if (value instanceof WrappedValue) {
  15508. this.hasWrappedValue = true;
  15509. return value.wrapped;
  15510. }
  15511. return value;
  15512. };
  15513. ValueUnwrapper.prototype.reset = function () { this.hasWrappedValue = false; };
  15514. return ValueUnwrapper;
  15515. }());
  15516. /**
  15517. * Represents a basic change from a previous to a new value.
  15518. * @stable
  15519. */
  15520. var SimpleChange = (function () {
  15521. function SimpleChange(previousValue, currentValue) {
  15522. this.previousValue = previousValue;
  15523. this.currentValue = currentValue;
  15524. }
  15525. /**
  15526. * Check whether the new value is the first value assigned.
  15527. */
  15528. SimpleChange.prototype.isFirstChange = function () { return this.previousValue === UNINITIALIZED; };
  15529. return SimpleChange;
  15530. }());
  15531. //# sourceMappingURL=change_detection_util.js.map
  15532. /***/ },
  15533. /* 138 */
  15534. /***/ function(module, exports, __webpack_require__) {
  15535. "use strict";
  15536. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(5);
  15537. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ChangeDetectionStrategy; });
  15538. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return ChangeDetectorStatus; });
  15539. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return CHANGE_DETECTION_STRATEGY_VALUES; });
  15540. /* unused harmony export CHANGE_DETECTOR_STATUS_VALUES */
  15541. /* harmony export (immutable) */ exports["c"] = isDefaultChangeDetectionStrategy;
  15542. /**
  15543. * @license
  15544. * Copyright Google Inc. All Rights Reserved.
  15545. *
  15546. * Use of this source code is governed by an MIT-style license that can be
  15547. * found in the LICENSE file at https://angular.io/license
  15548. */
  15549. /**
  15550. * Describes within the change detector which strategy will be used the next time change
  15551. * detection is triggered.
  15552. * @stable
  15553. */
  15554. var ChangeDetectionStrategy;
  15555. (function (ChangeDetectionStrategy) {
  15556. /**
  15557. * `OnPush` means that the change detector's mode will be set to `CheckOnce` during hydration.
  15558. */
  15559. ChangeDetectionStrategy[ChangeDetectionStrategy["OnPush"] = 0] = "OnPush";
  15560. /**
  15561. * `Default` means that the change detector's mode will be set to `CheckAlways` during hydration.
  15562. */
  15563. ChangeDetectionStrategy[ChangeDetectionStrategy["Default"] = 1] = "Default";
  15564. })(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));
  15565. /**
  15566. * Describes the status of the detector.
  15567. */
  15568. var ChangeDetectorStatus;
  15569. (function (ChangeDetectorStatus) {
  15570. /**
  15571. * `CheckedOnce` means that after calling detectChanges the mode of the change detector
  15572. * will become `Checked`.
  15573. */
  15574. ChangeDetectorStatus[ChangeDetectorStatus["CheckOnce"] = 0] = "CheckOnce";
  15575. /**
  15576. * `Checked` means that the change detector should be skipped until its mode changes to
  15577. * `CheckOnce`.
  15578. */
  15579. ChangeDetectorStatus[ChangeDetectorStatus["Checked"] = 1] = "Checked";
  15580. /**
  15581. * `CheckAlways` means that after calling detectChanges the mode of the change detector
  15582. * will remain `CheckAlways`.
  15583. */
  15584. ChangeDetectorStatus[ChangeDetectorStatus["CheckAlways"] = 2] = "CheckAlways";
  15585. /**
  15586. * `Detached` means that the change detector sub tree is not a part of the main tree and
  15587. * should be skipped.
  15588. */
  15589. ChangeDetectorStatus[ChangeDetectorStatus["Detached"] = 3] = "Detached";
  15590. /**
  15591. * `Errored` means that the change detector encountered an error checking a binding
  15592. * or calling a directive lifecycle method and is now in an inconsistent state. Change
  15593. * detectors in this state will no longer detect changes.
  15594. */
  15595. ChangeDetectorStatus[ChangeDetectorStatus["Errored"] = 4] = "Errored";
  15596. /**
  15597. * `Destroyed` means that the change detector is destroyed.
  15598. */
  15599. ChangeDetectorStatus[ChangeDetectorStatus["Destroyed"] = 5] = "Destroyed";
  15600. })(ChangeDetectorStatus || (ChangeDetectorStatus = {}));
  15601. /**
  15602. * List of possible {@link ChangeDetectionStrategy} values.
  15603. */
  15604. var CHANGE_DETECTION_STRATEGY_VALUES = [
  15605. ChangeDetectionStrategy.OnPush,
  15606. ChangeDetectionStrategy.Default,
  15607. ];
  15608. /**
  15609. * List of possible {@link ChangeDetectorStatus} values.
  15610. */
  15611. var CHANGE_DETECTOR_STATUS_VALUES = [
  15612. ChangeDetectorStatus.CheckOnce,
  15613. ChangeDetectorStatus.Checked,
  15614. ChangeDetectorStatus.CheckAlways,
  15615. ChangeDetectorStatus.Detached,
  15616. ChangeDetectorStatus.Errored,
  15617. ChangeDetectorStatus.Destroyed,
  15618. ];
  15619. function isDefaultChangeDetectionStrategy(changeDetectionStrategy) {
  15620. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["d" /* isBlank */])(changeDetectionStrategy) ||
  15621. changeDetectionStrategy === ChangeDetectionStrategy.Default;
  15622. }
  15623. //# sourceMappingURL=constants.js.map
  15624. /***/ },
  15625. /* 139 */
  15626. /***/ function(module, exports, __webpack_require__) {
  15627. "use strict";
  15628. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_errors__ = __webpack_require__(35);
  15629. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(5);
  15630. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return THROW_IF_NOT_FOUND; });
  15631. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return Injector; });
  15632. /**
  15633. * @license
  15634. * Copyright Google Inc. All Rights Reserved.
  15635. *
  15636. * Use of this source code is governed by an MIT-style license that can be
  15637. * found in the LICENSE file at https://angular.io/license
  15638. */
  15639. var _THROW_IF_NOT_FOUND = new Object();
  15640. var THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;
  15641. var _NullInjector = (function () {
  15642. function _NullInjector() {
  15643. }
  15644. _NullInjector.prototype.get = function (token, notFoundValue) {
  15645. if (notFoundValue === void 0) { notFoundValue = _THROW_IF_NOT_FOUND; }
  15646. if (notFoundValue === _THROW_IF_NOT_FOUND) {
  15647. throw new Error("No provider for " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(token) + "!");
  15648. }
  15649. return notFoundValue;
  15650. };
  15651. return _NullInjector;
  15652. }());
  15653. /**
  15654. * @whatItDoes Injector interface
  15655. * @howToUse
  15656. * ```
  15657. * const injector: Injector = ...;
  15658. * injector.get(...);
  15659. * ```
  15660. *
  15661. * @description
  15662. * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
  15663. *
  15664. * ### Example
  15665. *
  15666. * {@example core/di/ts/injector_spec.ts region='Injector'}
  15667. *
  15668. * `Injector` returns itself when given `Injector` as a token:
  15669. * {@example core/di/ts/injector_spec.ts region='injectInjector'}
  15670. *
  15671. * @stable
  15672. */
  15673. var Injector = (function () {
  15674. function Injector() {
  15675. }
  15676. /**
  15677. * Retrieves an instance from the injector based on the provided token.
  15678. * If not found:
  15679. * - Throws {@link NoProviderError} if no `notFoundValue` that is not equal to
  15680. * Injector.THROW_IF_NOT_FOUND is given
  15681. * - Returns the `notFoundValue` otherwise
  15682. */
  15683. Injector.prototype.get = function (token, notFoundValue) { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["a" /* unimplemented */])(); };
  15684. Injector.THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;
  15685. Injector.NULL = new _NullInjector();
  15686. return Injector;
  15687. }());
  15688. //# sourceMappingURL=injector.js.map
  15689. /***/ },
  15690. /* 140 */
  15691. /***/ function(module, exports, __webpack_require__) {
  15692. "use strict";
  15693. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_decorators__ = __webpack_require__(89);
  15694. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return Inject; });
  15695. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return Optional; });
  15696. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Injectable; });
  15697. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return Self; });
  15698. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return SkipSelf; });
  15699. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return Host; });
  15700. /**
  15701. * @license
  15702. * Copyright Google Inc. All Rights Reserved.
  15703. *
  15704. * Use of this source code is governed by an MIT-style license that can be
  15705. * found in the LICENSE file at https://angular.io/license
  15706. */
  15707. /**
  15708. * Inject decorator and metadata.
  15709. *
  15710. * @stable
  15711. * @Annotation
  15712. */
  15713. var Inject = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__util_decorators__["a" /* makeParamDecorator */])('Inject', [['token', undefined]]);
  15714. /**
  15715. * Optional decorator and metadata.
  15716. *
  15717. * @stable
  15718. * @Annotation
  15719. */
  15720. var Optional = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__util_decorators__["a" /* makeParamDecorator */])('Optional', []);
  15721. /**
  15722. * Injectable decorator and metadata.
  15723. *
  15724. * @stable
  15725. * @Annotation
  15726. */
  15727. var Injectable = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__util_decorators__["a" /* makeParamDecorator */])('Injectable', []);
  15728. /**
  15729. * Self decorator and metadata.
  15730. *
  15731. * @stable
  15732. * @Annotation
  15733. */
  15734. var Self = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__util_decorators__["a" /* makeParamDecorator */])('Self', []);
  15735. /**
  15736. * SkipSelf decorator and metadata.
  15737. *
  15738. * @stable
  15739. * @Annotation
  15740. */
  15741. var SkipSelf = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__util_decorators__["a" /* makeParamDecorator */])('SkipSelf', []);
  15742. /**
  15743. * Host decorator and metadata.
  15744. *
  15745. * @stable
  15746. * @Annotation
  15747. */
  15748. var Host = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__util_decorators__["a" /* makeParamDecorator */])('Host', []);
  15749. //# sourceMappingURL=metadata.js.map
  15750. /***/ },
  15751. /* 141 */
  15752. /***/ function(module, exports, __webpack_require__) {
  15753. "use strict";
  15754. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_errors__ = __webpack_require__(35);
  15755. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(5);
  15756. /* unused harmony export NoComponentFactoryError */
  15757. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ComponentFactoryResolver; });
  15758. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return CodegenComponentFactoryResolver; });
  15759. /**
  15760. * @license
  15761. * Copyright Google Inc. All Rights Reserved.
  15762. *
  15763. * Use of this source code is governed by an MIT-style license that can be
  15764. * found in the LICENSE file at https://angular.io/license
  15765. */
  15766. var __extends = (this && this.__extends) || function (d, b) {
  15767. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  15768. function __() { this.constructor = d; }
  15769. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  15770. };
  15771. /**
  15772. * @stable
  15773. */
  15774. var NoComponentFactoryError = (function (_super) {
  15775. __extends(NoComponentFactoryError, _super);
  15776. function NoComponentFactoryError(component) {
  15777. _super.call(this, "No component factory found for " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(component));
  15778. this.component = component;
  15779. }
  15780. return NoComponentFactoryError;
  15781. }(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["b" /* BaseError */]));
  15782. var _NullComponentFactoryResolver = (function () {
  15783. function _NullComponentFactoryResolver() {
  15784. }
  15785. _NullComponentFactoryResolver.prototype.resolveComponentFactory = function (component) {
  15786. throw new NoComponentFactoryError(component);
  15787. };
  15788. return _NullComponentFactoryResolver;
  15789. }());
  15790. /**
  15791. * @stable
  15792. */
  15793. var ComponentFactoryResolver = (function () {
  15794. function ComponentFactoryResolver() {
  15795. }
  15796. ComponentFactoryResolver.NULL = new _NullComponentFactoryResolver();
  15797. return ComponentFactoryResolver;
  15798. }());
  15799. var CodegenComponentFactoryResolver = (function () {
  15800. function CodegenComponentFactoryResolver(factories, _parent) {
  15801. this._parent = _parent;
  15802. this._factories = new Map();
  15803. for (var i = 0; i < factories.length; i++) {
  15804. var factory = factories[i];
  15805. this._factories.set(factory.componentType, factory);
  15806. }
  15807. }
  15808. CodegenComponentFactoryResolver.prototype.resolveComponentFactory = function (component) {
  15809. var result = this._factories.get(component);
  15810. if (!result) {
  15811. result = this._parent.resolveComponentFactory(component);
  15812. }
  15813. return result;
  15814. };
  15815. return CodegenComponentFactoryResolver;
  15816. }());
  15817. //# sourceMappingURL=component_factory_resolver.js.map
  15818. /***/ },
  15819. /* 142 */
  15820. /***/ function(module, exports, __webpack_require__) {
  15821. "use strict";
  15822. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ViewType; });
  15823. /**
  15824. * @license
  15825. * Copyright Google Inc. All Rights Reserved.
  15826. *
  15827. * Use of this source code is governed by an MIT-style license that can be
  15828. * found in the LICENSE file at https://angular.io/license
  15829. */
  15830. var ViewType;
  15831. (function (ViewType) {
  15832. // A view that contains the host element with bound component directive.
  15833. // Contains a COMPONENT view
  15834. ViewType[ViewType["HOST"] = 0] = "HOST";
  15835. // The view of the component
  15836. // Can contain 0 to n EMBEDDED views
  15837. ViewType[ViewType["COMPONENT"] = 1] = "COMPONENT";
  15838. // A view that is embedded into another View via a <template> element
  15839. // inside of a COMPONENT view
  15840. ViewType[ViewType["EMBEDDED"] = 2] = "EMBEDDED";
  15841. })(ViewType || (ViewType = {}));
  15842. //# sourceMappingURL=view_type.js.map
  15843. /***/ },
  15844. /* 143 */
  15845. /***/ function(module, exports, __webpack_require__) {
  15846. "use strict";
  15847. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__application_tokens__ = __webpack_require__(135);
  15848. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__change_detection_change_detection__ = __webpack_require__(136);
  15849. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__change_detection_change_detection_util__ = __webpack_require__(137);
  15850. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__di__ = __webpack_require__(39);
  15851. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__facade_lang__ = __webpack_require__(5);
  15852. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__render_api__ = __webpack_require__(211);
  15853. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__security__ = __webpack_require__(327);
  15854. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__element__ = __webpack_require__(208);
  15855. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__errors__ = __webpack_require__(316);
  15856. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ViewUtils; });
  15857. /* harmony export (immutable) */ exports["c"] = flattenNestedViewRenderNodes;
  15858. /* harmony export (immutable) */ exports["b"] = ensureSlotCount;
  15859. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return MAX_INTERPOLATION_VALUES; });
  15860. /* harmony export (immutable) */ exports["f"] = interpolate;
  15861. /* harmony export (immutable) */ exports["e"] = checkBinding;
  15862. /* harmony export (immutable) */ exports["s"] = castByValue;
  15863. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return EMPTY_ARRAY; });
  15864. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return EMPTY_MAP; });
  15865. /* harmony export (immutable) */ exports["i"] = pureProxy1;
  15866. /* harmony export (immutable) */ exports["j"] = pureProxy2;
  15867. /* harmony export (immutable) */ exports["k"] = pureProxy3;
  15868. /* harmony export (immutable) */ exports["l"] = pureProxy4;
  15869. /* harmony export (immutable) */ exports["m"] = pureProxy5;
  15870. /* harmony export (immutable) */ exports["n"] = pureProxy6;
  15871. /* harmony export (immutable) */ exports["o"] = pureProxy7;
  15872. /* harmony export (immutable) */ exports["p"] = pureProxy8;
  15873. /* harmony export (immutable) */ exports["q"] = pureProxy9;
  15874. /* harmony export (immutable) */ exports["r"] = pureProxy10;
  15875. /**
  15876. * @license
  15877. * Copyright Google Inc. All Rights Reserved.
  15878. *
  15879. * Use of this source code is governed by an MIT-style license that can be
  15880. * found in the LICENSE file at https://angular.io/license
  15881. */
  15882. var ViewUtils = (function () {
  15883. function ViewUtils(_renderer, _appId, sanitizer) {
  15884. this._renderer = _renderer;
  15885. this._appId = _appId;
  15886. this._nextCompTypeId = 0;
  15887. this.sanitizer = sanitizer;
  15888. }
  15889. /**
  15890. * Used by the generated code
  15891. */
  15892. // TODO (matsko): add typing for the animation function
  15893. ViewUtils.prototype.createRenderComponentType = function (templateUrl, slotCount, encapsulation, styles, animations) {
  15894. return new __WEBPACK_IMPORTED_MODULE_5__render_api__["a" /* RenderComponentType */](this._appId + "-" + this._nextCompTypeId++, templateUrl, slotCount, encapsulation, styles, animations);
  15895. };
  15896. /** @internal */
  15897. ViewUtils.prototype.renderComponent = function (renderComponentType) {
  15898. return this._renderer.renderComponent(renderComponentType);
  15899. };
  15900. ViewUtils.decorators = [
  15901. { type: __WEBPACK_IMPORTED_MODULE_3__di__["b" /* Injectable */] },
  15902. ];
  15903. /** @nocollapse */
  15904. ViewUtils.ctorParameters = [
  15905. { type: __WEBPACK_IMPORTED_MODULE_5__render_api__["b" /* RootRenderer */], },
  15906. { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_3__di__["c" /* Inject */], args: [__WEBPACK_IMPORTED_MODULE_0__application_tokens__["a" /* APP_ID */],] },] },
  15907. { type: __WEBPACK_IMPORTED_MODULE_6__security__["a" /* Sanitizer */], },
  15908. ];
  15909. return ViewUtils;
  15910. }());
  15911. function flattenNestedViewRenderNodes(nodes) {
  15912. return _flattenNestedViewRenderNodes(nodes, []);
  15913. }
  15914. function _flattenNestedViewRenderNodes(nodes, renderNodes) {
  15915. for (var i = 0; i < nodes.length; i++) {
  15916. var node = nodes[i];
  15917. if (node instanceof __WEBPACK_IMPORTED_MODULE_7__element__["a" /* AppElement */]) {
  15918. var appEl = node;
  15919. renderNodes.push(appEl.nativeElement);
  15920. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["e" /* isPresent */])(appEl.nestedViews)) {
  15921. for (var k = 0; k < appEl.nestedViews.length; k++) {
  15922. _flattenNestedViewRenderNodes(appEl.nestedViews[k].rootNodesOrAppElements, renderNodes);
  15923. }
  15924. }
  15925. }
  15926. else {
  15927. renderNodes.push(node);
  15928. }
  15929. }
  15930. return renderNodes;
  15931. }
  15932. var EMPTY_ARR = [];
  15933. function ensureSlotCount(projectableNodes, expectedSlotCount) {
  15934. var res;
  15935. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["d" /* isBlank */])(projectableNodes)) {
  15936. res = EMPTY_ARR;
  15937. }
  15938. else if (projectableNodes.length < expectedSlotCount) {
  15939. var givenSlotCount = projectableNodes.length;
  15940. res = new Array(expectedSlotCount);
  15941. for (var i = 0; i < expectedSlotCount; i++) {
  15942. res[i] = (i < givenSlotCount) ? projectableNodes[i] : EMPTY_ARR;
  15943. }
  15944. }
  15945. else {
  15946. res = projectableNodes;
  15947. }
  15948. return res;
  15949. }
  15950. var MAX_INTERPOLATION_VALUES = 9;
  15951. function interpolate(valueCount, c0, a1, c1, a2, c2, a3, c3, a4, c4, a5, c5, a6, c6, a7, c7, a8, c8, a9, c9) {
  15952. switch (valueCount) {
  15953. case 1:
  15954. return c0 + _toStringWithNull(a1) + c1;
  15955. case 2:
  15956. return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2;
  15957. case 3:
  15958. return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +
  15959. c3;
  15960. case 4:
  15961. return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +
  15962. c3 + _toStringWithNull(a4) + c4;
  15963. case 5:
  15964. return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +
  15965. c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5;
  15966. case 6:
  15967. return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +
  15968. c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) + c6;
  15969. case 7:
  15970. return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +
  15971. c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +
  15972. c6 + _toStringWithNull(a7) + c7;
  15973. case 8:
  15974. return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +
  15975. c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +
  15976. c6 + _toStringWithNull(a7) + c7 + _toStringWithNull(a8) + c8;
  15977. case 9:
  15978. return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +
  15979. c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +
  15980. c6 + _toStringWithNull(a7) + c7 + _toStringWithNull(a8) + c8 + _toStringWithNull(a9) + c9;
  15981. default:
  15982. throw new Error("Does not support more than 9 expressions");
  15983. }
  15984. }
  15985. function _toStringWithNull(v) {
  15986. return v != null ? v.toString() : '';
  15987. }
  15988. function checkBinding(throwOnChange, oldValue, newValue) {
  15989. if (throwOnChange) {
  15990. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__change_detection_change_detection__["a" /* devModeEqual */])(oldValue, newValue)) {
  15991. throw new __WEBPACK_IMPORTED_MODULE_8__errors__["a" /* ExpressionChangedAfterItHasBeenCheckedError */](oldValue, newValue);
  15992. }
  15993. return false;
  15994. }
  15995. else {
  15996. return !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(oldValue, newValue);
  15997. }
  15998. }
  15999. function castByValue(input, value) {
  16000. return input;
  16001. }
  16002. var EMPTY_ARRAY = [];
  16003. var EMPTY_MAP = {};
  16004. function pureProxy1(fn) {
  16005. var result;
  16006. var v0 = __WEBPACK_IMPORTED_MODULE_2__change_detection_change_detection_util__["a" /* UNINITIALIZED */];
  16007. return function (p0) {
  16008. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v0, p0)) {
  16009. v0 = p0;
  16010. result = fn(p0);
  16011. }
  16012. return result;
  16013. };
  16014. }
  16015. function pureProxy2(fn) {
  16016. var result;
  16017. var v0 = __WEBPACK_IMPORTED_MODULE_2__change_detection_change_detection_util__["a" /* UNINITIALIZED */];
  16018. var v1 = __WEBPACK_IMPORTED_MODULE_2__change_detection_change_detection_util__["a" /* UNINITIALIZED */];
  16019. return function (p0, p1) {
  16020. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v0, p0) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v1, p1)) {
  16021. v0 = p0;
  16022. v1 = p1;
  16023. result = fn(p0, p1);
  16024. }
  16025. return result;
  16026. };
  16027. }
  16028. function pureProxy3(fn) {
  16029. var result;
  16030. var v0 = __WEBPACK_IMPORTED_MODULE_2__change_detection_change_detection_util__["a" /* UNINITIALIZED */];
  16031. var v1 = __WEBPACK_IMPORTED_MODULE_2__change_detection_change_detection_util__["a" /* UNINITIALIZED */];
  16032. var v2 = __WEBPACK_IMPORTED_MODULE_2__change_detection_change_detection_util__["a" /* UNINITIALIZED */];
  16033. return function (p0, p1, p2) {
  16034. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v0, p0) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v1, p1) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v2, p2)) {
  16035. v0 = p0;
  16036. v1 = p1;
  16037. v2 = p2;
  16038. result = fn(p0, p1, p2);
  16039. }
  16040. return result;
  16041. };
  16042. }
  16043. function pureProxy4(fn) {
  16044. var result;
  16045. var v0, v1, v2, v3;
  16046. v0 = v1 = v2 = v3 = __WEBPACK_IMPORTED_MODULE_2__change_detection_change_detection_util__["a" /* UNINITIALIZED */];
  16047. return function (p0, p1, p2, p3) {
  16048. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v0, p0) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v1, p1) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v2, p2) ||
  16049. !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v3, p3)) {
  16050. v0 = p0;
  16051. v1 = p1;
  16052. v2 = p2;
  16053. v3 = p3;
  16054. result = fn(p0, p1, p2, p3);
  16055. }
  16056. return result;
  16057. };
  16058. }
  16059. function pureProxy5(fn) {
  16060. var result;
  16061. var v0, v1, v2, v3, v4;
  16062. v0 = v1 = v2 = v3 = v4 = __WEBPACK_IMPORTED_MODULE_2__change_detection_change_detection_util__["a" /* UNINITIALIZED */];
  16063. return function (p0, p1, p2, p3, p4) {
  16064. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v0, p0) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v1, p1) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v2, p2) ||
  16065. !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v3, p3) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v4, p4)) {
  16066. v0 = p0;
  16067. v1 = p1;
  16068. v2 = p2;
  16069. v3 = p3;
  16070. v4 = p4;
  16071. result = fn(p0, p1, p2, p3, p4);
  16072. }
  16073. return result;
  16074. };
  16075. }
  16076. function pureProxy6(fn) {
  16077. var result;
  16078. var v0, v1, v2, v3, v4, v5;
  16079. v0 = v1 = v2 = v3 = v4 = v5 = __WEBPACK_IMPORTED_MODULE_2__change_detection_change_detection_util__["a" /* UNINITIALIZED */];
  16080. return function (p0, p1, p2, p3, p4, p5) {
  16081. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v0, p0) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v1, p1) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v2, p2) ||
  16082. !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v3, p3) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v4, p4) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v5, p5)) {
  16083. v0 = p0;
  16084. v1 = p1;
  16085. v2 = p2;
  16086. v3 = p3;
  16087. v4 = p4;
  16088. v5 = p5;
  16089. result = fn(p0, p1, p2, p3, p4, p5);
  16090. }
  16091. return result;
  16092. };
  16093. }
  16094. function pureProxy7(fn) {
  16095. var result;
  16096. var v0, v1, v2, v3, v4, v5, v6;
  16097. v0 = v1 = v2 = v3 = v4 = v5 = v6 = __WEBPACK_IMPORTED_MODULE_2__change_detection_change_detection_util__["a" /* UNINITIALIZED */];
  16098. return function (p0, p1, p2, p3, p4, p5, p6) {
  16099. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v0, p0) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v1, p1) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v2, p2) ||
  16100. !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v3, p3) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v4, p4) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v5, p5) ||
  16101. !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v6, p6)) {
  16102. v0 = p0;
  16103. v1 = p1;
  16104. v2 = p2;
  16105. v3 = p3;
  16106. v4 = p4;
  16107. v5 = p5;
  16108. v6 = p6;
  16109. result = fn(p0, p1, p2, p3, p4, p5, p6);
  16110. }
  16111. return result;
  16112. };
  16113. }
  16114. function pureProxy8(fn) {
  16115. var result;
  16116. var v0, v1, v2, v3, v4, v5, v6, v7;
  16117. v0 = v1 = v2 = v3 = v4 = v5 = v6 = v7 = __WEBPACK_IMPORTED_MODULE_2__change_detection_change_detection_util__["a" /* UNINITIALIZED */];
  16118. return function (p0, p1, p2, p3, p4, p5, p6, p7) {
  16119. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v0, p0) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v1, p1) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v2, p2) ||
  16120. !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v3, p3) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v4, p4) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v5, p5) ||
  16121. !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v6, p6) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v7, p7)) {
  16122. v0 = p0;
  16123. v1 = p1;
  16124. v2 = p2;
  16125. v3 = p3;
  16126. v4 = p4;
  16127. v5 = p5;
  16128. v6 = p6;
  16129. v7 = p7;
  16130. result = fn(p0, p1, p2, p3, p4, p5, p6, p7);
  16131. }
  16132. return result;
  16133. };
  16134. }
  16135. function pureProxy9(fn) {
  16136. var result;
  16137. var v0, v1, v2, v3, v4, v5, v6, v7, v8;
  16138. v0 = v1 = v2 = v3 = v4 = v5 = v6 = v7 = v8 = __WEBPACK_IMPORTED_MODULE_2__change_detection_change_detection_util__["a" /* UNINITIALIZED */];
  16139. return function (p0, p1, p2, p3, p4, p5, p6, p7, p8) {
  16140. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v0, p0) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v1, p1) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v2, p2) ||
  16141. !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v3, p3) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v4, p4) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v5, p5) ||
  16142. !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v6, p6) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v7, p7) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v8, p8)) {
  16143. v0 = p0;
  16144. v1 = p1;
  16145. v2 = p2;
  16146. v3 = p3;
  16147. v4 = p4;
  16148. v5 = p5;
  16149. v6 = p6;
  16150. v7 = p7;
  16151. v8 = p8;
  16152. result = fn(p0, p1, p2, p3, p4, p5, p6, p7, p8);
  16153. }
  16154. return result;
  16155. };
  16156. }
  16157. function pureProxy10(fn) {
  16158. var result;
  16159. var v0, v1, v2, v3, v4, v5, v6, v7, v8, v9;
  16160. v0 = v1 = v2 = v3 = v4 = v5 = v6 = v7 = v8 = v9 = __WEBPACK_IMPORTED_MODULE_2__change_detection_change_detection_util__["a" /* UNINITIALIZED */];
  16161. return function (p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
  16162. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v0, p0) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v1, p1) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v2, p2) ||
  16163. !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v3, p3) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v4, p4) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v5, p5) ||
  16164. !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v6, p6) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v7, p7) || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v8, p8) ||
  16165. !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["m" /* looseIdentical */])(v9, p9)) {
  16166. v0 = p0;
  16167. v1 = p1;
  16168. v2 = p2;
  16169. v3 = p3;
  16170. v4 = p4;
  16171. v5 = p5;
  16172. v6 = p6;
  16173. v7 = p7;
  16174. v8 = p8;
  16175. v9 = p9;
  16176. result = fn(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
  16177. }
  16178. return result;
  16179. };
  16180. }
  16181. //# sourceMappingURL=view_utils.js.map
  16182. /***/ },
  16183. /* 144 */
  16184. /***/ function(module, exports, __webpack_require__) {
  16185. "use strict";
  16186. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__wtf_impl__ = __webpack_require__(495);
  16187. /* unused harmony export wtfEnabled */
  16188. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return wtfCreateScope; });
  16189. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return wtfLeave; });
  16190. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return wtfStartTimeRange; });
  16191. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return wtfEndTimeRange; });
  16192. /**
  16193. * @license
  16194. * Copyright Google Inc. All Rights Reserved.
  16195. *
  16196. * Use of this source code is governed by an MIT-style license that can be
  16197. * found in the LICENSE file at https://angular.io/license
  16198. */
  16199. /**
  16200. * True if WTF is enabled.
  16201. */
  16202. var wtfEnabled = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__wtf_impl__["a" /* detectWTF */])();
  16203. function noopScope(arg0, arg1) {
  16204. return null;
  16205. }
  16206. /**
  16207. * Create trace scope.
  16208. *
  16209. * Scopes must be strictly nested and are analogous to stack frames, but
  16210. * do not have to follow the stack frames. Instead it is recommended that they follow logical
  16211. * nesting. You may want to use
  16212. * [Event
  16213. * Signatures](http://google.github.io/tracing-framework/instrumenting-code.html#custom-events)
  16214. * as they are defined in WTF.
  16215. *
  16216. * Used to mark scope entry. The return value is used to leave the scope.
  16217. *
  16218. * var myScope = wtfCreateScope('MyClass#myMethod(ascii someVal)');
  16219. *
  16220. * someMethod() {
  16221. * var s = myScope('Foo'); // 'Foo' gets stored in tracing UI
  16222. * // DO SOME WORK HERE
  16223. * return wtfLeave(s, 123); // Return value 123
  16224. * }
  16225. *
  16226. * Note, adding try-finally block around the work to ensure that `wtfLeave` gets called can
  16227. * negatively impact the performance of your application. For this reason we recommend that
  16228. * you don't add them to ensure that `wtfLeave` gets called. In production `wtfLeave` is a noop and
  16229. * so try-finally block has no value. When debugging perf issues, skipping `wtfLeave`, do to
  16230. * exception, will produce incorrect trace, but presence of exception signifies logic error which
  16231. * needs to be fixed before the app should be profiled. Add try-finally only when you expect that
  16232. * an exception is expected during normal execution while profiling.
  16233. *
  16234. * @experimental
  16235. */
  16236. var wtfCreateScope = wtfEnabled ? __WEBPACK_IMPORTED_MODULE_0__wtf_impl__["b" /* createScope */] : function (signature, flags) { return noopScope; };
  16237. /**
  16238. * Used to mark end of Scope.
  16239. *
  16240. * - `scope` to end.
  16241. * - `returnValue` (optional) to be passed to the WTF.
  16242. *
  16243. * Returns the `returnValue for easy chaining.
  16244. * @experimental
  16245. */
  16246. var wtfLeave = wtfEnabled ? __WEBPACK_IMPORTED_MODULE_0__wtf_impl__["c" /* leave */] : function (s, r) { return r; };
  16247. /**
  16248. * Used to mark Async start. Async are similar to scope but they don't have to be strictly nested.
  16249. * The return value is used in the call to [endAsync]. Async ranges only work if WTF has been
  16250. * enabled.
  16251. *
  16252. * someMethod() {
  16253. * var s = wtfStartTimeRange('HTTP:GET', 'some.url');
  16254. * var future = new Future.delay(5).then((_) {
  16255. * wtfEndTimeRange(s);
  16256. * });
  16257. * }
  16258. * @experimental
  16259. */
  16260. var wtfStartTimeRange = wtfEnabled ? __WEBPACK_IMPORTED_MODULE_0__wtf_impl__["d" /* startTimeRange */] : function (rangeType, action) { return null; };
  16261. /**
  16262. * Ends a async time range operation.
  16263. * [range] is the return value from [wtfStartTimeRange] Async ranges only work if WTF has been
  16264. * enabled.
  16265. * @experimental
  16266. */
  16267. var wtfEndTimeRange = wtfEnabled ? __WEBPACK_IMPORTED_MODULE_0__wtf_impl__["e" /* endTimeRange */] : function (r) { return null; };
  16268. //# sourceMappingURL=profile.js.map
  16269. /***/ },
  16270. /* 145 */,
  16271. /* 146 */,
  16272. /* 147 */,
  16273. /* 148 */,
  16274. /* 149 */,
  16275. /* 150 */,
  16276. /* 151 */,
  16277. /* 152 */
  16278. /***/ function(module, exports, __webpack_require__) {
  16279. "use strict";
  16280. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  16281. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_facade_lang__ = __webpack_require__(36);
  16282. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__enums__ = __webpack_require__(68);
  16283. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__headers__ = __webpack_require__(114);
  16284. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ResponseOptions; });
  16285. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return BaseResponseOptions; });
  16286. /**
  16287. * @license
  16288. * Copyright Google Inc. All Rights Reserved.
  16289. *
  16290. * Use of this source code is governed by an MIT-style license that can be
  16291. * found in the LICENSE file at https://angular.io/license
  16292. */
  16293. var __extends = (this && this.__extends) || function (d, b) {
  16294. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  16295. function __() { this.constructor = d; }
  16296. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  16297. };
  16298. /**
  16299. * Creates a response options object to be optionally provided when instantiating a
  16300. * {@link Response}.
  16301. *
  16302. * This class is based on the `ResponseInit` description in the [Fetch
  16303. * Spec](https://fetch.spec.whatwg.org/#responseinit).
  16304. *
  16305. * All values are null by default. Typical defaults can be found in the
  16306. * {@link BaseResponseOptions} class, which sub-classes `ResponseOptions`.
  16307. *
  16308. * This class may be used in tests to build {@link Response Responses} for
  16309. * mock responses (see {@link MockBackend}).
  16310. *
  16311. * ### Example ([live demo](http://plnkr.co/edit/P9Jkk8e8cz6NVzbcxEsD?p=preview))
  16312. *
  16313. * ```typescript
  16314. * import {ResponseOptions, Response} from '@angular/http';
  16315. *
  16316. * var options = new ResponseOptions({
  16317. * body: '{"name":"Jeff"}'
  16318. * });
  16319. * var res = new Response(options);
  16320. *
  16321. * console.log('res.json():', res.json()); // Object {name: "Jeff"}
  16322. * ```
  16323. *
  16324. * @experimental
  16325. */
  16326. var ResponseOptions = (function () {
  16327. function ResponseOptions(_a) {
  16328. var _b = _a === void 0 ? {} : _a, body = _b.body, status = _b.status, headers = _b.headers, statusText = _b.statusText, type = _b.type, url = _b.url;
  16329. this.body = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(body) ? body : null;
  16330. this.status = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(status) ? status : null;
  16331. this.headers = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(headers) ? headers : null;
  16332. this.statusText = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(statusText) ? statusText : null;
  16333. this.type = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(type) ? type : null;
  16334. this.url = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(url) ? url : null;
  16335. }
  16336. /**
  16337. * Creates a copy of the `ResponseOptions` instance, using the optional input as values to
  16338. * override
  16339. * existing values. This method will not change the values of the instance on which it is being
  16340. * called.
  16341. *
  16342. * This may be useful when sharing a base `ResponseOptions` object inside tests,
  16343. * where certain properties may change from test to test.
  16344. *
  16345. * ### Example ([live demo](http://plnkr.co/edit/1lXquqFfgduTFBWjNoRE?p=preview))
  16346. *
  16347. * ```typescript
  16348. * import {ResponseOptions, Response} from '@angular/http';
  16349. *
  16350. * var options = new ResponseOptions({
  16351. * body: {name: 'Jeff'}
  16352. * });
  16353. * var res = new Response(options.merge({
  16354. * url: 'https://google.com'
  16355. * }));
  16356. * console.log('options.url:', options.url); // null
  16357. * console.log('res.json():', res.json()); // Object {name: "Jeff"}
  16358. * console.log('res.url:', res.url); // https://google.com
  16359. * ```
  16360. */
  16361. ResponseOptions.prototype.merge = function (options) {
  16362. return new ResponseOptions({
  16363. body: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options.body) ? options.body : this.body,
  16364. status: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options.status) ? options.status : this.status,
  16365. headers: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options.headers) ? options.headers : this.headers,
  16366. statusText: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options.statusText) ? options.statusText :
  16367. this.statusText,
  16368. type: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options.type) ? options.type : this.type,
  16369. url: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options.url) ? options.url : this.url,
  16370. });
  16371. };
  16372. return ResponseOptions;
  16373. }());
  16374. /**
  16375. * Subclass of {@link ResponseOptions}, with default values.
  16376. *
  16377. * Default values:
  16378. * * status: 200
  16379. * * headers: empty {@link Headers} object
  16380. *
  16381. * This class could be extended and bound to the {@link ResponseOptions} class
  16382. * when configuring an {@link Injector}, in order to override the default options
  16383. * used by {@link Http} to create {@link Response Responses}.
  16384. *
  16385. * ### Example ([live demo](http://plnkr.co/edit/qv8DLT?p=preview))
  16386. *
  16387. * ```typescript
  16388. * import {provide} from '@angular/core';
  16389. * import {bootstrap} from '@angular/platform-browser/browser';
  16390. * import {HTTP_PROVIDERS, Headers, Http, BaseResponseOptions, ResponseOptions} from
  16391. * '@angular/http';
  16392. * import {App} from './myapp';
  16393. *
  16394. * class MyOptions extends BaseResponseOptions {
  16395. * headers:Headers = new Headers({network: 'github'});
  16396. * }
  16397. *
  16398. * bootstrap(App, [HTTP_PROVIDERS, {provide: ResponseOptions, useClass: MyOptions}]);
  16399. * ```
  16400. *
  16401. * The options could also be extended when manually creating a {@link Response}
  16402. * object.
  16403. *
  16404. * ### Example ([live demo](http://plnkr.co/edit/VngosOWiaExEtbstDoix?p=preview))
  16405. *
  16406. * ```
  16407. * import {BaseResponseOptions, Response} from '@angular/http';
  16408. *
  16409. * var options = new BaseResponseOptions();
  16410. * var res = new Response(options.merge({
  16411. * body: 'Angular',
  16412. * headers: new Headers({framework: 'angular'})
  16413. * }));
  16414. * console.log('res.headers.get("framework"):', res.headers.get('framework')); // angular
  16415. * console.log('res.text():', res.text()); // Angular;
  16416. * ```
  16417. *
  16418. * @experimental
  16419. */
  16420. var BaseResponseOptions = (function (_super) {
  16421. __extends(BaseResponseOptions, _super);
  16422. function BaseResponseOptions() {
  16423. _super.call(this, { status: 200, statusText: 'Ok', type: __WEBPACK_IMPORTED_MODULE_2__enums__["a" /* ResponseType */].Default, headers: new __WEBPACK_IMPORTED_MODULE_3__headers__["a" /* Headers */]() });
  16424. }
  16425. BaseResponseOptions.decorators = [
  16426. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  16427. ];
  16428. /** @nocollapse */
  16429. BaseResponseOptions.ctorParameters = [];
  16430. return BaseResponseOptions;
  16431. }(ResponseOptions));
  16432. //# sourceMappingURL=base_response_options.js.map
  16433. /***/ },
  16434. /* 153 */
  16435. /***/ function(module, exports, __webpack_require__) {
  16436. "use strict";
  16437. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_facade_lang__ = __webpack_require__(36);
  16438. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__enums__ = __webpack_require__(68);
  16439. /* harmony export (immutable) */ exports["e"] = normalizeMethodName;
  16440. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return isSuccess; });
  16441. /* harmony export (immutable) */ exports["c"] = getResponseURL;
  16442. /* harmony export (immutable) */ exports["b"] = stringToArrayBuffer;
  16443. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__src_facade_lang__["d"]; });
  16444. /**
  16445. * @license
  16446. * Copyright Google Inc. All Rights Reserved.
  16447. *
  16448. * Use of this source code is governed by an MIT-style license that can be
  16449. * found in the LICENSE file at https://angular.io/license
  16450. */
  16451. function normalizeMethodName(method) {
  16452. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__src_facade_lang__["f" /* isString */])(method)) {
  16453. var originalMethod = method;
  16454. method = method
  16455. .replace(/(\w)(\w*)/g, function (g0, g1, g2) { return g1.toUpperCase() + g2.toLowerCase(); });
  16456. method = __WEBPACK_IMPORTED_MODULE_1__enums__["b" /* RequestMethod */][method];
  16457. if (typeof method !== 'number')
  16458. throw new Error("Invalid request method. The method \"" + originalMethod + "\" is not supported.");
  16459. }
  16460. return method;
  16461. }
  16462. var isSuccess = function (status) { return (status >= 200 && status < 300); };
  16463. function getResponseURL(xhr) {
  16464. if ('responseURL' in xhr) {
  16465. return xhr.responseURL;
  16466. }
  16467. if (/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())) {
  16468. return xhr.getResponseHeader('X-Request-URL');
  16469. }
  16470. return;
  16471. }
  16472. function stringToArrayBuffer(input) {
  16473. var view = new Uint16Array(input.length);
  16474. for (var i = 0, strLen = input.length; i < strLen; i++) {
  16475. view[i] = input.charCodeAt(i);
  16476. }
  16477. return view.buffer;
  16478. }
  16479. //# sourceMappingURL=http_utils.js.map
  16480. /***/ },
  16481. /* 154 */
  16482. /***/ function(module, exports, __webpack_require__) {
  16483. "use strict";
  16484. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return QueryEncoder; });
  16485. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return URLSearchParams; });
  16486. /**
  16487. * @license
  16488. * Copyright Google Inc. All Rights Reserved.
  16489. *
  16490. * Use of this source code is governed by an MIT-style license that can be
  16491. * found in the LICENSE file at https://angular.io/license
  16492. */
  16493. function paramParser(rawParams) {
  16494. if (rawParams === void 0) { rawParams = ''; }
  16495. var map = new Map();
  16496. if (rawParams.length > 0) {
  16497. var params = rawParams.split('&');
  16498. params.forEach(function (param) {
  16499. var eqIdx = param.indexOf('=');
  16500. var _a = eqIdx == -1 ? [param, ''] : [param.slice(0, eqIdx), param.slice(eqIdx + 1)], key = _a[0], val = _a[1];
  16501. var list = map.get(key) || [];
  16502. list.push(val);
  16503. map.set(key, list);
  16504. });
  16505. }
  16506. return map;
  16507. }
  16508. /**
  16509. * @experimental
  16510. **/
  16511. var QueryEncoder = (function () {
  16512. function QueryEncoder() {
  16513. }
  16514. QueryEncoder.prototype.encodeKey = function (k) { return standardEncoding(k); };
  16515. QueryEncoder.prototype.encodeValue = function (v) { return standardEncoding(v); };
  16516. return QueryEncoder;
  16517. }());
  16518. function standardEncoding(v) {
  16519. return encodeURIComponent(v)
  16520. .replace(/%40/gi, '@')
  16521. .replace(/%3A/gi, ':')
  16522. .replace(/%24/gi, '$')
  16523. .replace(/%2C/gi, ',')
  16524. .replace(/%3B/gi, ';')
  16525. .replace(/%2B/gi, '+')
  16526. .replace(/%3D/gi, '=')
  16527. .replace(/%3F/gi, '?')
  16528. .replace(/%2F/gi, '/');
  16529. }
  16530. /**
  16531. * Map-like representation of url search parameters, based on
  16532. * [URLSearchParams](https://url.spec.whatwg.org/#urlsearchparams) in the url living standard,
  16533. * with several extensions for merging URLSearchParams objects:
  16534. * - setAll()
  16535. * - appendAll()
  16536. * - replaceAll()
  16537. *
  16538. * This class accepts an optional second parameter of ${@link QueryEncoder},
  16539. * which is used to serialize parameters before making a request. By default,
  16540. * `QueryEncoder` encodes keys and values of parameters using `encodeURIComponent`,
  16541. * and then un-encodes certain characters that are allowed to be part of the query
  16542. * according to IETF RFC 3986: https://tools.ietf.org/html/rfc3986.
  16543. *
  16544. * These are the characters that are not encoded: `! $ \' ( ) * + , ; A 9 - . _ ~ ? /`
  16545. *
  16546. * If the set of allowed query characters is not acceptable for a particular backend,
  16547. * `QueryEncoder` can be subclassed and provided as the 2nd argument to URLSearchParams.
  16548. *
  16549. * ```
  16550. * import {URLSearchParams, QueryEncoder} from '@angular/http';
  16551. * class MyQueryEncoder extends QueryEncoder {
  16552. * encodeKey(k: string): string {
  16553. * return myEncodingFunction(k);
  16554. * }
  16555. *
  16556. * encodeValue(v: string): string {
  16557. * return myEncodingFunction(v);
  16558. * }
  16559. * }
  16560. *
  16561. * let params = new URLSearchParams('', new MyQueryEncoder());
  16562. * ```
  16563. * @experimental
  16564. */
  16565. var URLSearchParams = (function () {
  16566. function URLSearchParams(rawParams, queryEncoder) {
  16567. if (rawParams === void 0) { rawParams = ''; }
  16568. if (queryEncoder === void 0) { queryEncoder = new QueryEncoder(); }
  16569. this.rawParams = rawParams;
  16570. this.queryEncoder = queryEncoder;
  16571. this.paramsMap = paramParser(rawParams);
  16572. }
  16573. URLSearchParams.prototype.clone = function () {
  16574. var clone = new URLSearchParams('', this.queryEncoder);
  16575. clone.appendAll(this);
  16576. return clone;
  16577. };
  16578. URLSearchParams.prototype.has = function (param) { return this.paramsMap.has(param); };
  16579. URLSearchParams.prototype.get = function (param) {
  16580. var storedParam = this.paramsMap.get(param);
  16581. return Array.isArray(storedParam) ? storedParam[0] : null;
  16582. };
  16583. URLSearchParams.prototype.getAll = function (param) { return this.paramsMap.get(param) || []; };
  16584. URLSearchParams.prototype.set = function (param, val) {
  16585. var list = this.paramsMap.get(param) || [];
  16586. list.length = 0;
  16587. list.push(val);
  16588. this.paramsMap.set(param, list);
  16589. };
  16590. // A merge operation
  16591. // For each name-values pair in `searchParams`, perform `set(name, values[0])`
  16592. //
  16593. // E.g: "a=[1,2,3], c=[8]" + "a=[4,5,6], b=[7]" = "a=[4], c=[8], b=[7]"
  16594. //
  16595. // TODO(@caitp): document this better
  16596. URLSearchParams.prototype.setAll = function (searchParams) {
  16597. var _this = this;
  16598. searchParams.paramsMap.forEach(function (value, param) {
  16599. var list = _this.paramsMap.get(param) || [];
  16600. list.length = 0;
  16601. list.push(value[0]);
  16602. _this.paramsMap.set(param, list);
  16603. });
  16604. };
  16605. URLSearchParams.prototype.append = function (param, val) {
  16606. var list = this.paramsMap.get(param) || [];
  16607. list.push(val);
  16608. this.paramsMap.set(param, list);
  16609. };
  16610. // A merge operation
  16611. // For each name-values pair in `searchParams`, perform `append(name, value)`
  16612. // for each value in `values`.
  16613. //
  16614. // E.g: "a=[1,2], c=[8]" + "a=[3,4], b=[7]" = "a=[1,2,3,4], c=[8], b=[7]"
  16615. //
  16616. // TODO(@caitp): document this better
  16617. URLSearchParams.prototype.appendAll = function (searchParams) {
  16618. var _this = this;
  16619. searchParams.paramsMap.forEach(function (value, param) {
  16620. var list = _this.paramsMap.get(param) || [];
  16621. for (var i = 0; i < value.length; ++i) {
  16622. list.push(value[i]);
  16623. }
  16624. _this.paramsMap.set(param, list);
  16625. });
  16626. };
  16627. // A merge operation
  16628. // For each name-values pair in `searchParams`, perform `delete(name)`,
  16629. // followed by `set(name, values)`
  16630. //
  16631. // E.g: "a=[1,2,3], c=[8]" + "a=[4,5,6], b=[7]" = "a=[4,5,6], c=[8], b=[7]"
  16632. //
  16633. // TODO(@caitp): document this better
  16634. URLSearchParams.prototype.replaceAll = function (searchParams) {
  16635. var _this = this;
  16636. searchParams.paramsMap.forEach(function (value, param) {
  16637. var list = _this.paramsMap.get(param) || [];
  16638. list.length = 0;
  16639. for (var i = 0; i < value.length; ++i) {
  16640. list.push(value[i]);
  16641. }
  16642. _this.paramsMap.set(param, list);
  16643. });
  16644. };
  16645. URLSearchParams.prototype.toString = function () {
  16646. var _this = this;
  16647. var paramsList = [];
  16648. this.paramsMap.forEach(function (values, k) {
  16649. values.forEach(function (v) { return paramsList.push(_this.queryEncoder.encodeKey(k) + '=' + _this.queryEncoder.encodeValue(v)); });
  16650. });
  16651. return paramsList.join('&');
  16652. };
  16653. URLSearchParams.prototype.delete = function (param) { this.paramsMap.delete(param); };
  16654. return URLSearchParams;
  16655. }());
  16656. //# sourceMappingURL=url_search_params.js.map
  16657. /***/ },
  16658. /* 155 */
  16659. /***/ function(module, exports, __webpack_require__) {
  16660. "use strict";
  16661. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  16662. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DOCUMENT; });
  16663. /**
  16664. * @license
  16665. * Copyright Google Inc. All Rights Reserved.
  16666. *
  16667. * Use of this source code is governed by an MIT-style license that can be
  16668. * found in the LICENSE file at https://angular.io/license
  16669. */
  16670. /**
  16671. * A DI Token representing the main rendering context. In a browser this is the DOM Document.
  16672. *
  16673. * Note: Document might not be available in the Application Context when Application and Rendering
  16674. * Contexts are not the same (e.g. when running the application into a Web Worker).
  16675. *
  16676. * @stable
  16677. */
  16678. var DOCUMENT = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["OpaqueToken"]('DocumentToken');
  16679. //# sourceMappingURL=dom_tokens.js.map
  16680. /***/ },
  16681. /* 156 */
  16682. /***/ function(module, exports, __webpack_require__) {
  16683. "use strict";
  16684. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  16685. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_Subject__ = __webpack_require__(15);
  16686. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_Subject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_rxjs_Subject__);
  16687. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_from__ = __webpack_require__(258);
  16688. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_from___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_from__);
  16689. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_observable_of__ = __webpack_require__(100);
  16690. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_observable_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_observable_of__);
  16691. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_every__ = __webpack_require__(262);
  16692. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_every___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_operator_every__);
  16693. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_map__ = __webpack_require__(82);
  16694. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_rxjs_operator_map__);
  16695. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_mergeAll__ = __webpack_require__(101);
  16696. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_mergeAll___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_rxjs_operator_mergeAll__);
  16697. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeMap__ = __webpack_require__(121);
  16698. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeMap___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeMap__);
  16699. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rxjs_operator_reduce__ = __webpack_require__(172);
  16700. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rxjs_operator_reduce___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_rxjs_operator_reduce__);
  16701. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__apply_redirects__ = __webpack_require__(525);
  16702. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__config__ = __webpack_require__(526);
  16703. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__create_router_state__ = __webpack_require__(527);
  16704. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__create_url_tree__ = __webpack_require__(528);
  16705. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__recognize__ = __webpack_require__(531);
  16706. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__router_config_loader__ = __webpack_require__(157);
  16707. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__router_outlet_map__ = __webpack_require__(158);
  16708. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__router_state__ = __webpack_require__(93);
  16709. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__shared__ = __webpack_require__(54);
  16710. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__url_tree__ = __webpack_require__(77);
  16711. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__utils_collection__ = __webpack_require__(55);
  16712. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return NavigationStart; });
  16713. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return NavigationEnd; });
  16714. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return NavigationCancel; });
  16715. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return NavigationError; });
  16716. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return RoutesRecognized; });
  16717. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Router; });
  16718. /* unused harmony export PreActivation */
  16719. /**
  16720. * @license
  16721. * Copyright Google Inc. All Rights Reserved.
  16722. *
  16723. * Use of this source code is governed by an MIT-style license that can be
  16724. * found in the LICENSE file at https://angular.io/license
  16725. */
  16726. /**
  16727. * @whatItDoes Represents an event triggered when a navigation starts.
  16728. *
  16729. * @stable
  16730. */
  16731. var NavigationStart = (function () {
  16732. // TODO: vsavkin: make internal
  16733. function NavigationStart(
  16734. /** @docsNotRequired */
  16735. id,
  16736. /** @docsNotRequired */
  16737. url) {
  16738. this.id = id;
  16739. this.url = url;
  16740. }
  16741. /** @docsNotRequired */
  16742. NavigationStart.prototype.toString = function () { return "NavigationStart(id: " + this.id + ", url: '" + this.url + "')"; };
  16743. return NavigationStart;
  16744. }());
  16745. /**
  16746. * @whatItDoes Represents an event triggered when a navigation ends successfully.
  16747. *
  16748. * @stable
  16749. */
  16750. var NavigationEnd = (function () {
  16751. // TODO: vsavkin: make internal
  16752. function NavigationEnd(
  16753. /** @docsNotRequired */
  16754. id,
  16755. /** @docsNotRequired */
  16756. url,
  16757. /** @docsNotRequired */
  16758. urlAfterRedirects) {
  16759. this.id = id;
  16760. this.url = url;
  16761. this.urlAfterRedirects = urlAfterRedirects;
  16762. }
  16763. /** @docsNotRequired */
  16764. NavigationEnd.prototype.toString = function () {
  16765. return "NavigationEnd(id: " + this.id + ", url: '" + this.url + "', urlAfterRedirects: '" + this.urlAfterRedirects + "')";
  16766. };
  16767. return NavigationEnd;
  16768. }());
  16769. /**
  16770. * @whatItDoes Represents an event triggered when a navigation is canceled.
  16771. *
  16772. * @stable
  16773. */
  16774. var NavigationCancel = (function () {
  16775. // TODO: vsavkin: make internal
  16776. function NavigationCancel(
  16777. /** @docsNotRequired */
  16778. id,
  16779. /** @docsNotRequired */
  16780. url,
  16781. /** @docsNotRequired */
  16782. reason) {
  16783. this.id = id;
  16784. this.url = url;
  16785. this.reason = reason;
  16786. }
  16787. /** @docsNotRequired */
  16788. NavigationCancel.prototype.toString = function () { return "NavigationCancel(id: " + this.id + ", url: '" + this.url + "')"; };
  16789. return NavigationCancel;
  16790. }());
  16791. /**
  16792. * @whatItDoes Represents an event triggered when a navigation fails due to an unexpected error.
  16793. *
  16794. * @stable
  16795. */
  16796. var NavigationError = (function () {
  16797. // TODO: vsavkin: make internal
  16798. function NavigationError(
  16799. /** @docsNotRequired */
  16800. id,
  16801. /** @docsNotRequired */
  16802. url,
  16803. /** @docsNotRequired */
  16804. error) {
  16805. this.id = id;
  16806. this.url = url;
  16807. this.error = error;
  16808. }
  16809. /** @docsNotRequired */
  16810. NavigationError.prototype.toString = function () {
  16811. return "NavigationError(id: " + this.id + ", url: '" + this.url + "', error: " + this.error + ")";
  16812. };
  16813. return NavigationError;
  16814. }());
  16815. /**
  16816. * @whatItDoes Represents an event triggered when routes are recognized.
  16817. *
  16818. * @stable
  16819. */
  16820. var RoutesRecognized = (function () {
  16821. // TODO: vsavkin: make internal
  16822. function RoutesRecognized(
  16823. /** @docsNotRequired */
  16824. id,
  16825. /** @docsNotRequired */
  16826. url,
  16827. /** @docsNotRequired */
  16828. urlAfterRedirects,
  16829. /** @docsNotRequired */
  16830. state) {
  16831. this.id = id;
  16832. this.url = url;
  16833. this.urlAfterRedirects = urlAfterRedirects;
  16834. this.state = state;
  16835. }
  16836. /** @docsNotRequired */
  16837. RoutesRecognized.prototype.toString = function () {
  16838. return "RoutesRecognized(id: " + this.id + ", url: '" + this.url + "', urlAfterRedirects: '" + this.urlAfterRedirects + "', state: " + this.state + ")";
  16839. };
  16840. return RoutesRecognized;
  16841. }());
  16842. function defaultErrorHandler(error) {
  16843. throw error;
  16844. }
  16845. /**
  16846. * @whatItDoes Provides the navigation and url manipulation capabilities.
  16847. *
  16848. * See {@link Routes} for more details and examples.
  16849. *
  16850. * @ngModule RouterModule
  16851. *
  16852. * @stable
  16853. */
  16854. var Router = (function () {
  16855. /**
  16856. * Creates the router service.
  16857. */
  16858. // TODO: vsavkin make internal after the final is out.
  16859. function Router(rootComponentType, urlSerializer, outletMap, location, injector, loader, compiler, config) {
  16860. this.rootComponentType = rootComponentType;
  16861. this.urlSerializer = urlSerializer;
  16862. this.outletMap = outletMap;
  16863. this.location = location;
  16864. this.injector = injector;
  16865. this.config = config;
  16866. this.navigationId = 0;
  16867. /**
  16868. * Error handler that is invoked when a navigation errors.
  16869. *
  16870. * See {@link ErrorHandler} for more information.
  16871. */
  16872. this.errorHandler = defaultErrorHandler;
  16873. /**
  16874. * Indicates if at least one navigation happened.
  16875. */
  16876. this.navigated = false;
  16877. this.resetConfig(config);
  16878. this.routerEvents = new __WEBPACK_IMPORTED_MODULE_1_rxjs_Subject__["Subject"]();
  16879. this.currentUrlTree = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_18__url_tree__["e" /* createEmptyUrlTree */])();
  16880. this.configLoader = new __WEBPACK_IMPORTED_MODULE_14__router_config_loader__["b" /* RouterConfigLoader */](loader, compiler);
  16881. this.currentRouterState = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_16__router_state__["f" /* createEmptyState */])(this.currentUrlTree, this.rootComponentType);
  16882. }
  16883. /**
  16884. * Sets up the location change listener and performs the initial navigation.
  16885. */
  16886. Router.prototype.initialNavigation = function () {
  16887. this.setUpLocationChangeListener();
  16888. this.navigateByUrl(this.location.path(true), { replaceUrl: true });
  16889. };
  16890. /**
  16891. * Sets up the location change listener.
  16892. */
  16893. Router.prototype.setUpLocationChangeListener = function () {
  16894. var _this = this;
  16895. // Zone.current.wrap is needed because of the issue with RxJS scheduler,
  16896. // which does not work properly with zone.js in IE and Safari
  16897. this.locationSubscription = this.location.subscribe(Zone.current.wrap(function (change) {
  16898. var tree = _this.urlSerializer.parse(change['url']);
  16899. // we fire multiple events for a single URL change
  16900. // we should navigate only once
  16901. return _this.currentUrlTree.toString() !== tree.toString() ?
  16902. _this.scheduleNavigation(tree, { skipLocationChange: change['pop'], replaceUrl: true }) :
  16903. null;
  16904. }));
  16905. };
  16906. Object.defineProperty(Router.prototype, "routerState", {
  16907. /**
  16908. * Returns the current route state.
  16909. */
  16910. get: function () { return this.currentRouterState; },
  16911. enumerable: true,
  16912. configurable: true
  16913. });
  16914. Object.defineProperty(Router.prototype, "url", {
  16915. /**
  16916. * Returns the current url.
  16917. */
  16918. get: function () { return this.serializeUrl(this.currentUrlTree); },
  16919. enumerable: true,
  16920. configurable: true
  16921. });
  16922. Object.defineProperty(Router.prototype, "events", {
  16923. /**
  16924. * Returns an observable of route events
  16925. */
  16926. get: function () { return this.routerEvents; },
  16927. enumerable: true,
  16928. configurable: true
  16929. });
  16930. /**
  16931. * Resets the configuration used for navigation and generating links.
  16932. *
  16933. * ### Usage
  16934. *
  16935. * ```
  16936. * router.resetConfig([
  16937. * { path: 'team/:id', component: TeamCmp, children: [
  16938. * { path: 'simple', component: SimpleCmp },
  16939. * { path: 'user/:name', component: UserCmp }
  16940. * ] }
  16941. * ]);
  16942. * ```
  16943. */
  16944. Router.prototype.resetConfig = function (config) {
  16945. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_10__config__["a" /* validateConfig */])(config);
  16946. this.config = config;
  16947. };
  16948. /**
  16949. * @docsNotRequired
  16950. */
  16951. Router.prototype.ngOnDestroy = function () { this.dispose(); };
  16952. /**
  16953. * Disposes of the router.
  16954. */
  16955. Router.prototype.dispose = function () { this.locationSubscription.unsubscribe(); };
  16956. /**
  16957. * Applies an array of commands to the current url tree and creates a new url tree.
  16958. *
  16959. * When given an activate route, applies the given commands starting from the route.
  16960. * When not given a route, applies the given command starting from the root.
  16961. *
  16962. * ### Usage
  16963. *
  16964. * ```
  16965. * // create /team/33/user/11
  16966. * router.createUrlTree(['/team', 33, 'user', 11]);
  16967. *
  16968. * // create /team/33;expand=true/user/11
  16969. * router.createUrlTree(['/team', 33, {expand: true}, 'user', 11]);
  16970. *
  16971. * // you can collapse static segments like this (this works only with the first passed-in value):
  16972. * router.createUrlTree(['/team/33/user', userId]);
  16973. *
  16974. * // If the first segment can contain slashes, and you do not want the router to split it, you
  16975. * // can do the following:
  16976. *
  16977. * router.createUrlTree([{segmentPath: '/one/two'}]);
  16978. *
  16979. * // create /team/33/(user/11//right:chat)
  16980. * router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: 'chat'}}]);
  16981. *
  16982. * // remove the right secondary node
  16983. * router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: null}}]);
  16984. *
  16985. * // assuming the current url is `/team/33/user/11` and the route points to `user/11`
  16986. *
  16987. * // navigate to /team/33/user/11/details
  16988. * router.createUrlTree(['details'], {relativeTo: route});
  16989. *
  16990. * // navigate to /team/33/user/22
  16991. * router.createUrlTree(['../22'], {relativeTo: route});
  16992. *
  16993. * // navigate to /team/44/user/22
  16994. * router.createUrlTree(['../../team/44/user/22'], {relativeTo: route});
  16995. * ```
  16996. */
  16997. Router.prototype.createUrlTree = function (commands, _a) {
  16998. var _b = _a === void 0 ? {} : _a, relativeTo = _b.relativeTo, queryParams = _b.queryParams, fragment = _b.fragment, preserveQueryParams = _b.preserveQueryParams, preserveFragment = _b.preserveFragment;
  16999. var a = relativeTo ? relativeTo : this.routerState.root;
  17000. var q = preserveQueryParams ? this.currentUrlTree.queryParams : queryParams;
  17001. var f = preserveFragment ? this.currentUrlTree.fragment : fragment;
  17002. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__create_url_tree__["a" /* createUrlTree */])(a, this.currentUrlTree, commands, q, f);
  17003. };
  17004. /**
  17005. * Navigate based on the provided url. This navigation is always absolute.
  17006. *
  17007. * Returns a promise that:
  17008. * - is resolved with 'true' when navigation succeeds
  17009. * - is resolved with 'false' when navigation fails
  17010. * - is rejected when an error happens
  17011. *
  17012. * ### Usage
  17013. *
  17014. * ```
  17015. * router.navigateByUrl("/team/33/user/11");
  17016. *
  17017. * // Navigate without updating the URL
  17018. * router.navigateByUrl("/team/33/user/11", { skipLocationChange: true });
  17019. * ```
  17020. *
  17021. * In opposite to `navigate`, `navigateByUrl` takes a whole URL
  17022. * and does not apply any delta to the current one.
  17023. */
  17024. Router.prototype.navigateByUrl = function (url, extras) {
  17025. if (extras === void 0) { extras = { skipLocationChange: false }; }
  17026. if (url instanceof __WEBPACK_IMPORTED_MODULE_18__url_tree__["b" /* UrlTree */]) {
  17027. return this.scheduleNavigation(url, extras);
  17028. }
  17029. else {
  17030. var urlTree = this.urlSerializer.parse(url);
  17031. return this.scheduleNavigation(urlTree, extras);
  17032. }
  17033. };
  17034. /**
  17035. * Navigate based on the provided array of commands and a starting point.
  17036. * If no starting route is provided, the navigation is absolute.
  17037. *
  17038. * Returns a promise that:
  17039. * - is resolved with 'true' when navigation succeeds
  17040. * - is resolved with 'false' when navigation fails
  17041. * - is rejected when an error happens
  17042. *
  17043. * ### Usage
  17044. *
  17045. * ```
  17046. * router.navigate(['team', 33, 'user', 11], {relativeTo: route});
  17047. *
  17048. * // Navigate without updating the URL
  17049. * router.navigate(['team', 33, 'user', 11], {relativeTo: route, skipLocationChange: true });
  17050. * ```
  17051. *
  17052. * In opposite to `navigateByUrl`, `navigate` always takes a delta
  17053. * that is applied to the current URL.
  17054. */
  17055. Router.prototype.navigate = function (commands, extras) {
  17056. if (extras === void 0) { extras = { skipLocationChange: false }; }
  17057. return this.scheduleNavigation(this.createUrlTree(commands, extras), extras);
  17058. };
  17059. /**
  17060. * Serializes a {@link UrlTree} into a string.
  17061. */
  17062. Router.prototype.serializeUrl = function (url) { return this.urlSerializer.serialize(url); };
  17063. /**
  17064. * Parses a string into a {@link UrlTree}.
  17065. */
  17066. Router.prototype.parseUrl = function (url) { return this.urlSerializer.parse(url); };
  17067. /**
  17068. * Returns if the url is activated or not.
  17069. */
  17070. Router.prototype.isActive = function (url, exact) {
  17071. if (url instanceof __WEBPACK_IMPORTED_MODULE_18__url_tree__["b" /* UrlTree */]) {
  17072. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_18__url_tree__["f" /* containsTree */])(this.currentUrlTree, url, exact);
  17073. }
  17074. else {
  17075. var urlTree = this.urlSerializer.parse(url);
  17076. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_18__url_tree__["f" /* containsTree */])(this.currentUrlTree, urlTree, exact);
  17077. }
  17078. };
  17079. Router.prototype.scheduleNavigation = function (url, extras) {
  17080. var _this = this;
  17081. var id = ++this.navigationId;
  17082. this.routerEvents.next(new NavigationStart(id, this.serializeUrl(url)));
  17083. return Promise.resolve().then(function (_) { return _this.runNavigate(url, extras.skipLocationChange, extras.replaceUrl, id); });
  17084. };
  17085. Router.prototype.runNavigate = function (url, shouldPreventPushState, shouldReplaceUrl, id) {
  17086. var _this = this;
  17087. if (id !== this.navigationId) {
  17088. this.location.go(this.urlSerializer.serialize(this.currentUrlTree));
  17089. this.routerEvents.next(new NavigationCancel(id, this.serializeUrl(url), "Navigation ID " + id + " is not equal to the current navigation id " + this.navigationId));
  17090. return Promise.resolve(false);
  17091. }
  17092. return new Promise(function (resolvePromise, rejectPromise) {
  17093. var state;
  17094. var navigationIsSuccessful;
  17095. var preActivation;
  17096. var appliedUrl;
  17097. var storedState = _this.currentRouterState;
  17098. var storedUrl = _this.currentUrlTree;
  17099. var redirectsApplied$ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__apply_redirects__["a" /* applyRedirects */])(_this.injector, _this.configLoader, url, _this.config);
  17100. var snapshot$ = __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeMap__["mergeMap"].call(redirectsApplied$, function (u) {
  17101. appliedUrl = u;
  17102. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_13__recognize__["a" /* recognize */])(_this.rootComponentType, _this.config, appliedUrl, _this.serializeUrl(appliedUrl));
  17103. });
  17104. var emitRecognzied$ = __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_map__["map"].call(snapshot$, function (newRouterStateSnapshot) {
  17105. _this.routerEvents.next(new RoutesRecognized(id, _this.serializeUrl(url), _this.serializeUrl(appliedUrl), newRouterStateSnapshot));
  17106. return newRouterStateSnapshot;
  17107. });
  17108. var routerState$ = __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_map__["map"].call(emitRecognzied$, function (routerStateSnapshot) {
  17109. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_11__create_router_state__["a" /* createRouterState */])(routerStateSnapshot, _this.currentRouterState);
  17110. });
  17111. var preactivation$ = __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_map__["map"].call(routerState$, function (newState) {
  17112. state = newState;
  17113. preActivation =
  17114. new PreActivation(state.snapshot, _this.currentRouterState.snapshot, _this.injector);
  17115. preActivation.traverse(_this.outletMap);
  17116. });
  17117. var preactivation2$ = __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeMap__["mergeMap"].call(preactivation$, function () { return preActivation.checkGuards(); });
  17118. var resolveData$ = __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeMap__["mergeMap"].call(preactivation2$, function (shouldActivate) {
  17119. if (shouldActivate) {
  17120. return __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_map__["map"].call(preActivation.resolveData(), function () { return shouldActivate; });
  17121. }
  17122. else {
  17123. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3_rxjs_observable_of__["of"])(shouldActivate);
  17124. }
  17125. });
  17126. resolveData$
  17127. .forEach(function (shouldActivate) {
  17128. if (!shouldActivate || id !== _this.navigationId) {
  17129. navigationIsSuccessful = false;
  17130. return;
  17131. }
  17132. _this.currentUrlTree = appliedUrl;
  17133. _this.currentRouterState = state;
  17134. if (!shouldPreventPushState) {
  17135. var path = _this.urlSerializer.serialize(appliedUrl);
  17136. if (_this.location.isCurrentPathEqualTo(path) || shouldReplaceUrl) {
  17137. _this.location.replaceState(path);
  17138. }
  17139. else {
  17140. _this.location.go(path);
  17141. }
  17142. }
  17143. new ActivateRoutes(state, storedState).activate(_this.outletMap);
  17144. navigationIsSuccessful = true;
  17145. })
  17146. .then(function () {
  17147. _this.navigated = true;
  17148. if (navigationIsSuccessful) {
  17149. _this.routerEvents.next(new NavigationEnd(id, _this.serializeUrl(url), _this.serializeUrl(appliedUrl)));
  17150. resolvePromise(true);
  17151. }
  17152. else {
  17153. _this.routerEvents.next(new NavigationCancel(id, _this.serializeUrl(url), ''));
  17154. resolvePromise(false);
  17155. }
  17156. }, function (e) {
  17157. if (e instanceof __WEBPACK_IMPORTED_MODULE_17__shared__["b" /* NavigationCancelingError */]) {
  17158. _this.navigated = true;
  17159. _this.routerEvents.next(new NavigationCancel(id, _this.serializeUrl(url), e.message));
  17160. resolvePromise(false);
  17161. }
  17162. else {
  17163. _this.routerEvents.next(new NavigationError(id, _this.serializeUrl(url), e));
  17164. try {
  17165. resolvePromise(_this.errorHandler(e));
  17166. }
  17167. catch (ee) {
  17168. rejectPromise(ee);
  17169. }
  17170. }
  17171. if (id === _this.navigationId) {
  17172. _this.currentRouterState = storedState;
  17173. _this.currentUrlTree = storedUrl;
  17174. _this.location.replaceState(_this.serializeUrl(storedUrl));
  17175. }
  17176. });
  17177. });
  17178. };
  17179. return Router;
  17180. }());
  17181. var CanActivate = (function () {
  17182. function CanActivate(path) {
  17183. this.path = path;
  17184. }
  17185. Object.defineProperty(CanActivate.prototype, "route", {
  17186. get: function () { return this.path[this.path.length - 1]; },
  17187. enumerable: true,
  17188. configurable: true
  17189. });
  17190. return CanActivate;
  17191. }());
  17192. var CanDeactivate = (function () {
  17193. function CanDeactivate(component, route) {
  17194. this.component = component;
  17195. this.route = route;
  17196. }
  17197. return CanDeactivate;
  17198. }());
  17199. var PreActivation = (function () {
  17200. function PreActivation(future, curr, injector) {
  17201. this.future = future;
  17202. this.curr = curr;
  17203. this.injector = injector;
  17204. this.checks = [];
  17205. }
  17206. PreActivation.prototype.traverse = function (parentOutletMap) {
  17207. var futureRoot = this.future._root;
  17208. var currRoot = this.curr ? this.curr._root : null;
  17209. this.traverseChildRoutes(futureRoot, currRoot, parentOutletMap, [futureRoot.value]);
  17210. };
  17211. PreActivation.prototype.checkGuards = function () {
  17212. var _this = this;
  17213. if (this.checks.length === 0)
  17214. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3_rxjs_observable_of__["of"])(true);
  17215. var checks$ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_from__["from"])(this.checks);
  17216. var runningChecks$ = __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_map__["map"].call(checks$, function (s) {
  17217. if (s instanceof CanActivate) {
  17218. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["f" /* andObservables */])(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_from__["from"])([_this.runCanActivateChild(s.path), _this.runCanActivate(s.route)]));
  17219. }
  17220. else if (s instanceof CanDeactivate) {
  17221. // workaround https://github.com/Microsoft/TypeScript/issues/7271
  17222. var s2 = s;
  17223. return _this.runCanDeactivate(s2.component, s2.route);
  17224. }
  17225. else {
  17226. throw new Error('Cannot be reached');
  17227. }
  17228. });
  17229. var mergedChecks$ = __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_mergeAll__["mergeAll"].call(runningChecks$);
  17230. return __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_every__["every"].call(mergedChecks$, function (result) { return result === true; });
  17231. };
  17232. PreActivation.prototype.resolveData = function () {
  17233. var _this = this;
  17234. if (this.checks.length === 0)
  17235. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3_rxjs_observable_of__["of"])(null);
  17236. var checks$ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_from__["from"])(this.checks);
  17237. var runningChecks$ = __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeMap__["mergeMap"].call(checks$, function (s) {
  17238. if (s instanceof CanActivate) {
  17239. return _this.runResolve(s.route);
  17240. }
  17241. else {
  17242. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3_rxjs_observable_of__["of"])(null);
  17243. }
  17244. });
  17245. return __WEBPACK_IMPORTED_MODULE_8_rxjs_operator_reduce__["reduce"].call(runningChecks$, function (_, __) { return _; });
  17246. };
  17247. PreActivation.prototype.traverseChildRoutes = function (futureNode, currNode, outletMap, futurePath) {
  17248. var _this = this;
  17249. var prevChildren = nodeChildrenAsMap(currNode);
  17250. futureNode.children.forEach(function (c) {
  17251. _this.traverseRoutes(c, prevChildren[c.value.outlet], outletMap, futurePath.concat([c.value]));
  17252. delete prevChildren[c.value.outlet];
  17253. });
  17254. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["c" /* forEach */])(prevChildren, function (v, k) { return _this.deactivateOutletAndItChildren(v, outletMap._outlets[k]); });
  17255. };
  17256. PreActivation.prototype.traverseRoutes = function (futureNode, currNode, parentOutletMap, futurePath) {
  17257. var future = futureNode.value;
  17258. var curr = currNode ? currNode.value : null;
  17259. var outlet = parentOutletMap ? parentOutletMap._outlets[futureNode.value.outlet] : null;
  17260. // reusing the node
  17261. if (curr && future._routeConfig === curr._routeConfig) {
  17262. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["d" /* shallowEqual */])(future.params, curr.params)) {
  17263. this.checks.push(new CanDeactivate(outlet.component, curr), new CanActivate(futurePath));
  17264. }
  17265. else {
  17266. // we need to set the data
  17267. future.data = curr.data;
  17268. }
  17269. // If we have a component, we need to go through an outlet.
  17270. if (future.component) {
  17271. this.traverseChildRoutes(futureNode, currNode, outlet ? outlet.outletMap : null, futurePath);
  17272. }
  17273. else {
  17274. this.traverseChildRoutes(futureNode, currNode, parentOutletMap, futurePath);
  17275. }
  17276. }
  17277. else {
  17278. if (curr) {
  17279. // if we had a normal route, we need to deactivate only that outlet.
  17280. if (curr.component) {
  17281. this.deactivateOutletAndItChildren(curr, outlet);
  17282. }
  17283. else {
  17284. this.deactivateOutletMap(parentOutletMap);
  17285. }
  17286. }
  17287. this.checks.push(new CanActivate(futurePath));
  17288. // If we have a component, we need to go through an outlet.
  17289. if (future.component) {
  17290. this.traverseChildRoutes(futureNode, null, outlet ? outlet.outletMap : null, futurePath);
  17291. }
  17292. else {
  17293. this.traverseChildRoutes(futureNode, null, parentOutletMap, futurePath);
  17294. }
  17295. }
  17296. };
  17297. PreActivation.prototype.deactivateOutletAndItChildren = function (route, outlet) {
  17298. if (outlet && outlet.isActivated) {
  17299. this.deactivateOutletMap(outlet.outletMap);
  17300. this.checks.push(new CanDeactivate(outlet.component, route));
  17301. }
  17302. };
  17303. PreActivation.prototype.deactivateOutletMap = function (outletMap) {
  17304. var _this = this;
  17305. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["c" /* forEach */])(outletMap._outlets, function (v) {
  17306. if (v.isActivated) {
  17307. _this.deactivateOutletAndItChildren(v.activatedRoute.snapshot, v);
  17308. }
  17309. });
  17310. };
  17311. PreActivation.prototype.runCanActivate = function (future) {
  17312. var _this = this;
  17313. var canActivate = future._routeConfig ? future._routeConfig.canActivate : null;
  17314. if (!canActivate || canActivate.length === 0)
  17315. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3_rxjs_observable_of__["of"])(true);
  17316. var obs = __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_map__["map"].call(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_from__["from"])(canActivate), function (c) {
  17317. var guard = _this.getToken(c, future);
  17318. if (guard.canActivate) {
  17319. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["b" /* wrapIntoObservable */])(guard.canActivate(future, _this.future));
  17320. }
  17321. else {
  17322. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["b" /* wrapIntoObservable */])(guard(future, _this.future));
  17323. }
  17324. });
  17325. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["f" /* andObservables */])(obs);
  17326. };
  17327. PreActivation.prototype.runCanActivateChild = function (path) {
  17328. var _this = this;
  17329. var future = path[path.length - 1];
  17330. var canActivateChildGuards = path.slice(0, path.length - 1)
  17331. .reverse()
  17332. .map(function (p) { return _this.extractCanActivateChild(p); })
  17333. .filter(function (_) { return _ !== null; });
  17334. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["f" /* andObservables */])(__WEBPACK_IMPORTED_MODULE_5_rxjs_operator_map__["map"].call(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_from__["from"])(canActivateChildGuards), function (d) {
  17335. var obs = __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_map__["map"].call(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_from__["from"])(d.guards), function (c) {
  17336. var guard = _this.getToken(c, c.node);
  17337. if (guard.canActivateChild) {
  17338. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["b" /* wrapIntoObservable */])(guard.canActivateChild(future, _this.future));
  17339. }
  17340. else {
  17341. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["b" /* wrapIntoObservable */])(guard(future, _this.future));
  17342. }
  17343. });
  17344. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["f" /* andObservables */])(obs);
  17345. }));
  17346. };
  17347. PreActivation.prototype.extractCanActivateChild = function (p) {
  17348. var canActivateChild = p._routeConfig ? p._routeConfig.canActivateChild : null;
  17349. if (!canActivateChild || canActivateChild.length === 0)
  17350. return null;
  17351. return { node: p, guards: canActivateChild };
  17352. };
  17353. PreActivation.prototype.runCanDeactivate = function (component, curr) {
  17354. var _this = this;
  17355. var canDeactivate = curr && curr._routeConfig ? curr._routeConfig.canDeactivate : null;
  17356. if (!canDeactivate || canDeactivate.length === 0)
  17357. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3_rxjs_observable_of__["of"])(true);
  17358. var canDeactivate$ = __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_map__["map"].call(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_from__["from"])(canDeactivate), function (c) {
  17359. var guard = _this.getToken(c, curr);
  17360. if (guard.canDeactivate) {
  17361. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["b" /* wrapIntoObservable */])(guard.canDeactivate(component, curr, _this.curr));
  17362. }
  17363. else {
  17364. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["b" /* wrapIntoObservable */])(guard(component, curr, _this.curr));
  17365. }
  17366. });
  17367. var merged$ = __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_mergeAll__["mergeAll"].call(canDeactivate$);
  17368. return __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_every__["every"].call(merged$, function (result) { return result === true; });
  17369. };
  17370. PreActivation.prototype.runResolve = function (future) {
  17371. var resolve = future._resolve;
  17372. return __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_map__["map"].call(this.resolveNode(resolve.current, future), function (resolvedData) {
  17373. resolve.resolvedData = resolvedData;
  17374. future.data = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["g" /* merge */])(future.data, resolve.flattenedResolvedData);
  17375. return null;
  17376. });
  17377. };
  17378. PreActivation.prototype.resolveNode = function (resolve, future) {
  17379. var _this = this;
  17380. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["e" /* waitForMap */])(resolve, function (k, v) {
  17381. var resolver = _this.getToken(v, future);
  17382. return resolver.resolve ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["b" /* wrapIntoObservable */])(resolver.resolve(future, _this.future)) :
  17383. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["b" /* wrapIntoObservable */])(resolver(future, _this.future));
  17384. });
  17385. };
  17386. PreActivation.prototype.getToken = function (token, snapshot) {
  17387. var config = closestLoadedConfig(snapshot);
  17388. var injector = config ? config.injector : this.injector;
  17389. return injector.get(token);
  17390. };
  17391. return PreActivation;
  17392. }());
  17393. var ActivateRoutes = (function () {
  17394. function ActivateRoutes(futureState, currState) {
  17395. this.futureState = futureState;
  17396. this.currState = currState;
  17397. }
  17398. ActivateRoutes.prototype.activate = function (parentOutletMap) {
  17399. var futureRoot = this.futureState._root;
  17400. var currRoot = this.currState ? this.currState._root : null;
  17401. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_16__router_state__["g" /* advanceActivatedRoute */])(this.futureState.root);
  17402. this.activateChildRoutes(futureRoot, currRoot, parentOutletMap);
  17403. };
  17404. ActivateRoutes.prototype.activateChildRoutes = function (futureNode, currNode, outletMap) {
  17405. var _this = this;
  17406. var prevChildren = nodeChildrenAsMap(currNode);
  17407. futureNode.children.forEach(function (c) {
  17408. _this.activateRoutes(c, prevChildren[c.value.outlet], outletMap);
  17409. delete prevChildren[c.value.outlet];
  17410. });
  17411. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["c" /* forEach */])(prevChildren, function (v, k) { return _this.deactivateOutletAndItChildren(outletMap._outlets[k]); });
  17412. };
  17413. ActivateRoutes.prototype.activateRoutes = function (futureNode, currNode, parentOutletMap) {
  17414. var future = futureNode.value;
  17415. var curr = currNode ? currNode.value : null;
  17416. // reusing the node
  17417. if (future === curr) {
  17418. // advance the route to push the parameters
  17419. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_16__router_state__["g" /* advanceActivatedRoute */])(future);
  17420. // If we have a normal route, we need to go through an outlet.
  17421. if (future.component) {
  17422. var outlet = getOutlet(parentOutletMap, futureNode.value);
  17423. this.activateChildRoutes(futureNode, currNode, outlet.outletMap);
  17424. }
  17425. else {
  17426. this.activateChildRoutes(futureNode, currNode, parentOutletMap);
  17427. }
  17428. }
  17429. else {
  17430. if (curr) {
  17431. // if we had a normal route, we need to deactivate only that outlet.
  17432. if (curr.component) {
  17433. var outlet = getOutlet(parentOutletMap, futureNode.value);
  17434. this.deactivateOutletAndItChildren(outlet);
  17435. }
  17436. else {
  17437. this.deactivateOutletMap(parentOutletMap);
  17438. }
  17439. }
  17440. // if we have a normal route, we need to advance the route
  17441. // and place the component into the outlet. After that recurse.
  17442. if (future.component) {
  17443. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_16__router_state__["g" /* advanceActivatedRoute */])(future);
  17444. var outlet = getOutlet(parentOutletMap, futureNode.value);
  17445. var outletMap = new __WEBPACK_IMPORTED_MODULE_15__router_outlet_map__["a" /* RouterOutletMap */]();
  17446. this.placeComponentIntoOutlet(outletMap, future, outlet);
  17447. this.activateChildRoutes(futureNode, null, outletMap);
  17448. }
  17449. else {
  17450. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_16__router_state__["g" /* advanceActivatedRoute */])(future);
  17451. this.activateChildRoutes(futureNode, null, parentOutletMap);
  17452. }
  17453. }
  17454. };
  17455. ActivateRoutes.prototype.placeComponentIntoOutlet = function (outletMap, future, outlet) {
  17456. var resolved = [{ provide: __WEBPACK_IMPORTED_MODULE_16__router_state__["b" /* ActivatedRoute */], useValue: future }, {
  17457. provide: __WEBPACK_IMPORTED_MODULE_15__router_outlet_map__["a" /* RouterOutletMap */],
  17458. useValue: outletMap
  17459. }];
  17460. var config = parentLoadedConfig(future.snapshot);
  17461. var loadedFactoryResolver = null;
  17462. var loadedInjector = null;
  17463. if (config) {
  17464. loadedFactoryResolver = config.factoryResolver;
  17465. loadedInjector = config.injector;
  17466. resolved.push({ provide: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ComponentFactoryResolver"], useValue: loadedFactoryResolver });
  17467. }
  17468. outlet.activate(future, loadedFactoryResolver, loadedInjector, __WEBPACK_IMPORTED_MODULE_0__angular_core__["ReflectiveInjector"].resolve(resolved), outletMap);
  17469. };
  17470. ActivateRoutes.prototype.deactivateOutletAndItChildren = function (outlet) {
  17471. if (outlet && outlet.isActivated) {
  17472. this.deactivateOutletMap(outlet.outletMap);
  17473. outlet.deactivate();
  17474. }
  17475. };
  17476. ActivateRoutes.prototype.deactivateOutletMap = function (outletMap) {
  17477. var _this = this;
  17478. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__utils_collection__["c" /* forEach */])(outletMap._outlets, function (v) { return _this.deactivateOutletAndItChildren(v); });
  17479. };
  17480. return ActivateRoutes;
  17481. }());
  17482. function parentLoadedConfig(snapshot) {
  17483. var s = snapshot.parent;
  17484. while (s) {
  17485. var c = s._routeConfig;
  17486. if (c && c._loadedConfig)
  17487. return c._loadedConfig;
  17488. if (c && c.component)
  17489. return null;
  17490. s = s.parent;
  17491. }
  17492. return null;
  17493. }
  17494. function closestLoadedConfig(snapshot) {
  17495. if (!snapshot)
  17496. return null;
  17497. var s = snapshot.parent;
  17498. while (s) {
  17499. var c = s._routeConfig;
  17500. if (c && c._loadedConfig)
  17501. return c._loadedConfig;
  17502. s = s.parent;
  17503. }
  17504. return null;
  17505. }
  17506. function nodeChildrenAsMap(node) {
  17507. return node ? node.children.reduce(function (m, c) {
  17508. m[c.value.outlet] = c;
  17509. return m;
  17510. }, {}) : {};
  17511. }
  17512. function getOutlet(outletMap, route) {
  17513. var outlet = outletMap._outlets[route.outlet];
  17514. if (!outlet) {
  17515. var componentName = route.component.name;
  17516. if (route.outlet === __WEBPACK_IMPORTED_MODULE_17__shared__["a" /* PRIMARY_OUTLET */]) {
  17517. throw new Error("Cannot find primary outlet to load '" + componentName + "'");
  17518. }
  17519. else {
  17520. throw new Error("Cannot find the outlet " + route.outlet + " to load '" + componentName + "'");
  17521. }
  17522. }
  17523. return outlet;
  17524. }
  17525. //# sourceMappingURL=router.js.map
  17526. /***/ },
  17527. /* 157 */
  17528. /***/ function(module, exports, __webpack_require__) {
  17529. "use strict";
  17530. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  17531. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_observable_fromPromise__ = __webpack_require__(171);
  17532. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_observable_fromPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_rxjs_observable_fromPromise__);
  17533. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__ = __webpack_require__(100);
  17534. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__);
  17535. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_map__ = __webpack_require__(82);
  17536. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_operator_map__);
  17537. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_mergeMap__ = __webpack_require__(121);
  17538. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_mergeMap___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_operator_mergeMap__);
  17539. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_collection__ = __webpack_require__(55);
  17540. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return ROUTES; });
  17541. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return LoadedRouterConfig; });
  17542. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return RouterConfigLoader; });
  17543. /**
  17544. * @license
  17545. * Copyright Google Inc. All Rights Reserved.
  17546. *
  17547. * Use of this source code is governed by an MIT-style license that can be
  17548. * found in the LICENSE file at https://angular.io/license
  17549. */
  17550. /**
  17551. * @experimental
  17552. */
  17553. var ROUTES = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["OpaqueToken"]('ROUTES');
  17554. var LoadedRouterConfig = (function () {
  17555. function LoadedRouterConfig(routes, injector, factoryResolver) {
  17556. this.routes = routes;
  17557. this.injector = injector;
  17558. this.factoryResolver = factoryResolver;
  17559. }
  17560. return LoadedRouterConfig;
  17561. }());
  17562. var RouterConfigLoader = (function () {
  17563. function RouterConfigLoader(loader, compiler) {
  17564. this.loader = loader;
  17565. this.compiler = compiler;
  17566. }
  17567. RouterConfigLoader.prototype.load = function (parentInjector, loadChildren) {
  17568. return __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_map__["map"].call(this.loadModuleFactory(loadChildren), function (r) {
  17569. var ref = r.create(parentInjector);
  17570. return new LoadedRouterConfig(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__utils_collection__["a" /* flatten */])(ref.injector.get(ROUTES)), ref.injector, ref.componentFactoryResolver);
  17571. });
  17572. };
  17573. RouterConfigLoader.prototype.loadModuleFactory = function (loadChildren) {
  17574. var _this = this;
  17575. if (typeof loadChildren === 'string') {
  17576. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_rxjs_observable_fromPromise__["fromPromise"])(this.loader.load(loadChildren));
  17577. }
  17578. else {
  17579. var offlineMode_1 = this.compiler instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Compiler"];
  17580. return __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_mergeMap__["mergeMap"].call(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__utils_collection__["b" /* wrapIntoObservable */])(loadChildren()), function (t) { return offlineMode_1 ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"])(t) : __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_rxjs_observable_fromPromise__["fromPromise"])(_this.compiler.compileModuleAsync(t)); });
  17581. }
  17582. };
  17583. return RouterConfigLoader;
  17584. }());
  17585. //# sourceMappingURL=router_config_loader.js.map
  17586. /***/ },
  17587. /* 158 */
  17588. /***/ function(module, exports, __webpack_require__) {
  17589. "use strict";
  17590. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return RouterOutletMap; });
  17591. /**
  17592. * @license
  17593. * Copyright Google Inc. All Rights Reserved.
  17594. *
  17595. * Use of this source code is governed by an MIT-style license that can be
  17596. * found in the LICENSE file at https://angular.io/license
  17597. */
  17598. /**
  17599. * @whatItDoes Contains all the router outlets created in a component.
  17600. *
  17601. * @stable
  17602. */
  17603. var RouterOutletMap = (function () {
  17604. function RouterOutletMap() {
  17605. /** @internal */
  17606. this._outlets = {};
  17607. }
  17608. /**
  17609. * Adds an outlet to this map.
  17610. */
  17611. RouterOutletMap.prototype.registerOutlet = function (name, outlet) { this._outlets[name] = outlet; };
  17612. /**
  17613. * Removes an outlet from this map.
  17614. */
  17615. RouterOutletMap.prototype.removeOutlet = function (name) { this._outlets[name] = undefined; };
  17616. return RouterOutletMap;
  17617. }());
  17618. //# sourceMappingURL=router_outlet_map.js.map
  17619. /***/ },
  17620. /* 159 */
  17621. /***/ function(module, exports, __webpack_require__) {
  17622. // getting tag from 19.1.3.6 Object.prototype.toString()
  17623. var cof = __webpack_require__(57)
  17624. , TAG = __webpack_require__(14)('toStringTag')
  17625. // ES3 wrong here
  17626. , ARG = cof(function(){ return arguments; }()) == 'Arguments';
  17627. // fallback for IE11 Script Access Denied error
  17628. var tryGet = function(it, key){
  17629. try {
  17630. return it[key];
  17631. } catch(e){ /* empty */ }
  17632. };
  17633. module.exports = function(it){
  17634. var O, T, B;
  17635. return it === undefined ? 'Undefined' : it === null ? 'Null'
  17636. // @@toStringTag case
  17637. : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
  17638. // builtinTag case
  17639. : ARG ? cof(O)
  17640. // ES3 arguments fallback
  17641. : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
  17642. };
  17643. /***/ },
  17644. /* 160 */
  17645. /***/ function(module, exports, __webpack_require__) {
  17646. "use strict";
  17647. 'use strict';
  17648. var global = __webpack_require__(11)
  17649. , $export = __webpack_require__(2)
  17650. , redefine = __webpack_require__(37)
  17651. , redefineAll = __webpack_require__(97)
  17652. , meta = __webpack_require__(70)
  17653. , forOf = __webpack_require__(117)
  17654. , anInstance = __webpack_require__(94)
  17655. , isObject = __webpack_require__(10)
  17656. , fails = __webpack_require__(9)
  17657. , $iterDetect = __webpack_require__(162)
  17658. , setToStringTag = __webpack_require__(99)
  17659. , inheritIfRequired = __webpack_require__(242);
  17660. module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
  17661. var Base = global[NAME]
  17662. , C = Base
  17663. , ADDER = IS_MAP ? 'set' : 'add'
  17664. , proto = C && C.prototype
  17665. , O = {};
  17666. var fixMethod = function(KEY){
  17667. var fn = proto[KEY];
  17668. redefine(proto, KEY,
  17669. KEY == 'delete' ? function(a){
  17670. return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
  17671. } : KEY == 'has' ? function has(a){
  17672. return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
  17673. } : KEY == 'get' ? function get(a){
  17674. return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);
  17675. } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }
  17676. : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }
  17677. );
  17678. };
  17679. if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){
  17680. new C().entries().next();
  17681. }))){
  17682. // create collection constructor
  17683. C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
  17684. redefineAll(C.prototype, methods);
  17685. meta.NEED = true;
  17686. } else {
  17687. var instance = new C
  17688. // early implementations not supports chaining
  17689. , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance
  17690. // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
  17691. , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })
  17692. // most early implementations doesn't supports iterables, most modern - not close it correctly
  17693. , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new
  17694. // for early implementations -0 and +0 not the same
  17695. , BUGGY_ZERO = !IS_WEAK && fails(function(){
  17696. // V8 ~ Chromium 42- fails only with 5+ elements
  17697. var $instance = new C()
  17698. , index = 5;
  17699. while(index--)$instance[ADDER](index, index);
  17700. return !$instance.has(-0);
  17701. });
  17702. if(!ACCEPT_ITERABLES){
  17703. C = wrapper(function(target, iterable){
  17704. anInstance(target, C, NAME);
  17705. var that = inheritIfRequired(new Base, target, C);
  17706. if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
  17707. return that;
  17708. });
  17709. C.prototype = proto;
  17710. proto.constructor = C;
  17711. }
  17712. if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){
  17713. fixMethod('delete');
  17714. fixMethod('has');
  17715. IS_MAP && fixMethod('get');
  17716. }
  17717. if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);
  17718. // weak collections should not contains .clear method
  17719. if(IS_WEAK && proto.clear)delete proto.clear;
  17720. }
  17721. setToStringTag(C, NAME);
  17722. O[NAME] = C;
  17723. $export($export.G + $export.W + $export.F * (C != Base), O);
  17724. if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);
  17725. return C;
  17726. };
  17727. /***/ },
  17728. /* 161 */
  17729. /***/ function(module, exports, __webpack_require__) {
  17730. "use strict";
  17731. 'use strict';
  17732. var hide = __webpack_require__(40)
  17733. , redefine = __webpack_require__(37)
  17734. , fails = __webpack_require__(9)
  17735. , defined = __webpack_require__(59)
  17736. , wks = __webpack_require__(14);
  17737. module.exports = function(KEY, length, exec){
  17738. var SYMBOL = wks(KEY)
  17739. , fns = exec(defined, SYMBOL, ''[KEY])
  17740. , strfn = fns[0]
  17741. , rxfn = fns[1];
  17742. if(fails(function(){
  17743. var O = {};
  17744. O[SYMBOL] = function(){ return 7; };
  17745. return ''[KEY](O) != 7;
  17746. })){
  17747. redefine(String.prototype, KEY, strfn);
  17748. hide(RegExp.prototype, SYMBOL, length == 2
  17749. // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
  17750. // 21.2.5.11 RegExp.prototype[@@split](string, limit)
  17751. ? function(string, arg){ return rxfn.call(string, this, arg); }
  17752. // 21.2.5.6 RegExp.prototype[@@match](string)
  17753. // 21.2.5.9 RegExp.prototype[@@search](string)
  17754. : function(string){ return rxfn.call(string, this); }
  17755. );
  17756. }
  17757. };
  17758. /***/ },
  17759. /* 162 */
  17760. /***/ function(module, exports, __webpack_require__) {
  17761. var ITERATOR = __webpack_require__(14)('iterator')
  17762. , SAFE_CLOSING = false;
  17763. try {
  17764. var riter = [7][ITERATOR]();
  17765. riter['return'] = function(){ SAFE_CLOSING = true; };
  17766. Array.from(riter, function(){ throw 2; });
  17767. } catch(e){ /* empty */ }
  17768. module.exports = function(exec, skipClosing){
  17769. if(!skipClosing && !SAFE_CLOSING)return false;
  17770. var safe = false;
  17771. try {
  17772. var arr = [7]
  17773. , iter = arr[ITERATOR]();
  17774. iter.next = function(){ return {done: safe = true}; };
  17775. arr[ITERATOR] = function(){ return iter; };
  17776. exec(arr);
  17777. } catch(e){ /* empty */ }
  17778. return safe;
  17779. };
  17780. /***/ },
  17781. /* 163 */
  17782. /***/ function(module, exports) {
  17783. exports.f = Object.getOwnPropertySymbols;
  17784. /***/ },
  17785. /* 164 */
  17786. /***/ function(module, exports) {
  17787. exports.f = {}.propertyIsEnumerable;
  17788. /***/ },
  17789. /* 165 */
  17790. /***/ function(module, exports, __webpack_require__) {
  17791. var global = __webpack_require__(11)
  17792. , SHARED = '__core-js_shared__'
  17793. , store = global[SHARED] || (global[SHARED] = {});
  17794. module.exports = function(key){
  17795. return store[key] || (store[key] = {});
  17796. };
  17797. /***/ },
  17798. /* 166 */
  17799. /***/ function(module, exports, __webpack_require__) {
  17800. var $export = __webpack_require__(2)
  17801. , defined = __webpack_require__(59)
  17802. , fails = __webpack_require__(9)
  17803. , spaces = __webpack_require__(253)
  17804. , space = '[' + spaces + ']'
  17805. , non = '\u200b\u0085'
  17806. , ltrim = RegExp('^' + space + space + '*')
  17807. , rtrim = RegExp(space + space + '*$');
  17808. var exporter = function(KEY, exec, ALIAS){
  17809. var exp = {};
  17810. var FORCE = fails(function(){
  17811. return !!spaces[KEY]() || non[KEY]() != non;
  17812. });
  17813. var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
  17814. if(ALIAS)exp[ALIAS] = fn;
  17815. $export($export.P + $export.F * FORCE, 'String', exp);
  17816. };
  17817. // 1 -> String#trimLeft
  17818. // 2 -> String#trimRight
  17819. // 3 -> String#trim
  17820. var trim = exporter.trim = function(string, TYPE){
  17821. string = String(defined(string));
  17822. if(TYPE & 1)string = string.replace(ltrim, '');
  17823. if(TYPE & 2)string = string.replace(rtrim, '');
  17824. return string;
  17825. };
  17826. module.exports = exporter;
  17827. /***/ },
  17828. /* 167 */
  17829. /***/ function(module, exports, __webpack_require__) {
  17830. var global = __webpack_require__(11)
  17831. , hide = __webpack_require__(40)
  17832. , uid = __webpack_require__(81)
  17833. , TYPED = uid('typed_array')
  17834. , VIEW = uid('view')
  17835. , ABV = !!(global.ArrayBuffer && global.DataView)
  17836. , CONSTR = ABV
  17837. , i = 0, l = 9, Typed;
  17838. var TypedArrayConstructors = (
  17839. 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'
  17840. ).split(',');
  17841. while(i < l){
  17842. if(Typed = global[TypedArrayConstructors[i++]]){
  17843. hide(Typed.prototype, TYPED, true);
  17844. hide(Typed.prototype, VIEW, true);
  17845. } else CONSTR = false;
  17846. }
  17847. module.exports = {
  17848. ABV: ABV,
  17849. CONSTR: CONSTR,
  17850. TYPED: TYPED,
  17851. VIEW: VIEW
  17852. };
  17853. /***/ },
  17854. /* 168 */
  17855. /***/ function(module, exports, __webpack_require__) {
  17856. "use strict";
  17857. "use strict";
  17858. var __extends = (this && this.__extends) || function (d, b) {
  17859. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  17860. function __() { this.constructor = d; }
  17861. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  17862. };
  17863. var Subject_1 = __webpack_require__(15);
  17864. var Subscription_1 = __webpack_require__(22);
  17865. /**
  17866. * @class AsyncSubject<T>
  17867. */
  17868. var AsyncSubject = (function (_super) {
  17869. __extends(AsyncSubject, _super);
  17870. function AsyncSubject() {
  17871. _super.apply(this, arguments);
  17872. this.value = null;
  17873. this.hasNext = false;
  17874. this.hasCompleted = false;
  17875. }
  17876. AsyncSubject.prototype._subscribe = function (subscriber) {
  17877. if (this.hasCompleted && this.hasNext) {
  17878. subscriber.next(this.value);
  17879. subscriber.complete();
  17880. return Subscription_1.Subscription.EMPTY;
  17881. }
  17882. else if (this.hasError) {
  17883. subscriber.error(this.thrownError);
  17884. return Subscription_1.Subscription.EMPTY;
  17885. }
  17886. return _super.prototype._subscribe.call(this, subscriber);
  17887. };
  17888. AsyncSubject.prototype.next = function (value) {
  17889. if (!this.hasCompleted) {
  17890. this.value = value;
  17891. this.hasNext = true;
  17892. }
  17893. };
  17894. AsyncSubject.prototype.complete = function () {
  17895. this.hasCompleted = true;
  17896. if (this.hasNext) {
  17897. _super.prototype.next.call(this, this.value);
  17898. }
  17899. _super.prototype.complete.call(this);
  17900. };
  17901. return AsyncSubject;
  17902. }(Subject_1.Subject));
  17903. exports.AsyncSubject = AsyncSubject;
  17904. //# sourceMappingURL=AsyncSubject.js.map
  17905. /***/ },
  17906. /* 169 */
  17907. /***/ function(module, exports, __webpack_require__) {
  17908. "use strict";
  17909. "use strict";
  17910. var __extends = (this && this.__extends) || function (d, b) {
  17911. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  17912. function __() { this.constructor = d; }
  17913. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  17914. };
  17915. var Subject_1 = __webpack_require__(15);
  17916. var ObjectUnsubscribedError_1 = __webpack_require__(265);
  17917. /**
  17918. * @class BehaviorSubject<T>
  17919. */
  17920. var BehaviorSubject = (function (_super) {
  17921. __extends(BehaviorSubject, _super);
  17922. function BehaviorSubject(_value) {
  17923. _super.call(this);
  17924. this._value = _value;
  17925. }
  17926. Object.defineProperty(BehaviorSubject.prototype, "value", {
  17927. get: function () {
  17928. return this.getValue();
  17929. },
  17930. enumerable: true,
  17931. configurable: true
  17932. });
  17933. BehaviorSubject.prototype._subscribe = function (subscriber) {
  17934. var subscription = _super.prototype._subscribe.call(this, subscriber);
  17935. if (subscription && !subscription.closed) {
  17936. subscriber.next(this._value);
  17937. }
  17938. return subscription;
  17939. };
  17940. BehaviorSubject.prototype.getValue = function () {
  17941. if (this.hasError) {
  17942. throw this.thrownError;
  17943. }
  17944. else if (this.closed) {
  17945. throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();
  17946. }
  17947. else {
  17948. return this._value;
  17949. }
  17950. };
  17951. BehaviorSubject.prototype.next = function (value) {
  17952. _super.prototype.next.call(this, this._value = value);
  17953. };
  17954. return BehaviorSubject;
  17955. }(Subject_1.Subject));
  17956. exports.BehaviorSubject = BehaviorSubject;
  17957. //# sourceMappingURL=BehaviorSubject.js.map
  17958. /***/ },
  17959. /* 170 */
  17960. /***/ function(module, exports, __webpack_require__) {
  17961. "use strict";
  17962. "use strict";
  17963. var __extends = (this && this.__extends) || function (d, b) {
  17964. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  17965. function __() { this.constructor = d; }
  17966. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  17967. };
  17968. var Subject_1 = __webpack_require__(15);
  17969. var queue_1 = __webpack_require__(413);
  17970. var observeOn_1 = __webpack_require__(263);
  17971. /**
  17972. * @class ReplaySubject<T>
  17973. */
  17974. var ReplaySubject = (function (_super) {
  17975. __extends(ReplaySubject, _super);
  17976. function ReplaySubject(bufferSize, windowTime, scheduler) {
  17977. if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }
  17978. if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }
  17979. _super.call(this);
  17980. this.scheduler = scheduler;
  17981. this._events = [];
  17982. this._bufferSize = bufferSize < 1 ? 1 : bufferSize;
  17983. this._windowTime = windowTime < 1 ? 1 : windowTime;
  17984. }
  17985. ReplaySubject.prototype.next = function (value) {
  17986. var now = this._getNow();
  17987. this._events.push(new ReplayEvent(now, value));
  17988. this._trimBufferThenGetEvents();
  17989. _super.prototype.next.call(this, value);
  17990. };
  17991. ReplaySubject.prototype._subscribe = function (subscriber) {
  17992. var _events = this._trimBufferThenGetEvents();
  17993. var scheduler = this.scheduler;
  17994. if (scheduler) {
  17995. subscriber.add(subscriber = new observeOn_1.ObserveOnSubscriber(subscriber, scheduler));
  17996. }
  17997. var len = _events.length;
  17998. for (var i = 0; i < len && !subscriber.closed; i++) {
  17999. subscriber.next(_events[i].value);
  18000. }
  18001. return _super.prototype._subscribe.call(this, subscriber);
  18002. };
  18003. ReplaySubject.prototype._getNow = function () {
  18004. return (this.scheduler || queue_1.queue).now();
  18005. };
  18006. ReplaySubject.prototype._trimBufferThenGetEvents = function () {
  18007. var now = this._getNow();
  18008. var _bufferSize = this._bufferSize;
  18009. var _windowTime = this._windowTime;
  18010. var _events = this._events;
  18011. var eventsCount = _events.length;
  18012. var spliceCount = 0;
  18013. // Trim events that fall out of the time window.
  18014. // Start at the front of the list. Break early once
  18015. // we encounter an event that falls within the window.
  18016. while (spliceCount < eventsCount) {
  18017. if ((now - _events[spliceCount].time) < _windowTime) {
  18018. break;
  18019. }
  18020. spliceCount++;
  18021. }
  18022. if (eventsCount > _bufferSize) {
  18023. spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);
  18024. }
  18025. if (spliceCount > 0) {
  18026. _events.splice(0, spliceCount);
  18027. }
  18028. return _events;
  18029. };
  18030. return ReplaySubject;
  18031. }(Subject_1.Subject));
  18032. exports.ReplaySubject = ReplaySubject;
  18033. var ReplayEvent = (function () {
  18034. function ReplayEvent(time, value) {
  18035. this.time = time;
  18036. this.value = value;
  18037. }
  18038. return ReplayEvent;
  18039. }());
  18040. //# sourceMappingURL=ReplaySubject.js.map
  18041. /***/ },
  18042. /* 171 */
  18043. /***/ function(module, exports, __webpack_require__) {
  18044. "use strict";
  18045. "use strict";
  18046. var PromiseObservable_1 = __webpack_require__(395);
  18047. exports.fromPromise = PromiseObservable_1.PromiseObservable.create;
  18048. //# sourceMappingURL=fromPromise.js.map
  18049. /***/ },
  18050. /* 172 */
  18051. /***/ function(module, exports, __webpack_require__) {
  18052. "use strict";
  18053. "use strict";
  18054. var __extends = (this && this.__extends) || function (d, b) {
  18055. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  18056. function __() { this.constructor = d; }
  18057. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  18058. };
  18059. var Subscriber_1 = __webpack_require__(3);
  18060. /**
  18061. * Applies an accumulator function over the source Observable, and returns the
  18062. * accumulated result when the source completes, given an optional seed value.
  18063. *
  18064. * <span class="informal">Combines together all values emitted on the source,
  18065. * using an accumulator function that knows how to join a new source value into
  18066. * the accumulation from the past.</span>
  18067. *
  18068. * <img src="./img/reduce.png" width="100%">
  18069. *
  18070. * Like
  18071. * [Array.prototype.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce),
  18072. * `reduce` applies an `accumulator` function against an accumulation and each
  18073. * value of the source Observable (from the past) to reduce it to a single
  18074. * value, emitted on the output Observable. Note that `reduce` will only emit
  18075. * one value, only when the source Observable completes. It is equivalent to
  18076. * applying operator {@link scan} followed by operator {@link last}.
  18077. *
  18078. * Returns an Observable that applies a specified `accumulator` function to each
  18079. * item emitted by the source Observable. If a `seed` value is specified, then
  18080. * that value will be used as the initial value for the accumulator. If no seed
  18081. * value is specified, the first item of the source is used as the seed.
  18082. *
  18083. * @example <caption>Count the number of click events that happened in 5 seconds</caption>
  18084. * var clicksInFiveSeconds = Rx.Observable.fromEvent(document, 'click')
  18085. * .takeUntil(Rx.Observable.interval(5000));
  18086. * var ones = clicksInFiveSeconds.mapTo(1);
  18087. * var seed = 0;
  18088. * var count = ones.reduce((acc, one) => acc + one, seed);
  18089. * count.subscribe(x => console.log(x));
  18090. *
  18091. * @see {@link count}
  18092. * @see {@link expand}
  18093. * @see {@link mergeScan}
  18094. * @see {@link scan}
  18095. *
  18096. * @param {function(acc: R, value: T): R} accumulator The accumulator function
  18097. * called on each source value.
  18098. * @param {R} [seed] The initial accumulation value.
  18099. * @return {Observable<R>} An observable of the accumulated values.
  18100. * @return {Observable<R>} An Observable that emits a single value that is the
  18101. * result of accumulating the values emitted by the source Observable.
  18102. * @method reduce
  18103. * @owner Observable
  18104. */
  18105. function reduce(accumulator, seed) {
  18106. return this.lift(new ReduceOperator(accumulator, seed));
  18107. }
  18108. exports.reduce = reduce;
  18109. var ReduceOperator = (function () {
  18110. function ReduceOperator(accumulator, seed) {
  18111. this.accumulator = accumulator;
  18112. this.seed = seed;
  18113. }
  18114. ReduceOperator.prototype.call = function (subscriber, source) {
  18115. return source._subscribe(new ReduceSubscriber(subscriber, this.accumulator, this.seed));
  18116. };
  18117. return ReduceOperator;
  18118. }());
  18119. exports.ReduceOperator = ReduceOperator;
  18120. /**
  18121. * We need this JSDoc comment for affecting ESDoc.
  18122. * @ignore
  18123. * @extends {Ignored}
  18124. */
  18125. var ReduceSubscriber = (function (_super) {
  18126. __extends(ReduceSubscriber, _super);
  18127. function ReduceSubscriber(destination, accumulator, seed) {
  18128. _super.call(this, destination);
  18129. this.accumulator = accumulator;
  18130. this.hasValue = false;
  18131. this.acc = seed;
  18132. this.accumulator = accumulator;
  18133. this.hasSeed = typeof seed !== 'undefined';
  18134. }
  18135. ReduceSubscriber.prototype._next = function (value) {
  18136. if (this.hasValue || (this.hasValue = this.hasSeed)) {
  18137. this._tryReduce(value);
  18138. }
  18139. else {
  18140. this.acc = value;
  18141. this.hasValue = true;
  18142. }
  18143. };
  18144. ReduceSubscriber.prototype._tryReduce = function (value) {
  18145. var result;
  18146. try {
  18147. result = this.accumulator(this.acc, value);
  18148. }
  18149. catch (err) {
  18150. this.destination.error(err);
  18151. return;
  18152. }
  18153. this.acc = result;
  18154. };
  18155. ReduceSubscriber.prototype._complete = function () {
  18156. if (this.hasValue || this.hasSeed) {
  18157. this.destination.next(this.acc);
  18158. }
  18159. this.destination.complete();
  18160. };
  18161. return ReduceSubscriber;
  18162. }(Subscriber_1.Subscriber));
  18163. exports.ReduceSubscriber = ReduceSubscriber;
  18164. //# sourceMappingURL=reduce.js.map
  18165. /***/ },
  18166. /* 173 */
  18167. /***/ function(module, exports, __webpack_require__) {
  18168. "use strict";
  18169. "use strict";
  18170. var root_1 = __webpack_require__(27);
  18171. function getSymbolObservable(context) {
  18172. var $$observable;
  18173. var Symbol = context.Symbol;
  18174. if (typeof Symbol === 'function') {
  18175. if (Symbol.observable) {
  18176. $$observable = Symbol.observable;
  18177. }
  18178. else {
  18179. $$observable = Symbol('observable');
  18180. Symbol.observable = $$observable;
  18181. }
  18182. }
  18183. else {
  18184. $$observable = '@@observable';
  18185. }
  18186. return $$observable;
  18187. }
  18188. exports.getSymbolObservable = getSymbolObservable;
  18189. exports.$$observable = getSymbolObservable(root_1.root);
  18190. //# sourceMappingURL=observable.js.map
  18191. /***/ },
  18192. /* 174 */
  18193. /***/ function(module, exports, __webpack_require__) {
  18194. "use strict";
  18195. "use strict";
  18196. var root_1 = __webpack_require__(27);
  18197. var Symbol = root_1.root.Symbol;
  18198. exports.$$rxSubscriber = (typeof Symbol === 'function' && typeof Symbol.for === 'function') ?
  18199. Symbol.for('rxSubscriber') : '@@rxSubscriber';
  18200. //# sourceMappingURL=rxSubscriber.js.map
  18201. /***/ },
  18202. /* 175 */
  18203. /***/ function(module, exports) {
  18204. "use strict";
  18205. "use strict";
  18206. var __extends = (this && this.__extends) || function (d, b) {
  18207. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  18208. function __() { this.constructor = d; }
  18209. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  18210. };
  18211. /**
  18212. * An error thrown when an element was queried at a certain index of an
  18213. * Observable, but no such index or position exists in that sequence.
  18214. *
  18215. * @see {@link elementAt}
  18216. * @see {@link take}
  18217. * @see {@link takeLast}
  18218. *
  18219. * @class ArgumentOutOfRangeError
  18220. */
  18221. var ArgumentOutOfRangeError = (function (_super) {
  18222. __extends(ArgumentOutOfRangeError, _super);
  18223. function ArgumentOutOfRangeError() {
  18224. var err = _super.call(this, 'argument out of range');
  18225. this.name = err.name = 'ArgumentOutOfRangeError';
  18226. this.stack = err.stack;
  18227. this.message = err.message;
  18228. }
  18229. return ArgumentOutOfRangeError;
  18230. }(Error));
  18231. exports.ArgumentOutOfRangeError = ArgumentOutOfRangeError;
  18232. //# sourceMappingURL=ArgumentOutOfRangeError.js.map
  18233. /***/ },
  18234. /* 176 */
  18235. /***/ function(module, exports) {
  18236. "use strict";
  18237. "use strict";
  18238. function isDate(value) {
  18239. return value instanceof Date && !isNaN(+value);
  18240. }
  18241. exports.isDate = isDate;
  18242. //# sourceMappingURL=isDate.js.map
  18243. /***/ },
  18244. /* 177 */
  18245. /***/ function(module, exports, __webpack_require__) {
  18246. /* WEBPACK VAR INJECTION */(function(setImmediate, clearImmediate) {var nextTick = __webpack_require__(390).nextTick;
  18247. var apply = Function.prototype.apply;
  18248. var slice = Array.prototype.slice;
  18249. var immediateIds = {};
  18250. var nextImmediateId = 0;
  18251. // DOM APIs, for completeness
  18252. exports.setTimeout = function() {
  18253. return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);
  18254. };
  18255. exports.setInterval = function() {
  18256. return new Timeout(apply.call(setInterval, window, arguments), clearInterval);
  18257. };
  18258. exports.clearTimeout =
  18259. exports.clearInterval = function(timeout) { timeout.close(); };
  18260. function Timeout(id, clearFn) {
  18261. this._id = id;
  18262. this._clearFn = clearFn;
  18263. }
  18264. Timeout.prototype.unref = Timeout.prototype.ref = function() {};
  18265. Timeout.prototype.close = function() {
  18266. this._clearFn.call(window, this._id);
  18267. };
  18268. // Does not start the time, just sets up the members needed.
  18269. exports.enroll = function(item, msecs) {
  18270. clearTimeout(item._idleTimeoutId);
  18271. item._idleTimeout = msecs;
  18272. };
  18273. exports.unenroll = function(item) {
  18274. clearTimeout(item._idleTimeoutId);
  18275. item._idleTimeout = -1;
  18276. };
  18277. exports._unrefActive = exports.active = function(item) {
  18278. clearTimeout(item._idleTimeoutId);
  18279. var msecs = item._idleTimeout;
  18280. if (msecs >= 0) {
  18281. item._idleTimeoutId = setTimeout(function onTimeout() {
  18282. if (item._onTimeout)
  18283. item._onTimeout();
  18284. }, msecs);
  18285. }
  18286. };
  18287. // That's not how node.js implements it but the exposed api is the same.
  18288. exports.setImmediate = typeof setImmediate === "function" ? setImmediate : function(fn) {
  18289. var id = nextImmediateId++;
  18290. var args = arguments.length < 2 ? false : slice.call(arguments, 1);
  18291. immediateIds[id] = true;
  18292. nextTick(function onNextTick() {
  18293. if (immediateIds[id]) {
  18294. // fn.call() is faster so we optimize for the common use-case
  18295. // @see http://jsperf.com/call-apply-segu
  18296. if (args) {
  18297. fn.apply(null, args);
  18298. } else {
  18299. fn.call(null);
  18300. }
  18301. // Prevent ids from leaking
  18302. exports.clearImmediate(id);
  18303. }
  18304. });
  18305. return id;
  18306. };
  18307. exports.clearImmediate = typeof clearImmediate === "function" ? clearImmediate : function(id) {
  18308. delete immediateIds[id];
  18309. };
  18310. /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(177).setImmediate, __webpack_require__(177).clearImmediate))
  18311. /***/ },
  18312. /* 178 */
  18313. /***/ function(module, exports, __webpack_require__) {
  18314. "use strict";
  18315. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_index__ = __webpack_require__(507);
  18316. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "BrowserXhr", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["a"]; });
  18317. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "JSONPBackend", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["b"]; });
  18318. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "JSONPConnection", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["c"]; });
  18319. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "CookieXSRFStrategy", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["d"]; });
  18320. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "XHRBackend", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["e"]; });
  18321. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "XHRConnection", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["f"]; });
  18322. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "BaseRequestOptions", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["g"]; });
  18323. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RequestOptions", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["h"]; });
  18324. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "BaseResponseOptions", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["i"]; });
  18325. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ResponseOptions", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["j"]; });
  18326. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ReadyState", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["k"]; });
  18327. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RequestMethod", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["l"]; });
  18328. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ResponseContentType", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["m"]; });
  18329. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ResponseType", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["n"]; });
  18330. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Headers", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["o"]; });
  18331. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Http", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["p"]; });
  18332. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Jsonp", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["q"]; });
  18333. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "HttpModule", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["r"]; });
  18334. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "JsonpModule", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["s"]; });
  18335. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Connection", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["t"]; });
  18336. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ConnectionBackend", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["u"]; });
  18337. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "XSRFStrategy", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["v"]; });
  18338. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Request", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["w"]; });
  18339. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Response", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["x"]; });
  18340. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "QueryEncoder", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["y"]; });
  18341. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "URLSearchParams", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["z"]; });
  18342. /**
  18343. * @license
  18344. * Copyright Google Inc. All Rights Reserved.
  18345. *
  18346. * Use of this source code is governed by an MIT-style license that can be
  18347. * found in the LICENSE file at https://angular.io/license
  18348. */
  18349. /**
  18350. * @module
  18351. * @description
  18352. * Entry point for all public APIs of the http package.
  18353. */
  18354. //# sourceMappingURL=index.js.map
  18355. /***/ },
  18356. /* 179 */
  18357. /***/ function(module, exports, __webpack_require__) {
  18358. "use strict";
  18359. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_index__ = __webpack_require__(529);
  18360. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RouterLink", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["a"]; });
  18361. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RouterLinkWithHref", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["b"]; });
  18362. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RouterLinkActive", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["c"]; });
  18363. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RouterOutlet", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["d"]; });
  18364. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "NavigationCancel", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["e"]; });
  18365. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "NavigationError", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["f"]; });
  18366. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "NavigationStart", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["g"]; });
  18367. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "Router", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["h"]; });
  18368. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RoutesRecognized", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["i"]; });
  18369. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "NavigationEnd", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["j"]; });
  18370. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RouterModule", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["k"]; });
  18371. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "provideRoutes", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["l"]; });
  18372. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RouterOutletMap", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["m"]; });
  18373. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ActivatedRoute", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["n"]; });
  18374. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "ActivatedRouteSnapshot", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["o"]; });
  18375. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RouterState", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["p"]; });
  18376. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "RouterStateSnapshot", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["q"]; });
  18377. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "PRIMARY_OUTLET", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["r"]; });
  18378. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "DefaultUrlSerializer", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["s"]; });
  18379. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "UrlSegment", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["t"]; });
  18380. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "UrlSerializer", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["u"]; });
  18381. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "UrlTree", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["v"]; });
  18382. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "__router_private__", function() { return __WEBPACK_IMPORTED_MODULE_0__src_index__["w"]; });
  18383. /**
  18384. * @license
  18385. * Copyright Google Inc. All Rights Reserved.
  18386. *
  18387. * Use of this source code is governed by an MIT-style license that can be
  18388. * found in the LICENSE file at https://angular.io/license
  18389. */
  18390. /**
  18391. * @module
  18392. * @description
  18393. * Entry point for all public APIs of the router package.
  18394. */
  18395. //# sourceMappingURL=index.js.map
  18396. /***/ },
  18397. /* 180 */
  18398. /***/ function(module, exports, __webpack_require__) {
  18399. "use strict";
  18400. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  18401. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__location_strategy__ = __webpack_require__(129);
  18402. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Location; });
  18403. /**
  18404. * @license
  18405. * Copyright Google Inc. All Rights Reserved.
  18406. *
  18407. * Use of this source code is governed by an MIT-style license that can be
  18408. * found in the LICENSE file at https://angular.io/license
  18409. */
  18410. /**
  18411. * `Location` is a service that applications can use to interact with a browser's URL.
  18412. * Depending on which {@link LocationStrategy} is used, `Location` will either persist
  18413. * to the URL's path or the URL's hash segment.
  18414. *
  18415. * Note: it's better to use {@link Router#navigate} service to trigger route changes. Use
  18416. * `Location` only if you need to interact with or create normalized URLs outside of
  18417. * routing.
  18418. *
  18419. * `Location` is responsible for normalizing the URL against the application's base href.
  18420. * A normalized URL is absolute from the URL host, includes the application's base href, and has no
  18421. * trailing slash:
  18422. * - `/my/app/user/123` is normalized
  18423. * - `my/app/user/123` **is not** normalized
  18424. * - `/my/app/user/123/` **is not** normalized
  18425. *
  18426. * ### Example
  18427. *
  18428. * ```
  18429. * import {Component} from '@angular/core';
  18430. * import {Location} from '@angular/common';
  18431. *
  18432. * @Component({selector: 'app-component'})
  18433. * class AppCmp {
  18434. * constructor(location: Location) {
  18435. * location.go('/foo');
  18436. * }
  18437. * }
  18438. * ```
  18439. *
  18440. * @stable
  18441. */
  18442. var Location = (function () {
  18443. function Location(platformStrategy) {
  18444. var _this = this;
  18445. /** @internal */
  18446. this._subject = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["EventEmitter"]();
  18447. this._platformStrategy = platformStrategy;
  18448. var browserBaseHref = this._platformStrategy.getBaseHref();
  18449. this._baseHref = Location.stripTrailingSlash(_stripIndexHtml(browserBaseHref));
  18450. this._platformStrategy.onPopState(function (ev) {
  18451. _this._subject.emit({
  18452. 'url': _this.path(true),
  18453. 'pop': true,
  18454. 'type': ev.type,
  18455. });
  18456. });
  18457. }
  18458. /**
  18459. * Returns the normalized URL path.
  18460. */
  18461. // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is
  18462. // removed.
  18463. Location.prototype.path = function (includeHash) {
  18464. if (includeHash === void 0) { includeHash = false; }
  18465. return this.normalize(this._platformStrategy.path(includeHash));
  18466. };
  18467. /**
  18468. * Normalizes the given path and compares to the current normalized path.
  18469. */
  18470. Location.prototype.isCurrentPathEqualTo = function (path, query) {
  18471. if (query === void 0) { query = ''; }
  18472. return this.path() == this.normalize(path + Location.normalizeQueryParams(query));
  18473. };
  18474. /**
  18475. * Given a string representing a URL, returns the normalized URL path without leading or
  18476. * trailing slashes.
  18477. */
  18478. Location.prototype.normalize = function (url) {
  18479. return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));
  18480. };
  18481. /**
  18482. * Given a string representing a URL, returns the platform-specific external URL path.
  18483. * If the given URL doesn't begin with a leading slash (`'/'`), this method adds one
  18484. * before normalizing. This method will also add a hash if `HashLocationStrategy` is
  18485. * used, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.
  18486. */
  18487. Location.prototype.prepareExternalUrl = function (url) {
  18488. if (url.length > 0 && !url.startsWith('/')) {
  18489. url = '/' + url;
  18490. }
  18491. return this._platformStrategy.prepareExternalUrl(url);
  18492. };
  18493. // TODO: rename this method to pushState
  18494. /**
  18495. * Changes the browsers URL to the normalized version of the given URL, and pushes a
  18496. * new item onto the platform's history.
  18497. */
  18498. Location.prototype.go = function (path, query) {
  18499. if (query === void 0) { query = ''; }
  18500. this._platformStrategy.pushState(null, '', path, query);
  18501. };
  18502. /**
  18503. * Changes the browsers URL to the normalized version of the given URL, and replaces
  18504. * the top item on the platform's history stack.
  18505. */
  18506. Location.prototype.replaceState = function (path, query) {
  18507. if (query === void 0) { query = ''; }
  18508. this._platformStrategy.replaceState(null, '', path, query);
  18509. };
  18510. /**
  18511. * Navigates forward in the platform's history.
  18512. */
  18513. Location.prototype.forward = function () { this._platformStrategy.forward(); };
  18514. /**
  18515. * Navigates back in the platform's history.
  18516. */
  18517. Location.prototype.back = function () { this._platformStrategy.back(); };
  18518. /**
  18519. * Subscribe to the platform's `popState` events.
  18520. */
  18521. Location.prototype.subscribe = function (onNext, onThrow, onReturn) {
  18522. if (onThrow === void 0) { onThrow = null; }
  18523. if (onReturn === void 0) { onReturn = null; }
  18524. return this._subject.subscribe({ next: onNext, error: onThrow, complete: onReturn });
  18525. };
  18526. /**
  18527. * Given a string of url parameters, prepend with '?' if needed, otherwise return parameters as
  18528. * is.
  18529. */
  18530. Location.normalizeQueryParams = function (params) {
  18531. return (params.length > 0 && params.substring(0, 1) != '?') ? ('?' + params) : params;
  18532. };
  18533. /**
  18534. * Given 2 parts of a url, join them with a slash if needed.
  18535. */
  18536. Location.joinWithSlash = function (start, end) {
  18537. if (start.length == 0) {
  18538. return end;
  18539. }
  18540. if (end.length == 0) {
  18541. return start;
  18542. }
  18543. var slashes = 0;
  18544. if (start.endsWith('/')) {
  18545. slashes++;
  18546. }
  18547. if (end.startsWith('/')) {
  18548. slashes++;
  18549. }
  18550. if (slashes == 2) {
  18551. return start + end.substring(1);
  18552. }
  18553. if (slashes == 1) {
  18554. return start + end;
  18555. }
  18556. return start + '/' + end;
  18557. };
  18558. /**
  18559. * If url has a trailing slash, remove it, otherwise return url as is.
  18560. */
  18561. Location.stripTrailingSlash = function (url) {
  18562. if (/\/$/g.test(url)) {
  18563. url = url.substring(0, url.length - 1);
  18564. }
  18565. return url;
  18566. };
  18567. Location.decorators = [
  18568. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  18569. ];
  18570. /** @nocollapse */
  18571. Location.ctorParameters = [
  18572. { type: __WEBPACK_IMPORTED_MODULE_1__location_strategy__["a" /* LocationStrategy */], },
  18573. ];
  18574. return Location;
  18575. }());
  18576. function _stripBaseHref(baseHref, url) {
  18577. if (baseHref.length > 0 && url.startsWith(baseHref)) {
  18578. return url.substring(baseHref.length);
  18579. }
  18580. return url;
  18581. }
  18582. function _stripIndexHtml(url) {
  18583. if (/\/index.html$/g.test(url)) {
  18584. // '/index.html'.length == 11
  18585. return url.substring(0, url.length - 11);
  18586. }
  18587. return url;
  18588. }
  18589. //# sourceMappingURL=location.js.map
  18590. /***/ },
  18591. /* 181 */
  18592. /***/ function(module, exports, __webpack_require__) {
  18593. "use strict";
  18594. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return PlatformLocation; });
  18595. /**
  18596. * @license
  18597. * Copyright Google Inc. All Rights Reserved.
  18598. *
  18599. * Use of this source code is governed by an MIT-style license that can be
  18600. * found in the LICENSE file at https://angular.io/license
  18601. */
  18602. /**
  18603. * This class should not be used directly by an application developer. Instead, use
  18604. * {@link Location}.
  18605. *
  18606. * `PlatformLocation` encapsulates all calls to DOM apis, which allows the Router to be platform
  18607. * agnostic.
  18608. * This means that we can have different implementation of `PlatformLocation` for the different
  18609. * platforms
  18610. * that angular supports. For example, the default `PlatformLocation` is {@link
  18611. * BrowserPlatformLocation},
  18612. * however when you run your app in a WebWorker you use {@link WebWorkerPlatformLocation}.
  18613. *
  18614. * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}
  18615. * when
  18616. * they need to interact with the DOM apis like pushState, popState, etc...
  18617. *
  18618. * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly
  18619. * by
  18620. * the {@link Router} in order to navigate between routes. Since all interactions between {@link
  18621. * Router} /
  18622. * {@link Location} / {@link LocationStrategy} and DOM apis flow through the `PlatformLocation`
  18623. * class
  18624. * they are all platform independent.
  18625. *
  18626. * @stable
  18627. */
  18628. var PlatformLocation = (function () {
  18629. function PlatformLocation() {
  18630. }
  18631. Object.defineProperty(PlatformLocation.prototype, "pathname", {
  18632. get: function () { return null; },
  18633. enumerable: true,
  18634. configurable: true
  18635. });
  18636. Object.defineProperty(PlatformLocation.prototype, "search", {
  18637. get: function () { return null; },
  18638. enumerable: true,
  18639. configurable: true
  18640. });
  18641. Object.defineProperty(PlatformLocation.prototype, "hash", {
  18642. get: function () { return null; },
  18643. enumerable: true,
  18644. configurable: true
  18645. });
  18646. return PlatformLocation;
  18647. }());
  18648. //# sourceMappingURL=platform_location.js.map
  18649. /***/ },
  18650. /* 182 */
  18651. /***/ function(module, exports, __webpack_require__) {
  18652. "use strict";
  18653. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return $EOF; });
  18654. /* harmony export (binding) */ __webpack_require__.d(exports, "Y", function() { return $TAB; });
  18655. /* harmony export (binding) */ __webpack_require__.d(exports, "S", function() { return $LF; });
  18656. /* harmony export (binding) */ __webpack_require__.d(exports, "_0", function() { return $VTAB; });
  18657. /* harmony export (binding) */ __webpack_require__.d(exports, "U", function() { return $FF; });
  18658. /* harmony export (binding) */ __webpack_require__.d(exports, "W", function() { return $CR; });
  18659. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return $SPACE; });
  18660. /* harmony export (binding) */ __webpack_require__.d(exports, "A", function() { return $BANG; });
  18661. /* harmony export (binding) */ __webpack_require__.d(exports, "o", function() { return $DQ; });
  18662. /* harmony export (binding) */ __webpack_require__.d(exports, "p", function() { return $HASH; });
  18663. /* harmony export (binding) */ __webpack_require__.d(exports, "M", function() { return $$; });
  18664. /* harmony export (binding) */ __webpack_require__.d(exports, "u", function() { return $PERCENT; });
  18665. /* harmony export (binding) */ __webpack_require__.d(exports, "B", function() { return $AMPERSAND; });
  18666. /* harmony export (binding) */ __webpack_require__.d(exports, "n", function() { return $SQ; });
  18667. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return $LPAREN; });
  18668. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return $RPAREN; });
  18669. /* harmony export (binding) */ __webpack_require__.d(exports, "s", function() { return $STAR; });
  18670. /* harmony export (binding) */ __webpack_require__.d(exports, "q", function() { return $PLUS; });
  18671. /* harmony export (binding) */ __webpack_require__.d(exports, "k", function() { return $COMMA; });
  18672. /* harmony export (binding) */ __webpack_require__.d(exports, "r", function() { return $MINUS; });
  18673. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return $PERIOD; });
  18674. /* harmony export (binding) */ __webpack_require__.d(exports, "t", function() { return $SLASH; });
  18675. /* harmony export (binding) */ __webpack_require__.d(exports, "l", function() { return $COLON; });
  18676. /* harmony export (binding) */ __webpack_require__.d(exports, "m", function() { return $SEMICOLON; });
  18677. /* harmony export (binding) */ __webpack_require__.d(exports, "x", function() { return $LT; });
  18678. /* harmony export (binding) */ __webpack_require__.d(exports, "z", function() { return $EQ; });
  18679. /* harmony export (binding) */ __webpack_require__.d(exports, "y", function() { return $GT; });
  18680. /* harmony export (binding) */ __webpack_require__.d(exports, "w", function() { return $QUESTION; });
  18681. /* harmony export (binding) */ __webpack_require__.d(exports, "_3", function() { return $0; });
  18682. /* harmony export (binding) */ __webpack_require__.d(exports, "_4", function() { return $9; });
  18683. /* harmony export (binding) */ __webpack_require__.d(exports, "J", function() { return $A; });
  18684. /* harmony export (binding) */ __webpack_require__.d(exports, "P", function() { return $E; });
  18685. /* unused harmony export $F */
  18686. /* harmony export (binding) */ __webpack_require__.d(exports, "_2", function() { return $X; });
  18687. /* harmony export (binding) */ __webpack_require__.d(exports, "K", function() { return $Z; });
  18688. /* harmony export (binding) */ __webpack_require__.d(exports, "i", function() { return $LBRACKET; });
  18689. /* harmony export (binding) */ __webpack_require__.d(exports, "F", function() { return $BACKSLASH; });
  18690. /* harmony export (binding) */ __webpack_require__.d(exports, "j", function() { return $RBRACKET; });
  18691. /* harmony export (binding) */ __webpack_require__.d(exports, "v", function() { return $CARET; });
  18692. /* harmony export (binding) */ __webpack_require__.d(exports, "L", function() { return $_; });
  18693. /* harmony export (binding) */ __webpack_require__.d(exports, "H", function() { return $a; });
  18694. /* harmony export (binding) */ __webpack_require__.d(exports, "O", function() { return $e; });
  18695. /* harmony export (binding) */ __webpack_require__.d(exports, "T", function() { return $f; });
  18696. /* harmony export (binding) */ __webpack_require__.d(exports, "R", function() { return $n; });
  18697. /* harmony export (binding) */ __webpack_require__.d(exports, "V", function() { return $r; });
  18698. /* harmony export (binding) */ __webpack_require__.d(exports, "X", function() { return $t; });
  18699. /* harmony export (binding) */ __webpack_require__.d(exports, "G", function() { return $u; });
  18700. /* harmony export (binding) */ __webpack_require__.d(exports, "Z", function() { return $v; });
  18701. /* harmony export (binding) */ __webpack_require__.d(exports, "_1", function() { return $x; });
  18702. /* harmony export (binding) */ __webpack_require__.d(exports, "I", function() { return $z; });
  18703. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return $LBRACE; });
  18704. /* harmony export (binding) */ __webpack_require__.d(exports, "C", function() { return $BAR; });
  18705. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return $RBRACE; });
  18706. /* harmony export (binding) */ __webpack_require__.d(exports, "D", function() { return $NBSP; });
  18707. /* unused harmony export $PIPE */
  18708. /* unused harmony export $TILDA */
  18709. /* unused harmony export $AT */
  18710. /* harmony export (binding) */ __webpack_require__.d(exports, "Q", function() { return $BT; });
  18711. /* harmony export (immutable) */ exports["E"] = isWhitespace;
  18712. /* harmony export (immutable) */ exports["c"] = isDigit;
  18713. /* harmony export (immutable) */ exports["N"] = isAsciiLetter;
  18714. /* harmony export (immutable) */ exports["_5"] = isAsciiHexDigit;
  18715. /**
  18716. * @license
  18717. * Copyright Google Inc. All Rights Reserved.
  18718. *
  18719. * Use of this source code is governed by an MIT-style license that can be
  18720. * found in the LICENSE file at https://angular.io/license
  18721. */
  18722. var $EOF = 0;
  18723. var $TAB = 9;
  18724. var $LF = 10;
  18725. var $VTAB = 11;
  18726. var $FF = 12;
  18727. var $CR = 13;
  18728. var $SPACE = 32;
  18729. var $BANG = 33;
  18730. var $DQ = 34;
  18731. var $HASH = 35;
  18732. var $$ = 36;
  18733. var $PERCENT = 37;
  18734. var $AMPERSAND = 38;
  18735. var $SQ = 39;
  18736. var $LPAREN = 40;
  18737. var $RPAREN = 41;
  18738. var $STAR = 42;
  18739. var $PLUS = 43;
  18740. var $COMMA = 44;
  18741. var $MINUS = 45;
  18742. var $PERIOD = 46;
  18743. var $SLASH = 47;
  18744. var $COLON = 58;
  18745. var $SEMICOLON = 59;
  18746. var $LT = 60;
  18747. var $EQ = 61;
  18748. var $GT = 62;
  18749. var $QUESTION = 63;
  18750. var $0 = 48;
  18751. var $9 = 57;
  18752. var $A = 65;
  18753. var $E = 69;
  18754. var $F = 70;
  18755. var $X = 88;
  18756. var $Z = 90;
  18757. var $LBRACKET = 91;
  18758. var $BACKSLASH = 92;
  18759. var $RBRACKET = 93;
  18760. var $CARET = 94;
  18761. var $_ = 95;
  18762. var $a = 97;
  18763. var $e = 101;
  18764. var $f = 102;
  18765. var $n = 110;
  18766. var $r = 114;
  18767. var $t = 116;
  18768. var $u = 117;
  18769. var $v = 118;
  18770. var $x = 120;
  18771. var $z = 122;
  18772. var $LBRACE = 123;
  18773. var $BAR = 124;
  18774. var $RBRACE = 125;
  18775. var $NBSP = 160;
  18776. var $PIPE = 124;
  18777. var $TILDA = 126;
  18778. var $AT = 64;
  18779. var $BT = 96;
  18780. function isWhitespace(code) {
  18781. return (code >= $TAB && code <= $SPACE) || (code == $NBSP);
  18782. }
  18783. function isDigit(code) {
  18784. return $0 <= code && code <= $9;
  18785. }
  18786. function isAsciiLetter(code) {
  18787. return code >= $a && code <= $z || code >= $A && code <= $Z;
  18788. }
  18789. function isAsciiHexDigit(code) {
  18790. return code >= $a && code <= $f || code >= $A && code <= $F || isDigit(code);
  18791. }
  18792. //# sourceMappingURL=chars.js.map
  18793. /***/ },
  18794. /* 183 */
  18795. /***/ function(module, exports, __webpack_require__) {
  18796. "use strict";
  18797. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  18798. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__compile_metadata__ = __webpack_require__(25);
  18799. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__config__ = __webpack_require__(104);
  18800. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__facade_collection__ = __webpack_require__(13);
  18801. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__facade_lang__ = __webpack_require__(4);
  18802. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ml_parser_ast__ = __webpack_require__(66);
  18803. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ml_parser_html_parser__ = __webpack_require__(132);
  18804. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ml_parser_interpolation_config__ = __webpack_require__(49);
  18805. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__resource_loader__ = __webpack_require__(194);
  18806. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__style_url_resolver__ = __webpack_require__(293);
  18807. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__template_parser_template_preparser__ = __webpack_require__(294);
  18808. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__url_resolver__ = __webpack_require__(106);
  18809. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__util__ = __webpack_require__(29);
  18810. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DirectiveNormalizer; });
  18811. /**
  18812. * @license
  18813. * Copyright Google Inc. All Rights Reserved.
  18814. *
  18815. * Use of this source code is governed by an MIT-style license that can be
  18816. * found in the LICENSE file at https://angular.io/license
  18817. */
  18818. var DirectiveNormalizer = (function () {
  18819. function DirectiveNormalizer(_resourceLoader, _urlResolver, _htmlParser, _config) {
  18820. this._resourceLoader = _resourceLoader;
  18821. this._urlResolver = _urlResolver;
  18822. this._htmlParser = _htmlParser;
  18823. this._config = _config;
  18824. this._resourceLoaderCache = new Map();
  18825. }
  18826. DirectiveNormalizer.prototype.clearCache = function () { this._resourceLoaderCache.clear(); };
  18827. DirectiveNormalizer.prototype.clearCacheFor = function (normalizedDirective) {
  18828. var _this = this;
  18829. if (!normalizedDirective.isComponent) {
  18830. return;
  18831. }
  18832. this._resourceLoaderCache.delete(normalizedDirective.template.templateUrl);
  18833. normalizedDirective.template.externalStylesheets.forEach(function (stylesheet) { _this._resourceLoaderCache.delete(stylesheet.moduleUrl); });
  18834. };
  18835. DirectiveNormalizer.prototype._fetch = function (url) {
  18836. var result = this._resourceLoaderCache.get(url);
  18837. if (!result) {
  18838. result = this._resourceLoader.get(url);
  18839. this._resourceLoaderCache.set(url, result);
  18840. }
  18841. return result;
  18842. };
  18843. DirectiveNormalizer.prototype.normalizeDirective = function (directive) {
  18844. var _this = this;
  18845. if (!directive.isComponent) {
  18846. // For non components there is nothing to be normalized yet.
  18847. return new __WEBPACK_IMPORTED_MODULE_12__util__["g" /* SyncAsyncResult */](directive, Promise.resolve(directive));
  18848. }
  18849. var normalizedTemplateSync = null;
  18850. var normalizedTemplateAsync;
  18851. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(directive.template.template)) {
  18852. normalizedTemplateSync = this.normalizeTemplateSync(directive.type, directive.template);
  18853. normalizedTemplateAsync = Promise.resolve(normalizedTemplateSync);
  18854. }
  18855. else if (directive.template.templateUrl) {
  18856. normalizedTemplateAsync = this.normalizeTemplateAsync(directive.type, directive.template);
  18857. }
  18858. else {
  18859. throw new Error("No template specified for component " + directive.type.name);
  18860. }
  18861. if (normalizedTemplateSync && normalizedTemplateSync.styleUrls.length === 0) {
  18862. // sync case
  18863. var normalizedDirective = _cloneDirectiveWithTemplate(directive, normalizedTemplateSync);
  18864. return new __WEBPACK_IMPORTED_MODULE_12__util__["g" /* SyncAsyncResult */](normalizedDirective, Promise.resolve(normalizedDirective));
  18865. }
  18866. else {
  18867. // async case
  18868. return new __WEBPACK_IMPORTED_MODULE_12__util__["g" /* SyncAsyncResult */](null, normalizedTemplateAsync
  18869. .then(function (normalizedTemplate) { return _this.normalizeExternalStylesheets(normalizedTemplate); })
  18870. .then(function (normalizedTemplate) {
  18871. return _cloneDirectiveWithTemplate(directive, normalizedTemplate);
  18872. }));
  18873. }
  18874. };
  18875. DirectiveNormalizer.prototype.normalizeTemplateSync = function (directiveType, template) {
  18876. return this.normalizeLoadedTemplate(directiveType, template, template.template, directiveType.moduleUrl);
  18877. };
  18878. DirectiveNormalizer.prototype.normalizeTemplateAsync = function (directiveType, template) {
  18879. var _this = this;
  18880. var templateUrl = this._urlResolver.resolve(directiveType.moduleUrl, template.templateUrl);
  18881. return this._fetch(templateUrl)
  18882. .then(function (value) { return _this.normalizeLoadedTemplate(directiveType, template, value, templateUrl); });
  18883. };
  18884. DirectiveNormalizer.prototype.normalizeLoadedTemplate = function (directiveType, templateMeta, template, templateAbsUrl) {
  18885. var interpolationConfig = __WEBPACK_IMPORTED_MODULE_7__ml_parser_interpolation_config__["b" /* InterpolationConfig */].fromArray(templateMeta.interpolation);
  18886. var rootNodesAndErrors = this._htmlParser.parse(template, directiveType.name, false, interpolationConfig);
  18887. if (rootNodesAndErrors.errors.length > 0) {
  18888. var errorString = rootNodesAndErrors.errors.join('\n');
  18889. throw new Error("Template parse errors:\n" + errorString);
  18890. }
  18891. var templateMetadataStyles = this.normalizeStylesheet(new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["o" /* CompileStylesheetMetadata */]({
  18892. styles: templateMeta.styles,
  18893. styleUrls: templateMeta.styleUrls,
  18894. moduleUrl: directiveType.moduleUrl
  18895. }));
  18896. var visitor = new TemplatePreparseVisitor();
  18897. __WEBPACK_IMPORTED_MODULE_5__ml_parser_ast__["g" /* visitAll */](visitor, rootNodesAndErrors.rootNodes);
  18898. var templateStyles = this.normalizeStylesheet(new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["o" /* CompileStylesheetMetadata */]({ styles: visitor.styles, styleUrls: visitor.styleUrls, moduleUrl: templateAbsUrl }));
  18899. var encapsulation = templateMeta.encapsulation;
  18900. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["b" /* isBlank */])(encapsulation)) {
  18901. encapsulation = this._config.defaultEncapsulation;
  18902. }
  18903. var styles = templateMetadataStyles.styles.concat(templateStyles.styles);
  18904. var styleUrls = templateMetadataStyles.styleUrls.concat(templateStyles.styleUrls);
  18905. if (encapsulation === __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"].Emulated && styles.length === 0 &&
  18906. styleUrls.length === 0) {
  18907. encapsulation = __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"].None;
  18908. }
  18909. return new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["p" /* CompileTemplateMetadata */]({
  18910. encapsulation: encapsulation,
  18911. template: template,
  18912. templateUrl: templateAbsUrl, styles: styles, styleUrls: styleUrls,
  18913. externalStylesheets: templateMeta.externalStylesheets,
  18914. ngContentSelectors: visitor.ngContentSelectors,
  18915. animations: templateMeta.animations,
  18916. interpolation: templateMeta.interpolation,
  18917. });
  18918. };
  18919. DirectiveNormalizer.prototype.normalizeExternalStylesheets = function (templateMeta) {
  18920. return this._loadMissingExternalStylesheets(templateMeta.styleUrls)
  18921. .then(function (externalStylesheets) { return new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["p" /* CompileTemplateMetadata */]({
  18922. encapsulation: templateMeta.encapsulation,
  18923. template: templateMeta.template,
  18924. templateUrl: templateMeta.templateUrl,
  18925. styles: templateMeta.styles,
  18926. styleUrls: templateMeta.styleUrls,
  18927. externalStylesheets: externalStylesheets,
  18928. ngContentSelectors: templateMeta.ngContentSelectors,
  18929. animations: templateMeta.animations,
  18930. interpolation: templateMeta.interpolation
  18931. }); });
  18932. };
  18933. DirectiveNormalizer.prototype._loadMissingExternalStylesheets = function (styleUrls, loadedStylesheets) {
  18934. var _this = this;
  18935. if (loadedStylesheets === void 0) { loadedStylesheets = new Map(); }
  18936. return Promise
  18937. .all(styleUrls.filter(function (styleUrl) { return !loadedStylesheets.has(styleUrl); })
  18938. .map(function (styleUrl) { return _this._fetch(styleUrl).then(function (loadedStyle) {
  18939. var stylesheet = _this.normalizeStylesheet(new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["o" /* CompileStylesheetMetadata */]({ styles: [loadedStyle], moduleUrl: styleUrl }));
  18940. loadedStylesheets.set(styleUrl, stylesheet);
  18941. return _this._loadMissingExternalStylesheets(stylesheet.styleUrls, loadedStylesheets);
  18942. }); }))
  18943. .then(function (_) { return __WEBPACK_IMPORTED_MODULE_3__facade_collection__["c" /* MapWrapper */].values(loadedStylesheets); });
  18944. };
  18945. DirectiveNormalizer.prototype.normalizeStylesheet = function (stylesheet) {
  18946. var _this = this;
  18947. var allStyleUrls = stylesheet.styleUrls.filter(__WEBPACK_IMPORTED_MODULE_9__style_url_resolver__["a" /* isStyleUrlResolvable */])
  18948. .map(function (url) { return _this._urlResolver.resolve(stylesheet.moduleUrl, url); });
  18949. var allStyles = stylesheet.styles.map(function (style) {
  18950. var styleWithImports = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__style_url_resolver__["b" /* extractStyleUrls */])(_this._urlResolver, stylesheet.moduleUrl, style);
  18951. allStyleUrls.push.apply(allStyleUrls, styleWithImports.styleUrls);
  18952. return styleWithImports.style;
  18953. });
  18954. return new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["o" /* CompileStylesheetMetadata */]({ styles: allStyles, styleUrls: allStyleUrls, moduleUrl: stylesheet.moduleUrl });
  18955. };
  18956. DirectiveNormalizer.decorators = [
  18957. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  18958. ];
  18959. /** @nocollapse */
  18960. DirectiveNormalizer.ctorParameters = [
  18961. { type: __WEBPACK_IMPORTED_MODULE_8__resource_loader__["a" /* ResourceLoader */], },
  18962. { type: __WEBPACK_IMPORTED_MODULE_11__url_resolver__["a" /* UrlResolver */], },
  18963. { type: __WEBPACK_IMPORTED_MODULE_6__ml_parser_html_parser__["b" /* HtmlParser */], },
  18964. { type: __WEBPACK_IMPORTED_MODULE_2__config__["a" /* CompilerConfig */], },
  18965. ];
  18966. return DirectiveNormalizer;
  18967. }());
  18968. var TemplatePreparseVisitor = (function () {
  18969. function TemplatePreparseVisitor() {
  18970. this.ngContentSelectors = [];
  18971. this.styles = [];
  18972. this.styleUrls = [];
  18973. this.ngNonBindableStackCount = 0;
  18974. }
  18975. TemplatePreparseVisitor.prototype.visitElement = function (ast, context) {
  18976. var preparsedElement = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_10__template_parser_template_preparser__["a" /* preparseElement */])(ast);
  18977. switch (preparsedElement.type) {
  18978. case __WEBPACK_IMPORTED_MODULE_10__template_parser_template_preparser__["b" /* PreparsedElementType */].NG_CONTENT:
  18979. if (this.ngNonBindableStackCount === 0) {
  18980. this.ngContentSelectors.push(preparsedElement.selectAttr);
  18981. }
  18982. break;
  18983. case __WEBPACK_IMPORTED_MODULE_10__template_parser_template_preparser__["b" /* PreparsedElementType */].STYLE:
  18984. var textContent = '';
  18985. ast.children.forEach(function (child) {
  18986. if (child instanceof __WEBPACK_IMPORTED_MODULE_5__ml_parser_ast__["d" /* Text */]) {
  18987. textContent += child.value;
  18988. }
  18989. });
  18990. this.styles.push(textContent);
  18991. break;
  18992. case __WEBPACK_IMPORTED_MODULE_10__template_parser_template_preparser__["b" /* PreparsedElementType */].STYLESHEET:
  18993. this.styleUrls.push(preparsedElement.hrefAttr);
  18994. break;
  18995. default:
  18996. break;
  18997. }
  18998. if (preparsedElement.nonBindable) {
  18999. this.ngNonBindableStackCount++;
  19000. }
  19001. __WEBPACK_IMPORTED_MODULE_5__ml_parser_ast__["g" /* visitAll */](this, ast.children);
  19002. if (preparsedElement.nonBindable) {
  19003. this.ngNonBindableStackCount--;
  19004. }
  19005. return null;
  19006. };
  19007. TemplatePreparseVisitor.prototype.visitComment = function (ast, context) { return null; };
  19008. TemplatePreparseVisitor.prototype.visitAttribute = function (ast, context) { return null; };
  19009. TemplatePreparseVisitor.prototype.visitText = function (ast, context) { return null; };
  19010. TemplatePreparseVisitor.prototype.visitExpansion = function (ast, context) { return null; };
  19011. TemplatePreparseVisitor.prototype.visitExpansionCase = function (ast, context) { return null; };
  19012. return TemplatePreparseVisitor;
  19013. }());
  19014. function _cloneDirectiveWithTemplate(directive, template) {
  19015. return new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["q" /* CompileDirectiveMetadata */]({
  19016. type: directive.type,
  19017. isComponent: directive.isComponent,
  19018. selector: directive.selector,
  19019. exportAs: directive.exportAs,
  19020. changeDetection: directive.changeDetection,
  19021. inputs: directive.inputs,
  19022. outputs: directive.outputs,
  19023. hostListeners: directive.hostListeners,
  19024. hostProperties: directive.hostProperties,
  19025. hostAttributes: directive.hostAttributes,
  19026. providers: directive.providers,
  19027. viewProviders: directive.viewProviders,
  19028. queries: directive.queries,
  19029. viewQueries: directive.viewQueries,
  19030. entryComponents: directive.entryComponents, template: template,
  19031. });
  19032. }
  19033. //# sourceMappingURL=directive_normalizer.js.map
  19034. /***/ },
  19035. /* 184 */
  19036. /***/ function(module, exports, __webpack_require__) {
  19037. "use strict";
  19038. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  19039. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(13);
  19040. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(4);
  19041. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__private_import_core__ = __webpack_require__(20);
  19042. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util__ = __webpack_require__(29);
  19043. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DirectiveResolver; });
  19044. /**
  19045. * @license
  19046. * Copyright Google Inc. All Rights Reserved.
  19047. *
  19048. * Use of this source code is governed by an MIT-style license that can be
  19049. * found in the LICENSE file at https://angular.io/license
  19050. */
  19051. function _isDirectiveMetadata(type) {
  19052. return type instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"];
  19053. }
  19054. /*
  19055. * Resolve a `Type` for {@link Directive}.
  19056. *
  19057. * This interface can be overridden by the application developer to create custom behavior.
  19058. *
  19059. * See {@link Compiler}
  19060. */
  19061. var DirectiveResolver = (function () {
  19062. function DirectiveResolver(_reflector) {
  19063. if (_reflector === void 0) { _reflector = __WEBPACK_IMPORTED_MODULE_3__private_import_core__["Q" /* reflector */]; }
  19064. this._reflector = _reflector;
  19065. }
  19066. /**
  19067. * Return {@link Directive} for a given `Type`.
  19068. */
  19069. DirectiveResolver.prototype.resolve = function (type, throwIfNotFound) {
  19070. if (throwIfNotFound === void 0) { throwIfNotFound = true; }
  19071. var typeMetadata = this._reflector.annotations(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["resolveForwardRef"])(type));
  19072. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(typeMetadata)) {
  19073. var metadata = typeMetadata.find(_isDirectiveMetadata);
  19074. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(metadata)) {
  19075. var propertyMetadata = this._reflector.propMetadata(type);
  19076. return this._mergeWithPropertyMetadata(metadata, propertyMetadata, type);
  19077. }
  19078. }
  19079. if (throwIfNotFound) {
  19080. throw new Error("No Directive annotation found on " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["q" /* stringify */])(type));
  19081. }
  19082. return null;
  19083. };
  19084. DirectiveResolver.prototype._mergeWithPropertyMetadata = function (dm, propertyMetadata, directiveType) {
  19085. var inputs = [];
  19086. var outputs = [];
  19087. var host = {};
  19088. var queries = {};
  19089. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* StringMapWrapper */].forEach(propertyMetadata, function (metadata, propName) {
  19090. metadata.forEach(function (a) {
  19091. if (a instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"]) {
  19092. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(a.bindingPropertyName)) {
  19093. inputs.push(propName + ": " + a.bindingPropertyName);
  19094. }
  19095. else {
  19096. inputs.push(propName);
  19097. }
  19098. }
  19099. else if (a instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Output"]) {
  19100. var output = a;
  19101. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(output.bindingPropertyName)) {
  19102. outputs.push(propName + ": " + output.bindingPropertyName);
  19103. }
  19104. else {
  19105. outputs.push(propName);
  19106. }
  19107. }
  19108. else if (a instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["HostBinding"]) {
  19109. var hostBinding = a;
  19110. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(hostBinding.hostPropertyName)) {
  19111. host[("[" + hostBinding.hostPropertyName + "]")] = propName;
  19112. }
  19113. else {
  19114. host[("[" + propName + "]")] = propName;
  19115. }
  19116. }
  19117. else if (a instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["HostListener"]) {
  19118. var hostListener = a;
  19119. var args = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(hostListener.args) ? hostListener.args.join(', ') : '';
  19120. host[("(" + hostListener.eventName + ")")] = propName + "(" + args + ")";
  19121. }
  19122. else if (a instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Query"]) {
  19123. queries[propName] = a;
  19124. }
  19125. });
  19126. });
  19127. return this._merge(dm, inputs, outputs, host, queries, directiveType);
  19128. };
  19129. DirectiveResolver.prototype._extractPublicName = function (def) { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__util__["b" /* splitAtColon */])(def, [null, def])[1].trim(); };
  19130. DirectiveResolver.prototype._merge = function (dm, inputs, outputs, host, queries, directiveType) {
  19131. var _this = this;
  19132. var mergedInputs;
  19133. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(dm.inputs)) {
  19134. var inputNames_1 = dm.inputs.map(function (def) { return _this._extractPublicName(def); });
  19135. inputs.forEach(function (inputDef) {
  19136. var publicName = _this._extractPublicName(inputDef);
  19137. if (inputNames_1.indexOf(publicName) > -1) {
  19138. throw new Error("Input '" + publicName + "' defined multiple times in '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["q" /* stringify */])(directiveType) + "'");
  19139. }
  19140. });
  19141. mergedInputs = dm.inputs.concat(inputs);
  19142. }
  19143. else {
  19144. mergedInputs = inputs;
  19145. }
  19146. var mergedOutputs;
  19147. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(dm.outputs)) {
  19148. var outputNames_1 = dm.outputs.map(function (def) { return _this._extractPublicName(def); });
  19149. outputs.forEach(function (outputDef) {
  19150. var publicName = _this._extractPublicName(outputDef);
  19151. if (outputNames_1.indexOf(publicName) > -1) {
  19152. throw new Error("Output event '" + publicName + "' defined multiple times in '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["q" /* stringify */])(directiveType) + "'");
  19153. }
  19154. });
  19155. mergedOutputs = dm.outputs.concat(outputs);
  19156. }
  19157. else {
  19158. mergedOutputs = outputs;
  19159. }
  19160. var mergedHost = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(dm.host) ? __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* StringMapWrapper */].merge(dm.host, host) : host;
  19161. var mergedQueries = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(dm.queries) ? __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* StringMapWrapper */].merge(dm.queries, queries) : queries;
  19162. if (dm instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Component"]) {
  19163. return new __WEBPACK_IMPORTED_MODULE_0__angular_core__["Component"]({
  19164. selector: dm.selector,
  19165. inputs: mergedInputs,
  19166. outputs: mergedOutputs,
  19167. host: mergedHost,
  19168. exportAs: dm.exportAs,
  19169. moduleId: dm.moduleId,
  19170. queries: mergedQueries,
  19171. changeDetection: dm.changeDetection,
  19172. providers: dm.providers,
  19173. viewProviders: dm.viewProviders,
  19174. entryComponents: dm.entryComponents,
  19175. template: dm.template,
  19176. templateUrl: dm.templateUrl,
  19177. styles: dm.styles,
  19178. styleUrls: dm.styleUrls,
  19179. encapsulation: dm.encapsulation,
  19180. animations: dm.animations,
  19181. interpolation: dm.interpolation
  19182. });
  19183. }
  19184. else {
  19185. return new __WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"]({
  19186. selector: dm.selector,
  19187. inputs: mergedInputs,
  19188. outputs: mergedOutputs,
  19189. host: mergedHost,
  19190. exportAs: dm.exportAs,
  19191. queries: mergedQueries,
  19192. providers: dm.providers
  19193. });
  19194. }
  19195. };
  19196. DirectiveResolver.decorators = [
  19197. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  19198. ];
  19199. /** @nocollapse */
  19200. DirectiveResolver.ctorParameters = [
  19201. { type: __WEBPACK_IMPORTED_MODULE_3__private_import_core__["Z" /* ReflectorReader */], },
  19202. ];
  19203. return DirectiveResolver;
  19204. }());
  19205. //# sourceMappingURL=directive_resolver.js.map
  19206. /***/ },
  19207. /* 185 */
  19208. /***/ function(module, exports, __webpack_require__) {
  19209. "use strict";
  19210. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(4);
  19211. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return ParserError; });
  19212. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return ParseSpan; });
  19213. /* unused harmony export AST */
  19214. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return Quote; });
  19215. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return EmptyExpr; });
  19216. /* harmony export (binding) */ __webpack_require__.d(exports, "p", function() { return ImplicitReceiver; });
  19217. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return Chain; });
  19218. /* harmony export (binding) */ __webpack_require__.d(exports, "j", function() { return Conditional; });
  19219. /* harmony export (binding) */ __webpack_require__.d(exports, "w", function() { return PropertyRead; });
  19220. /* harmony export (binding) */ __webpack_require__.d(exports, "v", function() { return PropertyWrite; });
  19221. /* harmony export (binding) */ __webpack_require__.d(exports, "u", function() { return SafePropertyRead; });
  19222. /* harmony export (binding) */ __webpack_require__.d(exports, "n", function() { return KeyedRead; });
  19223. /* harmony export (binding) */ __webpack_require__.d(exports, "m", function() { return KeyedWrite; });
  19224. /* harmony export (binding) */ __webpack_require__.d(exports, "i", function() { return BindingPipe; });
  19225. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return LiteralPrimitive; });
  19226. /* harmony export (binding) */ __webpack_require__.d(exports, "q", function() { return LiteralArray; });
  19227. /* harmony export (binding) */ __webpack_require__.d(exports, "r", function() { return LiteralMap; });
  19228. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return Interpolation; });
  19229. /* harmony export (binding) */ __webpack_require__.d(exports, "k", function() { return Binary; });
  19230. /* harmony export (binding) */ __webpack_require__.d(exports, "l", function() { return PrefixNot; });
  19231. /* harmony export (binding) */ __webpack_require__.d(exports, "t", function() { return MethodCall; });
  19232. /* harmony export (binding) */ __webpack_require__.d(exports, "s", function() { return SafeMethodCall; });
  19233. /* harmony export (binding) */ __webpack_require__.d(exports, "o", function() { return FunctionCall; });
  19234. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ASTWithSource; });
  19235. /* harmony export (binding) */ __webpack_require__.d(exports, "x", function() { return TemplateBinding; });
  19236. /* harmony export (binding) */ __webpack_require__.d(exports, "y", function() { return RecursiveAstVisitor; });
  19237. /* unused harmony export AstTransformer */
  19238. /**
  19239. * @license
  19240. * Copyright Google Inc. All Rights Reserved.
  19241. *
  19242. * Use of this source code is governed by an MIT-style license that can be
  19243. * found in the LICENSE file at https://angular.io/license
  19244. */
  19245. var __extends = (this && this.__extends) || function (d, b) {
  19246. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  19247. function __() { this.constructor = d; }
  19248. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  19249. };
  19250. var ParserError = (function () {
  19251. function ParserError(message, input, errLocation, ctxLocation) {
  19252. this.input = input;
  19253. this.errLocation = errLocation;
  19254. this.ctxLocation = ctxLocation;
  19255. this.message = "Parser Error: " + message + " " + errLocation + " [" + input + "] in " + ctxLocation;
  19256. }
  19257. return ParserError;
  19258. }());
  19259. var ParseSpan = (function () {
  19260. function ParseSpan(start, end) {
  19261. this.start = start;
  19262. this.end = end;
  19263. }
  19264. return ParseSpan;
  19265. }());
  19266. var AST = (function () {
  19267. function AST(span) {
  19268. this.span = span;
  19269. }
  19270. AST.prototype.visit = function (visitor, context) {
  19271. if (context === void 0) { context = null; }
  19272. return null;
  19273. };
  19274. AST.prototype.toString = function () { return 'AST'; };
  19275. return AST;
  19276. }());
  19277. /**
  19278. * Represents a quoted expression of the form:
  19279. *
  19280. * quote = prefix `:` uninterpretedExpression
  19281. * prefix = identifier
  19282. * uninterpretedExpression = arbitrary string
  19283. *
  19284. * A quoted expression is meant to be pre-processed by an AST transformer that
  19285. * converts it into another AST that no longer contains quoted expressions.
  19286. * It is meant to allow third-party developers to extend Angular template
  19287. * expression language. The `uninterpretedExpression` part of the quote is
  19288. * therefore not interpreted by the Angular's own expression parser.
  19289. */
  19290. var Quote = (function (_super) {
  19291. __extends(Quote, _super);
  19292. function Quote(span, prefix, uninterpretedExpression, location) {
  19293. _super.call(this, span);
  19294. this.prefix = prefix;
  19295. this.uninterpretedExpression = uninterpretedExpression;
  19296. this.location = location;
  19297. }
  19298. Quote.prototype.visit = function (visitor, context) {
  19299. if (context === void 0) { context = null; }
  19300. return visitor.visitQuote(this, context);
  19301. };
  19302. Quote.prototype.toString = function () { return 'Quote'; };
  19303. return Quote;
  19304. }(AST));
  19305. var EmptyExpr = (function (_super) {
  19306. __extends(EmptyExpr, _super);
  19307. function EmptyExpr() {
  19308. _super.apply(this, arguments);
  19309. }
  19310. EmptyExpr.prototype.visit = function (visitor, context) {
  19311. if (context === void 0) { context = null; }
  19312. // do nothing
  19313. };
  19314. return EmptyExpr;
  19315. }(AST));
  19316. var ImplicitReceiver = (function (_super) {
  19317. __extends(ImplicitReceiver, _super);
  19318. function ImplicitReceiver() {
  19319. _super.apply(this, arguments);
  19320. }
  19321. ImplicitReceiver.prototype.visit = function (visitor, context) {
  19322. if (context === void 0) { context = null; }
  19323. return visitor.visitImplicitReceiver(this, context);
  19324. };
  19325. return ImplicitReceiver;
  19326. }(AST));
  19327. /**
  19328. * Multiple expressions separated by a semicolon.
  19329. */
  19330. var Chain = (function (_super) {
  19331. __extends(Chain, _super);
  19332. function Chain(span, expressions) {
  19333. _super.call(this, span);
  19334. this.expressions = expressions;
  19335. }
  19336. Chain.prototype.visit = function (visitor, context) {
  19337. if (context === void 0) { context = null; }
  19338. return visitor.visitChain(this, context);
  19339. };
  19340. return Chain;
  19341. }(AST));
  19342. var Conditional = (function (_super) {
  19343. __extends(Conditional, _super);
  19344. function Conditional(span, condition, trueExp, falseExp) {
  19345. _super.call(this, span);
  19346. this.condition = condition;
  19347. this.trueExp = trueExp;
  19348. this.falseExp = falseExp;
  19349. }
  19350. Conditional.prototype.visit = function (visitor, context) {
  19351. if (context === void 0) { context = null; }
  19352. return visitor.visitConditional(this, context);
  19353. };
  19354. return Conditional;
  19355. }(AST));
  19356. var PropertyRead = (function (_super) {
  19357. __extends(PropertyRead, _super);
  19358. function PropertyRead(span, receiver, name) {
  19359. _super.call(this, span);
  19360. this.receiver = receiver;
  19361. this.name = name;
  19362. }
  19363. PropertyRead.prototype.visit = function (visitor, context) {
  19364. if (context === void 0) { context = null; }
  19365. return visitor.visitPropertyRead(this, context);
  19366. };
  19367. return PropertyRead;
  19368. }(AST));
  19369. var PropertyWrite = (function (_super) {
  19370. __extends(PropertyWrite, _super);
  19371. function PropertyWrite(span, receiver, name, value) {
  19372. _super.call(this, span);
  19373. this.receiver = receiver;
  19374. this.name = name;
  19375. this.value = value;
  19376. }
  19377. PropertyWrite.prototype.visit = function (visitor, context) {
  19378. if (context === void 0) { context = null; }
  19379. return visitor.visitPropertyWrite(this, context);
  19380. };
  19381. return PropertyWrite;
  19382. }(AST));
  19383. var SafePropertyRead = (function (_super) {
  19384. __extends(SafePropertyRead, _super);
  19385. function SafePropertyRead(span, receiver, name) {
  19386. _super.call(this, span);
  19387. this.receiver = receiver;
  19388. this.name = name;
  19389. }
  19390. SafePropertyRead.prototype.visit = function (visitor, context) {
  19391. if (context === void 0) { context = null; }
  19392. return visitor.visitSafePropertyRead(this, context);
  19393. };
  19394. return SafePropertyRead;
  19395. }(AST));
  19396. var KeyedRead = (function (_super) {
  19397. __extends(KeyedRead, _super);
  19398. function KeyedRead(span, obj, key) {
  19399. _super.call(this, span);
  19400. this.obj = obj;
  19401. this.key = key;
  19402. }
  19403. KeyedRead.prototype.visit = function (visitor, context) {
  19404. if (context === void 0) { context = null; }
  19405. return visitor.visitKeyedRead(this, context);
  19406. };
  19407. return KeyedRead;
  19408. }(AST));
  19409. var KeyedWrite = (function (_super) {
  19410. __extends(KeyedWrite, _super);
  19411. function KeyedWrite(span, obj, key, value) {
  19412. _super.call(this, span);
  19413. this.obj = obj;
  19414. this.key = key;
  19415. this.value = value;
  19416. }
  19417. KeyedWrite.prototype.visit = function (visitor, context) {
  19418. if (context === void 0) { context = null; }
  19419. return visitor.visitKeyedWrite(this, context);
  19420. };
  19421. return KeyedWrite;
  19422. }(AST));
  19423. var BindingPipe = (function (_super) {
  19424. __extends(BindingPipe, _super);
  19425. function BindingPipe(span, exp, name, args) {
  19426. _super.call(this, span);
  19427. this.exp = exp;
  19428. this.name = name;
  19429. this.args = args;
  19430. }
  19431. BindingPipe.prototype.visit = function (visitor, context) {
  19432. if (context === void 0) { context = null; }
  19433. return visitor.visitPipe(this, context);
  19434. };
  19435. return BindingPipe;
  19436. }(AST));
  19437. var LiteralPrimitive = (function (_super) {
  19438. __extends(LiteralPrimitive, _super);
  19439. function LiteralPrimitive(span, value) {
  19440. _super.call(this, span);
  19441. this.value = value;
  19442. }
  19443. LiteralPrimitive.prototype.visit = function (visitor, context) {
  19444. if (context === void 0) { context = null; }
  19445. return visitor.visitLiteralPrimitive(this, context);
  19446. };
  19447. return LiteralPrimitive;
  19448. }(AST));
  19449. var LiteralArray = (function (_super) {
  19450. __extends(LiteralArray, _super);
  19451. function LiteralArray(span, expressions) {
  19452. _super.call(this, span);
  19453. this.expressions = expressions;
  19454. }
  19455. LiteralArray.prototype.visit = function (visitor, context) {
  19456. if (context === void 0) { context = null; }
  19457. return visitor.visitLiteralArray(this, context);
  19458. };
  19459. return LiteralArray;
  19460. }(AST));
  19461. var LiteralMap = (function (_super) {
  19462. __extends(LiteralMap, _super);
  19463. function LiteralMap(span, keys, values) {
  19464. _super.call(this, span);
  19465. this.keys = keys;
  19466. this.values = values;
  19467. }
  19468. LiteralMap.prototype.visit = function (visitor, context) {
  19469. if (context === void 0) { context = null; }
  19470. return visitor.visitLiteralMap(this, context);
  19471. };
  19472. return LiteralMap;
  19473. }(AST));
  19474. var Interpolation = (function (_super) {
  19475. __extends(Interpolation, _super);
  19476. function Interpolation(span, strings, expressions) {
  19477. _super.call(this, span);
  19478. this.strings = strings;
  19479. this.expressions = expressions;
  19480. }
  19481. Interpolation.prototype.visit = function (visitor, context) {
  19482. if (context === void 0) { context = null; }
  19483. return visitor.visitInterpolation(this, context);
  19484. };
  19485. return Interpolation;
  19486. }(AST));
  19487. var Binary = (function (_super) {
  19488. __extends(Binary, _super);
  19489. function Binary(span, operation, left, right) {
  19490. _super.call(this, span);
  19491. this.operation = operation;
  19492. this.left = left;
  19493. this.right = right;
  19494. }
  19495. Binary.prototype.visit = function (visitor, context) {
  19496. if (context === void 0) { context = null; }
  19497. return visitor.visitBinary(this, context);
  19498. };
  19499. return Binary;
  19500. }(AST));
  19501. var PrefixNot = (function (_super) {
  19502. __extends(PrefixNot, _super);
  19503. function PrefixNot(span, expression) {
  19504. _super.call(this, span);
  19505. this.expression = expression;
  19506. }
  19507. PrefixNot.prototype.visit = function (visitor, context) {
  19508. if (context === void 0) { context = null; }
  19509. return visitor.visitPrefixNot(this, context);
  19510. };
  19511. return PrefixNot;
  19512. }(AST));
  19513. var MethodCall = (function (_super) {
  19514. __extends(MethodCall, _super);
  19515. function MethodCall(span, receiver, name, args) {
  19516. _super.call(this, span);
  19517. this.receiver = receiver;
  19518. this.name = name;
  19519. this.args = args;
  19520. }
  19521. MethodCall.prototype.visit = function (visitor, context) {
  19522. if (context === void 0) { context = null; }
  19523. return visitor.visitMethodCall(this, context);
  19524. };
  19525. return MethodCall;
  19526. }(AST));
  19527. var SafeMethodCall = (function (_super) {
  19528. __extends(SafeMethodCall, _super);
  19529. function SafeMethodCall(span, receiver, name, args) {
  19530. _super.call(this, span);
  19531. this.receiver = receiver;
  19532. this.name = name;
  19533. this.args = args;
  19534. }
  19535. SafeMethodCall.prototype.visit = function (visitor, context) {
  19536. if (context === void 0) { context = null; }
  19537. return visitor.visitSafeMethodCall(this, context);
  19538. };
  19539. return SafeMethodCall;
  19540. }(AST));
  19541. var FunctionCall = (function (_super) {
  19542. __extends(FunctionCall, _super);
  19543. function FunctionCall(span, target, args) {
  19544. _super.call(this, span);
  19545. this.target = target;
  19546. this.args = args;
  19547. }
  19548. FunctionCall.prototype.visit = function (visitor, context) {
  19549. if (context === void 0) { context = null; }
  19550. return visitor.visitFunctionCall(this, context);
  19551. };
  19552. return FunctionCall;
  19553. }(AST));
  19554. var ASTWithSource = (function (_super) {
  19555. __extends(ASTWithSource, _super);
  19556. function ASTWithSource(ast, source, location, errors) {
  19557. _super.call(this, new ParseSpan(0, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(source) ? 0 : source.length));
  19558. this.ast = ast;
  19559. this.source = source;
  19560. this.location = location;
  19561. this.errors = errors;
  19562. }
  19563. ASTWithSource.prototype.visit = function (visitor, context) {
  19564. if (context === void 0) { context = null; }
  19565. return this.ast.visit(visitor, context);
  19566. };
  19567. ASTWithSource.prototype.toString = function () { return this.source + " in " + this.location; };
  19568. return ASTWithSource;
  19569. }(AST));
  19570. var TemplateBinding = (function () {
  19571. function TemplateBinding(key, keyIsVar, name, expression) {
  19572. this.key = key;
  19573. this.keyIsVar = keyIsVar;
  19574. this.name = name;
  19575. this.expression = expression;
  19576. }
  19577. return TemplateBinding;
  19578. }());
  19579. var RecursiveAstVisitor = (function () {
  19580. function RecursiveAstVisitor() {
  19581. }
  19582. RecursiveAstVisitor.prototype.visitBinary = function (ast, context) {
  19583. ast.left.visit(this);
  19584. ast.right.visit(this);
  19585. return null;
  19586. };
  19587. RecursiveAstVisitor.prototype.visitChain = function (ast, context) { return this.visitAll(ast.expressions, context); };
  19588. RecursiveAstVisitor.prototype.visitConditional = function (ast, context) {
  19589. ast.condition.visit(this);
  19590. ast.trueExp.visit(this);
  19591. ast.falseExp.visit(this);
  19592. return null;
  19593. };
  19594. RecursiveAstVisitor.prototype.visitPipe = function (ast, context) {
  19595. ast.exp.visit(this);
  19596. this.visitAll(ast.args, context);
  19597. return null;
  19598. };
  19599. RecursiveAstVisitor.prototype.visitFunctionCall = function (ast, context) {
  19600. ast.target.visit(this);
  19601. this.visitAll(ast.args, context);
  19602. return null;
  19603. };
  19604. RecursiveAstVisitor.prototype.visitImplicitReceiver = function (ast, context) { return null; };
  19605. RecursiveAstVisitor.prototype.visitInterpolation = function (ast, context) {
  19606. return this.visitAll(ast.expressions, context);
  19607. };
  19608. RecursiveAstVisitor.prototype.visitKeyedRead = function (ast, context) {
  19609. ast.obj.visit(this);
  19610. ast.key.visit(this);
  19611. return null;
  19612. };
  19613. RecursiveAstVisitor.prototype.visitKeyedWrite = function (ast, context) {
  19614. ast.obj.visit(this);
  19615. ast.key.visit(this);
  19616. ast.value.visit(this);
  19617. return null;
  19618. };
  19619. RecursiveAstVisitor.prototype.visitLiteralArray = function (ast, context) {
  19620. return this.visitAll(ast.expressions, context);
  19621. };
  19622. RecursiveAstVisitor.prototype.visitLiteralMap = function (ast, context) { return this.visitAll(ast.values, context); };
  19623. RecursiveAstVisitor.prototype.visitLiteralPrimitive = function (ast, context) { return null; };
  19624. RecursiveAstVisitor.prototype.visitMethodCall = function (ast, context) {
  19625. ast.receiver.visit(this);
  19626. return this.visitAll(ast.args, context);
  19627. };
  19628. RecursiveAstVisitor.prototype.visitPrefixNot = function (ast, context) {
  19629. ast.expression.visit(this);
  19630. return null;
  19631. };
  19632. RecursiveAstVisitor.prototype.visitPropertyRead = function (ast, context) {
  19633. ast.receiver.visit(this);
  19634. return null;
  19635. };
  19636. RecursiveAstVisitor.prototype.visitPropertyWrite = function (ast, context) {
  19637. ast.receiver.visit(this);
  19638. ast.value.visit(this);
  19639. return null;
  19640. };
  19641. RecursiveAstVisitor.prototype.visitSafePropertyRead = function (ast, context) {
  19642. ast.receiver.visit(this);
  19643. return null;
  19644. };
  19645. RecursiveAstVisitor.prototype.visitSafeMethodCall = function (ast, context) {
  19646. ast.receiver.visit(this);
  19647. return this.visitAll(ast.args, context);
  19648. };
  19649. RecursiveAstVisitor.prototype.visitAll = function (asts, context) {
  19650. var _this = this;
  19651. asts.forEach(function (ast) { return ast.visit(_this, context); });
  19652. return null;
  19653. };
  19654. RecursiveAstVisitor.prototype.visitQuote = function (ast, context) { return null; };
  19655. return RecursiveAstVisitor;
  19656. }());
  19657. var AstTransformer = (function () {
  19658. function AstTransformer() {
  19659. }
  19660. AstTransformer.prototype.visitImplicitReceiver = function (ast, context) { return ast; };
  19661. AstTransformer.prototype.visitInterpolation = function (ast, context) {
  19662. return new Interpolation(ast.span, ast.strings, this.visitAll(ast.expressions));
  19663. };
  19664. AstTransformer.prototype.visitLiteralPrimitive = function (ast, context) {
  19665. return new LiteralPrimitive(ast.span, ast.value);
  19666. };
  19667. AstTransformer.prototype.visitPropertyRead = function (ast, context) {
  19668. return new PropertyRead(ast.span, ast.receiver.visit(this), ast.name);
  19669. };
  19670. AstTransformer.prototype.visitPropertyWrite = function (ast, context) {
  19671. return new PropertyWrite(ast.span, ast.receiver.visit(this), ast.name, ast.value);
  19672. };
  19673. AstTransformer.prototype.visitSafePropertyRead = function (ast, context) {
  19674. return new SafePropertyRead(ast.span, ast.receiver.visit(this), ast.name);
  19675. };
  19676. AstTransformer.prototype.visitMethodCall = function (ast, context) {
  19677. return new MethodCall(ast.span, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));
  19678. };
  19679. AstTransformer.prototype.visitSafeMethodCall = function (ast, context) {
  19680. return new SafeMethodCall(ast.span, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));
  19681. };
  19682. AstTransformer.prototype.visitFunctionCall = function (ast, context) {
  19683. return new FunctionCall(ast.span, ast.target.visit(this), this.visitAll(ast.args));
  19684. };
  19685. AstTransformer.prototype.visitLiteralArray = function (ast, context) {
  19686. return new LiteralArray(ast.span, this.visitAll(ast.expressions));
  19687. };
  19688. AstTransformer.prototype.visitLiteralMap = function (ast, context) {
  19689. return new LiteralMap(ast.span, ast.keys, this.visitAll(ast.values));
  19690. };
  19691. AstTransformer.prototype.visitBinary = function (ast, context) {
  19692. return new Binary(ast.span, ast.operation, ast.left.visit(this), ast.right.visit(this));
  19693. };
  19694. AstTransformer.prototype.visitPrefixNot = function (ast, context) {
  19695. return new PrefixNot(ast.span, ast.expression.visit(this));
  19696. };
  19697. AstTransformer.prototype.visitConditional = function (ast, context) {
  19698. return new Conditional(ast.span, ast.condition.visit(this), ast.trueExp.visit(this), ast.falseExp.visit(this));
  19699. };
  19700. AstTransformer.prototype.visitPipe = function (ast, context) {
  19701. return new BindingPipe(ast.span, ast.exp.visit(this), ast.name, this.visitAll(ast.args));
  19702. };
  19703. AstTransformer.prototype.visitKeyedRead = function (ast, context) {
  19704. return new KeyedRead(ast.span, ast.obj.visit(this), ast.key.visit(this));
  19705. };
  19706. AstTransformer.prototype.visitKeyedWrite = function (ast, context) {
  19707. return new KeyedWrite(ast.span, ast.obj.visit(this), ast.key.visit(this), ast.value.visit(this));
  19708. };
  19709. AstTransformer.prototype.visitAll = function (asts) {
  19710. var res = new Array(asts.length);
  19711. for (var i = 0; i < asts.length; ++i) {
  19712. res[i] = asts[i].visit(this);
  19713. }
  19714. return res;
  19715. };
  19716. AstTransformer.prototype.visitChain = function (ast, context) {
  19717. return new Chain(ast.span, this.visitAll(ast.expressions));
  19718. };
  19719. AstTransformer.prototype.visitQuote = function (ast, context) {
  19720. return new Quote(ast.span, ast.prefix, ast.uninterpretedExpression, ast.location);
  19721. };
  19722. return AstTransformer;
  19723. }());
  19724. //# sourceMappingURL=ast.js.map
  19725. /***/ },
  19726. /* 186 */
  19727. /***/ function(module, exports, __webpack_require__) {
  19728. "use strict";
  19729. /* harmony export (immutable) */ exports["a"] = digestMessage;
  19730. /* unused harmony export serializeNodes */
  19731. /* unused harmony export sha1 */
  19732. /**
  19733. * @license
  19734. * Copyright Google Inc. All Rights Reserved.
  19735. *
  19736. * Use of this source code is governed by an MIT-style license that can be
  19737. * found in the LICENSE file at https://angular.io/license
  19738. */
  19739. function digestMessage(message) {
  19740. return sha1(serializeNodes(message.customNodesStorage).join('') + ("[" + message.meaning + "]"));
  19741. }
  19742. /**
  19743. * Serialize the i18n ast to something xml-like in order to generate an UID.
  19744. *
  19745. * The visitor is also used in the i18n parser tests
  19746. *
  19747. * @internal
  19748. */
  19749. var _SerializerVisitor = (function () {
  19750. function _SerializerVisitor() {
  19751. }
  19752. _SerializerVisitor.prototype.visitText = function (text, context) { return text.value; };
  19753. _SerializerVisitor.prototype.visitContainer = function (container, context) {
  19754. var _this = this;
  19755. return "[" + container.children.map(function (child) { return child.visit(_this); }).join(', ') + "]";
  19756. };
  19757. _SerializerVisitor.prototype.visitIcu = function (icu, context) {
  19758. var _this = this;
  19759. var strCases = Object.keys(icu.cases).map(function (k) { return (k + " {" + icu.cases[k].visit(_this) + "}"); });
  19760. return "{" + icu.expression + ", " + icu.type + ", " + strCases.join(', ') + "}";
  19761. };
  19762. _SerializerVisitor.prototype.visitTagPlaceholder = function (ph, context) {
  19763. var _this = this;
  19764. return ph.isVoid ?
  19765. "<ph tag name=\"" + ph.startName + "\"/>" :
  19766. "<ph tag name=\"" + ph.startName + "\">" + ph.children.map(function (child) { return child.visit(_this); }).join(', ') + "</ph name=\"" + ph.closeName + "\">";
  19767. };
  19768. _SerializerVisitor.prototype.visitPlaceholder = function (ph, context) {
  19769. return "<ph name=\"" + ph.name + "\">" + ph.value + "</ph>";
  19770. };
  19771. _SerializerVisitor.prototype.visitIcuPlaceholder = function (ph, context) {
  19772. return "<ph icu name=\"" + ph.name + "\">" + ph.value.visit(this) + "</ph>";
  19773. };
  19774. return _SerializerVisitor;
  19775. }());
  19776. var serializerVisitor = new _SerializerVisitor();
  19777. function serializeNodes(nodes) {
  19778. return nodes.map(function (a) { return a.visit(serializerVisitor, null); });
  19779. }
  19780. /**
  19781. * Compute the SHA1 of the given string
  19782. *
  19783. * see http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf
  19784. *
  19785. * WARNING: this function has not been designed not tested with security in mind.
  19786. * DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.
  19787. */
  19788. function sha1(str) {
  19789. var utf8 = utf8Encode(str);
  19790. var words32 = stringToWords32(utf8);
  19791. var len = utf8.length * 8;
  19792. var w = new Array(80);
  19793. var _a = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0], a = _a[0], b = _a[1], c = _a[2], d = _a[3], e = _a[4];
  19794. words32[len >> 5] |= 0x80 << (24 - len % 32);
  19795. words32[((len + 64 >> 9) << 4) + 15] = len;
  19796. for (var i = 0; i < words32.length; i += 16) {
  19797. var _b = [a, b, c, d, e], h0 = _b[0], h1 = _b[1], h2 = _b[2], h3 = _b[3], h4 = _b[4];
  19798. for (var j = 0; j < 80; j++) {
  19799. if (j < 16) {
  19800. w[j] = words32[i + j];
  19801. }
  19802. else {
  19803. w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);
  19804. }
  19805. var _c = fk(j, b, c, d), f = _c[0], k = _c[1];
  19806. var temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32);
  19807. _d = [d, c, rol32(b, 30), a, temp], e = _d[0], d = _d[1], c = _d[2], b = _d[3], a = _d[4];
  19808. }
  19809. _e = [add32(a, h0), add32(b, h1), add32(c, h2), add32(d, h3), add32(e, h4)], a = _e[0], b = _e[1], c = _e[2], d = _e[3], e = _e[4];
  19810. }
  19811. var sha1 = words32ToString([a, b, c, d, e]);
  19812. var hex = '';
  19813. for (var i = 0; i < sha1.length; i++) {
  19814. var b_1 = sha1.charCodeAt(i);
  19815. hex += (b_1 >>> 4 & 0x0f).toString(16) + (b_1 & 0x0f).toString(16);
  19816. }
  19817. return hex.toLowerCase();
  19818. var _d, _e;
  19819. }
  19820. function utf8Encode(str) {
  19821. var encoded = '';
  19822. for (var index = 0; index < str.length; index++) {
  19823. var codePoint = decodeSurrogatePairs(str, index);
  19824. if (codePoint <= 0x7f) {
  19825. encoded += String.fromCharCode(codePoint);
  19826. }
  19827. else if (codePoint <= 0x7ff) {
  19828. encoded += String.fromCharCode(0xc0 | codePoint >>> 6, 0x80 | codePoint & 0x3f);
  19829. }
  19830. else if (codePoint <= 0xffff) {
  19831. encoded += String.fromCharCode(0xe0 | codePoint >>> 12, 0x80 | codePoint >>> 6 & 0x3f, 0x80 | codePoint & 0x3f);
  19832. }
  19833. else if (codePoint <= 0x1fffff) {
  19834. encoded += String.fromCharCode(0xf0 | codePoint >>> 18, 0x80 | codePoint >>> 12 & 0x3f, 0x80 | codePoint >>> 6 & 0x3f, 0x80 | codePoint & 0x3f);
  19835. }
  19836. }
  19837. return encoded;
  19838. }
  19839. // see https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
  19840. function decodeSurrogatePairs(str, index) {
  19841. if (index < 0 || index >= str.length) {
  19842. throw new Error("index=" + index + " is out of range in \"" + str + "\"");
  19843. }
  19844. var high = str.charCodeAt(index);
  19845. var low;
  19846. if (high >= 0xd800 && high <= 0xdfff && str.length > index + 1) {
  19847. low = str.charCodeAt(index + 1);
  19848. if (low >= 0xdc00 && low <= 0xdfff) {
  19849. return (high - 0xd800) * 0x400 + low - 0xdc00 + 0x10000;
  19850. }
  19851. }
  19852. return high;
  19853. }
  19854. function stringToWords32(str) {
  19855. var words32 = Array(str.length >>> 2);
  19856. for (var i = 0; i < words32.length; i++) {
  19857. words32[i] = 0;
  19858. }
  19859. for (var i = 0; i < str.length; i++) {
  19860. words32[i >>> 2] |= (str.charCodeAt(i) & 0xff) << 8 * (3 - i & 0x3);
  19861. }
  19862. return words32;
  19863. }
  19864. function words32ToString(words32) {
  19865. var str = '';
  19866. for (var i = 0; i < words32.length * 4; i++) {
  19867. str += String.fromCharCode((words32[i >>> 2] >>> 8 * (3 - i & 0x3)) & 0xff);
  19868. }
  19869. return str;
  19870. }
  19871. function fk(index, b, c, d) {
  19872. if (index < 20) {
  19873. return [(b & c) | (~b & d), 0x5a827999];
  19874. }
  19875. if (index < 40) {
  19876. return [b ^ c ^ d, 0x6ed9eba1];
  19877. }
  19878. if (index < 60) {
  19879. return [(b & c) | (b & d) | (c & d), 0x8f1bbcdc];
  19880. }
  19881. return [b ^ c ^ d, 0xca62c1d6];
  19882. }
  19883. function add32(a, b) {
  19884. var low = (a & 0xffff) + (b & 0xffff);
  19885. var high = (a >> 16) + (b >> 16) + (low >> 16);
  19886. return (high << 16) | (low & 0xffff);
  19887. }
  19888. function rol32(a, count) {
  19889. return (a << count) | (a >>> (32 - count));
  19890. }
  19891. //# sourceMappingURL=digest.js.map
  19892. /***/ },
  19893. /* 187 */
  19894. /***/ function(module, exports, __webpack_require__) {
  19895. "use strict";
  19896. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__parse_util__ = __webpack_require__(50);
  19897. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return I18nError; });
  19898. /**
  19899. * @license
  19900. * Copyright Google Inc. All Rights Reserved.
  19901. *
  19902. * Use of this source code is governed by an MIT-style license that can be
  19903. * found in the LICENSE file at https://angular.io/license
  19904. */
  19905. var __extends = (this && this.__extends) || function (d, b) {
  19906. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  19907. function __() { this.constructor = d; }
  19908. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  19909. };
  19910. /**
  19911. * An i18n error.
  19912. */
  19913. var I18nError = (function (_super) {
  19914. __extends(I18nError, _super);
  19915. function I18nError(span, msg) {
  19916. _super.call(this, span, msg);
  19917. }
  19918. return I18nError;
  19919. }(__WEBPACK_IMPORTED_MODULE_0__parse_util__["a" /* ParseError */]));
  19920. //# sourceMappingURL=parse_util.js.map
  19921. /***/ },
  19922. /* 188 */
  19923. /***/ function(module, exports, __webpack_require__) {
  19924. "use strict";
  19925. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  19926. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__assertions__ = __webpack_require__(276);
  19927. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__compile_metadata__ = __webpack_require__(25);
  19928. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__directive_resolver__ = __webpack_require__(184);
  19929. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__facade_lang__ = __webpack_require__(4);
  19930. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__identifiers__ = __webpack_require__(19);
  19931. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__lifecycle_reflector__ = __webpack_require__(455);
  19932. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ng_module_resolver__ = __webpack_require__(191);
  19933. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pipe_resolver__ = __webpack_require__(193);
  19934. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__private_import_core__ = __webpack_require__(20);
  19935. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__schema_element_schema_registry__ = __webpack_require__(105);
  19936. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__url_resolver__ = __webpack_require__(106);
  19937. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__util__ = __webpack_require__(29);
  19938. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return CompileMetadataResolver; });
  19939. /**
  19940. * @license
  19941. * Copyright Google Inc. All Rights Reserved.
  19942. *
  19943. * Use of this source code is governed by an MIT-style license that can be
  19944. * found in the LICENSE file at https://angular.io/license
  19945. */
  19946. var __extends = (this && this.__extends) || function (d, b) {
  19947. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  19948. function __() { this.constructor = d; }
  19949. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  19950. };
  19951. var CompileMetadataResolver = (function () {
  19952. function CompileMetadataResolver(_ngModuleResolver, _directiveResolver, _pipeResolver, _schemaRegistry, _reflector) {
  19953. if (_reflector === void 0) { _reflector = __WEBPACK_IMPORTED_MODULE_9__private_import_core__["Q" /* reflector */]; }
  19954. this._ngModuleResolver = _ngModuleResolver;
  19955. this._directiveResolver = _directiveResolver;
  19956. this._pipeResolver = _pipeResolver;
  19957. this._schemaRegistry = _schemaRegistry;
  19958. this._reflector = _reflector;
  19959. this._directiveCache = new Map();
  19960. this._pipeCache = new Map();
  19961. this._ngModuleCache = new Map();
  19962. this._ngModuleOfTypes = new Map();
  19963. this._anonymousTypes = new Map();
  19964. this._anonymousTypeIndex = 0;
  19965. }
  19966. CompileMetadataResolver.prototype.sanitizeTokenName = function (token) {
  19967. var identifier = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(token);
  19968. if (identifier.indexOf('(') >= 0) {
  19969. // case: anonymous functions!
  19970. var found = this._anonymousTypes.get(token);
  19971. if (!found) {
  19972. this._anonymousTypes.set(token, this._anonymousTypeIndex++);
  19973. found = this._anonymousTypes.get(token);
  19974. }
  19975. identifier = "anonymous_token_" + found + "_";
  19976. }
  19977. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__util__["a" /* sanitizeIdentifier */])(identifier);
  19978. };
  19979. CompileMetadataResolver.prototype.clearCacheFor = function (type) {
  19980. this._directiveCache.delete(type);
  19981. this._pipeCache.delete(type);
  19982. this._ngModuleOfTypes.delete(type);
  19983. // Clear all of the NgModule as they contain transitive information!
  19984. this._ngModuleCache.clear();
  19985. };
  19986. CompileMetadataResolver.prototype.clearCache = function () {
  19987. this._directiveCache.clear();
  19988. this._pipeCache.clear();
  19989. this._ngModuleCache.clear();
  19990. this._ngModuleOfTypes.clear();
  19991. };
  19992. CompileMetadataResolver.prototype.getAnimationEntryMetadata = function (entry) {
  19993. var _this = this;
  19994. var defs = entry.definitions.map(function (def) { return _this.getAnimationStateMetadata(def); });
  19995. return new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["r" /* CompileAnimationEntryMetadata */](entry.name, defs);
  19996. };
  19997. CompileMetadataResolver.prototype.getAnimationStateMetadata = function (value) {
  19998. if (value instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["AnimationStateDeclarationMetadata"]) {
  19999. var styles = this.getAnimationStyleMetadata(value.styles);
  20000. return new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["g" /* CompileAnimationStateDeclarationMetadata */](value.stateNameExpr, styles);
  20001. }
  20002. if (value instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["AnimationStateTransitionMetadata"]) {
  20003. return new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["s" /* CompileAnimationStateTransitionMetadata */](value.stateChangeExpr, this.getAnimationMetadata(value.steps));
  20004. }
  20005. return null;
  20006. };
  20007. CompileMetadataResolver.prototype.getAnimationStyleMetadata = function (value) {
  20008. return new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["h" /* CompileAnimationStyleMetadata */](value.offset, value.styles);
  20009. };
  20010. CompileMetadataResolver.prototype.getAnimationMetadata = function (value) {
  20011. var _this = this;
  20012. if (value instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["AnimationStyleMetadata"]) {
  20013. return this.getAnimationStyleMetadata(value);
  20014. }
  20015. if (value instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["AnimationKeyframesSequenceMetadata"]) {
  20016. return new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["m" /* CompileAnimationKeyframesSequenceMetadata */](value.steps.map(function (entry) { return _this.getAnimationStyleMetadata(entry); }));
  20017. }
  20018. if (value instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["AnimationAnimateMetadata"]) {
  20019. var animateData = this
  20020. .getAnimationMetadata(value.styles);
  20021. return new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["l" /* CompileAnimationAnimateMetadata */](value.timings, animateData);
  20022. }
  20023. if (value instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["AnimationWithStepsMetadata"]) {
  20024. var steps = value.steps.map(function (step) { return _this.getAnimationMetadata(step); });
  20025. if (value instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["AnimationGroupMetadata"]) {
  20026. return new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["j" /* CompileAnimationGroupMetadata */](steps);
  20027. }
  20028. return new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["i" /* CompileAnimationSequenceMetadata */](steps);
  20029. }
  20030. return null;
  20031. };
  20032. CompileMetadataResolver.prototype.getDirectiveMetadata = function (directiveType, throwIfNotFound) {
  20033. var _this = this;
  20034. if (throwIfNotFound === void 0) { throwIfNotFound = true; }
  20035. directiveType = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["resolveForwardRef"])(directiveType);
  20036. var meta = this._directiveCache.get(directiveType);
  20037. if (!meta) {
  20038. var dirMeta = this._directiveResolver.resolve(directiveType, throwIfNotFound);
  20039. if (!dirMeta) {
  20040. return null;
  20041. }
  20042. var templateMeta = null;
  20043. var changeDetectionStrategy = null;
  20044. var viewProviders = [];
  20045. var moduleUrl = staticTypeModuleUrl(directiveType);
  20046. var entryComponentMetadata = [];
  20047. var selector = dirMeta.selector;
  20048. if (dirMeta instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Component"]) {
  20049. // Component
  20050. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__assertions__["b" /* assertArrayOfStrings */])('styles', dirMeta.styles);
  20051. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__assertions__["b" /* assertArrayOfStrings */])('styleUrls', dirMeta.styleUrls);
  20052. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__assertions__["a" /* assertInterpolationSymbols */])('interpolation', dirMeta.interpolation);
  20053. var animations = dirMeta.animations ?
  20054. dirMeta.animations.map(function (e) { return _this.getAnimationEntryMetadata(e); }) :
  20055. null;
  20056. templateMeta = new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["p" /* CompileTemplateMetadata */]({
  20057. encapsulation: dirMeta.encapsulation,
  20058. template: dirMeta.template,
  20059. templateUrl: dirMeta.templateUrl,
  20060. styles: dirMeta.styles,
  20061. styleUrls: dirMeta.styleUrls,
  20062. animations: animations,
  20063. interpolation: dirMeta.interpolation
  20064. });
  20065. changeDetectionStrategy = dirMeta.changeDetection;
  20066. if (dirMeta.viewProviders) {
  20067. viewProviders = this.getProvidersMetadata(dirMeta.viewProviders, entryComponentMetadata, "viewProviders for \"" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(directiveType) + "\"");
  20068. }
  20069. moduleUrl = componentModuleUrl(this._reflector, directiveType, dirMeta);
  20070. if (dirMeta.entryComponents) {
  20071. entryComponentMetadata =
  20072. flattenArray(dirMeta.entryComponents)
  20073. .map(function (type) { return _this.getTypeMetadata(type, staticTypeModuleUrl(type)); })
  20074. .concat(entryComponentMetadata);
  20075. }
  20076. if (!selector) {
  20077. selector = this._schemaRegistry.getDefaultComponentElementName();
  20078. }
  20079. }
  20080. else {
  20081. // Directive
  20082. if (!selector) {
  20083. throw new Error("Directive " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(directiveType) + " has no selector, please add it!");
  20084. }
  20085. }
  20086. var providers = [];
  20087. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(dirMeta.providers)) {
  20088. providers = this.getProvidersMetadata(dirMeta.providers, entryComponentMetadata, "providers for \"" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(directiveType) + "\"");
  20089. }
  20090. var queries = [];
  20091. var viewQueries = [];
  20092. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(dirMeta.queries)) {
  20093. queries = this.getQueriesMetadata(dirMeta.queries, false, directiveType);
  20094. viewQueries = this.getQueriesMetadata(dirMeta.queries, true, directiveType);
  20095. }
  20096. meta = __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["q" /* CompileDirectiveMetadata */].create({
  20097. selector: selector,
  20098. exportAs: dirMeta.exportAs,
  20099. isComponent: !!templateMeta,
  20100. type: this.getTypeMetadata(directiveType, moduleUrl),
  20101. template: templateMeta,
  20102. changeDetection: changeDetectionStrategy,
  20103. inputs: dirMeta.inputs,
  20104. outputs: dirMeta.outputs,
  20105. host: dirMeta.host,
  20106. providers: providers,
  20107. viewProviders: viewProviders,
  20108. queries: queries,
  20109. viewQueries: viewQueries,
  20110. entryComponents: entryComponentMetadata
  20111. });
  20112. this._directiveCache.set(directiveType, meta);
  20113. }
  20114. return meta;
  20115. };
  20116. CompileMetadataResolver.prototype.getNgModuleMetadata = function (moduleType, throwIfNotFound) {
  20117. var _this = this;
  20118. if (throwIfNotFound === void 0) { throwIfNotFound = true; }
  20119. moduleType = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["resolveForwardRef"])(moduleType);
  20120. var compileMeta = this._ngModuleCache.get(moduleType);
  20121. if (!compileMeta) {
  20122. var meta = this._ngModuleResolver.resolve(moduleType, throwIfNotFound);
  20123. if (!meta) {
  20124. return null;
  20125. }
  20126. var declaredDirectives_1 = [];
  20127. var exportedDirectives_1 = [];
  20128. var declaredPipes_1 = [];
  20129. var exportedPipes_1 = [];
  20130. var importedModules_1 = [];
  20131. var exportedModules_1 = [];
  20132. var providers_1 = [];
  20133. var entryComponents_1 = [];
  20134. var bootstrapComponents = [];
  20135. var schemas = [];
  20136. if (meta.imports) {
  20137. flattenArray(meta.imports).forEach(function (importedType) {
  20138. var importedModuleType;
  20139. if (isValidType(importedType)) {
  20140. importedModuleType = importedType;
  20141. }
  20142. else if (importedType && importedType.ngModule) {
  20143. var moduleWithProviders = importedType;
  20144. importedModuleType = moduleWithProviders.ngModule;
  20145. if (moduleWithProviders.providers) {
  20146. providers_1.push.apply(providers_1, _this.getProvidersMetadata(moduleWithProviders.providers, entryComponents_1, "provider for the NgModule '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(importedModuleType) + "'"));
  20147. }
  20148. }
  20149. if (importedModuleType) {
  20150. var importedMeta = _this.getNgModuleMetadata(importedModuleType, false);
  20151. if (importedMeta === null) {
  20152. throw new Error("Unexpected " + _this._getTypeDescriptor(importedType) + " '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(importedType) + "' imported by the module '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(moduleType) + "'");
  20153. }
  20154. importedModules_1.push(importedMeta);
  20155. }
  20156. else {
  20157. throw new Error("Unexpected value '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(importedType) + "' imported by the module '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(moduleType) + "'");
  20158. }
  20159. });
  20160. }
  20161. if (meta.exports) {
  20162. flattenArray(meta.exports).forEach(function (exportedType) {
  20163. if (!isValidType(exportedType)) {
  20164. throw new Error("Unexpected value '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(exportedType) + "' exported by the module '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(moduleType) + "'");
  20165. }
  20166. var exportedDirMeta;
  20167. var exportedPipeMeta;
  20168. var exportedModuleMeta;
  20169. if (exportedDirMeta = _this.getDirectiveMetadata(exportedType, false)) {
  20170. exportedDirectives_1.push(exportedDirMeta);
  20171. }
  20172. else if (exportedPipeMeta = _this.getPipeMetadata(exportedType, false)) {
  20173. exportedPipes_1.push(exportedPipeMeta);
  20174. }
  20175. else if (exportedModuleMeta = _this.getNgModuleMetadata(exportedType, false)) {
  20176. exportedModules_1.push(exportedModuleMeta);
  20177. }
  20178. else {
  20179. throw new Error("Unexpected " + _this._getTypeDescriptor(exportedType) + " '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(exportedType) + "' exported by the module '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(moduleType) + "'");
  20180. }
  20181. });
  20182. }
  20183. // Note: This will be modified later, so we rely on
  20184. // getting a new instance every time!
  20185. var transitiveModule_1 = this._getTransitiveNgModuleMetadata(importedModules_1, exportedModules_1);
  20186. if (meta.declarations) {
  20187. flattenArray(meta.declarations).forEach(function (declaredType) {
  20188. if (!isValidType(declaredType)) {
  20189. throw new Error("Unexpected value '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(declaredType) + "' declared by the module '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(moduleType) + "'");
  20190. }
  20191. var declaredDirMeta;
  20192. var declaredPipeMeta;
  20193. if (declaredDirMeta = _this.getDirectiveMetadata(declaredType, false)) {
  20194. _this._addDirectiveToModule(declaredDirMeta, moduleType, transitiveModule_1, declaredDirectives_1, true);
  20195. }
  20196. else if (declaredPipeMeta = _this.getPipeMetadata(declaredType, false)) {
  20197. _this._addPipeToModule(declaredPipeMeta, moduleType, transitiveModule_1, declaredPipes_1, true);
  20198. }
  20199. else {
  20200. throw new Error("Unexpected " + _this._getTypeDescriptor(declaredType) + " '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(declaredType) + "' declared by the module '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(moduleType) + "'");
  20201. }
  20202. });
  20203. }
  20204. // The providers of the module have to go last
  20205. // so that they overwrite any other provider we already added.
  20206. if (meta.providers) {
  20207. providers_1.push.apply(providers_1, this.getProvidersMetadata(meta.providers, entryComponents_1, "provider for the NgModule '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(moduleType) + "'"));
  20208. }
  20209. if (meta.entryComponents) {
  20210. entryComponents_1.push.apply(entryComponents_1, flattenArray(meta.entryComponents)
  20211. .map(function (type) { return _this.getTypeMetadata(type, staticTypeModuleUrl(type)); }));
  20212. }
  20213. if (meta.bootstrap) {
  20214. var typeMetadata = flattenArray(meta.bootstrap).map(function (type) {
  20215. if (!isValidType(type)) {
  20216. throw new Error("Unexpected value '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(type) + "' used in the bootstrap property of module '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(moduleType) + "'");
  20217. }
  20218. return _this.getTypeMetadata(type, staticTypeModuleUrl(type));
  20219. });
  20220. bootstrapComponents.push.apply(bootstrapComponents, typeMetadata);
  20221. }
  20222. entryComponents_1.push.apply(entryComponents_1, bootstrapComponents);
  20223. if (meta.schemas) {
  20224. schemas.push.apply(schemas, flattenArray(meta.schemas));
  20225. }
  20226. (_a = transitiveModule_1.entryComponents).push.apply(_a, entryComponents_1);
  20227. (_b = transitiveModule_1.providers).push.apply(_b, providers_1);
  20228. compileMeta = new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["t" /* CompileNgModuleMetadata */]({
  20229. type: this.getTypeMetadata(moduleType, staticTypeModuleUrl(moduleType)),
  20230. providers: providers_1,
  20231. entryComponents: entryComponents_1,
  20232. bootstrapComponents: bootstrapComponents,
  20233. schemas: schemas,
  20234. declaredDirectives: declaredDirectives_1,
  20235. exportedDirectives: exportedDirectives_1,
  20236. declaredPipes: declaredPipes_1,
  20237. exportedPipes: exportedPipes_1,
  20238. importedModules: importedModules_1,
  20239. exportedModules: exportedModules_1,
  20240. transitiveModule: transitiveModule_1,
  20241. id: meta.id,
  20242. });
  20243. transitiveModule_1.modules.push(compileMeta);
  20244. this._verifyModule(compileMeta);
  20245. this._ngModuleCache.set(moduleType, compileMeta);
  20246. }
  20247. return compileMeta;
  20248. var _a, _b;
  20249. };
  20250. CompileMetadataResolver.prototype._verifyModule = function (moduleMeta) {
  20251. moduleMeta.exportedDirectives.forEach(function (dirMeta) {
  20252. if (!moduleMeta.transitiveModule.directivesSet.has(dirMeta.type.reference)) {
  20253. throw new Error("Can't export directive " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(dirMeta.type.reference) + " from " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(moduleMeta.type.reference) + " as it was neither declared nor imported!");
  20254. }
  20255. });
  20256. moduleMeta.exportedPipes.forEach(function (pipeMeta) {
  20257. if (!moduleMeta.transitiveModule.pipesSet.has(pipeMeta.type.reference)) {
  20258. throw new Error("Can't export pipe " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(pipeMeta.type.reference) + " from " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(moduleMeta.type.reference) + " as it was neither declared nor imported!");
  20259. }
  20260. });
  20261. };
  20262. CompileMetadataResolver.prototype._getTypeDescriptor = function (type) {
  20263. if (this._directiveResolver.resolve(type, false) !== null) {
  20264. return 'directive';
  20265. }
  20266. if (this._pipeResolver.resolve(type, false) !== null) {
  20267. return 'pipe';
  20268. }
  20269. if (this._ngModuleResolver.resolve(type, false) !== null) {
  20270. return 'module';
  20271. }
  20272. if (type.provide) {
  20273. return 'provider';
  20274. }
  20275. return 'value';
  20276. };
  20277. CompileMetadataResolver.prototype._addTypeToModule = function (type, moduleType) {
  20278. var oldModule = this._ngModuleOfTypes.get(type);
  20279. if (oldModule && oldModule !== moduleType) {
  20280. throw new Error(("Type " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(type) + " is part of the declarations of 2 modules: " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(oldModule) + " and " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(moduleType) + "! ") +
  20281. ("Please consider moving " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(type) + " to a higher module that imports " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(oldModule) + " and " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(moduleType) + ". ") +
  20282. ("You can also create a new NgModule that exports and includes " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(type) + " then import that NgModule in " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(oldModule) + " and " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(moduleType) + "."));
  20283. }
  20284. this._ngModuleOfTypes.set(type, moduleType);
  20285. };
  20286. CompileMetadataResolver.prototype._getTransitiveNgModuleMetadata = function (importedModules, exportedModules) {
  20287. // collect `providers` / `entryComponents` from all imported and all exported modules
  20288. var transitiveModules = getTransitiveModules(importedModules.concat(exportedModules), true);
  20289. var providers = flattenArray(transitiveModules.map(function (ngModule) { return ngModule.providers; }));
  20290. var entryComponents = flattenArray(transitiveModules.map(function (ngModule) { return ngModule.entryComponents; }));
  20291. var transitiveExportedModules = getTransitiveModules(importedModules, false);
  20292. var directives = flattenArray(transitiveExportedModules.map(function (ngModule) { return ngModule.exportedDirectives; }));
  20293. var pipes = flattenArray(transitiveExportedModules.map(function (ngModule) { return ngModule.exportedPipes; }));
  20294. return new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["u" /* TransitiveCompileNgModuleMetadata */](transitiveModules, providers, entryComponents, directives, pipes);
  20295. };
  20296. CompileMetadataResolver.prototype._addDirectiveToModule = function (dirMeta, moduleType, transitiveModule, declaredDirectives, force) {
  20297. if (force === void 0) { force = false; }
  20298. if (force || !transitiveModule.directivesSet.has(dirMeta.type.reference)) {
  20299. transitiveModule.directivesSet.add(dirMeta.type.reference);
  20300. transitiveModule.directives.push(dirMeta);
  20301. declaredDirectives.push(dirMeta);
  20302. this._addTypeToModule(dirMeta.type.reference, moduleType);
  20303. return true;
  20304. }
  20305. return false;
  20306. };
  20307. CompileMetadataResolver.prototype._addPipeToModule = function (pipeMeta, moduleType, transitiveModule, declaredPipes, force) {
  20308. if (force === void 0) { force = false; }
  20309. if (force || !transitiveModule.pipesSet.has(pipeMeta.type.reference)) {
  20310. transitiveModule.pipesSet.add(pipeMeta.type.reference);
  20311. transitiveModule.pipes.push(pipeMeta);
  20312. declaredPipes.push(pipeMeta);
  20313. this._addTypeToModule(pipeMeta.type.reference, moduleType);
  20314. return true;
  20315. }
  20316. return false;
  20317. };
  20318. CompileMetadataResolver.prototype.getTypeMetadata = function (type, moduleUrl, dependencies) {
  20319. if (dependencies === void 0) { dependencies = null; }
  20320. type = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["resolveForwardRef"])(type);
  20321. return new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["e" /* CompileTypeMetadata */]({
  20322. name: this.sanitizeTokenName(type),
  20323. moduleUrl: moduleUrl,
  20324. reference: type,
  20325. diDeps: this.getDependenciesMetadata(type, dependencies),
  20326. lifecycleHooks: __WEBPACK_IMPORTED_MODULE_9__private_import_core__["_0" /* LIFECYCLE_HOOKS_VALUES */].filter(function (hook) { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__lifecycle_reflector__["a" /* hasLifecycleHook */])(hook, type); }),
  20327. });
  20328. };
  20329. CompileMetadataResolver.prototype.getFactoryMetadata = function (factory, moduleUrl, dependencies) {
  20330. if (dependencies === void 0) { dependencies = null; }
  20331. factory = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["resolveForwardRef"])(factory);
  20332. return new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["v" /* CompileFactoryMetadata */]({
  20333. name: this.sanitizeTokenName(factory),
  20334. moduleUrl: moduleUrl,
  20335. reference: factory,
  20336. diDeps: this.getDependenciesMetadata(factory, dependencies)
  20337. });
  20338. };
  20339. CompileMetadataResolver.prototype.getPipeMetadata = function (pipeType, throwIfNotFound) {
  20340. if (throwIfNotFound === void 0) { throwIfNotFound = true; }
  20341. pipeType = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["resolveForwardRef"])(pipeType);
  20342. var meta = this._pipeCache.get(pipeType);
  20343. if (!meta) {
  20344. var pipeMeta = this._pipeResolver.resolve(pipeType, throwIfNotFound);
  20345. if (!pipeMeta) {
  20346. return null;
  20347. }
  20348. meta = new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["w" /* CompilePipeMetadata */]({
  20349. type: this.getTypeMetadata(pipeType, staticTypeModuleUrl(pipeType)),
  20350. name: pipeMeta.name,
  20351. pure: pipeMeta.pure
  20352. });
  20353. this._pipeCache.set(pipeType, meta);
  20354. }
  20355. return meta;
  20356. };
  20357. CompileMetadataResolver.prototype.getDependenciesMetadata = function (typeOrFunc, dependencies) {
  20358. var _this = this;
  20359. var hasUnknownDeps = false;
  20360. var params = dependencies || this._reflector.parameters(typeOrFunc) || [];
  20361. var dependenciesMetadata = params.map(function (param) {
  20362. var isAttribute = false;
  20363. var isHost = false;
  20364. var isSelf = false;
  20365. var isSkipSelf = false;
  20366. var isOptional = false;
  20367. var query = null;
  20368. var viewQuery = null;
  20369. var token = null;
  20370. if (Array.isArray(param)) {
  20371. param.forEach(function (paramEntry) {
  20372. if (paramEntry instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Host"]) {
  20373. isHost = true;
  20374. }
  20375. else if (paramEntry instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Self"]) {
  20376. isSelf = true;
  20377. }
  20378. else if (paramEntry instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["SkipSelf"]) {
  20379. isSkipSelf = true;
  20380. }
  20381. else if (paramEntry instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Optional"]) {
  20382. isOptional = true;
  20383. }
  20384. else if (paramEntry instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Attribute"]) {
  20385. isAttribute = true;
  20386. token = paramEntry.attributeName;
  20387. }
  20388. else if (paramEntry instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Query"]) {
  20389. if (paramEntry.isViewQuery) {
  20390. viewQuery = paramEntry;
  20391. }
  20392. else {
  20393. query = paramEntry;
  20394. }
  20395. }
  20396. else if (paramEntry instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"]) {
  20397. token = paramEntry.token;
  20398. }
  20399. else if (isValidType(paramEntry) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["b" /* isBlank */])(token)) {
  20400. token = paramEntry;
  20401. }
  20402. });
  20403. }
  20404. else {
  20405. token = param;
  20406. }
  20407. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["b" /* isBlank */])(token)) {
  20408. hasUnknownDeps = true;
  20409. return null;
  20410. }
  20411. return new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["c" /* CompileDiDependencyMetadata */]({
  20412. isAttribute: isAttribute,
  20413. isHost: isHost,
  20414. isSelf: isSelf,
  20415. isSkipSelf: isSkipSelf,
  20416. isOptional: isOptional,
  20417. query: query ? _this.getQueryMetadata(query, null, typeOrFunc) : null,
  20418. viewQuery: viewQuery ? _this.getQueryMetadata(viewQuery, null, typeOrFunc) : null,
  20419. token: _this.getTokenMetadata(token)
  20420. });
  20421. });
  20422. if (hasUnknownDeps) {
  20423. var depsTokens = dependenciesMetadata.map(function (dep) { return dep ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(dep.token) : '?'; }).join(', ');
  20424. throw new Error("Can't resolve all parameters for " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(typeOrFunc) + ": (" + depsTokens + ").");
  20425. }
  20426. return dependenciesMetadata;
  20427. };
  20428. CompileMetadataResolver.prototype.getTokenMetadata = function (token) {
  20429. token = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["resolveForwardRef"])(token);
  20430. var compileToken;
  20431. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["g" /* isString */])(token)) {
  20432. compileToken = new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["b" /* CompileTokenMetadata */]({ value: token });
  20433. }
  20434. else {
  20435. compileToken = new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["b" /* CompileTokenMetadata */]({
  20436. identifier: new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["a" /* CompileIdentifierMetadata */]({
  20437. reference: token,
  20438. name: this.sanitizeTokenName(token),
  20439. moduleUrl: staticTypeModuleUrl(token)
  20440. })
  20441. });
  20442. }
  20443. return compileToken;
  20444. };
  20445. CompileMetadataResolver.prototype.getProvidersMetadata = function (providers, targetEntryComponents, debugInfo) {
  20446. var _this = this;
  20447. var compileProviders = [];
  20448. providers.forEach(function (provider, providerIdx) {
  20449. provider = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["resolveForwardRef"])(provider);
  20450. if (provider && typeof provider == 'object' && provider.hasOwnProperty('provide')) {
  20451. provider = new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["x" /* ProviderMeta */](provider.provide, provider);
  20452. }
  20453. var compileProvider;
  20454. if (Array.isArray(provider)) {
  20455. compileProvider = _this.getProvidersMetadata(provider, targetEntryComponents, debugInfo);
  20456. }
  20457. else if (provider instanceof __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["x" /* ProviderMeta */]) {
  20458. var tokenMeta = _this.getTokenMetadata(provider.token);
  20459. if (tokenMeta.reference ===
  20460. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].ANALYZE_FOR_ENTRY_COMPONENTS).reference) {
  20461. targetEntryComponents.push.apply(targetEntryComponents, _this._getEntryComponentsFromProvider(provider));
  20462. }
  20463. else {
  20464. compileProvider = _this.getProviderMetadata(provider);
  20465. }
  20466. }
  20467. else if (isValidType(provider)) {
  20468. compileProvider = _this.getTypeMetadata(provider, staticTypeModuleUrl(provider));
  20469. }
  20470. else {
  20471. var providersInfo = providers.reduce(function (soFar, seenProvider, seenProviderIdx) {
  20472. if (seenProviderIdx < providerIdx) {
  20473. soFar.push("" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(seenProvider));
  20474. }
  20475. else if (seenProviderIdx == providerIdx) {
  20476. soFar.push("?" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(seenProvider) + "?");
  20477. }
  20478. else if (seenProviderIdx == providerIdx + 1) {
  20479. soFar.push('...');
  20480. }
  20481. return soFar;
  20482. }, [])
  20483. .join(', ');
  20484. throw new Error("Invalid " + (debugInfo ? debugInfo : 'provider') + " - only instances of Provider and Type are allowed, got: [" + providersInfo + "]");
  20485. }
  20486. if (compileProvider) {
  20487. compileProviders.push(compileProvider);
  20488. }
  20489. });
  20490. return compileProviders;
  20491. };
  20492. CompileMetadataResolver.prototype._getEntryComponentsFromProvider = function (provider) {
  20493. var _this = this;
  20494. var components = [];
  20495. var collectedIdentifiers = [];
  20496. if (provider.useFactory || provider.useExisting || provider.useClass) {
  20497. throw new Error("The ANALYZE_FOR_ENTRY_COMPONENTS token only supports useValue!");
  20498. }
  20499. if (!provider.multi) {
  20500. throw new Error("The ANALYZE_FOR_ENTRY_COMPONENTS token only supports 'multi = true'!");
  20501. }
  20502. convertToCompileValue(provider.useValue, collectedIdentifiers);
  20503. collectedIdentifiers.forEach(function (identifier) {
  20504. var dirMeta = _this.getDirectiveMetadata(identifier.reference, false);
  20505. if (dirMeta) {
  20506. components.push(dirMeta.type);
  20507. }
  20508. });
  20509. return components;
  20510. };
  20511. CompileMetadataResolver.prototype.getProviderMetadata = function (provider) {
  20512. var compileDeps;
  20513. var compileTypeMetadata = null;
  20514. var compileFactoryMetadata = null;
  20515. if (provider.useClass) {
  20516. compileTypeMetadata = this.getTypeMetadata(provider.useClass, staticTypeModuleUrl(provider.useClass), provider.dependencies);
  20517. compileDeps = compileTypeMetadata.diDeps;
  20518. }
  20519. else if (provider.useFactory) {
  20520. compileFactoryMetadata = this.getFactoryMetadata(provider.useFactory, staticTypeModuleUrl(provider.useFactory), provider.dependencies);
  20521. compileDeps = compileFactoryMetadata.diDeps;
  20522. }
  20523. return new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["d" /* CompileProviderMetadata */]({
  20524. token: this.getTokenMetadata(provider.token),
  20525. useClass: compileTypeMetadata,
  20526. useValue: convertToCompileValue(provider.useValue, []),
  20527. useFactory: compileFactoryMetadata,
  20528. useExisting: provider.useExisting ? this.getTokenMetadata(provider.useExisting) : null,
  20529. deps: compileDeps,
  20530. multi: provider.multi
  20531. });
  20532. };
  20533. CompileMetadataResolver.prototype.getQueriesMetadata = function (queries, isViewQuery, directiveType) {
  20534. var _this = this;
  20535. var res = [];
  20536. Object.keys(queries).forEach(function (propertyName) {
  20537. var query = queries[propertyName];
  20538. if (query.isViewQuery === isViewQuery) {
  20539. res.push(_this.getQueryMetadata(query, propertyName, directiveType));
  20540. }
  20541. });
  20542. return res;
  20543. };
  20544. CompileMetadataResolver.prototype._queryVarBindings = function (selector) { return selector.split(/\s*,\s*/); };
  20545. CompileMetadataResolver.prototype.getQueryMetadata = function (q, propertyName, typeOrFunc) {
  20546. var _this = this;
  20547. var selectors;
  20548. if (typeof q.selector === 'string') {
  20549. selectors = this._queryVarBindings(q.selector).map(function (varName) { return _this.getTokenMetadata(varName); });
  20550. }
  20551. else {
  20552. if (!q.selector) {
  20553. throw new Error("Can't construct a query for the property \"" + propertyName + "\" of \"" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(typeOrFunc) + "\" since the query selector wasn't defined.");
  20554. }
  20555. selectors = [this.getTokenMetadata(q.selector)];
  20556. }
  20557. return new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["y" /* CompileQueryMetadata */]({
  20558. selectors: selectors,
  20559. first: q.first,
  20560. descendants: q.descendants, propertyName: propertyName,
  20561. read: q.read ? this.getTokenMetadata(q.read) : null
  20562. });
  20563. };
  20564. CompileMetadataResolver.decorators = [
  20565. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  20566. ];
  20567. /** @nocollapse */
  20568. CompileMetadataResolver.ctorParameters = [
  20569. { type: __WEBPACK_IMPORTED_MODULE_7__ng_module_resolver__["a" /* NgModuleResolver */], },
  20570. { type: __WEBPACK_IMPORTED_MODULE_3__directive_resolver__["a" /* DirectiveResolver */], },
  20571. { type: __WEBPACK_IMPORTED_MODULE_8__pipe_resolver__["a" /* PipeResolver */], },
  20572. { type: __WEBPACK_IMPORTED_MODULE_10__schema_element_schema_registry__["a" /* ElementSchemaRegistry */], },
  20573. { type: __WEBPACK_IMPORTED_MODULE_9__private_import_core__["Z" /* ReflectorReader */], },
  20574. ];
  20575. return CompileMetadataResolver;
  20576. }());
  20577. function getTransitiveModules(modules, includeImports, targetModules, visitedModules) {
  20578. if (targetModules === void 0) { targetModules = []; }
  20579. if (visitedModules === void 0) { visitedModules = new Set(); }
  20580. modules.forEach(function (ngModule) {
  20581. if (!visitedModules.has(ngModule.type.reference)) {
  20582. visitedModules.add(ngModule.type.reference);
  20583. var nestedModules = includeImports ?
  20584. ngModule.importedModules.concat(ngModule.exportedModules) :
  20585. ngModule.exportedModules;
  20586. getTransitiveModules(nestedModules, includeImports, targetModules, visitedModules);
  20587. // Add after recursing so imported/exported modules are before the module itself.
  20588. // This is important for overwriting providers of imported modules!
  20589. targetModules.push(ngModule);
  20590. }
  20591. });
  20592. return targetModules;
  20593. }
  20594. function flattenArray(tree, out) {
  20595. if (out === void 0) { out = []; }
  20596. if (tree) {
  20597. for (var i = 0; i < tree.length; i++) {
  20598. var item = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["resolveForwardRef"])(tree[i]);
  20599. if (Array.isArray(item)) {
  20600. flattenArray(item, out);
  20601. }
  20602. else {
  20603. out.push(item);
  20604. }
  20605. }
  20606. }
  20607. return out;
  20608. }
  20609. function isValidType(value) {
  20610. return __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["z" /* isStaticSymbol */](value) || (value instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Type"]);
  20611. }
  20612. function staticTypeModuleUrl(value) {
  20613. return __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["z" /* isStaticSymbol */](value) ? value.filePath : null;
  20614. }
  20615. function componentModuleUrl(reflector, type, cmpMetadata) {
  20616. if (__WEBPACK_IMPORTED_MODULE_2__compile_metadata__["z" /* isStaticSymbol */](type)) {
  20617. return staticTypeModuleUrl(type);
  20618. }
  20619. var moduleId = cmpMetadata.moduleId;
  20620. if (typeof moduleId === 'string') {
  20621. var scheme = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_11__url_resolver__["b" /* getUrlScheme */])(moduleId);
  20622. return scheme ? moduleId : "package:" + moduleId + __WEBPACK_IMPORTED_MODULE_12__util__["h" /* MODULE_SUFFIX */];
  20623. }
  20624. else if (moduleId !== null && moduleId !== void 0) {
  20625. throw new Error(("moduleId should be a string in \"" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(type) + "\". See https://goo.gl/wIDDiL for more information.\n") +
  20626. "If you're using Webpack you should inline the template and the styles, see https://goo.gl/X2J8zc.");
  20627. }
  20628. return reflector.importUri(type);
  20629. }
  20630. function convertToCompileValue(value, targetIdentifiers) {
  20631. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__util__["d" /* visitValue */])(value, new _CompileValueConverter(), targetIdentifiers);
  20632. }
  20633. var _CompileValueConverter = (function (_super) {
  20634. __extends(_CompileValueConverter, _super);
  20635. function _CompileValueConverter() {
  20636. _super.apply(this, arguments);
  20637. }
  20638. _CompileValueConverter.prototype.visitOther = function (value, targetIdentifiers) {
  20639. var identifier;
  20640. if (__WEBPACK_IMPORTED_MODULE_2__compile_metadata__["z" /* isStaticSymbol */](value)) {
  20641. identifier = new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["a" /* CompileIdentifierMetadata */]({ name: value.name, moduleUrl: value.filePath, reference: value });
  20642. }
  20643. else {
  20644. identifier = new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["a" /* CompileIdentifierMetadata */]({ reference: value });
  20645. }
  20646. targetIdentifiers.push(identifier);
  20647. return identifier;
  20648. };
  20649. return _CompileValueConverter;
  20650. }(__WEBPACK_IMPORTED_MODULE_12__util__["i" /* ValueTransformer */]));
  20651. //# sourceMappingURL=metadata_resolver.js.map
  20652. /***/ },
  20653. /* 189 */
  20654. /***/ function(module, exports, __webpack_require__) {
  20655. "use strict";
  20656. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tags__ = __webpack_require__(87);
  20657. /* unused harmony export HtmlTagDefinition */
  20658. /* harmony export (immutable) */ exports["a"] = getHtmlTagDefinition;
  20659. /**
  20660. * @license
  20661. * Copyright Google Inc. All Rights Reserved.
  20662. *
  20663. * Use of this source code is governed by an MIT-style license that can be
  20664. * found in the LICENSE file at https://angular.io/license
  20665. */
  20666. var HtmlTagDefinition = (function () {
  20667. function HtmlTagDefinition(_a) {
  20668. var _this = this;
  20669. var _b = _a === void 0 ? {} : _a, closedByChildren = _b.closedByChildren, requiredParents = _b.requiredParents, implicitNamespacePrefix = _b.implicitNamespacePrefix, _c = _b.contentType, contentType = _c === void 0 ? __WEBPACK_IMPORTED_MODULE_0__tags__["a" /* TagContentType */].PARSABLE_DATA : _c, _d = _b.closedByParent, closedByParent = _d === void 0 ? false : _d, _e = _b.isVoid, isVoid = _e === void 0 ? false : _e, _f = _b.ignoreFirstLf, ignoreFirstLf = _f === void 0 ? false : _f;
  20670. this.closedByChildren = {};
  20671. this.closedByParent = false;
  20672. this.canSelfClose = false;
  20673. if (closedByChildren && closedByChildren.length > 0) {
  20674. closedByChildren.forEach(function (tagName) { return _this.closedByChildren[tagName] = true; });
  20675. }
  20676. this.isVoid = isVoid;
  20677. this.closedByParent = closedByParent || isVoid;
  20678. if (requiredParents && requiredParents.length > 0) {
  20679. this.requiredParents = {};
  20680. // The first parent is the list is automatically when none of the listed parents are present
  20681. this.parentToAdd = requiredParents[0];
  20682. requiredParents.forEach(function (tagName) { return _this.requiredParents[tagName] = true; });
  20683. }
  20684. this.implicitNamespacePrefix = implicitNamespacePrefix;
  20685. this.contentType = contentType;
  20686. this.ignoreFirstLf = ignoreFirstLf;
  20687. }
  20688. HtmlTagDefinition.prototype.requireExtraParent = function (currentParent) {
  20689. if (!this.requiredParents) {
  20690. return false;
  20691. }
  20692. if (!currentParent) {
  20693. return true;
  20694. }
  20695. var lcParent = currentParent.toLowerCase();
  20696. return this.requiredParents[lcParent] != true && lcParent != 'template';
  20697. };
  20698. HtmlTagDefinition.prototype.isClosedByChild = function (name) {
  20699. return this.isVoid || name.toLowerCase() in this.closedByChildren;
  20700. };
  20701. return HtmlTagDefinition;
  20702. }());
  20703. // see http://www.w3.org/TR/html51/syntax.html#optional-tags
  20704. // This implementation does not fully conform to the HTML5 spec.
  20705. var TAG_DEFINITIONS = {
  20706. 'base': new HtmlTagDefinition({ isVoid: true }),
  20707. 'meta': new HtmlTagDefinition({ isVoid: true }),
  20708. 'area': new HtmlTagDefinition({ isVoid: true }),
  20709. 'embed': new HtmlTagDefinition({ isVoid: true }),
  20710. 'link': new HtmlTagDefinition({ isVoid: true }),
  20711. 'img': new HtmlTagDefinition({ isVoid: true }),
  20712. 'input': new HtmlTagDefinition({ isVoid: true }),
  20713. 'param': new HtmlTagDefinition({ isVoid: true }),
  20714. 'hr': new HtmlTagDefinition({ isVoid: true }),
  20715. 'br': new HtmlTagDefinition({ isVoid: true }),
  20716. 'source': new HtmlTagDefinition({ isVoid: true }),
  20717. 'track': new HtmlTagDefinition({ isVoid: true }),
  20718. 'wbr': new HtmlTagDefinition({ isVoid: true }),
  20719. 'p': new HtmlTagDefinition({
  20720. closedByChildren: [
  20721. 'address', 'article', 'aside', 'blockquote', 'div', 'dl', 'fieldset', 'footer', 'form',
  20722. 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hgroup', 'hr',
  20723. 'main', 'nav', 'ol', 'p', 'pre', 'section', 'table', 'ul'
  20724. ],
  20725. closedByParent: true
  20726. }),
  20727. 'thead': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'] }),
  20728. 'tbody': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'], closedByParent: true }),
  20729. 'tfoot': new HtmlTagDefinition({ closedByChildren: ['tbody'], closedByParent: true }),
  20730. 'tr': new HtmlTagDefinition({
  20731. closedByChildren: ['tr'],
  20732. requiredParents: ['tbody', 'tfoot', 'thead'],
  20733. closedByParent: true
  20734. }),
  20735. 'td': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),
  20736. 'th': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),
  20737. 'col': new HtmlTagDefinition({ requiredParents: ['colgroup'], isVoid: true }),
  20738. 'svg': new HtmlTagDefinition({ implicitNamespacePrefix: 'svg' }),
  20739. 'math': new HtmlTagDefinition({ implicitNamespacePrefix: 'math' }),
  20740. 'li': new HtmlTagDefinition({ closedByChildren: ['li'], closedByParent: true }),
  20741. 'dt': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'] }),
  20742. 'dd': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'], closedByParent: true }),
  20743. 'rb': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),
  20744. 'rt': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),
  20745. 'rtc': new HtmlTagDefinition({ closedByChildren: ['rb', 'rtc', 'rp'], closedByParent: true }),
  20746. 'rp': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),
  20747. 'optgroup': new HtmlTagDefinition({ closedByChildren: ['optgroup'], closedByParent: true }),
  20748. 'option': new HtmlTagDefinition({ closedByChildren: ['option', 'optgroup'], closedByParent: true }),
  20749. 'pre': new HtmlTagDefinition({ ignoreFirstLf: true }),
  20750. 'listing': new HtmlTagDefinition({ ignoreFirstLf: true }),
  20751. 'style': new HtmlTagDefinition({ contentType: __WEBPACK_IMPORTED_MODULE_0__tags__["a" /* TagContentType */].RAW_TEXT }),
  20752. 'script': new HtmlTagDefinition({ contentType: __WEBPACK_IMPORTED_MODULE_0__tags__["a" /* TagContentType */].RAW_TEXT }),
  20753. 'title': new HtmlTagDefinition({ contentType: __WEBPACK_IMPORTED_MODULE_0__tags__["a" /* TagContentType */].ESCAPABLE_RAW_TEXT }),
  20754. 'textarea': new HtmlTagDefinition({ contentType: __WEBPACK_IMPORTED_MODULE_0__tags__["a" /* TagContentType */].ESCAPABLE_RAW_TEXT, ignoreFirstLf: true }),
  20755. };
  20756. var _DEFAULT_TAG_DEFINITION = new HtmlTagDefinition();
  20757. function getHtmlTagDefinition(tagName) {
  20758. return TAG_DEFINITIONS[tagName.toLowerCase()] || _DEFAULT_TAG_DEFINITION;
  20759. }
  20760. //# sourceMappingURL=html_tags.js.map
  20761. /***/ },
  20762. /* 190 */
  20763. /***/ function(module, exports, __webpack_require__) {
  20764. "use strict";
  20765. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  20766. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__compile_metadata__ = __webpack_require__(25);
  20767. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(4);
  20768. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__identifiers__ = __webpack_require__(19);
  20769. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__output_output_ast__ = __webpack_require__(12);
  20770. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__output_value_util__ = __webpack_require__(289);
  20771. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__parse_util__ = __webpack_require__(50);
  20772. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__private_import_core__ = __webpack_require__(20);
  20773. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__provider_analyzer__ = __webpack_require__(290);
  20774. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util__ = __webpack_require__(29);
  20775. /* unused harmony export ComponentFactoryDependency */
  20776. /* unused harmony export NgModuleCompileResult */
  20777. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NgModuleCompiler; });
  20778. /**
  20779. * @license
  20780. * Copyright Google Inc. All Rights Reserved.
  20781. *
  20782. * Use of this source code is governed by an MIT-style license that can be
  20783. * found in the LICENSE file at https://angular.io/license
  20784. */
  20785. var ComponentFactoryDependency = (function () {
  20786. function ComponentFactoryDependency(comp, placeholder) {
  20787. this.comp = comp;
  20788. this.placeholder = placeholder;
  20789. }
  20790. return ComponentFactoryDependency;
  20791. }());
  20792. var NgModuleCompileResult = (function () {
  20793. function NgModuleCompileResult(statements, ngModuleFactoryVar, dependencies) {
  20794. this.statements = statements;
  20795. this.ngModuleFactoryVar = ngModuleFactoryVar;
  20796. this.dependencies = dependencies;
  20797. }
  20798. return NgModuleCompileResult;
  20799. }());
  20800. var NgModuleCompiler = (function () {
  20801. function NgModuleCompiler() {
  20802. }
  20803. NgModuleCompiler.prototype.compile = function (ngModuleMeta, extraProviders) {
  20804. var sourceFileName = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(ngModuleMeta.type.moduleUrl) ?
  20805. "in NgModule " + ngModuleMeta.type.name + " in " + ngModuleMeta.type.moduleUrl :
  20806. "in NgModule " + ngModuleMeta.type.name;
  20807. var sourceFile = new __WEBPACK_IMPORTED_MODULE_6__parse_util__["b" /* ParseSourceFile */]('', sourceFileName);
  20808. var sourceSpan = new __WEBPACK_IMPORTED_MODULE_6__parse_util__["d" /* ParseSourceSpan */](new __WEBPACK_IMPORTED_MODULE_6__parse_util__["c" /* ParseLocation */](sourceFile, null, null, null), new __WEBPACK_IMPORTED_MODULE_6__parse_util__["c" /* ParseLocation */](sourceFile, null, null, null));
  20809. var deps = [];
  20810. var bootstrapComponentFactories = [];
  20811. var entryComponentFactories = ngModuleMeta.transitiveModule.entryComponents.map(function (entryComponent) {
  20812. var id = new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["a" /* CompileIdentifierMetadata */]({ name: entryComponent.name });
  20813. if (ngModuleMeta.bootstrapComponents.indexOf(entryComponent) > -1) {
  20814. bootstrapComponentFactories.push(id);
  20815. }
  20816. deps.push(new ComponentFactoryDependency(entryComponent, id));
  20817. return id;
  20818. });
  20819. var builder = new _InjectorBuilder(ngModuleMeta, entryComponentFactories, bootstrapComponentFactories, sourceSpan);
  20820. var providerParser = new __WEBPACK_IMPORTED_MODULE_8__provider_analyzer__["c" /* NgModuleProviderAnalyzer */](ngModuleMeta, extraProviders, sourceSpan);
  20821. providerParser.parse().forEach(function (provider) { return builder.addProvider(provider); });
  20822. var injectorClass = builder.build();
  20823. var ngModuleFactoryVar = ngModuleMeta.type.name + "NgFactory";
  20824. var ngModuleFactoryStmt = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["e" /* variable */](ngModuleFactoryVar)
  20825. .set(__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].NgModuleFactory))
  20826. .instantiate([__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["e" /* variable */](injectorClass.name), __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](ngModuleMeta.type)], __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].NgModuleFactory), [__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["c" /* importType */](ngModuleMeta.type)], [__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["d" /* TypeModifier */].Const])))
  20827. .toDeclStmt(null, [__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["u" /* StmtModifier */].Final]);
  20828. var stmts = [injectorClass, ngModuleFactoryStmt];
  20829. if (ngModuleMeta.id) {
  20830. var registerFactoryStmt = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].RegisterModuleFactoryFn))
  20831. .callFn([__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["a" /* literal */](ngModuleMeta.id), __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["e" /* variable */](ngModuleFactoryVar)])
  20832. .toStmt();
  20833. stmts.push(registerFactoryStmt);
  20834. }
  20835. return new NgModuleCompileResult(stmts, ngModuleFactoryVar, deps);
  20836. };
  20837. NgModuleCompiler.decorators = [
  20838. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  20839. ];
  20840. /** @nocollapse */
  20841. NgModuleCompiler.ctorParameters = [];
  20842. return NgModuleCompiler;
  20843. }());
  20844. var _InjectorBuilder = (function () {
  20845. function _InjectorBuilder(_ngModuleMeta, _entryComponentFactories, _bootstrapComponentFactories, _sourceSpan) {
  20846. this._ngModuleMeta = _ngModuleMeta;
  20847. this._entryComponentFactories = _entryComponentFactories;
  20848. this._bootstrapComponentFactories = _bootstrapComponentFactories;
  20849. this._sourceSpan = _sourceSpan;
  20850. this._tokens = [];
  20851. this._instances = new Map();
  20852. this._fields = [];
  20853. this._createStmts = [];
  20854. this._destroyStmts = [];
  20855. this._getters = [];
  20856. }
  20857. _InjectorBuilder.prototype.addProvider = function (resolvedProvider) {
  20858. var _this = this;
  20859. var providerValueExpressions = resolvedProvider.providers.map(function (provider) { return _this._getProviderValue(provider); });
  20860. var propName = "_" + resolvedProvider.token.name + "_" + this._instances.size;
  20861. var instance = this._createProviderProperty(propName, resolvedProvider, providerValueExpressions, resolvedProvider.multiProvider, resolvedProvider.eager);
  20862. if (resolvedProvider.lifecycleHooks.indexOf(__WEBPACK_IMPORTED_MODULE_7__private_import_core__["X" /* LifecycleHooks */].OnDestroy) !== -1) {
  20863. this._destroyStmts.push(instance.callMethod('ngOnDestroy', []).toStmt());
  20864. }
  20865. this._tokens.push(resolvedProvider.token);
  20866. this._instances.set(resolvedProvider.token.reference, instance);
  20867. };
  20868. _InjectorBuilder.prototype.build = function () {
  20869. var _this = this;
  20870. var getMethodStmts = this._tokens.map(function (token) {
  20871. var providerExpr = _this._instances.get(token.reference);
  20872. return new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["i" /* IfStmt */](InjectMethodVars.token.identical(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__util__["e" /* createDiTokenExpression */])(token)), [new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["t" /* ReturnStatement */](providerExpr)]);
  20873. });
  20874. var methods = [
  20875. new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["C" /* ClassMethod */]('createInternal', [], this._createStmts.concat(new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["t" /* ReturnStatement */](this._instances.get(this._ngModuleMeta.type.reference))), __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["c" /* importType */](this._ngModuleMeta.type)),
  20876. new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["C" /* ClassMethod */]('getInternal', [
  20877. new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["k" /* FnParam */](InjectMethodVars.token.name, __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["l" /* DYNAMIC_TYPE */]),
  20878. new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["k" /* FnParam */](InjectMethodVars.notFoundResult.name, __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["l" /* DYNAMIC_TYPE */])
  20879. ], getMethodStmts.concat([new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["t" /* ReturnStatement */](InjectMethodVars.notFoundResult)]), __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["l" /* DYNAMIC_TYPE */]),
  20880. new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["C" /* ClassMethod */]('destroyInternal', [], this._destroyStmts),
  20881. ];
  20882. var ctor = new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["C" /* ClassMethod */](null, [new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["k" /* FnParam */](InjectorProps.parent.name, __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].Injector)))], [__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["J" /* SUPER_EXPR */]
  20883. .callFn([
  20884. __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["e" /* variable */](InjectorProps.parent.name),
  20885. __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["g" /* literalArr */](this._entryComponentFactories.map(function (componentFactory) { return __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](componentFactory); })),
  20886. __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["g" /* literalArr */](this._bootstrapComponentFactories.map(function (componentFactory) { return __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](componentFactory); }))
  20887. ])
  20888. .toStmt()]);
  20889. var injClassName = this._ngModuleMeta.type.name + "Injector";
  20890. return new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["M" /* ClassStmt */](injClassName, __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].NgModuleInjector), [__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["c" /* importType */](this._ngModuleMeta.type)]), this._fields, this._getters, ctor, methods);
  20891. };
  20892. _InjectorBuilder.prototype._getProviderValue = function (provider) {
  20893. var _this = this;
  20894. var result;
  20895. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.useExisting)) {
  20896. result = this._getDependency(new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["c" /* CompileDiDependencyMetadata */]({ token: provider.useExisting }));
  20897. }
  20898. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.useFactory)) {
  20899. var deps = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.deps) ? provider.deps : provider.useFactory.diDeps;
  20900. var depsExpr = deps.map(function (dep) { return _this._getDependency(dep); });
  20901. result = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](provider.useFactory).callFn(depsExpr);
  20902. }
  20903. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.useClass)) {
  20904. var deps = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.deps) ? provider.deps : provider.useClass.diDeps;
  20905. var depsExpr = deps.map(function (dep) { return _this._getDependency(dep); });
  20906. result =
  20907. __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](provider.useClass).instantiate(depsExpr, __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["c" /* importType */](provider.useClass));
  20908. }
  20909. else {
  20910. result = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__output_value_util__["a" /* convertValueToOutputAst */])(provider.useValue);
  20911. }
  20912. return result;
  20913. };
  20914. _InjectorBuilder.prototype._createProviderProperty = function (propName, provider, providerValueExpressions, isMulti, isEager) {
  20915. var resolvedProviderValueExpr;
  20916. var type;
  20917. if (isMulti) {
  20918. resolvedProviderValueExpr = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["g" /* literalArr */](providerValueExpressions);
  20919. type = new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["q" /* ArrayType */](__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["l" /* DYNAMIC_TYPE */]);
  20920. }
  20921. else {
  20922. resolvedProviderValueExpr = providerValueExpressions[0];
  20923. type = providerValueExpressions[0].type;
  20924. }
  20925. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(type)) {
  20926. type = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["l" /* DYNAMIC_TYPE */];
  20927. }
  20928. if (isEager) {
  20929. this._fields.push(new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["s" /* ClassField */](propName, type));
  20930. this._createStmts.push(__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop(propName).set(resolvedProviderValueExpr).toStmt());
  20931. }
  20932. else {
  20933. var internalField = "_" + propName;
  20934. this._fields.push(new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["s" /* ClassField */](internalField, type));
  20935. // Note: Equals is important for JS so that it also checks the undefined case!
  20936. var getterStmts = [
  20937. new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["i" /* IfStmt */](__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop(internalField).isBlank(), [__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop(internalField).set(resolvedProviderValueExpr).toStmt()]),
  20938. new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["t" /* ReturnStatement */](__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop(internalField))
  20939. ];
  20940. this._getters.push(new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["v" /* ClassGetter */](propName, getterStmts, type));
  20941. }
  20942. return __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop(propName);
  20943. };
  20944. _InjectorBuilder.prototype._getDependency = function (dep) {
  20945. var result = null;
  20946. if (dep.isValue) {
  20947. result = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["a" /* literal */](dep.value);
  20948. }
  20949. if (!dep.isSkipSelf) {
  20950. if (dep.token &&
  20951. (dep.token.reference === __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].Injector).reference ||
  20952. dep.token.reference ===
  20953. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].ComponentFactoryResolver).reference)) {
  20954. result = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */];
  20955. }
  20956. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result)) {
  20957. result = this._instances.get(dep.token.reference);
  20958. }
  20959. }
  20960. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result)) {
  20961. var args = [__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__util__["e" /* createDiTokenExpression */])(dep.token)];
  20962. if (dep.isOptional) {
  20963. args.push(__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["h" /* NULL_EXPR */]);
  20964. }
  20965. result = InjectorProps.parent.callMethod('get', args);
  20966. }
  20967. return result;
  20968. };
  20969. return _InjectorBuilder;
  20970. }());
  20971. var InjectorProps = (function () {
  20972. function InjectorProps() {
  20973. }
  20974. InjectorProps.parent = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop('parent');
  20975. return InjectorProps;
  20976. }());
  20977. var InjectMethodVars = (function () {
  20978. function InjectMethodVars() {
  20979. }
  20980. InjectMethodVars.token = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["e" /* variable */]('token');
  20981. InjectMethodVars.notFoundResult = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["e" /* variable */]('notFoundResult');
  20982. return InjectMethodVars;
  20983. }());
  20984. //# sourceMappingURL=ng_module_compiler.js.map
  20985. /***/ },
  20986. /* 191 */
  20987. /***/ function(module, exports, __webpack_require__) {
  20988. "use strict";
  20989. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  20990. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(4);
  20991. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__private_import_core__ = __webpack_require__(20);
  20992. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NgModuleResolver; });
  20993. /**
  20994. * @license
  20995. * Copyright Google Inc. All Rights Reserved.
  20996. *
  20997. * Use of this source code is governed by an MIT-style license that can be
  20998. * found in the LICENSE file at https://angular.io/license
  20999. */
  21000. function _isNgModuleMetadata(obj) {
  21001. return obj instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["NgModule"];
  21002. }
  21003. /**
  21004. * Resolves types to {@link NgModule}.
  21005. */
  21006. var NgModuleResolver = (function () {
  21007. function NgModuleResolver(_reflector) {
  21008. if (_reflector === void 0) { _reflector = __WEBPACK_IMPORTED_MODULE_2__private_import_core__["Q" /* reflector */]; }
  21009. this._reflector = _reflector;
  21010. }
  21011. NgModuleResolver.prototype.resolve = function (type, throwIfNotFound) {
  21012. if (throwIfNotFound === void 0) { throwIfNotFound = true; }
  21013. var ngModuleMeta = this._reflector.annotations(type).find(_isNgModuleMetadata);
  21014. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(ngModuleMeta)) {
  21015. return ngModuleMeta;
  21016. }
  21017. else {
  21018. if (throwIfNotFound) {
  21019. throw new Error("No NgModule metadata found for '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["q" /* stringify */])(type) + "'.");
  21020. }
  21021. return null;
  21022. }
  21023. };
  21024. NgModuleResolver.decorators = [
  21025. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  21026. ];
  21027. /** @nocollapse */
  21028. NgModuleResolver.ctorParameters = [
  21029. { type: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["Z" /* ReflectorReader */], },
  21030. ];
  21031. return NgModuleResolver;
  21032. }());
  21033. //# sourceMappingURL=ng_module_resolver.js.map
  21034. /***/ },
  21035. /* 192 */
  21036. /***/ function(module, exports, __webpack_require__) {
  21037. "use strict";
  21038. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(4);
  21039. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__output_ast__ = __webpack_require__(12);
  21040. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return CATCH_ERROR_VAR; });
  21041. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return CATCH_STACK_VAR; });
  21042. /* unused harmony export OutputEmitter */
  21043. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return EmitterVisitorContext; });
  21044. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return AbstractEmitterVisitor; });
  21045. /* unused harmony export escapeIdentifier */
  21046. /**
  21047. * @license
  21048. * Copyright Google Inc. All Rights Reserved.
  21049. *
  21050. * Use of this source code is governed by an MIT-style license that can be
  21051. * found in the LICENSE file at https://angular.io/license
  21052. */
  21053. var _SINGLE_QUOTE_ESCAPE_STRING_RE = /'|\\|\n|\r|\$/g;
  21054. var _LEGAL_IDENTIFIER_RE = /^[$A-Z_][0-9A-Z_$]*$/i;
  21055. var CATCH_ERROR_VAR = __WEBPACK_IMPORTED_MODULE_1__output_ast__["e" /* variable */]('error');
  21056. var CATCH_STACK_VAR = __WEBPACK_IMPORTED_MODULE_1__output_ast__["e" /* variable */]('stack');
  21057. var OutputEmitter = (function () {
  21058. function OutputEmitter() {
  21059. }
  21060. return OutputEmitter;
  21061. }());
  21062. var _EmittedLine = (function () {
  21063. function _EmittedLine(indent) {
  21064. this.indent = indent;
  21065. this.parts = [];
  21066. }
  21067. return _EmittedLine;
  21068. }());
  21069. var EmitterVisitorContext = (function () {
  21070. function EmitterVisitorContext(_exportedVars, _indent) {
  21071. this._exportedVars = _exportedVars;
  21072. this._indent = _indent;
  21073. this._classes = [];
  21074. this._lines = [new _EmittedLine(_indent)];
  21075. }
  21076. EmitterVisitorContext.createRoot = function (exportedVars) {
  21077. return new EmitterVisitorContext(exportedVars, 0);
  21078. };
  21079. Object.defineProperty(EmitterVisitorContext.prototype, "_currentLine", {
  21080. get: function () { return this._lines[this._lines.length - 1]; },
  21081. enumerable: true,
  21082. configurable: true
  21083. });
  21084. EmitterVisitorContext.prototype.isExportedVar = function (varName) { return this._exportedVars.indexOf(varName) !== -1; };
  21085. EmitterVisitorContext.prototype.println = function (lastPart) {
  21086. if (lastPart === void 0) { lastPart = ''; }
  21087. this.print(lastPart, true);
  21088. };
  21089. EmitterVisitorContext.prototype.lineIsEmpty = function () { return this._currentLine.parts.length === 0; };
  21090. EmitterVisitorContext.prototype.print = function (part, newLine) {
  21091. if (newLine === void 0) { newLine = false; }
  21092. if (part.length > 0) {
  21093. this._currentLine.parts.push(part);
  21094. }
  21095. if (newLine) {
  21096. this._lines.push(new _EmittedLine(this._indent));
  21097. }
  21098. };
  21099. EmitterVisitorContext.prototype.removeEmptyLastLine = function () {
  21100. if (this.lineIsEmpty()) {
  21101. this._lines.pop();
  21102. }
  21103. };
  21104. EmitterVisitorContext.prototype.incIndent = function () {
  21105. this._indent++;
  21106. this._currentLine.indent = this._indent;
  21107. };
  21108. EmitterVisitorContext.prototype.decIndent = function () {
  21109. this._indent--;
  21110. this._currentLine.indent = this._indent;
  21111. };
  21112. EmitterVisitorContext.prototype.pushClass = function (clazz) { this._classes.push(clazz); };
  21113. EmitterVisitorContext.prototype.popClass = function () { return this._classes.pop(); };
  21114. Object.defineProperty(EmitterVisitorContext.prototype, "currentClass", {
  21115. get: function () {
  21116. return this._classes.length > 0 ? this._classes[this._classes.length - 1] : null;
  21117. },
  21118. enumerable: true,
  21119. configurable: true
  21120. });
  21121. EmitterVisitorContext.prototype.toSource = function () {
  21122. var lines = this._lines;
  21123. if (lines[lines.length - 1].parts.length === 0) {
  21124. lines = lines.slice(0, lines.length - 1);
  21125. }
  21126. return lines
  21127. .map(function (line) {
  21128. if (line.parts.length > 0) {
  21129. return _createIndent(line.indent) + line.parts.join('');
  21130. }
  21131. else {
  21132. return '';
  21133. }
  21134. })
  21135. .join('\n');
  21136. };
  21137. return EmitterVisitorContext;
  21138. }());
  21139. var AbstractEmitterVisitor = (function () {
  21140. function AbstractEmitterVisitor(_escapeDollarInStrings) {
  21141. this._escapeDollarInStrings = _escapeDollarInStrings;
  21142. }
  21143. AbstractEmitterVisitor.prototype.visitExpressionStmt = function (stmt, ctx) {
  21144. stmt.expr.visitExpression(this, ctx);
  21145. ctx.println(';');
  21146. return null;
  21147. };
  21148. AbstractEmitterVisitor.prototype.visitReturnStmt = function (stmt, ctx) {
  21149. ctx.print("return ");
  21150. stmt.value.visitExpression(this, ctx);
  21151. ctx.println(';');
  21152. return null;
  21153. };
  21154. AbstractEmitterVisitor.prototype.visitIfStmt = function (stmt, ctx) {
  21155. ctx.print("if (");
  21156. stmt.condition.visitExpression(this, ctx);
  21157. ctx.print(") {");
  21158. var hasElseCase = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(stmt.falseCase) && stmt.falseCase.length > 0;
  21159. if (stmt.trueCase.length <= 1 && !hasElseCase) {
  21160. ctx.print(" ");
  21161. this.visitAllStatements(stmt.trueCase, ctx);
  21162. ctx.removeEmptyLastLine();
  21163. ctx.print(" ");
  21164. }
  21165. else {
  21166. ctx.println();
  21167. ctx.incIndent();
  21168. this.visitAllStatements(stmt.trueCase, ctx);
  21169. ctx.decIndent();
  21170. if (hasElseCase) {
  21171. ctx.println("} else {");
  21172. ctx.incIndent();
  21173. this.visitAllStatements(stmt.falseCase, ctx);
  21174. ctx.decIndent();
  21175. }
  21176. }
  21177. ctx.println("}");
  21178. return null;
  21179. };
  21180. AbstractEmitterVisitor.prototype.visitThrowStmt = function (stmt, ctx) {
  21181. ctx.print("throw ");
  21182. stmt.error.visitExpression(this, ctx);
  21183. ctx.println(";");
  21184. return null;
  21185. };
  21186. AbstractEmitterVisitor.prototype.visitCommentStmt = function (stmt, ctx) {
  21187. var lines = stmt.comment.split('\n');
  21188. lines.forEach(function (line) { ctx.println("// " + line); });
  21189. return null;
  21190. };
  21191. AbstractEmitterVisitor.prototype.visitWriteVarExpr = function (expr, ctx) {
  21192. var lineWasEmpty = ctx.lineIsEmpty();
  21193. if (!lineWasEmpty) {
  21194. ctx.print('(');
  21195. }
  21196. ctx.print(expr.name + " = ");
  21197. expr.value.visitExpression(this, ctx);
  21198. if (!lineWasEmpty) {
  21199. ctx.print(')');
  21200. }
  21201. return null;
  21202. };
  21203. AbstractEmitterVisitor.prototype.visitWriteKeyExpr = function (expr, ctx) {
  21204. var lineWasEmpty = ctx.lineIsEmpty();
  21205. if (!lineWasEmpty) {
  21206. ctx.print('(');
  21207. }
  21208. expr.receiver.visitExpression(this, ctx);
  21209. ctx.print("[");
  21210. expr.index.visitExpression(this, ctx);
  21211. ctx.print("] = ");
  21212. expr.value.visitExpression(this, ctx);
  21213. if (!lineWasEmpty) {
  21214. ctx.print(')');
  21215. }
  21216. return null;
  21217. };
  21218. AbstractEmitterVisitor.prototype.visitWritePropExpr = function (expr, ctx) {
  21219. var lineWasEmpty = ctx.lineIsEmpty();
  21220. if (!lineWasEmpty) {
  21221. ctx.print('(');
  21222. }
  21223. expr.receiver.visitExpression(this, ctx);
  21224. ctx.print("." + expr.name + " = ");
  21225. expr.value.visitExpression(this, ctx);
  21226. if (!lineWasEmpty) {
  21227. ctx.print(')');
  21228. }
  21229. return null;
  21230. };
  21231. AbstractEmitterVisitor.prototype.visitInvokeMethodExpr = function (expr, ctx) {
  21232. expr.receiver.visitExpression(this, ctx);
  21233. var name = expr.name;
  21234. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(expr.builtin)) {
  21235. name = this.getBuiltinMethodName(expr.builtin);
  21236. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(name)) {
  21237. // some builtins just mean to skip the call.
  21238. return null;
  21239. }
  21240. }
  21241. ctx.print("." + name + "(");
  21242. this.visitAllExpressions(expr.args, ctx, ",");
  21243. ctx.print(")");
  21244. return null;
  21245. };
  21246. AbstractEmitterVisitor.prototype.visitInvokeFunctionExpr = function (expr, ctx) {
  21247. expr.fn.visitExpression(this, ctx);
  21248. ctx.print("(");
  21249. this.visitAllExpressions(expr.args, ctx, ',');
  21250. ctx.print(")");
  21251. return null;
  21252. };
  21253. AbstractEmitterVisitor.prototype.visitReadVarExpr = function (ast, ctx) {
  21254. var varName = ast.name;
  21255. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(ast.builtin)) {
  21256. switch (ast.builtin) {
  21257. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["O" /* BuiltinVar */].Super:
  21258. varName = 'super';
  21259. break;
  21260. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["O" /* BuiltinVar */].This:
  21261. varName = 'this';
  21262. break;
  21263. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["O" /* BuiltinVar */].CatchError:
  21264. varName = CATCH_ERROR_VAR.name;
  21265. break;
  21266. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["O" /* BuiltinVar */].CatchStack:
  21267. varName = CATCH_STACK_VAR.name;
  21268. break;
  21269. default:
  21270. throw new Error("Unknown builtin variable " + ast.builtin);
  21271. }
  21272. }
  21273. ctx.print(varName);
  21274. return null;
  21275. };
  21276. AbstractEmitterVisitor.prototype.visitInstantiateExpr = function (ast, ctx) {
  21277. ctx.print("new ");
  21278. ast.classExpr.visitExpression(this, ctx);
  21279. ctx.print("(");
  21280. this.visitAllExpressions(ast.args, ctx, ',');
  21281. ctx.print(")");
  21282. return null;
  21283. };
  21284. AbstractEmitterVisitor.prototype.visitLiteralExpr = function (ast, ctx, absentValue) {
  21285. if (absentValue === void 0) { absentValue = 'null'; }
  21286. var value = ast.value;
  21287. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["g" /* isString */])(value)) {
  21288. ctx.print(escapeIdentifier(value, this._escapeDollarInStrings));
  21289. }
  21290. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(value)) {
  21291. ctx.print(absentValue);
  21292. }
  21293. else {
  21294. ctx.print("" + value);
  21295. }
  21296. return null;
  21297. };
  21298. AbstractEmitterVisitor.prototype.visitConditionalExpr = function (ast, ctx) {
  21299. ctx.print("(");
  21300. ast.condition.visitExpression(this, ctx);
  21301. ctx.print('? ');
  21302. ast.trueCase.visitExpression(this, ctx);
  21303. ctx.print(': ');
  21304. ast.falseCase.visitExpression(this, ctx);
  21305. ctx.print(")");
  21306. return null;
  21307. };
  21308. AbstractEmitterVisitor.prototype.visitNotExpr = function (ast, ctx) {
  21309. ctx.print('!');
  21310. ast.condition.visitExpression(this, ctx);
  21311. return null;
  21312. };
  21313. AbstractEmitterVisitor.prototype.visitBinaryOperatorExpr = function (ast, ctx) {
  21314. var opStr;
  21315. switch (ast.operator) {
  21316. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].Equals:
  21317. opStr = '==';
  21318. break;
  21319. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].Identical:
  21320. opStr = '===';
  21321. break;
  21322. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].NotEquals:
  21323. opStr = '!=';
  21324. break;
  21325. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].NotIdentical:
  21326. opStr = '!==';
  21327. break;
  21328. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].And:
  21329. opStr = '&&';
  21330. break;
  21331. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].Or:
  21332. opStr = '||';
  21333. break;
  21334. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].Plus:
  21335. opStr = '+';
  21336. break;
  21337. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].Minus:
  21338. opStr = '-';
  21339. break;
  21340. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].Divide:
  21341. opStr = '/';
  21342. break;
  21343. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].Multiply:
  21344. opStr = '*';
  21345. break;
  21346. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].Modulo:
  21347. opStr = '%';
  21348. break;
  21349. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].Lower:
  21350. opStr = '<';
  21351. break;
  21352. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].LowerEquals:
  21353. opStr = '<=';
  21354. break;
  21355. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].Bigger:
  21356. opStr = '>';
  21357. break;
  21358. case __WEBPACK_IMPORTED_MODULE_1__output_ast__["y" /* BinaryOperator */].BiggerEquals:
  21359. opStr = '>=';
  21360. break;
  21361. default:
  21362. throw new Error("Unknown operator " + ast.operator);
  21363. }
  21364. ctx.print("(");
  21365. ast.lhs.visitExpression(this, ctx);
  21366. ctx.print(" " + opStr + " ");
  21367. ast.rhs.visitExpression(this, ctx);
  21368. ctx.print(")");
  21369. return null;
  21370. };
  21371. AbstractEmitterVisitor.prototype.visitReadPropExpr = function (ast, ctx) {
  21372. ast.receiver.visitExpression(this, ctx);
  21373. ctx.print(".");
  21374. ctx.print(ast.name);
  21375. return null;
  21376. };
  21377. AbstractEmitterVisitor.prototype.visitReadKeyExpr = function (ast, ctx) {
  21378. ast.receiver.visitExpression(this, ctx);
  21379. ctx.print("[");
  21380. ast.index.visitExpression(this, ctx);
  21381. ctx.print("]");
  21382. return null;
  21383. };
  21384. AbstractEmitterVisitor.prototype.visitLiteralArrayExpr = function (ast, ctx) {
  21385. var useNewLine = ast.entries.length > 1;
  21386. ctx.print("[", useNewLine);
  21387. ctx.incIndent();
  21388. this.visitAllExpressions(ast.entries, ctx, ',', useNewLine);
  21389. ctx.decIndent();
  21390. ctx.print("]", useNewLine);
  21391. return null;
  21392. };
  21393. AbstractEmitterVisitor.prototype.visitLiteralMapExpr = function (ast, ctx) {
  21394. var _this = this;
  21395. var useNewLine = ast.entries.length > 1;
  21396. ctx.print("{", useNewLine);
  21397. ctx.incIndent();
  21398. this.visitAllObjects(function (entry /** TODO #9100 */) {
  21399. ctx.print(escapeIdentifier(entry[0], _this._escapeDollarInStrings, false) + ": ");
  21400. entry[1].visitExpression(_this, ctx);
  21401. }, ast.entries, ctx, ',', useNewLine);
  21402. ctx.decIndent();
  21403. ctx.print("}", useNewLine);
  21404. return null;
  21405. };
  21406. AbstractEmitterVisitor.prototype.visitAllExpressions = function (expressions, ctx, separator, newLine) {
  21407. var _this = this;
  21408. if (newLine === void 0) { newLine = false; }
  21409. this.visitAllObjects(function (expr /** TODO #9100 */) { return expr.visitExpression(_this, ctx); }, expressions, ctx, separator, newLine);
  21410. };
  21411. AbstractEmitterVisitor.prototype.visitAllObjects = function (handler, expressions, ctx, separator, newLine) {
  21412. if (newLine === void 0) { newLine = false; }
  21413. for (var i = 0; i < expressions.length; i++) {
  21414. if (i > 0) {
  21415. ctx.print(separator, newLine);
  21416. }
  21417. handler(expressions[i]);
  21418. }
  21419. if (newLine) {
  21420. ctx.println();
  21421. }
  21422. };
  21423. AbstractEmitterVisitor.prototype.visitAllStatements = function (statements, ctx) {
  21424. var _this = this;
  21425. statements.forEach(function (stmt) { return stmt.visitStatement(_this, ctx); });
  21426. };
  21427. return AbstractEmitterVisitor;
  21428. }());
  21429. function escapeIdentifier(input, escapeDollar, alwaysQuote) {
  21430. if (alwaysQuote === void 0) { alwaysQuote = true; }
  21431. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(input)) {
  21432. return null;
  21433. }
  21434. var body = __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replaceAllMapped(input, _SINGLE_QUOTE_ESCAPE_STRING_RE, function (match /** TODO #9100 */) {
  21435. if (match[0] == '$') {
  21436. return escapeDollar ? '\\$' : '$';
  21437. }
  21438. else if (match[0] == '\n') {
  21439. return '\\n';
  21440. }
  21441. else if (match[0] == '\r') {
  21442. return '\\r';
  21443. }
  21444. else {
  21445. return "\\" + match[0];
  21446. }
  21447. });
  21448. var requiresQuotes = alwaysQuote || !_LEGAL_IDENTIFIER_RE.test(body);
  21449. return requiresQuotes ? "'" + body + "'" : body;
  21450. }
  21451. function _createIndent(count) {
  21452. var res = '';
  21453. for (var i = 0; i < count; i++) {
  21454. res += ' ';
  21455. }
  21456. return res;
  21457. }
  21458. //# sourceMappingURL=abstract_emitter.js.map
  21459. /***/ },
  21460. /* 193 */
  21461. /***/ function(module, exports, __webpack_require__) {
  21462. "use strict";
  21463. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  21464. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(4);
  21465. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__private_import_core__ = __webpack_require__(20);
  21466. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return PipeResolver; });
  21467. /**
  21468. * @license
  21469. * Copyright Google Inc. All Rights Reserved.
  21470. *
  21471. * Use of this source code is governed by an MIT-style license that can be
  21472. * found in the LICENSE file at https://angular.io/license
  21473. */
  21474. function _isPipeMetadata(type) {
  21475. return type instanceof __WEBPACK_IMPORTED_MODULE_0__angular_core__["Pipe"];
  21476. }
  21477. /**
  21478. * Resolve a `Type` for {@link Pipe}.
  21479. *
  21480. * This interface can be overridden by the application developer to create custom behavior.
  21481. *
  21482. * See {@link Compiler}
  21483. */
  21484. var PipeResolver = (function () {
  21485. function PipeResolver(_reflector) {
  21486. if (_reflector === void 0) { _reflector = __WEBPACK_IMPORTED_MODULE_2__private_import_core__["Q" /* reflector */]; }
  21487. this._reflector = _reflector;
  21488. }
  21489. /**
  21490. * Return {@link Pipe} for a given `Type`.
  21491. */
  21492. PipeResolver.prototype.resolve = function (type, throwIfNotFound) {
  21493. if (throwIfNotFound === void 0) { throwIfNotFound = true; }
  21494. var metas = this._reflector.annotations(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["resolveForwardRef"])(type));
  21495. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(metas)) {
  21496. var annotation = metas.find(_isPipeMetadata);
  21497. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(annotation)) {
  21498. return annotation;
  21499. }
  21500. }
  21501. if (throwIfNotFound) {
  21502. throw new Error("No Pipe decorator found on " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["q" /* stringify */])(type));
  21503. }
  21504. return null;
  21505. };
  21506. PipeResolver.decorators = [
  21507. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  21508. ];
  21509. /** @nocollapse */
  21510. PipeResolver.ctorParameters = [
  21511. { type: __WEBPACK_IMPORTED_MODULE_2__private_import_core__["Z" /* ReflectorReader */], },
  21512. ];
  21513. return PipeResolver;
  21514. }());
  21515. //# sourceMappingURL=pipe_resolver.js.map
  21516. /***/ },
  21517. /* 194 */
  21518. /***/ function(module, exports, __webpack_require__) {
  21519. "use strict";
  21520. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ResourceLoader; });
  21521. /**
  21522. * @license
  21523. * Copyright Google Inc. All Rights Reserved.
  21524. *
  21525. * Use of this source code is governed by an MIT-style license that can be
  21526. * found in the LICENSE file at https://angular.io/license
  21527. */
  21528. /**
  21529. * An interface for retrieving documents by URL that the compiler uses
  21530. * to load templates.
  21531. */
  21532. var ResourceLoader = (function () {
  21533. function ResourceLoader() {
  21534. }
  21535. ResourceLoader.prototype.get = function (url) { return null; };
  21536. return ResourceLoader;
  21537. }());
  21538. //# sourceMappingURL=resource_loader.js.map
  21539. /***/ },
  21540. /* 195 */
  21541. /***/ function(module, exports, __webpack_require__) {
  21542. "use strict";
  21543. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(13);
  21544. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(4);
  21545. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ml_parser_html_tags__ = __webpack_require__(189);
  21546. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return CssSelector; });
  21547. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return SelectorMatcher; });
  21548. /* unused harmony export SelectorListContext */
  21549. /* unused harmony export SelectorContext */
  21550. /**
  21551. * @license
  21552. * Copyright Google Inc. All Rights Reserved.
  21553. *
  21554. * Use of this source code is governed by an MIT-style license that can be
  21555. * found in the LICENSE file at https://angular.io/license
  21556. */
  21557. var _EMPTY_ATTR_VALUE = '';
  21558. var _SELECTOR_REGEXP = new RegExp('(\\:not\\()|' +
  21559. '([-\\w]+)|' +
  21560. '(?:\\.([-\\w]+))|' +
  21561. '(?:\\[([-\\w*]+)(?:=([^\\]]*))?\\])|' +
  21562. '(\\))|' +
  21563. '(\\s*,\\s*)', // ","
  21564. 'g');
  21565. /**
  21566. * A css selector contains an element name,
  21567. * css classes and attribute/value pairs with the purpose
  21568. * of selecting subsets out of them.
  21569. */
  21570. var CssSelector = (function () {
  21571. function CssSelector() {
  21572. this.element = null;
  21573. this.classNames = [];
  21574. this.attrs = [];
  21575. this.notSelectors = [];
  21576. }
  21577. CssSelector.parse = function (selector) {
  21578. var results = [];
  21579. var _addResult = function (res, cssSel) {
  21580. if (cssSel.notSelectors.length > 0 && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(cssSel.element) &&
  21581. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].isEmpty(cssSel.classNames) && __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].isEmpty(cssSel.attrs)) {
  21582. cssSel.element = '*';
  21583. }
  21584. res.push(cssSel);
  21585. };
  21586. var cssSelector = new CssSelector();
  21587. var match;
  21588. var current = cssSelector;
  21589. var inNot = false;
  21590. _SELECTOR_REGEXP.lastIndex = 0;
  21591. while (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(match = _SELECTOR_REGEXP.exec(selector))) {
  21592. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(match[1])) {
  21593. if (inNot) {
  21594. throw new Error('Nesting :not is not allowed in a selector');
  21595. }
  21596. inNot = true;
  21597. current = new CssSelector();
  21598. cssSelector.notSelectors.push(current);
  21599. }
  21600. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(match[2])) {
  21601. current.setElement(match[2]);
  21602. }
  21603. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(match[3])) {
  21604. current.addClassName(match[3]);
  21605. }
  21606. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(match[4])) {
  21607. current.addAttribute(match[4], match[5]);
  21608. }
  21609. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(match[6])) {
  21610. inNot = false;
  21611. current = cssSelector;
  21612. }
  21613. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(match[7])) {
  21614. if (inNot) {
  21615. throw new Error('Multiple selectors in :not are not supported');
  21616. }
  21617. _addResult(results, cssSelector);
  21618. cssSelector = current = new CssSelector();
  21619. }
  21620. }
  21621. _addResult(results, cssSelector);
  21622. return results;
  21623. };
  21624. CssSelector.prototype.isElementSelector = function () {
  21625. return this.hasElementSelector() && this.classNames.length == 0 && this.attrs.length == 0 &&
  21626. this.notSelectors.length === 0;
  21627. };
  21628. CssSelector.prototype.hasElementSelector = function () { return !!this.element; };
  21629. CssSelector.prototype.setElement = function (element) {
  21630. if (element === void 0) { element = null; }
  21631. this.element = element;
  21632. };
  21633. /** Gets a template string for an element that matches the selector. */
  21634. CssSelector.prototype.getMatchingElementTemplate = function () {
  21635. var tagName = this.element || 'div';
  21636. var classAttr = this.classNames.length > 0 ? " class=\"" + this.classNames.join(' ') + "\"" : '';
  21637. var attrs = '';
  21638. for (var i = 0; i < this.attrs.length; i += 2) {
  21639. var attrName = this.attrs[i];
  21640. var attrValue = this.attrs[i + 1] !== '' ? "=\"" + this.attrs[i + 1] + "\"" : '';
  21641. attrs += " " + attrName + attrValue;
  21642. }
  21643. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__ml_parser_html_tags__["a" /* getHtmlTagDefinition */])(tagName).isVoid ? "<" + tagName + classAttr + attrs + "/>" :
  21644. "<" + tagName + classAttr + attrs + "></" + tagName + ">";
  21645. };
  21646. CssSelector.prototype.addAttribute = function (name, value) {
  21647. if (value === void 0) { value = _EMPTY_ATTR_VALUE; }
  21648. this.attrs.push(name);
  21649. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(value)) {
  21650. value = value.toLowerCase();
  21651. }
  21652. else {
  21653. value = _EMPTY_ATTR_VALUE;
  21654. }
  21655. this.attrs.push(value);
  21656. };
  21657. CssSelector.prototype.addClassName = function (name) { this.classNames.push(name.toLowerCase()); };
  21658. CssSelector.prototype.toString = function () {
  21659. var res = '';
  21660. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(this.element)) {
  21661. res += this.element;
  21662. }
  21663. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(this.classNames)) {
  21664. for (var i = 0; i < this.classNames.length; i++) {
  21665. res += '.' + this.classNames[i];
  21666. }
  21667. }
  21668. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(this.attrs)) {
  21669. for (var i = 0; i < this.attrs.length;) {
  21670. var attrName = this.attrs[i++];
  21671. var attrValue = this.attrs[i++];
  21672. res += '[' + attrName;
  21673. if (attrValue.length > 0) {
  21674. res += '=' + attrValue;
  21675. }
  21676. res += ']';
  21677. }
  21678. }
  21679. this.notSelectors.forEach(function (notSelector) { return res += ":not(" + notSelector + ")"; });
  21680. return res;
  21681. };
  21682. return CssSelector;
  21683. }());
  21684. /**
  21685. * Reads a list of CssSelectors and allows to calculate which ones
  21686. * are contained in a given CssSelector.
  21687. */
  21688. var SelectorMatcher = (function () {
  21689. function SelectorMatcher() {
  21690. this._elementMap = new Map();
  21691. this._elementPartialMap = new Map();
  21692. this._classMap = new Map();
  21693. this._classPartialMap = new Map();
  21694. this._attrValueMap = new Map();
  21695. this._attrValuePartialMap = new Map();
  21696. this._listContexts = [];
  21697. }
  21698. SelectorMatcher.createNotMatcher = function (notSelectors) {
  21699. var notMatcher = new SelectorMatcher();
  21700. notMatcher.addSelectables(notSelectors, null);
  21701. return notMatcher;
  21702. };
  21703. SelectorMatcher.prototype.addSelectables = function (cssSelectors, callbackCtxt) {
  21704. var listContext = null;
  21705. if (cssSelectors.length > 1) {
  21706. listContext = new SelectorListContext(cssSelectors);
  21707. this._listContexts.push(listContext);
  21708. }
  21709. for (var i = 0; i < cssSelectors.length; i++) {
  21710. this._addSelectable(cssSelectors[i], callbackCtxt, listContext);
  21711. }
  21712. };
  21713. /**
  21714. * Add an object that can be found later on by calling `match`.
  21715. * @param cssSelector A css selector
  21716. * @param callbackCtxt An opaque object that will be given to the callback of the `match` function
  21717. */
  21718. SelectorMatcher.prototype._addSelectable = function (cssSelector, callbackCtxt, listContext) {
  21719. var matcher = this;
  21720. var element = cssSelector.element;
  21721. var classNames = cssSelector.classNames;
  21722. var attrs = cssSelector.attrs;
  21723. var selectable = new SelectorContext(cssSelector, callbackCtxt, listContext);
  21724. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(element)) {
  21725. var isTerminal = attrs.length === 0 && classNames.length === 0;
  21726. if (isTerminal) {
  21727. this._addTerminal(matcher._elementMap, element, selectable);
  21728. }
  21729. else {
  21730. matcher = this._addPartial(matcher._elementPartialMap, element);
  21731. }
  21732. }
  21733. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(classNames)) {
  21734. for (var index = 0; index < classNames.length; index++) {
  21735. var isTerminal = attrs.length === 0 && index === classNames.length - 1;
  21736. var className = classNames[index];
  21737. if (isTerminal) {
  21738. this._addTerminal(matcher._classMap, className, selectable);
  21739. }
  21740. else {
  21741. matcher = this._addPartial(matcher._classPartialMap, className);
  21742. }
  21743. }
  21744. }
  21745. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(attrs)) {
  21746. for (var index = 0; index < attrs.length;) {
  21747. var isTerminal = index === attrs.length - 2;
  21748. var attrName = attrs[index++];
  21749. var attrValue = attrs[index++];
  21750. if (isTerminal) {
  21751. var terminalMap = matcher._attrValueMap;
  21752. var terminalValuesMap = terminalMap.get(attrName);
  21753. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(terminalValuesMap)) {
  21754. terminalValuesMap = new Map();
  21755. terminalMap.set(attrName, terminalValuesMap);
  21756. }
  21757. this._addTerminal(terminalValuesMap, attrValue, selectable);
  21758. }
  21759. else {
  21760. var parttialMap = matcher._attrValuePartialMap;
  21761. var partialValuesMap = parttialMap.get(attrName);
  21762. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(partialValuesMap)) {
  21763. partialValuesMap = new Map();
  21764. parttialMap.set(attrName, partialValuesMap);
  21765. }
  21766. matcher = this._addPartial(partialValuesMap, attrValue);
  21767. }
  21768. }
  21769. }
  21770. };
  21771. SelectorMatcher.prototype._addTerminal = function (map, name, selectable) {
  21772. var terminalList = map.get(name);
  21773. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(terminalList)) {
  21774. terminalList = [];
  21775. map.set(name, terminalList);
  21776. }
  21777. terminalList.push(selectable);
  21778. };
  21779. SelectorMatcher.prototype._addPartial = function (map, name) {
  21780. var matcher = map.get(name);
  21781. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(matcher)) {
  21782. matcher = new SelectorMatcher();
  21783. map.set(name, matcher);
  21784. }
  21785. return matcher;
  21786. };
  21787. /**
  21788. * Find the objects that have been added via `addSelectable`
  21789. * whose css selector is contained in the given css selector.
  21790. * @param cssSelector A css selector
  21791. * @param matchedCallback This callback will be called with the object handed into `addSelectable`
  21792. * @return boolean true if a match was found
  21793. */
  21794. SelectorMatcher.prototype.match = function (cssSelector, matchedCallback) {
  21795. var result = false;
  21796. var element = cssSelector.element;
  21797. var classNames = cssSelector.classNames;
  21798. var attrs = cssSelector.attrs;
  21799. for (var i = 0; i < this._listContexts.length; i++) {
  21800. this._listContexts[i].alreadyMatched = false;
  21801. }
  21802. result = this._matchTerminal(this._elementMap, element, cssSelector, matchedCallback) || result;
  21803. result = this._matchPartial(this._elementPartialMap, element, cssSelector, matchedCallback) ||
  21804. result;
  21805. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(classNames)) {
  21806. for (var index = 0; index < classNames.length; index++) {
  21807. var className = classNames[index];
  21808. result =
  21809. this._matchTerminal(this._classMap, className, cssSelector, matchedCallback) || result;
  21810. result =
  21811. this._matchPartial(this._classPartialMap, className, cssSelector, matchedCallback) ||
  21812. result;
  21813. }
  21814. }
  21815. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(attrs)) {
  21816. for (var index = 0; index < attrs.length;) {
  21817. var attrName = attrs[index++];
  21818. var attrValue = attrs[index++];
  21819. var terminalValuesMap = this._attrValueMap.get(attrName);
  21820. if (!__WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* StringWrapper */].equals(attrValue, _EMPTY_ATTR_VALUE)) {
  21821. result = this._matchTerminal(terminalValuesMap, _EMPTY_ATTR_VALUE, cssSelector, matchedCallback) ||
  21822. result;
  21823. }
  21824. result = this._matchTerminal(terminalValuesMap, attrValue, cssSelector, matchedCallback) ||
  21825. result;
  21826. var partialValuesMap = this._attrValuePartialMap.get(attrName);
  21827. if (!__WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* StringWrapper */].equals(attrValue, _EMPTY_ATTR_VALUE)) {
  21828. result = this._matchPartial(partialValuesMap, _EMPTY_ATTR_VALUE, cssSelector, matchedCallback) ||
  21829. result;
  21830. }
  21831. result =
  21832. this._matchPartial(partialValuesMap, attrValue, cssSelector, matchedCallback) || result;
  21833. }
  21834. }
  21835. return result;
  21836. };
  21837. /** @internal */
  21838. SelectorMatcher.prototype._matchTerminal = function (map, name, cssSelector, matchedCallback) {
  21839. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(map) || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(name)) {
  21840. return false;
  21841. }
  21842. var selectables = map.get(name);
  21843. var starSelectables = map.get('*');
  21844. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(starSelectables)) {
  21845. selectables = selectables.concat(starSelectables);
  21846. }
  21847. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(selectables)) {
  21848. return false;
  21849. }
  21850. var selectable;
  21851. var result = false;
  21852. for (var index = 0; index < selectables.length; index++) {
  21853. selectable = selectables[index];
  21854. result = selectable.finalize(cssSelector, matchedCallback) || result;
  21855. }
  21856. return result;
  21857. };
  21858. /** @internal */
  21859. SelectorMatcher.prototype._matchPartial = function (map, name, cssSelector, matchedCallback) {
  21860. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(map) || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(name)) {
  21861. return false;
  21862. }
  21863. var nestedSelector = map.get(name);
  21864. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(nestedSelector)) {
  21865. return false;
  21866. }
  21867. // TODO(perf): get rid of recursion and measure again
  21868. // TODO(perf): don't pass the whole selector into the recursion,
  21869. // but only the not processed parts
  21870. return nestedSelector.match(cssSelector, matchedCallback);
  21871. };
  21872. return SelectorMatcher;
  21873. }());
  21874. var SelectorListContext = (function () {
  21875. function SelectorListContext(selectors) {
  21876. this.selectors = selectors;
  21877. this.alreadyMatched = false;
  21878. }
  21879. return SelectorListContext;
  21880. }());
  21881. // Store context to pass back selector and context when a selector is matched
  21882. var SelectorContext = (function () {
  21883. function SelectorContext(selector, cbContext, listContext) {
  21884. this.selector = selector;
  21885. this.cbContext = cbContext;
  21886. this.listContext = listContext;
  21887. this.notSelectors = selector.notSelectors;
  21888. }
  21889. SelectorContext.prototype.finalize = function (cssSelector, callback) {
  21890. var result = true;
  21891. if (this.notSelectors.length > 0 &&
  21892. (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(this.listContext) || !this.listContext.alreadyMatched)) {
  21893. var notMatcher = SelectorMatcher.createNotMatcher(this.notSelectors);
  21894. result = !notMatcher.match(cssSelector, null);
  21895. }
  21896. if (result && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(callback) &&
  21897. (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(this.listContext) || !this.listContext.alreadyMatched)) {
  21898. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(this.listContext)) {
  21899. this.listContext.alreadyMatched = true;
  21900. }
  21901. callback(this.selector, this.cbContext);
  21902. }
  21903. return result;
  21904. };
  21905. return SelectorContext;
  21906. }());
  21907. //# sourceMappingURL=selector.js.map
  21908. /***/ },
  21909. /* 196 */
  21910. /***/ function(module, exports, __webpack_require__) {
  21911. "use strict";
  21912. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  21913. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__compile_metadata__ = __webpack_require__(25);
  21914. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__output_output_ast__ = __webpack_require__(12);
  21915. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__shadow_css__ = __webpack_require__(466);
  21916. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__url_resolver__ = __webpack_require__(106);
  21917. /* unused harmony export StylesCompileDependency */
  21918. /* unused harmony export StylesCompileResult */
  21919. /* unused harmony export CompiledStylesheet */
  21920. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return StyleCompiler; });
  21921. /**
  21922. * @license
  21923. * Copyright Google Inc. All Rights Reserved.
  21924. *
  21925. * Use of this source code is governed by an MIT-style license that can be
  21926. * found in the LICENSE file at https://angular.io/license
  21927. */
  21928. var COMPONENT_VARIABLE = '%COMP%';
  21929. var HOST_ATTR = "_nghost-" + COMPONENT_VARIABLE;
  21930. var CONTENT_ATTR = "_ngcontent-" + COMPONENT_VARIABLE;
  21931. var StylesCompileDependency = (function () {
  21932. function StylesCompileDependency(moduleUrl, isShimmed, valuePlaceholder) {
  21933. this.moduleUrl = moduleUrl;
  21934. this.isShimmed = isShimmed;
  21935. this.valuePlaceholder = valuePlaceholder;
  21936. }
  21937. return StylesCompileDependency;
  21938. }());
  21939. var StylesCompileResult = (function () {
  21940. function StylesCompileResult(componentStylesheet, externalStylesheets) {
  21941. this.componentStylesheet = componentStylesheet;
  21942. this.externalStylesheets = externalStylesheets;
  21943. }
  21944. return StylesCompileResult;
  21945. }());
  21946. var CompiledStylesheet = (function () {
  21947. function CompiledStylesheet(statements, stylesVar, dependencies, isShimmed, meta) {
  21948. this.statements = statements;
  21949. this.stylesVar = stylesVar;
  21950. this.dependencies = dependencies;
  21951. this.isShimmed = isShimmed;
  21952. this.meta = meta;
  21953. }
  21954. return CompiledStylesheet;
  21955. }());
  21956. var StyleCompiler = (function () {
  21957. function StyleCompiler(_urlResolver) {
  21958. this._urlResolver = _urlResolver;
  21959. this._shadowCss = new __WEBPACK_IMPORTED_MODULE_3__shadow_css__["a" /* ShadowCss */]();
  21960. }
  21961. StyleCompiler.prototype.compileComponent = function (comp) {
  21962. var _this = this;
  21963. var externalStylesheets = [];
  21964. var componentStylesheet = this._compileStyles(comp, new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["o" /* CompileStylesheetMetadata */]({
  21965. styles: comp.template.styles,
  21966. styleUrls: comp.template.styleUrls,
  21967. moduleUrl: comp.type.moduleUrl
  21968. }), true);
  21969. comp.template.externalStylesheets.forEach(function (stylesheetMeta) {
  21970. var compiledStylesheet = _this._compileStyles(comp, stylesheetMeta, false);
  21971. externalStylesheets.push(compiledStylesheet);
  21972. });
  21973. return new StylesCompileResult(componentStylesheet, externalStylesheets);
  21974. };
  21975. StyleCompiler.prototype._compileStyles = function (comp, stylesheet, isComponentStylesheet) {
  21976. var _this = this;
  21977. var shim = comp.template.encapsulation === __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"].Emulated;
  21978. var styleExpressions = stylesheet.styles.map(function (plainStyle) { return __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["a" /* literal */](_this._shimIfNeeded(plainStyle, shim)); });
  21979. var dependencies = [];
  21980. for (var i = 0; i < stylesheet.styleUrls.length; i++) {
  21981. var identifier = new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["a" /* CompileIdentifierMetadata */]({ name: getStylesVarName(null) });
  21982. dependencies.push(new StylesCompileDependency(stylesheet.styleUrls[i], shim, identifier));
  21983. styleExpressions.push(new __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["S" /* ExternalExpr */](identifier));
  21984. }
  21985. // styles variable contains plain strings and arrays of other styles arrays (recursive),
  21986. // so we set its type to dynamic.
  21987. var stylesVar = getStylesVarName(isComponentStylesheet ? comp : null);
  21988. var stmt = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */](stylesVar)
  21989. .set(__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["g" /* literalArr */](styleExpressions, new __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["q" /* ArrayType */](__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["l" /* DYNAMIC_TYPE */], [__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["d" /* TypeModifier */].Const])))
  21990. .toDeclStmt(null, [__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["u" /* StmtModifier */].Final]);
  21991. return new CompiledStylesheet([stmt], stylesVar, dependencies, shim, stylesheet);
  21992. };
  21993. StyleCompiler.prototype._shimIfNeeded = function (style, shim) {
  21994. return shim ? this._shadowCss.shimCssText(style, CONTENT_ATTR, HOST_ATTR) : style;
  21995. };
  21996. StyleCompiler.decorators = [
  21997. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  21998. ];
  21999. /** @nocollapse */
  22000. StyleCompiler.ctorParameters = [
  22001. { type: __WEBPACK_IMPORTED_MODULE_4__url_resolver__["a" /* UrlResolver */], },
  22002. ];
  22003. return StyleCompiler;
  22004. }());
  22005. function getStylesVarName(component) {
  22006. var result = "styles";
  22007. if (component) {
  22008. result += "_" + component.type.name;
  22009. }
  22010. return result;
  22011. }
  22012. //# sourceMappingURL=style_compiler.js.map
  22013. /***/ },
  22014. /* 197 */
  22015. /***/ function(module, exports, __webpack_require__) {
  22016. "use strict";
  22017. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(13);
  22018. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(4);
  22019. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__output_output_ast__ = __webpack_require__(12);
  22020. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return CompileMethod; });
  22021. /**
  22022. * @license
  22023. * Copyright Google Inc. All Rights Reserved.
  22024. *
  22025. * Use of this source code is governed by an MIT-style license that can be
  22026. * found in the LICENSE file at https://angular.io/license
  22027. */
  22028. var _DebugState = (function () {
  22029. function _DebugState(nodeIndex, sourceAst) {
  22030. this.nodeIndex = nodeIndex;
  22031. this.sourceAst = sourceAst;
  22032. }
  22033. return _DebugState;
  22034. }());
  22035. var NULL_DEBUG_STATE = new _DebugState(null, null);
  22036. var CompileMethod = (function () {
  22037. function CompileMethod(_view) {
  22038. this._view = _view;
  22039. this._newState = NULL_DEBUG_STATE;
  22040. this._currState = NULL_DEBUG_STATE;
  22041. this._bodyStatements = [];
  22042. this._debugEnabled = this._view.genConfig.genDebugInfo;
  22043. }
  22044. CompileMethod.prototype._updateDebugContextIfNeeded = function () {
  22045. if (this._newState.nodeIndex !== this._currState.nodeIndex ||
  22046. this._newState.sourceAst !== this._currState.sourceAst) {
  22047. var expr = this._updateDebugContext(this._newState);
  22048. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(expr)) {
  22049. this._bodyStatements.push(expr.toStmt());
  22050. }
  22051. }
  22052. };
  22053. CompileMethod.prototype._updateDebugContext = function (newState) {
  22054. this._currState = this._newState = newState;
  22055. if (this._debugEnabled) {
  22056. var sourceLocation = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(newState.sourceAst) ? newState.sourceAst.sourceSpan.start : null;
  22057. return __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["n" /* THIS_EXPR */].callMethod('debug', [
  22058. __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["a" /* literal */](newState.nodeIndex),
  22059. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(sourceLocation) ? __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["a" /* literal */](sourceLocation.line) : __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["h" /* NULL_EXPR */],
  22060. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(sourceLocation) ? __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["a" /* literal */](sourceLocation.col) : __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["h" /* NULL_EXPR */]
  22061. ]);
  22062. }
  22063. else {
  22064. return null;
  22065. }
  22066. };
  22067. CompileMethod.prototype.resetDebugInfoExpr = function (nodeIndex, templateAst) {
  22068. var res = this._updateDebugContext(new _DebugState(nodeIndex, templateAst));
  22069. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(res) ? res : __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["h" /* NULL_EXPR */];
  22070. };
  22071. CompileMethod.prototype.resetDebugInfo = function (nodeIndex, templateAst) {
  22072. this._newState = new _DebugState(nodeIndex, templateAst);
  22073. };
  22074. CompileMethod.prototype.addStmt = function (stmt) {
  22075. this._updateDebugContextIfNeeded();
  22076. this._bodyStatements.push(stmt);
  22077. };
  22078. CompileMethod.prototype.addStmts = function (stmts) {
  22079. this._updateDebugContextIfNeeded();
  22080. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].addAll(this._bodyStatements, stmts);
  22081. };
  22082. CompileMethod.prototype.finish = function () { return this._bodyStatements; };
  22083. CompileMethod.prototype.isEmpty = function () { return this._bodyStatements.length === 0; };
  22084. return CompileMethod;
  22085. }());
  22086. //# sourceMappingURL=compile_method.js.map
  22087. /***/ },
  22088. /* 198 */
  22089. /***/ function(module, exports, __webpack_require__) {
  22090. "use strict";
  22091. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(5);
  22092. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return AnimationPlayer; });
  22093. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NoOpAnimationPlayer; });
  22094. /**
  22095. * @license
  22096. * Copyright Google Inc. All Rights Reserved.
  22097. *
  22098. * Use of this source code is governed by an MIT-style license that can be
  22099. * found in the LICENSE file at https://angular.io/license
  22100. */
  22101. /**
  22102. * @experimental Animation support is experimental.
  22103. */
  22104. var AnimationPlayer = (function () {
  22105. function AnimationPlayer() {
  22106. }
  22107. Object.defineProperty(AnimationPlayer.prototype, "parentPlayer", {
  22108. get: function () { throw new Error('NOT IMPLEMENTED: Base Class'); },
  22109. set: function (player) { throw new Error('NOT IMPLEMENTED: Base Class'); },
  22110. enumerable: true,
  22111. configurable: true
  22112. });
  22113. return AnimationPlayer;
  22114. }());
  22115. var NoOpAnimationPlayer = (function () {
  22116. function NoOpAnimationPlayer() {
  22117. var _this = this;
  22118. this._onDoneFns = [];
  22119. this._onStartFns = [];
  22120. this._started = false;
  22121. this.parentPlayer = null;
  22122. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["q" /* scheduleMicroTask */])(function () { return _this._onFinish(); });
  22123. }
  22124. /** @internal */
  22125. NoOpAnimationPlayer.prototype._onFinish = function () {
  22126. this._onDoneFns.forEach(function (fn) { return fn(); });
  22127. this._onDoneFns = [];
  22128. };
  22129. NoOpAnimationPlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };
  22130. NoOpAnimationPlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };
  22131. NoOpAnimationPlayer.prototype.hasStarted = function () { return this._started; };
  22132. NoOpAnimationPlayer.prototype.init = function () { };
  22133. NoOpAnimationPlayer.prototype.play = function () {
  22134. if (!this.hasStarted()) {
  22135. this._onStartFns.forEach(function (fn) { return fn(); });
  22136. this._onStartFns = [];
  22137. }
  22138. this._started = true;
  22139. };
  22140. NoOpAnimationPlayer.prototype.pause = function () { };
  22141. NoOpAnimationPlayer.prototype.restart = function () { };
  22142. NoOpAnimationPlayer.prototype.finish = function () { this._onFinish(); };
  22143. NoOpAnimationPlayer.prototype.destroy = function () { };
  22144. NoOpAnimationPlayer.prototype.reset = function () { };
  22145. NoOpAnimationPlayer.prototype.setPosition = function (p /** TODO #9100 */) { };
  22146. NoOpAnimationPlayer.prototype.getPosition = function () { return 0; };
  22147. return NoOpAnimationPlayer;
  22148. }());
  22149. //# sourceMappingURL=animation_player.js.map
  22150. /***/ },
  22151. /* 199 */
  22152. /***/ function(module, exports, __webpack_require__) {
  22153. "use strict";
  22154. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_util_lang__ = __webpack_require__(214);
  22155. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__di__ = __webpack_require__(39);
  22156. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return APP_INITIALIZER; });
  22157. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ApplicationInitStatus; });
  22158. /**
  22159. * @license
  22160. * Copyright Google Inc. All Rights Reserved.
  22161. *
  22162. * Use of this source code is governed by an MIT-style license that can be
  22163. * found in the LICENSE file at https://angular.io/license
  22164. */
  22165. /**
  22166. * A function that will be executed when an application is initialized.
  22167. * @experimental
  22168. */
  22169. var APP_INITIALIZER = new __WEBPACK_IMPORTED_MODULE_1__di__["a" /* OpaqueToken */]('Application Initializer');
  22170. /**
  22171. * A class that reflects the state of running {@link APP_INITIALIZER}s.
  22172. *
  22173. * @experimental
  22174. */
  22175. var ApplicationInitStatus = (function () {
  22176. function ApplicationInitStatus(appInits) {
  22177. var _this = this;
  22178. this._done = false;
  22179. var asyncInitPromises = [];
  22180. if (appInits) {
  22181. for (var i = 0; i < appInits.length; i++) {
  22182. var initResult = appInits[i]();
  22183. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__src_util_lang__["a" /* isPromise */])(initResult)) {
  22184. asyncInitPromises.push(initResult);
  22185. }
  22186. }
  22187. }
  22188. this._donePromise = Promise.all(asyncInitPromises).then(function () { _this._done = true; });
  22189. if (asyncInitPromises.length === 0) {
  22190. this._done = true;
  22191. }
  22192. }
  22193. Object.defineProperty(ApplicationInitStatus.prototype, "done", {
  22194. get: function () { return this._done; },
  22195. enumerable: true,
  22196. configurable: true
  22197. });
  22198. Object.defineProperty(ApplicationInitStatus.prototype, "donePromise", {
  22199. get: function () { return this._donePromise; },
  22200. enumerable: true,
  22201. configurable: true
  22202. });
  22203. ApplicationInitStatus.decorators = [
  22204. { type: __WEBPACK_IMPORTED_MODULE_1__di__["b" /* Injectable */] },
  22205. ];
  22206. /** @nocollapse */
  22207. ApplicationInitStatus.ctorParameters = [
  22208. { type: Array, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_1__di__["c" /* Inject */], args: [APP_INITIALIZER,] }, { type: __WEBPACK_IMPORTED_MODULE_1__di__["d" /* Optional */] },] },
  22209. ];
  22210. return ApplicationInitStatus;
  22211. }());
  22212. //# sourceMappingURL=application_init.js.map
  22213. /***/ },
  22214. /* 200 */
  22215. /***/ function(module, exports, __webpack_require__) {
  22216. "use strict";
  22217. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_error_handler__ = __webpack_require__(311);
  22218. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_facade_collection__ = __webpack_require__(16);
  22219. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_facade_errors__ = __webpack_require__(35);
  22220. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_facade_lang__ = __webpack_require__(5);
  22221. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_util_lang__ = __webpack_require__(214);
  22222. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__application_init__ = __webpack_require__(199);
  22223. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__application_tokens__ = __webpack_require__(135);
  22224. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__console__ = __webpack_require__(202);
  22225. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__di__ = __webpack_require__(39);
  22226. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__linker_compiler__ = __webpack_require__(108);
  22227. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__linker_component_factory__ = __webpack_require__(313);
  22228. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__linker_component_factory_resolver__ = __webpack_require__(141);
  22229. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__profile_profile__ = __webpack_require__(144);
  22230. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__testability_testability__ = __webpack_require__(212);
  22231. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__zone_ng_zone__ = __webpack_require__(215);
  22232. /* harmony export (immutable) */ exports["k"] = enableProdMode;
  22233. /* harmony export (immutable) */ exports["f"] = isDevMode;
  22234. /* harmony export (immutable) */ exports["j"] = createPlatform;
  22235. /* harmony export (immutable) */ exports["c"] = createPlatformFactory;
  22236. /* harmony export (immutable) */ exports["g"] = assertPlatform;
  22237. /* harmony export (immutable) */ exports["h"] = destroyPlatform;
  22238. /* harmony export (immutable) */ exports["i"] = getPlatform;
  22239. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return PlatformRef; });
  22240. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return PlatformRef_; });
  22241. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return ApplicationRef; });
  22242. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return ApplicationRef_; });
  22243. /**
  22244. * @license
  22245. * Copyright Google Inc. All Rights Reserved.
  22246. *
  22247. * Use of this source code is governed by an MIT-style license that can be
  22248. * found in the LICENSE file at https://angular.io/license
  22249. */
  22250. var __extends = (this && this.__extends) || function (d, b) {
  22251. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  22252. function __() { this.constructor = d; }
  22253. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  22254. };
  22255. var _devMode = true;
  22256. var _runModeLocked = false;
  22257. var _platform;
  22258. /**
  22259. * Disable Angular's development mode, which turns off assertions and other
  22260. * checks within the framework.
  22261. *
  22262. * One important assertion this disables verifies that a change detection pass
  22263. * does not result in additional changes to any bindings (also known as
  22264. * unidirectional data flow).
  22265. *
  22266. * @stable
  22267. */
  22268. function enableProdMode() {
  22269. if (_runModeLocked) {
  22270. throw new Error('Cannot enable prod mode after platform setup.');
  22271. }
  22272. _devMode = false;
  22273. }
  22274. /**
  22275. * Returns whether Angular is in development mode. After called once,
  22276. * the value is locked and won't change any more.
  22277. *
  22278. * By default, this is true, unless a user calls `enableProdMode` before calling this.
  22279. *
  22280. * @experimental APIs related to application bootstrap are currently under review.
  22281. */
  22282. function isDevMode() {
  22283. _runModeLocked = true;
  22284. return _devMode;
  22285. }
  22286. /**
  22287. * Creates a platform.
  22288. * Platforms have to be eagerly created via this function.
  22289. *
  22290. * @experimental APIs related to application bootstrap are currently under review.
  22291. */
  22292. function createPlatform(injector) {
  22293. if (_platform && !_platform.destroyed) {
  22294. throw new Error('There can be only one platform. Destroy the previous one to create a new one.');
  22295. }
  22296. _platform = injector.get(PlatformRef);
  22297. var inits = injector.get(__WEBPACK_IMPORTED_MODULE_6__application_tokens__["b" /* PLATFORM_INITIALIZER */], null);
  22298. if (inits)
  22299. inits.forEach(function (init) { return init(); });
  22300. return _platform;
  22301. }
  22302. /**
  22303. * Creates a factory for a platform
  22304. *
  22305. * @experimental APIs related to application bootstrap are currently under review.
  22306. */
  22307. function createPlatformFactory(parentPlaformFactory, name, providers) {
  22308. if (providers === void 0) { providers = []; }
  22309. var marker = new __WEBPACK_IMPORTED_MODULE_8__di__["a" /* OpaqueToken */]("Platform: " + name);
  22310. return function (extraProviders) {
  22311. if (extraProviders === void 0) { extraProviders = []; }
  22312. if (!getPlatform()) {
  22313. if (parentPlaformFactory) {
  22314. parentPlaformFactory(providers.concat(extraProviders).concat({ provide: marker, useValue: true }));
  22315. }
  22316. else {
  22317. createPlatform(__WEBPACK_IMPORTED_MODULE_8__di__["f" /* ReflectiveInjector */].resolveAndCreate(providers.concat(extraProviders).concat({ provide: marker, useValue: true })));
  22318. }
  22319. }
  22320. return assertPlatform(marker);
  22321. };
  22322. }
  22323. /**
  22324. * Checks that there currently is a platform
  22325. * which contains the given token as a provider.
  22326. *
  22327. * @experimental APIs related to application bootstrap are currently under review.
  22328. */
  22329. function assertPlatform(requiredToken) {
  22330. var platform = getPlatform();
  22331. if (!platform) {
  22332. throw new Error('No platform exists!');
  22333. }
  22334. if (!platform.injector.get(requiredToken, null)) {
  22335. throw new Error('A platform with a different configuration has been created. Please destroy it first.');
  22336. }
  22337. return platform;
  22338. }
  22339. /**
  22340. * Destroy the existing platform.
  22341. *
  22342. * @experimental APIs related to application bootstrap are currently under review.
  22343. */
  22344. function destroyPlatform() {
  22345. if (_platform && !_platform.destroyed) {
  22346. _platform.destroy();
  22347. }
  22348. }
  22349. /**
  22350. * Returns the current platform.
  22351. *
  22352. * @experimental APIs related to application bootstrap are currently under review.
  22353. */
  22354. function getPlatform() {
  22355. return _platform && !_platform.destroyed ? _platform : null;
  22356. }
  22357. /**
  22358. * The Angular platform is the entry point for Angular on a web page. Each page
  22359. * has exactly one platform, and services (such as reflection) which are common
  22360. * to every Angular application running on the page are bound in its scope.
  22361. *
  22362. * A page's platform is initialized implicitly when {@link bootstrap}() is called, or
  22363. * explicitly by calling {@link createPlatform}().
  22364. *
  22365. * @stable
  22366. */
  22367. var PlatformRef = (function () {
  22368. function PlatformRef() {
  22369. }
  22370. /**
  22371. * Creates an instance of an `@NgModule` for the given platform
  22372. * for offline compilation.
  22373. *
  22374. * ## Simple Example
  22375. *
  22376. * ```typescript
  22377. * my_module.ts:
  22378. *
  22379. * @NgModule({
  22380. * imports: [BrowserModule]
  22381. * })
  22382. * class MyModule {}
  22383. *
  22384. * main.ts:
  22385. * import {MyModuleNgFactory} from './my_module.ngfactory';
  22386. * import {platformBrowser} from '@angular/platform-browser';
  22387. *
  22388. * let moduleRef = platformBrowser().bootstrapModuleFactory(MyModuleNgFactory);
  22389. * ```
  22390. *
  22391. * @experimental APIs related to application bootstrap are currently under review.
  22392. */
  22393. PlatformRef.prototype.bootstrapModuleFactory = function (moduleFactory) {
  22394. throw __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__src_facade_errors__["a" /* unimplemented */])();
  22395. };
  22396. /**
  22397. * Creates an instance of an `@NgModule` for a given platform using the given runtime compiler.
  22398. *
  22399. * ## Simple Example
  22400. *
  22401. * ```typescript
  22402. * @NgModule({
  22403. * imports: [BrowserModule]
  22404. * })
  22405. * class MyModule {}
  22406. *
  22407. * let moduleRef = platformBrowser().bootstrapModule(MyModule);
  22408. * ```
  22409. * @stable
  22410. */
  22411. PlatformRef.prototype.bootstrapModule = function (moduleType, compilerOptions) {
  22412. if (compilerOptions === void 0) { compilerOptions = []; }
  22413. throw __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__src_facade_errors__["a" /* unimplemented */])();
  22414. };
  22415. Object.defineProperty(PlatformRef.prototype, "injector", {
  22416. /**
  22417. * Retrieve the platform {@link Injector}, which is the parent injector for
  22418. * every Angular application on the page and provides singleton providers.
  22419. */
  22420. get: function () { throw __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__src_facade_errors__["a" /* unimplemented */])(); },
  22421. enumerable: true,
  22422. configurable: true
  22423. });
  22424. ;
  22425. Object.defineProperty(PlatformRef.prototype, "destroyed", {
  22426. get: function () { throw __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__src_facade_errors__["a" /* unimplemented */])(); },
  22427. enumerable: true,
  22428. configurable: true
  22429. });
  22430. return PlatformRef;
  22431. }());
  22432. function _callAndReportToErrorHandler(errorHandler, callback) {
  22433. try {
  22434. var result = callback();
  22435. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__src_util_lang__["a" /* isPromise */])(result)) {
  22436. return result.catch(function (e) {
  22437. errorHandler.handleError(e);
  22438. // rethrow as the exception handler might not do it
  22439. throw e;
  22440. });
  22441. }
  22442. return result;
  22443. }
  22444. catch (e) {
  22445. errorHandler.handleError(e);
  22446. // rethrow as the exception handler might not do it
  22447. throw e;
  22448. }
  22449. }
  22450. var PlatformRef_ = (function (_super) {
  22451. __extends(PlatformRef_, _super);
  22452. function PlatformRef_(_injector) {
  22453. _super.call(this);
  22454. this._injector = _injector;
  22455. this._modules = [];
  22456. this._destroyListeners = [];
  22457. this._destroyed = false;
  22458. }
  22459. PlatformRef_.prototype.onDestroy = function (callback) { this._destroyListeners.push(callback); };
  22460. Object.defineProperty(PlatformRef_.prototype, "injector", {
  22461. get: function () { return this._injector; },
  22462. enumerable: true,
  22463. configurable: true
  22464. });
  22465. Object.defineProperty(PlatformRef_.prototype, "destroyed", {
  22466. get: function () { return this._destroyed; },
  22467. enumerable: true,
  22468. configurable: true
  22469. });
  22470. PlatformRef_.prototype.destroy = function () {
  22471. if (this._destroyed) {
  22472. throw new Error('The platform has already been destroyed!');
  22473. }
  22474. this._modules.slice().forEach(function (module) { return module.destroy(); });
  22475. this._destroyListeners.forEach(function (listener) { return listener(); });
  22476. this._destroyed = true;
  22477. };
  22478. PlatformRef_.prototype.bootstrapModuleFactory = function (moduleFactory) {
  22479. return this._bootstrapModuleFactoryWithZone(moduleFactory, null);
  22480. };
  22481. PlatformRef_.prototype._bootstrapModuleFactoryWithZone = function (moduleFactory, ngZone) {
  22482. var _this = this;
  22483. // Note: We need to create the NgZone _before_ we instantiate the module,
  22484. // as instantiating the module creates some providers eagerly.
  22485. // So we create a mini parent injector that just contains the new NgZone and
  22486. // pass that as parent to the NgModuleFactory.
  22487. if (!ngZone)
  22488. ngZone = new __WEBPACK_IMPORTED_MODULE_14__zone_ng_zone__["a" /* NgZone */]({ enableLongStackTrace: isDevMode() });
  22489. // Attention: Don't use ApplicationRef.run here,
  22490. // as we want to be sure that all possible constructor calls are inside `ngZone.run`!
  22491. return ngZone.run(function () {
  22492. var ngZoneInjector = __WEBPACK_IMPORTED_MODULE_8__di__["f" /* ReflectiveInjector */].resolveAndCreate([{ provide: __WEBPACK_IMPORTED_MODULE_14__zone_ng_zone__["a" /* NgZone */], useValue: ngZone }], _this.injector);
  22493. var moduleRef = moduleFactory.create(ngZoneInjector);
  22494. var exceptionHandler = moduleRef.injector.get(__WEBPACK_IMPORTED_MODULE_0__src_error_handler__["a" /* ErrorHandler */], null);
  22495. if (!exceptionHandler) {
  22496. throw new Error('No ErrorHandler. Is platform module (BrowserModule) included?');
  22497. }
  22498. moduleRef.onDestroy(function () { return __WEBPACK_IMPORTED_MODULE_1__src_facade_collection__["a" /* ListWrapper */].remove(_this._modules, moduleRef); });
  22499. ngZone.onError.subscribe({ next: function (error) { exceptionHandler.handleError(error); } });
  22500. return _callAndReportToErrorHandler(exceptionHandler, function () {
  22501. var initStatus = moduleRef.injector.get(__WEBPACK_IMPORTED_MODULE_5__application_init__["a" /* ApplicationInitStatus */]);
  22502. return initStatus.donePromise.then(function () {
  22503. _this._moduleDoBootstrap(moduleRef);
  22504. return moduleRef;
  22505. });
  22506. });
  22507. });
  22508. };
  22509. PlatformRef_.prototype.bootstrapModule = function (moduleType, compilerOptions) {
  22510. if (compilerOptions === void 0) { compilerOptions = []; }
  22511. return this._bootstrapModuleWithZone(moduleType, compilerOptions, null);
  22512. };
  22513. PlatformRef_.prototype._bootstrapModuleWithZone = function (moduleType, compilerOptions, ngZone, componentFactoryCallback) {
  22514. var _this = this;
  22515. if (compilerOptions === void 0) { compilerOptions = []; }
  22516. var compilerFactory = this.injector.get(__WEBPACK_IMPORTED_MODULE_9__linker_compiler__["a" /* CompilerFactory */]);
  22517. var compiler = compilerFactory.createCompiler(Array.isArray(compilerOptions) ? compilerOptions : [compilerOptions]);
  22518. // ugly internal api hack: generate host component factories for all declared components and
  22519. // pass the factories into the callback - this is used by UpdateAdapter to get hold of all
  22520. // factories.
  22521. if (componentFactoryCallback) {
  22522. return compiler.compileModuleAndAllComponentsAsync(moduleType)
  22523. .then(function (_a) {
  22524. var ngModuleFactory = _a.ngModuleFactory, componentFactories = _a.componentFactories;
  22525. componentFactoryCallback(componentFactories);
  22526. return _this._bootstrapModuleFactoryWithZone(ngModuleFactory, ngZone);
  22527. });
  22528. }
  22529. return compiler.compileModuleAsync(moduleType)
  22530. .then(function (moduleFactory) { return _this._bootstrapModuleFactoryWithZone(moduleFactory, ngZone); });
  22531. };
  22532. PlatformRef_.prototype._moduleDoBootstrap = function (moduleRef) {
  22533. var appRef = moduleRef.injector.get(ApplicationRef);
  22534. if (moduleRef.bootstrapFactories.length > 0) {
  22535. moduleRef.bootstrapFactories.forEach(function (compFactory) { return appRef.bootstrap(compFactory); });
  22536. }
  22537. else if (moduleRef.instance.ngDoBootstrap) {
  22538. moduleRef.instance.ngDoBootstrap(appRef);
  22539. }
  22540. else {
  22541. throw new Error(("The module " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__src_facade_lang__["b" /* stringify */])(moduleRef.instance.constructor) + " was bootstrapped, but it does not declare \"@NgModule.bootstrap\" components nor a \"ngDoBootstrap\" method. ") +
  22542. "Please define one of these.");
  22543. }
  22544. };
  22545. PlatformRef_.decorators = [
  22546. { type: __WEBPACK_IMPORTED_MODULE_8__di__["b" /* Injectable */] },
  22547. ];
  22548. /** @nocollapse */
  22549. PlatformRef_.ctorParameters = [
  22550. { type: __WEBPACK_IMPORTED_MODULE_8__di__["g" /* Injector */], },
  22551. ];
  22552. return PlatformRef_;
  22553. }(PlatformRef));
  22554. /**
  22555. * A reference to an Angular application running on a page.
  22556. *
  22557. * For more about Angular applications, see the documentation for {@link bootstrap}.
  22558. *
  22559. * @stable
  22560. */
  22561. var ApplicationRef = (function () {
  22562. function ApplicationRef() {
  22563. }
  22564. Object.defineProperty(ApplicationRef.prototype, "componentTypes", {
  22565. /**
  22566. * Get a list of component types registered to this application.
  22567. * This list is populated even before the component is created.
  22568. */
  22569. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__src_facade_errors__["a" /* unimplemented */])(); },
  22570. enumerable: true,
  22571. configurable: true
  22572. });
  22573. ;
  22574. Object.defineProperty(ApplicationRef.prototype, "components", {
  22575. /**
  22576. * Get a list of components registered to this application.
  22577. */
  22578. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__src_facade_errors__["a" /* unimplemented */])(); },
  22579. enumerable: true,
  22580. configurable: true
  22581. });
  22582. ;
  22583. return ApplicationRef;
  22584. }());
  22585. var ApplicationRef_ = (function (_super) {
  22586. __extends(ApplicationRef_, _super);
  22587. function ApplicationRef_(_zone, _console, _injector, _exceptionHandler, _componentFactoryResolver, _initStatus, _testabilityRegistry, _testability) {
  22588. var _this = this;
  22589. _super.call(this);
  22590. this._zone = _zone;
  22591. this._console = _console;
  22592. this._injector = _injector;
  22593. this._exceptionHandler = _exceptionHandler;
  22594. this._componentFactoryResolver = _componentFactoryResolver;
  22595. this._initStatus = _initStatus;
  22596. this._testabilityRegistry = _testabilityRegistry;
  22597. this._testability = _testability;
  22598. this._bootstrapListeners = [];
  22599. this._rootComponents = [];
  22600. this._rootComponentTypes = [];
  22601. this._changeDetectorRefs = [];
  22602. this._runningTick = false;
  22603. this._enforceNoNewChanges = false;
  22604. this._enforceNoNewChanges = isDevMode();
  22605. this._zone.onMicrotaskEmpty.subscribe({ next: function () { _this._zone.run(function () { _this.tick(); }); } });
  22606. }
  22607. ApplicationRef_.prototype.registerChangeDetector = function (changeDetector) {
  22608. this._changeDetectorRefs.push(changeDetector);
  22609. };
  22610. ApplicationRef_.prototype.unregisterChangeDetector = function (changeDetector) {
  22611. __WEBPACK_IMPORTED_MODULE_1__src_facade_collection__["a" /* ListWrapper */].remove(this._changeDetectorRefs, changeDetector);
  22612. };
  22613. ApplicationRef_.prototype.bootstrap = function (componentOrFactory) {
  22614. var _this = this;
  22615. if (!this._initStatus.done) {
  22616. throw new Error('Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.');
  22617. }
  22618. var componentFactory;
  22619. if (componentOrFactory instanceof __WEBPACK_IMPORTED_MODULE_10__linker_component_factory__["a" /* ComponentFactory */]) {
  22620. componentFactory = componentOrFactory;
  22621. }
  22622. else {
  22623. componentFactory = this._componentFactoryResolver.resolveComponentFactory(componentOrFactory);
  22624. }
  22625. this._rootComponentTypes.push(componentFactory.componentType);
  22626. var compRef = componentFactory.create(this._injector, [], componentFactory.selector);
  22627. compRef.onDestroy(function () { _this._unloadComponent(compRef); });
  22628. var testability = compRef.injector.get(__WEBPACK_IMPORTED_MODULE_13__testability_testability__["a" /* Testability */], null);
  22629. if (testability) {
  22630. compRef.injector.get(__WEBPACK_IMPORTED_MODULE_13__testability_testability__["b" /* TestabilityRegistry */])
  22631. .registerApplication(compRef.location.nativeElement, testability);
  22632. }
  22633. this._loadComponent(compRef);
  22634. if (isDevMode()) {
  22635. this._console.log("Angular 2 is running in the development mode. Call enableProdMode() to enable the production mode.");
  22636. }
  22637. return compRef;
  22638. };
  22639. /** @internal */
  22640. ApplicationRef_.prototype._loadComponent = function (componentRef) {
  22641. this._changeDetectorRefs.push(componentRef.changeDetectorRef);
  22642. this.tick();
  22643. this._rootComponents.push(componentRef);
  22644. // Get the listeners lazily to prevent DI cycles.
  22645. var listeners = this._injector.get(__WEBPACK_IMPORTED_MODULE_6__application_tokens__["c" /* APP_BOOTSTRAP_LISTENER */], [])
  22646. .concat(this._bootstrapListeners);
  22647. listeners.forEach(function (listener) { return listener(componentRef); });
  22648. };
  22649. /** @internal */
  22650. ApplicationRef_.prototype._unloadComponent = function (componentRef) {
  22651. if (this._rootComponents.indexOf(componentRef) == -1) {
  22652. return;
  22653. }
  22654. this.unregisterChangeDetector(componentRef.changeDetectorRef);
  22655. __WEBPACK_IMPORTED_MODULE_1__src_facade_collection__["a" /* ListWrapper */].remove(this._rootComponents, componentRef);
  22656. };
  22657. ApplicationRef_.prototype.tick = function () {
  22658. if (this._runningTick) {
  22659. throw new Error('ApplicationRef.tick is called recursively');
  22660. }
  22661. var scope = ApplicationRef_._tickScope();
  22662. try {
  22663. this._runningTick = true;
  22664. this._changeDetectorRefs.forEach(function (detector) { return detector.detectChanges(); });
  22665. if (this._enforceNoNewChanges) {
  22666. this._changeDetectorRefs.forEach(function (detector) { return detector.checkNoChanges(); });
  22667. }
  22668. }
  22669. finally {
  22670. this._runningTick = false;
  22671. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__profile_profile__["b" /* wtfLeave */])(scope);
  22672. }
  22673. };
  22674. ApplicationRef_.prototype.ngOnDestroy = function () {
  22675. // TODO(alxhub): Dispose of the NgZone.
  22676. this._rootComponents.slice().forEach(function (component) { return component.destroy(); });
  22677. };
  22678. Object.defineProperty(ApplicationRef_.prototype, "componentTypes", {
  22679. get: function () { return this._rootComponentTypes; },
  22680. enumerable: true,
  22681. configurable: true
  22682. });
  22683. Object.defineProperty(ApplicationRef_.prototype, "components", {
  22684. get: function () { return this._rootComponents; },
  22685. enumerable: true,
  22686. configurable: true
  22687. });
  22688. /** @internal */
  22689. ApplicationRef_._tickScope = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__profile_profile__["a" /* wtfCreateScope */])('ApplicationRef#tick()');
  22690. ApplicationRef_.decorators = [
  22691. { type: __WEBPACK_IMPORTED_MODULE_8__di__["b" /* Injectable */] },
  22692. ];
  22693. /** @nocollapse */
  22694. ApplicationRef_.ctorParameters = [
  22695. { type: __WEBPACK_IMPORTED_MODULE_14__zone_ng_zone__["a" /* NgZone */], },
  22696. { type: __WEBPACK_IMPORTED_MODULE_7__console__["a" /* Console */], },
  22697. { type: __WEBPACK_IMPORTED_MODULE_8__di__["g" /* Injector */], },
  22698. { type: __WEBPACK_IMPORTED_MODULE_0__src_error_handler__["a" /* ErrorHandler */], },
  22699. { type: __WEBPACK_IMPORTED_MODULE_11__linker_component_factory_resolver__["a" /* ComponentFactoryResolver */], },
  22700. { type: __WEBPACK_IMPORTED_MODULE_5__application_init__["a" /* ApplicationInitStatus */], },
  22701. { type: __WEBPACK_IMPORTED_MODULE_13__testability_testability__["b" /* TestabilityRegistry */], decorators: [{ type: __WEBPACK_IMPORTED_MODULE_8__di__["d" /* Optional */] },] },
  22702. { type: __WEBPACK_IMPORTED_MODULE_13__testability_testability__["a" /* Testability */], decorators: [{ type: __WEBPACK_IMPORTED_MODULE_8__di__["d" /* Optional */] },] },
  22703. ];
  22704. return ApplicationRef_;
  22705. }(ApplicationRef));
  22706. //# sourceMappingURL=application_ref.js.map
  22707. /***/ },
  22708. /* 201 */
  22709. /***/ function(module, exports, __webpack_require__) {
  22710. "use strict";
  22711. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(16);
  22712. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(5);
  22713. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DefaultIterableDifferFactory; });
  22714. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return DefaultIterableDiffer; });
  22715. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return CollectionChangeRecord; });
  22716. /**
  22717. * @license
  22718. * Copyright Google Inc. All Rights Reserved.
  22719. *
  22720. * Use of this source code is governed by an MIT-style license that can be
  22721. * found in the LICENSE file at https://angular.io/license
  22722. */
  22723. var DefaultIterableDifferFactory = (function () {
  22724. function DefaultIterableDifferFactory() {
  22725. }
  22726. DefaultIterableDifferFactory.prototype.supports = function (obj) { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_collection__["e" /* isListLikeIterable */])(obj); };
  22727. DefaultIterableDifferFactory.prototype.create = function (cdRef, trackByFn) {
  22728. return new DefaultIterableDiffer(trackByFn);
  22729. };
  22730. return DefaultIterableDifferFactory;
  22731. }());
  22732. var trackByIdentity = function (index, item) { return item; };
  22733. /**
  22734. * @stable
  22735. */
  22736. var DefaultIterableDiffer = (function () {
  22737. function DefaultIterableDiffer(_trackByFn) {
  22738. this._trackByFn = _trackByFn;
  22739. this._length = null;
  22740. this._collection = null;
  22741. // Keeps track of the used records at any point in time (during & across `_check()` calls)
  22742. this._linkedRecords = null;
  22743. // Keeps track of the removed records at any point in time during `_check()` calls.
  22744. this._unlinkedRecords = null;
  22745. this._previousItHead = null;
  22746. this._itHead = null;
  22747. this._itTail = null;
  22748. this._additionsHead = null;
  22749. this._additionsTail = null;
  22750. this._movesHead = null;
  22751. this._movesTail = null;
  22752. this._removalsHead = null;
  22753. this._removalsTail = null;
  22754. // Keeps track of records where custom track by is the same, but item identity has changed
  22755. this._identityChangesHead = null;
  22756. this._identityChangesTail = null;
  22757. this._trackByFn = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(this._trackByFn) ? this._trackByFn : trackByIdentity;
  22758. }
  22759. Object.defineProperty(DefaultIterableDiffer.prototype, "collection", {
  22760. get: function () { return this._collection; },
  22761. enumerable: true,
  22762. configurable: true
  22763. });
  22764. Object.defineProperty(DefaultIterableDiffer.prototype, "length", {
  22765. get: function () { return this._length; },
  22766. enumerable: true,
  22767. configurable: true
  22768. });
  22769. DefaultIterableDiffer.prototype.forEachItem = function (fn) {
  22770. var record;
  22771. for (record = this._itHead; record !== null; record = record._next) {
  22772. fn(record);
  22773. }
  22774. };
  22775. DefaultIterableDiffer.prototype.forEachOperation = function (fn) {
  22776. var nextIt = this._itHead;
  22777. var nextRemove = this._removalsHead;
  22778. var addRemoveOffset = 0;
  22779. var moveOffsets = null;
  22780. while (nextIt || nextRemove) {
  22781. // Figure out which is the next record to process
  22782. // Order: remove, add, move
  22783. var record = !nextRemove ||
  22784. nextIt &&
  22785. nextIt.currentIndex < getPreviousIndex(nextRemove, addRemoveOffset, moveOffsets) ?
  22786. nextIt :
  22787. nextRemove;
  22788. var adjPreviousIndex = getPreviousIndex(record, addRemoveOffset, moveOffsets);
  22789. var currentIndex = record.currentIndex;
  22790. // consume the item, and adjust the addRemoveOffset and update moveDistance if necessary
  22791. if (record === nextRemove) {
  22792. addRemoveOffset--;
  22793. nextRemove = nextRemove._nextRemoved;
  22794. }
  22795. else {
  22796. nextIt = nextIt._next;
  22797. if (record.previousIndex == null) {
  22798. addRemoveOffset++;
  22799. }
  22800. else {
  22801. // INVARIANT: currentIndex < previousIndex
  22802. if (!moveOffsets)
  22803. moveOffsets = [];
  22804. var localMovePreviousIndex = adjPreviousIndex - addRemoveOffset;
  22805. var localCurrentIndex = currentIndex - addRemoveOffset;
  22806. if (localMovePreviousIndex != localCurrentIndex) {
  22807. for (var i = 0; i < localMovePreviousIndex; i++) {
  22808. var offset = i < moveOffsets.length ? moveOffsets[i] : (moveOffsets[i] = 0);
  22809. var index = offset + i;
  22810. if (localCurrentIndex <= index && index < localMovePreviousIndex) {
  22811. moveOffsets[i] = offset + 1;
  22812. }
  22813. }
  22814. var previousIndex = record.previousIndex;
  22815. moveOffsets[previousIndex] = localCurrentIndex - localMovePreviousIndex;
  22816. }
  22817. }
  22818. }
  22819. if (adjPreviousIndex !== currentIndex) {
  22820. fn(record, adjPreviousIndex, currentIndex);
  22821. }
  22822. }
  22823. };
  22824. DefaultIterableDiffer.prototype.forEachPreviousItem = function (fn) {
  22825. var record;
  22826. for (record = this._previousItHead; record !== null; record = record._nextPrevious) {
  22827. fn(record);
  22828. }
  22829. };
  22830. DefaultIterableDiffer.prototype.forEachAddedItem = function (fn) {
  22831. var record;
  22832. for (record = this._additionsHead; record !== null; record = record._nextAdded) {
  22833. fn(record);
  22834. }
  22835. };
  22836. DefaultIterableDiffer.prototype.forEachMovedItem = function (fn) {
  22837. var record;
  22838. for (record = this._movesHead; record !== null; record = record._nextMoved) {
  22839. fn(record);
  22840. }
  22841. };
  22842. DefaultIterableDiffer.prototype.forEachRemovedItem = function (fn) {
  22843. var record;
  22844. for (record = this._removalsHead; record !== null; record = record._nextRemoved) {
  22845. fn(record);
  22846. }
  22847. };
  22848. DefaultIterableDiffer.prototype.forEachIdentityChange = function (fn) {
  22849. var record;
  22850. for (record = this._identityChangesHead; record !== null; record = record._nextIdentityChange) {
  22851. fn(record);
  22852. }
  22853. };
  22854. DefaultIterableDiffer.prototype.diff = function (collection) {
  22855. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["d" /* isBlank */])(collection))
  22856. collection = [];
  22857. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_collection__["e" /* isListLikeIterable */])(collection)) {
  22858. throw new Error("Error trying to diff '" + collection + "'");
  22859. }
  22860. if (this.check(collection)) {
  22861. return this;
  22862. }
  22863. else {
  22864. return null;
  22865. }
  22866. };
  22867. DefaultIterableDiffer.prototype.onDestroy = function () { };
  22868. // todo(vicb): optim for UnmodifiableListView (frozen arrays)
  22869. DefaultIterableDiffer.prototype.check = function (collection) {
  22870. var _this = this;
  22871. this._reset();
  22872. var record = this._itHead;
  22873. var mayBeDirty = false;
  22874. var index;
  22875. var item;
  22876. var itemTrackBy;
  22877. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* isArray */])(collection)) {
  22878. var list = collection;
  22879. this._length = collection.length;
  22880. for (index = 0; index < this._length; index++) {
  22881. item = list[index];
  22882. itemTrackBy = this._trackByFn(index, item);
  22883. if (record === null || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["m" /* looseIdentical */])(record.trackById, itemTrackBy)) {
  22884. record = this._mismatch(record, item, itemTrackBy, index);
  22885. mayBeDirty = true;
  22886. }
  22887. else {
  22888. if (mayBeDirty) {
  22889. // TODO(misko): can we limit this to duplicates only?
  22890. record = this._verifyReinsertion(record, item, itemTrackBy, index);
  22891. }
  22892. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["m" /* looseIdentical */])(record.item, item))
  22893. this._addIdentityChange(record, item);
  22894. }
  22895. record = record._next;
  22896. }
  22897. }
  22898. else {
  22899. index = 0;
  22900. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_collection__["f" /* iterateListLike */])(collection, function (item /** TODO #9100 */) {
  22901. itemTrackBy = _this._trackByFn(index, item);
  22902. if (record === null || !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["m" /* looseIdentical */])(record.trackById, itemTrackBy)) {
  22903. record = _this._mismatch(record, item, itemTrackBy, index);
  22904. mayBeDirty = true;
  22905. }
  22906. else {
  22907. if (mayBeDirty) {
  22908. // TODO(misko): can we limit this to duplicates only?
  22909. record = _this._verifyReinsertion(record, item, itemTrackBy, index);
  22910. }
  22911. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["m" /* looseIdentical */])(record.item, item))
  22912. _this._addIdentityChange(record, item);
  22913. }
  22914. record = record._next;
  22915. index++;
  22916. });
  22917. this._length = index;
  22918. }
  22919. this._truncate(record);
  22920. this._collection = collection;
  22921. return this.isDirty;
  22922. };
  22923. Object.defineProperty(DefaultIterableDiffer.prototype, "isDirty", {
  22924. /* CollectionChanges is considered dirty if it has any additions, moves, removals, or identity
  22925. * changes.
  22926. */
  22927. get: function () {
  22928. return this._additionsHead !== null || this._movesHead !== null ||
  22929. this._removalsHead !== null || this._identityChangesHead !== null;
  22930. },
  22931. enumerable: true,
  22932. configurable: true
  22933. });
  22934. /**
  22935. * Reset the state of the change objects to show no changes. This means set previousKey to
  22936. * currentKey, and clear all of the queues (additions, moves, removals).
  22937. * Set the previousIndexes of moved and added items to their currentIndexes
  22938. * Reset the list of additions, moves and removals
  22939. *
  22940. * @internal
  22941. */
  22942. DefaultIterableDiffer.prototype._reset = function () {
  22943. if (this.isDirty) {
  22944. var record;
  22945. var nextRecord;
  22946. for (record = this._previousItHead = this._itHead; record !== null; record = record._next) {
  22947. record._nextPrevious = record._next;
  22948. }
  22949. for (record = this._additionsHead; record !== null; record = record._nextAdded) {
  22950. record.previousIndex = record.currentIndex;
  22951. }
  22952. this._additionsHead = this._additionsTail = null;
  22953. for (record = this._movesHead; record !== null; record = nextRecord) {
  22954. record.previousIndex = record.currentIndex;
  22955. nextRecord = record._nextMoved;
  22956. }
  22957. this._movesHead = this._movesTail = null;
  22958. this._removalsHead = this._removalsTail = null;
  22959. this._identityChangesHead = this._identityChangesTail = null;
  22960. }
  22961. };
  22962. /**
  22963. * This is the core function which handles differences between collections.
  22964. *
  22965. * - `record` is the record which we saw at this position last time. If null then it is a new
  22966. * item.
  22967. * - `item` is the current item in the collection
  22968. * - `index` is the position of the item in the collection
  22969. *
  22970. * @internal
  22971. */
  22972. DefaultIterableDiffer.prototype._mismatch = function (record, item, itemTrackBy, index) {
  22973. // The previous record after which we will append the current one.
  22974. var previousRecord;
  22975. if (record === null) {
  22976. previousRecord = this._itTail;
  22977. }
  22978. else {
  22979. previousRecord = record._prev;
  22980. // Remove the record from the collection since we know it does not match the item.
  22981. this._remove(record);
  22982. }
  22983. // Attempt to see if we have seen the item before.
  22984. record = this._linkedRecords === null ? null : this._linkedRecords.get(itemTrackBy, index);
  22985. if (record !== null) {
  22986. // We have seen this before, we need to move it forward in the collection.
  22987. // But first we need to check if identity changed, so we can update in view if necessary
  22988. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["m" /* looseIdentical */])(record.item, item))
  22989. this._addIdentityChange(record, item);
  22990. this._moveAfter(record, previousRecord, index);
  22991. }
  22992. else {
  22993. // Never seen it, check evicted list.
  22994. record = this._unlinkedRecords === null ? null : this._unlinkedRecords.get(itemTrackBy);
  22995. if (record !== null) {
  22996. // It is an item which we have evicted earlier: reinsert it back into the list.
  22997. // But first we need to check if identity changed, so we can update in view if necessary
  22998. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["m" /* looseIdentical */])(record.item, item))
  22999. this._addIdentityChange(record, item);
  23000. this._reinsertAfter(record, previousRecord, index);
  23001. }
  23002. else {
  23003. // It is a new item: add it.
  23004. record =
  23005. this._addAfter(new CollectionChangeRecord(item, itemTrackBy), previousRecord, index);
  23006. }
  23007. }
  23008. return record;
  23009. };
  23010. /**
  23011. * This check is only needed if an array contains duplicates. (Short circuit of nothing dirty)
  23012. *
  23013. * Use case: `[a, a]` => `[b, a, a]`
  23014. *
  23015. * If we did not have this check then the insertion of `b` would:
  23016. * 1) evict first `a`
  23017. * 2) insert `b` at `0` index.
  23018. * 3) leave `a` at index `1` as is. <-- this is wrong!
  23019. * 3) reinsert `a` at index 2. <-- this is wrong!
  23020. *
  23021. * The correct behavior is:
  23022. * 1) evict first `a`
  23023. * 2) insert `b` at `0` index.
  23024. * 3) reinsert `a` at index 1.
  23025. * 3) move `a` at from `1` to `2`.
  23026. *
  23027. *
  23028. * Double check that we have not evicted a duplicate item. We need to check if the item type may
  23029. * have already been removed:
  23030. * The insertion of b will evict the first 'a'. If we don't reinsert it now it will be reinserted
  23031. * at the end. Which will show up as the two 'a's switching position. This is incorrect, since a
  23032. * better way to think of it is as insert of 'b' rather then switch 'a' with 'b' and then add 'a'
  23033. * at the end.
  23034. *
  23035. * @internal
  23036. */
  23037. DefaultIterableDiffer.prototype._verifyReinsertion = function (record, item, itemTrackBy, index) {
  23038. var reinsertRecord = this._unlinkedRecords === null ? null : this._unlinkedRecords.get(itemTrackBy);
  23039. if (reinsertRecord !== null) {
  23040. record = this._reinsertAfter(reinsertRecord, record._prev, index);
  23041. }
  23042. else if (record.currentIndex != index) {
  23043. record.currentIndex = index;
  23044. this._addToMoves(record, index);
  23045. }
  23046. return record;
  23047. };
  23048. /**
  23049. * Get rid of any excess {@link CollectionChangeRecord}s from the previous collection
  23050. *
  23051. * - `record` The first excess {@link CollectionChangeRecord}.
  23052. *
  23053. * @internal
  23054. */
  23055. DefaultIterableDiffer.prototype._truncate = function (record) {
  23056. // Anything after that needs to be removed;
  23057. while (record !== null) {
  23058. var nextRecord = record._next;
  23059. this._addToRemovals(this._unlink(record));
  23060. record = nextRecord;
  23061. }
  23062. if (this._unlinkedRecords !== null) {
  23063. this._unlinkedRecords.clear();
  23064. }
  23065. if (this._additionsTail !== null) {
  23066. this._additionsTail._nextAdded = null;
  23067. }
  23068. if (this._movesTail !== null) {
  23069. this._movesTail._nextMoved = null;
  23070. }
  23071. if (this._itTail !== null) {
  23072. this._itTail._next = null;
  23073. }
  23074. if (this._removalsTail !== null) {
  23075. this._removalsTail._nextRemoved = null;
  23076. }
  23077. if (this._identityChangesTail !== null) {
  23078. this._identityChangesTail._nextIdentityChange = null;
  23079. }
  23080. };
  23081. /** @internal */
  23082. DefaultIterableDiffer.prototype._reinsertAfter = function (record, prevRecord, index) {
  23083. if (this._unlinkedRecords !== null) {
  23084. this._unlinkedRecords.remove(record);
  23085. }
  23086. var prev = record._prevRemoved;
  23087. var next = record._nextRemoved;
  23088. if (prev === null) {
  23089. this._removalsHead = next;
  23090. }
  23091. else {
  23092. prev._nextRemoved = next;
  23093. }
  23094. if (next === null) {
  23095. this._removalsTail = prev;
  23096. }
  23097. else {
  23098. next._prevRemoved = prev;
  23099. }
  23100. this._insertAfter(record, prevRecord, index);
  23101. this._addToMoves(record, index);
  23102. return record;
  23103. };
  23104. /** @internal */
  23105. DefaultIterableDiffer.prototype._moveAfter = function (record, prevRecord, index) {
  23106. this._unlink(record);
  23107. this._insertAfter(record, prevRecord, index);
  23108. this._addToMoves(record, index);
  23109. return record;
  23110. };
  23111. /** @internal */
  23112. DefaultIterableDiffer.prototype._addAfter = function (record, prevRecord, index) {
  23113. this._insertAfter(record, prevRecord, index);
  23114. if (this._additionsTail === null) {
  23115. // todo(vicb)
  23116. // assert(this._additionsHead === null);
  23117. this._additionsTail = this._additionsHead = record;
  23118. }
  23119. else {
  23120. // todo(vicb)
  23121. // assert(_additionsTail._nextAdded === null);
  23122. // assert(record._nextAdded === null);
  23123. this._additionsTail = this._additionsTail._nextAdded = record;
  23124. }
  23125. return record;
  23126. };
  23127. /** @internal */
  23128. DefaultIterableDiffer.prototype._insertAfter = function (record, prevRecord, index) {
  23129. // todo(vicb)
  23130. // assert(record != prevRecord);
  23131. // assert(record._next === null);
  23132. // assert(record._prev === null);
  23133. var next = prevRecord === null ? this._itHead : prevRecord._next;
  23134. // todo(vicb)
  23135. // assert(next != record);
  23136. // assert(prevRecord != record);
  23137. record._next = next;
  23138. record._prev = prevRecord;
  23139. if (next === null) {
  23140. this._itTail = record;
  23141. }
  23142. else {
  23143. next._prev = record;
  23144. }
  23145. if (prevRecord === null) {
  23146. this._itHead = record;
  23147. }
  23148. else {
  23149. prevRecord._next = record;
  23150. }
  23151. if (this._linkedRecords === null) {
  23152. this._linkedRecords = new _DuplicateMap();
  23153. }
  23154. this._linkedRecords.put(record);
  23155. record.currentIndex = index;
  23156. return record;
  23157. };
  23158. /** @internal */
  23159. DefaultIterableDiffer.prototype._remove = function (record) {
  23160. return this._addToRemovals(this._unlink(record));
  23161. };
  23162. /** @internal */
  23163. DefaultIterableDiffer.prototype._unlink = function (record) {
  23164. if (this._linkedRecords !== null) {
  23165. this._linkedRecords.remove(record);
  23166. }
  23167. var prev = record._prev;
  23168. var next = record._next;
  23169. // todo(vicb)
  23170. // assert((record._prev = null) === null);
  23171. // assert((record._next = null) === null);
  23172. if (prev === null) {
  23173. this._itHead = next;
  23174. }
  23175. else {
  23176. prev._next = next;
  23177. }
  23178. if (next === null) {
  23179. this._itTail = prev;
  23180. }
  23181. else {
  23182. next._prev = prev;
  23183. }
  23184. return record;
  23185. };
  23186. /** @internal */
  23187. DefaultIterableDiffer.prototype._addToMoves = function (record, toIndex) {
  23188. // todo(vicb)
  23189. // assert(record._nextMoved === null);
  23190. if (record.previousIndex === toIndex) {
  23191. return record;
  23192. }
  23193. if (this._movesTail === null) {
  23194. // todo(vicb)
  23195. // assert(_movesHead === null);
  23196. this._movesTail = this._movesHead = record;
  23197. }
  23198. else {
  23199. // todo(vicb)
  23200. // assert(_movesTail._nextMoved === null);
  23201. this._movesTail = this._movesTail._nextMoved = record;
  23202. }
  23203. return record;
  23204. };
  23205. /** @internal */
  23206. DefaultIterableDiffer.prototype._addToRemovals = function (record) {
  23207. if (this._unlinkedRecords === null) {
  23208. this._unlinkedRecords = new _DuplicateMap();
  23209. }
  23210. this._unlinkedRecords.put(record);
  23211. record.currentIndex = null;
  23212. record._nextRemoved = null;
  23213. if (this._removalsTail === null) {
  23214. // todo(vicb)
  23215. // assert(_removalsHead === null);
  23216. this._removalsTail = this._removalsHead = record;
  23217. record._prevRemoved = null;
  23218. }
  23219. else {
  23220. // todo(vicb)
  23221. // assert(_removalsTail._nextRemoved === null);
  23222. // assert(record._nextRemoved === null);
  23223. record._prevRemoved = this._removalsTail;
  23224. this._removalsTail = this._removalsTail._nextRemoved = record;
  23225. }
  23226. return record;
  23227. };
  23228. /** @internal */
  23229. DefaultIterableDiffer.prototype._addIdentityChange = function (record, item) {
  23230. record.item = item;
  23231. if (this._identityChangesTail === null) {
  23232. this._identityChangesTail = this._identityChangesHead = record;
  23233. }
  23234. else {
  23235. this._identityChangesTail = this._identityChangesTail._nextIdentityChange = record;
  23236. }
  23237. return record;
  23238. };
  23239. DefaultIterableDiffer.prototype.toString = function () {
  23240. var list = [];
  23241. this.forEachItem(function (record /** TODO #9100 */) { return list.push(record); });
  23242. var previous = [];
  23243. this.forEachPreviousItem(function (record /** TODO #9100 */) { return previous.push(record); });
  23244. var additions = [];
  23245. this.forEachAddedItem(function (record /** TODO #9100 */) { return additions.push(record); });
  23246. var moves = [];
  23247. this.forEachMovedItem(function (record /** TODO #9100 */) { return moves.push(record); });
  23248. var removals = [];
  23249. this.forEachRemovedItem(function (record /** TODO #9100 */) { return removals.push(record); });
  23250. var identityChanges = [];
  23251. this.forEachIdentityChange(function (record /** TODO #9100 */) { return identityChanges.push(record); });
  23252. return 'collection: ' + list.join(', ') + '\n' +
  23253. 'previous: ' + previous.join(', ') + '\n' +
  23254. 'additions: ' + additions.join(', ') + '\n' +
  23255. 'moves: ' + moves.join(', ') + '\n' +
  23256. 'removals: ' + removals.join(', ') + '\n' +
  23257. 'identityChanges: ' + identityChanges.join(', ') + '\n';
  23258. };
  23259. return DefaultIterableDiffer;
  23260. }());
  23261. /**
  23262. * @stable
  23263. */
  23264. var CollectionChangeRecord = (function () {
  23265. function CollectionChangeRecord(item, trackById) {
  23266. this.item = item;
  23267. this.trackById = trackById;
  23268. this.currentIndex = null;
  23269. this.previousIndex = null;
  23270. /** @internal */
  23271. this._nextPrevious = null;
  23272. /** @internal */
  23273. this._prev = null;
  23274. /** @internal */
  23275. this._next = null;
  23276. /** @internal */
  23277. this._prevDup = null;
  23278. /** @internal */
  23279. this._nextDup = null;
  23280. /** @internal */
  23281. this._prevRemoved = null;
  23282. /** @internal */
  23283. this._nextRemoved = null;
  23284. /** @internal */
  23285. this._nextAdded = null;
  23286. /** @internal */
  23287. this._nextMoved = null;
  23288. /** @internal */
  23289. this._nextIdentityChange = null;
  23290. }
  23291. CollectionChangeRecord.prototype.toString = function () {
  23292. return this.previousIndex === this.currentIndex ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(this.item) :
  23293. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(this.item) + '[' +
  23294. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(this.previousIndex) + '->' + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(this.currentIndex) + ']';
  23295. };
  23296. return CollectionChangeRecord;
  23297. }());
  23298. // A linked list of CollectionChangeRecords with the same CollectionChangeRecord.item
  23299. var _DuplicateItemRecordList = (function () {
  23300. function _DuplicateItemRecordList() {
  23301. /** @internal */
  23302. this._head = null;
  23303. /** @internal */
  23304. this._tail = null;
  23305. }
  23306. /**
  23307. * Append the record to the list of duplicates.
  23308. *
  23309. * Note: by design all records in the list of duplicates hold the same value in record.item.
  23310. */
  23311. _DuplicateItemRecordList.prototype.add = function (record) {
  23312. if (this._head === null) {
  23313. this._head = this._tail = record;
  23314. record._nextDup = null;
  23315. record._prevDup = null;
  23316. }
  23317. else {
  23318. // todo(vicb)
  23319. // assert(record.item == _head.item ||
  23320. // record.item is num && record.item.isNaN && _head.item is num && _head.item.isNaN);
  23321. this._tail._nextDup = record;
  23322. record._prevDup = this._tail;
  23323. record._nextDup = null;
  23324. this._tail = record;
  23325. }
  23326. };
  23327. // Returns a CollectionChangeRecord having CollectionChangeRecord.trackById == trackById and
  23328. // CollectionChangeRecord.currentIndex >= afterIndex
  23329. _DuplicateItemRecordList.prototype.get = function (trackById, afterIndex) {
  23330. var record;
  23331. for (record = this._head; record !== null; record = record._nextDup) {
  23332. if ((afterIndex === null || afterIndex < record.currentIndex) &&
  23333. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["m" /* looseIdentical */])(record.trackById, trackById)) {
  23334. return record;
  23335. }
  23336. }
  23337. return null;
  23338. };
  23339. /**
  23340. * Remove one {@link CollectionChangeRecord} from the list of duplicates.
  23341. *
  23342. * Returns whether the list of duplicates is empty.
  23343. */
  23344. _DuplicateItemRecordList.prototype.remove = function (record) {
  23345. // todo(vicb)
  23346. // assert(() {
  23347. // // verify that the record being removed is in the list.
  23348. // for (CollectionChangeRecord cursor = _head; cursor != null; cursor = cursor._nextDup) {
  23349. // if (identical(cursor, record)) return true;
  23350. // }
  23351. // return false;
  23352. //});
  23353. var prev = record._prevDup;
  23354. var next = record._nextDup;
  23355. if (prev === null) {
  23356. this._head = next;
  23357. }
  23358. else {
  23359. prev._nextDup = next;
  23360. }
  23361. if (next === null) {
  23362. this._tail = prev;
  23363. }
  23364. else {
  23365. next._prevDup = prev;
  23366. }
  23367. return this._head === null;
  23368. };
  23369. return _DuplicateItemRecordList;
  23370. }());
  23371. var _DuplicateMap = (function () {
  23372. function _DuplicateMap() {
  23373. this.map = new Map();
  23374. }
  23375. _DuplicateMap.prototype.put = function (record) {
  23376. // todo(vicb) handle corner cases
  23377. var key = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["n" /* getMapKey */])(record.trackById);
  23378. var duplicates = this.map.get(key);
  23379. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(duplicates)) {
  23380. duplicates = new _DuplicateItemRecordList();
  23381. this.map.set(key, duplicates);
  23382. }
  23383. duplicates.add(record);
  23384. };
  23385. /**
  23386. * Retrieve the `value` using key. Because the CollectionChangeRecord value may be one which we
  23387. * have already iterated over, we use the afterIndex to pretend it is not there.
  23388. *
  23389. * Use case: `[a, b, c, a, a]` if we are at index `3` which is the second `a` then asking if we
  23390. * have any more `a`s needs to return the last `a` not the first or second.
  23391. */
  23392. _DuplicateMap.prototype.get = function (trackById, afterIndex) {
  23393. if (afterIndex === void 0) { afterIndex = null; }
  23394. var key = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["n" /* getMapKey */])(trackById);
  23395. var recordList = this.map.get(key);
  23396. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["d" /* isBlank */])(recordList) ? null : recordList.get(trackById, afterIndex);
  23397. };
  23398. /**
  23399. * Removes a {@link CollectionChangeRecord} from the list of duplicates.
  23400. *
  23401. * The list of duplicates also is removed from the map if it gets empty.
  23402. */
  23403. _DuplicateMap.prototype.remove = function (record) {
  23404. var key = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["n" /* getMapKey */])(record.trackById);
  23405. // todo(vicb)
  23406. // assert(this.map.containsKey(key));
  23407. var recordList = this.map.get(key);
  23408. // Remove the list of duplicates when it gets empty
  23409. if (recordList.remove(record)) {
  23410. this.map.delete(key);
  23411. }
  23412. return record;
  23413. };
  23414. Object.defineProperty(_DuplicateMap.prototype, "isEmpty", {
  23415. get: function () { return this.map.size === 0; },
  23416. enumerable: true,
  23417. configurable: true
  23418. });
  23419. _DuplicateMap.prototype.clear = function () { this.map.clear(); };
  23420. _DuplicateMap.prototype.toString = function () { return '_DuplicateMap(' + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(this.map) + ')'; };
  23421. return _DuplicateMap;
  23422. }());
  23423. function getPreviousIndex(item, addRemoveOffset, moveOffsets) {
  23424. var previousIndex = item.previousIndex;
  23425. if (previousIndex === null)
  23426. return previousIndex;
  23427. var moveOffset = 0;
  23428. if (moveOffsets && previousIndex < moveOffsets.length) {
  23429. moveOffset = moveOffsets[previousIndex];
  23430. }
  23431. return previousIndex + addRemoveOffset + moveOffset;
  23432. }
  23433. //# sourceMappingURL=default_iterable_differ.js.map
  23434. /***/ },
  23435. /* 202 */
  23436. /***/ function(module, exports, __webpack_require__) {
  23437. "use strict";
  23438. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__di__ = __webpack_require__(39);
  23439. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(5);
  23440. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Console; });
  23441. /**
  23442. * @license
  23443. * Copyright Google Inc. All Rights Reserved.
  23444. *
  23445. * Use of this source code is governed by an MIT-style license that can be
  23446. * found in the LICENSE file at https://angular.io/license
  23447. */
  23448. var Console = (function () {
  23449. function Console() {
  23450. }
  23451. Console.prototype.log = function (message) { __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["k" /* print */])(message); };
  23452. // Note: for reporting errors use `DOM.logError()` as it is platform specific
  23453. Console.prototype.warn = function (message) { __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["l" /* warn */])(message); };
  23454. Console.decorators = [
  23455. { type: __WEBPACK_IMPORTED_MODULE_0__di__["b" /* Injectable */] },
  23456. ];
  23457. /** @nocollapse */
  23458. Console.ctorParameters = [];
  23459. return Console;
  23460. }());
  23461. //# sourceMappingURL=console.js.map
  23462. /***/ },
  23463. /* 203 */
  23464. /***/ function(module, exports, __webpack_require__) {
  23465. "use strict";
  23466. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(5);
  23467. /* harmony export (immutable) */ exports["b"] = forwardRef;
  23468. /* harmony export (immutable) */ exports["a"] = resolveForwardRef;
  23469. /**
  23470. * @license
  23471. * Copyright Google Inc. All Rights Reserved.
  23472. *
  23473. * Use of this source code is governed by an MIT-style license that can be
  23474. * found in the LICENSE file at https://angular.io/license
  23475. */
  23476. /**
  23477. * Allows to refer to references which are not yet defined.
  23478. *
  23479. * For instance, `forwardRef` is used when the `token` which we need to refer to for the purposes of
  23480. * DI is declared,
  23481. * but not yet defined. It is also used when the `token` which we use when creating a query is not
  23482. * yet defined.
  23483. *
  23484. * ### Example
  23485. * {@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref'}
  23486. * @experimental
  23487. */
  23488. function forwardRef(forwardRefFn) {
  23489. forwardRefFn.__forward_ref__ = forwardRef;
  23490. forwardRefFn.toString = function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* stringify */])(this()); };
  23491. return forwardRefFn;
  23492. }
  23493. /**
  23494. * Lazily retrieves the reference value from a forwardRef.
  23495. *
  23496. * Acts as the identity function when given a non-forward-ref value.
  23497. *
  23498. * ### Example ([live demo](http://plnkr.co/edit/GU72mJrk1fiodChcmiDR?p=preview))
  23499. *
  23500. * {@example core/di/ts/forward_ref/forward_ref_spec.ts region='resolve_forward_ref'}
  23501. *
  23502. * See: {@link forwardRef}
  23503. * @experimental
  23504. */
  23505. function resolveForwardRef(type) {
  23506. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isFunction */])(type) && type.hasOwnProperty('__forward_ref__') &&
  23507. type.__forward_ref__ === forwardRef) {
  23508. return type();
  23509. }
  23510. else {
  23511. return type;
  23512. }
  23513. }
  23514. //# sourceMappingURL=forward_ref.js.map
  23515. /***/ },
  23516. /* 204 */
  23517. /***/ function(module, exports, __webpack_require__) {
  23518. "use strict";
  23519. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__metadata__ = __webpack_require__(140);
  23520. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return OpaqueToken; });
  23521. /**
  23522. * @license
  23523. * Copyright Google Inc. All Rights Reserved.
  23524. *
  23525. * Use of this source code is governed by an MIT-style license that can be
  23526. * found in the LICENSE file at https://angular.io/license
  23527. */
  23528. /**
  23529. * Creates a token that can be used in a DI Provider.
  23530. *
  23531. * ### Example ([live demo](http://plnkr.co/edit/Ys9ezXpj2Mnoy3Uc8KBp?p=preview))
  23532. *
  23533. * ```typescript
  23534. * var t = new OpaqueToken("value");
  23535. *
  23536. * var injector = Injector.resolveAndCreate([
  23537. * {provide: t, useValue: "bindingValue"}
  23538. * ]);
  23539. *
  23540. * expect(injector.get(t)).toEqual("bindingValue");
  23541. * ```
  23542. *
  23543. * Using an `OpaqueToken` is preferable to using strings as tokens because of possible collisions
  23544. * caused by multiple providers using the same string as two different tokens.
  23545. *
  23546. * Using an `OpaqueToken` is preferable to using an `Object` as tokens because it provides better
  23547. * error messages.
  23548. * @stable
  23549. */
  23550. // so that metadata is gathered for this class
  23551. var OpaqueToken = (function () {
  23552. function OpaqueToken(_desc) {
  23553. this._desc = _desc;
  23554. }
  23555. OpaqueToken.prototype.toString = function () { return "Token " + this._desc; };
  23556. OpaqueToken.decorators = [
  23557. { type: __WEBPACK_IMPORTED_MODULE_0__metadata__["a" /* Injectable */] },
  23558. ];
  23559. /** @nocollapse */
  23560. OpaqueToken.ctorParameters = [
  23561. null,
  23562. ];
  23563. return OpaqueToken;
  23564. }());
  23565. //# sourceMappingURL=opaque_token.js.map
  23566. /***/ },
  23567. /* 205 */
  23568. /***/ function(module, exports, __webpack_require__) {
  23569. "use strict";
  23570. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(5);
  23571. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__forward_ref__ = __webpack_require__(203);
  23572. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ReflectiveKey; });
  23573. /* unused harmony export KeyRegistry */
  23574. /**
  23575. * @license
  23576. * Copyright Google Inc. All Rights Reserved.
  23577. *
  23578. * Use of this source code is governed by an MIT-style license that can be
  23579. * found in the LICENSE file at https://angular.io/license
  23580. */
  23581. /**
  23582. * A unique object used for retrieving items from the {@link ReflectiveInjector}.
  23583. *
  23584. * Keys have:
  23585. * - a system-wide unique `id`.
  23586. * - a `token`.
  23587. *
  23588. * `Key` is used internally by {@link ReflectiveInjector} because its system-wide unique `id` allows
  23589. * the
  23590. * injector to store created objects in a more efficient way.
  23591. *
  23592. * `Key` should not be created directly. {@link ReflectiveInjector} creates keys automatically when
  23593. * resolving
  23594. * providers.
  23595. * @experimental
  23596. */
  23597. var ReflectiveKey = (function () {
  23598. /**
  23599. * Private
  23600. */
  23601. function ReflectiveKey(token, id) {
  23602. this.token = token;
  23603. this.id = id;
  23604. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["d" /* isBlank */])(token)) {
  23605. throw new Error('Token must be defined!');
  23606. }
  23607. }
  23608. Object.defineProperty(ReflectiveKey.prototype, "displayName", {
  23609. /**
  23610. * Returns a stringified token.
  23611. */
  23612. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* stringify */])(this.token); },
  23613. enumerable: true,
  23614. configurable: true
  23615. });
  23616. /**
  23617. * Retrieves a `Key` for a token.
  23618. */
  23619. ReflectiveKey.get = function (token) {
  23620. return _globalKeyRegistry.get(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__forward_ref__["a" /* resolveForwardRef */])(token));
  23621. };
  23622. Object.defineProperty(ReflectiveKey, "numberOfKeys", {
  23623. /**
  23624. * @returns the number of keys registered in the system.
  23625. */
  23626. get: function () { return _globalKeyRegistry.numberOfKeys; },
  23627. enumerable: true,
  23628. configurable: true
  23629. });
  23630. return ReflectiveKey;
  23631. }());
  23632. /**
  23633. * @internal
  23634. */
  23635. var KeyRegistry = (function () {
  23636. function KeyRegistry() {
  23637. this._allKeys = new Map();
  23638. }
  23639. KeyRegistry.prototype.get = function (token) {
  23640. if (token instanceof ReflectiveKey)
  23641. return token;
  23642. if (this._allKeys.has(token)) {
  23643. return this._allKeys.get(token);
  23644. }
  23645. var newKey = new ReflectiveKey(token, ReflectiveKey.numberOfKeys);
  23646. this._allKeys.set(token, newKey);
  23647. return newKey;
  23648. };
  23649. Object.defineProperty(KeyRegistry.prototype, "numberOfKeys", {
  23650. get: function () { return this._allKeys.size; },
  23651. enumerable: true,
  23652. configurable: true
  23653. });
  23654. return KeyRegistry;
  23655. }());
  23656. var _globalKeyRegistry = new KeyRegistry();
  23657. //# sourceMappingURL=reflective_key.js.map
  23658. /***/ },
  23659. /* 206 */
  23660. /***/ function(module, exports, __webpack_require__) {
  23661. "use strict";
  23662. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(16);
  23663. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(5);
  23664. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__reflection_reflection__ = __webpack_require__(209);
  23665. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__type__ = __webpack_require__(213);
  23666. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__forward_ref__ = __webpack_require__(203);
  23667. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__metadata__ = __webpack_require__(140);
  23668. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__reflective_errors__ = __webpack_require__(310);
  23669. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__reflective_key__ = __webpack_require__(205);
  23670. /* unused harmony export ReflectiveDependency */
  23671. /* unused harmony export ResolvedReflectiveProvider_ */
  23672. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return ResolvedReflectiveFactory; });
  23673. /* harmony export (immutable) */ exports["a"] = resolveReflectiveProviders;
  23674. /* unused harmony export mergeResolvedReflectiveProviders */
  23675. /* harmony export (immutable) */ exports["b"] = constructDependencies;
  23676. /**
  23677. * @license
  23678. * Copyright Google Inc. All Rights Reserved.
  23679. *
  23680. * Use of this source code is governed by an MIT-style license that can be
  23681. * found in the LICENSE file at https://angular.io/license
  23682. */
  23683. /**
  23684. * `Dependency` is used by the framework to extend DI.
  23685. * This is internal to Angular and should not be used directly.
  23686. */
  23687. var ReflectiveDependency = (function () {
  23688. function ReflectiveDependency(key, optional, lowerBoundVisibility, upperBoundVisibility, properties) {
  23689. this.key = key;
  23690. this.optional = optional;
  23691. this.lowerBoundVisibility = lowerBoundVisibility;
  23692. this.upperBoundVisibility = upperBoundVisibility;
  23693. this.properties = properties;
  23694. }
  23695. ReflectiveDependency.fromKey = function (key) {
  23696. return new ReflectiveDependency(key, false, null, null, []);
  23697. };
  23698. return ReflectiveDependency;
  23699. }());
  23700. var _EMPTY_LIST = [];
  23701. var ResolvedReflectiveProvider_ = (function () {
  23702. function ResolvedReflectiveProvider_(key, resolvedFactories, multiProvider) {
  23703. this.key = key;
  23704. this.resolvedFactories = resolvedFactories;
  23705. this.multiProvider = multiProvider;
  23706. }
  23707. Object.defineProperty(ResolvedReflectiveProvider_.prototype, "resolvedFactory", {
  23708. get: function () { return this.resolvedFactories[0]; },
  23709. enumerable: true,
  23710. configurable: true
  23711. });
  23712. return ResolvedReflectiveProvider_;
  23713. }());
  23714. /**
  23715. * An internal resolved representation of a factory function created by resolving {@link
  23716. * Provider}.
  23717. * @experimental
  23718. */
  23719. var ResolvedReflectiveFactory = (function () {
  23720. function ResolvedReflectiveFactory(
  23721. /**
  23722. * Factory function which can return an instance of an object represented by a key.
  23723. */
  23724. factory,
  23725. /**
  23726. * Arguments (dependencies) to the `factory` function.
  23727. */
  23728. dependencies) {
  23729. this.factory = factory;
  23730. this.dependencies = dependencies;
  23731. }
  23732. return ResolvedReflectiveFactory;
  23733. }());
  23734. /**
  23735. * Resolve a single provider.
  23736. */
  23737. function resolveReflectiveFactory(provider) {
  23738. var factoryFn;
  23739. var resolvedDeps;
  23740. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(provider.useClass)) {
  23741. var useClass = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__forward_ref__["a" /* resolveForwardRef */])(provider.useClass);
  23742. factoryFn = __WEBPACK_IMPORTED_MODULE_2__reflection_reflection__["a" /* reflector */].factory(useClass);
  23743. resolvedDeps = _dependenciesFor(useClass);
  23744. }
  23745. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(provider.useExisting)) {
  23746. factoryFn = function (aliasInstance) { return aliasInstance; };
  23747. resolvedDeps = [ReflectiveDependency.fromKey(__WEBPACK_IMPORTED_MODULE_7__reflective_key__["a" /* ReflectiveKey */].get(provider.useExisting))];
  23748. }
  23749. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(provider.useFactory)) {
  23750. factoryFn = provider.useFactory;
  23751. resolvedDeps = constructDependencies(provider.useFactory, provider.deps);
  23752. }
  23753. else {
  23754. factoryFn = function () { return provider.useValue; };
  23755. resolvedDeps = _EMPTY_LIST;
  23756. }
  23757. return new ResolvedReflectiveFactory(factoryFn, resolvedDeps);
  23758. }
  23759. /**
  23760. * Converts the {@link Provider} into {@link ResolvedProvider}.
  23761. *
  23762. * {@link Injector} internally only uses {@link ResolvedProvider}, {@link Provider} contains
  23763. * convenience provider syntax.
  23764. */
  23765. function resolveReflectiveProvider(provider) {
  23766. return new ResolvedReflectiveProvider_(__WEBPACK_IMPORTED_MODULE_7__reflective_key__["a" /* ReflectiveKey */].get(provider.provide), [resolveReflectiveFactory(provider)], provider.multi);
  23767. }
  23768. /**
  23769. * Resolve a list of Providers.
  23770. */
  23771. function resolveReflectiveProviders(providers) {
  23772. var normalized = _normalizeProviders(providers, []);
  23773. var resolved = normalized.map(resolveReflectiveProvider);
  23774. return __WEBPACK_IMPORTED_MODULE_0__facade_collection__["b" /* MapWrapper */].values(mergeResolvedReflectiveProviders(resolved, new Map()));
  23775. }
  23776. /**
  23777. * Merges a list of ResolvedProviders into a list where
  23778. * each key is contained exactly once and multi providers
  23779. * have been merged.
  23780. */
  23781. function mergeResolvedReflectiveProviders(providers, normalizedProvidersMap) {
  23782. for (var i = 0; i < providers.length; i++) {
  23783. var provider = providers[i];
  23784. var existing = normalizedProvidersMap.get(provider.key.id);
  23785. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(existing)) {
  23786. if (provider.multiProvider !== existing.multiProvider) {
  23787. throw new __WEBPACK_IMPORTED_MODULE_6__reflective_errors__["a" /* MixingMultiProvidersWithRegularProvidersError */](existing, provider);
  23788. }
  23789. if (provider.multiProvider) {
  23790. for (var j = 0; j < provider.resolvedFactories.length; j++) {
  23791. existing.resolvedFactories.push(provider.resolvedFactories[j]);
  23792. }
  23793. }
  23794. else {
  23795. normalizedProvidersMap.set(provider.key.id, provider);
  23796. }
  23797. }
  23798. else {
  23799. var resolvedProvider;
  23800. if (provider.multiProvider) {
  23801. resolvedProvider = new ResolvedReflectiveProvider_(provider.key, __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].clone(provider.resolvedFactories), provider.multiProvider);
  23802. }
  23803. else {
  23804. resolvedProvider = provider;
  23805. }
  23806. normalizedProvidersMap.set(provider.key.id, resolvedProvider);
  23807. }
  23808. }
  23809. return normalizedProvidersMap;
  23810. }
  23811. function _normalizeProviders(providers, res) {
  23812. providers.forEach(function (b) {
  23813. if (b instanceof __WEBPACK_IMPORTED_MODULE_3__type__["a" /* Type */]) {
  23814. res.push({ provide: b, useClass: b });
  23815. }
  23816. else if (b && typeof b == 'object' && b.provide !== undefined) {
  23817. res.push(b);
  23818. }
  23819. else if (b instanceof Array) {
  23820. _normalizeProviders(b, res);
  23821. }
  23822. else {
  23823. throw new __WEBPACK_IMPORTED_MODULE_6__reflective_errors__["b" /* InvalidProviderError */](b);
  23824. }
  23825. });
  23826. return res;
  23827. }
  23828. function constructDependencies(typeOrFunc, dependencies) {
  23829. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["d" /* isBlank */])(dependencies)) {
  23830. return _dependenciesFor(typeOrFunc);
  23831. }
  23832. else {
  23833. var params = dependencies.map(function (t) { return [t]; });
  23834. return dependencies.map(function (t) { return _extractToken(typeOrFunc, t, params); });
  23835. }
  23836. }
  23837. function _dependenciesFor(typeOrFunc) {
  23838. var params = __WEBPACK_IMPORTED_MODULE_2__reflection_reflection__["a" /* reflector */].parameters(typeOrFunc);
  23839. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["d" /* isBlank */])(params))
  23840. return [];
  23841. if (params.some(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["d" /* isBlank */])) {
  23842. throw new __WEBPACK_IMPORTED_MODULE_6__reflective_errors__["c" /* NoAnnotationError */](typeOrFunc, params);
  23843. }
  23844. return params.map(function (p) { return _extractToken(typeOrFunc, p, params); });
  23845. }
  23846. function _extractToken(typeOrFunc /** TODO #9100 */, metadata /** TODO #9100 */ /*any[] | any*/, params) {
  23847. var depProps = [];
  23848. var token = null;
  23849. var optional = false;
  23850. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* isArray */])(metadata)) {
  23851. if (metadata instanceof __WEBPACK_IMPORTED_MODULE_5__metadata__["b" /* Inject */]) {
  23852. return _createDependency(metadata.token, optional, null, null, depProps);
  23853. }
  23854. else {
  23855. return _createDependency(metadata, optional, null, null, depProps);
  23856. }
  23857. }
  23858. var lowerBoundVisibility = null;
  23859. var upperBoundVisibility = null;
  23860. for (var i = 0; i < metadata.length; ++i) {
  23861. var paramMetadata = metadata[i];
  23862. if (paramMetadata instanceof __WEBPACK_IMPORTED_MODULE_3__type__["a" /* Type */]) {
  23863. token = paramMetadata;
  23864. }
  23865. else if (paramMetadata instanceof __WEBPACK_IMPORTED_MODULE_5__metadata__["b" /* Inject */]) {
  23866. token = paramMetadata.token;
  23867. }
  23868. else if (paramMetadata instanceof __WEBPACK_IMPORTED_MODULE_5__metadata__["c" /* Optional */]) {
  23869. optional = true;
  23870. }
  23871. else if (paramMetadata instanceof __WEBPACK_IMPORTED_MODULE_5__metadata__["d" /* Self */]) {
  23872. upperBoundVisibility = paramMetadata;
  23873. }
  23874. else if (paramMetadata instanceof __WEBPACK_IMPORTED_MODULE_5__metadata__["e" /* Host */]) {
  23875. upperBoundVisibility = paramMetadata;
  23876. }
  23877. else if (paramMetadata instanceof __WEBPACK_IMPORTED_MODULE_5__metadata__["f" /* SkipSelf */]) {
  23878. lowerBoundVisibility = paramMetadata;
  23879. }
  23880. }
  23881. token = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__forward_ref__["a" /* resolveForwardRef */])(token);
  23882. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(token)) {
  23883. return _createDependency(token, optional, lowerBoundVisibility, upperBoundVisibility, depProps);
  23884. }
  23885. else {
  23886. throw new __WEBPACK_IMPORTED_MODULE_6__reflective_errors__["c" /* NoAnnotationError */](typeOrFunc, params);
  23887. }
  23888. }
  23889. function _createDependency(token /** TODO #9100 */, optional /** TODO #9100 */, lowerBoundVisibility /** TODO #9100 */, upperBoundVisibility /** TODO #9100 */, depProps /** TODO #9100 */) {
  23890. return new ReflectiveDependency(__WEBPACK_IMPORTED_MODULE_7__reflective_key__["a" /* ReflectiveKey */].get(token), optional, lowerBoundVisibility, upperBoundVisibility, depProps);
  23891. }
  23892. //# sourceMappingURL=reflective_provider.js.map
  23893. /***/ },
  23894. /* 207 */
  23895. /***/ function(module, exports, __webpack_require__) {
  23896. "use strict";
  23897. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_rxjs_Subject__ = __webpack_require__(15);
  23898. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_rxjs_Subject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_rxjs_Subject__);
  23899. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_Observable__ = __webpack_require__(0);
  23900. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_rxjs_Observable__);
  23901. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return EventEmitter; });
  23902. /* unused harmony reexport Observable */
  23903. /* unused harmony reexport Subject */
  23904. /**
  23905. * @license
  23906. * Copyright Google Inc. All Rights Reserved.
  23907. *
  23908. * Use of this source code is governed by an MIT-style license that can be
  23909. * found in the LICENSE file at https://angular.io/license
  23910. */
  23911. var __extends = (this && this.__extends) || function (d, b) {
  23912. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  23913. function __() { this.constructor = d; }
  23914. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  23915. };
  23916. /**
  23917. * Use by directives and components to emit custom Events.
  23918. *
  23919. * ### Examples
  23920. *
  23921. * In the following example, `Zippy` alternatively emits `open` and `close` events when its
  23922. * title gets clicked:
  23923. *
  23924. * ```
  23925. * @Component({
  23926. * selector: 'zippy',
  23927. * template: `
  23928. * <div class="zippy">
  23929. * <div (click)="toggle()">Toggle</div>
  23930. * <div [hidden]="!visible">
  23931. * <ng-content></ng-content>
  23932. * </div>
  23933. * </div>`})
  23934. * export class Zippy {
  23935. * visible: boolean = true;
  23936. * @Output() open: EventEmitter<any> = new EventEmitter();
  23937. * @Output() close: EventEmitter<any> = new EventEmitter();
  23938. *
  23939. * toggle() {
  23940. * this.visible = !this.visible;
  23941. * if (this.visible) {
  23942. * this.open.emit(null);
  23943. * } else {
  23944. * this.close.emit(null);
  23945. * }
  23946. * }
  23947. * }
  23948. * ```
  23949. *
  23950. * The events payload can be accessed by the parameter `$event` on the components output event
  23951. * handler:
  23952. *
  23953. * ```
  23954. * <zippy (open)="onOpen($event)" (close)="onClose($event)"></zippy>
  23955. * ```
  23956. *
  23957. * Uses Rx.Observable but provides an adapter to make it work as specified here:
  23958. * https://github.com/jhusain/observable-spec
  23959. *
  23960. * Once a reference implementation of the spec is available, switch to it.
  23961. * @stable
  23962. */
  23963. var EventEmitter = (function (_super) {
  23964. __extends(EventEmitter, _super);
  23965. /**
  23966. * Creates an instance of [EventEmitter], which depending on [isAsync],
  23967. * delivers events synchronously or asynchronously.
  23968. */
  23969. function EventEmitter(isAsync) {
  23970. if (isAsync === void 0) { isAsync = false; }
  23971. _super.call(this);
  23972. this.__isAsync = isAsync;
  23973. }
  23974. EventEmitter.prototype.emit = function (value) { _super.prototype.next.call(this, value); };
  23975. EventEmitter.prototype.subscribe = function (generatorOrNext, error, complete) {
  23976. var schedulerFn;
  23977. var errorFn = function (err) { return null; };
  23978. var completeFn = function () { return null; };
  23979. if (generatorOrNext && typeof generatorOrNext === 'object') {
  23980. schedulerFn = this.__isAsync ? function (value /** TODO #9100 */) {
  23981. setTimeout(function () { return generatorOrNext.next(value); });
  23982. } : function (value /** TODO #9100 */) { generatorOrNext.next(value); };
  23983. if (generatorOrNext.error) {
  23984. errorFn = this.__isAsync ? function (err) { setTimeout(function () { return generatorOrNext.error(err); }); } :
  23985. function (err) { generatorOrNext.error(err); };
  23986. }
  23987. if (generatorOrNext.complete) {
  23988. completeFn = this.__isAsync ? function () { setTimeout(function () { return generatorOrNext.complete(); }); } :
  23989. function () { generatorOrNext.complete(); };
  23990. }
  23991. }
  23992. else {
  23993. schedulerFn = this.__isAsync ? function (value /** TODO #9100 */) {
  23994. setTimeout(function () { return generatorOrNext(value); });
  23995. } : function (value /** TODO #9100 */) { generatorOrNext(value); };
  23996. if (error) {
  23997. errorFn =
  23998. this.__isAsync ? function (err) { setTimeout(function () { return error(err); }); } : function (err) { error(err); };
  23999. }
  24000. if (complete) {
  24001. completeFn =
  24002. this.__isAsync ? function () { setTimeout(function () { return complete(); }); } : function () { complete(); };
  24003. }
  24004. }
  24005. return _super.prototype.subscribe.call(this, schedulerFn, errorFn, completeFn);
  24006. };
  24007. return EventEmitter;
  24008. }(__WEBPACK_IMPORTED_MODULE_0_rxjs_Subject__["Subject"]));
  24009. //# sourceMappingURL=async.js.map
  24010. /***/ },
  24011. /* 208 */
  24012. /***/ function(module, exports, __webpack_require__) {
  24013. "use strict";
  24014. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(16);
  24015. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(5);
  24016. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__element_ref__ = __webpack_require__(315);
  24017. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__view_container_ref__ = __webpack_require__(320);
  24018. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__view_type__ = __webpack_require__(142);
  24019. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AppElement; });
  24020. /**
  24021. * @license
  24022. * Copyright Google Inc. All Rights Reserved.
  24023. *
  24024. * Use of this source code is governed by an MIT-style license that can be
  24025. * found in the LICENSE file at https://angular.io/license
  24026. */
  24027. /**
  24028. * An AppElement is created for elements that have a ViewContainerRef,
  24029. * a nested component or a <template> element to keep data around
  24030. * that is needed for later instantiations.
  24031. */
  24032. var AppElement = (function () {
  24033. function AppElement(index, parentIndex, parentView, nativeElement) {
  24034. this.index = index;
  24035. this.parentIndex = parentIndex;
  24036. this.parentView = parentView;
  24037. this.nativeElement = nativeElement;
  24038. this.nestedViews = null;
  24039. this.componentView = null;
  24040. }
  24041. Object.defineProperty(AppElement.prototype, "elementRef", {
  24042. get: function () { return new __WEBPACK_IMPORTED_MODULE_2__element_ref__["a" /* ElementRef */](this.nativeElement); },
  24043. enumerable: true,
  24044. configurable: true
  24045. });
  24046. Object.defineProperty(AppElement.prototype, "vcRef", {
  24047. get: function () { return new __WEBPACK_IMPORTED_MODULE_3__view_container_ref__["a" /* ViewContainerRef_ */](this); },
  24048. enumerable: true,
  24049. configurable: true
  24050. });
  24051. AppElement.prototype.initComponent = function (component, componentConstructorViewQueries, view) {
  24052. this.component = component;
  24053. this.componentConstructorViewQueries = componentConstructorViewQueries;
  24054. this.componentView = view;
  24055. };
  24056. Object.defineProperty(AppElement.prototype, "parentInjector", {
  24057. get: function () { return this.parentView.injector(this.parentIndex); },
  24058. enumerable: true,
  24059. configurable: true
  24060. });
  24061. Object.defineProperty(AppElement.prototype, "injector", {
  24062. get: function () { return this.parentView.injector(this.index); },
  24063. enumerable: true,
  24064. configurable: true
  24065. });
  24066. AppElement.prototype.mapNestedViews = function (nestedViewClass, callback) {
  24067. var result = [];
  24068. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(this.nestedViews)) {
  24069. this.nestedViews.forEach(function (nestedView) {
  24070. if (nestedView.clazz === nestedViewClass) {
  24071. result.push(callback(nestedView));
  24072. }
  24073. });
  24074. }
  24075. return result;
  24076. };
  24077. AppElement.prototype.moveView = function (view, currentIndex) {
  24078. var previousIndex = this.nestedViews.indexOf(view);
  24079. if (view.type === __WEBPACK_IMPORTED_MODULE_4__view_type__["a" /* ViewType */].COMPONENT) {
  24080. throw new Error("Component views can't be moved!");
  24081. }
  24082. var nestedViews = this.nestedViews;
  24083. if (nestedViews == null) {
  24084. nestedViews = [];
  24085. this.nestedViews = nestedViews;
  24086. }
  24087. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].removeAt(nestedViews, previousIndex);
  24088. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].insert(nestedViews, currentIndex, view);
  24089. var refRenderNode;
  24090. if (currentIndex > 0) {
  24091. var prevView = nestedViews[currentIndex - 1];
  24092. refRenderNode = prevView.lastRootNode;
  24093. }
  24094. else {
  24095. refRenderNode = this.nativeElement;
  24096. }
  24097. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(refRenderNode)) {
  24098. view.renderer.attachViewAfter(refRenderNode, view.flatRootNodes);
  24099. }
  24100. view.markContentChildAsMoved(this);
  24101. };
  24102. AppElement.prototype.attachView = function (view, viewIndex) {
  24103. if (view.type === __WEBPACK_IMPORTED_MODULE_4__view_type__["a" /* ViewType */].COMPONENT) {
  24104. throw new Error("Component views can't be moved!");
  24105. }
  24106. var nestedViews = this.nestedViews;
  24107. if (nestedViews == null) {
  24108. nestedViews = [];
  24109. this.nestedViews = nestedViews;
  24110. }
  24111. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].insert(nestedViews, viewIndex, view);
  24112. var refRenderNode;
  24113. if (viewIndex > 0) {
  24114. var prevView = nestedViews[viewIndex - 1];
  24115. refRenderNode = prevView.lastRootNode;
  24116. }
  24117. else {
  24118. refRenderNode = this.nativeElement;
  24119. }
  24120. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(refRenderNode)) {
  24121. view.renderer.attachViewAfter(refRenderNode, view.flatRootNodes);
  24122. }
  24123. view.addToContentChildren(this);
  24124. };
  24125. AppElement.prototype.detachView = function (viewIndex) {
  24126. var view = __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].removeAt(this.nestedViews, viewIndex);
  24127. if (view.type === __WEBPACK_IMPORTED_MODULE_4__view_type__["a" /* ViewType */].COMPONENT) {
  24128. throw new Error("Component views can't be moved!");
  24129. }
  24130. view.detach();
  24131. view.removeFromContentChildren(this);
  24132. return view;
  24133. };
  24134. return AppElement;
  24135. }());
  24136. //# sourceMappingURL=element.js.map
  24137. /***/ },
  24138. /* 209 */
  24139. /***/ function(module, exports, __webpack_require__) {
  24140. "use strict";
  24141. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__reflection_capabilities__ = __webpack_require__(325);
  24142. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__reflector__ = __webpack_require__(326);
  24143. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return reflector; });
  24144. /* unused harmony reexport ReflectionInfo */
  24145. /* harmony reexport (binding) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__reflector__["a"]; });
  24146. /**
  24147. * @license
  24148. * Copyright Google Inc. All Rights Reserved.
  24149. *
  24150. * Use of this source code is governed by an MIT-style license that can be
  24151. * found in the LICENSE file at https://angular.io/license
  24152. */
  24153. /**
  24154. * The {@link Reflector} used internally in Angular to access metadata
  24155. * about symbols.
  24156. */
  24157. var reflector = new __WEBPACK_IMPORTED_MODULE_1__reflector__["a" /* Reflector */](new __WEBPACK_IMPORTED_MODULE_0__reflection_capabilities__["a" /* ReflectionCapabilities */]());
  24158. //# sourceMappingURL=reflection.js.map
  24159. /***/ },
  24160. /* 210 */
  24161. /***/ function(module, exports, __webpack_require__) {
  24162. "use strict";
  24163. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ReflectorReader; });
  24164. /**
  24165. * @license
  24166. * Copyright Google Inc. All Rights Reserved.
  24167. *
  24168. * Use of this source code is governed by an MIT-style license that can be
  24169. * found in the LICENSE file at https://angular.io/license
  24170. */
  24171. /**
  24172. * Provides read-only access to reflection data about symbols. Used internally by Angular
  24173. * to power dependency injection and compilation.
  24174. */
  24175. var ReflectorReader = (function () {
  24176. function ReflectorReader() {
  24177. }
  24178. return ReflectorReader;
  24179. }());
  24180. //# sourceMappingURL=reflector_reader.js.map
  24181. /***/ },
  24182. /* 211 */
  24183. /***/ function(module, exports, __webpack_require__) {
  24184. "use strict";
  24185. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_errors__ = __webpack_require__(35);
  24186. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return RenderComponentType; });
  24187. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return RenderDebugInfo; });
  24188. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return Renderer; });
  24189. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return RootRenderer; });
  24190. /**
  24191. * @license
  24192. * Copyright Google Inc. All Rights Reserved.
  24193. *
  24194. * Use of this source code is governed by an MIT-style license that can be
  24195. * found in the LICENSE file at https://angular.io/license
  24196. */
  24197. /**
  24198. * @experimental
  24199. */
  24200. // TODO (matsko): add typing for the animation function
  24201. var RenderComponentType = (function () {
  24202. function RenderComponentType(id, templateUrl, slotCount, encapsulation, styles, animations) {
  24203. this.id = id;
  24204. this.templateUrl = templateUrl;
  24205. this.slotCount = slotCount;
  24206. this.encapsulation = encapsulation;
  24207. this.styles = styles;
  24208. this.animations = animations;
  24209. }
  24210. return RenderComponentType;
  24211. }());
  24212. var RenderDebugInfo = (function () {
  24213. function RenderDebugInfo() {
  24214. }
  24215. Object.defineProperty(RenderDebugInfo.prototype, "injector", {
  24216. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["a" /* unimplemented */])(); },
  24217. enumerable: true,
  24218. configurable: true
  24219. });
  24220. Object.defineProperty(RenderDebugInfo.prototype, "component", {
  24221. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["a" /* unimplemented */])(); },
  24222. enumerable: true,
  24223. configurable: true
  24224. });
  24225. Object.defineProperty(RenderDebugInfo.prototype, "providerTokens", {
  24226. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["a" /* unimplemented */])(); },
  24227. enumerable: true,
  24228. configurable: true
  24229. });
  24230. Object.defineProperty(RenderDebugInfo.prototype, "references", {
  24231. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["a" /* unimplemented */])(); },
  24232. enumerable: true,
  24233. configurable: true
  24234. });
  24235. Object.defineProperty(RenderDebugInfo.prototype, "context", {
  24236. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["a" /* unimplemented */])(); },
  24237. enumerable: true,
  24238. configurable: true
  24239. });
  24240. Object.defineProperty(RenderDebugInfo.prototype, "source", {
  24241. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["a" /* unimplemented */])(); },
  24242. enumerable: true,
  24243. configurable: true
  24244. });
  24245. return RenderDebugInfo;
  24246. }());
  24247. /**
  24248. * @experimental
  24249. */
  24250. var Renderer = (function () {
  24251. function Renderer() {
  24252. }
  24253. return Renderer;
  24254. }());
  24255. /**
  24256. * Injectable service that provides a low-level interface for modifying the UI.
  24257. *
  24258. * Use this service to bypass Angular's templating and make custom UI changes that can't be
  24259. * expressed declaratively. For example if you need to set a property or an attribute whose name is
  24260. * not statically known, use {@link #setElementProperty} or {@link #setElementAttribute}
  24261. * respectively.
  24262. *
  24263. * If you are implementing a custom renderer, you must implement this interface.
  24264. *
  24265. * The default Renderer implementation is `DomRenderer`. Also available is `WebWorkerRenderer`.
  24266. * @experimental
  24267. */
  24268. var RootRenderer = (function () {
  24269. function RootRenderer() {
  24270. }
  24271. return RootRenderer;
  24272. }());
  24273. //# sourceMappingURL=api.js.map
  24274. /***/ },
  24275. /* 212 */
  24276. /***/ function(module, exports, __webpack_require__) {
  24277. "use strict";
  24278. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__di__ = __webpack_require__(39);
  24279. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(16);
  24280. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(5);
  24281. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__zone_ng_zone__ = __webpack_require__(215);
  24282. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Testability; });
  24283. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return TestabilityRegistry; });
  24284. /* harmony export (immutable) */ exports["c"] = setTestabilityGetter;
  24285. /**
  24286. * @license
  24287. * Copyright Google Inc. All Rights Reserved.
  24288. *
  24289. * Use of this source code is governed by an MIT-style license that can be
  24290. * found in the LICENSE file at https://angular.io/license
  24291. */
  24292. /**
  24293. * The Testability service provides testing hooks that can be accessed from
  24294. * the browser and by services such as Protractor. Each bootstrapped Angular
  24295. * application on the page will have an instance of Testability.
  24296. * @experimental
  24297. */
  24298. var Testability = (function () {
  24299. function Testability(_ngZone) {
  24300. this._ngZone = _ngZone;
  24301. /** @internal */
  24302. this._pendingCount = 0;
  24303. /** @internal */
  24304. this._isZoneStable = true;
  24305. /**
  24306. * Whether any work was done since the last 'whenStable' callback. This is
  24307. * useful to detect if this could have potentially destabilized another
  24308. * component while it is stabilizing.
  24309. * @internal
  24310. */
  24311. this._didWork = false;
  24312. /** @internal */
  24313. this._callbacks = [];
  24314. this._watchAngularEvents();
  24315. }
  24316. /** @internal */
  24317. Testability.prototype._watchAngularEvents = function () {
  24318. var _this = this;
  24319. this._ngZone.onUnstable.subscribe({
  24320. next: function () {
  24321. _this._didWork = true;
  24322. _this._isZoneStable = false;
  24323. }
  24324. });
  24325. this._ngZone.runOutsideAngular(function () {
  24326. _this._ngZone.onStable.subscribe({
  24327. next: function () {
  24328. __WEBPACK_IMPORTED_MODULE_3__zone_ng_zone__["a" /* NgZone */].assertNotInAngularZone();
  24329. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["q" /* scheduleMicroTask */])(function () {
  24330. _this._isZoneStable = true;
  24331. _this._runCallbacksIfReady();
  24332. });
  24333. }
  24334. });
  24335. });
  24336. };
  24337. Testability.prototype.increasePendingRequestCount = function () {
  24338. this._pendingCount += 1;
  24339. this._didWork = true;
  24340. return this._pendingCount;
  24341. };
  24342. Testability.prototype.decreasePendingRequestCount = function () {
  24343. this._pendingCount -= 1;
  24344. if (this._pendingCount < 0) {
  24345. throw new Error('pending async requests below zero');
  24346. }
  24347. this._runCallbacksIfReady();
  24348. return this._pendingCount;
  24349. };
  24350. Testability.prototype.isStable = function () {
  24351. return this._isZoneStable && this._pendingCount == 0 && !this._ngZone.hasPendingMacrotasks;
  24352. };
  24353. /** @internal */
  24354. Testability.prototype._runCallbacksIfReady = function () {
  24355. var _this = this;
  24356. if (this.isStable()) {
  24357. // Schedules the call backs in a new frame so that it is always async.
  24358. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["q" /* scheduleMicroTask */])(function () {
  24359. while (_this._callbacks.length !== 0) {
  24360. (_this._callbacks.pop())(_this._didWork);
  24361. }
  24362. _this._didWork = false;
  24363. });
  24364. }
  24365. else {
  24366. // Not Ready
  24367. this._didWork = true;
  24368. }
  24369. };
  24370. Testability.prototype.whenStable = function (callback) {
  24371. this._callbacks.push(callback);
  24372. this._runCallbacksIfReady();
  24373. };
  24374. Testability.prototype.getPendingRequestCount = function () { return this._pendingCount; };
  24375. /** @deprecated use findProviders */
  24376. Testability.prototype.findBindings = function (using, provider, exactMatch) {
  24377. // TODO(juliemr): implement.
  24378. return [];
  24379. };
  24380. Testability.prototype.findProviders = function (using, provider, exactMatch) {
  24381. // TODO(juliemr): implement.
  24382. return [];
  24383. };
  24384. Testability.decorators = [
  24385. { type: __WEBPACK_IMPORTED_MODULE_0__di__["b" /* Injectable */] },
  24386. ];
  24387. /** @nocollapse */
  24388. Testability.ctorParameters = [
  24389. { type: __WEBPACK_IMPORTED_MODULE_3__zone_ng_zone__["a" /* NgZone */], },
  24390. ];
  24391. return Testability;
  24392. }());
  24393. /**
  24394. * A global registry of {@link Testability} instances for specific elements.
  24395. * @experimental
  24396. */
  24397. var TestabilityRegistry = (function () {
  24398. function TestabilityRegistry() {
  24399. /** @internal */
  24400. this._applications = new Map();
  24401. _testabilityGetter.addToWindow(this);
  24402. }
  24403. TestabilityRegistry.prototype.registerApplication = function (token, testability) {
  24404. this._applications.set(token, testability);
  24405. };
  24406. TestabilityRegistry.prototype.getTestability = function (elem) { return this._applications.get(elem); };
  24407. TestabilityRegistry.prototype.getAllTestabilities = function () { return __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* MapWrapper */].values(this._applications); };
  24408. TestabilityRegistry.prototype.getAllRootElements = function () { return __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* MapWrapper */].keys(this._applications); };
  24409. TestabilityRegistry.prototype.findTestabilityInTree = function (elem, findInAncestors) {
  24410. if (findInAncestors === void 0) { findInAncestors = true; }
  24411. return _testabilityGetter.findTestabilityInTree(this, elem, findInAncestors);
  24412. };
  24413. TestabilityRegistry.decorators = [
  24414. { type: __WEBPACK_IMPORTED_MODULE_0__di__["b" /* Injectable */] },
  24415. ];
  24416. /** @nocollapse */
  24417. TestabilityRegistry.ctorParameters = [];
  24418. return TestabilityRegistry;
  24419. }());
  24420. var _NoopGetTestability = (function () {
  24421. function _NoopGetTestability() {
  24422. }
  24423. _NoopGetTestability.prototype.addToWindow = function (registry) { };
  24424. _NoopGetTestability.prototype.findTestabilityInTree = function (registry, elem, findInAncestors) {
  24425. return null;
  24426. };
  24427. return _NoopGetTestability;
  24428. }());
  24429. /**
  24430. * Set the {@link GetTestability} implementation used by the Angular testing framework.
  24431. * @experimental
  24432. */
  24433. function setTestabilityGetter(getter) {
  24434. _testabilityGetter = getter;
  24435. }
  24436. var _testabilityGetter = new _NoopGetTestability();
  24437. //# sourceMappingURL=testability.js.map
  24438. /***/ },
  24439. /* 213 */
  24440. /***/ function(module, exports, __webpack_require__) {
  24441. "use strict";
  24442. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Type; });
  24443. /**
  24444. * @license
  24445. * Copyright Google Inc. All Rights Reserved.
  24446. *
  24447. * Use of this source code is governed by an MIT-style license that can be
  24448. * found in the LICENSE file at https://angular.io/license
  24449. */
  24450. /**
  24451. * @whatItDoes Represents a type that a Component or other object is instances of.
  24452. *
  24453. * @description
  24454. *
  24455. * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is be represented by
  24456. * the `MyCustomComponent` constructor function.
  24457. *
  24458. * @stable
  24459. */
  24460. var Type = Function;
  24461. //# sourceMappingURL=type.js.map
  24462. /***/ },
  24463. /* 214 */
  24464. /***/ function(module, exports, __webpack_require__) {
  24465. "use strict";
  24466. /* harmony export (immutable) */ exports["a"] = isPromise;
  24467. /**
  24468. * @license
  24469. * Copyright Google Inc. All Rights Reserved.
  24470. *
  24471. * Use of this source code is governed by an MIT-style license that can be
  24472. * found in the LICENSE file at https://angular.io/license
  24473. */
  24474. function isPromise(obj) {
  24475. // allow any Promise/A+ compliant thenable.
  24476. // It's up to the caller to ensure that obj.then conforms to the spec
  24477. return !!obj && typeof obj.then === 'function';
  24478. }
  24479. //# sourceMappingURL=lang.js.map
  24480. /***/ },
  24481. /* 215 */
  24482. /***/ function(module, exports, __webpack_require__) {
  24483. "use strict";
  24484. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_async__ = __webpack_require__(207);
  24485. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ng_zone_impl__ = __webpack_require__(499);
  24486. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NgZone; });
  24487. /**
  24488. * @license
  24489. * Copyright Google Inc. All Rights Reserved.
  24490. *
  24491. * Use of this source code is governed by an MIT-style license that can be
  24492. * found in the LICENSE file at https://angular.io/license
  24493. */
  24494. /**
  24495. * An injectable service for executing work inside or outside of the Angular zone.
  24496. *
  24497. * The most common use of this service is to optimize performance when starting a work consisting of
  24498. * one or more asynchronous tasks that don't require UI updates or error handling to be handled by
  24499. * Angular. Such tasks can be kicked off via {@link #runOutsideAngular} and if needed, these tasks
  24500. * can reenter the Angular zone via {@link #run}.
  24501. *
  24502. * <!-- TODO: add/fix links to:
  24503. * - docs explaining zones and the use of zones in Angular and change-detection
  24504. * - link to runOutsideAngular/run (throughout this file!)
  24505. * -->
  24506. *
  24507. * ### Example ([live demo](http://plnkr.co/edit/lY9m8HLy7z06vDoUaSN2?p=preview))
  24508. * ```
  24509. * import {Component, View, NgZone} from '@angular/core';
  24510. * import {NgIf} from '@angular/common';
  24511. *
  24512. * @Component({
  24513. * selector: 'ng-zone-demo'.
  24514. * template: `
  24515. * <h2>Demo: NgZone</h2>
  24516. *
  24517. * <p>Progress: {{progress}}%</p>
  24518. * <p *ngIf="progress >= 100">Done processing {{label}} of Angular zone!</p>
  24519. *
  24520. * <button (click)="processWithinAngularZone()">Process within Angular zone</button>
  24521. * <button (click)="processOutsideOfAngularZone()">Process outside of Angular zone</button>
  24522. * `,
  24523. * directives: [NgIf]
  24524. * })
  24525. * export class NgZoneDemo {
  24526. * progress: number = 0;
  24527. * label: string;
  24528. *
  24529. * constructor(private _ngZone: NgZone) {}
  24530. *
  24531. * // Loop inside the Angular zone
  24532. * // so the UI DOES refresh after each setTimeout cycle
  24533. * processWithinAngularZone() {
  24534. * this.label = 'inside';
  24535. * this.progress = 0;
  24536. * this._increaseProgress(() => console.log('Inside Done!'));
  24537. * }
  24538. *
  24539. * // Loop outside of the Angular zone
  24540. * // so the UI DOES NOT refresh after each setTimeout cycle
  24541. * processOutsideOfAngularZone() {
  24542. * this.label = 'outside';
  24543. * this.progress = 0;
  24544. * this._ngZone.runOutsideAngular(() => {
  24545. * this._increaseProgress(() => {
  24546. * // reenter the Angular zone and display done
  24547. * this._ngZone.run(() => {console.log('Outside Done!') });
  24548. * }}));
  24549. * }
  24550. *
  24551. *
  24552. * _increaseProgress(doneCallback: () => void) {
  24553. * this.progress += 1;
  24554. * console.log(`Current progress: ${this.progress}%`);
  24555. *
  24556. * if (this.progress < 100) {
  24557. * window.setTimeout(() => this._increaseProgress(doneCallback)), 10)
  24558. * } else {
  24559. * doneCallback();
  24560. * }
  24561. * }
  24562. * }
  24563. * ```
  24564. * @experimental
  24565. */
  24566. var NgZone = (function () {
  24567. function NgZone(_a) {
  24568. var _this = this;
  24569. var _b = _a.enableLongStackTrace, enableLongStackTrace = _b === void 0 ? false : _b;
  24570. this._hasPendingMicrotasks = false;
  24571. this._hasPendingMacrotasks = false;
  24572. /** @internal */
  24573. this._isStable = true;
  24574. /** @internal */
  24575. this._nesting = 0;
  24576. /** @internal */
  24577. this._onUnstable = new __WEBPACK_IMPORTED_MODULE_0__facade_async__["a" /* EventEmitter */](false);
  24578. /** @internal */
  24579. this._onMicrotaskEmpty = new __WEBPACK_IMPORTED_MODULE_0__facade_async__["a" /* EventEmitter */](false);
  24580. /** @internal */
  24581. this._onStable = new __WEBPACK_IMPORTED_MODULE_0__facade_async__["a" /* EventEmitter */](false);
  24582. /** @internal */
  24583. this._onErrorEvents = new __WEBPACK_IMPORTED_MODULE_0__facade_async__["a" /* EventEmitter */](false);
  24584. this._zoneImpl = new __WEBPACK_IMPORTED_MODULE_1__ng_zone_impl__["a" /* NgZoneImpl */]({
  24585. trace: enableLongStackTrace,
  24586. onEnter: function () {
  24587. // console.log('ZONE.enter', this._nesting, this._isStable);
  24588. _this._nesting++;
  24589. if (_this._isStable) {
  24590. _this._isStable = false;
  24591. _this._onUnstable.emit(null);
  24592. }
  24593. },
  24594. onLeave: function () {
  24595. _this._nesting--;
  24596. // console.log('ZONE.leave', this._nesting, this._isStable);
  24597. _this._checkStable();
  24598. },
  24599. setMicrotask: function (hasMicrotasks) {
  24600. _this._hasPendingMicrotasks = hasMicrotasks;
  24601. _this._checkStable();
  24602. },
  24603. setMacrotask: function (hasMacrotasks) { _this._hasPendingMacrotasks = hasMacrotasks; },
  24604. onError: function (error) { return _this._onErrorEvents.emit(error); }
  24605. });
  24606. }
  24607. NgZone.isInAngularZone = function () { return __WEBPACK_IMPORTED_MODULE_1__ng_zone_impl__["a" /* NgZoneImpl */].isInAngularZone(); };
  24608. NgZone.assertInAngularZone = function () {
  24609. if (!__WEBPACK_IMPORTED_MODULE_1__ng_zone_impl__["a" /* NgZoneImpl */].isInAngularZone()) {
  24610. throw new Error('Expected to be in Angular Zone, but it is not!');
  24611. }
  24612. };
  24613. NgZone.assertNotInAngularZone = function () {
  24614. if (__WEBPACK_IMPORTED_MODULE_1__ng_zone_impl__["a" /* NgZoneImpl */].isInAngularZone()) {
  24615. throw new Error('Expected to not be in Angular Zone, but it is!');
  24616. }
  24617. };
  24618. NgZone.prototype._checkStable = function () {
  24619. var _this = this;
  24620. if (this._nesting == 0) {
  24621. if (!this._hasPendingMicrotasks && !this._isStable) {
  24622. try {
  24623. // console.log('ZONE.microtaskEmpty');
  24624. this._nesting++;
  24625. this._onMicrotaskEmpty.emit(null);
  24626. }
  24627. finally {
  24628. this._nesting--;
  24629. if (!this._hasPendingMicrotasks) {
  24630. try {
  24631. // console.log('ZONE.stable', this._nesting, this._isStable);
  24632. this.runOutsideAngular(function () { return _this._onStable.emit(null); });
  24633. }
  24634. finally {
  24635. this._isStable = true;
  24636. }
  24637. }
  24638. }
  24639. }
  24640. }
  24641. };
  24642. ;
  24643. Object.defineProperty(NgZone.prototype, "onUnstable", {
  24644. /**
  24645. * Notifies when code enters Angular Zone. This gets fired first on VM Turn.
  24646. */
  24647. get: function () { return this._onUnstable; },
  24648. enumerable: true,
  24649. configurable: true
  24650. });
  24651. Object.defineProperty(NgZone.prototype, "onMicrotaskEmpty", {
  24652. /**
  24653. * Notifies when there is no more microtasks enqueue in the current VM Turn.
  24654. * This is a hint for Angular to do change detection, which may enqueue more microtasks.
  24655. * For this reason this event can fire multiple times per VM Turn.
  24656. */
  24657. get: function () { return this._onMicrotaskEmpty; },
  24658. enumerable: true,
  24659. configurable: true
  24660. });
  24661. Object.defineProperty(NgZone.prototype, "onStable", {
  24662. /**
  24663. * Notifies when the last `onMicrotaskEmpty` has run and there are no more microtasks, which
  24664. * implies we are about to relinquish VM turn.
  24665. * This event gets called just once.
  24666. */
  24667. get: function () { return this._onStable; },
  24668. enumerable: true,
  24669. configurable: true
  24670. });
  24671. Object.defineProperty(NgZone.prototype, "onError", {
  24672. /**
  24673. * Notify that an error has been delivered.
  24674. */
  24675. get: function () { return this._onErrorEvents; },
  24676. enumerable: true,
  24677. configurable: true
  24678. });
  24679. Object.defineProperty(NgZone.prototype, "isStable", {
  24680. /**
  24681. * Whether there are no outstanding microtasks or microtasks.
  24682. */
  24683. get: function () { return this._isStable; },
  24684. enumerable: true,
  24685. configurable: true
  24686. });
  24687. Object.defineProperty(NgZone.prototype, "hasPendingMicrotasks", {
  24688. /**
  24689. * Whether there are any outstanding microtasks.
  24690. */
  24691. get: function () { return this._hasPendingMicrotasks; },
  24692. enumerable: true,
  24693. configurable: true
  24694. });
  24695. Object.defineProperty(NgZone.prototype, "hasPendingMacrotasks", {
  24696. /**
  24697. * Whether there are any outstanding microtasks.
  24698. */
  24699. get: function () { return this._hasPendingMacrotasks; },
  24700. enumerable: true,
  24701. configurable: true
  24702. });
  24703. /**
  24704. * Executes the `fn` function synchronously within the Angular zone and returns value returned by
  24705. * the function.
  24706. *
  24707. * Running functions via `run` allows you to reenter Angular zone from a task that was executed
  24708. * outside of the Angular zone (typically started via {@link #runOutsideAngular}).
  24709. *
  24710. * Any future tasks or microtasks scheduled from within this function will continue executing from
  24711. * within the Angular zone.
  24712. *
  24713. * If a synchronous error happens it will be rethrown and not reported via `onError`.
  24714. */
  24715. NgZone.prototype.run = function (fn) { return this._zoneImpl.runInner(fn); };
  24716. /**
  24717. * Same as #run, except that synchronous errors are caught and forwarded
  24718. * via `onError` and not rethrown.
  24719. */
  24720. NgZone.prototype.runGuarded = function (fn) { return this._zoneImpl.runInnerGuarded(fn); };
  24721. /**
  24722. * Executes the `fn` function synchronously in Angular's parent zone and returns value returned by
  24723. * the function.
  24724. *
  24725. * Running functions via `runOutsideAngular` allows you to escape Angular's zone and do work that
  24726. * doesn't trigger Angular change-detection or is subject to Angular's error handling.
  24727. *
  24728. * Any future tasks or microtasks scheduled from within this function will continue executing from
  24729. * outside of the Angular zone.
  24730. *
  24731. * Use {@link #run} to reenter the Angular zone and do work that updates the application model.
  24732. */
  24733. NgZone.prototype.runOutsideAngular = function (fn) { return this._zoneImpl.runOuter(fn); };
  24734. return NgZone;
  24735. }());
  24736. //# sourceMappingURL=ng_zone.js.map
  24737. /***/ },
  24738. /* 216 */,
  24739. /* 217 */,
  24740. /* 218 */,
  24741. /* 219 */,
  24742. /* 220 */,
  24743. /* 221 */,
  24744. /* 222 */,
  24745. /* 223 */
  24746. /***/ function(module, exports, __webpack_require__) {
  24747. "use strict";
  24748. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  24749. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return BrowserXhr; });
  24750. /**
  24751. * @license
  24752. * Copyright Google Inc. All Rights Reserved.
  24753. *
  24754. * Use of this source code is governed by an MIT-style license that can be
  24755. * found in the LICENSE file at https://angular.io/license
  24756. */
  24757. /**
  24758. * A backend for http that uses the `XMLHttpRequest` browser API.
  24759. *
  24760. * Take care not to evaluate this in non-browser contexts.
  24761. *
  24762. * @experimental
  24763. */
  24764. var BrowserXhr = (function () {
  24765. function BrowserXhr() {
  24766. }
  24767. BrowserXhr.prototype.build = function () { return (new XMLHttpRequest()); };
  24768. BrowserXhr.decorators = [
  24769. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  24770. ];
  24771. /** @nocollapse */
  24772. BrowserXhr.ctorParameters = [];
  24773. return BrowserXhr;
  24774. }());
  24775. //# sourceMappingURL=browser_xhr.js.map
  24776. /***/ },
  24777. /* 224 */
  24778. /***/ function(module, exports, __webpack_require__) {
  24779. "use strict";
  24780. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  24781. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_facade_lang__ = __webpack_require__(36);
  24782. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__enums__ = __webpack_require__(68);
  24783. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__headers__ = __webpack_require__(114);
  24784. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__http_utils__ = __webpack_require__(153);
  24785. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__url_search_params__ = __webpack_require__(154);
  24786. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return RequestOptions; });
  24787. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return BaseRequestOptions; });
  24788. /**
  24789. * @license
  24790. * Copyright Google Inc. All Rights Reserved.
  24791. *
  24792. * Use of this source code is governed by an MIT-style license that can be
  24793. * found in the LICENSE file at https://angular.io/license
  24794. */
  24795. var __extends = (this && this.__extends) || function (d, b) {
  24796. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  24797. function __() { this.constructor = d; }
  24798. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  24799. };
  24800. /**
  24801. * Creates a request options object to be optionally provided when instantiating a
  24802. * {@link Request}.
  24803. *
  24804. * This class is based on the `RequestInit` description in the [Fetch
  24805. * Spec](https://fetch.spec.whatwg.org/#requestinit).
  24806. *
  24807. * All values are null by default. Typical defaults can be found in the {@link BaseRequestOptions}
  24808. * class, which sub-classes `RequestOptions`.
  24809. *
  24810. * ### Example ([live demo](http://plnkr.co/edit/7Wvi3lfLq41aQPKlxB4O?p=preview))
  24811. *
  24812. * ```typescript
  24813. * import {RequestOptions, Request, RequestMethod} from '@angular/http';
  24814. *
  24815. * var options = new RequestOptions({
  24816. * method: RequestMethod.Post,
  24817. * url: 'https://google.com'
  24818. * });
  24819. * var req = new Request(options);
  24820. * console.log('req.method:', RequestMethod[req.method]); // Post
  24821. * console.log('options.url:', options.url); // https://google.com
  24822. * ```
  24823. *
  24824. * @experimental
  24825. */
  24826. var RequestOptions = (function () {
  24827. function RequestOptions(_a) {
  24828. var _b = _a === void 0 ? {} : _a, method = _b.method, headers = _b.headers, body = _b.body, url = _b.url, search = _b.search, withCredentials = _b.withCredentials, responseType = _b.responseType;
  24829. this.method = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(method) ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__http_utils__["e" /* normalizeMethodName */])(method) : null;
  24830. this.headers = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(headers) ? headers : null;
  24831. this.body = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(body) ? body : null;
  24832. this.url = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(url) ? url : null;
  24833. this.search = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(search) ?
  24834. (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["f" /* isString */])(search) ? new __WEBPACK_IMPORTED_MODULE_5__url_search_params__["a" /* URLSearchParams */]((search)) : (search)) :
  24835. null;
  24836. this.withCredentials = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(withCredentials) ? withCredentials : null;
  24837. this.responseType = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(responseType) ? responseType : null;
  24838. }
  24839. /**
  24840. * Creates a copy of the `RequestOptions` instance, using the optional input as values to override
  24841. * existing values. This method will not change the values of the instance on which it is being
  24842. * called.
  24843. *
  24844. * Note that `headers` and `search` will override existing values completely if present in
  24845. * the `options` object. If these values should be merged, it should be done prior to calling
  24846. * `merge` on the `RequestOptions` instance.
  24847. *
  24848. * ### Example ([live demo](http://plnkr.co/edit/6w8XA8YTkDRcPYpdB9dk?p=preview))
  24849. *
  24850. * ```typescript
  24851. * import {RequestOptions, Request, RequestMethod} from '@angular/http';
  24852. *
  24853. * var options = new RequestOptions({
  24854. * method: RequestMethod.Post
  24855. * });
  24856. * var req = new Request(options.merge({
  24857. * url: 'https://google.com'
  24858. * }));
  24859. * console.log('req.method:', RequestMethod[req.method]); // Post
  24860. * console.log('options.url:', options.url); // null
  24861. * console.log('req.url:', req.url); // https://google.com
  24862. * ```
  24863. */
  24864. RequestOptions.prototype.merge = function (options) {
  24865. return new RequestOptions({
  24866. method: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options.method) ? options.method : this.method,
  24867. headers: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options.headers) ? options.headers : this.headers,
  24868. body: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options.body) ? options.body : this.body,
  24869. url: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options.url) ? options.url : this.url,
  24870. search: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options.search) ?
  24871. (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["f" /* isString */])(options.search) ? new __WEBPACK_IMPORTED_MODULE_5__url_search_params__["a" /* URLSearchParams */]((options.search)) :
  24872. (options.search).clone()) :
  24873. this.search,
  24874. withCredentials: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options.withCredentials) ?
  24875. options.withCredentials :
  24876. this.withCredentials,
  24877. responseType: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(options.responseType) ? options.responseType :
  24878. this.responseType
  24879. });
  24880. };
  24881. return RequestOptions;
  24882. }());
  24883. /**
  24884. * Subclass of {@link RequestOptions}, with default values.
  24885. *
  24886. * Default values:
  24887. * * method: {@link RequestMethod RequestMethod.Get}
  24888. * * headers: empty {@link Headers} object
  24889. *
  24890. * This class could be extended and bound to the {@link RequestOptions} class
  24891. * when configuring an {@link Injector}, in order to override the default options
  24892. * used by {@link Http} to create and send {@link Request Requests}.
  24893. *
  24894. * ### Example ([live demo](http://plnkr.co/edit/LEKVSx?p=preview))
  24895. *
  24896. * ```typescript
  24897. * import {provide} from '@angular/core';
  24898. * import {bootstrap} from '@angular/platform-browser/browser';
  24899. * import {HTTP_PROVIDERS, Http, BaseRequestOptions, RequestOptions} from '@angular/http';
  24900. * import {App} from './myapp';
  24901. *
  24902. * class MyOptions extends BaseRequestOptions {
  24903. * search: string = 'coreTeam=true';
  24904. * }
  24905. *
  24906. * bootstrap(App, [HTTP_PROVIDERS, {provide: RequestOptions, useClass: MyOptions}]);
  24907. * ```
  24908. *
  24909. * The options could also be extended when manually creating a {@link Request}
  24910. * object.
  24911. *
  24912. * ### Example ([live demo](http://plnkr.co/edit/oyBoEvNtDhOSfi9YxaVb?p=preview))
  24913. *
  24914. * ```
  24915. * import {BaseRequestOptions, Request, RequestMethod} from '@angular/http';
  24916. *
  24917. * var options = new BaseRequestOptions();
  24918. * var req = new Request(options.merge({
  24919. * method: RequestMethod.Post,
  24920. * url: 'https://google.com'
  24921. * }));
  24922. * console.log('req.method:', RequestMethod[req.method]); // Post
  24923. * console.log('options.url:', options.url); // null
  24924. * console.log('req.url:', req.url); // https://google.com
  24925. * ```
  24926. *
  24927. * @experimental
  24928. */
  24929. var BaseRequestOptions = (function (_super) {
  24930. __extends(BaseRequestOptions, _super);
  24931. function BaseRequestOptions() {
  24932. _super.call(this, { method: __WEBPACK_IMPORTED_MODULE_2__enums__["b" /* RequestMethod */].Get, headers: new __WEBPACK_IMPORTED_MODULE_3__headers__["a" /* Headers */]() });
  24933. }
  24934. BaseRequestOptions.decorators = [
  24935. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  24936. ];
  24937. /** @nocollapse */
  24938. BaseRequestOptions.ctorParameters = [];
  24939. return BaseRequestOptions;
  24940. }(RequestOptions));
  24941. //# sourceMappingURL=base_request_options.js.map
  24942. /***/ },
  24943. /* 225 */
  24944. /***/ function(module, exports, __webpack_require__) {
  24945. "use strict";
  24946. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__body__ = __webpack_require__(335);
  24947. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Response; });
  24948. /**
  24949. * @license
  24950. * Copyright Google Inc. All Rights Reserved.
  24951. *
  24952. * Use of this source code is governed by an MIT-style license that can be
  24953. * found in the LICENSE file at https://angular.io/license
  24954. */
  24955. var __extends = (this && this.__extends) || function (d, b) {
  24956. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  24957. function __() { this.constructor = d; }
  24958. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  24959. };
  24960. /**
  24961. * Creates `Response` instances from provided values.
  24962. *
  24963. * Though this object isn't
  24964. * usually instantiated by end-users, it is the primary object interacted with when it comes time to
  24965. * add data to a view.
  24966. *
  24967. * ### Example
  24968. *
  24969. * ```
  24970. * http.request('my-friends.txt').subscribe(response => this.friends = response.text());
  24971. * ```
  24972. *
  24973. * The Response's interface is inspired by the Response constructor defined in the [Fetch
  24974. * Spec](https://fetch.spec.whatwg.org/#response-class), but is considered a static value whose body
  24975. * can be accessed many times. There are other differences in the implementation, but this is the
  24976. * most significant.
  24977. *
  24978. * @experimental
  24979. */
  24980. var Response = (function (_super) {
  24981. __extends(Response, _super);
  24982. function Response(responseOptions) {
  24983. _super.call(this);
  24984. this._body = responseOptions.body;
  24985. this.status = responseOptions.status;
  24986. this.ok = (this.status >= 200 && this.status <= 299);
  24987. this.statusText = responseOptions.statusText;
  24988. this.headers = responseOptions.headers;
  24989. this.type = responseOptions.type;
  24990. this.url = responseOptions.url;
  24991. }
  24992. Response.prototype.toString = function () {
  24993. return "Response with status: " + this.status + " " + this.statusText + " for URL: " + this.url;
  24994. };
  24995. return Response;
  24996. }(__WEBPACK_IMPORTED_MODULE_0__body__["a" /* Body */]));
  24997. //# sourceMappingURL=static_response.js.map
  24998. /***/ },
  24999. /* 226 */
  25000. /***/ function(module, exports, __webpack_require__) {
  25001. "use strict";
  25002. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__private_import_core__ = __webpack_require__(349);
  25003. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AnimationDriver; });
  25004. /**
  25005. * @license
  25006. * Copyright Google Inc. All Rights Reserved.
  25007. *
  25008. * Use of this source code is governed by an MIT-style license that can be
  25009. * found in the LICENSE file at https://angular.io/license
  25010. */
  25011. var _NoOpAnimationDriver = (function () {
  25012. function _NoOpAnimationDriver() {
  25013. }
  25014. _NoOpAnimationDriver.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing) {
  25015. return new __WEBPACK_IMPORTED_MODULE_0__private_import_core__["a" /* NoOpAnimationPlayer */]();
  25016. };
  25017. return _NoOpAnimationDriver;
  25018. }());
  25019. /**
  25020. * @experimental
  25021. */
  25022. var AnimationDriver = (function () {
  25023. function AnimationDriver() {
  25024. }
  25025. AnimationDriver.NOOP = new _NoOpAnimationDriver();
  25026. return AnimationDriver;
  25027. }());
  25028. //# sourceMappingURL=animation_driver.js.map
  25029. /***/ },
  25030. /* 227 */
  25031. /***/ function(module, exports, __webpack_require__) {
  25032. "use strict";
  25033. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  25034. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(92);
  25035. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__private_import_core__ = __webpack_require__(349);
  25036. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__dom_adapter__ = __webpack_require__(18);
  25037. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__dom_renderer__ = __webpack_require__(228);
  25038. /* unused harmony export inspectNativeElement */
  25039. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return NgProbeToken; });
  25040. /* unused harmony export _createConditionalRootRenderer */
  25041. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ELEMENT_PROBE_PROVIDERS; });
  25042. /* unused harmony export ELEMENT_PROBE_PROVIDERS_PROD_MODE */
  25043. /**
  25044. * @license
  25045. * Copyright Google Inc. All Rights Reserved.
  25046. *
  25047. * Use of this source code is governed by an MIT-style license that can be
  25048. * found in the LICENSE file at https://angular.io/license
  25049. */
  25050. var CORE_TOKENS = {
  25051. 'ApplicationRef': __WEBPACK_IMPORTED_MODULE_0__angular_core__["ApplicationRef"],
  25052. 'NgZone': __WEBPACK_IMPORTED_MODULE_0__angular_core__["NgZone"]
  25053. };
  25054. var INSPECT_GLOBAL_NAME = 'ng.probe';
  25055. var CORE_TOKENS_GLOBAL_NAME = 'ng.coreTokens';
  25056. /**
  25057. * Returns a {@link DebugElement} for the given native DOM element, or
  25058. * null if the given native element does not have an Angular view associated
  25059. * with it.
  25060. */
  25061. function inspectNativeElement(element /** TODO #9100 */) {
  25062. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["getDebugNode"])(element);
  25063. }
  25064. /**
  25065. * @experimental
  25066. */
  25067. var NgProbeToken = (function () {
  25068. function NgProbeToken(name, token) {
  25069. this.name = name;
  25070. this.token = token;
  25071. }
  25072. return NgProbeToken;
  25073. }());
  25074. function _createConditionalRootRenderer(rootRenderer /** TODO #9100 */, extraTokens) {
  25075. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["isDevMode"])()) {
  25076. return _createRootRenderer(rootRenderer, extraTokens);
  25077. }
  25078. return rootRenderer;
  25079. }
  25080. function _createRootRenderer(rootRenderer /** TODO #9100 */, extraTokens) {
  25081. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().setGlobalVar(INSPECT_GLOBAL_NAME, inspectNativeElement);
  25082. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().setGlobalVar(CORE_TOKENS_GLOBAL_NAME, __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* StringMapWrapper */].merge(CORE_TOKENS, _ngProbeTokensToMap(extraTokens || [])));
  25083. return new __WEBPACK_IMPORTED_MODULE_2__private_import_core__["b" /* DebugDomRootRenderer */](rootRenderer);
  25084. }
  25085. function _ngProbeTokensToMap(tokens) {
  25086. return tokens.reduce(function (prev, t) { return (prev[t.name] = t.token, prev); }, {});
  25087. }
  25088. /**
  25089. * Providers which support debugging Angular applications (e.g. via `ng.probe`).
  25090. */
  25091. var ELEMENT_PROBE_PROVIDERS = [{
  25092. provide: __WEBPACK_IMPORTED_MODULE_0__angular_core__["RootRenderer"],
  25093. useFactory: _createConditionalRootRenderer,
  25094. deps: [__WEBPACK_IMPORTED_MODULE_4__dom_renderer__["a" /* DomRootRenderer */], [NgProbeToken, new __WEBPACK_IMPORTED_MODULE_0__angular_core__["Optional"]()]]
  25095. }];
  25096. var ELEMENT_PROBE_PROVIDERS_PROD_MODE = [{
  25097. provide: __WEBPACK_IMPORTED_MODULE_0__angular_core__["RootRenderer"],
  25098. useFactory: _createRootRenderer,
  25099. deps: [__WEBPACK_IMPORTED_MODULE_4__dom_renderer__["a" /* DomRootRenderer */], [NgProbeToken, new __WEBPACK_IMPORTED_MODULE_0__angular_core__["Optional"]()]]
  25100. }];
  25101. //# sourceMappingURL=ng_probe.js.map
  25102. /***/ },
  25103. /* 228 */
  25104. /***/ function(module, exports, __webpack_require__) {
  25105. "use strict";
  25106. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  25107. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(31);
  25108. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__animation_driver__ = __webpack_require__(226);
  25109. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__dom_adapter__ = __webpack_require__(18);
  25110. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__dom_tokens__ = __webpack_require__(155);
  25111. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__events_event_manager__ = __webpack_require__(91);
  25112. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__shared_styles_host__ = __webpack_require__(230);
  25113. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util__ = __webpack_require__(348);
  25114. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DomRootRenderer; });
  25115. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return DomRootRenderer_; });
  25116. /* unused harmony export DomRenderer */
  25117. /* unused harmony export COMPONENT_VARIABLE */
  25118. /* unused harmony export HOST_ATTR */
  25119. /* unused harmony export CONTENT_ATTR */
  25120. /**
  25121. * @license
  25122. * Copyright Google Inc. All Rights Reserved.
  25123. *
  25124. * Use of this source code is governed by an MIT-style license that can be
  25125. * found in the LICENSE file at https://angular.io/license
  25126. */
  25127. var __extends = (this && this.__extends) || function (d, b) {
  25128. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  25129. function __() { this.constructor = d; }
  25130. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  25131. };
  25132. var NAMESPACE_URIS = {
  25133. 'xlink': 'http://www.w3.org/1999/xlink',
  25134. 'svg': 'http://www.w3.org/2000/svg',
  25135. 'xhtml': 'http://www.w3.org/1999/xhtml'
  25136. };
  25137. var TEMPLATE_COMMENT_TEXT = 'template bindings={}';
  25138. var TEMPLATE_BINDINGS_EXP = /^template bindings=(.*)$/;
  25139. var DomRootRenderer = (function () {
  25140. function DomRootRenderer(document, eventManager, sharedStylesHost, animationDriver) {
  25141. this.document = document;
  25142. this.eventManager = eventManager;
  25143. this.sharedStylesHost = sharedStylesHost;
  25144. this.animationDriver = animationDriver;
  25145. this.registeredComponents = new Map();
  25146. }
  25147. DomRootRenderer.prototype.renderComponent = function (componentProto) {
  25148. var renderer = this.registeredComponents.get(componentProto.id);
  25149. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(renderer)) {
  25150. renderer = new DomRenderer(this, componentProto, this.animationDriver);
  25151. this.registeredComponents.set(componentProto.id, renderer);
  25152. }
  25153. return renderer;
  25154. };
  25155. return DomRootRenderer;
  25156. }());
  25157. var DomRootRenderer_ = (function (_super) {
  25158. __extends(DomRootRenderer_, _super);
  25159. function DomRootRenderer_(_document, _eventManager, sharedStylesHost, animationDriver) {
  25160. _super.call(this, _document, _eventManager, sharedStylesHost, animationDriver);
  25161. }
  25162. DomRootRenderer_.decorators = [
  25163. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  25164. ];
  25165. /** @nocollapse */
  25166. DomRootRenderer_.ctorParameters = [
  25167. { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"], args: [__WEBPACK_IMPORTED_MODULE_4__dom_tokens__["a" /* DOCUMENT */],] },] },
  25168. { type: __WEBPACK_IMPORTED_MODULE_5__events_event_manager__["a" /* EventManager */], },
  25169. { type: __WEBPACK_IMPORTED_MODULE_6__shared_styles_host__["a" /* DomSharedStylesHost */], },
  25170. { type: __WEBPACK_IMPORTED_MODULE_2__animation_driver__["a" /* AnimationDriver */], },
  25171. ];
  25172. return DomRootRenderer_;
  25173. }(DomRootRenderer));
  25174. var DomRenderer = (function () {
  25175. function DomRenderer(_rootRenderer, componentProto, _animationDriver) {
  25176. this._rootRenderer = _rootRenderer;
  25177. this.componentProto = componentProto;
  25178. this._animationDriver = _animationDriver;
  25179. this._styles = _flattenStyles(componentProto.id, componentProto.styles, []);
  25180. if (componentProto.encapsulation !== __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"].Native) {
  25181. this._rootRenderer.sharedStylesHost.addStyles(this._styles);
  25182. }
  25183. if (this.componentProto.encapsulation === __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"].Emulated) {
  25184. this._contentAttr = _shimContentAttribute(componentProto.id);
  25185. this._hostAttr = _shimHostAttribute(componentProto.id);
  25186. }
  25187. else {
  25188. this._contentAttr = null;
  25189. this._hostAttr = null;
  25190. }
  25191. }
  25192. DomRenderer.prototype.selectRootElement = function (selectorOrNode, debugInfo) {
  25193. var el;
  25194. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["l" /* isString */])(selectorOrNode)) {
  25195. el = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().querySelector(this._rootRenderer.document, selectorOrNode);
  25196. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(el)) {
  25197. throw new Error("The selector \"" + selectorOrNode + "\" did not match any elements");
  25198. }
  25199. }
  25200. else {
  25201. el = selectorOrNode;
  25202. }
  25203. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().clearNodes(el);
  25204. return el;
  25205. };
  25206. DomRenderer.prototype.createElement = function (parent, name, debugInfo) {
  25207. var nsAndName = splitNamespace(name);
  25208. var el = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(nsAndName[0]) ?
  25209. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().createElementNS(NAMESPACE_URIS[nsAndName[0]], nsAndName[1]) :
  25210. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().createElement(nsAndName[1]);
  25211. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(this._contentAttr)) {
  25212. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().setAttribute(el, this._contentAttr, '');
  25213. }
  25214. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(parent)) {
  25215. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().appendChild(parent, el);
  25216. }
  25217. return el;
  25218. };
  25219. DomRenderer.prototype.createViewRoot = function (hostElement) {
  25220. var nodesParent;
  25221. if (this.componentProto.encapsulation === __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"].Native) {
  25222. nodesParent = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().createShadowRoot(hostElement);
  25223. this._rootRenderer.sharedStylesHost.addHost(nodesParent);
  25224. for (var i = 0; i < this._styles.length; i++) {
  25225. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().appendChild(nodesParent, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().createStyleElement(this._styles[i]));
  25226. }
  25227. }
  25228. else {
  25229. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(this._hostAttr)) {
  25230. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().setAttribute(hostElement, this._hostAttr, '');
  25231. }
  25232. nodesParent = hostElement;
  25233. }
  25234. return nodesParent;
  25235. };
  25236. DomRenderer.prototype.createTemplateAnchor = function (parentElement, debugInfo) {
  25237. var comment = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().createComment(TEMPLATE_COMMENT_TEXT);
  25238. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(parentElement)) {
  25239. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().appendChild(parentElement, comment);
  25240. }
  25241. return comment;
  25242. };
  25243. DomRenderer.prototype.createText = function (parentElement, value, debugInfo) {
  25244. var node = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().createTextNode(value);
  25245. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(parentElement)) {
  25246. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().appendChild(parentElement, node);
  25247. }
  25248. return node;
  25249. };
  25250. DomRenderer.prototype.projectNodes = function (parentElement, nodes) {
  25251. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(parentElement))
  25252. return;
  25253. appendNodes(parentElement, nodes);
  25254. };
  25255. DomRenderer.prototype.attachViewAfter = function (node, viewRootNodes) { moveNodesAfterSibling(node, viewRootNodes); };
  25256. DomRenderer.prototype.detachView = function (viewRootNodes) {
  25257. for (var i = 0; i < viewRootNodes.length; i++) {
  25258. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().remove(viewRootNodes[i]);
  25259. }
  25260. };
  25261. DomRenderer.prototype.destroyView = function (hostElement, viewAllNodes) {
  25262. if (this.componentProto.encapsulation === __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"].Native && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(hostElement)) {
  25263. this._rootRenderer.sharedStylesHost.removeHost(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().getShadowRoot(hostElement));
  25264. }
  25265. };
  25266. DomRenderer.prototype.listen = function (renderElement, name, callback) {
  25267. return this._rootRenderer.eventManager.addEventListener(renderElement, name, decoratePreventDefault(callback));
  25268. };
  25269. DomRenderer.prototype.listenGlobal = function (target, name, callback) {
  25270. return this._rootRenderer.eventManager.addGlobalEventListener(target, name, decoratePreventDefault(callback));
  25271. };
  25272. DomRenderer.prototype.setElementProperty = function (renderElement, propertyName, propertyValue) {
  25273. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().setProperty(renderElement, propertyName, propertyValue);
  25274. };
  25275. DomRenderer.prototype.setElementAttribute = function (renderElement, attributeName, attributeValue) {
  25276. var attrNs;
  25277. var nsAndName = splitNamespace(attributeName);
  25278. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(nsAndName[0])) {
  25279. attributeName = nsAndName[0] + ':' + nsAndName[1];
  25280. attrNs = NAMESPACE_URIS[nsAndName[0]];
  25281. }
  25282. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(attributeValue)) {
  25283. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(attrNs)) {
  25284. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().setAttributeNS(renderElement, attrNs, attributeName, attributeValue);
  25285. }
  25286. else {
  25287. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().setAttribute(renderElement, attributeName, attributeValue);
  25288. }
  25289. }
  25290. else {
  25291. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(attrNs)) {
  25292. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().removeAttributeNS(renderElement, attrNs, nsAndName[1]);
  25293. }
  25294. else {
  25295. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().removeAttribute(renderElement, attributeName);
  25296. }
  25297. }
  25298. };
  25299. DomRenderer.prototype.setBindingDebugInfo = function (renderElement, propertyName, propertyValue) {
  25300. var dashCasedPropertyName = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__util__["b" /* camelCaseToDashCase */])(propertyName);
  25301. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().isCommentNode(renderElement)) {
  25302. var existingBindings = __WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* StringWrapper */].replaceAll(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().getText(renderElement), /\n/g, '')
  25303. .match(TEMPLATE_BINDINGS_EXP);
  25304. var parsedBindings = __WEBPACK_IMPORTED_MODULE_1__facade_lang__["m" /* Json */].parse(existingBindings[1]);
  25305. parsedBindings[dashCasedPropertyName] = propertyValue;
  25306. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().setText(renderElement, __WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* StringWrapper */].replace(TEMPLATE_COMMENT_TEXT, '{}', __WEBPACK_IMPORTED_MODULE_1__facade_lang__["m" /* Json */].stringify(parsedBindings)));
  25307. }
  25308. else {
  25309. this.setElementAttribute(renderElement, propertyName, propertyValue);
  25310. }
  25311. };
  25312. DomRenderer.prototype.setElementClass = function (renderElement, className, isAdd) {
  25313. if (isAdd) {
  25314. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().addClass(renderElement, className);
  25315. }
  25316. else {
  25317. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().removeClass(renderElement, className);
  25318. }
  25319. };
  25320. DomRenderer.prototype.setElementStyle = function (renderElement, styleName, styleValue) {
  25321. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(styleValue)) {
  25322. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().setStyle(renderElement, styleName, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["n" /* stringify */])(styleValue));
  25323. }
  25324. else {
  25325. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().removeStyle(renderElement, styleName);
  25326. }
  25327. };
  25328. DomRenderer.prototype.invokeElementMethod = function (renderElement, methodName, args) {
  25329. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().invoke(renderElement, methodName, args);
  25330. };
  25331. DomRenderer.prototype.setText = function (renderNode, text) { __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().setText(renderNode, text); };
  25332. DomRenderer.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing) {
  25333. return this._animationDriver.animate(element, startingStyles, keyframes, duration, delay, easing);
  25334. };
  25335. return DomRenderer;
  25336. }());
  25337. function moveNodesAfterSibling(sibling /** TODO #9100 */, nodes /** TODO #9100 */) {
  25338. var parent = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().parentElement(sibling);
  25339. if (nodes.length > 0 && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(parent)) {
  25340. var nextSibling = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().nextSibling(sibling);
  25341. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(nextSibling)) {
  25342. for (var i = 0; i < nodes.length; i++) {
  25343. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().insertBefore(nextSibling, nodes[i]);
  25344. }
  25345. }
  25346. else {
  25347. for (var i = 0; i < nodes.length; i++) {
  25348. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().appendChild(parent, nodes[i]);
  25349. }
  25350. }
  25351. }
  25352. }
  25353. function appendNodes(parent /** TODO #9100 */, nodes /** TODO #9100 */) {
  25354. for (var i = 0; i < nodes.length; i++) {
  25355. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().appendChild(parent, nodes[i]);
  25356. }
  25357. }
  25358. function decoratePreventDefault(eventHandler) {
  25359. return function (event /** TODO #9100 */) {
  25360. var allowDefaultBehavior = eventHandler(event);
  25361. if (allowDefaultBehavior === false) {
  25362. // TODO(tbosch): move preventDefault into event plugins...
  25363. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().preventDefault(event);
  25364. }
  25365. };
  25366. }
  25367. var COMPONENT_REGEX = /%COMP%/g;
  25368. var COMPONENT_VARIABLE = '%COMP%';
  25369. var HOST_ATTR = "_nghost-" + COMPONENT_VARIABLE;
  25370. var CONTENT_ATTR = "_ngcontent-" + COMPONENT_VARIABLE;
  25371. function _shimContentAttribute(componentShortId) {
  25372. return __WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* StringWrapper */].replaceAll(CONTENT_ATTR, COMPONENT_REGEX, componentShortId);
  25373. }
  25374. function _shimHostAttribute(componentShortId) {
  25375. return __WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* StringWrapper */].replaceAll(HOST_ATTR, COMPONENT_REGEX, componentShortId);
  25376. }
  25377. function _flattenStyles(compId, styles, target) {
  25378. for (var i = 0; i < styles.length; i++) {
  25379. var style = styles[i];
  25380. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["c" /* isArray */])(style)) {
  25381. _flattenStyles(compId, style, target);
  25382. }
  25383. else {
  25384. style = __WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* StringWrapper */].replaceAll(style, COMPONENT_REGEX, compId);
  25385. target.push(style);
  25386. }
  25387. }
  25388. return target;
  25389. }
  25390. var NS_PREFIX_RE = /^:([^:]+):(.+)$/;
  25391. function splitNamespace(name) {
  25392. if (name[0] != ':') {
  25393. return [null, name];
  25394. }
  25395. var match = name.match(NS_PREFIX_RE);
  25396. return [match[1], match[2]];
  25397. }
  25398. //# sourceMappingURL=dom_renderer.js.map
  25399. /***/ },
  25400. /* 229 */
  25401. /***/ function(module, exports, __webpack_require__) {
  25402. "use strict";
  25403. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  25404. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(31);
  25405. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__hammer_common__ = __webpack_require__(517);
  25406. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return HAMMER_GESTURE_CONFIG; });
  25407. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return HammerGestureConfig; });
  25408. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return HammerGesturesPlugin; });
  25409. /**
  25410. * @license
  25411. * Copyright Google Inc. All Rights Reserved.
  25412. *
  25413. * Use of this source code is governed by an MIT-style license that can be
  25414. * found in the LICENSE file at https://angular.io/license
  25415. */
  25416. var __extends = (this && this.__extends) || function (d, b) {
  25417. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  25418. function __() { this.constructor = d; }
  25419. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  25420. };
  25421. /**
  25422. * A DI token that you can use to provide{@link HammerGestureConfig} to Angular. Use it to configure
  25423. * Hammer gestures.
  25424. *
  25425. * @experimental
  25426. */
  25427. var HAMMER_GESTURE_CONFIG = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["OpaqueToken"]('HammerGestureConfig');
  25428. /**
  25429. * @experimental
  25430. */
  25431. var HammerGestureConfig = (function () {
  25432. function HammerGestureConfig() {
  25433. this.events = [];
  25434. this.overrides = {};
  25435. }
  25436. HammerGestureConfig.prototype.buildHammer = function (element) {
  25437. var mc = new Hammer(element);
  25438. mc.get('pinch').set({ enable: true });
  25439. mc.get('rotate').set({ enable: true });
  25440. for (var eventName in this.overrides) {
  25441. mc.get(eventName).set(this.overrides[eventName]);
  25442. }
  25443. return mc;
  25444. };
  25445. HammerGestureConfig.decorators = [
  25446. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  25447. ];
  25448. /** @nocollapse */
  25449. HammerGestureConfig.ctorParameters = [];
  25450. return HammerGestureConfig;
  25451. }());
  25452. var HammerGesturesPlugin = (function (_super) {
  25453. __extends(HammerGesturesPlugin, _super);
  25454. function HammerGesturesPlugin(_config) {
  25455. _super.call(this);
  25456. this._config = _config;
  25457. }
  25458. HammerGesturesPlugin.prototype.supports = function (eventName) {
  25459. if (!_super.prototype.supports.call(this, eventName) && !this.isCustomEvent(eventName))
  25460. return false;
  25461. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(window['Hammer'])) {
  25462. throw new Error("Hammer.js is not loaded, can not bind " + eventName + " event");
  25463. }
  25464. return true;
  25465. };
  25466. HammerGesturesPlugin.prototype.addEventListener = function (element, eventName, handler) {
  25467. var _this = this;
  25468. var zone = this.manager.getZone();
  25469. eventName = eventName.toLowerCase();
  25470. return zone.runOutsideAngular(function () {
  25471. // Creating the manager bind events, must be done outside of angular
  25472. var mc = _this._config.buildHammer(element);
  25473. var callback = function (eventObj /** TODO #???? */) {
  25474. zone.runGuarded(function () { handler(eventObj); });
  25475. };
  25476. mc.on(eventName, callback);
  25477. return function () { mc.off(eventName, callback); };
  25478. });
  25479. };
  25480. HammerGesturesPlugin.prototype.isCustomEvent = function (eventName) { return this._config.events.indexOf(eventName) > -1; };
  25481. HammerGesturesPlugin.decorators = [
  25482. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  25483. ];
  25484. /** @nocollapse */
  25485. HammerGesturesPlugin.ctorParameters = [
  25486. { type: HammerGestureConfig, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"], args: [HAMMER_GESTURE_CONFIG,] },] },
  25487. ];
  25488. return HammerGesturesPlugin;
  25489. }(__WEBPACK_IMPORTED_MODULE_2__hammer_common__["a" /* HammerGesturesPluginCommon */]));
  25490. //# sourceMappingURL=hammer_gestures.js.map
  25491. /***/ },
  25492. /* 230 */
  25493. /***/ function(module, exports, __webpack_require__) {
  25494. "use strict";
  25495. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  25496. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__dom_adapter__ = __webpack_require__(18);
  25497. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__dom_tokens__ = __webpack_require__(155);
  25498. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return SharedStylesHost; });
  25499. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DomSharedStylesHost; });
  25500. /**
  25501. * @license
  25502. * Copyright Google Inc. All Rights Reserved.
  25503. *
  25504. * Use of this source code is governed by an MIT-style license that can be
  25505. * found in the LICENSE file at https://angular.io/license
  25506. */
  25507. var __extends = (this && this.__extends) || function (d, b) {
  25508. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  25509. function __() { this.constructor = d; }
  25510. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  25511. };
  25512. var SharedStylesHost = (function () {
  25513. function SharedStylesHost() {
  25514. /** @internal */
  25515. this._styles = [];
  25516. /** @internal */
  25517. this._stylesSet = new Set();
  25518. }
  25519. SharedStylesHost.prototype.addStyles = function (styles) {
  25520. var _this = this;
  25521. var additions = [];
  25522. styles.forEach(function (style) {
  25523. if (!_this._stylesSet.has(style)) {
  25524. _this._stylesSet.add(style);
  25525. _this._styles.push(style);
  25526. additions.push(style);
  25527. }
  25528. });
  25529. this.onStylesAdded(additions);
  25530. };
  25531. SharedStylesHost.prototype.onStylesAdded = function (additions) { };
  25532. SharedStylesHost.prototype.getAllStyles = function () { return this._styles; };
  25533. SharedStylesHost.decorators = [
  25534. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  25535. ];
  25536. /** @nocollapse */
  25537. SharedStylesHost.ctorParameters = [];
  25538. return SharedStylesHost;
  25539. }());
  25540. var DomSharedStylesHost = (function (_super) {
  25541. __extends(DomSharedStylesHost, _super);
  25542. function DomSharedStylesHost(doc) {
  25543. _super.call(this);
  25544. this._hostNodes = new Set();
  25545. this._hostNodes.add(doc.head);
  25546. }
  25547. /** @internal */
  25548. DomSharedStylesHost.prototype._addStylesToHost = function (styles, host) {
  25549. for (var i = 0; i < styles.length; i++) {
  25550. var style = styles[i];
  25551. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__dom_adapter__["a" /* getDOM */])().appendChild(host, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__dom_adapter__["a" /* getDOM */])().createStyleElement(style));
  25552. }
  25553. };
  25554. DomSharedStylesHost.prototype.addHost = function (hostNode) {
  25555. this._addStylesToHost(this._styles, hostNode);
  25556. this._hostNodes.add(hostNode);
  25557. };
  25558. DomSharedStylesHost.prototype.removeHost = function (hostNode) { this._hostNodes.delete(hostNode); };
  25559. DomSharedStylesHost.prototype.onStylesAdded = function (additions) {
  25560. var _this = this;
  25561. this._hostNodes.forEach(function (hostNode) { _this._addStylesToHost(additions, hostNode); });
  25562. };
  25563. DomSharedStylesHost.decorators = [
  25564. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  25565. ];
  25566. /** @nocollapse */
  25567. DomSharedStylesHost.ctorParameters = [
  25568. { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"], args: [__WEBPACK_IMPORTED_MODULE_2__dom_tokens__["a" /* DOCUMENT */],] },] },
  25569. ];
  25570. return DomSharedStylesHost;
  25571. }(SharedStylesHost));
  25572. //# sourceMappingURL=shared_styles_host.js.map
  25573. /***/ },
  25574. /* 231 */
  25575. /***/ function(module, exports, __webpack_require__) {
  25576. "use strict";
  25577. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  25578. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__dom_dom_adapter__ = __webpack_require__(18);
  25579. /* harmony export (immutable) */ exports["a"] = sanitizeUrl;
  25580. /* harmony export (immutable) */ exports["b"] = sanitizeSrcset;
  25581. /**
  25582. * @license
  25583. * Copyright Google Inc. All Rights Reserved.
  25584. *
  25585. * Use of this source code is governed by an MIT-style license that can be
  25586. * found in the LICENSE file at https://angular.io/license
  25587. */
  25588. /**
  25589. * A pattern that recognizes a commonly useful subset of URLs that are safe.
  25590. *
  25591. * This regular expression matches a subset of URLs that will not cause script
  25592. * execution if used in URL context within a HTML document. Specifically, this
  25593. * regular expression matches if (comment from here on and regex copied from
  25594. * Soy's EscapingConventions):
  25595. * (1) Either a protocol in a whitelist (http, https, mailto or ftp).
  25596. * (2) or no protocol. A protocol must be followed by a colon. The below
  25597. * allows that by allowing colons only after one of the characters [/?#].
  25598. * A colon after a hash (#) must be in the fragment.
  25599. * Otherwise, a colon after a (?) must be in a query.
  25600. * Otherwise, a colon after a single solidus (/) must be in a path.
  25601. * Otherwise, a colon after a double solidus (//) must be in the authority
  25602. * (before port).
  25603. *
  25604. * The pattern disallows &, used in HTML entity declarations before
  25605. * one of the characters in [/?#]. This disallows HTML entities used in the
  25606. * protocol name, which should never happen, e.g. "h&#116;tp" for "http".
  25607. * It also disallows HTML entities in the first path part of a relative path,
  25608. * e.g. "foo&lt;bar/baz". Our existing escaping functions should not produce
  25609. * that. More importantly, it disallows masking of a colon,
  25610. * e.g. "javascript&#58;...".
  25611. *
  25612. * This regular expression was taken from the Closure sanitization library.
  25613. */
  25614. var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
  25615. /* A pattern that matches safe srcset values */
  25616. var SAFE_SRCSET_PATTERN = /^(?:(?:https?|file):|[^&:/?#]*(?:[/?#]|$))/gi;
  25617. /** A pattern that matches safe data URLs. Only matches image, video and audio types. */
  25618. var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;
  25619. function sanitizeUrl(url) {
  25620. url = String(url);
  25621. if (url.match(SAFE_URL_PATTERN) || url.match(DATA_URL_PATTERN))
  25622. return url;
  25623. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["isDevMode"])()) {
  25624. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__dom_dom_adapter__["a" /* getDOM */])().log("WARNING: sanitizing unsafe URL value " + url + " (see http://g.co/ng/security#xss)");
  25625. }
  25626. return 'unsafe:' + url;
  25627. }
  25628. function sanitizeSrcset(srcset) {
  25629. srcset = String(srcset);
  25630. return srcset.split(',').map(function (srcset) { return sanitizeUrl(srcset.trim()); }).join(', ');
  25631. }
  25632. //# sourceMappingURL=url_sanitizer.js.map
  25633. /***/ },
  25634. /* 232 */
  25635. /***/ function(module, exports, __webpack_require__) {
  25636. "use strict";
  25637. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common__ = __webpack_require__(103);
  25638. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(1);
  25639. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__router__ = __webpack_require__(156);
  25640. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__router_state__ = __webpack_require__(93);
  25641. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return RouterLink; });
  25642. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return RouterLinkWithHref; });
  25643. /**
  25644. * @license
  25645. * Copyright Google Inc. All Rights Reserved.
  25646. *
  25647. * Use of this source code is governed by an MIT-style license that can be
  25648. * found in the LICENSE file at https://angular.io/license
  25649. */
  25650. /**
  25651. * @whatItDoes Lets you link to specific parts of your app.
  25652. *
  25653. * @howToUse
  25654. *
  25655. * Consider the following route configuration:
  25656. * ```
  25657. * [{ path: 'user/:name', component: UserCmp }]
  25658. * ```
  25659. *
  25660. * When linking to this `user/:name` route, you can write:
  25661. *
  25662. * ```
  25663. * <a routerLink='/user/bob'>link to user component</a>
  25664. * ```
  25665. *
  25666. * @description
  25667. *
  25668. * The RouterLink directives let you link to specific parts of your app.
  25669. *
  25670. * Whe the link is static, you can use the directive as follows:
  25671. *
  25672. * ```
  25673. * <a routerLink="/user/bob">link to user component</a>
  25674. * ```
  25675. *
  25676. * If you use dynamic values to generate the link, you can pass an array of path
  25677. * segments, followed by the params for each segment.
  25678. *
  25679. * For instance `['/team', teamId, 'user', userName, {details: true}]`
  25680. * means that we want to generate a link to `/team/11/user/bob;details=true`.
  25681. *
  25682. * Multiple static segments can be merged into one (e.g., `['/team/11/user', userName, {details:
  25683. true}]`).
  25684. *
  25685. * The first segment name can be prepended with `/`, `./`, or `../`:
  25686. * * If the first segment begins with `/`, the router will look up the route from the root of the
  25687. app.
  25688. * * If the first segment begins with `./`, or doesn't begin with a slash, the router will
  25689. * instead look in the children of the current activated route.
  25690. * * And if the first segment begins with `../`, the router will go up one level.
  25691. *
  25692. * You can set query params and fragment as follows:
  25693. *
  25694. * ```
  25695. * <a [routerLink]="['/user/bob']" [queryParams]="{debug: true}" fragment="education">link to user
  25696. component</a>
  25697. * ```
  25698. * RouterLink will use these to generate this link: `/user/bob#education?debug=true`.
  25699. *
  25700. * You can also tell the directive to preserve the current query params and fragment:
  25701. *
  25702. * ```
  25703. * <a [routerLink]="['/user/bob']" preserveQueryParams preserveFragment>link to user
  25704. component</a>
  25705. * ```
  25706. *
  25707. * The router link directive always treats the provided input as a delta to the current url.
  25708. *
  25709. * For instance, if the current url is `/user/(box//aux:team)`.
  25710. *
  25711. * Then the following link `<a [routerLink]="['/user/jim']">Jim</a>` will generate the link
  25712. * `/user/(jim//aux:team)`.
  25713. *
  25714. * @selector ':not(a)[routerLink]'
  25715. * @ngModule RouterModule
  25716. *
  25717. * See {@link Router.createUrlTree} for more information.
  25718. *
  25719. * @stable
  25720. */
  25721. var RouterLink = (function () {
  25722. function RouterLink(router, route, locationStrategy) {
  25723. this.router = router;
  25724. this.route = route;
  25725. this.locationStrategy = locationStrategy;
  25726. this.commands = [];
  25727. }
  25728. Object.defineProperty(RouterLink.prototype, "routerLink", {
  25729. set: function (data) {
  25730. if (Array.isArray(data)) {
  25731. this.commands = data;
  25732. }
  25733. else {
  25734. this.commands = [data];
  25735. }
  25736. },
  25737. enumerable: true,
  25738. configurable: true
  25739. });
  25740. RouterLink.prototype.onClick = function (button, ctrlKey, metaKey) {
  25741. if (button !== 0 || ctrlKey || metaKey) {
  25742. return true;
  25743. }
  25744. this.router.navigateByUrl(this.urlTree);
  25745. return false;
  25746. };
  25747. Object.defineProperty(RouterLink.prototype, "urlTree", {
  25748. get: function () {
  25749. return this.router.createUrlTree(this.commands, {
  25750. relativeTo: this.route,
  25751. queryParams: this.queryParams,
  25752. fragment: this.fragment,
  25753. preserveQueryParams: toBool(this.preserveQueryParams),
  25754. preserveFragment: toBool(this.preserveFragment)
  25755. });
  25756. },
  25757. enumerable: true,
  25758. configurable: true
  25759. });
  25760. RouterLink.decorators = [
  25761. { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Directive"], args: [{ selector: ':not(a)[routerLink]' },] },
  25762. ];
  25763. /** @nocollapse */
  25764. RouterLink.ctorParameters = [
  25765. { type: __WEBPACK_IMPORTED_MODULE_2__router__["a" /* Router */], },
  25766. { type: __WEBPACK_IMPORTED_MODULE_3__router_state__["b" /* ActivatedRoute */], },
  25767. { type: __WEBPACK_IMPORTED_MODULE_0__angular_common__["LocationStrategy"], },
  25768. ];
  25769. RouterLink.propDecorators = {
  25770. 'queryParams': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Input"] },],
  25771. 'fragment': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Input"] },],
  25772. 'preserveQueryParams': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Input"] },],
  25773. 'preserveFragment': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Input"] },],
  25774. 'routerLink': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Input"] },],
  25775. 'onClick': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["HostListener"], args: ['click', ['$event.button', '$event.ctrlKey', '$event.metaKey'],] },],
  25776. };
  25777. return RouterLink;
  25778. }());
  25779. /**
  25780. * @whatItDoes Lets you link to specific parts of your app.
  25781. *
  25782. * See {@link RouterLink} for more information.
  25783. *
  25784. * @selector 'a[routerLink]'
  25785. * @ngModule RouterModule
  25786. *
  25787. * @stable
  25788. */
  25789. var RouterLinkWithHref = (function () {
  25790. function RouterLinkWithHref(router, route, locationStrategy) {
  25791. var _this = this;
  25792. this.router = router;
  25793. this.route = route;
  25794. this.locationStrategy = locationStrategy;
  25795. this.commands = [];
  25796. this.subscription = router.events.subscribe(function (s) {
  25797. if (s instanceof __WEBPACK_IMPORTED_MODULE_2__router__["b" /* NavigationEnd */]) {
  25798. _this.updateTargetUrlAndHref();
  25799. }
  25800. });
  25801. }
  25802. Object.defineProperty(RouterLinkWithHref.prototype, "routerLink", {
  25803. set: function (data) {
  25804. if (Array.isArray(data)) {
  25805. this.commands = data;
  25806. }
  25807. else {
  25808. this.commands = [data];
  25809. }
  25810. },
  25811. enumerable: true,
  25812. configurable: true
  25813. });
  25814. RouterLinkWithHref.prototype.ngOnChanges = function (changes) { this.updateTargetUrlAndHref(); };
  25815. RouterLinkWithHref.prototype.ngOnDestroy = function () { this.subscription.unsubscribe(); };
  25816. RouterLinkWithHref.prototype.onClick = function (button, ctrlKey, metaKey) {
  25817. if (button !== 0 || ctrlKey || metaKey) {
  25818. return true;
  25819. }
  25820. if (typeof this.target === 'string' && this.target != '_self') {
  25821. return true;
  25822. }
  25823. this.router.navigateByUrl(this.urlTree);
  25824. return false;
  25825. };
  25826. RouterLinkWithHref.prototype.updateTargetUrlAndHref = function () {
  25827. this.href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree));
  25828. };
  25829. Object.defineProperty(RouterLinkWithHref.prototype, "urlTree", {
  25830. get: function () {
  25831. return this.router.createUrlTree(this.commands, {
  25832. relativeTo: this.route,
  25833. queryParams: this.queryParams,
  25834. fragment: this.fragment,
  25835. preserveQueryParams: toBool(this.preserveQueryParams),
  25836. preserveFragment: toBool(this.preserveFragment)
  25837. });
  25838. },
  25839. enumerable: true,
  25840. configurable: true
  25841. });
  25842. RouterLinkWithHref.decorators = [
  25843. { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Directive"], args: [{ selector: 'a[routerLink]' },] },
  25844. ];
  25845. /** @nocollapse */
  25846. RouterLinkWithHref.ctorParameters = [
  25847. { type: __WEBPACK_IMPORTED_MODULE_2__router__["a" /* Router */], },
  25848. { type: __WEBPACK_IMPORTED_MODULE_3__router_state__["b" /* ActivatedRoute */], },
  25849. { type: __WEBPACK_IMPORTED_MODULE_0__angular_common__["LocationStrategy"], },
  25850. ];
  25851. RouterLinkWithHref.propDecorators = {
  25852. 'target': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Input"] },],
  25853. 'queryParams': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Input"] },],
  25854. 'fragment': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Input"] },],
  25855. 'routerLinkOptions': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Input"] },],
  25856. 'preserveQueryParams': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Input"] },],
  25857. 'preserveFragment': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Input"] },],
  25858. 'href': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["HostBinding"] },],
  25859. 'routerLink': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Input"] },],
  25860. 'onClick': [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["HostListener"], args: ['click', ['$event.button', '$event.ctrlKey', '$event.metaKey'],] },],
  25861. };
  25862. return RouterLinkWithHref;
  25863. }());
  25864. function toBool(s) {
  25865. if (s === '')
  25866. return true;
  25867. return !!s;
  25868. }
  25869. //# sourceMappingURL=router_link.js.map
  25870. /***/ },
  25871. /* 233 */
  25872. /***/ function(module, exports, __webpack_require__) {
  25873. "use strict";
  25874. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Tree; });
  25875. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return TreeNode; });
  25876. /**
  25877. * @license
  25878. * Copyright Google Inc. All Rights Reserved.
  25879. *
  25880. * Use of this source code is governed by an MIT-style license that can be
  25881. * found in the LICENSE file at https://angular.io/license
  25882. */
  25883. var Tree = (function () {
  25884. function Tree(root) {
  25885. this._root = root;
  25886. }
  25887. Object.defineProperty(Tree.prototype, "root", {
  25888. get: function () { return this._root.value; },
  25889. enumerable: true,
  25890. configurable: true
  25891. });
  25892. /**
  25893. * @internal
  25894. */
  25895. Tree.prototype.parent = function (t) {
  25896. var p = this.pathFromRoot(t);
  25897. return p.length > 1 ? p[p.length - 2] : null;
  25898. };
  25899. /**
  25900. * @internal
  25901. */
  25902. Tree.prototype.children = function (t) {
  25903. var n = findNode(t, this._root);
  25904. return n ? n.children.map(function (t) { return t.value; }) : [];
  25905. };
  25906. /**
  25907. * @internal
  25908. */
  25909. Tree.prototype.firstChild = function (t) {
  25910. var n = findNode(t, this._root);
  25911. return n && n.children.length > 0 ? n.children[0].value : null;
  25912. };
  25913. /**
  25914. * @internal
  25915. */
  25916. Tree.prototype.siblings = function (t) {
  25917. var p = findPath(t, this._root, []);
  25918. if (p.length < 2)
  25919. return [];
  25920. var c = p[p.length - 2].children.map(function (c) { return c.value; });
  25921. return c.filter(function (cc) { return cc !== t; });
  25922. };
  25923. /**
  25924. * @internal
  25925. */
  25926. Tree.prototype.pathFromRoot = function (t) { return findPath(t, this._root, []).map(function (s) { return s.value; }); };
  25927. return Tree;
  25928. }());
  25929. function findNode(expected, c) {
  25930. if (expected === c.value)
  25931. return c;
  25932. for (var _i = 0, _a = c.children; _i < _a.length; _i++) {
  25933. var cc = _a[_i];
  25934. var r = findNode(expected, cc);
  25935. if (r)
  25936. return r;
  25937. }
  25938. return null;
  25939. }
  25940. function findPath(expected, c, collected) {
  25941. collected.push(c);
  25942. if (expected === c.value)
  25943. return collected;
  25944. for (var _i = 0, _a = c.children; _i < _a.length; _i++) {
  25945. var cc = _a[_i];
  25946. var cloned = collected.slice(0);
  25947. var r = findPath(expected, cc, cloned);
  25948. if (r.length > 0)
  25949. return r;
  25950. }
  25951. return [];
  25952. }
  25953. var TreeNode = (function () {
  25954. function TreeNode(value, children) {
  25955. this.value = value;
  25956. this.children = children;
  25957. }
  25958. TreeNode.prototype.toString = function () { return "TreeNode(" + this.value + ")"; };
  25959. return TreeNode;
  25960. }());
  25961. //# sourceMappingURL=tree.js.map
  25962. /***/ },
  25963. /* 234 */
  25964. /***/ function(module, exports, __webpack_require__) {
  25965. "use strict";
  25966. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return NG2_COMPILER; });
  25967. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return NG2_INJECTOR; });
  25968. /* harmony export (binding) */ __webpack_require__.d(exports, "i", function() { return NG2_COMPONENT_FACTORY_REF_MAP; });
  25969. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return NG2_ZONE; });
  25970. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return NG1_CONTROLLER; });
  25971. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NG1_SCOPE; });
  25972. /* harmony export (binding) */ __webpack_require__.d(exports, "j", function() { return NG1_ROOT_SCOPE; });
  25973. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return NG1_COMPILE; });
  25974. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return NG1_HTTP_BACKEND; });
  25975. /* harmony export (binding) */ __webpack_require__.d(exports, "l", function() { return NG1_INJECTOR; });
  25976. /* harmony export (binding) */ __webpack_require__.d(exports, "m", function() { return NG1_PARSE; });
  25977. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return NG1_TEMPLATE_CACHE; });
  25978. /* harmony export (binding) */ __webpack_require__.d(exports, "k", function() { return NG1_TESTABILITY; });
  25979. /* harmony export (binding) */ __webpack_require__.d(exports, "n", function() { return REQUIRE_INJECTOR; });
  25980. /**
  25981. * @license
  25982. * Copyright Google Inc. All Rights Reserved.
  25983. *
  25984. * Use of this source code is governed by an MIT-style license that can be
  25985. * found in the LICENSE file at https://angular.io/license
  25986. */
  25987. var NG2_COMPILER = 'ng2.Compiler';
  25988. var NG2_INJECTOR = 'ng2.Injector';
  25989. var NG2_COMPONENT_FACTORY_REF_MAP = 'ng2.ComponentFactoryRefMap';
  25990. var NG2_ZONE = 'ng2.NgZone';
  25991. var NG1_CONTROLLER = '$controller';
  25992. var NG1_SCOPE = '$scope';
  25993. var NG1_ROOT_SCOPE = '$rootScope';
  25994. var NG1_COMPILE = '$compile';
  25995. var NG1_HTTP_BACKEND = '$httpBackend';
  25996. var NG1_INJECTOR = '$injector';
  25997. var NG1_PARSE = '$parse';
  25998. var NG1_TEMPLATE_CACHE = '$templateCache';
  25999. var NG1_TESTABILITY = '$$testability';
  26000. var REQUIRE_INJECTOR = '?^' + NG2_INJECTOR;
  26001. //# sourceMappingURL=constants.js.map
  26002. /***/ },
  26003. /* 235 */
  26004. /***/ function(module, exports, __webpack_require__) {
  26005. "use strict";
  26006. // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
  26007. 'use strict';
  26008. var toObject = __webpack_require__(38)
  26009. , toIndex = __webpack_require__(80)
  26010. , toLength = __webpack_require__(26);
  26011. module.exports = function fill(value /*, start = 0, end = @length */){
  26012. var O = toObject(this)
  26013. , length = toLength(O.length)
  26014. , aLen = arguments.length
  26015. , index = toIndex(aLen > 1 ? arguments[1] : undefined, length)
  26016. , end = aLen > 2 ? arguments[2] : undefined
  26017. , endPos = end === undefined ? length : toIndex(end, length);
  26018. while(endPos > index)O[index++] = value;
  26019. return O;
  26020. };
  26021. /***/ },
  26022. /* 236 */
  26023. /***/ function(module, exports, __webpack_require__) {
  26024. // false -> Array#indexOf
  26025. // true -> Array#includes
  26026. var toIObject = __webpack_require__(42)
  26027. , toLength = __webpack_require__(26)
  26028. , toIndex = __webpack_require__(80);
  26029. module.exports = function(IS_INCLUDES){
  26030. return function($this, el, fromIndex){
  26031. var O = toIObject($this)
  26032. , length = toLength(O.length)
  26033. , index = toIndex(fromIndex, length)
  26034. , value;
  26035. // Array#includes uses SameValueZero equality algorithm
  26036. if(IS_INCLUDES && el != el)while(length > index){
  26037. value = O[index++];
  26038. if(value != value)return true;
  26039. // Array#toIndex ignores holes, Array#includes - not
  26040. } else for(;length > index; index++)if(IS_INCLUDES || index in O){
  26041. if(O[index] === el)return IS_INCLUDES || index || 0;
  26042. } return !IS_INCLUDES && -1;
  26043. };
  26044. };
  26045. /***/ },
  26046. /* 237 */
  26047. /***/ function(module, exports, __webpack_require__) {
  26048. var isObject = __webpack_require__(10)
  26049. , document = __webpack_require__(11).document
  26050. // in old IE typeof document.createElement is 'object'
  26051. , is = isObject(document) && isObject(document.createElement);
  26052. module.exports = function(it){
  26053. return is ? document.createElement(it) : {};
  26054. };
  26055. /***/ },
  26056. /* 238 */
  26057. /***/ function(module, exports) {
  26058. // IE 8- don't enum bug keys
  26059. module.exports = (
  26060. 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
  26061. ).split(',');
  26062. /***/ },
  26063. /* 239 */
  26064. /***/ function(module, exports, __webpack_require__) {
  26065. var MATCH = __webpack_require__(14)('match');
  26066. module.exports = function(KEY){
  26067. var re = /./;
  26068. try {
  26069. '/./'[KEY](re);
  26070. } catch(e){
  26071. try {
  26072. re[MATCH] = false;
  26073. return !'/./'[KEY](re);
  26074. } catch(f){ /* empty */ }
  26075. } return true;
  26076. };
  26077. /***/ },
  26078. /* 240 */
  26079. /***/ function(module, exports, __webpack_require__) {
  26080. "use strict";
  26081. 'use strict';
  26082. // 21.2.5.3 get RegExp.prototype.flags
  26083. var anObject = __webpack_require__(8);
  26084. module.exports = function(){
  26085. var that = anObject(this)
  26086. , result = '';
  26087. if(that.global) result += 'g';
  26088. if(that.ignoreCase) result += 'i';
  26089. if(that.multiline) result += 'm';
  26090. if(that.unicode) result += 'u';
  26091. if(that.sticky) result += 'y';
  26092. return result;
  26093. };
  26094. /***/ },
  26095. /* 241 */
  26096. /***/ function(module, exports, __webpack_require__) {
  26097. module.exports = __webpack_require__(11).document && document.documentElement;
  26098. /***/ },
  26099. /* 242 */
  26100. /***/ function(module, exports, __webpack_require__) {
  26101. var isObject = __webpack_require__(10)
  26102. , setPrototypeOf = __webpack_require__(249).set;
  26103. module.exports = function(that, target, C){
  26104. var P, S = target.constructor;
  26105. if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){
  26106. setPrototypeOf(that, P);
  26107. } return that;
  26108. };
  26109. /***/ },
  26110. /* 243 */
  26111. /***/ function(module, exports, __webpack_require__) {
  26112. // check on default Array iterator
  26113. var Iterators = __webpack_require__(119)
  26114. , ITERATOR = __webpack_require__(14)('iterator')
  26115. , ArrayProto = Array.prototype;
  26116. module.exports = function(it){
  26117. return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
  26118. };
  26119. /***/ },
  26120. /* 244 */
  26121. /***/ function(module, exports, __webpack_require__) {
  26122. // 7.2.2 IsArray(argument)
  26123. var cof = __webpack_require__(57);
  26124. module.exports = Array.isArray || function isArray(arg){
  26125. return cof(arg) == 'Array';
  26126. };
  26127. /***/ },
  26128. /* 245 */
  26129. /***/ function(module, exports, __webpack_require__) {
  26130. // 7.2.8 IsRegExp(argument)
  26131. var isObject = __webpack_require__(10)
  26132. , cof = __webpack_require__(57)
  26133. , MATCH = __webpack_require__(14)('match');
  26134. module.exports = function(it){
  26135. var isRegExp;
  26136. return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
  26137. };
  26138. /***/ },
  26139. /* 246 */
  26140. /***/ function(module, exports, __webpack_require__) {
  26141. "use strict";
  26142. 'use strict';
  26143. var LIBRARY = __webpack_require__(95)
  26144. , $export = __webpack_require__(2)
  26145. , redefine = __webpack_require__(37)
  26146. , hide = __webpack_require__(40)
  26147. , has = __webpack_require__(32)
  26148. , Iterators = __webpack_require__(119)
  26149. , $iterCreate = __webpack_require__(371)
  26150. , setToStringTag = __webpack_require__(99)
  26151. , getPrototypeOf = __webpack_require__(46)
  26152. , ITERATOR = __webpack_require__(14)('iterator')
  26153. , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`
  26154. , FF_ITERATOR = '@@iterator'
  26155. , KEYS = 'keys'
  26156. , VALUES = 'values';
  26157. var returnThis = function(){ return this; };
  26158. module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){
  26159. $iterCreate(Constructor, NAME, next);
  26160. var getMethod = function(kind){
  26161. if(!BUGGY && kind in proto)return proto[kind];
  26162. switch(kind){
  26163. case KEYS: return function keys(){ return new Constructor(this, kind); };
  26164. case VALUES: return function values(){ return new Constructor(this, kind); };
  26165. } return function entries(){ return new Constructor(this, kind); };
  26166. };
  26167. var TAG = NAME + ' Iterator'
  26168. , DEF_VALUES = DEFAULT == VALUES
  26169. , VALUES_BUG = false
  26170. , proto = Base.prototype
  26171. , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]
  26172. , $default = $native || getMethod(DEFAULT)
  26173. , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined
  26174. , $anyNative = NAME == 'Array' ? proto.entries || $native : $native
  26175. , methods, key, IteratorPrototype;
  26176. // Fix native
  26177. if($anyNative){
  26178. IteratorPrototype = getPrototypeOf($anyNative.call(new Base));
  26179. if(IteratorPrototype !== Object.prototype){
  26180. // Set @@toStringTag to native iterators
  26181. setToStringTag(IteratorPrototype, TAG, true);
  26182. // fix for some old engines
  26183. if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);
  26184. }
  26185. }
  26186. // fix Array#{values, @@iterator}.name in V8 / FF
  26187. if(DEF_VALUES && $native && $native.name !== VALUES){
  26188. VALUES_BUG = true;
  26189. $default = function values(){ return $native.call(this); };
  26190. }
  26191. // Define iterator
  26192. if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){
  26193. hide(proto, ITERATOR, $default);
  26194. }
  26195. // Plug for library
  26196. Iterators[NAME] = $default;
  26197. Iterators[TAG] = returnThis;
  26198. if(DEFAULT){
  26199. methods = {
  26200. values: DEF_VALUES ? $default : getMethod(VALUES),
  26201. keys: IS_SET ? $default : getMethod(KEYS),
  26202. entries: $entries
  26203. };
  26204. if(FORCED)for(key in methods){
  26205. if(!(key in proto))redefine(proto, key, methods[key]);
  26206. } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
  26207. }
  26208. return methods;
  26209. };
  26210. /***/ },
  26211. /* 247 */
  26212. /***/ function(module, exports) {
  26213. // 20.2.2.14 Math.expm1(x)
  26214. var $expm1 = Math.expm1;
  26215. module.exports = (!$expm1
  26216. // Old FF bug
  26217. || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168
  26218. // Tor Browser bug
  26219. || $expm1(-2e-17) != -2e-17
  26220. ) ? function expm1(x){
  26221. return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
  26222. } : $expm1;
  26223. /***/ },
  26224. /* 248 */
  26225. /***/ function(module, exports) {
  26226. // 20.2.2.28 Math.sign(x)
  26227. module.exports = Math.sign || function sign(x){
  26228. return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
  26229. };
  26230. /***/ },
  26231. /* 249 */
  26232. /***/ function(module, exports, __webpack_require__) {
  26233. // Works with __proto__ only. Old v8 can't work with null proto objects.
  26234. /* eslint-disable no-proto */
  26235. var isObject = __webpack_require__(10)
  26236. , anObject = __webpack_require__(8);
  26237. var check = function(O, proto){
  26238. anObject(O);
  26239. if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!");
  26240. };
  26241. module.exports = {
  26242. set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
  26243. function(test, buggy, set){
  26244. try {
  26245. set = __webpack_require__(58)(Function.call, __webpack_require__(61).f(Object.prototype, '__proto__').set, 2);
  26246. set(test, []);
  26247. buggy = !(test instanceof Array);
  26248. } catch(e){ buggy = true; }
  26249. return function setPrototypeOf(O, proto){
  26250. check(O, proto);
  26251. if(buggy)O.__proto__ = proto;
  26252. else set(O, proto);
  26253. return O;
  26254. };
  26255. }({}, false) : undefined),
  26256. check: check
  26257. };
  26258. /***/ },
  26259. /* 250 */
  26260. /***/ function(module, exports, __webpack_require__) {
  26261. var shared = __webpack_require__(165)('keys')
  26262. , uid = __webpack_require__(81);
  26263. module.exports = function(key){
  26264. return shared[key] || (shared[key] = uid(key));
  26265. };
  26266. /***/ },
  26267. /* 251 */
  26268. /***/ function(module, exports, __webpack_require__) {
  26269. // 7.3.20 SpeciesConstructor(O, defaultConstructor)
  26270. var anObject = __webpack_require__(8)
  26271. , aFunction = __webpack_require__(56)
  26272. , SPECIES = __webpack_require__(14)('species');
  26273. module.exports = function(O, D){
  26274. var C = anObject(O).constructor, S;
  26275. return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
  26276. };
  26277. /***/ },
  26278. /* 252 */
  26279. /***/ function(module, exports, __webpack_require__) {
  26280. // helper for String#{startsWith, endsWith, includes}
  26281. var isRegExp = __webpack_require__(245)
  26282. , defined = __webpack_require__(59);
  26283. module.exports = function(that, searchString, NAME){
  26284. if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!");
  26285. return String(defined(that));
  26286. };
  26287. /***/ },
  26288. /* 253 */
  26289. /***/ function(module, exports) {
  26290. module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
  26291. '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
  26292. /***/ },
  26293. /* 254 */
  26294. /***/ function(module, exports, __webpack_require__) {
  26295. "use strict";
  26296. 'use strict';
  26297. var global = __webpack_require__(11)
  26298. , DESCRIPTORS = __webpack_require__(21)
  26299. , LIBRARY = __webpack_require__(95)
  26300. , $typed = __webpack_require__(167)
  26301. , hide = __webpack_require__(40)
  26302. , redefineAll = __webpack_require__(97)
  26303. , fails = __webpack_require__(9)
  26304. , anInstance = __webpack_require__(94)
  26305. , toInteger = __webpack_require__(72)
  26306. , toLength = __webpack_require__(26)
  26307. , gOPN = __webpack_require__(79).f
  26308. , dP = __webpack_require__(17).f
  26309. , arrayFill = __webpack_require__(235)
  26310. , setToStringTag = __webpack_require__(99)
  26311. , ARRAY_BUFFER = 'ArrayBuffer'
  26312. , DATA_VIEW = 'DataView'
  26313. , PROTOTYPE = 'prototype'
  26314. , WRONG_LENGTH = 'Wrong length!'
  26315. , WRONG_INDEX = 'Wrong index!'
  26316. , $ArrayBuffer = global[ARRAY_BUFFER]
  26317. , $DataView = global[DATA_VIEW]
  26318. , Math = global.Math
  26319. , RangeError = global.RangeError
  26320. , Infinity = global.Infinity
  26321. , BaseBuffer = $ArrayBuffer
  26322. , abs = Math.abs
  26323. , pow = Math.pow
  26324. , floor = Math.floor
  26325. , log = Math.log
  26326. , LN2 = Math.LN2
  26327. , BUFFER = 'buffer'
  26328. , BYTE_LENGTH = 'byteLength'
  26329. , BYTE_OFFSET = 'byteOffset'
  26330. , $BUFFER = DESCRIPTORS ? '_b' : BUFFER
  26331. , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH
  26332. , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;
  26333. // IEEE754 conversions based on https://github.com/feross/ieee754
  26334. var packIEEE754 = function(value, mLen, nBytes){
  26335. var buffer = Array(nBytes)
  26336. , eLen = nBytes * 8 - mLen - 1
  26337. , eMax = (1 << eLen) - 1
  26338. , eBias = eMax >> 1
  26339. , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0
  26340. , i = 0
  26341. , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0
  26342. , e, m, c;
  26343. value = abs(value)
  26344. if(value != value || value === Infinity){
  26345. m = value != value ? 1 : 0;
  26346. e = eMax;
  26347. } else {
  26348. e = floor(log(value) / LN2);
  26349. if(value * (c = pow(2, -e)) < 1){
  26350. e--;
  26351. c *= 2;
  26352. }
  26353. if(e + eBias >= 1){
  26354. value += rt / c;
  26355. } else {
  26356. value += rt * pow(2, 1 - eBias);
  26357. }
  26358. if(value * c >= 2){
  26359. e++;
  26360. c /= 2;
  26361. }
  26362. if(e + eBias >= eMax){
  26363. m = 0;
  26364. e = eMax;
  26365. } else if(e + eBias >= 1){
  26366. m = (value * c - 1) * pow(2, mLen);
  26367. e = e + eBias;
  26368. } else {
  26369. m = value * pow(2, eBias - 1) * pow(2, mLen);
  26370. e = 0;
  26371. }
  26372. }
  26373. for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);
  26374. e = e << mLen | m;
  26375. eLen += mLen;
  26376. for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);
  26377. buffer[--i] |= s * 128;
  26378. return buffer;
  26379. };
  26380. var unpackIEEE754 = function(buffer, mLen, nBytes){
  26381. var eLen = nBytes * 8 - mLen - 1
  26382. , eMax = (1 << eLen) - 1
  26383. , eBias = eMax >> 1
  26384. , nBits = eLen - 7
  26385. , i = nBytes - 1
  26386. , s = buffer[i--]
  26387. , e = s & 127
  26388. , m;
  26389. s >>= 7;
  26390. for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);
  26391. m = e & (1 << -nBits) - 1;
  26392. e >>= -nBits;
  26393. nBits += mLen;
  26394. for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);
  26395. if(e === 0){
  26396. e = 1 - eBias;
  26397. } else if(e === eMax){
  26398. return m ? NaN : s ? -Infinity : Infinity;
  26399. } else {
  26400. m = m + pow(2, mLen);
  26401. e = e - eBias;
  26402. } return (s ? -1 : 1) * m * pow(2, e - mLen);
  26403. };
  26404. var unpackI32 = function(bytes){
  26405. return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];
  26406. };
  26407. var packI8 = function(it){
  26408. return [it & 0xff];
  26409. };
  26410. var packI16 = function(it){
  26411. return [it & 0xff, it >> 8 & 0xff];
  26412. };
  26413. var packI32 = function(it){
  26414. return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];
  26415. };
  26416. var packF64 = function(it){
  26417. return packIEEE754(it, 52, 8);
  26418. };
  26419. var packF32 = function(it){
  26420. return packIEEE754(it, 23, 4);
  26421. };
  26422. var addGetter = function(C, key, internal){
  26423. dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }});
  26424. };
  26425. var get = function(view, bytes, index, isLittleEndian){
  26426. var numIndex = +index
  26427. , intIndex = toInteger(numIndex);
  26428. if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);
  26429. var store = view[$BUFFER]._b
  26430. , start = intIndex + view[$OFFSET]
  26431. , pack = store.slice(start, start + bytes);
  26432. return isLittleEndian ? pack : pack.reverse();
  26433. };
  26434. var set = function(view, bytes, index, conversion, value, isLittleEndian){
  26435. var numIndex = +index
  26436. , intIndex = toInteger(numIndex);
  26437. if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);
  26438. var store = view[$BUFFER]._b
  26439. , start = intIndex + view[$OFFSET]
  26440. , pack = conversion(+value);
  26441. for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];
  26442. };
  26443. var validateArrayBufferArguments = function(that, length){
  26444. anInstance(that, $ArrayBuffer, ARRAY_BUFFER);
  26445. var numberLength = +length
  26446. , byteLength = toLength(numberLength);
  26447. if(numberLength != byteLength)throw RangeError(WRONG_LENGTH);
  26448. return byteLength;
  26449. };
  26450. if(!$typed.ABV){
  26451. $ArrayBuffer = function ArrayBuffer(length){
  26452. var byteLength = validateArrayBufferArguments(this, length);
  26453. this._b = arrayFill.call(Array(byteLength), 0);
  26454. this[$LENGTH] = byteLength;
  26455. };
  26456. $DataView = function DataView(buffer, byteOffset, byteLength){
  26457. anInstance(this, $DataView, DATA_VIEW);
  26458. anInstance(buffer, $ArrayBuffer, DATA_VIEW);
  26459. var bufferLength = buffer[$LENGTH]
  26460. , offset = toInteger(byteOffset);
  26461. if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!');
  26462. byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
  26463. if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH);
  26464. this[$BUFFER] = buffer;
  26465. this[$OFFSET] = offset;
  26466. this[$LENGTH] = byteLength;
  26467. };
  26468. if(DESCRIPTORS){
  26469. addGetter($ArrayBuffer, BYTE_LENGTH, '_l');
  26470. addGetter($DataView, BUFFER, '_b');
  26471. addGetter($DataView, BYTE_LENGTH, '_l');
  26472. addGetter($DataView, BYTE_OFFSET, '_o');
  26473. }
  26474. redefineAll($DataView[PROTOTYPE], {
  26475. getInt8: function getInt8(byteOffset){
  26476. return get(this, 1, byteOffset)[0] << 24 >> 24;
  26477. },
  26478. getUint8: function getUint8(byteOffset){
  26479. return get(this, 1, byteOffset)[0];
  26480. },
  26481. getInt16: function getInt16(byteOffset /*, littleEndian */){
  26482. var bytes = get(this, 2, byteOffset, arguments[1]);
  26483. return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
  26484. },
  26485. getUint16: function getUint16(byteOffset /*, littleEndian */){
  26486. var bytes = get(this, 2, byteOffset, arguments[1]);
  26487. return bytes[1] << 8 | bytes[0];
  26488. },
  26489. getInt32: function getInt32(byteOffset /*, littleEndian */){
  26490. return unpackI32(get(this, 4, byteOffset, arguments[1]));
  26491. },
  26492. getUint32: function getUint32(byteOffset /*, littleEndian */){
  26493. return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;
  26494. },
  26495. getFloat32: function getFloat32(byteOffset /*, littleEndian */){
  26496. return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);
  26497. },
  26498. getFloat64: function getFloat64(byteOffset /*, littleEndian */){
  26499. return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);
  26500. },
  26501. setInt8: function setInt8(byteOffset, value){
  26502. set(this, 1, byteOffset, packI8, value);
  26503. },
  26504. setUint8: function setUint8(byteOffset, value){
  26505. set(this, 1, byteOffset, packI8, value);
  26506. },
  26507. setInt16: function setInt16(byteOffset, value /*, littleEndian */){
  26508. set(this, 2, byteOffset, packI16, value, arguments[2]);
  26509. },
  26510. setUint16: function setUint16(byteOffset, value /*, littleEndian */){
  26511. set(this, 2, byteOffset, packI16, value, arguments[2]);
  26512. },
  26513. setInt32: function setInt32(byteOffset, value /*, littleEndian */){
  26514. set(this, 4, byteOffset, packI32, value, arguments[2]);
  26515. },
  26516. setUint32: function setUint32(byteOffset, value /*, littleEndian */){
  26517. set(this, 4, byteOffset, packI32, value, arguments[2]);
  26518. },
  26519. setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){
  26520. set(this, 4, byteOffset, packF32, value, arguments[2]);
  26521. },
  26522. setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){
  26523. set(this, 8, byteOffset, packF64, value, arguments[2]);
  26524. }
  26525. });
  26526. } else {
  26527. if(!fails(function(){
  26528. new $ArrayBuffer; // eslint-disable-line no-new
  26529. }) || !fails(function(){
  26530. new $ArrayBuffer(.5); // eslint-disable-line no-new
  26531. })){
  26532. $ArrayBuffer = function ArrayBuffer(length){
  26533. return new BaseBuffer(validateArrayBufferArguments(this, length));
  26534. };
  26535. var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];
  26536. for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){
  26537. if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]);
  26538. };
  26539. if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer;
  26540. }
  26541. // iOS Safari 7.x bug
  26542. var view = new $DataView(new $ArrayBuffer(2))
  26543. , $setInt8 = $DataView[PROTOTYPE].setInt8;
  26544. view.setInt8(0, 2147483648);
  26545. view.setInt8(1, 2147483649);
  26546. if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], {
  26547. setInt8: function setInt8(byteOffset, value){
  26548. $setInt8.call(this, byteOffset, value << 24 >> 24);
  26549. },
  26550. setUint8: function setUint8(byteOffset, value){
  26551. $setInt8.call(this, byteOffset, value << 24 >> 24);
  26552. }
  26553. }, true);
  26554. }
  26555. setToStringTag($ArrayBuffer, ARRAY_BUFFER);
  26556. setToStringTag($DataView, DATA_VIEW);
  26557. hide($DataView[PROTOTYPE], $typed.VIEW, true);
  26558. exports[ARRAY_BUFFER] = $ArrayBuffer;
  26559. exports[DATA_VIEW] = $DataView;
  26560. /***/ },
  26561. /* 255 */
  26562. /***/ function(module, exports, __webpack_require__) {
  26563. var classof = __webpack_require__(159)
  26564. , ITERATOR = __webpack_require__(14)('iterator')
  26565. , Iterators = __webpack_require__(119);
  26566. module.exports = __webpack_require__(69).getIteratorMethod = function(it){
  26567. if(it != undefined)return it[ITERATOR]
  26568. || it['@@iterator']
  26569. || Iterators[classof(it)];
  26570. };
  26571. /***/ },
  26572. /* 256 */
  26573. /***/ function(module, exports, __webpack_require__) {
  26574. "use strict";
  26575. "use strict";
  26576. var __extends = (this && this.__extends) || function (d, b) {
  26577. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  26578. function __() { this.constructor = d; }
  26579. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  26580. };
  26581. var Subject_1 = __webpack_require__(15);
  26582. var Observable_1 = __webpack_require__(0);
  26583. var Subscriber_1 = __webpack_require__(3);
  26584. var Subscription_1 = __webpack_require__(22);
  26585. /**
  26586. * @class ConnectableObservable<T>
  26587. */
  26588. var ConnectableObservable = (function (_super) {
  26589. __extends(ConnectableObservable, _super);
  26590. function ConnectableObservable(source, subjectFactory) {
  26591. _super.call(this);
  26592. this.source = source;
  26593. this.subjectFactory = subjectFactory;
  26594. this._refCount = 0;
  26595. }
  26596. ConnectableObservable.prototype._subscribe = function (subscriber) {
  26597. return this.getSubject().subscribe(subscriber);
  26598. };
  26599. ConnectableObservable.prototype.getSubject = function () {
  26600. var subject = this._subject;
  26601. if (!subject || subject.isStopped) {
  26602. this._subject = this.subjectFactory();
  26603. }
  26604. return this._subject;
  26605. };
  26606. ConnectableObservable.prototype.connect = function () {
  26607. var connection = this._connection;
  26608. if (!connection) {
  26609. connection = this._connection = new Subscription_1.Subscription();
  26610. connection.add(this.source
  26611. .subscribe(new ConnectableSubscriber(this.getSubject(), this)));
  26612. if (connection.closed) {
  26613. this._connection = null;
  26614. connection = Subscription_1.Subscription.EMPTY;
  26615. }
  26616. else {
  26617. this._connection = connection;
  26618. }
  26619. }
  26620. return connection;
  26621. };
  26622. ConnectableObservable.prototype.refCount = function () {
  26623. return this.lift(new RefCountOperator(this));
  26624. };
  26625. return ConnectableObservable;
  26626. }(Observable_1.Observable));
  26627. exports.ConnectableObservable = ConnectableObservable;
  26628. var ConnectableSubscriber = (function (_super) {
  26629. __extends(ConnectableSubscriber, _super);
  26630. function ConnectableSubscriber(destination, connectable) {
  26631. _super.call(this, destination);
  26632. this.connectable = connectable;
  26633. }
  26634. ConnectableSubscriber.prototype._error = function (err) {
  26635. this._unsubscribe();
  26636. _super.prototype._error.call(this, err);
  26637. };
  26638. ConnectableSubscriber.prototype._complete = function () {
  26639. this._unsubscribe();
  26640. _super.prototype._complete.call(this);
  26641. };
  26642. ConnectableSubscriber.prototype._unsubscribe = function () {
  26643. var connectable = this.connectable;
  26644. if (connectable) {
  26645. this.connectable = null;
  26646. var connection = connectable._connection;
  26647. connectable._refCount = 0;
  26648. connectable._subject = null;
  26649. connectable._connection = null;
  26650. if (connection) {
  26651. connection.unsubscribe();
  26652. }
  26653. }
  26654. };
  26655. return ConnectableSubscriber;
  26656. }(Subject_1.SubjectSubscriber));
  26657. var RefCountOperator = (function () {
  26658. function RefCountOperator(connectable) {
  26659. this.connectable = connectable;
  26660. }
  26661. RefCountOperator.prototype.call = function (subscriber, source) {
  26662. var connectable = this.connectable;
  26663. connectable._refCount++;
  26664. var refCounter = new RefCountSubscriber(subscriber, connectable);
  26665. var subscription = source._subscribe(refCounter);
  26666. if (!refCounter.closed) {
  26667. refCounter.connection = connectable.connect();
  26668. }
  26669. return subscription;
  26670. };
  26671. return RefCountOperator;
  26672. }());
  26673. var RefCountSubscriber = (function (_super) {
  26674. __extends(RefCountSubscriber, _super);
  26675. function RefCountSubscriber(destination, connectable) {
  26676. _super.call(this, destination);
  26677. this.connectable = connectable;
  26678. }
  26679. RefCountSubscriber.prototype._unsubscribe = function () {
  26680. var connectable = this.connectable;
  26681. if (!connectable) {
  26682. this.connection = null;
  26683. return;
  26684. }
  26685. this.connectable = null;
  26686. var refCount = connectable._refCount;
  26687. if (refCount <= 0) {
  26688. this.connection = null;
  26689. return;
  26690. }
  26691. connectable._refCount = refCount - 1;
  26692. if (refCount > 1) {
  26693. this.connection = null;
  26694. return;
  26695. }
  26696. ///
  26697. // Compare the local RefCountSubscriber's connection Subscription to the
  26698. // connection Subscription on the shared ConnectableObservable. In cases
  26699. // where the ConnectableObservable source synchronously emits values, and
  26700. // the RefCountSubscriber's dowstream Observers synchronously unsubscribe,
  26701. // execution continues to here before the RefCountOperator has a chance to
  26702. // supply the RefCountSubscriber with the shared connection Subscription.
  26703. // For example:
  26704. // ```
  26705. // Observable.range(0, 10)
  26706. // .publish()
  26707. // .refCount()
  26708. // .take(5)
  26709. // .subscribe();
  26710. // ```
  26711. // In order to account for this case, RefCountSubscriber should only dispose
  26712. // the ConnectableObservable's shared connection Subscription if the
  26713. // connection Subscription exists, *and* either:
  26714. // a. RefCountSubscriber doesn't have a reference to the shared connection
  26715. // Subscription yet, or,
  26716. // b. RefCountSubscriber's connection Subscription reference is identical
  26717. // to the shared connection Subscription
  26718. ///
  26719. var connection = this.connection;
  26720. var sharedConnection = connectable._connection;
  26721. this.connection = null;
  26722. if (sharedConnection && (!connection || sharedConnection === connection)) {
  26723. sharedConnection.unsubscribe();
  26724. }
  26725. };
  26726. return RefCountSubscriber;
  26727. }(Subscriber_1.Subscriber));
  26728. //# sourceMappingURL=ConnectableObservable.js.map
  26729. /***/ },
  26730. /* 257 */
  26731. /***/ function(module, exports, __webpack_require__) {
  26732. "use strict";
  26733. "use strict";
  26734. var __extends = (this && this.__extends) || function (d, b) {
  26735. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  26736. function __() { this.constructor = d; }
  26737. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  26738. };
  26739. var Observable_1 = __webpack_require__(0);
  26740. /**
  26741. * We need this JSDoc comment for affecting ESDoc.
  26742. * @extends {Ignored}
  26743. * @hide true
  26744. */
  26745. var ScalarObservable = (function (_super) {
  26746. __extends(ScalarObservable, _super);
  26747. function ScalarObservable(value, scheduler) {
  26748. _super.call(this);
  26749. this.value = value;
  26750. this.scheduler = scheduler;
  26751. this._isScalar = true;
  26752. if (scheduler) {
  26753. this._isScalar = false;
  26754. }
  26755. }
  26756. ScalarObservable.create = function (value, scheduler) {
  26757. return new ScalarObservable(value, scheduler);
  26758. };
  26759. ScalarObservable.dispatch = function (state) {
  26760. var done = state.done, value = state.value, subscriber = state.subscriber;
  26761. if (done) {
  26762. subscriber.complete();
  26763. return;
  26764. }
  26765. subscriber.next(value);
  26766. if (subscriber.closed) {
  26767. return;
  26768. }
  26769. state.done = true;
  26770. this.schedule(state);
  26771. };
  26772. ScalarObservable.prototype._subscribe = function (subscriber) {
  26773. var value = this.value;
  26774. var scheduler = this.scheduler;
  26775. if (scheduler) {
  26776. return scheduler.schedule(ScalarObservable.dispatch, 0, {
  26777. done: false, value: value, subscriber: subscriber
  26778. });
  26779. }
  26780. else {
  26781. subscriber.next(value);
  26782. if (!subscriber.closed) {
  26783. subscriber.complete();
  26784. }
  26785. }
  26786. };
  26787. return ScalarObservable;
  26788. }(Observable_1.Observable));
  26789. exports.ScalarObservable = ScalarObservable;
  26790. //# sourceMappingURL=ScalarObservable.js.map
  26791. /***/ },
  26792. /* 258 */
  26793. /***/ function(module, exports, __webpack_require__) {
  26794. "use strict";
  26795. "use strict";
  26796. var FromObservable_1 = __webpack_require__(393);
  26797. exports.from = FromObservable_1.FromObservable.create;
  26798. //# sourceMappingURL=from.js.map
  26799. /***/ },
  26800. /* 259 */
  26801. /***/ function(module, exports, __webpack_require__) {
  26802. "use strict";
  26803. "use strict";
  26804. var __extends = (this && this.__extends) || function (d, b) {
  26805. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  26806. function __() { this.constructor = d; }
  26807. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  26808. };
  26809. var ArrayObservable_1 = __webpack_require__(63);
  26810. var isArray_1 = __webpack_require__(48);
  26811. var OuterSubscriber_1 = __webpack_require__(6);
  26812. var subscribeToResult_1 = __webpack_require__(7);
  26813. var none = {};
  26814. /**
  26815. * Combines multiple Observables to create an Observable whose values are
  26816. * calculated from the latest values of each of its input Observables.
  26817. *
  26818. * <span class="informal">Whenever any input Observable emits a value, it
  26819. * computes a formula using the latest values from all the inputs, then emits
  26820. * the output of that formula.</span>
  26821. *
  26822. * <img src="./img/combineLatest.png" width="100%">
  26823. *
  26824. * `combineLatest` combines the values from this Observable with values from
  26825. * Observables passed as arguments. This is done by subscribing to each
  26826. * Observable, in order, and collecting an array of each of the most recent
  26827. * values any time any of the input Observables emits, then either taking that
  26828. * array and passing it as arguments to an optional `project` function and
  26829. * emitting the return value of that, or just emitting the array of recent
  26830. * values directly if there is no `project` function.
  26831. *
  26832. * @example <caption>Dynamically calculate the Body-Mass Index from an Observable of weight and one for height</caption>
  26833. * var weight = Rx.Observable.of(70, 72, 76, 79, 75);
  26834. * var height = Rx.Observable.of(1.76, 1.77, 1.78);
  26835. * var bmi = weight.combineLatest(height, (w, h) => w / (h * h));
  26836. * bmi.subscribe(x => console.log('BMI is ' + x));
  26837. *
  26838. * @see {@link combineAll}
  26839. * @see {@link merge}
  26840. * @see {@link withLatestFrom}
  26841. *
  26842. * @param {Observable} other An input Observable to combine with the source
  26843. * Observable. More than one input Observables may be given as argument.
  26844. * @param {function} [project] An optional function to project the values from
  26845. * the combined latest values into a new value on the output Observable.
  26846. * @return {Observable} An Observable of projected values from the most recent
  26847. * values from each input Observable, or an array of the most recent values from
  26848. * each input Observable.
  26849. * @method combineLatest
  26850. * @owner Observable
  26851. */
  26852. function combineLatest() {
  26853. var observables = [];
  26854. for (var _i = 0; _i < arguments.length; _i++) {
  26855. observables[_i - 0] = arguments[_i];
  26856. }
  26857. var project = null;
  26858. if (typeof observables[observables.length - 1] === 'function') {
  26859. project = observables.pop();
  26860. }
  26861. // if the first and only other argument besides the resultSelector is an array
  26862. // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`
  26863. if (observables.length === 1 && isArray_1.isArray(observables[0])) {
  26864. observables = observables[0];
  26865. }
  26866. observables.unshift(this);
  26867. return new ArrayObservable_1.ArrayObservable(observables).lift(new CombineLatestOperator(project));
  26868. }
  26869. exports.combineLatest = combineLatest;
  26870. /* tslint:enable:max-line-length */
  26871. var CombineLatestOperator = (function () {
  26872. function CombineLatestOperator(project) {
  26873. this.project = project;
  26874. }
  26875. CombineLatestOperator.prototype.call = function (subscriber, source) {
  26876. return source._subscribe(new CombineLatestSubscriber(subscriber, this.project));
  26877. };
  26878. return CombineLatestOperator;
  26879. }());
  26880. exports.CombineLatestOperator = CombineLatestOperator;
  26881. /**
  26882. * We need this JSDoc comment for affecting ESDoc.
  26883. * @ignore
  26884. * @extends {Ignored}
  26885. */
  26886. var CombineLatestSubscriber = (function (_super) {
  26887. __extends(CombineLatestSubscriber, _super);
  26888. function CombineLatestSubscriber(destination, project) {
  26889. _super.call(this, destination);
  26890. this.project = project;
  26891. this.active = 0;
  26892. this.values = [];
  26893. this.observables = [];
  26894. }
  26895. CombineLatestSubscriber.prototype._next = function (observable) {
  26896. this.values.push(none);
  26897. this.observables.push(observable);
  26898. };
  26899. CombineLatestSubscriber.prototype._complete = function () {
  26900. var observables = this.observables;
  26901. var len = observables.length;
  26902. if (len === 0) {
  26903. this.destination.complete();
  26904. }
  26905. else {
  26906. this.active = len;
  26907. this.toRespond = len;
  26908. for (var i = 0; i < len; i++) {
  26909. var observable = observables[i];
  26910. this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));
  26911. }
  26912. }
  26913. };
  26914. CombineLatestSubscriber.prototype.notifyComplete = function (unused) {
  26915. if ((this.active -= 1) === 0) {
  26916. this.destination.complete();
  26917. }
  26918. };
  26919. CombineLatestSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  26920. var values = this.values;
  26921. var oldVal = values[outerIndex];
  26922. var toRespond = !this.toRespond
  26923. ? 0
  26924. : oldVal === none ? --this.toRespond : this.toRespond;
  26925. values[outerIndex] = innerValue;
  26926. if (toRespond === 0) {
  26927. if (this.project) {
  26928. this._tryProject(values);
  26929. }
  26930. else {
  26931. this.destination.next(values.slice());
  26932. }
  26933. }
  26934. };
  26935. CombineLatestSubscriber.prototype._tryProject = function (values) {
  26936. var result;
  26937. try {
  26938. result = this.project.apply(this, values);
  26939. }
  26940. catch (err) {
  26941. this.destination.error(err);
  26942. return;
  26943. }
  26944. this.destination.next(result);
  26945. };
  26946. return CombineLatestSubscriber;
  26947. }(OuterSubscriber_1.OuterSubscriber));
  26948. exports.CombineLatestSubscriber = CombineLatestSubscriber;
  26949. //# sourceMappingURL=combineLatest.js.map
  26950. /***/ },
  26951. /* 260 */
  26952. /***/ function(module, exports, __webpack_require__) {
  26953. "use strict";
  26954. "use strict";
  26955. var isScheduler_1 = __webpack_require__(75);
  26956. var ArrayObservable_1 = __webpack_require__(63);
  26957. var mergeAll_1 = __webpack_require__(101);
  26958. /**
  26959. * Creates an output Observable which sequentially emits all values from every
  26960. * given input Observable after the current Observable.
  26961. *
  26962. * <span class="informal">Concatenates multiple Observables together by
  26963. * sequentially emitting their values, one Observable after the other.</span>
  26964. *
  26965. * <img src="./img/concat.png" width="100%">
  26966. *
  26967. * Joins this Observable with multiple other Observables by subscribing to them
  26968. * one at a time, starting with the source, and merging their results into the
  26969. * output Observable. Will wait for each Observable to complete before moving
  26970. * on to the next.
  26971. *
  26972. * @example <caption>Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10</caption>
  26973. * var timer = Rx.Observable.interval(1000).take(4);
  26974. * var sequence = Rx.Observable.range(1, 10);
  26975. * var result = timer.concat(sequence);
  26976. * result.subscribe(x => console.log(x));
  26977. *
  26978. * @example <caption>Concatenate 3 Observables</caption>
  26979. * var timer1 = Rx.Observable.interval(1000).take(10);
  26980. * var timer2 = Rx.Observable.interval(2000).take(6);
  26981. * var timer3 = Rx.Observable.interval(500).take(10);
  26982. * var result = timer1.concat(timer2, timer3);
  26983. * result.subscribe(x => console.log(x));
  26984. *
  26985. * @see {@link concatAll}
  26986. * @see {@link concatMap}
  26987. * @see {@link concatMapTo}
  26988. *
  26989. * @param {Observable} other An input Observable to concatenate after the source
  26990. * Observable. More than one input Observables may be given as argument.
  26991. * @param {Scheduler} [scheduler=null] An optional Scheduler to schedule each
  26992. * Observable subscription on.
  26993. * @return {Observable} All values of each passed Observable merged into a
  26994. * single Observable, in order, in serial fashion.
  26995. * @method concat
  26996. * @owner Observable
  26997. */
  26998. function concat() {
  26999. var observables = [];
  27000. for (var _i = 0; _i < arguments.length; _i++) {
  27001. observables[_i - 0] = arguments[_i];
  27002. }
  27003. return concatStatic.apply(void 0, [this].concat(observables));
  27004. }
  27005. exports.concat = concat;
  27006. /* tslint:enable:max-line-length */
  27007. /**
  27008. * Creates an output Observable which sequentially emits all values from every
  27009. * given input Observable after the current Observable.
  27010. *
  27011. * <span class="informal">Concatenates multiple Observables together by
  27012. * sequentially emitting their values, one Observable after the other.</span>
  27013. *
  27014. * <img src="./img/concat.png" width="100%">
  27015. *
  27016. * Joins multiple Observables together by subscribing to them one at a time and
  27017. * merging their results into the output Observable. Will wait for each
  27018. * Observable to complete before moving on to the next.
  27019. *
  27020. * @example <caption>Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10</caption>
  27021. * var timer = Rx.Observable.interval(1000).take(4);
  27022. * var sequence = Rx.Observable.range(1, 10);
  27023. * var result = Rx.Observable.concat(timer, sequence);
  27024. * result.subscribe(x => console.log(x));
  27025. *
  27026. * @example <caption>Concatenate 3 Observables</caption>
  27027. * var timer1 = Rx.Observable.interval(1000).take(10);
  27028. * var timer2 = Rx.Observable.interval(2000).take(6);
  27029. * var timer3 = Rx.Observable.interval(500).take(10);
  27030. * var result = Rx.Observable.concat(timer1, timer2, timer3);
  27031. * result.subscribe(x => console.log(x));
  27032. *
  27033. * @see {@link concatAll}
  27034. * @see {@link concatMap}
  27035. * @see {@link concatMapTo}
  27036. *
  27037. * @param {Observable} input1 An input Observable to concatenate with others.
  27038. * @param {Observable} input2 An input Observable to concatenate with others.
  27039. * More than one input Observables may be given as argument.
  27040. * @param {Scheduler} [scheduler=null] An optional Scheduler to schedule each
  27041. * Observable subscription on.
  27042. * @return {Observable} All values of each passed Observable merged into a
  27043. * single Observable, in order, in serial fashion.
  27044. * @static true
  27045. * @name concat
  27046. * @owner Observable
  27047. */
  27048. function concatStatic() {
  27049. var observables = [];
  27050. for (var _i = 0; _i < arguments.length; _i++) {
  27051. observables[_i - 0] = arguments[_i];
  27052. }
  27053. var scheduler = null;
  27054. var args = observables;
  27055. if (isScheduler_1.isScheduler(args[observables.length - 1])) {
  27056. scheduler = args.pop();
  27057. }
  27058. return new ArrayObservable_1.ArrayObservable(observables, scheduler).lift(new mergeAll_1.MergeAllOperator(1));
  27059. }
  27060. exports.concatStatic = concatStatic;
  27061. //# sourceMappingURL=concat.js.map
  27062. /***/ },
  27063. /* 261 */
  27064. /***/ function(module, exports, __webpack_require__) {
  27065. "use strict";
  27066. "use strict";
  27067. var mergeAll_1 = __webpack_require__(101);
  27068. /**
  27069. * Converts a higher-order Observable into a first-order Observable by
  27070. * concatenating the inner Observables in order.
  27071. *
  27072. * <span class="informal">Flattens an Observable-of-Observables by putting one
  27073. * inner Observable after the other.</span>
  27074. *
  27075. * <img src="./img/concatAll.png" width="100%">
  27076. *
  27077. * Joins every Observable emitted by the source (a higher-order Observable), in
  27078. * a serial fashion. It subscribes to each inner Observable only after the
  27079. * previous inner Observable has completed, and merges all of their values into
  27080. * the returned observable.
  27081. *
  27082. * __Warning:__ If the source Observable emits Observables quickly and
  27083. * endlessly, and the inner Observables it emits generally complete slower than
  27084. * the source emits, you can run into memory issues as the incoming Observables
  27085. * collect in an unbounded buffer.
  27086. *
  27087. * Note: `concatAll` is equivalent to `mergeAll` with concurrency parameter set
  27088. * to `1`.
  27089. *
  27090. * @example <caption>For each click event, tick every second from 0 to 3, with no concurrency</caption>
  27091. * var clicks = Rx.Observable.fromEvent(document, 'click');
  27092. * var higherOrder = clicks.map(ev => Rx.Observable.interval(1000).take(4));
  27093. * var firstOrder = higherOrder.concatAll();
  27094. * firstOrder.subscribe(x => console.log(x));
  27095. *
  27096. * @see {@link combineAll}
  27097. * @see {@link concat}
  27098. * @see {@link concatMap}
  27099. * @see {@link concatMapTo}
  27100. * @see {@link exhaust}
  27101. * @see {@link mergeAll}
  27102. * @see {@link switch}
  27103. * @see {@link zipAll}
  27104. *
  27105. * @return {Observable} An Observable emitting values from all the inner
  27106. * Observables concatenated.
  27107. * @method concatAll
  27108. * @owner Observable
  27109. */
  27110. function concatAll() {
  27111. return this.lift(new mergeAll_1.MergeAllOperator(1));
  27112. }
  27113. exports.concatAll = concatAll;
  27114. //# sourceMappingURL=concatAll.js.map
  27115. /***/ },
  27116. /* 262 */
  27117. /***/ function(module, exports, __webpack_require__) {
  27118. "use strict";
  27119. "use strict";
  27120. var __extends = (this && this.__extends) || function (d, b) {
  27121. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  27122. function __() { this.constructor = d; }
  27123. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  27124. };
  27125. var Subscriber_1 = __webpack_require__(3);
  27126. /**
  27127. * Returns an Observable that emits whether or not every item of the source satisfies the condition specified.
  27128. * @param {function} predicate a function for determining if an item meets a specified condition.
  27129. * @param {any} [thisArg] optional object to use for `this` in the callback
  27130. * @return {Observable} an Observable of booleans that determines if all items of the source Observable meet the condition specified.
  27131. * @method every
  27132. * @owner Observable
  27133. */
  27134. function every(predicate, thisArg) {
  27135. return this.lift(new EveryOperator(predicate, thisArg, this));
  27136. }
  27137. exports.every = every;
  27138. var EveryOperator = (function () {
  27139. function EveryOperator(predicate, thisArg, source) {
  27140. this.predicate = predicate;
  27141. this.thisArg = thisArg;
  27142. this.source = source;
  27143. }
  27144. EveryOperator.prototype.call = function (observer, source) {
  27145. return source._subscribe(new EverySubscriber(observer, this.predicate, this.thisArg, this.source));
  27146. };
  27147. return EveryOperator;
  27148. }());
  27149. /**
  27150. * We need this JSDoc comment for affecting ESDoc.
  27151. * @ignore
  27152. * @extends {Ignored}
  27153. */
  27154. var EverySubscriber = (function (_super) {
  27155. __extends(EverySubscriber, _super);
  27156. function EverySubscriber(destination, predicate, thisArg, source) {
  27157. _super.call(this, destination);
  27158. this.predicate = predicate;
  27159. this.thisArg = thisArg;
  27160. this.source = source;
  27161. this.index = 0;
  27162. this.thisArg = thisArg || this;
  27163. }
  27164. EverySubscriber.prototype.notifyComplete = function (everyValueMatch) {
  27165. this.destination.next(everyValueMatch);
  27166. this.destination.complete();
  27167. };
  27168. EverySubscriber.prototype._next = function (value) {
  27169. var result = false;
  27170. try {
  27171. result = this.predicate.call(this.thisArg, value, this.index++, this.source);
  27172. }
  27173. catch (err) {
  27174. this.destination.error(err);
  27175. return;
  27176. }
  27177. if (!result) {
  27178. this.notifyComplete(false);
  27179. }
  27180. };
  27181. EverySubscriber.prototype._complete = function () {
  27182. this.notifyComplete(true);
  27183. };
  27184. return EverySubscriber;
  27185. }(Subscriber_1.Subscriber));
  27186. //# sourceMappingURL=every.js.map
  27187. /***/ },
  27188. /* 263 */
  27189. /***/ function(module, exports, __webpack_require__) {
  27190. "use strict";
  27191. "use strict";
  27192. var __extends = (this && this.__extends) || function (d, b) {
  27193. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  27194. function __() { this.constructor = d; }
  27195. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  27196. };
  27197. var Subscriber_1 = __webpack_require__(3);
  27198. var Notification_1 = __webpack_require__(120);
  27199. /**
  27200. * @see {@link Notification}
  27201. *
  27202. * @param scheduler
  27203. * @param delay
  27204. * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}
  27205. * @method observeOn
  27206. * @owner Observable
  27207. */
  27208. function observeOn(scheduler, delay) {
  27209. if (delay === void 0) { delay = 0; }
  27210. return this.lift(new ObserveOnOperator(scheduler, delay));
  27211. }
  27212. exports.observeOn = observeOn;
  27213. var ObserveOnOperator = (function () {
  27214. function ObserveOnOperator(scheduler, delay) {
  27215. if (delay === void 0) { delay = 0; }
  27216. this.scheduler = scheduler;
  27217. this.delay = delay;
  27218. }
  27219. ObserveOnOperator.prototype.call = function (subscriber, source) {
  27220. return source._subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));
  27221. };
  27222. return ObserveOnOperator;
  27223. }());
  27224. exports.ObserveOnOperator = ObserveOnOperator;
  27225. /**
  27226. * We need this JSDoc comment for affecting ESDoc.
  27227. * @ignore
  27228. * @extends {Ignored}
  27229. */
  27230. var ObserveOnSubscriber = (function (_super) {
  27231. __extends(ObserveOnSubscriber, _super);
  27232. function ObserveOnSubscriber(destination, scheduler, delay) {
  27233. if (delay === void 0) { delay = 0; }
  27234. _super.call(this, destination);
  27235. this.scheduler = scheduler;
  27236. this.delay = delay;
  27237. }
  27238. ObserveOnSubscriber.dispatch = function (arg) {
  27239. var notification = arg.notification, destination = arg.destination;
  27240. notification.observe(destination);
  27241. };
  27242. ObserveOnSubscriber.prototype.scheduleMessage = function (notification) {
  27243. this.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));
  27244. };
  27245. ObserveOnSubscriber.prototype._next = function (value) {
  27246. this.scheduleMessage(Notification_1.Notification.createNext(value));
  27247. };
  27248. ObserveOnSubscriber.prototype._error = function (err) {
  27249. this.scheduleMessage(Notification_1.Notification.createError(err));
  27250. };
  27251. ObserveOnSubscriber.prototype._complete = function () {
  27252. this.scheduleMessage(Notification_1.Notification.createComplete());
  27253. };
  27254. return ObserveOnSubscriber;
  27255. }(Subscriber_1.Subscriber));
  27256. exports.ObserveOnSubscriber = ObserveOnSubscriber;
  27257. var ObserveOnMessage = (function () {
  27258. function ObserveOnMessage(notification, destination) {
  27259. this.notification = notification;
  27260. this.destination = destination;
  27261. }
  27262. return ObserveOnMessage;
  27263. }());
  27264. exports.ObserveOnMessage = ObserveOnMessage;
  27265. //# sourceMappingURL=observeOn.js.map
  27266. /***/ },
  27267. /* 264 */
  27268. /***/ function(module, exports, __webpack_require__) {
  27269. "use strict";
  27270. "use strict";
  27271. var __extends = (this && this.__extends) || function (d, b) {
  27272. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  27273. function __() { this.constructor = d; }
  27274. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  27275. };
  27276. var ArrayObservable_1 = __webpack_require__(63);
  27277. var isArray_1 = __webpack_require__(48);
  27278. var Subscriber_1 = __webpack_require__(3);
  27279. var OuterSubscriber_1 = __webpack_require__(6);
  27280. var subscribeToResult_1 = __webpack_require__(7);
  27281. var iterator_1 = __webpack_require__(124);
  27282. /**
  27283. * @param observables
  27284. * @return {Observable<R>}
  27285. * @method zip
  27286. * @owner Observable
  27287. */
  27288. function zipProto() {
  27289. var observables = [];
  27290. for (var _i = 0; _i < arguments.length; _i++) {
  27291. observables[_i - 0] = arguments[_i];
  27292. }
  27293. observables.unshift(this);
  27294. return zipStatic.apply(this, observables);
  27295. }
  27296. exports.zipProto = zipProto;
  27297. /* tslint:enable:max-line-length */
  27298. /**
  27299. * @param observables
  27300. * @return {Observable<R>}
  27301. * @static true
  27302. * @name zip
  27303. * @owner Observable
  27304. */
  27305. function zipStatic() {
  27306. var observables = [];
  27307. for (var _i = 0; _i < arguments.length; _i++) {
  27308. observables[_i - 0] = arguments[_i];
  27309. }
  27310. var project = observables[observables.length - 1];
  27311. if (typeof project === 'function') {
  27312. observables.pop();
  27313. }
  27314. return new ArrayObservable_1.ArrayObservable(observables).lift(new ZipOperator(project));
  27315. }
  27316. exports.zipStatic = zipStatic;
  27317. var ZipOperator = (function () {
  27318. function ZipOperator(project) {
  27319. this.project = project;
  27320. }
  27321. ZipOperator.prototype.call = function (subscriber, source) {
  27322. return source._subscribe(new ZipSubscriber(subscriber, this.project));
  27323. };
  27324. return ZipOperator;
  27325. }());
  27326. exports.ZipOperator = ZipOperator;
  27327. /**
  27328. * We need this JSDoc comment for affecting ESDoc.
  27329. * @ignore
  27330. * @extends {Ignored}
  27331. */
  27332. var ZipSubscriber = (function (_super) {
  27333. __extends(ZipSubscriber, _super);
  27334. function ZipSubscriber(destination, project, values) {
  27335. if (values === void 0) { values = Object.create(null); }
  27336. _super.call(this, destination);
  27337. this.index = 0;
  27338. this.iterators = [];
  27339. this.active = 0;
  27340. this.project = (typeof project === 'function') ? project : null;
  27341. this.values = values;
  27342. }
  27343. ZipSubscriber.prototype._next = function (value) {
  27344. var iterators = this.iterators;
  27345. var index = this.index++;
  27346. if (isArray_1.isArray(value)) {
  27347. iterators.push(new StaticArrayIterator(value));
  27348. }
  27349. else if (typeof value[iterator_1.$$iterator] === 'function') {
  27350. iterators.push(new StaticIterator(value[iterator_1.$$iterator]()));
  27351. }
  27352. else {
  27353. iterators.push(new ZipBufferIterator(this.destination, this, value, index));
  27354. }
  27355. };
  27356. ZipSubscriber.prototype._complete = function () {
  27357. var iterators = this.iterators;
  27358. var len = iterators.length;
  27359. this.active = len;
  27360. for (var i = 0; i < len; i++) {
  27361. var iterator = iterators[i];
  27362. if (iterator.stillUnsubscribed) {
  27363. this.add(iterator.subscribe(iterator, i));
  27364. }
  27365. else {
  27366. this.active--; // not an observable
  27367. }
  27368. }
  27369. };
  27370. ZipSubscriber.prototype.notifyInactive = function () {
  27371. this.active--;
  27372. if (this.active === 0) {
  27373. this.destination.complete();
  27374. }
  27375. };
  27376. ZipSubscriber.prototype.checkIterators = function () {
  27377. var iterators = this.iterators;
  27378. var len = iterators.length;
  27379. var destination = this.destination;
  27380. // abort if not all of them have values
  27381. for (var i = 0; i < len; i++) {
  27382. var iterator = iterators[i];
  27383. if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {
  27384. return;
  27385. }
  27386. }
  27387. var shouldComplete = false;
  27388. var args = [];
  27389. for (var i = 0; i < len; i++) {
  27390. var iterator = iterators[i];
  27391. var result = iterator.next();
  27392. // check to see if it's completed now that you've gotten
  27393. // the next value.
  27394. if (iterator.hasCompleted()) {
  27395. shouldComplete = true;
  27396. }
  27397. if (result.done) {
  27398. destination.complete();
  27399. return;
  27400. }
  27401. args.push(result.value);
  27402. }
  27403. if (this.project) {
  27404. this._tryProject(args);
  27405. }
  27406. else {
  27407. destination.next(args);
  27408. }
  27409. if (shouldComplete) {
  27410. destination.complete();
  27411. }
  27412. };
  27413. ZipSubscriber.prototype._tryProject = function (args) {
  27414. var result;
  27415. try {
  27416. result = this.project.apply(this, args);
  27417. }
  27418. catch (err) {
  27419. this.destination.error(err);
  27420. return;
  27421. }
  27422. this.destination.next(result);
  27423. };
  27424. return ZipSubscriber;
  27425. }(Subscriber_1.Subscriber));
  27426. exports.ZipSubscriber = ZipSubscriber;
  27427. var StaticIterator = (function () {
  27428. function StaticIterator(iterator) {
  27429. this.iterator = iterator;
  27430. this.nextResult = iterator.next();
  27431. }
  27432. StaticIterator.prototype.hasValue = function () {
  27433. return true;
  27434. };
  27435. StaticIterator.prototype.next = function () {
  27436. var result = this.nextResult;
  27437. this.nextResult = this.iterator.next();
  27438. return result;
  27439. };
  27440. StaticIterator.prototype.hasCompleted = function () {
  27441. var nextResult = this.nextResult;
  27442. return nextResult && nextResult.done;
  27443. };
  27444. return StaticIterator;
  27445. }());
  27446. var StaticArrayIterator = (function () {
  27447. function StaticArrayIterator(array) {
  27448. this.array = array;
  27449. this.index = 0;
  27450. this.length = 0;
  27451. this.length = array.length;
  27452. }
  27453. StaticArrayIterator.prototype[iterator_1.$$iterator] = function () {
  27454. return this;
  27455. };
  27456. StaticArrayIterator.prototype.next = function (value) {
  27457. var i = this.index++;
  27458. var array = this.array;
  27459. return i < this.length ? { value: array[i], done: false } : { value: null, done: true };
  27460. };
  27461. StaticArrayIterator.prototype.hasValue = function () {
  27462. return this.array.length > this.index;
  27463. };
  27464. StaticArrayIterator.prototype.hasCompleted = function () {
  27465. return this.array.length === this.index;
  27466. };
  27467. return StaticArrayIterator;
  27468. }());
  27469. /**
  27470. * We need this JSDoc comment for affecting ESDoc.
  27471. * @ignore
  27472. * @extends {Ignored}
  27473. */
  27474. var ZipBufferIterator = (function (_super) {
  27475. __extends(ZipBufferIterator, _super);
  27476. function ZipBufferIterator(destination, parent, observable, index) {
  27477. _super.call(this, destination);
  27478. this.parent = parent;
  27479. this.observable = observable;
  27480. this.index = index;
  27481. this.stillUnsubscribed = true;
  27482. this.buffer = [];
  27483. this.isComplete = false;
  27484. }
  27485. ZipBufferIterator.prototype[iterator_1.$$iterator] = function () {
  27486. return this;
  27487. };
  27488. // NOTE: there is actually a name collision here with Subscriber.next and Iterator.next
  27489. // this is legit because `next()` will never be called by a subscription in this case.
  27490. ZipBufferIterator.prototype.next = function () {
  27491. var buffer = this.buffer;
  27492. if (buffer.length === 0 && this.isComplete) {
  27493. return { value: null, done: true };
  27494. }
  27495. else {
  27496. return { value: buffer.shift(), done: false };
  27497. }
  27498. };
  27499. ZipBufferIterator.prototype.hasValue = function () {
  27500. return this.buffer.length > 0;
  27501. };
  27502. ZipBufferIterator.prototype.hasCompleted = function () {
  27503. return this.buffer.length === 0 && this.isComplete;
  27504. };
  27505. ZipBufferIterator.prototype.notifyComplete = function () {
  27506. if (this.buffer.length > 0) {
  27507. this.isComplete = true;
  27508. this.parent.notifyInactive();
  27509. }
  27510. else {
  27511. this.destination.complete();
  27512. }
  27513. };
  27514. ZipBufferIterator.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  27515. this.buffer.push(innerValue);
  27516. this.parent.checkIterators();
  27517. };
  27518. ZipBufferIterator.prototype.subscribe = function (value, index) {
  27519. return subscribeToResult_1.subscribeToResult(this, this.observable, this, index);
  27520. };
  27521. return ZipBufferIterator;
  27522. }(OuterSubscriber_1.OuterSubscriber));
  27523. //# sourceMappingURL=zip.js.map
  27524. /***/ },
  27525. /* 265 */
  27526. /***/ function(module, exports) {
  27527. "use strict";
  27528. "use strict";
  27529. var __extends = (this && this.__extends) || function (d, b) {
  27530. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  27531. function __() { this.constructor = d; }
  27532. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  27533. };
  27534. /**
  27535. * An error thrown when an action is invalid because the object has been
  27536. * unsubscribed.
  27537. *
  27538. * @see {@link Subject}
  27539. * @see {@link BehaviorSubject}
  27540. *
  27541. * @class ObjectUnsubscribedError
  27542. */
  27543. var ObjectUnsubscribedError = (function (_super) {
  27544. __extends(ObjectUnsubscribedError, _super);
  27545. function ObjectUnsubscribedError() {
  27546. var err = _super.call(this, 'object unsubscribed');
  27547. this.name = err.name = 'ObjectUnsubscribedError';
  27548. this.stack = err.stack;
  27549. this.message = err.message;
  27550. }
  27551. return ObjectUnsubscribedError;
  27552. }(Error));
  27553. exports.ObjectUnsubscribedError = ObjectUnsubscribedError;
  27554. //# sourceMappingURL=ObjectUnsubscribedError.js.map
  27555. /***/ },
  27556. /* 266 */
  27557. /***/ function(module, exports) {
  27558. "use strict";
  27559. "use strict";
  27560. function isFunction(x) {
  27561. return typeof x === 'function';
  27562. }
  27563. exports.isFunction = isFunction;
  27564. //# sourceMappingURL=isFunction.js.map
  27565. /***/ },
  27566. /* 267 */
  27567. /***/ function(module, exports, __webpack_require__) {
  27568. "use strict";
  27569. "use strict";
  27570. var isArray_1 = __webpack_require__(48);
  27571. function isNumeric(val) {
  27572. // parseFloat NaNs numeric-cast false positives (null|true|false|"")
  27573. // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
  27574. // subtraction forces infinities to NaN
  27575. // adding 1 corrects loss of precision from parseFloat (#15100)
  27576. return !isArray_1.isArray(val) && (val - parseFloat(val) + 1) >= 0;
  27577. }
  27578. exports.isNumeric = isNumeric;
  27579. ;
  27580. //# sourceMappingURL=isNumeric.js.map
  27581. /***/ },
  27582. /* 268 */
  27583. /***/ function(module, exports) {
  27584. function webpackEmptyContext(req) {
  27585. throw new Error("Cannot find module '" + req + "'.");
  27586. }
  27587. webpackEmptyContext.keys = function() { return []; };
  27588. webpackEmptyContext.resolve = webpackEmptyContext;
  27589. module.exports = webpackEmptyContext;
  27590. webpackEmptyContext.id = 268;
  27591. /***/ },
  27592. /* 269 */
  27593. /***/ function(module, exports, __webpack_require__) {
  27594. "use strict";
  27595. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ng_class__ = __webpack_require__(427);
  27596. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ng_for__ = __webpack_require__(428);
  27597. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ng_if__ = __webpack_require__(429);
  27598. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ng_plural__ = __webpack_require__(430);
  27599. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__ng_style__ = __webpack_require__(431);
  27600. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ng_switch__ = __webpack_require__(270);
  27601. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ng_template_outlet__ = __webpack_require__(432);
  27602. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return COMMON_DIRECTIVES; });
  27603. /**
  27604. * @license
  27605. * Copyright Google Inc. All Rights Reserved.
  27606. *
  27607. * Use of this source code is governed by an MIT-style license that can be
  27608. * found in the LICENSE file at https://angular.io/license
  27609. */
  27610. /* harmony reexport (binding) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_0__ng_class__["a"]; });
  27611. /* harmony reexport (binding) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_1__ng_for__["a"]; });
  27612. /* harmony reexport (binding) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_2__ng_if__["a"]; });
  27613. /* harmony reexport (binding) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_3__ng_plural__["a"]; });
  27614. /* harmony reexport (binding) */ __webpack_require__.d(exports, "f", function() { return __WEBPACK_IMPORTED_MODULE_3__ng_plural__["b"]; });
  27615. /* harmony reexport (binding) */ __webpack_require__.d(exports, "g", function() { return __WEBPACK_IMPORTED_MODULE_4__ng_style__["a"]; });
  27616. /* harmony reexport (binding) */ __webpack_require__.d(exports, "h", function() { return __WEBPACK_IMPORTED_MODULE_5__ng_switch__["b"]; });
  27617. /* harmony reexport (binding) */ __webpack_require__.d(exports, "i", function() { return __WEBPACK_IMPORTED_MODULE_5__ng_switch__["c"]; });
  27618. /* harmony reexport (binding) */ __webpack_require__.d(exports, "j", function() { return __WEBPACK_IMPORTED_MODULE_5__ng_switch__["d"]; });
  27619. /* harmony reexport (binding) */ __webpack_require__.d(exports, "k", function() { return __WEBPACK_IMPORTED_MODULE_6__ng_template_outlet__["a"]; });
  27620. /**
  27621. * A collection of Angular directives that are likely to be used in each and every Angular
  27622. * application.
  27623. */
  27624. var COMMON_DIRECTIVES = [
  27625. __WEBPACK_IMPORTED_MODULE_0__ng_class__["a" /* NgClass */],
  27626. __WEBPACK_IMPORTED_MODULE_1__ng_for__["a" /* NgFor */],
  27627. __WEBPACK_IMPORTED_MODULE_2__ng_if__["a" /* NgIf */],
  27628. __WEBPACK_IMPORTED_MODULE_6__ng_template_outlet__["a" /* NgTemplateOutlet */],
  27629. __WEBPACK_IMPORTED_MODULE_4__ng_style__["a" /* NgStyle */],
  27630. __WEBPACK_IMPORTED_MODULE_5__ng_switch__["b" /* NgSwitch */],
  27631. __WEBPACK_IMPORTED_MODULE_5__ng_switch__["c" /* NgSwitchCase */],
  27632. __WEBPACK_IMPORTED_MODULE_5__ng_switch__["d" /* NgSwitchDefault */],
  27633. __WEBPACK_IMPORTED_MODULE_3__ng_plural__["a" /* NgPlural */],
  27634. __WEBPACK_IMPORTED_MODULE_3__ng_plural__["b" /* NgPluralCase */],
  27635. ];
  27636. //# sourceMappingURL=index.js.map
  27637. /***/ },
  27638. /* 270 */
  27639. /***/ function(module, exports, __webpack_require__) {
  27640. "use strict";
  27641. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  27642. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(271);
  27643. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return SwitchView; });
  27644. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return NgSwitch; });
  27645. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return NgSwitchCase; });
  27646. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return NgSwitchDefault; });
  27647. /**
  27648. * @license
  27649. * Copyright Google Inc. All Rights Reserved.
  27650. *
  27651. * Use of this source code is governed by an MIT-style license that can be
  27652. * found in the LICENSE file at https://angular.io/license
  27653. */
  27654. var _CASE_DEFAULT = new Object();
  27655. var SwitchView = (function () {
  27656. function SwitchView(_viewContainerRef, _templateRef) {
  27657. this._viewContainerRef = _viewContainerRef;
  27658. this._templateRef = _templateRef;
  27659. }
  27660. SwitchView.prototype.create = function () { this._viewContainerRef.createEmbeddedView(this._templateRef); };
  27661. SwitchView.prototype.destroy = function () { this._viewContainerRef.clear(); };
  27662. return SwitchView;
  27663. }());
  27664. /**
  27665. * @ngModule CommonModule
  27666. *
  27667. * @whatItDoes Adds / removes DOM sub-trees when the nest match expressions matches the switch
  27668. * expression.
  27669. *
  27670. * @howToUse
  27671. * ```
  27672. * <container-element [ngSwitch]="switch_expression">
  27673. * <some-element *ngSwitchCase="match_expression_1">...</some-element>
  27674. * <some-element *ngSwitchCase="match_expression_2">...</some-element>
  27675. * <some-other-element *ngSwitchCase="match_expression_3">...</some-other-element>
  27676. * <ng-container *ngSwitchCase="match_expression_3">
  27677. * <!-- use a ng-container to group multiple root node -->
  27678. * <inner-element></inner-element>
  27679. * <inner-other-element></inner-other-element>
  27680. * </ng-container>
  27681. * <some-element *ngSwitchDefault>...</p>
  27682. * </container-element>
  27683. * ```
  27684. * @description
  27685. *
  27686. * `NgSwitch` stamps out nested views when their match expression value matches the value of the
  27687. * switch expression.
  27688. *
  27689. * In other words:
  27690. * - you define a container element (where you place the directive with a switch expression on the
  27691. * `[ngSwitch]="..."` attribute)
  27692. * - you define inner views inside the `NgSwitch` and place a `*ngSwitchCase` attribute on the view
  27693. * root elements.
  27694. *
  27695. * Elements within `NgSwitch` but outside of a `NgSwitchCase` or `NgSwitchDefault` directives will
  27696. * be
  27697. * preserved at the location.
  27698. *
  27699. * The `ngSwitchCase` directive informs the parent `NgSwitch` of which view to display when the
  27700. * expression is evaluated.
  27701. * When no matching expression is found on a `ngSwitchCase` view, the `ngSwitchDefault` view is
  27702. * stamped out.
  27703. *
  27704. * @stable
  27705. */
  27706. var NgSwitch = (function () {
  27707. function NgSwitch() {
  27708. this._useDefault = false;
  27709. this._valueViews = new Map();
  27710. this._activeViews = [];
  27711. }
  27712. Object.defineProperty(NgSwitch.prototype, "ngSwitch", {
  27713. set: function (value) {
  27714. // Empty the currently active ViewContainers
  27715. this._emptyAllActiveViews();
  27716. // Add the ViewContainers matching the value (with a fallback to default)
  27717. this._useDefault = false;
  27718. var views = this._valueViews.get(value);
  27719. if (!views) {
  27720. this._useDefault = true;
  27721. views = this._valueViews.get(_CASE_DEFAULT) || null;
  27722. }
  27723. this._activateViews(views);
  27724. this._switchValue = value;
  27725. },
  27726. enumerable: true,
  27727. configurable: true
  27728. });
  27729. /** @internal */
  27730. NgSwitch.prototype._onCaseValueChanged = function (oldCase, newCase, view) {
  27731. this._deregisterView(oldCase, view);
  27732. this._registerView(newCase, view);
  27733. if (oldCase === this._switchValue) {
  27734. view.destroy();
  27735. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* ListWrapper */].remove(this._activeViews, view);
  27736. }
  27737. else if (newCase === this._switchValue) {
  27738. if (this._useDefault) {
  27739. this._useDefault = false;
  27740. this._emptyAllActiveViews();
  27741. }
  27742. view.create();
  27743. this._activeViews.push(view);
  27744. }
  27745. // Switch to default when there is no more active ViewContainers
  27746. if (this._activeViews.length === 0 && !this._useDefault) {
  27747. this._useDefault = true;
  27748. this._activateViews(this._valueViews.get(_CASE_DEFAULT));
  27749. }
  27750. };
  27751. NgSwitch.prototype._emptyAllActiveViews = function () {
  27752. var activeContainers = this._activeViews;
  27753. for (var i = 0; i < activeContainers.length; i++) {
  27754. activeContainers[i].destroy();
  27755. }
  27756. this._activeViews = [];
  27757. };
  27758. NgSwitch.prototype._activateViews = function (views) {
  27759. if (views) {
  27760. for (var i = 0; i < views.length; i++) {
  27761. views[i].create();
  27762. }
  27763. this._activeViews = views;
  27764. }
  27765. };
  27766. /** @internal */
  27767. NgSwitch.prototype._registerView = function (value, view) {
  27768. var views = this._valueViews.get(value);
  27769. if (!views) {
  27770. views = [];
  27771. this._valueViews.set(value, views);
  27772. }
  27773. views.push(view);
  27774. };
  27775. NgSwitch.prototype._deregisterView = function (value, view) {
  27776. // `_CASE_DEFAULT` is used a marker for non-registered cases
  27777. if (value === _CASE_DEFAULT)
  27778. return;
  27779. var views = this._valueViews.get(value);
  27780. if (views.length == 1) {
  27781. this._valueViews.delete(value);
  27782. }
  27783. else {
  27784. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* ListWrapper */].remove(views, view);
  27785. }
  27786. };
  27787. NgSwitch.decorators = [
  27788. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"], args: [{ selector: '[ngSwitch]' },] },
  27789. ];
  27790. /** @nocollapse */
  27791. NgSwitch.ctorParameters = [];
  27792. NgSwitch.propDecorators = {
  27793. 'ngSwitch': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"] },],
  27794. };
  27795. return NgSwitch;
  27796. }());
  27797. /**
  27798. * @ngModule CommonModule
  27799. *
  27800. * @whatItDoes Creates a view that will be added/removed from the parent {@link NgSwitch} when the
  27801. * given expression evaluate to respectively the same/different value as the switch
  27802. * expression.
  27803. *
  27804. * @howToUse
  27805. * ```
  27806. * <container-element [ngSwitch]="switch_expression">
  27807. * <some-element *ngSwitchCase="match_expression_1">...</some-element>
  27808. * </container-element>
  27809. *```
  27810. * @description
  27811. *
  27812. * Insert the sub-tree when the expression evaluates to the same value as the enclosing switch
  27813. * expression.
  27814. *
  27815. * If multiple match expressions match the switch expression value, all of them are displayed.
  27816. *
  27817. * See {@link NgSwitch} for more details and example.
  27818. *
  27819. * @stable
  27820. */
  27821. var NgSwitchCase = (function () {
  27822. function NgSwitchCase(viewContainer, templateRef, ngSwitch) {
  27823. // `_CASE_DEFAULT` is used as a marker for a not yet initialized value
  27824. this._value = _CASE_DEFAULT;
  27825. this._switch = ngSwitch;
  27826. this._view = new SwitchView(viewContainer, templateRef);
  27827. }
  27828. Object.defineProperty(NgSwitchCase.prototype, "ngSwitchCase", {
  27829. set: function (value) {
  27830. this._switch._onCaseValueChanged(this._value, value, this._view);
  27831. this._value = value;
  27832. },
  27833. enumerable: true,
  27834. configurable: true
  27835. });
  27836. NgSwitchCase.decorators = [
  27837. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"], args: [{ selector: '[ngSwitchCase]' },] },
  27838. ];
  27839. /** @nocollapse */
  27840. NgSwitchCase.ctorParameters = [
  27841. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewContainerRef"], },
  27842. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["TemplateRef"], },
  27843. { type: NgSwitch, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Host"] },] },
  27844. ];
  27845. NgSwitchCase.propDecorators = {
  27846. 'ngSwitchCase': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"] },],
  27847. };
  27848. return NgSwitchCase;
  27849. }());
  27850. /**
  27851. * @ngModule CommonModule
  27852. * @whatItDoes Creates a view that is added to the parent {@link NgSwitch} when no case expressions
  27853. * match the
  27854. * switch expression.
  27855. *
  27856. * @howToUse
  27857. * ```
  27858. * <container-element [ngSwitch]="switch_expression">
  27859. * <some-element *ngSwitchCase="match_expression_1">...</some-element>
  27860. * <some-other-element *ngSwitchDefault>...</some-other-element>
  27861. * </container-element>
  27862. * ```
  27863. *
  27864. * @description
  27865. *
  27866. * Insert the sub-tree when no case expressions evaluate to the same value as the enclosing switch
  27867. * expression.
  27868. *
  27869. * See {@link NgSwitch} for more details and example.
  27870. *
  27871. * @stable
  27872. */
  27873. var NgSwitchDefault = (function () {
  27874. function NgSwitchDefault(viewContainer, templateRef, sswitch) {
  27875. sswitch._registerView(_CASE_DEFAULT, new SwitchView(viewContainer, templateRef));
  27876. }
  27877. NgSwitchDefault.decorators = [
  27878. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"], args: [{ selector: '[ngSwitchDefault]' },] },
  27879. ];
  27880. /** @nocollapse */
  27881. NgSwitchDefault.ctorParameters = [
  27882. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewContainerRef"], },
  27883. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["TemplateRef"], },
  27884. { type: NgSwitch, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Host"] },] },
  27885. ];
  27886. return NgSwitchDefault;
  27887. }());
  27888. //# sourceMappingURL=ng_switch.js.map
  27889. /***/ },
  27890. /* 271 */
  27891. /***/ function(module, exports, __webpack_require__) {
  27892. "use strict";
  27893. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lang__ = __webpack_require__(28);
  27894. /* unused harmony export MapWrapper */
  27895. /* unused harmony export StringMapWrapper */
  27896. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return ListWrapper; });
  27897. /* harmony export (immutable) */ exports["a"] = isListLikeIterable;
  27898. /* unused harmony export areIterablesEqual */
  27899. /* unused harmony export iterateListLike */
  27900. /* unused harmony export SetWrapper */
  27901. /**
  27902. * @license
  27903. * Copyright Google Inc. All Rights Reserved.
  27904. *
  27905. * Use of this source code is governed by an MIT-style license that can be
  27906. * found in the LICENSE file at https://angular.io/license
  27907. */
  27908. // Safari and Internet Explorer do not support the iterable parameter to the
  27909. // Map constructor. We work around that by manually adding the items.
  27910. var createMapFromPairs = (function () {
  27911. try {
  27912. if (new Map([[1, 2]]).size === 1) {
  27913. return function createMapFromPairs(pairs) { return new Map(pairs); };
  27914. }
  27915. }
  27916. catch (e) {
  27917. }
  27918. return function createMapAndPopulateFromPairs(pairs) {
  27919. var map = new Map();
  27920. for (var i = 0; i < pairs.length; i++) {
  27921. var pair = pairs[i];
  27922. map.set(pair[0], pair[1]);
  27923. }
  27924. return map;
  27925. };
  27926. })();
  27927. var createMapFromMap = (function () {
  27928. try {
  27929. if (new Map(new Map())) {
  27930. return function createMapFromMap(m) { return new Map(m); };
  27931. }
  27932. }
  27933. catch (e) {
  27934. }
  27935. return function createMapAndPopulateFromMap(m) {
  27936. var map = new Map();
  27937. m.forEach(function (v, k) { map.set(k, v); });
  27938. return map;
  27939. };
  27940. })();
  27941. var _clearValues = (function () {
  27942. if ((new Map()).keys().next) {
  27943. return function _clearValues(m) {
  27944. var keyIterator = m.keys();
  27945. var k;
  27946. while (!((k = keyIterator.next()).done)) {
  27947. m.set(k.value, null);
  27948. }
  27949. };
  27950. }
  27951. else {
  27952. return function _clearValuesWithForeEach(m) {
  27953. m.forEach(function (v, k) { m.set(k, null); });
  27954. };
  27955. }
  27956. })();
  27957. // Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from
  27958. // TODO(mlaval): remove the work around once we have a working polyfill of Array.from
  27959. var _arrayFromMap = (function () {
  27960. try {
  27961. if ((new Map()).values().next) {
  27962. return function createArrayFromMap(m, getValues) {
  27963. return getValues ? Array.from(m.values()) : Array.from(m.keys());
  27964. };
  27965. }
  27966. }
  27967. catch (e) {
  27968. }
  27969. return function createArrayFromMapWithForeach(m, getValues) {
  27970. var res = new Array(m.size), i = 0;
  27971. m.forEach(function (v, k) {
  27972. res[i] = getValues ? v : k;
  27973. i++;
  27974. });
  27975. return res;
  27976. };
  27977. })();
  27978. var MapWrapper = (function () {
  27979. function MapWrapper() {
  27980. }
  27981. MapWrapper.createFromStringMap = function (stringMap) {
  27982. var result = new Map();
  27983. for (var prop in stringMap) {
  27984. result.set(prop, stringMap[prop]);
  27985. }
  27986. return result;
  27987. };
  27988. MapWrapper.toStringMap = function (m) {
  27989. var r = {};
  27990. m.forEach(function (v, k) { return r[k] = v; });
  27991. return r;
  27992. };
  27993. MapWrapper.createFromPairs = function (pairs) { return createMapFromPairs(pairs); };
  27994. MapWrapper.iterable = function (m) { return m; };
  27995. MapWrapper.keys = function (m) { return _arrayFromMap(m, false); };
  27996. MapWrapper.values = function (m) { return _arrayFromMap(m, true); };
  27997. return MapWrapper;
  27998. }());
  27999. /**
  28000. * Wraps Javascript Objects
  28001. */
  28002. var StringMapWrapper = (function () {
  28003. function StringMapWrapper() {
  28004. }
  28005. StringMapWrapper.get = function (map, key) {
  28006. return map.hasOwnProperty(key) ? map[key] : undefined;
  28007. };
  28008. StringMapWrapper.set = function (map, key, value) { map[key] = value; };
  28009. StringMapWrapper.keys = function (map) { return Object.keys(map); };
  28010. StringMapWrapper.values = function (map) {
  28011. return Object.keys(map).map(function (k) { return map[k]; });
  28012. };
  28013. StringMapWrapper.isEmpty = function (map) {
  28014. for (var prop in map) {
  28015. return false;
  28016. }
  28017. return true;
  28018. };
  28019. StringMapWrapper.forEach = function (map, callback) {
  28020. for (var _i = 0, _a = Object.keys(map); _i < _a.length; _i++) {
  28021. var k = _a[_i];
  28022. callback(map[k], k);
  28023. }
  28024. };
  28025. StringMapWrapper.merge = function (m1, m2) {
  28026. var m = {};
  28027. for (var _i = 0, _a = Object.keys(m1); _i < _a.length; _i++) {
  28028. var k = _a[_i];
  28029. m[k] = m1[k];
  28030. }
  28031. for (var _b = 0, _c = Object.keys(m2); _b < _c.length; _b++) {
  28032. var k = _c[_b];
  28033. m[k] = m2[k];
  28034. }
  28035. return m;
  28036. };
  28037. StringMapWrapper.equals = function (m1, m2) {
  28038. var k1 = Object.keys(m1);
  28039. var k2 = Object.keys(m2);
  28040. if (k1.length != k2.length) {
  28041. return false;
  28042. }
  28043. for (var i = 0; i < k1.length; i++) {
  28044. var key = k1[i];
  28045. if (m1[key] !== m2[key]) {
  28046. return false;
  28047. }
  28048. }
  28049. return true;
  28050. };
  28051. return StringMapWrapper;
  28052. }());
  28053. var ListWrapper = (function () {
  28054. function ListWrapper() {
  28055. }
  28056. // JS has no way to express a statically fixed size list, but dart does so we
  28057. // keep both methods.
  28058. ListWrapper.createFixedSize = function (size) { return new Array(size); };
  28059. ListWrapper.createGrowableSize = function (size) { return new Array(size); };
  28060. ListWrapper.clone = function (array) { return array.slice(0); };
  28061. ListWrapper.forEachWithIndex = function (array, fn) {
  28062. for (var i = 0; i < array.length; i++) {
  28063. fn(array[i], i);
  28064. }
  28065. };
  28066. ListWrapper.first = function (array) {
  28067. if (!array)
  28068. return null;
  28069. return array[0];
  28070. };
  28071. ListWrapper.last = function (array) {
  28072. if (!array || array.length == 0)
  28073. return null;
  28074. return array[array.length - 1];
  28075. };
  28076. ListWrapper.indexOf = function (array, value, startIndex) {
  28077. if (startIndex === void 0) { startIndex = 0; }
  28078. return array.indexOf(value, startIndex);
  28079. };
  28080. ListWrapper.contains = function (list, el) { return list.indexOf(el) !== -1; };
  28081. ListWrapper.reversed = function (array) {
  28082. var a = ListWrapper.clone(array);
  28083. return a.reverse();
  28084. };
  28085. ListWrapper.concat = function (a, b) { return a.concat(b); };
  28086. ListWrapper.insert = function (list, index, value) { list.splice(index, 0, value); };
  28087. ListWrapper.removeAt = function (list, index) {
  28088. var res = list[index];
  28089. list.splice(index, 1);
  28090. return res;
  28091. };
  28092. ListWrapper.removeAll = function (list, items) {
  28093. for (var i = 0; i < items.length; ++i) {
  28094. var index = list.indexOf(items[i]);
  28095. list.splice(index, 1);
  28096. }
  28097. };
  28098. ListWrapper.remove = function (list, el) {
  28099. var index = list.indexOf(el);
  28100. if (index > -1) {
  28101. list.splice(index, 1);
  28102. return true;
  28103. }
  28104. return false;
  28105. };
  28106. ListWrapper.clear = function (list) { list.length = 0; };
  28107. ListWrapper.isEmpty = function (list) { return list.length == 0; };
  28108. ListWrapper.fill = function (list, value, start, end) {
  28109. if (start === void 0) { start = 0; }
  28110. if (end === void 0) { end = null; }
  28111. list.fill(value, start, end === null ? list.length : end);
  28112. };
  28113. ListWrapper.equals = function (a, b) {
  28114. if (a.length != b.length)
  28115. return false;
  28116. for (var i = 0; i < a.length; ++i) {
  28117. if (a[i] !== b[i])
  28118. return false;
  28119. }
  28120. return true;
  28121. };
  28122. ListWrapper.slice = function (l, from, to) {
  28123. if (from === void 0) { from = 0; }
  28124. if (to === void 0) { to = null; }
  28125. return l.slice(from, to === null ? undefined : to);
  28126. };
  28127. ListWrapper.splice = function (l, from, length) { return l.splice(from, length); };
  28128. ListWrapper.sort = function (l, compareFn) {
  28129. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["a" /* isPresent */])(compareFn)) {
  28130. l.sort(compareFn);
  28131. }
  28132. else {
  28133. l.sort();
  28134. }
  28135. };
  28136. ListWrapper.toString = function (l) { return l.toString(); };
  28137. ListWrapper.toJSON = function (l) { return JSON.stringify(l); };
  28138. ListWrapper.maximum = function (list, predicate) {
  28139. if (list.length == 0) {
  28140. return null;
  28141. }
  28142. var solution = null;
  28143. var maxValue = -Infinity;
  28144. for (var index = 0; index < list.length; index++) {
  28145. var candidate = list[index];
  28146. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["b" /* isBlank */])(candidate)) {
  28147. continue;
  28148. }
  28149. var candidateValue = predicate(candidate);
  28150. if (candidateValue > maxValue) {
  28151. solution = candidate;
  28152. maxValue = candidateValue;
  28153. }
  28154. }
  28155. return solution;
  28156. };
  28157. ListWrapper.flatten = function (list) {
  28158. var target = [];
  28159. _flattenArray(list, target);
  28160. return target;
  28161. };
  28162. ListWrapper.addAll = function (list, source) {
  28163. for (var i = 0; i < source.length; i++) {
  28164. list.push(source[i]);
  28165. }
  28166. };
  28167. return ListWrapper;
  28168. }());
  28169. function _flattenArray(source, target) {
  28170. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["a" /* isPresent */])(source)) {
  28171. for (var i = 0; i < source.length; i++) {
  28172. var item = source[i];
  28173. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["c" /* isArray */])(item)) {
  28174. _flattenArray(item, target);
  28175. }
  28176. else {
  28177. target.push(item);
  28178. }
  28179. }
  28180. }
  28181. return target;
  28182. }
  28183. function isListLikeIterable(obj) {
  28184. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["d" /* isJsObject */])(obj))
  28185. return false;
  28186. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["c" /* isArray */])(obj) ||
  28187. (!(obj instanceof Map) &&
  28188. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])() in obj); // JS Iterable have a Symbol.iterator prop
  28189. }
  28190. function areIterablesEqual(a, b, comparator) {
  28191. var iterator1 = a[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])()]();
  28192. var iterator2 = b[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])()]();
  28193. while (true) {
  28194. var item1 = iterator1.next();
  28195. var item2 = iterator2.next();
  28196. if (item1.done && item2.done)
  28197. return true;
  28198. if (item1.done || item2.done)
  28199. return false;
  28200. if (!comparator(item1.value, item2.value))
  28201. return false;
  28202. }
  28203. }
  28204. function iterateListLike(obj, fn) {
  28205. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["c" /* isArray */])(obj)) {
  28206. for (var i = 0; i < obj.length; i++) {
  28207. fn(obj[i]);
  28208. }
  28209. }
  28210. else {
  28211. var iterator = obj[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])()]();
  28212. var item;
  28213. while (!((item = iterator.next()).done)) {
  28214. fn(item.value);
  28215. }
  28216. }
  28217. }
  28218. // Safari and Internet Explorer do not support the iterable parameter to the
  28219. // Set constructor. We work around that by manually adding the items.
  28220. var createSetFromList = (function () {
  28221. var test = new Set([1, 2, 3]);
  28222. if (test.size === 3) {
  28223. return function createSetFromList(lst) { return new Set(lst); };
  28224. }
  28225. else {
  28226. return function createSetAndPopulateFromList(lst) {
  28227. var res = new Set(lst);
  28228. if (res.size !== lst.length) {
  28229. for (var i = 0; i < lst.length; i++) {
  28230. res.add(lst[i]);
  28231. }
  28232. }
  28233. return res;
  28234. };
  28235. }
  28236. })();
  28237. var SetWrapper = (function () {
  28238. function SetWrapper() {
  28239. }
  28240. SetWrapper.createFromList = function (lst) { return createSetFromList(lst); };
  28241. SetWrapper.has = function (s, key) { return s.has(key); };
  28242. SetWrapper.delete = function (m, k) { m.delete(k); };
  28243. return SetWrapper;
  28244. }());
  28245. //# sourceMappingURL=collection.js.map
  28246. /***/ },
  28247. /* 272 */
  28248. /***/ function(module, exports, __webpack_require__) {
  28249. "use strict";
  28250. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return NumberFormatStyle; });
  28251. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return NumberFormatter; });
  28252. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DateFormatter; });
  28253. /**
  28254. * @license
  28255. * Copyright Google Inc. All Rights Reserved.
  28256. *
  28257. * Use of this source code is governed by an MIT-style license that can be
  28258. * found in the LICENSE file at https://angular.io/license
  28259. */
  28260. var NumberFormatStyle;
  28261. (function (NumberFormatStyle) {
  28262. NumberFormatStyle[NumberFormatStyle["Decimal"] = 0] = "Decimal";
  28263. NumberFormatStyle[NumberFormatStyle["Percent"] = 1] = "Percent";
  28264. NumberFormatStyle[NumberFormatStyle["Currency"] = 2] = "Currency";
  28265. })(NumberFormatStyle || (NumberFormatStyle = {}));
  28266. var NumberFormatter = (function () {
  28267. function NumberFormatter() {
  28268. }
  28269. NumberFormatter.format = function (num, locale, style, _a) {
  28270. var _b = _a === void 0 ? {} : _a, minimumIntegerDigits = _b.minimumIntegerDigits, minimumFractionDigits = _b.minimumFractionDigits, maximumFractionDigits = _b.maximumFractionDigits, currency = _b.currency, _c = _b.currencyAsSymbol, currencyAsSymbol = _c === void 0 ? false : _c;
  28271. var options = {
  28272. minimumIntegerDigits: minimumIntegerDigits,
  28273. minimumFractionDigits: minimumFractionDigits,
  28274. maximumFractionDigits: maximumFractionDigits,
  28275. style: NumberFormatStyle[style].toLowerCase()
  28276. };
  28277. if (style == NumberFormatStyle.Currency) {
  28278. options.currency = currency;
  28279. options.currencyDisplay = currencyAsSymbol ? 'symbol' : 'code';
  28280. }
  28281. return new Intl.NumberFormat(locale, options).format(num);
  28282. };
  28283. return NumberFormatter;
  28284. }());
  28285. var DATE_FORMATS_SPLIT = /((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/;
  28286. var PATTERN_ALIASES = {
  28287. yMMMdjms: datePartGetterFactory(combine([
  28288. digitCondition('year', 1),
  28289. nameCondition('month', 3),
  28290. digitCondition('day', 1),
  28291. digitCondition('hour', 1),
  28292. digitCondition('minute', 1),
  28293. digitCondition('second', 1),
  28294. ])),
  28295. yMdjm: datePartGetterFactory(combine([
  28296. digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1),
  28297. digitCondition('hour', 1), digitCondition('minute', 1)
  28298. ])),
  28299. yMMMMEEEEd: datePartGetterFactory(combine([
  28300. digitCondition('year', 1), nameCondition('month', 4), nameCondition('weekday', 4),
  28301. digitCondition('day', 1)
  28302. ])),
  28303. yMMMMd: datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 4), digitCondition('day', 1)])),
  28304. yMMMd: datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 3), digitCondition('day', 1)])),
  28305. yMd: datePartGetterFactory(combine([digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1)])),
  28306. jms: datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('second', 1), digitCondition('minute', 1)])),
  28307. jm: datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('minute', 1)]))
  28308. };
  28309. var DATE_FORMATS = {
  28310. yyyy: datePartGetterFactory(digitCondition('year', 4)),
  28311. yy: datePartGetterFactory(digitCondition('year', 2)),
  28312. y: datePartGetterFactory(digitCondition('year', 1)),
  28313. MMMM: datePartGetterFactory(nameCondition('month', 4)),
  28314. MMM: datePartGetterFactory(nameCondition('month', 3)),
  28315. MM: datePartGetterFactory(digitCondition('month', 2)),
  28316. M: datePartGetterFactory(digitCondition('month', 1)),
  28317. LLLL: datePartGetterFactory(nameCondition('month', 4)),
  28318. dd: datePartGetterFactory(digitCondition('day', 2)),
  28319. d: datePartGetterFactory(digitCondition('day', 1)),
  28320. HH: digitModifier(hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 2), false)))),
  28321. H: hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), false))),
  28322. hh: digitModifier(hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 2), true)))),
  28323. h: hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), true))),
  28324. jj: datePartGetterFactory(digitCondition('hour', 2)),
  28325. j: datePartGetterFactory(digitCondition('hour', 1)),
  28326. mm: digitModifier(datePartGetterFactory(digitCondition('minute', 2))),
  28327. m: datePartGetterFactory(digitCondition('minute', 1)),
  28328. ss: digitModifier(datePartGetterFactory(digitCondition('second', 2))),
  28329. s: datePartGetterFactory(digitCondition('second', 1)),
  28330. // while ISO 8601 requires fractions to be prefixed with `.` or `,`
  28331. // we can be just safely rely on using `sss` since we currently don't support single or two digit
  28332. // fractions
  28333. sss: datePartGetterFactory(digitCondition('second', 3)),
  28334. EEEE: datePartGetterFactory(nameCondition('weekday', 4)),
  28335. EEE: datePartGetterFactory(nameCondition('weekday', 3)),
  28336. EE: datePartGetterFactory(nameCondition('weekday', 2)),
  28337. E: datePartGetterFactory(nameCondition('weekday', 1)),
  28338. a: hourClockExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), true))),
  28339. Z: timeZoneGetter('short'),
  28340. z: timeZoneGetter('long'),
  28341. ww: datePartGetterFactory({}),
  28342. // first Thursday of the year. not support ?
  28343. w: datePartGetterFactory({}),
  28344. // of the year not support ?
  28345. G: datePartGetterFactory(nameCondition('era', 1)),
  28346. GG: datePartGetterFactory(nameCondition('era', 2)),
  28347. GGG: datePartGetterFactory(nameCondition('era', 3)),
  28348. GGGG: datePartGetterFactory(nameCondition('era', 4))
  28349. };
  28350. function digitModifier(inner) {
  28351. return function (date, locale) {
  28352. var result = inner(date, locale);
  28353. return result.length == 1 ? '0' + result : result;
  28354. };
  28355. }
  28356. function hourClockExtracter(inner) {
  28357. return function (date, locale) {
  28358. var result = inner(date, locale);
  28359. return result.split(' ')[1];
  28360. };
  28361. }
  28362. function hourExtracter(inner) {
  28363. return function (date, locale) {
  28364. var result = inner(date, locale);
  28365. return result.split(' ')[0];
  28366. };
  28367. }
  28368. function intlDateFormat(date, locale, options) {
  28369. return new Intl.DateTimeFormat(locale, options).format(date).replace(/[\u200e\u200f]/g, '');
  28370. }
  28371. function timeZoneGetter(timezone) {
  28372. // To workaround `Intl` API restriction for single timezone let format with 24 hours
  28373. var options = { hour: '2-digit', hour12: false, timeZoneName: timezone };
  28374. return function (date, locale) {
  28375. var result = intlDateFormat(date, locale, options);
  28376. // Then extract first 3 letters that related to hours
  28377. return result ? result.substring(3) : '';
  28378. };
  28379. }
  28380. function hour12Modify(options, value) {
  28381. options.hour12 = value;
  28382. return options;
  28383. }
  28384. function digitCondition(prop, len) {
  28385. var result = {};
  28386. result[prop] = len == 2 ? '2-digit' : 'numeric';
  28387. return result;
  28388. }
  28389. function nameCondition(prop, len) {
  28390. var result = {};
  28391. result[prop] = len < 4 ? 'short' : 'long';
  28392. return result;
  28393. }
  28394. function combine(options) {
  28395. var result = {};
  28396. options.forEach(function (option) { Object.assign(result, option); });
  28397. return result;
  28398. }
  28399. function datePartGetterFactory(ret) {
  28400. return function (date, locale) { return intlDateFormat(date, locale, ret); };
  28401. }
  28402. var datePartsFormatterCache = new Map();
  28403. function dateFormatter(format, date, locale) {
  28404. var text = '';
  28405. var match;
  28406. var fn;
  28407. var parts = [];
  28408. if (PATTERN_ALIASES[format]) {
  28409. return PATTERN_ALIASES[format](date, locale);
  28410. }
  28411. if (datePartsFormatterCache.has(format)) {
  28412. parts = datePartsFormatterCache.get(format);
  28413. }
  28414. else {
  28415. var matches = DATE_FORMATS_SPLIT.exec(format);
  28416. while (format) {
  28417. match = DATE_FORMATS_SPLIT.exec(format);
  28418. if (match) {
  28419. parts = concat(parts, match, 1);
  28420. format = parts.pop();
  28421. }
  28422. else {
  28423. parts.push(format);
  28424. format = null;
  28425. }
  28426. }
  28427. datePartsFormatterCache.set(format, parts);
  28428. }
  28429. parts.forEach(function (part) {
  28430. fn = DATE_FORMATS[part];
  28431. text += fn ? fn(date, locale) :
  28432. part === '\'\'' ? '\'' : part.replace(/(^'|'$)/g, '').replace(/''/g, '\'');
  28433. });
  28434. return text;
  28435. }
  28436. var slice = [].slice;
  28437. function concat(array1 /** TODO #9100 */, array2 /** TODO #9100 */, index /** TODO #9100 */) {
  28438. return array1.concat(slice.call(array2, index));
  28439. }
  28440. var DateFormatter = (function () {
  28441. function DateFormatter() {
  28442. }
  28443. DateFormatter.format = function (date, locale, pattern) {
  28444. return dateFormatter(pattern, date, locale);
  28445. };
  28446. return DateFormatter;
  28447. }());
  28448. //# sourceMappingURL=intl.js.map
  28449. /***/ },
  28450. /* 273 */
  28451. /***/ function(module, exports, __webpack_require__) {
  28452. "use strict";
  28453. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__async_pipe__ = __webpack_require__(437);
  28454. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__date_pipe__ = __webpack_require__(438);
  28455. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__i18n_plural_pipe__ = __webpack_require__(439);
  28456. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__i18n_select_pipe__ = __webpack_require__(440);
  28457. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__json_pipe__ = __webpack_require__(441);
  28458. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__lowercase_pipe__ = __webpack_require__(442);
  28459. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__number_pipe__ = __webpack_require__(443);
  28460. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__slice_pipe__ = __webpack_require__(444);
  28461. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__uppercase_pipe__ = __webpack_require__(445);
  28462. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return COMMON_PIPES; });
  28463. /**
  28464. * @license
  28465. * Copyright Google Inc. All Rights Reserved.
  28466. *
  28467. * Use of this source code is governed by an MIT-style license that can be
  28468. * found in the LICENSE file at https://angular.io/license
  28469. */
  28470. /* harmony reexport (binding) */ __webpack_require__.d(exports, "g", function() { return __WEBPACK_IMPORTED_MODULE_0__async_pipe__["a"]; });
  28471. /* harmony reexport (binding) */ __webpack_require__.d(exports, "h", function() { return __WEBPACK_IMPORTED_MODULE_6__number_pipe__["c"]; });
  28472. /* harmony reexport (binding) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_1__date_pipe__["a"]; });
  28473. /* harmony reexport (binding) */ __webpack_require__.d(exports, "i", function() { return __WEBPACK_IMPORTED_MODULE_6__number_pipe__["a"]; });
  28474. /* harmony reexport (binding) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_2__i18n_plural_pipe__["a"]; });
  28475. /* harmony reexport (binding) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_3__i18n_select_pipe__["a"]; });
  28476. /* harmony reexport (binding) */ __webpack_require__.d(exports, "f", function() { return __WEBPACK_IMPORTED_MODULE_4__json_pipe__["a"]; });
  28477. /* harmony reexport (binding) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_5__lowercase_pipe__["a"]; });
  28478. /* harmony reexport (binding) */ __webpack_require__.d(exports, "j", function() { return __WEBPACK_IMPORTED_MODULE_6__number_pipe__["b"]; });
  28479. /* harmony reexport (binding) */ __webpack_require__.d(exports, "k", function() { return __WEBPACK_IMPORTED_MODULE_7__slice_pipe__["a"]; });
  28480. /* harmony reexport (binding) */ __webpack_require__.d(exports, "l", function() { return __WEBPACK_IMPORTED_MODULE_8__uppercase_pipe__["a"]; });
  28481. /**
  28482. * A collection of Angular pipes that are likely to be used in each and every application.
  28483. */
  28484. var COMMON_PIPES = [
  28485. __WEBPACK_IMPORTED_MODULE_0__async_pipe__["a" /* AsyncPipe */],
  28486. __WEBPACK_IMPORTED_MODULE_8__uppercase_pipe__["a" /* UpperCasePipe */],
  28487. __WEBPACK_IMPORTED_MODULE_5__lowercase_pipe__["a" /* LowerCasePipe */],
  28488. __WEBPACK_IMPORTED_MODULE_4__json_pipe__["a" /* JsonPipe */],
  28489. __WEBPACK_IMPORTED_MODULE_7__slice_pipe__["a" /* SlicePipe */],
  28490. __WEBPACK_IMPORTED_MODULE_6__number_pipe__["a" /* DecimalPipe */],
  28491. __WEBPACK_IMPORTED_MODULE_6__number_pipe__["b" /* PercentPipe */],
  28492. __WEBPACK_IMPORTED_MODULE_6__number_pipe__["c" /* CurrencyPipe */],
  28493. __WEBPACK_IMPORTED_MODULE_1__date_pipe__["a" /* DatePipe */],
  28494. __WEBPACK_IMPORTED_MODULE_2__i18n_plural_pipe__["a" /* I18nPluralPipe */],
  28495. __WEBPACK_IMPORTED_MODULE_3__i18n_select_pipe__["a" /* I18nSelectPipe */],
  28496. ];
  28497. //# sourceMappingURL=index.js.map
  28498. /***/ },
  28499. /* 274 */
  28500. /***/ function(module, exports, __webpack_require__) {
  28501. "use strict";
  28502. /* unused harmony export AnimationAst */
  28503. /* unused harmony export AnimationStateAst */
  28504. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AnimationEntryAst; });
  28505. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return AnimationStateDeclarationAst; });
  28506. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return AnimationStateTransitionExpression; });
  28507. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return AnimationStateTransitionAst; });
  28508. /* harmony export (binding) */ __webpack_require__.d(exports, "i", function() { return AnimationStepAst; });
  28509. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return AnimationStylesAst; });
  28510. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return AnimationKeyframeAst; });
  28511. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return AnimationWithStepsAst; });
  28512. /* harmony export (binding) */ __webpack_require__.d(exports, "j", function() { return AnimationGroupAst; });
  28513. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return AnimationSequenceAst; });
  28514. /**
  28515. * @license
  28516. * Copyright Google Inc. All Rights Reserved.
  28517. *
  28518. * Use of this source code is governed by an MIT-style license that can be
  28519. * found in the LICENSE file at https://angular.io/license
  28520. */
  28521. var __extends = (this && this.__extends) || function (d, b) {
  28522. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  28523. function __() { this.constructor = d; }
  28524. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  28525. };
  28526. var AnimationAst = (function () {
  28527. function AnimationAst() {
  28528. this.startTime = 0;
  28529. this.playTime = 0;
  28530. }
  28531. return AnimationAst;
  28532. }());
  28533. var AnimationStateAst = (function (_super) {
  28534. __extends(AnimationStateAst, _super);
  28535. function AnimationStateAst() {
  28536. _super.apply(this, arguments);
  28537. }
  28538. return AnimationStateAst;
  28539. }(AnimationAst));
  28540. var AnimationEntryAst = (function (_super) {
  28541. __extends(AnimationEntryAst, _super);
  28542. function AnimationEntryAst(name, stateDeclarations, stateTransitions) {
  28543. _super.call(this);
  28544. this.name = name;
  28545. this.stateDeclarations = stateDeclarations;
  28546. this.stateTransitions = stateTransitions;
  28547. }
  28548. AnimationEntryAst.prototype.visit = function (visitor, context) {
  28549. return visitor.visitAnimationEntry(this, context);
  28550. };
  28551. return AnimationEntryAst;
  28552. }(AnimationAst));
  28553. var AnimationStateDeclarationAst = (function (_super) {
  28554. __extends(AnimationStateDeclarationAst, _super);
  28555. function AnimationStateDeclarationAst(stateName, styles) {
  28556. _super.call(this);
  28557. this.stateName = stateName;
  28558. this.styles = styles;
  28559. }
  28560. AnimationStateDeclarationAst.prototype.visit = function (visitor, context) {
  28561. return visitor.visitAnimationStateDeclaration(this, context);
  28562. };
  28563. return AnimationStateDeclarationAst;
  28564. }(AnimationStateAst));
  28565. var AnimationStateTransitionExpression = (function () {
  28566. function AnimationStateTransitionExpression(fromState, toState) {
  28567. this.fromState = fromState;
  28568. this.toState = toState;
  28569. }
  28570. return AnimationStateTransitionExpression;
  28571. }());
  28572. var AnimationStateTransitionAst = (function (_super) {
  28573. __extends(AnimationStateTransitionAst, _super);
  28574. function AnimationStateTransitionAst(stateChanges, animation) {
  28575. _super.call(this);
  28576. this.stateChanges = stateChanges;
  28577. this.animation = animation;
  28578. }
  28579. AnimationStateTransitionAst.prototype.visit = function (visitor, context) {
  28580. return visitor.visitAnimationStateTransition(this, context);
  28581. };
  28582. return AnimationStateTransitionAst;
  28583. }(AnimationStateAst));
  28584. var AnimationStepAst = (function (_super) {
  28585. __extends(AnimationStepAst, _super);
  28586. function AnimationStepAst(startingStyles, keyframes, duration, delay, easing) {
  28587. _super.call(this);
  28588. this.startingStyles = startingStyles;
  28589. this.keyframes = keyframes;
  28590. this.duration = duration;
  28591. this.delay = delay;
  28592. this.easing = easing;
  28593. }
  28594. AnimationStepAst.prototype.visit = function (visitor, context) {
  28595. return visitor.visitAnimationStep(this, context);
  28596. };
  28597. return AnimationStepAst;
  28598. }(AnimationAst));
  28599. var AnimationStylesAst = (function (_super) {
  28600. __extends(AnimationStylesAst, _super);
  28601. function AnimationStylesAst(styles) {
  28602. _super.call(this);
  28603. this.styles = styles;
  28604. }
  28605. AnimationStylesAst.prototype.visit = function (visitor, context) {
  28606. return visitor.visitAnimationStyles(this, context);
  28607. };
  28608. return AnimationStylesAst;
  28609. }(AnimationAst));
  28610. var AnimationKeyframeAst = (function (_super) {
  28611. __extends(AnimationKeyframeAst, _super);
  28612. function AnimationKeyframeAst(offset, styles) {
  28613. _super.call(this);
  28614. this.offset = offset;
  28615. this.styles = styles;
  28616. }
  28617. AnimationKeyframeAst.prototype.visit = function (visitor, context) {
  28618. return visitor.visitAnimationKeyframe(this, context);
  28619. };
  28620. return AnimationKeyframeAst;
  28621. }(AnimationAst));
  28622. var AnimationWithStepsAst = (function (_super) {
  28623. __extends(AnimationWithStepsAst, _super);
  28624. function AnimationWithStepsAst(steps) {
  28625. _super.call(this);
  28626. this.steps = steps;
  28627. }
  28628. return AnimationWithStepsAst;
  28629. }(AnimationAst));
  28630. var AnimationGroupAst = (function (_super) {
  28631. __extends(AnimationGroupAst, _super);
  28632. function AnimationGroupAst(steps) {
  28633. _super.call(this, steps);
  28634. }
  28635. AnimationGroupAst.prototype.visit = function (visitor, context) {
  28636. return visitor.visitAnimationGroup(this, context);
  28637. };
  28638. return AnimationGroupAst;
  28639. }(AnimationWithStepsAst));
  28640. var AnimationSequenceAst = (function (_super) {
  28641. __extends(AnimationSequenceAst, _super);
  28642. function AnimationSequenceAst(steps) {
  28643. _super.call(this, steps);
  28644. }
  28645. AnimationSequenceAst.prototype.visit = function (visitor, context) {
  28646. return visitor.visitAnimationSequence(this, context);
  28647. };
  28648. return AnimationSequenceAst;
  28649. }(AnimationWithStepsAst));
  28650. //# sourceMappingURL=animation_ast.js.map
  28651. /***/ },
  28652. /* 275 */
  28653. /***/ function(module, exports, __webpack_require__) {
  28654. "use strict";
  28655. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(13);
  28656. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(4);
  28657. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__identifiers__ = __webpack_require__(19);
  28658. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__output_output_ast__ = __webpack_require__(12);
  28659. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__private_import_core__ = __webpack_require__(20);
  28660. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__ = __webpack_require__(51);
  28661. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__animation_ast__ = __webpack_require__(274);
  28662. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__animation_parser__ = __webpack_require__(447);
  28663. /* unused harmony export CompiledAnimationTriggerResult */
  28664. /* unused harmony export CompiledComponentAnimationResult */
  28665. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AnimationCompiler; });
  28666. /* unused harmony export AnimationPropertyValidationOutput */
  28667. /**
  28668. * @license
  28669. * Copyright Google Inc. All Rights Reserved.
  28670. *
  28671. * Use of this source code is governed by an MIT-style license that can be
  28672. * found in the LICENSE file at https://angular.io/license
  28673. */
  28674. var animationCompilationCache = new Map();
  28675. var CompiledAnimationTriggerResult = (function () {
  28676. function CompiledAnimationTriggerResult(name, statesMapStatement, statesVariableName, fnStatement, fnVariable) {
  28677. this.name = name;
  28678. this.statesMapStatement = statesMapStatement;
  28679. this.statesVariableName = statesVariableName;
  28680. this.fnStatement = fnStatement;
  28681. this.fnVariable = fnVariable;
  28682. }
  28683. return CompiledAnimationTriggerResult;
  28684. }());
  28685. var CompiledComponentAnimationResult = (function () {
  28686. function CompiledComponentAnimationResult(outputs, triggers) {
  28687. this.outputs = outputs;
  28688. this.triggers = triggers;
  28689. }
  28690. return CompiledComponentAnimationResult;
  28691. }());
  28692. var AnimationCompiler = (function () {
  28693. function AnimationCompiler() {
  28694. }
  28695. AnimationCompiler.prototype.compileComponent = function (component, template) {
  28696. var compiledAnimations = [];
  28697. var groupedErrors = [];
  28698. var triggerLookup = {};
  28699. var componentName = component.type.name;
  28700. component.template.animations.forEach(function (entry) {
  28701. var result = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__animation_parser__["a" /* parseAnimationEntry */])(entry);
  28702. var triggerName = entry.name;
  28703. if (result.errors.length > 0) {
  28704. var errorMessage = "Unable to parse the animation sequence for \"" + triggerName + "\" due to the following errors:";
  28705. result.errors.forEach(function (error) { errorMessage += '\n-- ' + error.msg; });
  28706. groupedErrors.push(errorMessage);
  28707. }
  28708. if (triggerLookup[triggerName]) {
  28709. groupedErrors.push("The animation trigger \"" + triggerName + "\" has already been registered on \"" + componentName + "\"");
  28710. }
  28711. else {
  28712. var factoryName = componentName + "_" + entry.name;
  28713. var visitor = new _AnimationBuilder(triggerName, factoryName);
  28714. var compileResult = visitor.build(result.ast);
  28715. compiledAnimations.push(compileResult);
  28716. triggerLookup[entry.name] = compileResult;
  28717. }
  28718. });
  28719. var validatedProperties = _validateAnimationProperties(compiledAnimations, template);
  28720. validatedProperties.errors.forEach(function (error) { groupedErrors.push(error.msg); });
  28721. if (groupedErrors.length > 0) {
  28722. var errorMessageStr = "Animation parsing for " + component.type.name + " has failed due to the following errors:";
  28723. groupedErrors.forEach(function (error) { return errorMessageStr += "\n- " + error; });
  28724. throw new Error(errorMessageStr);
  28725. }
  28726. animationCompilationCache.set(component, compiledAnimations);
  28727. return new CompiledComponentAnimationResult(validatedProperties.outputs, compiledAnimations);
  28728. };
  28729. return AnimationCompiler;
  28730. }());
  28731. var _ANIMATION_FACTORY_ELEMENT_VAR = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]('element');
  28732. var _ANIMATION_DEFAULT_STATE_VAR = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]('defaultStateStyles');
  28733. var _ANIMATION_FACTORY_VIEW_VAR = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]('view');
  28734. var _ANIMATION_FACTORY_RENDERER_VAR = _ANIMATION_FACTORY_VIEW_VAR.prop('renderer');
  28735. var _ANIMATION_CURRENT_STATE_VAR = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]('currentState');
  28736. var _ANIMATION_NEXT_STATE_VAR = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]('nextState');
  28737. var _ANIMATION_PLAYER_VAR = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]('player');
  28738. var _ANIMATION_TIME_VAR = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]('totalTime');
  28739. var _ANIMATION_START_STATE_STYLES_VAR = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]('startStateStyles');
  28740. var _ANIMATION_END_STATE_STYLES_VAR = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]('endStateStyles');
  28741. var _ANIMATION_COLLECTED_STYLES = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]('collectedStyles');
  28742. var EMPTY_MAP = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["f" /* literalMap */]([]);
  28743. var _AnimationBuilder = (function () {
  28744. function _AnimationBuilder(animationName, factoryName) {
  28745. this.animationName = animationName;
  28746. this._fnVarName = factoryName + '_factory';
  28747. this._statesMapVarName = factoryName + '_states';
  28748. this._statesMapVar = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */](this._statesMapVarName);
  28749. }
  28750. _AnimationBuilder.prototype.visitAnimationStyles = function (ast, context) {
  28751. var stylesArr = [];
  28752. if (context.isExpectingFirstStyleStep) {
  28753. stylesArr.push(_ANIMATION_START_STATE_STYLES_VAR);
  28754. context.isExpectingFirstStyleStep = false;
  28755. }
  28756. ast.styles.forEach(function (entry) {
  28757. stylesArr.push(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["f" /* literalMap */](__WEBPACK_IMPORTED_MODULE_0__facade_collection__["b" /* StringMapWrapper */].keys(entry).map(function (key) { return [key, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](entry[key])]; })));
  28758. });
  28759. return __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].AnimationStyles)).instantiate([
  28760. __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].collectAndResolveStyles)).callFn([
  28761. _ANIMATION_COLLECTED_STYLES, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["g" /* literalArr */](stylesArr)
  28762. ])
  28763. ]);
  28764. };
  28765. _AnimationBuilder.prototype.visitAnimationKeyframe = function (ast, context) {
  28766. return __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].AnimationKeyframe)).instantiate([
  28767. __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](ast.offset), ast.styles.visit(this, context)
  28768. ]);
  28769. };
  28770. _AnimationBuilder.prototype.visitAnimationStep = function (ast, context) {
  28771. var _this = this;
  28772. if (context.endStateAnimateStep === ast) {
  28773. return this._visitEndStateAnimation(ast, context);
  28774. }
  28775. var startingStylesExpr = ast.startingStyles.visit(this, context);
  28776. var keyframeExpressions = ast.keyframes.map(function (keyframeEntry) { return keyframeEntry.visit(_this, context); });
  28777. return this._callAnimateMethod(ast, startingStylesExpr, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["g" /* literalArr */](keyframeExpressions), context);
  28778. };
  28779. /** @internal */
  28780. _AnimationBuilder.prototype._visitEndStateAnimation = function (ast, context) {
  28781. var _this = this;
  28782. var startingStylesExpr = ast.startingStyles.visit(this, context);
  28783. var keyframeExpressions = ast.keyframes.map(function (keyframe) { return keyframe.visit(_this, context); });
  28784. var keyframesExpr = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].balanceAnimationKeyframes)).callFn([
  28785. _ANIMATION_COLLECTED_STYLES, _ANIMATION_END_STATE_STYLES_VAR,
  28786. __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["g" /* literalArr */](keyframeExpressions)
  28787. ]);
  28788. return this._callAnimateMethod(ast, startingStylesExpr, keyframesExpr, context);
  28789. };
  28790. /** @internal */
  28791. _AnimationBuilder.prototype._callAnimateMethod = function (ast, startingStylesExpr, keyframesExpr, context) {
  28792. context.totalTransitionTime += ast.duration + ast.delay;
  28793. return _ANIMATION_FACTORY_RENDERER_VAR.callMethod('animate', [
  28794. _ANIMATION_FACTORY_ELEMENT_VAR, startingStylesExpr, keyframesExpr, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](ast.duration),
  28795. __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](ast.delay), __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](ast.easing)
  28796. ]);
  28797. };
  28798. _AnimationBuilder.prototype.visitAnimationSequence = function (ast, context) {
  28799. var _this = this;
  28800. var playerExprs = ast.steps.map(function (step) { return step.visit(_this, context); });
  28801. return __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].AnimationSequencePlayer)).instantiate([
  28802. __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["g" /* literalArr */](playerExprs)
  28803. ]);
  28804. };
  28805. _AnimationBuilder.prototype.visitAnimationGroup = function (ast, context) {
  28806. var _this = this;
  28807. var playerExprs = ast.steps.map(function (step) { return step.visit(_this, context); });
  28808. return __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].AnimationGroupPlayer)).instantiate([
  28809. __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["g" /* literalArr */](playerExprs)
  28810. ]);
  28811. };
  28812. _AnimationBuilder.prototype.visitAnimationStateDeclaration = function (ast, context) {
  28813. var flatStyles = {};
  28814. _getStylesArray(ast).forEach(function (entry) {
  28815. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["b" /* StringMapWrapper */].forEach(entry, function (value, key) { flatStyles[key] = value; });
  28816. });
  28817. context.stateMap.registerState(ast.stateName, flatStyles);
  28818. };
  28819. _AnimationBuilder.prototype.visitAnimationStateTransition = function (ast, context) {
  28820. var steps = ast.animation.steps;
  28821. var lastStep = steps[steps.length - 1];
  28822. if (_isEndStateAnimateStep(lastStep)) {
  28823. context.endStateAnimateStep = lastStep;
  28824. }
  28825. context.totalTransitionTime = 0;
  28826. context.isExpectingFirstStyleStep = true;
  28827. var stateChangePreconditions = [];
  28828. ast.stateChanges.forEach(function (stateChange) {
  28829. stateChangePreconditions.push(_compareToAnimationStateExpr(_ANIMATION_CURRENT_STATE_VAR, stateChange.fromState)
  28830. .and(_compareToAnimationStateExpr(_ANIMATION_NEXT_STATE_VAR, stateChange.toState)));
  28831. if (stateChange.fromState != __WEBPACK_IMPORTED_MODULE_4__private_import_core__["T" /* ANY_STATE */]) {
  28832. context.stateMap.registerState(stateChange.fromState);
  28833. }
  28834. if (stateChange.toState != __WEBPACK_IMPORTED_MODULE_4__private_import_core__["T" /* ANY_STATE */]) {
  28835. context.stateMap.registerState(stateChange.toState);
  28836. }
  28837. });
  28838. var animationPlayerExpr = ast.animation.visit(this, context);
  28839. var reducedStateChangesPrecondition = stateChangePreconditions.reduce(function (a, b) { return a.or(b); });
  28840. var precondition = _ANIMATION_PLAYER_VAR.equals(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["h" /* NULL_EXPR */]).and(reducedStateChangesPrecondition);
  28841. var animationStmt = _ANIMATION_PLAYER_VAR.set(animationPlayerExpr).toStmt();
  28842. var totalTimeStmt = _ANIMATION_TIME_VAR.set(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](context.totalTransitionTime)).toStmt();
  28843. return new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["i" /* IfStmt */](precondition, [animationStmt, totalTimeStmt]);
  28844. };
  28845. _AnimationBuilder.prototype.visitAnimationEntry = function (ast, context) {
  28846. var _this = this;
  28847. // visit each of the declarations first to build the context state map
  28848. ast.stateDeclarations.forEach(function (def) { return def.visit(_this, context); });
  28849. // this should always be defined even if the user overrides it
  28850. context.stateMap.registerState(__WEBPACK_IMPORTED_MODULE_4__private_import_core__["V" /* DEFAULT_STATE */], {});
  28851. var statements = [];
  28852. statements.push(_ANIMATION_FACTORY_VIEW_VAR
  28853. .callMethod('cancelActiveAnimation', [
  28854. _ANIMATION_FACTORY_ELEMENT_VAR, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](this.animationName),
  28855. _ANIMATION_NEXT_STATE_VAR.equals(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](__WEBPACK_IMPORTED_MODULE_4__private_import_core__["W" /* EMPTY_STATE */]))
  28856. ])
  28857. .toStmt());
  28858. statements.push(_ANIMATION_COLLECTED_STYLES.set(EMPTY_MAP).toDeclStmt());
  28859. statements.push(_ANIMATION_PLAYER_VAR.set(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["h" /* NULL_EXPR */]).toDeclStmt());
  28860. statements.push(_ANIMATION_TIME_VAR.set(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](0)).toDeclStmt());
  28861. statements.push(_ANIMATION_DEFAULT_STATE_VAR.set(this._statesMapVar.key(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](__WEBPACK_IMPORTED_MODULE_4__private_import_core__["V" /* DEFAULT_STATE */])))
  28862. .toDeclStmt());
  28863. statements.push(_ANIMATION_START_STATE_STYLES_VAR.set(this._statesMapVar.key(_ANIMATION_CURRENT_STATE_VAR))
  28864. .toDeclStmt());
  28865. statements.push(new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["i" /* IfStmt */](_ANIMATION_START_STATE_STYLES_VAR.equals(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["h" /* NULL_EXPR */]), [_ANIMATION_START_STATE_STYLES_VAR.set(_ANIMATION_DEFAULT_STATE_VAR).toStmt()]));
  28866. statements.push(_ANIMATION_END_STATE_STYLES_VAR.set(this._statesMapVar.key(_ANIMATION_NEXT_STATE_VAR))
  28867. .toDeclStmt());
  28868. statements.push(new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["i" /* IfStmt */](_ANIMATION_END_STATE_STYLES_VAR.equals(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["h" /* NULL_EXPR */]), [_ANIMATION_END_STATE_STYLES_VAR.set(_ANIMATION_DEFAULT_STATE_VAR).toStmt()]));
  28869. var RENDER_STYLES_FN = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].renderStyles));
  28870. // before we start any animation we want to clear out the starting
  28871. // styles from the element's style property (since they were placed
  28872. // there at the end of the last animation
  28873. statements.push(RENDER_STYLES_FN
  28874. .callFn([
  28875. _ANIMATION_FACTORY_ELEMENT_VAR, _ANIMATION_FACTORY_RENDERER_VAR,
  28876. __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].clearStyles))
  28877. .callFn([_ANIMATION_START_STATE_STYLES_VAR])
  28878. ])
  28879. .toStmt());
  28880. ast.stateTransitions.forEach(function (transAst) { return statements.push(transAst.visit(_this, context)); });
  28881. // this check ensures that the animation factory always returns a player
  28882. // so that the onDone callback can be used for tracking
  28883. statements.push(new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["i" /* IfStmt */](_ANIMATION_PLAYER_VAR.equals(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["h" /* NULL_EXPR */]), [_ANIMATION_PLAYER_VAR
  28884. .set(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].NoOpAnimationPlayer)).instantiate([]))
  28885. .toStmt()]));
  28886. // once complete we want to apply the styles on the element
  28887. // since the destination state's values should persist once
  28888. // the animation sequence has completed.
  28889. statements.push(_ANIMATION_PLAYER_VAR
  28890. .callMethod('onDone', [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["j" /* fn */]([], [RENDER_STYLES_FN
  28891. .callFn([
  28892. _ANIMATION_FACTORY_ELEMENT_VAR, _ANIMATION_FACTORY_RENDERER_VAR,
  28893. __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].prepareFinalAnimationStyles))
  28894. .callFn([
  28895. _ANIMATION_START_STATE_STYLES_VAR, _ANIMATION_END_STATE_STYLES_VAR
  28896. ])
  28897. ])
  28898. .toStmt()])])
  28899. .toStmt());
  28900. statements.push(_ANIMATION_FACTORY_VIEW_VAR
  28901. .callMethod('queueAnimation', [
  28902. _ANIMATION_FACTORY_ELEMENT_VAR, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](this.animationName),
  28903. _ANIMATION_PLAYER_VAR, _ANIMATION_TIME_VAR,
  28904. _ANIMATION_CURRENT_STATE_VAR, _ANIMATION_NEXT_STATE_VAR
  28905. ])
  28906. .toStmt());
  28907. return __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["j" /* fn */]([
  28908. new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["k" /* FnParam */](_ANIMATION_FACTORY_VIEW_VAR.name, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].AppView), [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["l" /* DYNAMIC_TYPE */]])),
  28909. new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["k" /* FnParam */](_ANIMATION_FACTORY_ELEMENT_VAR.name, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["l" /* DYNAMIC_TYPE */]),
  28910. new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["k" /* FnParam */](_ANIMATION_CURRENT_STATE_VAR.name, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["l" /* DYNAMIC_TYPE */]),
  28911. new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["k" /* FnParam */](_ANIMATION_NEXT_STATE_VAR.name, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["l" /* DYNAMIC_TYPE */])
  28912. ], statements);
  28913. };
  28914. _AnimationBuilder.prototype.build = function (ast) {
  28915. var context = new _AnimationBuilderContext();
  28916. var fnStatement = ast.visit(this, context).toDeclStmt(this._fnVarName);
  28917. var fnVariable = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */](this._fnVarName);
  28918. var lookupMap = [];
  28919. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["b" /* StringMapWrapper */].forEach(context.stateMap.states, function (value, stateName) {
  28920. var variableValue = EMPTY_MAP;
  28921. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(value)) {
  28922. var styleMap_1 = [];
  28923. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["b" /* StringMapWrapper */].forEach(value, function (value, key) {
  28924. styleMap_1.push([key, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](value)]);
  28925. });
  28926. variableValue = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["f" /* literalMap */](styleMap_1);
  28927. }
  28928. lookupMap.push([stateName, variableValue]);
  28929. });
  28930. var compiledStatesMapExpr = this._statesMapVar.set(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["f" /* literalMap */](lookupMap)).toDeclStmt();
  28931. return new CompiledAnimationTriggerResult(this.animationName, compiledStatesMapExpr, this._statesMapVarName, fnStatement, fnVariable);
  28932. };
  28933. return _AnimationBuilder;
  28934. }());
  28935. var _AnimationBuilderContext = (function () {
  28936. function _AnimationBuilderContext() {
  28937. this.stateMap = new _AnimationBuilderStateMap();
  28938. this.endStateAnimateStep = null;
  28939. this.isExpectingFirstStyleStep = false;
  28940. this.totalTransitionTime = 0;
  28941. }
  28942. return _AnimationBuilderContext;
  28943. }());
  28944. var _AnimationBuilderStateMap = (function () {
  28945. function _AnimationBuilderStateMap() {
  28946. this._states = {};
  28947. }
  28948. Object.defineProperty(_AnimationBuilderStateMap.prototype, "states", {
  28949. get: function () { return this._states; },
  28950. enumerable: true,
  28951. configurable: true
  28952. });
  28953. _AnimationBuilderStateMap.prototype.registerState = function (name, value) {
  28954. if (value === void 0) { value = null; }
  28955. var existingEntry = this._states[name];
  28956. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(existingEntry)) {
  28957. this._states[name] = value;
  28958. }
  28959. };
  28960. return _AnimationBuilderStateMap;
  28961. }());
  28962. function _compareToAnimationStateExpr(value, animationState) {
  28963. var emptyStateLiteral = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](__WEBPACK_IMPORTED_MODULE_4__private_import_core__["W" /* EMPTY_STATE */]);
  28964. switch (animationState) {
  28965. case __WEBPACK_IMPORTED_MODULE_4__private_import_core__["W" /* EMPTY_STATE */]:
  28966. return value.equals(emptyStateLiteral);
  28967. case __WEBPACK_IMPORTED_MODULE_4__private_import_core__["T" /* ANY_STATE */]:
  28968. return __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](true);
  28969. default:
  28970. return value.equals(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](animationState));
  28971. }
  28972. }
  28973. function _isEndStateAnimateStep(step) {
  28974. // the final animation step is characterized by having only TWO
  28975. // keyframe values and it must have zero styles for both keyframes
  28976. if (step instanceof __WEBPACK_IMPORTED_MODULE_6__animation_ast__["i" /* AnimationStepAst */] && step.duration > 0 && step.keyframes.length == 2) {
  28977. var styles1 = _getStylesArray(step.keyframes[0])[0];
  28978. var styles2 = _getStylesArray(step.keyframes[1])[0];
  28979. return __WEBPACK_IMPORTED_MODULE_0__facade_collection__["b" /* StringMapWrapper */].isEmpty(styles1) && __WEBPACK_IMPORTED_MODULE_0__facade_collection__["b" /* StringMapWrapper */].isEmpty(styles2);
  28980. }
  28981. return false;
  28982. }
  28983. function _getStylesArray(obj) {
  28984. return obj.styles.styles;
  28985. }
  28986. function _validateAnimationProperties(compiledAnimations, template) {
  28987. var visitor = new _AnimationTemplatePropertyVisitor(compiledAnimations);
  28988. __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["c" /* templateVisitAll */](visitor, template);
  28989. return new AnimationPropertyValidationOutput(visitor.outputs, visitor.errors);
  28990. }
  28991. var AnimationPropertyValidationOutput = (function () {
  28992. function AnimationPropertyValidationOutput(outputs, errors) {
  28993. this.outputs = outputs;
  28994. this.errors = errors;
  28995. }
  28996. return AnimationPropertyValidationOutput;
  28997. }());
  28998. var _AnimationTemplatePropertyVisitor = (function () {
  28999. function _AnimationTemplatePropertyVisitor(animations) {
  29000. this.errors = [];
  29001. this.outputs = [];
  29002. this._animationRegistry = this._buildCompileAnimationLookup(animations);
  29003. }
  29004. _AnimationTemplatePropertyVisitor.prototype._buildCompileAnimationLookup = function (animations) {
  29005. var map = {};
  29006. animations.forEach(function (entry) { map[entry.name] = true; });
  29007. return map;
  29008. };
  29009. _AnimationTemplatePropertyVisitor.prototype._validateAnimationInputOutputPairs = function (inputAsts, outputAsts, animationRegistry, isHostLevel) {
  29010. var _this = this;
  29011. var detectedAnimationInputs = {};
  29012. inputAsts.forEach(function (input) {
  29013. if (input.type == __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["l" /* PropertyBindingType */].Animation) {
  29014. var triggerName = input.name;
  29015. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(animationRegistry[triggerName])) {
  29016. detectedAnimationInputs[triggerName] = true;
  29017. }
  29018. else {
  29019. _this.errors.push(new __WEBPACK_IMPORTED_MODULE_7__animation_parser__["b" /* AnimationParseError */]("Couldn't find an animation entry for " + triggerName));
  29020. }
  29021. }
  29022. });
  29023. outputAsts.forEach(function (output) {
  29024. if (output.name[0] == '@') {
  29025. var normalizedOutputData = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__animation_parser__["c" /* parseAnimationOutputName */])(output.name.substr(1), _this.errors);
  29026. var triggerName = normalizedOutputData.name;
  29027. var triggerEventPhase = normalizedOutputData.phase;
  29028. if (!animationRegistry[triggerName]) {
  29029. _this.errors.push(new __WEBPACK_IMPORTED_MODULE_7__animation_parser__["b" /* AnimationParseError */]("Couldn't find the corresponding " + (isHostLevel ? 'host-level ' : '') + "animation trigger definition for (@" + triggerName + ")"));
  29030. }
  29031. else if (!detectedAnimationInputs[triggerName]) {
  29032. _this.errors.push(new __WEBPACK_IMPORTED_MODULE_7__animation_parser__["b" /* AnimationParseError */]("Unable to listen on (@" + triggerName + "." + triggerEventPhase + ") because the animation trigger [@" + triggerName + "] isn't being used on the same element"));
  29033. }
  29034. else {
  29035. _this.outputs.push(normalizedOutputData);
  29036. }
  29037. }
  29038. });
  29039. };
  29040. _AnimationTemplatePropertyVisitor.prototype.visitElement = function (ast, ctx) {
  29041. this._validateAnimationInputOutputPairs(ast.inputs, ast.outputs, this._animationRegistry, false);
  29042. var componentOnElement = ast.directives.find(function (directive) { return directive.directive.isComponent; });
  29043. if (componentOnElement) {
  29044. var cachedComponentAnimations = animationCompilationCache.get(componentOnElement.directive);
  29045. if (cachedComponentAnimations) {
  29046. this._validateAnimationInputOutputPairs(componentOnElement.hostProperties, componentOnElement.hostEvents, this._buildCompileAnimationLookup(cachedComponentAnimations), true);
  29047. }
  29048. }
  29049. __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["c" /* templateVisitAll */](this, ast.children);
  29050. };
  29051. _AnimationTemplatePropertyVisitor.prototype.visitEmbeddedTemplate = function (ast, ctx) {
  29052. __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["c" /* templateVisitAll */](this, ast.children);
  29053. };
  29054. _AnimationTemplatePropertyVisitor.prototype.visitEvent = function (ast, ctx) { };
  29055. _AnimationTemplatePropertyVisitor.prototype.visitBoundText = function (ast, ctx) { };
  29056. _AnimationTemplatePropertyVisitor.prototype.visitText = function (ast, ctx) { };
  29057. _AnimationTemplatePropertyVisitor.prototype.visitNgContent = function (ast, ctx) { };
  29058. _AnimationTemplatePropertyVisitor.prototype.visitAttr = function (ast, ctx) { };
  29059. _AnimationTemplatePropertyVisitor.prototype.visitDirective = function (ast, ctx) { };
  29060. _AnimationTemplatePropertyVisitor.prototype.visitReference = function (ast, ctx) { };
  29061. _AnimationTemplatePropertyVisitor.prototype.visitVariable = function (ast, ctx) { };
  29062. _AnimationTemplatePropertyVisitor.prototype.visitDirectiveProperty = function (ast, ctx) { };
  29063. _AnimationTemplatePropertyVisitor.prototype.visitElementProperty = function (ast, ctx) { };
  29064. return _AnimationTemplatePropertyVisitor;
  29065. }());
  29066. //# sourceMappingURL=animation_compiler.js.map
  29067. /***/ },
  29068. /* 276 */
  29069. /***/ function(module, exports, __webpack_require__) {
  29070. "use strict";
  29071. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  29072. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_facade_lang__ = __webpack_require__(4);
  29073. /* harmony export (immutable) */ exports["b"] = assertArrayOfStrings;
  29074. /* harmony export (immutable) */ exports["a"] = assertInterpolationSymbols;
  29075. /**
  29076. * @license
  29077. * Copyright Google Inc. All Rights Reserved.
  29078. *
  29079. * Use of this source code is governed by an MIT-style license that can be
  29080. * found in the LICENSE file at https://angular.io/license
  29081. */
  29082. function assertArrayOfStrings(identifier, value) {
  29083. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["isDevMode"])() || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["b" /* isBlank */])(value)) {
  29084. return;
  29085. }
  29086. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["c" /* isArray */])(value)) {
  29087. throw new Error("Expected '" + identifier + "' to be an array of strings.");
  29088. }
  29089. for (var i = 0; i < value.length; i += 1) {
  29090. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["g" /* isString */])(value[i])) {
  29091. throw new Error("Expected '" + identifier + "' to be an array of strings.");
  29092. }
  29093. }
  29094. }
  29095. var INTERPOLATION_BLACKLIST_REGEXPS = [
  29096. /^\s*$/,
  29097. /[<>]/,
  29098. /^[{}]$/,
  29099. /&(#|[a-z])/i,
  29100. /^\/\//,
  29101. ];
  29102. function assertInterpolationSymbols(identifier, value) {
  29103. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(value) && !(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["c" /* isArray */])(value) && value.length == 2)) {
  29104. throw new Error("Expected '" + identifier + "' to be an array, [start, end].");
  29105. }
  29106. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["isDevMode"])() && !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["b" /* isBlank */])(value)) {
  29107. var start_1 = value[0];
  29108. var end_1 = value[1];
  29109. // black list checking
  29110. INTERPOLATION_BLACKLIST_REGEXPS.forEach(function (regexp) {
  29111. if (regexp.test(start_1) || regexp.test(end_1)) {
  29112. throw new Error("['" + start_1 + "', '" + end_1 + "'] contains unusable interpolation symbol.");
  29113. }
  29114. });
  29115. }
  29116. }
  29117. //# sourceMappingURL=assertions.js.map
  29118. /***/ },
  29119. /* 277 */
  29120. /***/ function(module, exports, __webpack_require__) {
  29121. "use strict";
  29122. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__ = __webpack_require__(66);
  29123. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ml_parser_parser__ = __webpack_require__(86);
  29124. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__digest__ = __webpack_require__(186);
  29125. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__i18n_ast__ = __webpack_require__(278);
  29126. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__i18n_parser__ = __webpack_require__(451);
  29127. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__parse_util__ = __webpack_require__(187);
  29128. /* harmony export (immutable) */ exports["a"] = extractMessages;
  29129. /* harmony export (immutable) */ exports["b"] = mergeTranslations;
  29130. /* unused harmony export ExtractionResult */
  29131. /**
  29132. * @license
  29133. * Copyright Google Inc. All Rights Reserved.
  29134. *
  29135. * Use of this source code is governed by an MIT-style license that can be
  29136. * found in the LICENSE file at https://angular.io/license
  29137. */
  29138. var _I18N_ATTR = 'i18n';
  29139. var _I18N_ATTR_PREFIX = 'i18n-';
  29140. var _I18N_COMMENT_PREFIX_REGEXP = /^i18n:?/;
  29141. /**
  29142. * Extract translatable messages from an html AST
  29143. */
  29144. function extractMessages(nodes, interpolationConfig, implicitTags, implicitAttrs) {
  29145. var visitor = new _Visitor(implicitTags, implicitAttrs);
  29146. return visitor.extract(nodes, interpolationConfig);
  29147. }
  29148. function mergeTranslations(nodes, translations, interpolationConfig, implicitTags, implicitAttrs) {
  29149. var visitor = new _Visitor(implicitTags, implicitAttrs);
  29150. return visitor.merge(nodes, translations, interpolationConfig);
  29151. }
  29152. var ExtractionResult = (function () {
  29153. function ExtractionResult(messages, errors) {
  29154. this.messages = messages;
  29155. this.errors = errors;
  29156. }
  29157. return ExtractionResult;
  29158. }());
  29159. var _VisitorMode;
  29160. (function (_VisitorMode) {
  29161. _VisitorMode[_VisitorMode["Extract"] = 0] = "Extract";
  29162. _VisitorMode[_VisitorMode["Merge"] = 1] = "Merge";
  29163. })(_VisitorMode || (_VisitorMode = {}));
  29164. /**
  29165. * This Visitor is used:
  29166. * 1. to extract all the translatable strings from an html AST (see `extract()`),
  29167. * 2. to replace the translatable strings with the actual translations (see `merge()`)
  29168. *
  29169. * @internal
  29170. */
  29171. var _Visitor = (function () {
  29172. function _Visitor(_implicitTags, _implicitAttrs) {
  29173. this._implicitTags = _implicitTags;
  29174. this._implicitAttrs = _implicitAttrs;
  29175. }
  29176. /**
  29177. * Extracts the messages from the tree
  29178. */
  29179. _Visitor.prototype.extract = function (nodes, interpolationConfig) {
  29180. var _this = this;
  29181. this._init(_VisitorMode.Extract, interpolationConfig);
  29182. nodes.forEach(function (node) { return node.visit(_this, null); });
  29183. if (this._inI18nBlock) {
  29184. this._reportError(nodes[nodes.length - 1], 'Unclosed block');
  29185. }
  29186. return new ExtractionResult(this._messages, this._errors);
  29187. };
  29188. /**
  29189. * Returns a tree where all translatable node are translated
  29190. */
  29191. _Visitor.prototype.merge = function (nodes, translations, interpolationConfig) {
  29192. this._init(_VisitorMode.Merge, interpolationConfig);
  29193. this._translations = translations;
  29194. // Construct a single fake root element
  29195. var wrapper = new __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["e" /* Element */]('wrapper', [], nodes, null, null, null);
  29196. var translatedNode = wrapper.visit(this, null);
  29197. if (this._inI18nBlock) {
  29198. this._reportError(nodes[nodes.length - 1], 'Unclosed block');
  29199. }
  29200. return new __WEBPACK_IMPORTED_MODULE_1__ml_parser_parser__["a" /* ParseTreeResult */](translatedNode.children, this._errors);
  29201. };
  29202. _Visitor.prototype.visitExpansionCase = function (icuCase, context) {
  29203. // Parse cases for translatable html attributes
  29204. var expression = __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["g" /* visitAll */](this, icuCase.expression, context);
  29205. if (this._mode === _VisitorMode.Merge) {
  29206. return new __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["c" /* ExpansionCase */](icuCase.value, expression, icuCase.sourceSpan, icuCase.valueSourceSpan, icuCase.expSourceSpan);
  29207. }
  29208. };
  29209. _Visitor.prototype.visitExpansion = function (icu, context) {
  29210. this._mayBeAddBlockChildren(icu);
  29211. var wasInIcu = this._inIcu;
  29212. if (!this._inIcu) {
  29213. // nested ICU messages should not be extracted but top-level translated as a whole
  29214. if (this._isInTranslatableSection) {
  29215. this._addMessage([icu]);
  29216. }
  29217. this._inIcu = true;
  29218. }
  29219. var cases = __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["g" /* visitAll */](this, icu.cases, context);
  29220. if (this._mode === _VisitorMode.Merge) {
  29221. icu = new __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["b" /* Expansion */](icu.switchValue, icu.type, cases, icu.sourceSpan, icu.switchValueSourceSpan);
  29222. }
  29223. this._inIcu = wasInIcu;
  29224. return icu;
  29225. };
  29226. _Visitor.prototype.visitComment = function (comment, context) {
  29227. var isOpening = _isOpeningComment(comment);
  29228. if (isOpening && this._isInTranslatableSection) {
  29229. this._reportError(comment, 'Could not start a block inside a translatable section');
  29230. return;
  29231. }
  29232. var isClosing = _isClosingComment(comment);
  29233. if (isClosing && !this._inI18nBlock) {
  29234. this._reportError(comment, 'Trying to close an unopened block');
  29235. return;
  29236. }
  29237. if (!this._inI18nNode && !this._inIcu) {
  29238. if (!this._inI18nBlock) {
  29239. if (isOpening) {
  29240. this._inI18nBlock = true;
  29241. this._blockStartDepth = this._depth;
  29242. this._blockChildren = [];
  29243. this._blockMeaningAndDesc = comment.value.replace(_I18N_COMMENT_PREFIX_REGEXP, '').trim();
  29244. this._openTranslatableSection(comment);
  29245. }
  29246. }
  29247. else {
  29248. if (isClosing) {
  29249. if (this._depth == this._blockStartDepth) {
  29250. this._closeTranslatableSection(comment, this._blockChildren);
  29251. this._inI18nBlock = false;
  29252. var message = this._addMessage(this._blockChildren, this._blockMeaningAndDesc);
  29253. // merge attributes in sections
  29254. var nodes = this._translateMessage(comment, message);
  29255. return __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["g" /* visitAll */](this, nodes);
  29256. }
  29257. else {
  29258. this._reportError(comment, 'I18N blocks should not cross element boundaries');
  29259. return;
  29260. }
  29261. }
  29262. }
  29263. }
  29264. };
  29265. _Visitor.prototype.visitText = function (text, context) {
  29266. if (this._isInTranslatableSection) {
  29267. this._mayBeAddBlockChildren(text);
  29268. }
  29269. return text;
  29270. };
  29271. _Visitor.prototype.visitElement = function (el, context) {
  29272. var _this = this;
  29273. this._mayBeAddBlockChildren(el);
  29274. this._depth++;
  29275. var wasInI18nNode = this._inI18nNode;
  29276. var wasInImplicitNode = this._inImplicitNode;
  29277. var childNodes;
  29278. // Extract only top level node with the (implicit) "i18n" attribute if not in a block or an ICU
  29279. // message
  29280. var i18nAttr = _getI18nAttr(el);
  29281. var isImplicit = this._implicitTags.some(function (tag) { return el.name === tag; }) &&
  29282. !this._inIcu && !this._isInTranslatableSection;
  29283. var isTopLevelImplicit = !wasInImplicitNode && isImplicit;
  29284. this._inImplicitNode = this._inImplicitNode || isImplicit;
  29285. if (!this._isInTranslatableSection && !this._inIcu) {
  29286. if (i18nAttr) {
  29287. // explicit translation
  29288. this._inI18nNode = true;
  29289. var message = this._addMessage(el.children, i18nAttr.value);
  29290. childNodes = this._translateMessage(el, message);
  29291. }
  29292. else if (isTopLevelImplicit) {
  29293. // implicit translation
  29294. this._inI18nNode = true;
  29295. var message = this._addMessage(el.children);
  29296. childNodes = this._translateMessage(el, message);
  29297. }
  29298. if (this._mode == _VisitorMode.Extract) {
  29299. var isTranslatable = i18nAttr || isTopLevelImplicit;
  29300. if (isTranslatable) {
  29301. this._openTranslatableSection(el);
  29302. }
  29303. __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["g" /* visitAll */](this, el.children);
  29304. if (isTranslatable) {
  29305. this._closeTranslatableSection(el, el.children);
  29306. }
  29307. }
  29308. if (this._mode === _VisitorMode.Merge && !i18nAttr && !isTopLevelImplicit) {
  29309. childNodes = [];
  29310. el.children.forEach(function (child) {
  29311. var visited = child.visit(_this, context);
  29312. if (visited && !_this._isInTranslatableSection) {
  29313. // Do not add the children from translatable sections (= i18n blocks here)
  29314. // They will be added when the section is close (i.e. on `<!-- /i18n -->`)
  29315. childNodes = childNodes.concat(visited);
  29316. }
  29317. });
  29318. }
  29319. }
  29320. else {
  29321. if (i18nAttr || isTopLevelImplicit) {
  29322. this._reportError(el, 'Could not mark an element as translatable inside a translatable section');
  29323. }
  29324. if (this._mode == _VisitorMode.Extract) {
  29325. // Descend into child node for extraction
  29326. __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["g" /* visitAll */](this, el.children);
  29327. }
  29328. if (this._mode == _VisitorMode.Merge) {
  29329. // Translate attributes in ICU messages
  29330. childNodes = [];
  29331. el.children.forEach(function (child) {
  29332. var visited = child.visit(_this, context);
  29333. if (visited && !_this._isInTranslatableSection) {
  29334. // Do not add the children from translatable sections (= i18n blocks here)
  29335. // They will be added when the section is close (i.e. on `<!-- /i18n -->`)
  29336. childNodes = childNodes.concat(visited);
  29337. }
  29338. });
  29339. }
  29340. }
  29341. this._visitAttributesOf(el);
  29342. this._depth--;
  29343. this._inI18nNode = wasInI18nNode;
  29344. this._inImplicitNode = wasInImplicitNode;
  29345. if (this._mode === _VisitorMode.Merge) {
  29346. // There are no childNodes in translatable sections - those node will be replace anyway
  29347. var translatedAttrs = this._translateAttributes(el);
  29348. return new __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["e" /* Element */](el.name, translatedAttrs, childNodes, el.sourceSpan, el.startSourceSpan, el.endSourceSpan);
  29349. }
  29350. };
  29351. _Visitor.prototype.visitAttribute = function (attribute, context) {
  29352. throw new Error('unreachable code');
  29353. };
  29354. _Visitor.prototype._init = function (mode, interpolationConfig) {
  29355. this._mode = mode;
  29356. this._inI18nBlock = false;
  29357. this._inI18nNode = false;
  29358. this._depth = 0;
  29359. this._inIcu = false;
  29360. this._msgCountAtSectionStart = void 0;
  29361. this._errors = [];
  29362. this._messages = [];
  29363. this._inImplicitNode = false;
  29364. this._createI18nMessage = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__i18n_parser__["a" /* createI18nMessageFactory */])(interpolationConfig);
  29365. };
  29366. // looks for translatable attributes
  29367. _Visitor.prototype._visitAttributesOf = function (el) {
  29368. var _this = this;
  29369. var explicitAttrNameToValue = {};
  29370. var implicitAttrNames = this._implicitAttrs[el.name] || [];
  29371. el.attrs.filter(function (attr) { return attr.name.startsWith(_I18N_ATTR_PREFIX); })
  29372. .forEach(function (attr) { return explicitAttrNameToValue[attr.name.slice(_I18N_ATTR_PREFIX.length)] =
  29373. attr.value; });
  29374. el.attrs.forEach(function (attr) {
  29375. if (attr.name in explicitAttrNameToValue) {
  29376. _this._addMessage([attr], explicitAttrNameToValue[attr.name]);
  29377. }
  29378. else if (implicitAttrNames.some(function (name) { return attr.name === name; })) {
  29379. _this._addMessage([attr]);
  29380. }
  29381. });
  29382. };
  29383. // add a translatable message
  29384. _Visitor.prototype._addMessage = function (ast, meaningAndDesc) {
  29385. if (ast.length == 0 ||
  29386. ast.length == 1 && ast[0] instanceof __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["f" /* Attribute */] && !ast[0].value) {
  29387. // Do not create empty messages
  29388. return;
  29389. }
  29390. var _a = _splitMeaningAndDesc(meaningAndDesc), meaning = _a[0], description = _a[1];
  29391. var message = this._createI18nMessage(ast, meaning, description);
  29392. this._messages.push(message);
  29393. return message;
  29394. };
  29395. // Translates the given message given the `TranslationBundle`
  29396. // no-op when called in extraction mode (returns [])
  29397. _Visitor.prototype._translateMessage = function (el, message) {
  29398. if (message && this._mode === _VisitorMode.Merge) {
  29399. var id = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__digest__["a" /* digestMessage */])(message);
  29400. var nodes = this._translations.get(id);
  29401. if (nodes) {
  29402. return nodes;
  29403. }
  29404. this._reportError(el, "Translation unavailable for message id=\"" + id + "\"");
  29405. }
  29406. return [];
  29407. };
  29408. // translate the attributes of an element and remove i18n specific attributes
  29409. _Visitor.prototype._translateAttributes = function (el) {
  29410. var _this = this;
  29411. var attributes = el.attrs;
  29412. var i18nAttributeMeanings = {};
  29413. attributes.forEach(function (attr) {
  29414. if (attr.name.startsWith(_I18N_ATTR_PREFIX)) {
  29415. i18nAttributeMeanings[attr.name.slice(_I18N_ATTR_PREFIX.length)] =
  29416. _splitMeaningAndDesc(attr.value)[0];
  29417. }
  29418. });
  29419. var translatedAttributes = [];
  29420. attributes.forEach(function (attr) {
  29421. if (attr.name === _I18N_ATTR || attr.name.startsWith(_I18N_ATTR_PREFIX)) {
  29422. // strip i18n specific attributes
  29423. return;
  29424. }
  29425. if (attr.value && attr.value != '' && i18nAttributeMeanings.hasOwnProperty(attr.name)) {
  29426. var meaning = i18nAttributeMeanings[attr.name];
  29427. var message = _this._createI18nMessage([attr], meaning, '');
  29428. var id = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__digest__["a" /* digestMessage */])(message);
  29429. var nodes = _this._translations.get(id);
  29430. if (nodes) {
  29431. if (nodes[0] instanceof __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["d" /* Text */]) {
  29432. var value = nodes[0].value;
  29433. translatedAttributes.push(new __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["f" /* Attribute */](attr.name, value, attr.sourceSpan));
  29434. }
  29435. else {
  29436. _this._reportError(el, "Unexpected translation for attribute \"" + attr.name + "\" (id=\"" + id + "\")");
  29437. }
  29438. }
  29439. else {
  29440. _this._reportError(el, "Translation unavailable for attribute \"" + attr.name + "\" (id=\"" + id + "\")");
  29441. }
  29442. }
  29443. else {
  29444. translatedAttributes.push(attr);
  29445. }
  29446. });
  29447. return translatedAttributes;
  29448. };
  29449. /**
  29450. * Add the node as a child of the block when:
  29451. * - we are in a block,
  29452. * - we are not inside a ICU message (those are handled separately),
  29453. * - the node is a "direct child" of the block
  29454. */
  29455. _Visitor.prototype._mayBeAddBlockChildren = function (node) {
  29456. if (this._inI18nBlock && !this._inIcu && this._depth == this._blockStartDepth) {
  29457. this._blockChildren.push(node);
  29458. }
  29459. };
  29460. /**
  29461. * Marks the start of a section, see `_endSection`
  29462. */
  29463. _Visitor.prototype._openTranslatableSection = function (node) {
  29464. if (this._isInTranslatableSection) {
  29465. this._reportError(node, 'Unexpected section start');
  29466. }
  29467. else {
  29468. this._msgCountAtSectionStart = this._messages.length;
  29469. }
  29470. };
  29471. Object.defineProperty(_Visitor.prototype, "_isInTranslatableSection", {
  29472. /**
  29473. * A translatable section could be:
  29474. * - a translatable element,
  29475. * - node between `<!-- i18n -->` and `<!-- /i18n -->` comments
  29476. */
  29477. get: function () {
  29478. return this._msgCountAtSectionStart !== void 0;
  29479. },
  29480. enumerable: true,
  29481. configurable: true
  29482. });
  29483. /**
  29484. * Terminates a section.
  29485. *
  29486. * If a section has only one significant children (comments not significant) then we should not
  29487. * keep the message from this children:
  29488. *
  29489. * `<p i18n="meaning|description">{ICU message}</p>` would produce two messages:
  29490. * - one for the <p> content with meaning and description,
  29491. * - another one for the ICU message.
  29492. *
  29493. * In this case the last message is discarded as it contains less information (the AST is
  29494. * otherwise identical).
  29495. *
  29496. * Note that we should still keep messages extracted from attributes inside the section (ie in the
  29497. * ICU message here)
  29498. */
  29499. _Visitor.prototype._closeTranslatableSection = function (node, directChildren) {
  29500. if (!this._isInTranslatableSection) {
  29501. this._reportError(node, 'Unexpected section end');
  29502. return;
  29503. }
  29504. var startIndex = this._msgCountAtSectionStart;
  29505. var significantChildren = directChildren.reduce(function (count, node) { return count + (node instanceof __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["a" /* Comment */] ? 0 : 1); }, 0);
  29506. if (significantChildren == 1) {
  29507. for (var i = this._messages.length - 1; i >= startIndex; i--) {
  29508. var ast = this._messages[i].customNodesStorage;
  29509. if (!(ast.length == 1 && ast[0] instanceof __WEBPACK_IMPORTED_MODULE_3__i18n_ast__["f" /* Text */])) {
  29510. this._messages.splice(i, 1);
  29511. break;
  29512. }
  29513. }
  29514. }
  29515. this._msgCountAtSectionStart = void 0;
  29516. };
  29517. _Visitor.prototype._reportError = function (node, msg) {
  29518. this._errors.push(new __WEBPACK_IMPORTED_MODULE_5__parse_util__["a" /* I18nError */](node.sourceSpan, msg));
  29519. };
  29520. return _Visitor;
  29521. }());
  29522. function _isOpeningComment(n) {
  29523. return n instanceof __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["a" /* Comment */] && n.value && n.value.startsWith('i18n');
  29524. }
  29525. function _isClosingComment(n) {
  29526. return n instanceof __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["a" /* Comment */] && n.value && n.value === '/i18n';
  29527. }
  29528. function _getI18nAttr(p) {
  29529. return p.attrs.find(function (attr) { return attr.name === _I18N_ATTR; }) || null;
  29530. }
  29531. function _splitMeaningAndDesc(i18n) {
  29532. if (!i18n)
  29533. return ['', ''];
  29534. var pipeIndex = i18n.indexOf('|');
  29535. return pipeIndex == -1 ? ['', i18n] : [i18n.slice(0, pipeIndex), i18n.slice(pipeIndex + 1)];
  29536. }
  29537. //# sourceMappingURL=extractor_merger.js.map
  29538. /***/ },
  29539. /* 278 */
  29540. /***/ function(module, exports, __webpack_require__) {
  29541. "use strict";
  29542. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Message; });
  29543. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return Text; });
  29544. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return Container; });
  29545. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return Icu; });
  29546. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return TagPlaceholder; });
  29547. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return Placeholder; });
  29548. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return IcuPlaceholder; });
  29549. /**
  29550. * @license
  29551. * Copyright Google Inc. All Rights Reserved.
  29552. *
  29553. * Use of this source code is governed by an MIT-style license that can be
  29554. * found in the LICENSE file at https://angular.io/license
  29555. */
  29556. var Message = (function () {
  29557. /**
  29558. * @param nodes message AST
  29559. * @param placeholders maps placeholder names to static content
  29560. * @param placeholderToMsgIds maps placeholder names to translatable message IDs (used for ICU
  29561. * messages)
  29562. * @param meaning
  29563. * @param description
  29564. */
  29565. function Message(nodes, placeholders, placeholderToMsgIds, meaning, description) {
  29566. this.nodes = nodes;
  29567. this.placeholders = placeholders;
  29568. this.placeholderToMsgIds = placeholderToMsgIds;
  29569. this.meaning = meaning;
  29570. this.description = description;
  29571. }
  29572. return Message;
  29573. }());
  29574. var Text = (function () {
  29575. function Text(value, sourceSpan) {
  29576. this.value = value;
  29577. this.sourceSpan = sourceSpan;
  29578. }
  29579. Text.prototype.visit = function (visitor, context) { return visitor.visitText(this, context); };
  29580. return Text;
  29581. }());
  29582. var Container = (function () {
  29583. function Container(children, sourceSpan) {
  29584. this.children = children;
  29585. this.sourceSpan = sourceSpan;
  29586. }
  29587. Container.prototype.visit = function (visitor, context) { return visitor.visitContainer(this, context); };
  29588. return Container;
  29589. }());
  29590. var Icu = (function () {
  29591. function Icu(expression, type, cases, sourceSpan) {
  29592. this.expression = expression;
  29593. this.type = type;
  29594. this.cases = cases;
  29595. this.sourceSpan = sourceSpan;
  29596. }
  29597. Icu.prototype.visit = function (visitor, context) { return visitor.visitIcu(this, context); };
  29598. return Icu;
  29599. }());
  29600. var TagPlaceholder = (function () {
  29601. function TagPlaceholder(tag, attrs, startName, closeName, children, isVoid, sourceSpan) {
  29602. this.tag = tag;
  29603. this.attrs = attrs;
  29604. this.startName = startName;
  29605. this.closeName = closeName;
  29606. this.children = children;
  29607. this.isVoid = isVoid;
  29608. this.sourceSpan = sourceSpan;
  29609. }
  29610. TagPlaceholder.prototype.visit = function (visitor, context) { return visitor.visitTagPlaceholder(this, context); };
  29611. return TagPlaceholder;
  29612. }());
  29613. var Placeholder = (function () {
  29614. function Placeholder(value, name, sourceSpan) {
  29615. if (name === void 0) { name = ''; }
  29616. this.value = value;
  29617. this.name = name;
  29618. this.sourceSpan = sourceSpan;
  29619. }
  29620. Placeholder.prototype.visit = function (visitor, context) { return visitor.visitPlaceholder(this, context); };
  29621. return Placeholder;
  29622. }());
  29623. var IcuPlaceholder = (function () {
  29624. function IcuPlaceholder(value, name, sourceSpan) {
  29625. if (name === void 0) { name = ''; }
  29626. this.value = value;
  29627. this.name = name;
  29628. this.sourceSpan = sourceSpan;
  29629. }
  29630. IcuPlaceholder.prototype.visit = function (visitor, context) { return visitor.visitIcuPlaceholder(this, context); };
  29631. return IcuPlaceholder;
  29632. }());
  29633. //# sourceMappingURL=i18n_ast.js.map
  29634. /***/ },
  29635. /* 279 */
  29636. /***/ function(module, exports, __webpack_require__) {
  29637. "use strict";
  29638. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ml_parser_interpolation_config__ = __webpack_require__(49);
  29639. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ml_parser_parser__ = __webpack_require__(86);
  29640. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__extractor_merger__ = __webpack_require__(277);
  29641. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__message_bundle__ = __webpack_require__(281);
  29642. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__serializers_xliff__ = __webpack_require__(283);
  29643. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__serializers_xmb__ = __webpack_require__(284);
  29644. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__serializers_xtb__ = __webpack_require__(286);
  29645. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__translation_bundle__ = __webpack_require__(453);
  29646. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return I18NHtmlParser; });
  29647. /**
  29648. * @license
  29649. * Copyright Google Inc. All Rights Reserved.
  29650. *
  29651. * Use of this source code is governed by an MIT-style license that can be
  29652. * found in the LICENSE file at https://angular.io/license
  29653. */
  29654. var I18NHtmlParser = (function () {
  29655. // TODO(vicb): transB.load() should not need a msgB & add transB.resolve(msgB,
  29656. // interpolationConfig)
  29657. // TODO(vicb): remove the interpolationConfig from the Xtb serializer
  29658. function I18NHtmlParser(_htmlParser, _translations, _translationsFormat) {
  29659. this._htmlParser = _htmlParser;
  29660. this._translations = _translations;
  29661. this._translationsFormat = _translationsFormat;
  29662. }
  29663. I18NHtmlParser.prototype.parse = function (source, url, parseExpansionForms, interpolationConfig) {
  29664. if (parseExpansionForms === void 0) { parseExpansionForms = false; }
  29665. if (interpolationConfig === void 0) { interpolationConfig = __WEBPACK_IMPORTED_MODULE_0__ml_parser_interpolation_config__["a" /* DEFAULT_INTERPOLATION_CONFIG */]; }
  29666. var parseResult = this._htmlParser.parse(source, url, parseExpansionForms, interpolationConfig);
  29667. if (!this._translations || this._translations === '') {
  29668. // Do not enable i18n when no translation bundle is provided
  29669. return parseResult;
  29670. }
  29671. // TODO(vicb): add support for implicit tags / attributes
  29672. var messageBundle = new __WEBPACK_IMPORTED_MODULE_3__message_bundle__["a" /* MessageBundle */](this._htmlParser, [], {});
  29673. var errors = messageBundle.updateFromTemplate(source, url, interpolationConfig);
  29674. if (errors && errors.length) {
  29675. return new __WEBPACK_IMPORTED_MODULE_1__ml_parser_parser__["a" /* ParseTreeResult */](parseResult.rootNodes, parseResult.errors.concat(errors));
  29676. }
  29677. var serializer = this._createSerializer(interpolationConfig);
  29678. var translationBundle = __WEBPACK_IMPORTED_MODULE_7__translation_bundle__["a" /* TranslationBundle */].load(this._translations, url, messageBundle, serializer);
  29679. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__extractor_merger__["b" /* mergeTranslations */])(parseResult.rootNodes, translationBundle, interpolationConfig, [], {});
  29680. };
  29681. I18NHtmlParser.prototype._createSerializer = function (interpolationConfig) {
  29682. var format = (this._translationsFormat || 'xlf').toLowerCase();
  29683. switch (format) {
  29684. case 'xmb':
  29685. return new __WEBPACK_IMPORTED_MODULE_5__serializers_xmb__["a" /* Xmb */]();
  29686. case 'xtb':
  29687. return new __WEBPACK_IMPORTED_MODULE_6__serializers_xtb__["a" /* Xtb */](this._htmlParser, interpolationConfig);
  29688. case 'xliff':
  29689. case 'xlf':
  29690. default:
  29691. return new __WEBPACK_IMPORTED_MODULE_4__serializers_xliff__["a" /* Xliff */](this._htmlParser, interpolationConfig);
  29692. }
  29693. };
  29694. return I18NHtmlParser;
  29695. }());
  29696. //# sourceMappingURL=i18n_html_parser.js.map
  29697. /***/ },
  29698. /* 280 */
  29699. /***/ function(module, exports, __webpack_require__) {
  29700. "use strict";
  29701. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__i18n_html_parser__ = __webpack_require__(279);
  29702. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__message_bundle__ = __webpack_require__(281);
  29703. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__serializers_xliff__ = __webpack_require__(283);
  29704. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__serializers_xmb__ = __webpack_require__(284);
  29705. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__serializers_xtb__ = __webpack_require__(286);
  29706. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__i18n_html_parser__["a"]; });
  29707. /* harmony reexport (binding) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__message_bundle__["a"]; });
  29708. /* harmony reexport (binding) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_2__serializers_xliff__["a"]; });
  29709. /* harmony reexport (binding) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_3__serializers_xmb__["a"]; });
  29710. /* harmony reexport (binding) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_4__serializers_xtb__["a"]; });
  29711. /**
  29712. * @license
  29713. * Copyright Google Inc. All Rights Reserved.
  29714. *
  29715. * Use of this source code is governed by an MIT-style license that can be
  29716. * found in the LICENSE file at https://angular.io/license
  29717. */
  29718. //# sourceMappingURL=index.js.map
  29719. /***/ },
  29720. /* 281 */
  29721. /***/ function(module, exports, __webpack_require__) {
  29722. "use strict";
  29723. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__digest__ = __webpack_require__(186);
  29724. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__extractor_merger__ = __webpack_require__(277);
  29725. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return MessageBundle; });
  29726. /**
  29727. * @license
  29728. * Copyright Google Inc. All Rights Reserved.
  29729. *
  29730. * Use of this source code is governed by an MIT-style license that can be
  29731. * found in the LICENSE file at https://angular.io/license
  29732. */
  29733. /**
  29734. * A container for message extracted from the templates.
  29735. */
  29736. var MessageBundle = (function () {
  29737. function MessageBundle(_htmlParser, _implicitTags, _implicitAttrs) {
  29738. this._htmlParser = _htmlParser;
  29739. this._implicitTags = _implicitTags;
  29740. this._implicitAttrs = _implicitAttrs;
  29741. this._messageMap = {};
  29742. }
  29743. MessageBundle.prototype.updateFromTemplate = function (html, url, interpolationConfig) {
  29744. var _this = this;
  29745. var htmlParserResult = this._htmlParser.parse(html, url, true, interpolationConfig);
  29746. if (htmlParserResult.errors.length) {
  29747. return htmlParserResult.errors;
  29748. }
  29749. var i18nParserResult = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__extractor_merger__["a" /* extractMessages */])(htmlParserResult.rootNodes, interpolationConfig, this._implicitTags, this._implicitAttrs);
  29750. if (i18nParserResult.errors.length) {
  29751. return i18nParserResult.errors;
  29752. }
  29753. i18nParserResult.messages.forEach(function (message) { _this._messageMap[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__digest__["a" /* digestMessage */])(message)] = message; });
  29754. };
  29755. MessageBundle.prototype.getMessageMap = function () { return this._messageMap; };
  29756. MessageBundle.prototype.write = function (serializer) { return serializer.write(this._messageMap); };
  29757. return MessageBundle;
  29758. }());
  29759. //# sourceMappingURL=message_bundle.js.map
  29760. /***/ },
  29761. /* 282 */
  29762. /***/ function(module, exports, __webpack_require__) {
  29763. "use strict";
  29764. /* harmony export (immutable) */ exports["a"] = extractPlaceholders;
  29765. /* harmony export (immutable) */ exports["b"] = extractPlaceholderToIds;
  29766. /**
  29767. * @license
  29768. * Copyright Google Inc. All Rights Reserved.
  29769. *
  29770. * Use of this source code is governed by an MIT-style license that can be
  29771. * found in the LICENSE file at https://angular.io/license
  29772. */
  29773. // Generate a map of placeholder to content indexed by message ids
  29774. function extractPlaceholders(messageBundle) {
  29775. var messageMap = messageBundle.getMessageMap();
  29776. var placeholders = {};
  29777. Object.keys(messageMap).forEach(function (msgId) {
  29778. placeholders[msgId] = messageMap[msgId].placeholders;
  29779. });
  29780. return placeholders;
  29781. }
  29782. // Generate a map of placeholder to message ids indexed by message ids
  29783. function extractPlaceholderToIds(messageBundle) {
  29784. var messageMap = messageBundle.getMessageMap();
  29785. var placeholderToIds = {};
  29786. Object.keys(messageMap).forEach(function (msgId) {
  29787. placeholderToIds[msgId] = messageMap[msgId].placeholderToMsgIds;
  29788. });
  29789. return placeholderToIds;
  29790. }
  29791. //# sourceMappingURL=serializer.js.map
  29792. /***/ },
  29793. /* 283 */
  29794. /***/ function(module, exports, __webpack_require__) {
  29795. "use strict";
  29796. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(13);
  29797. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ml_parser_ast__ = __webpack_require__(66);
  29798. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ml_parser_xml_parser__ = __webpack_require__(287);
  29799. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__parse_util__ = __webpack_require__(187);
  29800. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__serializer__ = __webpack_require__(282);
  29801. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__xml_helper__ = __webpack_require__(285);
  29802. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Xliff; });
  29803. /**
  29804. * @license
  29805. * Copyright Google Inc. All Rights Reserved.
  29806. *
  29807. * Use of this source code is governed by an MIT-style license that can be
  29808. * found in the LICENSE file at https://angular.io/license
  29809. */
  29810. var _VERSION = '1.2';
  29811. var _XMLNS = 'urn:oasis:names:tc:xliff:document:1.2';
  29812. // TODO(vicb): make this a param (s/_/-/)
  29813. var _SOURCE_LANG = 'en';
  29814. var _PLACEHOLDER_TAG = 'x';
  29815. var _SOURCE_TAG = 'source';
  29816. var _TARGET_TAG = 'target';
  29817. var _UNIT_TAG = 'trans-unit';
  29818. var _CR = function (ws) {
  29819. if (ws === void 0) { ws = 0; }
  29820. return new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["a" /* Text */]("\n" + new Array(ws).join(' '));
  29821. };
  29822. // http://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html
  29823. // http://docs.oasis-open.org/xliff/v1.2/xliff-profile-html/xliff-profile-html-1.2.html
  29824. var Xliff = (function () {
  29825. function Xliff(_htmlParser, _interpolationConfig) {
  29826. this._htmlParser = _htmlParser;
  29827. this._interpolationConfig = _interpolationConfig;
  29828. }
  29829. Xliff.prototype.write = function (messageMap) {
  29830. var visitor = new _WriteVisitor();
  29831. var transUnits = [];
  29832. Object.keys(messageMap).forEach(function (id) {
  29833. var message = messageMap[id];
  29834. var transUnit = new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["b" /* Tag */](_UNIT_TAG, { id: id, datatype: 'html' });
  29835. transUnit.children.push(_CR(8), new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["b" /* Tag */](_SOURCE_TAG, {}, visitor.serialize(message.customNodesStorage)), _CR(8), new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["b" /* Tag */](_TARGET_TAG));
  29836. if (message.description) {
  29837. transUnit.children.push(_CR(8), new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["b" /* Tag */]('note', { priority: '1', from: 'description' }, [new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["a" /* Text */](message.description)]));
  29838. }
  29839. if (message.meaning) {
  29840. transUnit.children.push(_CR(8), new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["b" /* Tag */]('note', { priority: '1', from: 'meaning' }, [new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["a" /* Text */](message.meaning)]));
  29841. }
  29842. transUnit.children.push(_CR(6));
  29843. transUnits.push(_CR(6), transUnit);
  29844. });
  29845. var body = new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["b" /* Tag */]('body', {}, transUnits.concat([_CR(4)]));
  29846. var file = new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["b" /* Tag */]('file', { 'source-language': _SOURCE_LANG, datatype: 'plaintext', original: 'ng2.template' }, [_CR(4), body, _CR(2)]);
  29847. var xliff = new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["b" /* Tag */]('xliff', { version: _VERSION, xmlns: _XMLNS }, [_CR(2), file, _CR()]);
  29848. return __WEBPACK_IMPORTED_MODULE_5__xml_helper__["c" /* serialize */]([new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["d" /* Declaration */]({ version: '1.0', encoding: 'UTF-8' }), _CR(), xliff]);
  29849. };
  29850. Xliff.prototype.load = function (content, url, messageBundle) {
  29851. var _this = this;
  29852. // Parse the xtb file into xml node
  29853. var result = new __WEBPACK_IMPORTED_MODULE_2__ml_parser_xml_parser__["a" /* XmlParser */]().parse(content, url);
  29854. if (result.errors.length) {
  29855. throw new Error("xtb parse errors:\n" + result.errors.join('\n'));
  29856. }
  29857. // Replace the placeholders, messages are now string
  29858. var _a = new _LoadVisitor().parse(result.rootNodes, messageBundle), messages = _a.messages, errors = _a.errors;
  29859. if (errors.length) {
  29860. throw new Error("xtb parse errors:\n" + errors.join('\n'));
  29861. }
  29862. // Convert the string messages to html ast
  29863. // TODO(vicb): map error message back to the original message in xtb
  29864. var messageMap = {};
  29865. var parseErrors = [];
  29866. Object.keys(messages).forEach(function (id) {
  29867. var res = _this._htmlParser.parse(messages[id], url, true, _this._interpolationConfig);
  29868. parseErrors.push.apply(parseErrors, res.errors);
  29869. messageMap[id] = res.rootNodes;
  29870. });
  29871. if (parseErrors.length) {
  29872. throw new Error("xtb parse errors:\n" + parseErrors.join('\n'));
  29873. }
  29874. return messageMap;
  29875. };
  29876. return Xliff;
  29877. }());
  29878. var _WriteVisitor = (function () {
  29879. function _WriteVisitor() {
  29880. }
  29881. _WriteVisitor.prototype.visitText = function (text, context) { return [new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["a" /* Text */](text.value)]; };
  29882. _WriteVisitor.prototype.visitContainer = function (container, context) {
  29883. var _this = this;
  29884. var nodes = [];
  29885. container.children.forEach(function (node) { return nodes.push.apply(nodes, node.visit(_this)); });
  29886. return nodes;
  29887. };
  29888. _WriteVisitor.prototype.visitIcu = function (icu, context) {
  29889. if (this._isInIcu) {
  29890. // nested ICU is not supported
  29891. throw new Error('xliff does not support nested ICU messages');
  29892. }
  29893. this._isInIcu = true;
  29894. // TODO(vicb): support ICU messages
  29895. // https://lists.oasis-open.org/archives/xliff/201201/msg00028.html
  29896. // http://docs.oasis-open.org/xliff/v1.2/xliff-profile-po/xliff-profile-po-1.2-cd02.html
  29897. var nodes = [];
  29898. this._isInIcu = false;
  29899. return nodes;
  29900. };
  29901. _WriteVisitor.prototype.visitTagPlaceholder = function (ph, context) {
  29902. var startTagPh = new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["b" /* Tag */](_PLACEHOLDER_TAG, { id: ph.startName, ctype: ph.tag });
  29903. if (ph.isVoid) {
  29904. // void tags have no children nor closing tags
  29905. return [startTagPh];
  29906. }
  29907. var closeTagPh = new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["b" /* Tag */](_PLACEHOLDER_TAG, { id: ph.closeName, ctype: ph.tag });
  29908. return [startTagPh].concat(this.serialize(ph.children), [closeTagPh]);
  29909. };
  29910. _WriteVisitor.prototype.visitPlaceholder = function (ph, context) {
  29911. return [new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["b" /* Tag */](_PLACEHOLDER_TAG, { id: ph.name })];
  29912. };
  29913. _WriteVisitor.prototype.visitIcuPlaceholder = function (ph, context) {
  29914. return [new __WEBPACK_IMPORTED_MODULE_5__xml_helper__["b" /* Tag */](_PLACEHOLDER_TAG, { id: ph.name })];
  29915. };
  29916. _WriteVisitor.prototype.serialize = function (nodes) {
  29917. var _this = this;
  29918. this._isInIcu = false;
  29919. return __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].flatten(nodes.map(function (node) { return node.visit(_this); }));
  29920. };
  29921. return _WriteVisitor;
  29922. }());
  29923. // TODO(vicb): add error management (structure)
  29924. // TODO(vicb): factorize (xtb) ?
  29925. var _LoadVisitor = (function () {
  29926. function _LoadVisitor() {
  29927. }
  29928. _LoadVisitor.prototype.parse = function (nodes, messageBundle) {
  29929. var _this = this;
  29930. this._messageNodes = [];
  29931. this._translatedMessages = {};
  29932. this._msgId = '';
  29933. this._target = [];
  29934. this._errors = [];
  29935. // Find all messages
  29936. __WEBPACK_IMPORTED_MODULE_1__ml_parser_ast__["g" /* visitAll */](this, nodes, null);
  29937. var messageMap = messageBundle.getMessageMap();
  29938. var placeholders = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__serializer__["a" /* extractPlaceholders */])(messageBundle);
  29939. var placeholderToIds = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__serializer__["b" /* extractPlaceholderToIds */])(messageBundle);
  29940. this._messageNodes
  29941. .filter(function (message) {
  29942. // Remove any messages that is not present in the source message bundle.
  29943. return messageMap.hasOwnProperty(message[0]);
  29944. })
  29945. .sort(function (a, b) {
  29946. // Because there could be no ICU placeholders inside an ICU message,
  29947. // we do not need to take into account the `placeholderToMsgIds` of the referenced
  29948. // messages, those would always be empty
  29949. // TODO(vicb): overkill - create 2 buckets and [...woDeps, ...wDeps].process()
  29950. if (Object.keys(messageMap[a[0]].placeholderToMsgIds).length == 0) {
  29951. return -1;
  29952. }
  29953. if (Object.keys(messageMap[b[0]].placeholderToMsgIds).length == 0) {
  29954. return 1;
  29955. }
  29956. return 0;
  29957. })
  29958. .forEach(function (message) {
  29959. var id = message[0];
  29960. _this._placeholders = placeholders[id] || {};
  29961. _this._placeholderToIds = placeholderToIds[id] || {};
  29962. // TODO(vicb): make sure there is no `_TRANSLATIONS_TAG` nor `_TRANSLATION_TAG`
  29963. _this._translatedMessages[id] = __WEBPACK_IMPORTED_MODULE_1__ml_parser_ast__["g" /* visitAll */](_this, message[1]).join('');
  29964. });
  29965. return { messages: this._translatedMessages, errors: this._errors };
  29966. };
  29967. _LoadVisitor.prototype.visitElement = function (element, context) {
  29968. switch (element.name) {
  29969. case _UNIT_TAG:
  29970. this._target = null;
  29971. var msgId = element.attrs.find(function (attr) { return attr.name === 'id'; });
  29972. if (!msgId) {
  29973. this._addError(element, "<" + _UNIT_TAG + "> misses the \"id\" attribute");
  29974. }
  29975. else {
  29976. this._msgId = msgId.value;
  29977. }
  29978. __WEBPACK_IMPORTED_MODULE_1__ml_parser_ast__["g" /* visitAll */](this, element.children, null);
  29979. if (this._msgId !== null) {
  29980. this._messageNodes.push([this._msgId, this._target]);
  29981. }
  29982. break;
  29983. case _SOURCE_TAG:
  29984. // ignore source message
  29985. break;
  29986. case _TARGET_TAG:
  29987. this._target = element.children;
  29988. break;
  29989. case _PLACEHOLDER_TAG:
  29990. var idAttr = element.attrs.find(function (attr) { return attr.name === 'id'; });
  29991. if (!idAttr) {
  29992. this._addError(element, "<" + _PLACEHOLDER_TAG + "> misses the \"id\" attribute");
  29993. }
  29994. else {
  29995. var id = idAttr.value;
  29996. if (this._placeholders.hasOwnProperty(id)) {
  29997. return this._placeholders[id];
  29998. }
  29999. if (this._placeholderToIds.hasOwnProperty(id) &&
  30000. this._translatedMessages.hasOwnProperty(this._placeholderToIds[id])) {
  30001. return this._translatedMessages[this._placeholderToIds[id]];
  30002. }
  30003. // TODO(vicb): better error message for when
  30004. // !this._translatedMessages.hasOwnProperty(this._placeholderToIds[id])
  30005. this._addError(element, "The placeholder \"" + id + "\" does not exists in the source message");
  30006. }
  30007. break;
  30008. default:
  30009. __WEBPACK_IMPORTED_MODULE_1__ml_parser_ast__["g" /* visitAll */](this, element.children, null);
  30010. }
  30011. };
  30012. _LoadVisitor.prototype.visitAttribute = function (attribute, context) {
  30013. throw new Error('unreachable code');
  30014. };
  30015. _LoadVisitor.prototype.visitText = function (text, context) { return text.value; };
  30016. _LoadVisitor.prototype.visitComment = function (comment, context) { return ''; };
  30017. _LoadVisitor.prototype.visitExpansion = function (expansion, context) {
  30018. throw new Error('unreachable code');
  30019. };
  30020. _LoadVisitor.prototype.visitExpansionCase = function (expansionCase, context) {
  30021. throw new Error('unreachable code');
  30022. };
  30023. _LoadVisitor.prototype._addError = function (node, message) {
  30024. this._errors.push(new __WEBPACK_IMPORTED_MODULE_3__parse_util__["a" /* I18nError */](node.sourceSpan, message));
  30025. };
  30026. return _LoadVisitor;
  30027. }());
  30028. //# sourceMappingURL=xliff.js.map
  30029. /***/ },
  30030. /* 284 */
  30031. /***/ function(module, exports, __webpack_require__) {
  30032. "use strict";
  30033. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(13);
  30034. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__xml_helper__ = __webpack_require__(285);
  30035. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Xmb; });
  30036. /**
  30037. * @license
  30038. * Copyright Google Inc. All Rights Reserved.
  30039. *
  30040. * Use of this source code is governed by an MIT-style license that can be
  30041. * found in the LICENSE file at https://angular.io/license
  30042. */
  30043. var _MESSAGES_TAG = 'messagebundle';
  30044. var _MESSAGE_TAG = 'msg';
  30045. var _PLACEHOLDER_TAG = 'ph';
  30046. var _EXEMPLE_TAG = 'ex';
  30047. var _DOCTYPE = "<!ELEMENT messagebundle (msg)*>\n<!ATTLIST messagebundle class CDATA #IMPLIED>\n\n<!ELEMENT msg (#PCDATA|ph|source)*>\n<!ATTLIST msg id CDATA #IMPLIED>\n<!ATTLIST msg seq CDATA #IMPLIED>\n<!ATTLIST msg name CDATA #IMPLIED>\n<!ATTLIST msg desc CDATA #IMPLIED>\n<!ATTLIST msg meaning CDATA #IMPLIED>\n<!ATTLIST msg obsolete (obsolete) #IMPLIED>\n<!ATTLIST msg xml:space (default|preserve) \"default\">\n<!ATTLIST msg is_hidden CDATA #IMPLIED>\n\n<!ELEMENT source (#PCDATA)>\n\n<!ELEMENT ph (#PCDATA|ex)*>\n<!ATTLIST ph name CDATA #REQUIRED>\n\n<!ELEMENT ex (#PCDATA)>";
  30048. var Xmb = (function () {
  30049. function Xmb() {
  30050. }
  30051. Xmb.prototype.write = function (messageMap) {
  30052. var visitor = new _Visitor();
  30053. var rootNode = new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["b" /* Tag */](_MESSAGES_TAG);
  30054. rootNode.children.push(new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["a" /* Text */]('\n'));
  30055. Object.keys(messageMap).forEach(function (id) {
  30056. var message = messageMap[id];
  30057. var attrs = { id: id };
  30058. if (message.description) {
  30059. attrs['desc'] = message.description;
  30060. }
  30061. if (message.meaning) {
  30062. attrs['meaning'] = message.meaning;
  30063. }
  30064. rootNode.children.push(new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["a" /* Text */](' '), new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["b" /* Tag */](_MESSAGE_TAG, attrs, visitor.serialize(message.customNodesStorage)), new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["a" /* Text */]('\n'));
  30065. });
  30066. return __WEBPACK_IMPORTED_MODULE_1__xml_helper__["c" /* serialize */]([
  30067. new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["d" /* Declaration */]({ version: '1.0', encoding: 'UTF-8' }),
  30068. new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["a" /* Text */]('\n'),
  30069. new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["e" /* Doctype */](_MESSAGES_TAG, _DOCTYPE),
  30070. new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["a" /* Text */]('\n'),
  30071. rootNode,
  30072. ]);
  30073. };
  30074. Xmb.prototype.load = function (content, url, messageBundle) {
  30075. throw new Error('Unsupported');
  30076. };
  30077. return Xmb;
  30078. }());
  30079. var _Visitor = (function () {
  30080. function _Visitor() {
  30081. }
  30082. _Visitor.prototype.visitText = function (text, context) { return [new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["a" /* Text */](text.value)]; };
  30083. _Visitor.prototype.visitContainer = function (container, context) {
  30084. var _this = this;
  30085. var nodes = [];
  30086. container.children.forEach(function (node) { return nodes.push.apply(nodes, node.visit(_this)); });
  30087. return nodes;
  30088. };
  30089. _Visitor.prototype.visitIcu = function (icu, context) {
  30090. var _this = this;
  30091. var nodes = [new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["a" /* Text */]("{" + icu.expression + ", " + icu.type + ", ")];
  30092. Object.keys(icu.cases).forEach(function (c) {
  30093. nodes.push.apply(nodes, [new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["a" /* Text */](c + " {")].concat(icu.cases[c].visit(_this), [new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["a" /* Text */]("} ")]));
  30094. });
  30095. nodes.push(new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["a" /* Text */]("}"));
  30096. return nodes;
  30097. };
  30098. _Visitor.prototype.visitTagPlaceholder = function (ph, context) {
  30099. var startEx = new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["b" /* Tag */](_EXEMPLE_TAG, {}, [new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["a" /* Text */]("<" + ph.tag + ">")]);
  30100. var startTagPh = new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["b" /* Tag */](_PLACEHOLDER_TAG, { name: ph.startName }, [startEx]);
  30101. if (ph.isVoid) {
  30102. // void tags have no children nor closing tags
  30103. return [startTagPh];
  30104. }
  30105. var closeEx = new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["b" /* Tag */](_EXEMPLE_TAG, {}, [new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["a" /* Text */]("</" + ph.tag + ">")]);
  30106. var closeTagPh = new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["b" /* Tag */](_PLACEHOLDER_TAG, { name: ph.closeName }, [closeEx]);
  30107. return [startTagPh].concat(this.serialize(ph.children), [closeTagPh]);
  30108. };
  30109. _Visitor.prototype.visitPlaceholder = function (ph, context) {
  30110. return [new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["b" /* Tag */](_PLACEHOLDER_TAG, { name: ph.name })];
  30111. };
  30112. _Visitor.prototype.visitIcuPlaceholder = function (ph, context) {
  30113. return [new __WEBPACK_IMPORTED_MODULE_1__xml_helper__["b" /* Tag */](_PLACEHOLDER_TAG, { name: ph.name })];
  30114. };
  30115. _Visitor.prototype.serialize = function (nodes) {
  30116. var _this = this;
  30117. return __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].flatten(nodes.map(function (node) { return node.visit(_this); }));
  30118. };
  30119. return _Visitor;
  30120. }());
  30121. //# sourceMappingURL=xmb.js.map
  30122. /***/ },
  30123. /* 285 */
  30124. /***/ function(module, exports, __webpack_require__) {
  30125. "use strict";
  30126. /* harmony export (immutable) */ exports["c"] = serialize;
  30127. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return Declaration; });
  30128. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return Doctype; });
  30129. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return Tag; });
  30130. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Text; });
  30131. /**
  30132. * @license
  30133. * Copyright Google Inc. All Rights Reserved.
  30134. *
  30135. * Use of this source code is governed by an MIT-style license that can be
  30136. * found in the LICENSE file at https://angular.io/license
  30137. */
  30138. var _Visitor = (function () {
  30139. function _Visitor() {
  30140. }
  30141. _Visitor.prototype.visitTag = function (tag) {
  30142. var _this = this;
  30143. var strAttrs = this._serializeAttributes(tag.attrs);
  30144. if (tag.children.length == 0) {
  30145. return "<" + tag.name + strAttrs + "/>";
  30146. }
  30147. var strChildren = tag.children.map(function (node) { return node.visit(_this); });
  30148. return "<" + tag.name + strAttrs + ">" + strChildren.join('') + "</" + tag.name + ">";
  30149. };
  30150. _Visitor.prototype.visitText = function (text) { return text.value; };
  30151. _Visitor.prototype.visitDeclaration = function (decl) {
  30152. return "<?xml" + this._serializeAttributes(decl.attrs) + " ?>";
  30153. };
  30154. _Visitor.prototype._serializeAttributes = function (attrs) {
  30155. var strAttrs = Object.keys(attrs).map(function (name) { return (name + "=\"" + attrs[name] + "\""); }).join(' ');
  30156. return strAttrs.length > 0 ? ' ' + strAttrs : '';
  30157. };
  30158. _Visitor.prototype.visitDoctype = function (doctype) {
  30159. return "<!DOCTYPE " + doctype.rootTag + " [\n" + doctype.dtd + "\n]>";
  30160. };
  30161. return _Visitor;
  30162. }());
  30163. var _visitor = new _Visitor();
  30164. function serialize(nodes) {
  30165. return nodes.map(function (node) { return node.visit(_visitor); }).join('');
  30166. }
  30167. var Declaration = (function () {
  30168. function Declaration(unescapedAttrs) {
  30169. var _this = this;
  30170. this.attrs = {};
  30171. Object.keys(unescapedAttrs).forEach(function (k) {
  30172. _this.attrs[k] = _escapeXml(unescapedAttrs[k]);
  30173. });
  30174. }
  30175. Declaration.prototype.visit = function (visitor) { return visitor.visitDeclaration(this); };
  30176. return Declaration;
  30177. }());
  30178. var Doctype = (function () {
  30179. function Doctype(rootTag, dtd) {
  30180. this.rootTag = rootTag;
  30181. this.dtd = dtd;
  30182. }
  30183. ;
  30184. Doctype.prototype.visit = function (visitor) { return visitor.visitDoctype(this); };
  30185. return Doctype;
  30186. }());
  30187. var Tag = (function () {
  30188. function Tag(name, unescapedAttrs, children) {
  30189. var _this = this;
  30190. if (unescapedAttrs === void 0) { unescapedAttrs = {}; }
  30191. if (children === void 0) { children = []; }
  30192. this.name = name;
  30193. this.children = children;
  30194. this.attrs = {};
  30195. Object.keys(unescapedAttrs).forEach(function (k) {
  30196. _this.attrs[k] = _escapeXml(unescapedAttrs[k]);
  30197. });
  30198. }
  30199. Tag.prototype.visit = function (visitor) { return visitor.visitTag(this); };
  30200. return Tag;
  30201. }());
  30202. var Text = (function () {
  30203. function Text(unescapedValue) {
  30204. this.value = _escapeXml(unescapedValue);
  30205. }
  30206. ;
  30207. Text.prototype.visit = function (visitor) { return visitor.visitText(this); };
  30208. return Text;
  30209. }());
  30210. var _ESCAPED_CHARS = [
  30211. [/&/g, '&amp;'],
  30212. [/"/g, '&quot;'],
  30213. [/'/g, '&apos;'],
  30214. [/</g, '&lt;'],
  30215. [/>/g, '&gt;'],
  30216. ];
  30217. function _escapeXml(text) {
  30218. return _ESCAPED_CHARS.reduce(function (text, entry) { return text.replace(entry[0], entry[1]); }, text);
  30219. }
  30220. //# sourceMappingURL=xml_helper.js.map
  30221. /***/ },
  30222. /* 286 */
  30223. /***/ function(module, exports, __webpack_require__) {
  30224. "use strict";
  30225. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__ = __webpack_require__(66);
  30226. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ml_parser_xml_parser__ = __webpack_require__(287);
  30227. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__parse_util__ = __webpack_require__(187);
  30228. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__serializer__ = __webpack_require__(282);
  30229. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Xtb; });
  30230. /**
  30231. * @license
  30232. * Copyright Google Inc. All Rights Reserved.
  30233. *
  30234. * Use of this source code is governed by an MIT-style license that can be
  30235. * found in the LICENSE file at https://angular.io/license
  30236. */
  30237. var _TRANSLATIONS_TAG = 'translationbundle';
  30238. var _TRANSLATION_TAG = 'translation';
  30239. var _PLACEHOLDER_TAG = 'ph';
  30240. var Xtb = (function () {
  30241. function Xtb(_htmlParser, _interpolationConfig) {
  30242. this._htmlParser = _htmlParser;
  30243. this._interpolationConfig = _interpolationConfig;
  30244. }
  30245. Xtb.prototype.write = function (messageMap) { throw new Error('Unsupported'); };
  30246. Xtb.prototype.load = function (content, url, messageBundle) {
  30247. var _this = this;
  30248. // Parse the xtb file into xml node
  30249. var result = new __WEBPACK_IMPORTED_MODULE_1__ml_parser_xml_parser__["a" /* XmlParser */]().parse(content, url);
  30250. if (result.errors.length) {
  30251. throw new Error("xtb parse errors:\n" + result.errors.join('\n'));
  30252. }
  30253. // Replace the placeholders, messages are now string
  30254. var _a = new _Visitor().parse(result.rootNodes, messageBundle), messages = _a.messages, errors = _a.errors;
  30255. if (errors.length) {
  30256. throw new Error("xtb parse errors:\n" + errors.join('\n'));
  30257. }
  30258. // Convert the string messages to html ast
  30259. // TODO(vicb): map error message back to the original message in xtb
  30260. var messageMap = {};
  30261. var parseErrors = [];
  30262. Object.keys(messages).forEach(function (id) {
  30263. var res = _this._htmlParser.parse(messages[id], url, true, _this._interpolationConfig);
  30264. parseErrors.push.apply(parseErrors, res.errors);
  30265. messageMap[id] = res.rootNodes;
  30266. });
  30267. if (parseErrors.length) {
  30268. throw new Error("xtb parse errors:\n" + parseErrors.join('\n'));
  30269. }
  30270. return messageMap;
  30271. };
  30272. return Xtb;
  30273. }());
  30274. var _Visitor = (function () {
  30275. function _Visitor() {
  30276. }
  30277. _Visitor.prototype.parse = function (nodes, messageBundle) {
  30278. var _this = this;
  30279. this._messageNodes = [];
  30280. this._translatedMessages = {};
  30281. this._bundleDepth = 0;
  30282. this._translationDepth = 0;
  30283. this._errors = [];
  30284. // Find all messages
  30285. __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["g" /* visitAll */](this, nodes, null);
  30286. var messageMap = messageBundle.getMessageMap();
  30287. var placeholders = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__serializer__["a" /* extractPlaceholders */])(messageBundle);
  30288. var placeholderToIds = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__serializer__["b" /* extractPlaceholderToIds */])(messageBundle);
  30289. this._messageNodes
  30290. .filter(function (message) {
  30291. // Remove any messages that is not present in the source message bundle.
  30292. return messageMap.hasOwnProperty(message[0]);
  30293. })
  30294. .sort(function (a, b) {
  30295. // Because there could be no ICU placeholders inside an ICU message,
  30296. // we do not need to take into account the `placeholderToMsgIds` of the referenced
  30297. // messages, those would always be empty
  30298. // TODO(vicb): overkill - create 2 buckets and [...woDeps, ...wDeps].process()
  30299. if (Object.keys(messageMap[a[0]].placeholderToMsgIds).length == 0) {
  30300. return -1;
  30301. }
  30302. if (Object.keys(messageMap[b[0]].placeholderToMsgIds).length == 0) {
  30303. return 1;
  30304. }
  30305. return 0;
  30306. })
  30307. .forEach(function (message) {
  30308. var id = message[0];
  30309. _this._placeholders = placeholders[id] || {};
  30310. _this._placeholderToIds = placeholderToIds[id] || {};
  30311. // TODO(vicb): make sure there is no `_TRANSLATIONS_TAG` nor `_TRANSLATION_TAG`
  30312. _this._translatedMessages[id] = __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["g" /* visitAll */](_this, message[1]).join('');
  30313. });
  30314. return { messages: this._translatedMessages, errors: this._errors };
  30315. };
  30316. _Visitor.prototype.visitElement = function (element, context) {
  30317. switch (element.name) {
  30318. case _TRANSLATIONS_TAG:
  30319. this._bundleDepth++;
  30320. if (this._bundleDepth > 1) {
  30321. this._addError(element, "<" + _TRANSLATIONS_TAG + "> elements can not be nested");
  30322. }
  30323. __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["g" /* visitAll */](this, element.children, null);
  30324. this._bundleDepth--;
  30325. break;
  30326. case _TRANSLATION_TAG:
  30327. this._translationDepth++;
  30328. if (this._translationDepth > 1) {
  30329. this._addError(element, "<" + _TRANSLATION_TAG + "> elements can not be nested");
  30330. }
  30331. var idAttr = element.attrs.find(function (attr) { return attr.name === 'id'; });
  30332. if (!idAttr) {
  30333. this._addError(element, "<" + _TRANSLATION_TAG + "> misses the \"id\" attribute");
  30334. }
  30335. else {
  30336. // ICU placeholders are reference to other messages.
  30337. // The referenced message might not have been decoded yet.
  30338. // We need to have all messages available to make sure deps are decoded first.
  30339. // TODO(vicb): report an error on duplicate id
  30340. this._messageNodes.push([idAttr.value, element.children]);
  30341. }
  30342. this._translationDepth--;
  30343. break;
  30344. case _PLACEHOLDER_TAG:
  30345. var nameAttr = element.attrs.find(function (attr) { return attr.name === 'name'; });
  30346. if (!nameAttr) {
  30347. this._addError(element, "<" + _PLACEHOLDER_TAG + "> misses the \"name\" attribute");
  30348. }
  30349. else {
  30350. var name_1 = nameAttr.value;
  30351. if (this._placeholders.hasOwnProperty(name_1)) {
  30352. return this._placeholders[name_1];
  30353. }
  30354. if (this._placeholderToIds.hasOwnProperty(name_1) &&
  30355. this._translatedMessages.hasOwnProperty(this._placeholderToIds[name_1])) {
  30356. return this._translatedMessages[this._placeholderToIds[name_1]];
  30357. }
  30358. // TODO(vicb): better error message for when
  30359. // !this._translatedMessages.hasOwnProperty(this._placeholderToIds[name])
  30360. this._addError(element, "The placeholder \"" + name_1 + "\" does not exists in the source message");
  30361. }
  30362. break;
  30363. default:
  30364. this._addError(element, 'Unexpected tag');
  30365. }
  30366. };
  30367. _Visitor.prototype.visitAttribute = function (attribute, context) {
  30368. throw new Error('unreachable code');
  30369. };
  30370. _Visitor.prototype.visitText = function (text, context) { return text.value; };
  30371. _Visitor.prototype.visitComment = function (comment, context) { return ''; };
  30372. _Visitor.prototype.visitExpansion = function (expansion, context) {
  30373. var _this = this;
  30374. var strCases = expansion.cases.map(function (c) { return c.visit(_this, null); });
  30375. return "{" + expansion.switchValue + ", " + expansion.type + ", strCases.join(' ')}";
  30376. };
  30377. _Visitor.prototype.visitExpansionCase = function (expansionCase, context) {
  30378. return expansionCase.value + " {" + __WEBPACK_IMPORTED_MODULE_0__ml_parser_ast__["g" /* visitAll */](this, expansionCase.expression, null) + "}";
  30379. };
  30380. _Visitor.prototype._addError = function (node, message) {
  30381. this._errors.push(new __WEBPACK_IMPORTED_MODULE_2__parse_util__["a" /* I18nError */](node.sourceSpan, message));
  30382. };
  30383. return _Visitor;
  30384. }());
  30385. //# sourceMappingURL=xtb.js.map
  30386. /***/ },
  30387. /* 287 */
  30388. /***/ function(module, exports, __webpack_require__) {
  30389. "use strict";
  30390. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__parser__ = __webpack_require__(86);
  30391. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__xml_tags__ = __webpack_require__(458);
  30392. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return XmlParser; });
  30393. /* unused harmony reexport ParseTreeResult */
  30394. /* unused harmony reexport TreeError */
  30395. /**
  30396. * @license
  30397. * Copyright Google Inc. All Rights Reserved.
  30398. *
  30399. * Use of this source code is governed by an MIT-style license that can be
  30400. * found in the LICENSE file at https://angular.io/license
  30401. */
  30402. var __extends = (this && this.__extends) || function (d, b) {
  30403. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  30404. function __() { this.constructor = d; }
  30405. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  30406. };
  30407. var XmlParser = (function (_super) {
  30408. __extends(XmlParser, _super);
  30409. function XmlParser() {
  30410. _super.call(this, __WEBPACK_IMPORTED_MODULE_1__xml_tags__["a" /* getXmlTagDefinition */]);
  30411. }
  30412. XmlParser.prototype.parse = function (source, url, parseExpansionForms) {
  30413. if (parseExpansionForms === void 0) { parseExpansionForms = false; }
  30414. return _super.prototype.parse.call(this, source, url, parseExpansionForms, null);
  30415. };
  30416. return XmlParser;
  30417. }(__WEBPACK_IMPORTED_MODULE_0__parser__["b" /* Parser */]));
  30418. //# sourceMappingURL=xml_parser.js.map
  30419. /***/ },
  30420. /* 288 */
  30421. /***/ function(module, exports, __webpack_require__) {
  30422. "use strict";
  30423. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(4);
  30424. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__abstract_emitter__ = __webpack_require__(192);
  30425. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__output_ast__ = __webpack_require__(12);
  30426. /* harmony export (immutable) */ exports["a"] = debugOutputAstAsTypeScript;
  30427. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return TypeScriptEmitter; });
  30428. /**
  30429. * @license
  30430. * Copyright Google Inc. All Rights Reserved.
  30431. *
  30432. * Use of this source code is governed by an MIT-style license that can be
  30433. * found in the LICENSE file at https://angular.io/license
  30434. */
  30435. var __extends = (this && this.__extends) || function (d, b) {
  30436. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  30437. function __() { this.constructor = d; }
  30438. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  30439. };
  30440. var _debugModuleUrl = 'asset://debug/lib';
  30441. function debugOutputAstAsTypeScript(ast) {
  30442. var converter = new _TsEmitterVisitor(_debugModuleUrl);
  30443. var ctx = __WEBPACK_IMPORTED_MODULE_1__abstract_emitter__["a" /* EmitterVisitorContext */].createRoot([]);
  30444. var asts;
  30445. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["c" /* isArray */])(ast)) {
  30446. asts = ast;
  30447. }
  30448. else {
  30449. asts = [ast];
  30450. }
  30451. asts.forEach(function (ast) {
  30452. if (ast instanceof __WEBPACK_IMPORTED_MODULE_2__output_ast__["P" /* Statement */]) {
  30453. ast.visitStatement(converter, ctx);
  30454. }
  30455. else if (ast instanceof __WEBPACK_IMPORTED_MODULE_2__output_ast__["m" /* Expression */]) {
  30456. ast.visitExpression(converter, ctx);
  30457. }
  30458. else if (ast instanceof __WEBPACK_IMPORTED_MODULE_2__output_ast__["Q" /* Type */]) {
  30459. ast.visitType(converter, ctx);
  30460. }
  30461. else {
  30462. throw new Error("Don't know how to print debug info for " + ast);
  30463. }
  30464. });
  30465. return ctx.toSource();
  30466. }
  30467. var TypeScriptEmitter = (function () {
  30468. function TypeScriptEmitter(_importGenerator) {
  30469. this._importGenerator = _importGenerator;
  30470. }
  30471. TypeScriptEmitter.prototype.emitStatements = function (moduleUrl, stmts, exportedVars) {
  30472. var _this = this;
  30473. var converter = new _TsEmitterVisitor(moduleUrl);
  30474. var ctx = __WEBPACK_IMPORTED_MODULE_1__abstract_emitter__["a" /* EmitterVisitorContext */].createRoot(exportedVars);
  30475. converter.visitAllStatements(stmts, ctx);
  30476. var srcParts = [];
  30477. converter.importsWithPrefixes.forEach(function (prefix, importedModuleUrl) {
  30478. // Note: can't write the real word for import as it screws up system.js auto detection...
  30479. srcParts.push("imp" +
  30480. ("ort * as " + prefix + " from '" + _this._importGenerator.getImportPath(moduleUrl, importedModuleUrl) + "';"));
  30481. });
  30482. srcParts.push(ctx.toSource());
  30483. return srcParts.join('\n');
  30484. };
  30485. return TypeScriptEmitter;
  30486. }());
  30487. var _TsEmitterVisitor = (function (_super) {
  30488. __extends(_TsEmitterVisitor, _super);
  30489. function _TsEmitterVisitor(_moduleUrl) {
  30490. _super.call(this, false);
  30491. this._moduleUrl = _moduleUrl;
  30492. this.importsWithPrefixes = new Map();
  30493. }
  30494. _TsEmitterVisitor.prototype.visitType = function (t, ctx, defaultType) {
  30495. if (defaultType === void 0) { defaultType = 'any'; }
  30496. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(t)) {
  30497. t.visitType(this, ctx);
  30498. }
  30499. else {
  30500. ctx.print(defaultType);
  30501. }
  30502. };
  30503. _TsEmitterVisitor.prototype.visitLiteralExpr = function (ast, ctx) {
  30504. _super.prototype.visitLiteralExpr.call(this, ast, ctx, '(null as any)');
  30505. };
  30506. _TsEmitterVisitor.prototype.visitExternalExpr = function (ast, ctx) {
  30507. this._visitIdentifier(ast.value, ast.typeParams, ctx);
  30508. return null;
  30509. };
  30510. _TsEmitterVisitor.prototype.visitDeclareVarStmt = function (stmt, ctx) {
  30511. if (ctx.isExportedVar(stmt.name)) {
  30512. ctx.print("export ");
  30513. }
  30514. if (stmt.hasModifier(__WEBPACK_IMPORTED_MODULE_2__output_ast__["u" /* StmtModifier */].Final)) {
  30515. ctx.print("const");
  30516. }
  30517. else {
  30518. ctx.print("var");
  30519. }
  30520. ctx.print(" " + stmt.name + ":");
  30521. this.visitType(stmt.type, ctx);
  30522. ctx.print(" = ");
  30523. stmt.value.visitExpression(this, ctx);
  30524. ctx.println(";");
  30525. return null;
  30526. };
  30527. _TsEmitterVisitor.prototype.visitCastExpr = function (ast, ctx) {
  30528. ctx.print("(<");
  30529. ast.type.visitType(this, ctx);
  30530. ctx.print(">");
  30531. ast.value.visitExpression(this, ctx);
  30532. ctx.print(")");
  30533. return null;
  30534. };
  30535. _TsEmitterVisitor.prototype.visitDeclareClassStmt = function (stmt, ctx) {
  30536. var _this = this;
  30537. ctx.pushClass(stmt);
  30538. if (ctx.isExportedVar(stmt.name)) {
  30539. ctx.print("export ");
  30540. }
  30541. ctx.print("class " + stmt.name);
  30542. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(stmt.parent)) {
  30543. ctx.print(" extends ");
  30544. stmt.parent.visitExpression(this, ctx);
  30545. }
  30546. ctx.println(" {");
  30547. ctx.incIndent();
  30548. stmt.fields.forEach(function (field) { return _this._visitClassField(field, ctx); });
  30549. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(stmt.constructorMethod)) {
  30550. this._visitClassConstructor(stmt, ctx);
  30551. }
  30552. stmt.getters.forEach(function (getter) { return _this._visitClassGetter(getter, ctx); });
  30553. stmt.methods.forEach(function (method) { return _this._visitClassMethod(method, ctx); });
  30554. ctx.decIndent();
  30555. ctx.println("}");
  30556. ctx.popClass();
  30557. return null;
  30558. };
  30559. _TsEmitterVisitor.prototype._visitClassField = function (field, ctx) {
  30560. if (field.hasModifier(__WEBPACK_IMPORTED_MODULE_2__output_ast__["u" /* StmtModifier */].Private)) {
  30561. // comment out as a workaround for #10967
  30562. ctx.print("/*private*/ ");
  30563. }
  30564. ctx.print(field.name);
  30565. ctx.print(':');
  30566. this.visitType(field.type, ctx);
  30567. ctx.println(";");
  30568. };
  30569. _TsEmitterVisitor.prototype._visitClassGetter = function (getter, ctx) {
  30570. if (getter.hasModifier(__WEBPACK_IMPORTED_MODULE_2__output_ast__["u" /* StmtModifier */].Private)) {
  30571. ctx.print("private ");
  30572. }
  30573. ctx.print("get " + getter.name + "()");
  30574. ctx.print(':');
  30575. this.visitType(getter.type, ctx);
  30576. ctx.println(" {");
  30577. ctx.incIndent();
  30578. this.visitAllStatements(getter.body, ctx);
  30579. ctx.decIndent();
  30580. ctx.println("}");
  30581. };
  30582. _TsEmitterVisitor.prototype._visitClassConstructor = function (stmt, ctx) {
  30583. ctx.print("constructor(");
  30584. this._visitParams(stmt.constructorMethod.params, ctx);
  30585. ctx.println(") {");
  30586. ctx.incIndent();
  30587. this.visitAllStatements(stmt.constructorMethod.body, ctx);
  30588. ctx.decIndent();
  30589. ctx.println("}");
  30590. };
  30591. _TsEmitterVisitor.prototype._visitClassMethod = function (method, ctx) {
  30592. if (method.hasModifier(__WEBPACK_IMPORTED_MODULE_2__output_ast__["u" /* StmtModifier */].Private)) {
  30593. ctx.print("private ");
  30594. }
  30595. ctx.print(method.name + "(");
  30596. this._visitParams(method.params, ctx);
  30597. ctx.print("):");
  30598. this.visitType(method.type, ctx, 'void');
  30599. ctx.println(" {");
  30600. ctx.incIndent();
  30601. this.visitAllStatements(method.body, ctx);
  30602. ctx.decIndent();
  30603. ctx.println("}");
  30604. };
  30605. _TsEmitterVisitor.prototype.visitFunctionExpr = function (ast, ctx) {
  30606. ctx.print("(");
  30607. this._visitParams(ast.params, ctx);
  30608. ctx.print("):");
  30609. this.visitType(ast.type, ctx, 'void');
  30610. ctx.println(" => {");
  30611. ctx.incIndent();
  30612. this.visitAllStatements(ast.statements, ctx);
  30613. ctx.decIndent();
  30614. ctx.print("}");
  30615. return null;
  30616. };
  30617. _TsEmitterVisitor.prototype.visitDeclareFunctionStmt = function (stmt, ctx) {
  30618. if (ctx.isExportedVar(stmt.name)) {
  30619. ctx.print("export ");
  30620. }
  30621. ctx.print("function " + stmt.name + "(");
  30622. this._visitParams(stmt.params, ctx);
  30623. ctx.print("):");
  30624. this.visitType(stmt.type, ctx, 'void');
  30625. ctx.println(" {");
  30626. ctx.incIndent();
  30627. this.visitAllStatements(stmt.statements, ctx);
  30628. ctx.decIndent();
  30629. ctx.println("}");
  30630. return null;
  30631. };
  30632. _TsEmitterVisitor.prototype.visitTryCatchStmt = function (stmt, ctx) {
  30633. ctx.println("try {");
  30634. ctx.incIndent();
  30635. this.visitAllStatements(stmt.bodyStmts, ctx);
  30636. ctx.decIndent();
  30637. ctx.println("} catch (" + __WEBPACK_IMPORTED_MODULE_1__abstract_emitter__["b" /* CATCH_ERROR_VAR */].name + ") {");
  30638. ctx.incIndent();
  30639. var catchStmts = [__WEBPACK_IMPORTED_MODULE_1__abstract_emitter__["c" /* CATCH_STACK_VAR */].set(__WEBPACK_IMPORTED_MODULE_1__abstract_emitter__["b" /* CATCH_ERROR_VAR */].prop('stack')).toDeclStmt(null, [
  30640. __WEBPACK_IMPORTED_MODULE_2__output_ast__["u" /* StmtModifier */].Final
  30641. ])].concat(stmt.catchStmts);
  30642. this.visitAllStatements(catchStmts, ctx);
  30643. ctx.decIndent();
  30644. ctx.println("}");
  30645. return null;
  30646. };
  30647. _TsEmitterVisitor.prototype.visitBuiltintType = function (type, ctx) {
  30648. var typeStr;
  30649. switch (type.name) {
  30650. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["R" /* BuiltinTypeName */].Bool:
  30651. typeStr = 'boolean';
  30652. break;
  30653. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["R" /* BuiltinTypeName */].Dynamic:
  30654. typeStr = 'any';
  30655. break;
  30656. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["R" /* BuiltinTypeName */].Function:
  30657. typeStr = 'Function';
  30658. break;
  30659. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["R" /* BuiltinTypeName */].Number:
  30660. typeStr = 'number';
  30661. break;
  30662. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["R" /* BuiltinTypeName */].Int:
  30663. typeStr = 'number';
  30664. break;
  30665. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["R" /* BuiltinTypeName */].String:
  30666. typeStr = 'string';
  30667. break;
  30668. default:
  30669. throw new Error("Unsupported builtin type " + type.name);
  30670. }
  30671. ctx.print(typeStr);
  30672. return null;
  30673. };
  30674. _TsEmitterVisitor.prototype.visitExternalType = function (ast, ctx) {
  30675. this._visitIdentifier(ast.value, ast.typeParams, ctx);
  30676. return null;
  30677. };
  30678. _TsEmitterVisitor.prototype.visitArrayType = function (type, ctx) {
  30679. this.visitType(type.of, ctx);
  30680. ctx.print("[]");
  30681. return null;
  30682. };
  30683. _TsEmitterVisitor.prototype.visitMapType = function (type, ctx) {
  30684. ctx.print("{[key: string]:");
  30685. this.visitType(type.valueType, ctx);
  30686. ctx.print("}");
  30687. return null;
  30688. };
  30689. _TsEmitterVisitor.prototype.getBuiltinMethodName = function (method) {
  30690. var name;
  30691. switch (method) {
  30692. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["r" /* BuiltinMethod */].ConcatArray:
  30693. name = 'concat';
  30694. break;
  30695. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["r" /* BuiltinMethod */].SubscribeObservable:
  30696. name = 'subscribe';
  30697. break;
  30698. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["r" /* BuiltinMethod */].Bind:
  30699. name = 'bind';
  30700. break;
  30701. default:
  30702. throw new Error("Unknown builtin method: " + method);
  30703. }
  30704. return name;
  30705. };
  30706. _TsEmitterVisitor.prototype._visitParams = function (params, ctx) {
  30707. var _this = this;
  30708. this.visitAllObjects(function (param /** TODO #9100 */) {
  30709. ctx.print(param.name);
  30710. ctx.print(':');
  30711. _this.visitType(param.type, ctx);
  30712. }, params, ctx, ',');
  30713. };
  30714. _TsEmitterVisitor.prototype._visitIdentifier = function (value, typeParams, ctx) {
  30715. var _this = this;
  30716. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(value.name)) {
  30717. throw new Error("Internal error: unknown identifier " + value);
  30718. }
  30719. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(value.moduleUrl) && value.moduleUrl != this._moduleUrl) {
  30720. var prefix = this.importsWithPrefixes.get(value.moduleUrl);
  30721. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(prefix)) {
  30722. prefix = "import" + this.importsWithPrefixes.size;
  30723. this.importsWithPrefixes.set(value.moduleUrl, prefix);
  30724. }
  30725. ctx.print(prefix + ".");
  30726. }
  30727. if (value.reference && value.reference.members) {
  30728. ctx.print(value.reference.name);
  30729. ctx.print('.');
  30730. ctx.print(value.reference.members.join('.'));
  30731. }
  30732. else {
  30733. ctx.print(value.name);
  30734. }
  30735. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(typeParams) && typeParams.length > 0) {
  30736. ctx.print("<");
  30737. this.visitAllObjects(function (type /** TODO #9100 */) { return type.visitType(_this, ctx); }, typeParams, ctx, ',');
  30738. ctx.print(">");
  30739. }
  30740. };
  30741. return _TsEmitterVisitor;
  30742. }(__WEBPACK_IMPORTED_MODULE_1__abstract_emitter__["d" /* AbstractEmitterVisitor */]));
  30743. //# sourceMappingURL=ts_emitter.js.map
  30744. /***/ },
  30745. /* 289 */
  30746. /***/ function(module, exports, __webpack_require__) {
  30747. "use strict";
  30748. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__compile_metadata__ = __webpack_require__(25);
  30749. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(13);
  30750. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(29);
  30751. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__output_ast__ = __webpack_require__(12);
  30752. /* harmony export (immutable) */ exports["a"] = convertValueToOutputAst;
  30753. /**
  30754. * @license
  30755. * Copyright Google Inc. All Rights Reserved.
  30756. *
  30757. * Use of this source code is governed by an MIT-style license that can be
  30758. * found in the LICENSE file at https://angular.io/license
  30759. */
  30760. function convertValueToOutputAst(value, type) {
  30761. if (type === void 0) { type = null; }
  30762. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["d" /* visitValue */])(value, new _ValueOutputAstTransformer(), type);
  30763. }
  30764. var _ValueOutputAstTransformer = (function () {
  30765. function _ValueOutputAstTransformer() {
  30766. }
  30767. _ValueOutputAstTransformer.prototype.visitArray = function (arr, type) {
  30768. var _this = this;
  30769. return __WEBPACK_IMPORTED_MODULE_3__output_ast__["g" /* literalArr */](arr.map(function (value) { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["d" /* visitValue */])(value, _this, null); }), type);
  30770. };
  30771. _ValueOutputAstTransformer.prototype.visitStringMap = function (map, type) {
  30772. var _this = this;
  30773. var entries = [];
  30774. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* StringMapWrapper */].forEach(map, function (value, key) {
  30775. entries.push([key, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["d" /* visitValue */])(value, _this, null)]);
  30776. });
  30777. return __WEBPACK_IMPORTED_MODULE_3__output_ast__["f" /* literalMap */](entries, type);
  30778. };
  30779. _ValueOutputAstTransformer.prototype.visitPrimitive = function (value, type) { return __WEBPACK_IMPORTED_MODULE_3__output_ast__["a" /* literal */](value, type); };
  30780. _ValueOutputAstTransformer.prototype.visitOther = function (value, type) {
  30781. if (value instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["a" /* CompileIdentifierMetadata */]) {
  30782. return __WEBPACK_IMPORTED_MODULE_3__output_ast__["b" /* importExpr */](value);
  30783. }
  30784. else if (value instanceof __WEBPACK_IMPORTED_MODULE_3__output_ast__["m" /* Expression */]) {
  30785. return value;
  30786. }
  30787. else {
  30788. throw new Error("Illegal state: Don't now how to compile value " + value);
  30789. }
  30790. };
  30791. return _ValueOutputAstTransformer;
  30792. }());
  30793. //# sourceMappingURL=value_util.js.map
  30794. /***/ },
  30795. /* 290 */
  30796. /***/ function(module, exports, __webpack_require__) {
  30797. "use strict";
  30798. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__compile_metadata__ = __webpack_require__(25);
  30799. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(13);
  30800. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(4);
  30801. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__identifiers__ = __webpack_require__(19);
  30802. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__parse_util__ = __webpack_require__(50);
  30803. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__ = __webpack_require__(51);
  30804. /* unused harmony export ProviderError */
  30805. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ProviderViewContext; });
  30806. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return ProviderElementContext; });
  30807. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return NgModuleProviderAnalyzer; });
  30808. /**
  30809. * @license
  30810. * Copyright Google Inc. All Rights Reserved.
  30811. *
  30812. * Use of this source code is governed by an MIT-style license that can be
  30813. * found in the LICENSE file at https://angular.io/license
  30814. */
  30815. var __extends = (this && this.__extends) || function (d, b) {
  30816. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  30817. function __() { this.constructor = d; }
  30818. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  30819. };
  30820. var ProviderError = (function (_super) {
  30821. __extends(ProviderError, _super);
  30822. function ProviderError(message, span) {
  30823. _super.call(this, span, message);
  30824. }
  30825. return ProviderError;
  30826. }(__WEBPACK_IMPORTED_MODULE_4__parse_util__["a" /* ParseError */]));
  30827. var ProviderViewContext = (function () {
  30828. function ProviderViewContext(component, sourceSpan) {
  30829. var _this = this;
  30830. this.component = component;
  30831. this.sourceSpan = sourceSpan;
  30832. this.errors = [];
  30833. this.viewQueries = _getViewQueries(component);
  30834. this.viewProviders = new Map();
  30835. _normalizeProviders(component.viewProviders, sourceSpan, this.errors).forEach(function (provider) {
  30836. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(_this.viewProviders.get(provider.token.reference))) {
  30837. _this.viewProviders.set(provider.token.reference, true);
  30838. }
  30839. });
  30840. }
  30841. return ProviderViewContext;
  30842. }());
  30843. var ProviderElementContext = (function () {
  30844. function ProviderElementContext(_viewContext, _parent, _isViewRoot, _directiveAsts, attrs, refs, _sourceSpan) {
  30845. var _this = this;
  30846. this._viewContext = _viewContext;
  30847. this._parent = _parent;
  30848. this._isViewRoot = _isViewRoot;
  30849. this._directiveAsts = _directiveAsts;
  30850. this._sourceSpan = _sourceSpan;
  30851. this._transformedProviders = new Map();
  30852. this._seenProviders = new Map();
  30853. this._hasViewContainer = false;
  30854. this._attrs = {};
  30855. attrs.forEach(function (attrAst) { return _this._attrs[attrAst.name] = attrAst.value; });
  30856. var directivesMeta = _directiveAsts.map(function (directiveAst) { return directiveAst.directive; });
  30857. this._allProviders =
  30858. _resolveProvidersFromDirectives(directivesMeta, _sourceSpan, _viewContext.errors);
  30859. this._contentQueries = _getContentQueries(directivesMeta);
  30860. var queriedTokens = new Map();
  30861. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].values(this._allProviders).forEach(function (provider) {
  30862. _this._addQueryReadsTo(provider.token, queriedTokens);
  30863. });
  30864. refs.forEach(function (refAst) {
  30865. _this._addQueryReadsTo(new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["b" /* CompileTokenMetadata */]({ value: refAst.name }), queriedTokens);
  30866. });
  30867. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(queriedTokens.get(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].ViewContainerRef).reference))) {
  30868. this._hasViewContainer = true;
  30869. }
  30870. // create the providers that we know are eager first
  30871. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].values(this._allProviders).forEach(function (provider) {
  30872. var eager = provider.eager || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(queriedTokens.get(provider.token.reference));
  30873. if (eager) {
  30874. _this._getOrCreateLocalProvider(provider.providerType, provider.token, true);
  30875. }
  30876. });
  30877. }
  30878. ProviderElementContext.prototype.afterElement = function () {
  30879. var _this = this;
  30880. // collect lazy providers
  30881. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].values(this._allProviders).forEach(function (provider) {
  30882. _this._getOrCreateLocalProvider(provider.providerType, provider.token, false);
  30883. });
  30884. };
  30885. Object.defineProperty(ProviderElementContext.prototype, "transformProviders", {
  30886. get: function () { return __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].values(this._transformedProviders); },
  30887. enumerable: true,
  30888. configurable: true
  30889. });
  30890. Object.defineProperty(ProviderElementContext.prototype, "transformedDirectiveAsts", {
  30891. get: function () {
  30892. var sortedProviderTypes = this.transformProviders.map(function (provider) { return provider.token.identifier; });
  30893. var sortedDirectives = __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].clone(this._directiveAsts);
  30894. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].sort(sortedDirectives, function (dir1, dir2) { return sortedProviderTypes.indexOf(dir1.directive.type) -
  30895. sortedProviderTypes.indexOf(dir2.directive.type); });
  30896. return sortedDirectives;
  30897. },
  30898. enumerable: true,
  30899. configurable: true
  30900. });
  30901. Object.defineProperty(ProviderElementContext.prototype, "transformedHasViewContainer", {
  30902. get: function () { return this._hasViewContainer; },
  30903. enumerable: true,
  30904. configurable: true
  30905. });
  30906. ProviderElementContext.prototype._addQueryReadsTo = function (token, queryReadTokens) {
  30907. this._getQueriesFor(token).forEach(function (query) {
  30908. var queryReadToken = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(query.read) ? query.read : token;
  30909. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(queryReadTokens.get(queryReadToken.reference))) {
  30910. queryReadTokens.set(queryReadToken.reference, true);
  30911. }
  30912. });
  30913. };
  30914. ProviderElementContext.prototype._getQueriesFor = function (token) {
  30915. var result = [];
  30916. var currentEl = this;
  30917. var distance = 0;
  30918. var queries;
  30919. while (currentEl !== null) {
  30920. queries = currentEl._contentQueries.get(token.reference);
  30921. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(queries)) {
  30922. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].addAll(result, queries.filter(function (query) { return query.descendants || distance <= 1; }));
  30923. }
  30924. if (currentEl._directiveAsts.length > 0) {
  30925. distance++;
  30926. }
  30927. currentEl = currentEl._parent;
  30928. }
  30929. queries = this._viewContext.viewQueries.get(token.reference);
  30930. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(queries)) {
  30931. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].addAll(result, queries);
  30932. }
  30933. return result;
  30934. };
  30935. ProviderElementContext.prototype._getOrCreateLocalProvider = function (requestingProviderType, token, eager) {
  30936. var _this = this;
  30937. var resolvedProvider = this._allProviders.get(token.reference);
  30938. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(resolvedProvider) ||
  30939. ((requestingProviderType === __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].Directive ||
  30940. requestingProviderType === __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].PublicService) &&
  30941. resolvedProvider.providerType === __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].PrivateService) ||
  30942. ((requestingProviderType === __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].PrivateService ||
  30943. requestingProviderType === __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].PublicService) &&
  30944. resolvedProvider.providerType === __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].Builtin)) {
  30945. return null;
  30946. }
  30947. var transformedProviderAst = this._transformedProviders.get(token.reference);
  30948. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(transformedProviderAst)) {
  30949. return transformedProviderAst;
  30950. }
  30951. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this._seenProviders.get(token.reference))) {
  30952. this._viewContext.errors.push(new ProviderError("Cannot instantiate cyclic dependency! " + token.name, this._sourceSpan));
  30953. return null;
  30954. }
  30955. this._seenProviders.set(token.reference, true);
  30956. var transformedProviders = resolvedProvider.providers.map(function (provider) {
  30957. var transformedUseValue = provider.useValue;
  30958. var transformedUseExisting = provider.useExisting;
  30959. var transformedDeps;
  30960. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.useExisting)) {
  30961. var existingDiDep = _this._getDependency(resolvedProvider.providerType, new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["c" /* CompileDiDependencyMetadata */]({ token: provider.useExisting }), eager);
  30962. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(existingDiDep.token)) {
  30963. transformedUseExisting = existingDiDep.token;
  30964. }
  30965. else {
  30966. transformedUseExisting = null;
  30967. transformedUseValue = existingDiDep.value;
  30968. }
  30969. }
  30970. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.useFactory)) {
  30971. var deps = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.deps) ? provider.deps : provider.useFactory.diDeps;
  30972. transformedDeps =
  30973. deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep, eager); });
  30974. }
  30975. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.useClass)) {
  30976. var deps = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.deps) ? provider.deps : provider.useClass.diDeps;
  30977. transformedDeps =
  30978. deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep, eager); });
  30979. }
  30980. return _transformProvider(provider, {
  30981. useExisting: transformedUseExisting,
  30982. useValue: transformedUseValue,
  30983. deps: transformedDeps
  30984. });
  30985. });
  30986. transformedProviderAst =
  30987. _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });
  30988. this._transformedProviders.set(token.reference, transformedProviderAst);
  30989. return transformedProviderAst;
  30990. };
  30991. ProviderElementContext.prototype._getLocalDependency = function (requestingProviderType, dep, eager) {
  30992. if (eager === void 0) { eager = null; }
  30993. if (dep.isAttribute) {
  30994. var attrValue = this._attrs[dep.token.value];
  30995. return new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["c" /* CompileDiDependencyMetadata */]({ isValue: true, value: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["k" /* normalizeBlank */])(attrValue) });
  30996. }
  30997. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(dep.query) || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(dep.viewQuery)) {
  30998. return dep;
  30999. }
  31000. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(dep.token)) {
  31001. // access builtints
  31002. if ((requestingProviderType === __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].Directive ||
  31003. requestingProviderType === __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].Component)) {
  31004. if (dep.token.reference === __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].Renderer).reference ||
  31005. dep.token.reference === __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].ElementRef).reference ||
  31006. dep.token.reference ===
  31007. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].ChangeDetectorRef).reference ||
  31008. dep.token.reference === __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].TemplateRef).reference) {
  31009. return dep;
  31010. }
  31011. if (dep.token.reference ===
  31012. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].ViewContainerRef).reference) {
  31013. this._hasViewContainer = true;
  31014. }
  31015. }
  31016. // access the injector
  31017. if (dep.token.reference === __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].Injector).reference) {
  31018. return dep;
  31019. }
  31020. // access providers
  31021. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this._getOrCreateLocalProvider(requestingProviderType, dep.token, eager))) {
  31022. return dep;
  31023. }
  31024. }
  31025. return null;
  31026. };
  31027. ProviderElementContext.prototype._getDependency = function (requestingProviderType, dep, eager) {
  31028. if (eager === void 0) { eager = null; }
  31029. var currElement = this;
  31030. var currEager = eager;
  31031. var result = null;
  31032. if (!dep.isSkipSelf) {
  31033. result = this._getLocalDependency(requestingProviderType, dep, eager);
  31034. }
  31035. if (dep.isSelf) {
  31036. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result) && dep.isOptional) {
  31037. result = new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["c" /* CompileDiDependencyMetadata */]({ isValue: true, value: null });
  31038. }
  31039. }
  31040. else {
  31041. // check parent elements
  31042. while (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(currElement._parent)) {
  31043. var prevElement = currElement;
  31044. currElement = currElement._parent;
  31045. if (prevElement._isViewRoot) {
  31046. currEager = false;
  31047. }
  31048. result = currElement._getLocalDependency(__WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].PublicService, dep, currEager);
  31049. }
  31050. // check @Host restriction
  31051. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result)) {
  31052. if (!dep.isHost || this._viewContext.component.type.isHost ||
  31053. this._viewContext.component.type.reference === dep.token.reference ||
  31054. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this._viewContext.viewProviders.get(dep.token.reference))) {
  31055. result = dep;
  31056. }
  31057. else {
  31058. result = dep.isOptional ?
  31059. result = new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["c" /* CompileDiDependencyMetadata */]({ isValue: true, value: null }) :
  31060. null;
  31061. }
  31062. }
  31063. }
  31064. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result)) {
  31065. this._viewContext.errors.push(new ProviderError("No provider for " + dep.token.name, this._sourceSpan));
  31066. }
  31067. return result;
  31068. };
  31069. return ProviderElementContext;
  31070. }());
  31071. var NgModuleProviderAnalyzer = (function () {
  31072. function NgModuleProviderAnalyzer(ngModule, extraProviders, sourceSpan) {
  31073. var _this = this;
  31074. this._transformedProviders = new Map();
  31075. this._seenProviders = new Map();
  31076. this._errors = [];
  31077. this._allProviders = new Map();
  31078. var ngModuleTypes = ngModule.transitiveModule.modules.map(function (moduleMeta) { return moduleMeta.type; });
  31079. ngModuleTypes.forEach(function (ngModuleType) {
  31080. var ngModuleProvider = new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["d" /* CompileProviderMetadata */]({ token: new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["b" /* CompileTokenMetadata */]({ identifier: ngModuleType }), useClass: ngModuleType });
  31081. _resolveProviders([ngModuleProvider], __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].PublicService, true, sourceSpan, _this._errors, _this._allProviders);
  31082. });
  31083. _resolveProviders(_normalizeProviders(ngModule.transitiveModule.providers.concat(extraProviders), sourceSpan, this._errors), __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].PublicService, false, sourceSpan, this._errors, this._allProviders);
  31084. }
  31085. NgModuleProviderAnalyzer.prototype.parse = function () {
  31086. var _this = this;
  31087. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].values(this._allProviders).forEach(function (provider) {
  31088. _this._getOrCreateLocalProvider(provider.token, provider.eager);
  31089. });
  31090. if (this._errors.length > 0) {
  31091. var errorString = this._errors.join('\n');
  31092. throw new Error("Provider parse errors:\n" + errorString);
  31093. }
  31094. return __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].values(this._transformedProviders);
  31095. };
  31096. NgModuleProviderAnalyzer.prototype._getOrCreateLocalProvider = function (token, eager) {
  31097. var _this = this;
  31098. var resolvedProvider = this._allProviders.get(token.reference);
  31099. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(resolvedProvider)) {
  31100. return null;
  31101. }
  31102. var transformedProviderAst = this._transformedProviders.get(token.reference);
  31103. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(transformedProviderAst)) {
  31104. return transformedProviderAst;
  31105. }
  31106. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this._seenProviders.get(token.reference))) {
  31107. this._errors.push(new ProviderError("Cannot instantiate cyclic dependency! " + token.name, resolvedProvider.sourceSpan));
  31108. return null;
  31109. }
  31110. this._seenProviders.set(token.reference, true);
  31111. var transformedProviders = resolvedProvider.providers.map(function (provider) {
  31112. var transformedUseValue = provider.useValue;
  31113. var transformedUseExisting = provider.useExisting;
  31114. var transformedDeps;
  31115. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.useExisting)) {
  31116. var existingDiDep = _this._getDependency(new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["c" /* CompileDiDependencyMetadata */]({ token: provider.useExisting }), eager, resolvedProvider.sourceSpan);
  31117. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(existingDiDep.token)) {
  31118. transformedUseExisting = existingDiDep.token;
  31119. }
  31120. else {
  31121. transformedUseExisting = null;
  31122. transformedUseValue = existingDiDep.value;
  31123. }
  31124. }
  31125. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.useFactory)) {
  31126. var deps = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.deps) ? provider.deps : provider.useFactory.diDeps;
  31127. transformedDeps =
  31128. deps.map(function (dep) { return _this._getDependency(dep, eager, resolvedProvider.sourceSpan); });
  31129. }
  31130. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.useClass)) {
  31131. var deps = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.deps) ? provider.deps : provider.useClass.diDeps;
  31132. transformedDeps =
  31133. deps.map(function (dep) { return _this._getDependency(dep, eager, resolvedProvider.sourceSpan); });
  31134. }
  31135. return _transformProvider(provider, {
  31136. useExisting: transformedUseExisting,
  31137. useValue: transformedUseValue,
  31138. deps: transformedDeps
  31139. });
  31140. });
  31141. transformedProviderAst =
  31142. _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });
  31143. this._transformedProviders.set(token.reference, transformedProviderAst);
  31144. return transformedProviderAst;
  31145. };
  31146. NgModuleProviderAnalyzer.prototype._getDependency = function (dep, eager, requestorSourceSpan) {
  31147. if (eager === void 0) { eager = null; }
  31148. var foundLocal = false;
  31149. if (!dep.isSkipSelf && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(dep.token)) {
  31150. // access the injector
  31151. if (dep.token.reference === __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].Injector).reference ||
  31152. dep.token.reference ===
  31153. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].ComponentFactoryResolver).reference) {
  31154. foundLocal = true;
  31155. }
  31156. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this._getOrCreateLocalProvider(dep.token, eager))) {
  31157. foundLocal = true;
  31158. }
  31159. }
  31160. var result = dep;
  31161. if (dep.isSelf && !foundLocal) {
  31162. if (dep.isOptional) {
  31163. result = new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["c" /* CompileDiDependencyMetadata */]({ isValue: true, value: null });
  31164. }
  31165. else {
  31166. this._errors.push(new ProviderError("No provider for " + dep.token.name, requestorSourceSpan));
  31167. }
  31168. }
  31169. return result;
  31170. };
  31171. return NgModuleProviderAnalyzer;
  31172. }());
  31173. function _transformProvider(provider, _a) {
  31174. var useExisting = _a.useExisting, useValue = _a.useValue, deps = _a.deps;
  31175. return new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["d" /* CompileProviderMetadata */]({
  31176. token: provider.token,
  31177. useClass: provider.useClass,
  31178. useExisting: useExisting,
  31179. useFactory: provider.useFactory,
  31180. useValue: useValue,
  31181. deps: deps,
  31182. multi: provider.multi
  31183. });
  31184. }
  31185. function _transformProviderAst(provider, _a) {
  31186. var eager = _a.eager, providers = _a.providers;
  31187. return new __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["b" /* ProviderAst */](provider.token, provider.multiProvider, provider.eager || eager, providers, provider.providerType, provider.lifecycleHooks, provider.sourceSpan);
  31188. }
  31189. function _normalizeProviders(providers, sourceSpan, targetErrors, targetProviders) {
  31190. if (targetProviders === void 0) { targetProviders = null; }
  31191. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(targetProviders)) {
  31192. targetProviders = [];
  31193. }
  31194. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(providers)) {
  31195. providers.forEach(function (provider) {
  31196. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["c" /* isArray */])(provider)) {
  31197. _normalizeProviders(provider, sourceSpan, targetErrors, targetProviders);
  31198. }
  31199. else {
  31200. var normalizeProvider = void 0;
  31201. if (provider instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["d" /* CompileProviderMetadata */]) {
  31202. normalizeProvider = provider;
  31203. }
  31204. else if (provider instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["e" /* CompileTypeMetadata */]) {
  31205. normalizeProvider = new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["d" /* CompileProviderMetadata */]({ token: new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["b" /* CompileTokenMetadata */]({ identifier: provider }), useClass: provider });
  31206. }
  31207. else {
  31208. targetErrors.push(new ProviderError("Unknown provider type " + provider, sourceSpan));
  31209. }
  31210. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(normalizeProvider)) {
  31211. targetProviders.push(normalizeProvider);
  31212. }
  31213. }
  31214. });
  31215. }
  31216. return targetProviders;
  31217. }
  31218. function _resolveProvidersFromDirectives(directives, sourceSpan, targetErrors) {
  31219. var providersByToken = new Map();
  31220. directives.forEach(function (directive) {
  31221. var dirProvider = new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["d" /* CompileProviderMetadata */]({ token: new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["b" /* CompileTokenMetadata */]({ identifier: directive.type }), useClass: directive.type });
  31222. _resolveProviders([dirProvider], directive.isComponent ? __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].Component : __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].Directive, true, sourceSpan, targetErrors, providersByToken);
  31223. });
  31224. // Note: directives need to be able to overwrite providers of a component!
  31225. var directivesWithComponentFirst = directives.filter(function (dir) { return dir.isComponent; }).concat(directives.filter(function (dir) { return !dir.isComponent; }));
  31226. directivesWithComponentFirst.forEach(function (directive) {
  31227. _resolveProviders(_normalizeProviders(directive.providers, sourceSpan, targetErrors), __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].PublicService, false, sourceSpan, targetErrors, providersByToken);
  31228. _resolveProviders(_normalizeProviders(directive.viewProviders, sourceSpan, targetErrors), __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["a" /* ProviderAstType */].PrivateService, false, sourceSpan, targetErrors, providersByToken);
  31229. });
  31230. return providersByToken;
  31231. }
  31232. function _resolveProviders(providers, providerType, eager, sourceSpan, targetErrors, targetProvidersByToken) {
  31233. providers.forEach(function (provider) {
  31234. var resolvedProvider = targetProvidersByToken.get(provider.token.reference);
  31235. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(resolvedProvider) && resolvedProvider.multiProvider !== provider.multi) {
  31236. targetErrors.push(new ProviderError("Mixing multi and non multi provider is not possible for token " + resolvedProvider.token.name, sourceSpan));
  31237. }
  31238. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(resolvedProvider)) {
  31239. var lifecycleHooks = provider.token.identifier && provider.token.identifier instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["e" /* CompileTypeMetadata */] ?
  31240. provider.token.identifier.lifecycleHooks :
  31241. [];
  31242. resolvedProvider = new __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["b" /* ProviderAst */](provider.token, provider.multi, eager || lifecycleHooks.length > 0, [provider], providerType, lifecycleHooks, sourceSpan);
  31243. targetProvidersByToken.set(provider.token.reference, resolvedProvider);
  31244. }
  31245. else {
  31246. if (!provider.multi) {
  31247. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].clear(resolvedProvider.providers);
  31248. }
  31249. resolvedProvider.providers.push(provider);
  31250. }
  31251. });
  31252. }
  31253. function _getViewQueries(component) {
  31254. var viewQueries = new Map();
  31255. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(component.viewQueries)) {
  31256. component.viewQueries.forEach(function (query) { return _addQueryToTokenMap(viewQueries, query); });
  31257. }
  31258. component.type.diDeps.forEach(function (dep) {
  31259. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(dep.viewQuery)) {
  31260. _addQueryToTokenMap(viewQueries, dep.viewQuery);
  31261. }
  31262. });
  31263. return viewQueries;
  31264. }
  31265. function _getContentQueries(directives) {
  31266. var contentQueries = new Map();
  31267. directives.forEach(function (directive) {
  31268. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(directive.queries)) {
  31269. directive.queries.forEach(function (query) { return _addQueryToTokenMap(contentQueries, query); });
  31270. }
  31271. directive.type.diDeps.forEach(function (dep) {
  31272. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(dep.query)) {
  31273. _addQueryToTokenMap(contentQueries, dep.query);
  31274. }
  31275. });
  31276. });
  31277. return contentQueries;
  31278. }
  31279. function _addQueryToTokenMap(map, query) {
  31280. query.selectors.forEach(function (token) {
  31281. var entry = map.get(token.reference);
  31282. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(entry)) {
  31283. entry = [];
  31284. map.set(token.reference, entry);
  31285. }
  31286. entry.push(query);
  31287. });
  31288. }
  31289. //# sourceMappingURL=provider_analyzer.js.map
  31290. /***/ },
  31291. /* 291 */
  31292. /***/ function(module, exports, __webpack_require__) {
  31293. "use strict";
  31294. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  31295. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__compile_metadata__ = __webpack_require__(25);
  31296. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__config__ = __webpack_require__(104);
  31297. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__directive_normalizer__ = __webpack_require__(183);
  31298. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__facade_lang__ = __webpack_require__(4);
  31299. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__metadata_resolver__ = __webpack_require__(188);
  31300. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ng_module_compiler__ = __webpack_require__(190);
  31301. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__output_output_ast__ = __webpack_require__(12);
  31302. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__output_output_interpreter__ = __webpack_require__(461);
  31303. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__output_output_jit__ = __webpack_require__(462);
  31304. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__private_import_core__ = __webpack_require__(20);
  31305. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__style_compiler__ = __webpack_require__(196);
  31306. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__template_parser_template_parser__ = __webpack_require__(133);
  31307. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__util__ = __webpack_require__(29);
  31308. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__view_compiler_view_compiler__ = __webpack_require__(134);
  31309. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return RuntimeCompiler; });
  31310. /**
  31311. * @license
  31312. * Copyright Google Inc. All Rights Reserved.
  31313. *
  31314. * Use of this source code is governed by an MIT-style license that can be
  31315. * found in the LICENSE file at https://angular.io/license
  31316. */
  31317. /**
  31318. * An internal module of the Angular compiler that begins with component types,
  31319. * extracts templates, and eventually produces a compiled version of the component
  31320. * ready for linking into an application.
  31321. *
  31322. * @security When compiling templates at runtime, you must ensure that the entire template comes
  31323. * from a trusted source. Attacker-controlled data introduced by a template could expose your
  31324. * application to XSS risks. For more detail, see the [Security Guide](http://g.co/ng/security).
  31325. */
  31326. var RuntimeCompiler = (function () {
  31327. function RuntimeCompiler(_injector, _metadataResolver, _templateNormalizer, _templateParser, _styleCompiler, _viewCompiler, _ngModuleCompiler, _compilerConfig) {
  31328. this._injector = _injector;
  31329. this._metadataResolver = _metadataResolver;
  31330. this._templateNormalizer = _templateNormalizer;
  31331. this._templateParser = _templateParser;
  31332. this._styleCompiler = _styleCompiler;
  31333. this._viewCompiler = _viewCompiler;
  31334. this._ngModuleCompiler = _ngModuleCompiler;
  31335. this._compilerConfig = _compilerConfig;
  31336. this._compiledTemplateCache = new Map();
  31337. this._compiledHostTemplateCache = new Map();
  31338. this._compiledNgModuleCache = new Map();
  31339. }
  31340. Object.defineProperty(RuntimeCompiler.prototype, "injector", {
  31341. get: function () { return this._injector; },
  31342. enumerable: true,
  31343. configurable: true
  31344. });
  31345. RuntimeCompiler.prototype.compileModuleSync = function (moduleType) {
  31346. return this._compileModuleAndComponents(moduleType, true).syncResult;
  31347. };
  31348. RuntimeCompiler.prototype.compileModuleAsync = function (moduleType) {
  31349. return this._compileModuleAndComponents(moduleType, false).asyncResult;
  31350. };
  31351. RuntimeCompiler.prototype.compileModuleAndAllComponentsSync = function (moduleType) {
  31352. return this._compileModuleAndAllComponents(moduleType, true).syncResult;
  31353. };
  31354. RuntimeCompiler.prototype.compileModuleAndAllComponentsAsync = function (moduleType) {
  31355. return this._compileModuleAndAllComponents(moduleType, false).asyncResult;
  31356. };
  31357. RuntimeCompiler.prototype._compileModuleAndComponents = function (moduleType, isSync) {
  31358. var componentPromise = this._compileComponents(moduleType, isSync);
  31359. var ngModuleFactory = this._compileModule(moduleType);
  31360. return new __WEBPACK_IMPORTED_MODULE_13__util__["g" /* SyncAsyncResult */](ngModuleFactory, componentPromise.then(function () { return ngModuleFactory; }));
  31361. };
  31362. RuntimeCompiler.prototype._compileModuleAndAllComponents = function (moduleType, isSync) {
  31363. var _this = this;
  31364. var componentPromise = this._compileComponents(moduleType, isSync);
  31365. var ngModuleFactory = this._compileModule(moduleType);
  31366. var moduleMeta = this._metadataResolver.getNgModuleMetadata(moduleType);
  31367. var componentFactories = [];
  31368. var templates = new Set();
  31369. moduleMeta.transitiveModule.modules.forEach(function (moduleMeta) {
  31370. moduleMeta.declaredDirectives.forEach(function (dirMeta) {
  31371. if (dirMeta.isComponent) {
  31372. var template = _this._createCompiledHostTemplate(dirMeta.type.reference);
  31373. templates.add(template);
  31374. componentFactories.push(template.proxyComponentFactory);
  31375. }
  31376. });
  31377. });
  31378. var syncResult = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["ModuleWithComponentFactories"](ngModuleFactory, componentFactories);
  31379. // Note: host components themselves can always be compiled synchronously as they have an
  31380. // inline template. However, we still need to wait for the components that they
  31381. // reference to be loaded / compiled.
  31382. var compile = function () {
  31383. templates.forEach(function (template) { _this._compileTemplate(template); });
  31384. return syncResult;
  31385. };
  31386. var asyncResult = isSync ? Promise.resolve(compile()) : componentPromise.then(compile);
  31387. return new __WEBPACK_IMPORTED_MODULE_13__util__["g" /* SyncAsyncResult */](syncResult, asyncResult);
  31388. };
  31389. RuntimeCompiler.prototype._compileModule = function (moduleType) {
  31390. var _this = this;
  31391. var ngModuleFactory = this._compiledNgModuleCache.get(moduleType);
  31392. if (!ngModuleFactory) {
  31393. var moduleMeta_1 = this._metadataResolver.getNgModuleMetadata(moduleType);
  31394. // Always provide a bound Compiler
  31395. var extraProviders = [this._metadataResolver.getProviderMetadata(new __WEBPACK_IMPORTED_MODULE_1__compile_metadata__["x" /* ProviderMeta */](__WEBPACK_IMPORTED_MODULE_0__angular_core__["Compiler"], { useFactory: function () { return new ModuleBoundCompiler(_this, moduleMeta_1.type.reference); } }))];
  31396. var compileResult = this._ngModuleCompiler.compile(moduleMeta_1, extraProviders);
  31397. compileResult.dependencies.forEach(function (dep) {
  31398. dep.placeholder.reference =
  31399. _this._assertComponentKnown(dep.comp.reference, true).proxyComponentFactory;
  31400. dep.placeholder.name = "compFactory_" + dep.comp.name;
  31401. });
  31402. if (!this._compilerConfig.useJit) {
  31403. ngModuleFactory =
  31404. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__output_output_interpreter__["a" /* interpretStatements */])(compileResult.statements, compileResult.ngModuleFactoryVar);
  31405. }
  31406. else {
  31407. ngModuleFactory = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__output_output_jit__["a" /* jitStatements */])(moduleMeta_1.type.name + ".ngfactory.js", compileResult.statements, compileResult.ngModuleFactoryVar);
  31408. }
  31409. this._compiledNgModuleCache.set(moduleMeta_1.type.reference, ngModuleFactory);
  31410. }
  31411. return ngModuleFactory;
  31412. };
  31413. /**
  31414. * @internal
  31415. */
  31416. RuntimeCompiler.prototype._compileComponents = function (mainModule, isSync) {
  31417. var _this = this;
  31418. var templates = new Set();
  31419. var loadingPromises = [];
  31420. var ngModule = this._metadataResolver.getNgModuleMetadata(mainModule);
  31421. ngModule.transitiveModule.modules.forEach(function (localModuleMeta) {
  31422. localModuleMeta.declaredDirectives.forEach(function (dirMeta) {
  31423. if (dirMeta.isComponent) {
  31424. templates.add(_this._createCompiledTemplate(dirMeta, localModuleMeta));
  31425. dirMeta.entryComponents.forEach(function (entryComponentType) {
  31426. templates.add(_this._createCompiledHostTemplate(entryComponentType.reference));
  31427. });
  31428. }
  31429. });
  31430. localModuleMeta.entryComponents.forEach(function (entryComponentType) {
  31431. templates.add(_this._createCompiledHostTemplate(entryComponentType.reference));
  31432. // TODO: what about entryComponents of entryComponents?
  31433. });
  31434. });
  31435. templates.forEach(function (template) {
  31436. if (template.loading) {
  31437. if (isSync) {
  31438. throw new __WEBPACK_IMPORTED_MODULE_10__private_import_core__["_1" /* ComponentStillLoadingError */](template.compType.reference);
  31439. }
  31440. else {
  31441. loadingPromises.push(template.loading);
  31442. }
  31443. }
  31444. });
  31445. var compile = function () { templates.forEach(function (template) { _this._compileTemplate(template); }); };
  31446. if (isSync) {
  31447. compile();
  31448. return Promise.resolve(null);
  31449. }
  31450. else {
  31451. return Promise.all(loadingPromises).then(compile);
  31452. }
  31453. };
  31454. RuntimeCompiler.prototype.clearCacheFor = function (type) {
  31455. this._compiledNgModuleCache.delete(type);
  31456. this._metadataResolver.clearCacheFor(type);
  31457. this._compiledHostTemplateCache.delete(type);
  31458. var compiledTemplate = this._compiledTemplateCache.get(type);
  31459. if (compiledTemplate) {
  31460. this._templateNormalizer.clearCacheFor(compiledTemplate.normalizedCompMeta);
  31461. this._compiledTemplateCache.delete(type);
  31462. }
  31463. };
  31464. RuntimeCompiler.prototype.clearCache = function () {
  31465. this._metadataResolver.clearCache();
  31466. this._compiledTemplateCache.clear();
  31467. this._compiledHostTemplateCache.clear();
  31468. this._templateNormalizer.clearCache();
  31469. this._compiledNgModuleCache.clear();
  31470. };
  31471. RuntimeCompiler.prototype._createCompiledHostTemplate = function (compType) {
  31472. var compiledTemplate = this._compiledHostTemplateCache.get(compType);
  31473. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["b" /* isBlank */])(compiledTemplate)) {
  31474. var compMeta = this._metadataResolver.getDirectiveMetadata(compType);
  31475. assertComponent(compMeta);
  31476. var hostMeta = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__compile_metadata__["n" /* createHostComponentMeta */])(compMeta);
  31477. compiledTemplate = new CompiledTemplate(true, compMeta.selector, compMeta.type, [compMeta], [], [], this._templateNormalizer.normalizeDirective(hostMeta));
  31478. this._compiledHostTemplateCache.set(compType, compiledTemplate);
  31479. }
  31480. return compiledTemplate;
  31481. };
  31482. RuntimeCompiler.prototype._createCompiledTemplate = function (compMeta, ngModule) {
  31483. var compiledTemplate = this._compiledTemplateCache.get(compMeta.type.reference);
  31484. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["b" /* isBlank */])(compiledTemplate)) {
  31485. assertComponent(compMeta);
  31486. compiledTemplate = new CompiledTemplate(false, compMeta.selector, compMeta.type, ngModule.transitiveModule.directives, ngModule.transitiveModule.pipes, ngModule.schemas, this._templateNormalizer.normalizeDirective(compMeta));
  31487. this._compiledTemplateCache.set(compMeta.type.reference, compiledTemplate);
  31488. }
  31489. return compiledTemplate;
  31490. };
  31491. RuntimeCompiler.prototype._assertComponentKnown = function (compType, isHost) {
  31492. var compiledTemplate = isHost ? this._compiledHostTemplateCache.get(compType) :
  31493. this._compiledTemplateCache.get(compType);
  31494. if (!compiledTemplate) {
  31495. if (isHost) {
  31496. throw new Error("Illegal state: Compiled view for component " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(compType) + " does not exist!");
  31497. }
  31498. else {
  31499. throw new Error("Component " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(compType) + " is not part of any NgModule or the module has not been imported into your module.");
  31500. }
  31501. }
  31502. return compiledTemplate;
  31503. };
  31504. RuntimeCompiler.prototype._assertComponentLoaded = function (compType, isHost) {
  31505. var compiledTemplate = this._assertComponentKnown(compType, isHost);
  31506. if (compiledTemplate.loading) {
  31507. throw new Error("Illegal state: CompiledTemplate for " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(compType) + " (isHost: " + isHost + ") is still loading!");
  31508. }
  31509. return compiledTemplate;
  31510. };
  31511. RuntimeCompiler.prototype._compileTemplate = function (template) {
  31512. var _this = this;
  31513. if (template.isCompiled) {
  31514. return;
  31515. }
  31516. var compMeta = template.normalizedCompMeta;
  31517. var externalStylesheetsByModuleUrl = new Map();
  31518. var stylesCompileResult = this._styleCompiler.compileComponent(compMeta);
  31519. stylesCompileResult.externalStylesheets.forEach(function (r) { externalStylesheetsByModuleUrl.set(r.meta.moduleUrl, r); });
  31520. this._resolveStylesCompileResult(stylesCompileResult.componentStylesheet, externalStylesheetsByModuleUrl);
  31521. var viewCompMetas = template.viewComponentTypes.map(function (compType) { return _this._assertComponentLoaded(compType, false).normalizedCompMeta; });
  31522. var parsedTemplate = this._templateParser.parse(compMeta, compMeta.template.template, template.viewDirectives.concat(viewCompMetas), template.viewPipes, template.schemas, compMeta.type.name);
  31523. var compileResult = this._viewCompiler.compileComponent(compMeta, parsedTemplate, __WEBPACK_IMPORTED_MODULE_7__output_output_ast__["e" /* variable */](stylesCompileResult.componentStylesheet.stylesVar), template.viewPipes);
  31524. compileResult.dependencies.forEach(function (dep) {
  31525. var depTemplate;
  31526. if (dep instanceof __WEBPACK_IMPORTED_MODULE_14__view_compiler_view_compiler__["a" /* ViewFactoryDependency */]) {
  31527. var vfd = dep;
  31528. depTemplate = _this._assertComponentLoaded(vfd.comp.reference, false);
  31529. vfd.placeholder.reference = depTemplate.proxyViewFactory;
  31530. vfd.placeholder.name = "viewFactory_" + vfd.comp.name;
  31531. }
  31532. else if (dep instanceof __WEBPACK_IMPORTED_MODULE_14__view_compiler_view_compiler__["b" /* ComponentFactoryDependency */]) {
  31533. var cfd = dep;
  31534. depTemplate = _this._assertComponentLoaded(cfd.comp.reference, true);
  31535. cfd.placeholder.reference = depTemplate.proxyComponentFactory;
  31536. cfd.placeholder.name = "compFactory_" + cfd.comp.name;
  31537. }
  31538. });
  31539. var statements = stylesCompileResult.componentStylesheet.statements.concat(compileResult.statements);
  31540. var factory;
  31541. if (!this._compilerConfig.useJit) {
  31542. factory = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__output_output_interpreter__["a" /* interpretStatements */])(statements, compileResult.viewFactoryVar);
  31543. }
  31544. else {
  31545. factory = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__output_output_jit__["a" /* jitStatements */])("" + template.compType.name + (template.isHost ? '_Host' : '') + ".ngfactory.js", statements, compileResult.viewFactoryVar);
  31546. }
  31547. template.compiled(factory);
  31548. };
  31549. RuntimeCompiler.prototype._resolveStylesCompileResult = function (result, externalStylesheetsByModuleUrl) {
  31550. var _this = this;
  31551. result.dependencies.forEach(function (dep, i) {
  31552. var nestedCompileResult = externalStylesheetsByModuleUrl.get(dep.moduleUrl);
  31553. var nestedStylesArr = _this._resolveAndEvalStylesCompileResult(nestedCompileResult, externalStylesheetsByModuleUrl);
  31554. dep.valuePlaceholder.reference = nestedStylesArr;
  31555. dep.valuePlaceholder.name = "importedStyles" + i;
  31556. });
  31557. };
  31558. RuntimeCompiler.prototype._resolveAndEvalStylesCompileResult = function (result, externalStylesheetsByModuleUrl) {
  31559. this._resolveStylesCompileResult(result, externalStylesheetsByModuleUrl);
  31560. if (!this._compilerConfig.useJit) {
  31561. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__output_output_interpreter__["a" /* interpretStatements */])(result.statements, result.stylesVar);
  31562. }
  31563. else {
  31564. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__output_output_jit__["a" /* jitStatements */])(result.meta.moduleUrl + ".css.js", result.statements, result.stylesVar);
  31565. }
  31566. };
  31567. RuntimeCompiler.decorators = [
  31568. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  31569. ];
  31570. /** @nocollapse */
  31571. RuntimeCompiler.ctorParameters = [
  31572. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injector"], },
  31573. { type: __WEBPACK_IMPORTED_MODULE_5__metadata_resolver__["a" /* CompileMetadataResolver */], },
  31574. { type: __WEBPACK_IMPORTED_MODULE_3__directive_normalizer__["a" /* DirectiveNormalizer */], },
  31575. { type: __WEBPACK_IMPORTED_MODULE_12__template_parser_template_parser__["a" /* TemplateParser */], },
  31576. { type: __WEBPACK_IMPORTED_MODULE_11__style_compiler__["a" /* StyleCompiler */], },
  31577. { type: __WEBPACK_IMPORTED_MODULE_14__view_compiler_view_compiler__["c" /* ViewCompiler */], },
  31578. { type: __WEBPACK_IMPORTED_MODULE_6__ng_module_compiler__["a" /* NgModuleCompiler */], },
  31579. { type: __WEBPACK_IMPORTED_MODULE_2__config__["a" /* CompilerConfig */], },
  31580. ];
  31581. return RuntimeCompiler;
  31582. }());
  31583. var CompiledTemplate = (function () {
  31584. function CompiledTemplate(isHost, selector, compType, viewDirectivesAndComponents, viewPipes, schemas, _normalizeResult) {
  31585. var _this = this;
  31586. this.isHost = isHost;
  31587. this.compType = compType;
  31588. this.viewPipes = viewPipes;
  31589. this.schemas = schemas;
  31590. this._viewFactory = null;
  31591. this.loading = null;
  31592. this._normalizedCompMeta = null;
  31593. this.isCompiled = false;
  31594. this.isCompiledWithDeps = false;
  31595. this.viewComponentTypes = [];
  31596. this.viewDirectives = [];
  31597. viewDirectivesAndComponents.forEach(function (dirMeta) {
  31598. if (dirMeta.isComponent) {
  31599. _this.viewComponentTypes.push(dirMeta.type.reference);
  31600. }
  31601. else {
  31602. _this.viewDirectives.push(dirMeta);
  31603. }
  31604. });
  31605. this.proxyViewFactory = function () {
  31606. var args = [];
  31607. for (var _i = 0; _i < arguments.length; _i++) {
  31608. args[_i - 0] = arguments[_i];
  31609. }
  31610. if (!_this._viewFactory) {
  31611. throw new Error("Illegal state: CompiledTemplate for " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["q" /* stringify */])(_this.compType) + " is not compiled yet!");
  31612. }
  31613. return _this._viewFactory.apply(null, args);
  31614. };
  31615. this.proxyComponentFactory = isHost ?
  31616. new __WEBPACK_IMPORTED_MODULE_0__angular_core__["ComponentFactory"](selector, this.proxyViewFactory, compType.reference) :
  31617. null;
  31618. if (_normalizeResult.syncResult) {
  31619. this._normalizedCompMeta = _normalizeResult.syncResult;
  31620. }
  31621. else {
  31622. this.loading = _normalizeResult.asyncResult.then(function (normalizedCompMeta) {
  31623. _this._normalizedCompMeta = normalizedCompMeta;
  31624. _this.loading = null;
  31625. });
  31626. }
  31627. }
  31628. Object.defineProperty(CompiledTemplate.prototype, "normalizedCompMeta", {
  31629. get: function () {
  31630. if (this.loading) {
  31631. throw new Error("Template is still loading for " + this.compType.name + "!");
  31632. }
  31633. return this._normalizedCompMeta;
  31634. },
  31635. enumerable: true,
  31636. configurable: true
  31637. });
  31638. CompiledTemplate.prototype.compiled = function (viewFactory) {
  31639. this._viewFactory = viewFactory;
  31640. this.isCompiled = true;
  31641. };
  31642. CompiledTemplate.prototype.depsCompiled = function () { this.isCompiledWithDeps = true; };
  31643. return CompiledTemplate;
  31644. }());
  31645. function assertComponent(meta) {
  31646. if (!meta.isComponent) {
  31647. throw new Error("Could not compile '" + meta.type.name + "' because it is not a component.");
  31648. }
  31649. }
  31650. /**
  31651. * Implements `Compiler` by delegating to the RuntimeCompiler using a known module.
  31652. */
  31653. var ModuleBoundCompiler = (function () {
  31654. function ModuleBoundCompiler(_delegate, _ngModule) {
  31655. this._delegate = _delegate;
  31656. this._ngModule = _ngModule;
  31657. }
  31658. Object.defineProperty(ModuleBoundCompiler.prototype, "_injector", {
  31659. get: function () { return this._delegate.injector; },
  31660. enumerable: true,
  31661. configurable: true
  31662. });
  31663. ModuleBoundCompiler.prototype.compileModuleSync = function (moduleType) {
  31664. return this._delegate.compileModuleSync(moduleType);
  31665. };
  31666. ModuleBoundCompiler.prototype.compileModuleAsync = function (moduleType) {
  31667. return this._delegate.compileModuleAsync(moduleType);
  31668. };
  31669. ModuleBoundCompiler.prototype.compileModuleAndAllComponentsSync = function (moduleType) {
  31670. return this._delegate.compileModuleAndAllComponentsSync(moduleType);
  31671. };
  31672. ModuleBoundCompiler.prototype.compileModuleAndAllComponentsAsync = function (moduleType) {
  31673. return this._delegate.compileModuleAndAllComponentsAsync(moduleType);
  31674. };
  31675. /**
  31676. * Clears all caches
  31677. */
  31678. ModuleBoundCompiler.prototype.clearCache = function () { this._delegate.clearCache(); };
  31679. /**
  31680. * Clears the cache for the given component/ngModule.
  31681. */
  31682. ModuleBoundCompiler.prototype.clearCacheFor = function (type) { this._delegate.clearCacheFor(type); };
  31683. return ModuleBoundCompiler;
  31684. }());
  31685. //# sourceMappingURL=runtime_compiler.js.map
  31686. /***/ },
  31687. /* 292 */
  31688. /***/ function(module, exports, __webpack_require__) {
  31689. "use strict";
  31690. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  31691. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__dom_security_schema__ = __webpack_require__(465);
  31692. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__element_schema_registry__ = __webpack_require__(105);
  31693. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DomElementSchemaRegistry; });
  31694. /**
  31695. * @license
  31696. * Copyright Google Inc. All Rights Reserved.
  31697. *
  31698. * Use of this source code is governed by an MIT-style license that can be
  31699. * found in the LICENSE file at https://angular.io/license
  31700. */
  31701. var __extends = (this && this.__extends) || function (d, b) {
  31702. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  31703. function __() { this.constructor = d; }
  31704. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  31705. };
  31706. var BOOLEAN = 'boolean';
  31707. var NUMBER = 'number';
  31708. var STRING = 'string';
  31709. var OBJECT = 'object';
  31710. /**
  31711. * This array represents the DOM schema. It encodes inheritance, properties, and events.
  31712. *
  31713. * ## Overview
  31714. *
  31715. * Each line represents one kind of element. The `element_inheritance` and properties are joined
  31716. * using `element_inheritance|properties` syntax.
  31717. *
  31718. * ## Element Inheritance
  31719. *
  31720. * The `element_inheritance` can be further subdivided as `element1,element2,...^parentElement`.
  31721. * Here the individual elements are separated by `,` (commas). Every element in the list
  31722. * has identical properties.
  31723. *
  31724. * An `element` may inherit additional properties from `parentElement` If no `^parentElement` is
  31725. * specified then `""` (blank) element is assumed.
  31726. *
  31727. * NOTE: The blank element inherits from root `[Element]` element, the super element of all
  31728. * elements.
  31729. *
  31730. * NOTE an element prefix such as `:svg:` has no special meaning to the schema.
  31731. *
  31732. * ## Properties
  31733. *
  31734. * Each element has a set of properties separated by `,` (commas). Each property can be prefixed
  31735. * by a special character designating its type:
  31736. *
  31737. * - (no prefix): property is a string.
  31738. * - `*`: property represents an event.
  31739. * - `!`: property is a boolean.
  31740. * - `#`: property is a number.
  31741. * - `%`: property is an object.
  31742. *
  31743. * ## Query
  31744. *
  31745. * The class creates an internal squas representation which allows to easily answer the query of
  31746. * if a given property exist on a given element.
  31747. *
  31748. * NOTE: We don't yet support querying for types or events.
  31749. * NOTE: This schema is auto extracted from `schema_extractor.ts` located in the test folder,
  31750. * see dom_element_schema_registry_spec.ts
  31751. */
  31752. // =================================================================================================
  31753. // =================================================================================================
  31754. // =========== S T O P - S T O P - S T O P - S T O P - S T O P - S T O P ===========
  31755. // =================================================================================================
  31756. // =================================================================================================
  31757. //
  31758. // DO NOT EDIT THIS DOM SCHEMA WITHOUT A SECURITY REVIEW!
  31759. //
  31760. // Newly added properties must be security reviewed and assigned an appropriate SecurityContext in
  31761. // dom_security_schema.ts. Reach out to mprobst & rjamet for details.
  31762. //
  31763. // =================================================================================================
  31764. var SCHEMA = [
  31765. '[Element]|textContent,%classList,className,id,innerHTML,*beforecopy,*beforecut,*beforepaste,*copy,*cut,*paste,*search,*selectstart,*webkitfullscreenchange,*webkitfullscreenerror,*wheel,outerHTML,#scrollLeft,#scrollTop',
  31766. '[HTMLElement]^[Element]|accessKey,contentEditable,dir,!draggable,!hidden,innerText,lang,*abort,*beforecopy,*beforecut,*beforepaste,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*message,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*paste,*pause,*play,*playing,*progress,*ratechange,*reset,*resize,*scroll,*search,*seeked,*seeking,*select,*selectstart,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored,*webkitfullscreenchange,*webkitfullscreenerror,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate',
  31767. 'abbr,address,article,aside,b,bdi,bdo,cite,code,dd,dfn,dt,em,figcaption,figure,footer,header,i,kbd,main,mark,nav,noscript,rb,rp,rt,rtc,ruby,s,samp,section,small,strong,sub,sup,u,var,wbr^[HTMLElement]|accessKey,contentEditable,dir,!draggable,!hidden,innerText,lang,*abort,*beforecopy,*beforecut,*beforepaste,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*message,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*paste,*pause,*play,*playing,*progress,*ratechange,*reset,*resize,*scroll,*search,*seeked,*seeking,*select,*selectstart,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored,*webkitfullscreenchange,*webkitfullscreenerror,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate',
  31768. 'media^[HTMLElement]|!autoplay,!controls,%crossOrigin,#currentTime,!defaultMuted,#defaultPlaybackRate,!disableRemotePlayback,!loop,!muted,*encrypted,#playbackRate,preload,src,%srcObject,#volume',
  31769. ':svg:^[HTMLElement]|*abort,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*cuechange,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*pause,*play,*playing,*progress,*ratechange,*reset,*resize,*scroll,*seeked,*seeking,*select,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,%style,#tabIndex',
  31770. ':svg:graphics^:svg:|',
  31771. ':svg:animation^:svg:|*begin,*end,*repeat',
  31772. ':svg:geometry^:svg:|',
  31773. ':svg:componentTransferFunction^:svg:|',
  31774. ':svg:gradient^:svg:|',
  31775. ':svg:textContent^:svg:graphics|',
  31776. ':svg:textPositioning^:svg:textContent|',
  31777. 'a^[HTMLElement]|charset,coords,download,hash,host,hostname,href,hreflang,name,password,pathname,ping,port,protocol,referrerPolicy,rel,rev,search,shape,target,text,type,username',
  31778. 'area^[HTMLElement]|alt,coords,hash,host,hostname,href,!noHref,password,pathname,ping,port,protocol,referrerPolicy,search,shape,target,username',
  31779. 'audio^media|',
  31780. 'br^[HTMLElement]|clear',
  31781. 'base^[HTMLElement]|href,target',
  31782. 'body^[HTMLElement]|aLink,background,bgColor,link,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,text,vLink',
  31783. 'button^[HTMLElement]|!autofocus,!disabled,formAction,formEnctype,formMethod,!formNoValidate,formTarget,name,type,value',
  31784. 'canvas^[HTMLElement]|#height,#width',
  31785. 'content^[HTMLElement]|select',
  31786. 'dl^[HTMLElement]|!compact',
  31787. 'datalist^[HTMLElement]|',
  31788. 'details^[HTMLElement]|!open',
  31789. 'dialog^[HTMLElement]|!open,returnValue',
  31790. 'dir^[HTMLElement]|!compact',
  31791. 'div^[HTMLElement]|align',
  31792. 'embed^[HTMLElement]|align,height,name,src,type,width',
  31793. 'fieldset^[HTMLElement]|!disabled,name',
  31794. 'font^[HTMLElement]|color,face,size',
  31795. 'form^[HTMLElement]|acceptCharset,action,autocomplete,encoding,enctype,method,name,!noValidate,target',
  31796. 'frame^[HTMLElement]|frameBorder,longDesc,marginHeight,marginWidth,name,!noResize,scrolling,src',
  31797. 'frameset^[HTMLElement]|cols,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,rows',
  31798. 'hr^[HTMLElement]|align,color,!noShade,size,width',
  31799. 'head^[HTMLElement]|',
  31800. 'h1,h2,h3,h4,h5,h6^[HTMLElement]|align',
  31801. 'html^[HTMLElement]|version',
  31802. 'iframe^[HTMLElement]|align,!allowFullscreen,frameBorder,height,longDesc,marginHeight,marginWidth,name,referrerPolicy,%sandbox,scrolling,src,srcdoc,width',
  31803. 'img^[HTMLElement]|align,alt,border,%crossOrigin,#height,#hspace,!isMap,longDesc,lowsrc,name,referrerPolicy,sizes,src,srcset,useMap,#vspace,#width',
  31804. 'input^[HTMLElement]|accept,align,alt,autocapitalize,autocomplete,!autofocus,!checked,!defaultChecked,defaultValue,dirName,!disabled,%files,formAction,formEnctype,formMethod,!formNoValidate,formTarget,#height,!incremental,!indeterminate,max,#maxLength,min,#minLength,!multiple,name,pattern,placeholder,!readOnly,!required,selectionDirection,#selectionEnd,#selectionStart,#size,src,step,type,useMap,value,%valueAsDate,#valueAsNumber,#width',
  31805. 'keygen^[HTMLElement]|!autofocus,challenge,!disabled,keytype,name',
  31806. 'li^[HTMLElement]|type,#value',
  31807. 'label^[HTMLElement]|htmlFor',
  31808. 'legend^[HTMLElement]|align',
  31809. 'link^[HTMLElement]|as,charset,%crossOrigin,!disabled,href,hreflang,integrity,media,rel,%relList,rev,%sizes,target,type',
  31810. 'map^[HTMLElement]|name',
  31811. 'marquee^[HTMLElement]|behavior,bgColor,direction,height,#hspace,#loop,#scrollAmount,#scrollDelay,!trueSpeed,#vspace,width',
  31812. 'menu^[HTMLElement]|!compact',
  31813. 'meta^[HTMLElement]|content,httpEquiv,name,scheme',
  31814. 'meter^[HTMLElement]|#high,#low,#max,#min,#optimum,#value',
  31815. 'ins,del^[HTMLElement]|cite,dateTime',
  31816. 'ol^[HTMLElement]|!compact,!reversed,#start,type',
  31817. 'object^[HTMLElement]|align,archive,border,code,codeBase,codeType,data,!declare,height,#hspace,name,standby,type,useMap,#vspace,width',
  31818. 'optgroup^[HTMLElement]|!disabled,label',
  31819. 'option^[HTMLElement]|!defaultSelected,!disabled,label,!selected,text,value',
  31820. 'output^[HTMLElement]|defaultValue,%htmlFor,name,value',
  31821. 'p^[HTMLElement]|align',
  31822. 'param^[HTMLElement]|name,type,value,valueType',
  31823. 'picture^[HTMLElement]|',
  31824. 'pre^[HTMLElement]|#width',
  31825. 'progress^[HTMLElement]|#max,#value',
  31826. 'q,blockquote,cite^[HTMLElement]|',
  31827. 'script^[HTMLElement]|!async,charset,%crossOrigin,!defer,event,htmlFor,integrity,src,text,type',
  31828. 'select^[HTMLElement]|!autofocus,!disabled,#length,!multiple,name,!required,#selectedIndex,#size,value',
  31829. 'shadow^[HTMLElement]|',
  31830. 'source^[HTMLElement]|media,sizes,src,srcset,type',
  31831. 'span^[HTMLElement]|',
  31832. 'style^[HTMLElement]|!disabled,media,type',
  31833. 'caption^[HTMLElement]|align',
  31834. 'th,td^[HTMLElement]|abbr,align,axis,bgColor,ch,chOff,#colSpan,headers,height,!noWrap,#rowSpan,scope,vAlign,width',
  31835. 'col,colgroup^[HTMLElement]|align,ch,chOff,#span,vAlign,width',
  31836. 'table^[HTMLElement]|align,bgColor,border,%caption,cellPadding,cellSpacing,frame,rules,summary,%tFoot,%tHead,width',
  31837. 'tr^[HTMLElement]|align,bgColor,ch,chOff,vAlign',
  31838. 'tfoot,thead,tbody^[HTMLElement]|align,ch,chOff,vAlign',
  31839. 'template^[HTMLElement]|',
  31840. 'textarea^[HTMLElement]|autocapitalize,!autofocus,#cols,defaultValue,dirName,!disabled,#maxLength,#minLength,name,placeholder,!readOnly,!required,#rows,selectionDirection,#selectionEnd,#selectionStart,value,wrap',
  31841. 'title^[HTMLElement]|text',
  31842. 'track^[HTMLElement]|!default,kind,label,src,srclang',
  31843. 'ul^[HTMLElement]|!compact,type',
  31844. 'unknown^[HTMLElement]|',
  31845. 'video^media|#height,poster,#width',
  31846. ':svg:a^:svg:graphics|',
  31847. ':svg:animate^:svg:animation|',
  31848. ':svg:animateMotion^:svg:animation|',
  31849. ':svg:animateTransform^:svg:animation|',
  31850. ':svg:circle^:svg:geometry|',
  31851. ':svg:clipPath^:svg:graphics|',
  31852. ':svg:cursor^:svg:|',
  31853. ':svg:defs^:svg:graphics|',
  31854. ':svg:desc^:svg:|',
  31855. ':svg:discard^:svg:|',
  31856. ':svg:ellipse^:svg:geometry|',
  31857. ':svg:feBlend^:svg:|',
  31858. ':svg:feColorMatrix^:svg:|',
  31859. ':svg:feComponentTransfer^:svg:|',
  31860. ':svg:feComposite^:svg:|',
  31861. ':svg:feConvolveMatrix^:svg:|',
  31862. ':svg:feDiffuseLighting^:svg:|',
  31863. ':svg:feDisplacementMap^:svg:|',
  31864. ':svg:feDistantLight^:svg:|',
  31865. ':svg:feDropShadow^:svg:|',
  31866. ':svg:feFlood^:svg:|',
  31867. ':svg:feFuncA^:svg:componentTransferFunction|',
  31868. ':svg:feFuncB^:svg:componentTransferFunction|',
  31869. ':svg:feFuncG^:svg:componentTransferFunction|',
  31870. ':svg:feFuncR^:svg:componentTransferFunction|',
  31871. ':svg:feGaussianBlur^:svg:|',
  31872. ':svg:feImage^:svg:|',
  31873. ':svg:feMerge^:svg:|',
  31874. ':svg:feMergeNode^:svg:|',
  31875. ':svg:feMorphology^:svg:|',
  31876. ':svg:feOffset^:svg:|',
  31877. ':svg:fePointLight^:svg:|',
  31878. ':svg:feSpecularLighting^:svg:|',
  31879. ':svg:feSpotLight^:svg:|',
  31880. ':svg:feTile^:svg:|',
  31881. ':svg:feTurbulence^:svg:|',
  31882. ':svg:filter^:svg:|',
  31883. ':svg:foreignObject^:svg:graphics|',
  31884. ':svg:g^:svg:graphics|',
  31885. ':svg:image^:svg:graphics|',
  31886. ':svg:line^:svg:geometry|',
  31887. ':svg:linearGradient^:svg:gradient|',
  31888. ':svg:mpath^:svg:|',
  31889. ':svg:marker^:svg:|',
  31890. ':svg:mask^:svg:|',
  31891. ':svg:metadata^:svg:|',
  31892. ':svg:path^:svg:geometry|',
  31893. ':svg:pattern^:svg:|',
  31894. ':svg:polygon^:svg:geometry|',
  31895. ':svg:polyline^:svg:geometry|',
  31896. ':svg:radialGradient^:svg:gradient|',
  31897. ':svg:rect^:svg:geometry|',
  31898. ':svg:svg^:svg:graphics|#currentScale,#zoomAndPan',
  31899. ':svg:script^:svg:|type',
  31900. ':svg:set^:svg:animation|',
  31901. ':svg:stop^:svg:|',
  31902. ':svg:style^:svg:|!disabled,media,title,type',
  31903. ':svg:switch^:svg:graphics|',
  31904. ':svg:symbol^:svg:|',
  31905. ':svg:tspan^:svg:textPositioning|',
  31906. ':svg:text^:svg:textPositioning|',
  31907. ':svg:textPath^:svg:textContent|',
  31908. ':svg:title^:svg:|',
  31909. ':svg:use^:svg:graphics|',
  31910. ':svg:view^:svg:|#zoomAndPan',
  31911. 'data^[HTMLElement]|value',
  31912. 'menuitem^[HTMLElement]|type,label,icon,!disabled,!checked,radiogroup,!default',
  31913. 'summary^[HTMLElement]|',
  31914. 'time^[HTMLElement]|dateTime',
  31915. ];
  31916. var _ATTR_TO_PROP = {
  31917. 'class': 'className',
  31918. 'formaction': 'formAction',
  31919. 'innerHtml': 'innerHTML',
  31920. 'readonly': 'readOnly',
  31921. 'tabindex': 'tabIndex',
  31922. };
  31923. var DomElementSchemaRegistry = (function (_super) {
  31924. __extends(DomElementSchemaRegistry, _super);
  31925. function DomElementSchemaRegistry() {
  31926. var _this = this;
  31927. _super.call(this);
  31928. this._schema = {};
  31929. SCHEMA.forEach(function (encodedType) {
  31930. var type = {};
  31931. var _a = encodedType.split('|'), strType = _a[0], strProperties = _a[1];
  31932. var properties = strProperties.split(',');
  31933. var _b = strType.split('^'), typeNames = _b[0], superName = _b[1];
  31934. typeNames.split(',').forEach(function (tag) { return _this._schema[tag.toLowerCase()] = type; });
  31935. var superType = superName && _this._schema[superName.toLowerCase()];
  31936. if (superType) {
  31937. Object.keys(superType).forEach(function (prop) { type[prop] = superType[prop]; });
  31938. }
  31939. properties.forEach(function (property) {
  31940. if (property.length > 0) {
  31941. switch (property[0]) {
  31942. case '*':
  31943. // We don't yet support events.
  31944. // If ever allowing to bind to events, GO THROUGH A SECURITY REVIEW, allowing events
  31945. // will
  31946. // almost certainly introduce bad XSS vulnerabilities.
  31947. // type[property.substring(1)] = EVENT;
  31948. break;
  31949. case '!':
  31950. type[property.substring(1)] = BOOLEAN;
  31951. break;
  31952. case '#':
  31953. type[property.substring(1)] = NUMBER;
  31954. break;
  31955. case '%':
  31956. type[property.substring(1)] = OBJECT;
  31957. break;
  31958. default:
  31959. type[property] = STRING;
  31960. }
  31961. }
  31962. });
  31963. });
  31964. }
  31965. DomElementSchemaRegistry.prototype.hasProperty = function (tagName, propName, schemaMetas) {
  31966. if (schemaMetas.some(function (schema) { return schema.name === __WEBPACK_IMPORTED_MODULE_0__angular_core__["NO_ERRORS_SCHEMA"].name; })) {
  31967. return true;
  31968. }
  31969. if (tagName.indexOf('-') > -1) {
  31970. if (tagName === 'ng-container' || tagName === 'ng-content') {
  31971. return false;
  31972. }
  31973. if (schemaMetas.some(function (schema) { return schema.name === __WEBPACK_IMPORTED_MODULE_0__angular_core__["CUSTOM_ELEMENTS_SCHEMA"].name; })) {
  31974. // Can't tell now as we don't know which properties a custom element will get
  31975. // once it is instantiated
  31976. return true;
  31977. }
  31978. }
  31979. var elementProperties = this._schema[tagName.toLowerCase()] || this._schema['unknown'];
  31980. return !!elementProperties[propName];
  31981. };
  31982. DomElementSchemaRegistry.prototype.hasElement = function (tagName, schemaMetas) {
  31983. if (schemaMetas.some(function (schema) { return schema.name === __WEBPACK_IMPORTED_MODULE_0__angular_core__["NO_ERRORS_SCHEMA"].name; })) {
  31984. return true;
  31985. }
  31986. if (tagName.indexOf('-') > -1) {
  31987. if (tagName === 'ng-container' || tagName === 'ng-content') {
  31988. return true;
  31989. }
  31990. if (schemaMetas.some(function (schema) { return schema.name === __WEBPACK_IMPORTED_MODULE_0__angular_core__["CUSTOM_ELEMENTS_SCHEMA"].name; })) {
  31991. // Allow any custom elements
  31992. return true;
  31993. }
  31994. }
  31995. return !!this._schema[tagName.toLowerCase()];
  31996. };
  31997. /**
  31998. * securityContext returns the security context for the given property on the given DOM tag.
  31999. *
  32000. * Tag and property name are statically known and cannot change at runtime, i.e. it is not
  32001. * possible to bind a value into a changing attribute or tag name.
  32002. *
  32003. * The filtering is white list based. All attributes in the schema above are assumed to have the
  32004. * 'NONE' security context, i.e. that they are safe inert string values. Only specific well known
  32005. * attack vectors are assigned their appropriate context.
  32006. */
  32007. DomElementSchemaRegistry.prototype.securityContext = function (tagName, propName) {
  32008. // Make sure comparisons are case insensitive, so that case differences between attribute and
  32009. // property names do not have a security impact.
  32010. tagName = tagName.toLowerCase();
  32011. propName = propName.toLowerCase();
  32012. var ctx = __WEBPACK_IMPORTED_MODULE_1__dom_security_schema__["a" /* SECURITY_SCHEMA */][tagName + '|' + propName];
  32013. if (ctx) {
  32014. return ctx;
  32015. }
  32016. ctx = __WEBPACK_IMPORTED_MODULE_1__dom_security_schema__["a" /* SECURITY_SCHEMA */]['*|' + propName];
  32017. return ctx ? ctx : __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].NONE;
  32018. };
  32019. DomElementSchemaRegistry.prototype.getMappedPropName = function (propName) { return _ATTR_TO_PROP[propName] || propName; };
  32020. DomElementSchemaRegistry.prototype.getDefaultComponentElementName = function () { return 'ng-component'; };
  32021. DomElementSchemaRegistry.decorators = [
  32022. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  32023. ];
  32024. /** @nocollapse */
  32025. DomElementSchemaRegistry.ctorParameters = [];
  32026. return DomElementSchemaRegistry;
  32027. }(__WEBPACK_IMPORTED_MODULE_2__element_schema_registry__["a" /* ElementSchemaRegistry */]));
  32028. //# sourceMappingURL=dom_element_schema_registry.js.map
  32029. /***/ },
  32030. /* 293 */
  32031. /***/ function(module, exports, __webpack_require__) {
  32032. "use strict";
  32033. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(4);
  32034. /* unused harmony export StyleWithImports */
  32035. /* harmony export (immutable) */ exports["a"] = isStyleUrlResolvable;
  32036. /* harmony export (immutable) */ exports["b"] = extractStyleUrls;
  32037. /**
  32038. * @license
  32039. * Copyright Google Inc. All Rights Reserved.
  32040. *
  32041. * Use of this source code is governed by an MIT-style license that can be
  32042. * found in the LICENSE file at https://angular.io/license
  32043. */
  32044. var StyleWithImports = (function () {
  32045. function StyleWithImports(style, styleUrls) {
  32046. this.style = style;
  32047. this.styleUrls = styleUrls;
  32048. }
  32049. return StyleWithImports;
  32050. }());
  32051. function isStyleUrlResolvable(url) {
  32052. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(url) || url.length === 0 || url[0] == '/')
  32053. return false;
  32054. var schemeMatch = url.match(_urlWithSchemaRe);
  32055. return schemeMatch === null || schemeMatch[1] == 'package' || schemeMatch[1] == 'asset';
  32056. }
  32057. /**
  32058. * Rewrites stylesheets by resolving and removing the @import urls that
  32059. * are either relative or don't have a `package:` scheme
  32060. */
  32061. function extractStyleUrls(resolver, baseUrl, cssText) {
  32062. var foundUrls = [];
  32063. var modifiedCssText = __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replaceAllMapped(cssText, _cssImportRe, function (m) {
  32064. var url = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(m[1]) ? m[1] : m[2];
  32065. if (!isStyleUrlResolvable(url)) {
  32066. // Do not attempt to resolve non-package absolute URLs with URI scheme
  32067. return m[0];
  32068. }
  32069. foundUrls.push(resolver.resolve(baseUrl, url));
  32070. return '';
  32071. });
  32072. return new StyleWithImports(modifiedCssText, foundUrls);
  32073. }
  32074. var _cssImportRe = /@import\s+(?:url\()?\s*(?:(?:['"]([^'"]*))|([^;\)\s]*))[^;]*;?/g;
  32075. var _urlWithSchemaRe = /^([^:/?#]+):/;
  32076. //# sourceMappingURL=style_url_resolver.js.map
  32077. /***/ },
  32078. /* 294 */
  32079. /***/ function(module, exports, __webpack_require__) {
  32080. "use strict";
  32081. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ml_parser_tags__ = __webpack_require__(87);
  32082. /* harmony export (immutable) */ exports["a"] = preparseElement;
  32083. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return PreparsedElementType; });
  32084. /* unused harmony export PreparsedElement */
  32085. /**
  32086. * @license
  32087. * Copyright Google Inc. All Rights Reserved.
  32088. *
  32089. * Use of this source code is governed by an MIT-style license that can be
  32090. * found in the LICENSE file at https://angular.io/license
  32091. */
  32092. var NG_CONTENT_SELECT_ATTR = 'select';
  32093. var NG_CONTENT_ELEMENT = 'ng-content';
  32094. var LINK_ELEMENT = 'link';
  32095. var LINK_STYLE_REL_ATTR = 'rel';
  32096. var LINK_STYLE_HREF_ATTR = 'href';
  32097. var LINK_STYLE_REL_VALUE = 'stylesheet';
  32098. var STYLE_ELEMENT = 'style';
  32099. var SCRIPT_ELEMENT = 'script';
  32100. var NG_NON_BINDABLE_ATTR = 'ngNonBindable';
  32101. var NG_PROJECT_AS = 'ngProjectAs';
  32102. function preparseElement(ast) {
  32103. var selectAttr = null;
  32104. var hrefAttr = null;
  32105. var relAttr = null;
  32106. var nonBindable = false;
  32107. var projectAs = null;
  32108. ast.attrs.forEach(function (attr) {
  32109. var lcAttrName = attr.name.toLowerCase();
  32110. if (lcAttrName == NG_CONTENT_SELECT_ATTR) {
  32111. selectAttr = attr.value;
  32112. }
  32113. else if (lcAttrName == LINK_STYLE_HREF_ATTR) {
  32114. hrefAttr = attr.value;
  32115. }
  32116. else if (lcAttrName == LINK_STYLE_REL_ATTR) {
  32117. relAttr = attr.value;
  32118. }
  32119. else if (attr.name == NG_NON_BINDABLE_ATTR) {
  32120. nonBindable = true;
  32121. }
  32122. else if (attr.name == NG_PROJECT_AS) {
  32123. if (attr.value.length > 0) {
  32124. projectAs = attr.value;
  32125. }
  32126. }
  32127. });
  32128. selectAttr = normalizeNgContentSelect(selectAttr);
  32129. var nodeName = ast.name.toLowerCase();
  32130. var type = PreparsedElementType.OTHER;
  32131. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__ml_parser_tags__["e" /* splitNsName */])(nodeName)[1] == NG_CONTENT_ELEMENT) {
  32132. type = PreparsedElementType.NG_CONTENT;
  32133. }
  32134. else if (nodeName == STYLE_ELEMENT) {
  32135. type = PreparsedElementType.STYLE;
  32136. }
  32137. else if (nodeName == SCRIPT_ELEMENT) {
  32138. type = PreparsedElementType.SCRIPT;
  32139. }
  32140. else if (nodeName == LINK_ELEMENT && relAttr == LINK_STYLE_REL_VALUE) {
  32141. type = PreparsedElementType.STYLESHEET;
  32142. }
  32143. return new PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs);
  32144. }
  32145. var PreparsedElementType;
  32146. (function (PreparsedElementType) {
  32147. PreparsedElementType[PreparsedElementType["NG_CONTENT"] = 0] = "NG_CONTENT";
  32148. PreparsedElementType[PreparsedElementType["STYLE"] = 1] = "STYLE";
  32149. PreparsedElementType[PreparsedElementType["STYLESHEET"] = 2] = "STYLESHEET";
  32150. PreparsedElementType[PreparsedElementType["SCRIPT"] = 3] = "SCRIPT";
  32151. PreparsedElementType[PreparsedElementType["OTHER"] = 4] = "OTHER";
  32152. })(PreparsedElementType || (PreparsedElementType = {}));
  32153. var PreparsedElement = (function () {
  32154. function PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs) {
  32155. this.type = type;
  32156. this.selectAttr = selectAttr;
  32157. this.hrefAttr = hrefAttr;
  32158. this.nonBindable = nonBindable;
  32159. this.projectAs = projectAs;
  32160. }
  32161. return PreparsedElement;
  32162. }());
  32163. function normalizeNgContentSelect(selectAttr) {
  32164. if (selectAttr === null || selectAttr.length === 0) {
  32165. return '*';
  32166. }
  32167. return selectAttr;
  32168. }
  32169. //# sourceMappingURL=template_preparser.js.map
  32170. /***/ },
  32171. /* 295 */
  32172. /***/ function(module, exports, __webpack_require__) {
  32173. "use strict";
  32174. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return CompileBinding; });
  32175. /**
  32176. * @license
  32177. * Copyright Google Inc. All Rights Reserved.
  32178. *
  32179. * Use of this source code is governed by an MIT-style license that can be
  32180. * found in the LICENSE file at https://angular.io/license
  32181. */
  32182. var CompileBinding = (function () {
  32183. function CompileBinding(node, sourceAst) {
  32184. this.node = node;
  32185. this.sourceAst = sourceAst;
  32186. }
  32187. return CompileBinding;
  32188. }());
  32189. //# sourceMappingURL=compile_binding.js.map
  32190. /***/ },
  32191. /* 296 */
  32192. /***/ function(module, exports, __webpack_require__) {
  32193. "use strict";
  32194. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__compile_metadata__ = __webpack_require__(25);
  32195. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(13);
  32196. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(4);
  32197. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__identifiers__ = __webpack_require__(19);
  32198. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__output_output_ast__ = __webpack_require__(12);
  32199. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__output_value_util__ = __webpack_require__(289);
  32200. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__template_parser_template_ast__ = __webpack_require__(51);
  32201. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util__ = __webpack_require__(29);
  32202. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__compile_method__ = __webpack_require__(197);
  32203. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__compile_query__ = __webpack_require__(297);
  32204. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__constants__ = __webpack_require__(88);
  32205. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__util__ = __webpack_require__(107);
  32206. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return CompileNode; });
  32207. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return CompileElement; });
  32208. /**
  32209. * @license
  32210. * Copyright Google Inc. All Rights Reserved.
  32211. *
  32212. * Use of this source code is governed by an MIT-style license that can be
  32213. * found in the LICENSE file at https://angular.io/license
  32214. */
  32215. var __extends = (this && this.__extends) || function (d, b) {
  32216. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  32217. function __() { this.constructor = d; }
  32218. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  32219. };
  32220. var CompileNode = (function () {
  32221. function CompileNode(parent, view, nodeIndex, renderNode, sourceAst) {
  32222. this.parent = parent;
  32223. this.view = view;
  32224. this.nodeIndex = nodeIndex;
  32225. this.renderNode = renderNode;
  32226. this.sourceAst = sourceAst;
  32227. }
  32228. CompileNode.prototype.isNull = function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(this.renderNode); };
  32229. CompileNode.prototype.isRootElement = function () { return this.view != this.parent.view; };
  32230. return CompileNode;
  32231. }());
  32232. var CompileElement = (function (_super) {
  32233. __extends(CompileElement, _super);
  32234. function CompileElement(parent, view, nodeIndex, renderNode, sourceAst, component, _directives, _resolvedProvidersArray, hasViewContainer, hasEmbeddedView, references) {
  32235. var _this = this;
  32236. _super.call(this, parent, view, nodeIndex, renderNode, sourceAst);
  32237. this.component = component;
  32238. this._directives = _directives;
  32239. this._resolvedProvidersArray = _resolvedProvidersArray;
  32240. this.hasViewContainer = hasViewContainer;
  32241. this.hasEmbeddedView = hasEmbeddedView;
  32242. this._compViewExpr = null;
  32243. this.instances = new Map();
  32244. this._queryCount = 0;
  32245. this._queries = new Map();
  32246. this._componentConstructorViewQueryLists = [];
  32247. this.contentNodesByNgContentIndex = null;
  32248. this.referenceTokens = {};
  32249. references.forEach(function (ref) { return _this.referenceTokens[ref.name] = ref.value; });
  32250. this.elementRef =
  32251. __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].ElementRef)).instantiate([this.renderNode]);
  32252. this.instances.set(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].ElementRef).reference, this.elementRef);
  32253. this.injector = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].callMethod('injector', [__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["a" /* literal */](this.nodeIndex)]);
  32254. this.instances.set(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].Injector).reference, this.injector);
  32255. this.instances.set(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].Renderer).reference, __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop('renderer'));
  32256. if (this.hasViewContainer || this.hasEmbeddedView || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this.component)) {
  32257. this._createAppElement();
  32258. }
  32259. }
  32260. CompileElement.createNull = function () {
  32261. return new CompileElement(null, null, null, null, null, null, [], [], false, false, []);
  32262. };
  32263. CompileElement.prototype._createAppElement = function () {
  32264. var fieldName = "_appEl_" + this.nodeIndex;
  32265. var parentNodeIndex = this.isRootElement() ? null : this.parent.nodeIndex;
  32266. // private is fine here as no child view will reference an AppElement
  32267. this.view.fields.push(new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["s" /* ClassField */](fieldName, __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].AppElement)), [__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["u" /* StmtModifier */].Private]));
  32268. var statement = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop(fieldName)
  32269. .set(__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].AppElement)).instantiate([
  32270. __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["a" /* literal */](this.nodeIndex), __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["a" /* literal */](parentNodeIndex), __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */], this.renderNode
  32271. ]))
  32272. .toStmt();
  32273. this.view.createMethod.addStmt(statement);
  32274. this.appElement = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop(fieldName);
  32275. this.instances.set(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].AppElement).reference, this.appElement);
  32276. };
  32277. CompileElement.prototype.createComponentFactoryResolver = function (entryComponents) {
  32278. if (!entryComponents || entryComponents.length === 0) {
  32279. return;
  32280. }
  32281. var createComponentFactoryResolverExpr = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].CodegenComponentFactoryResolver)).instantiate([
  32282. __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["g" /* literalArr */](entryComponents.map(function (entryComponent) { return __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](entryComponent); })),
  32283. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_11__util__["b" /* injectFromViewParentInjector */])(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].ComponentFactoryResolver), false)
  32284. ]);
  32285. var provider = new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["d" /* CompileProviderMetadata */]({
  32286. token: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].ComponentFactoryResolver),
  32287. useValue: createComponentFactoryResolverExpr
  32288. });
  32289. // Add ComponentFactoryResolver as first provider as it does not have deps on other providers
  32290. // ProviderAstType.PrivateService as only the component and its view can see it,
  32291. // but nobody else
  32292. this._resolvedProvidersArray.unshift(new __WEBPACK_IMPORTED_MODULE_6__template_parser_template_ast__["b" /* ProviderAst */](provider.token, false, true, [provider], __WEBPACK_IMPORTED_MODULE_6__template_parser_template_ast__["a" /* ProviderAstType */].PrivateService, [], this.sourceAst.sourceSpan));
  32293. };
  32294. CompileElement.prototype.setComponentView = function (compViewExpr) {
  32295. this._compViewExpr = compViewExpr;
  32296. this.contentNodesByNgContentIndex =
  32297. new Array(this.component.template.ngContentSelectors.length);
  32298. for (var i = 0; i < this.contentNodesByNgContentIndex.length; i++) {
  32299. this.contentNodesByNgContentIndex[i] = [];
  32300. }
  32301. };
  32302. CompileElement.prototype.setEmbeddedView = function (embeddedView) {
  32303. this.embeddedView = embeddedView;
  32304. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(embeddedView)) {
  32305. var createTemplateRefExpr = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].TemplateRef_)).instantiate([
  32306. this.appElement, this.embeddedView.viewFactory
  32307. ]);
  32308. var provider = new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["d" /* CompileProviderMetadata */]({
  32309. token: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].TemplateRef),
  32310. useValue: createTemplateRefExpr
  32311. });
  32312. // Add TemplateRef as first provider as it does not have deps on other providers
  32313. this._resolvedProvidersArray.unshift(new __WEBPACK_IMPORTED_MODULE_6__template_parser_template_ast__["b" /* ProviderAst */](provider.token, false, true, [provider], __WEBPACK_IMPORTED_MODULE_6__template_parser_template_ast__["a" /* ProviderAstType */].Builtin, [], this.sourceAst.sourceSpan));
  32314. }
  32315. };
  32316. CompileElement.prototype.beforeChildren = function () {
  32317. var _this = this;
  32318. if (this.hasViewContainer) {
  32319. this.instances.set(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].ViewContainerRef).reference, this.appElement.prop('vcRef'));
  32320. }
  32321. this._resolvedProviders = new Map();
  32322. this._resolvedProvidersArray.forEach(function (provider) { return _this._resolvedProviders.set(provider.token.reference, provider); });
  32323. // create all the provider instances, some in the view constructor,
  32324. // some as getters. We rely on the fact that they are already sorted topologically.
  32325. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].values(this._resolvedProviders).forEach(function (resolvedProvider) {
  32326. var providerValueExpressions = resolvedProvider.providers.map(function (provider) {
  32327. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.useExisting)) {
  32328. return _this._getDependency(resolvedProvider.providerType, new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["c" /* CompileDiDependencyMetadata */]({ token: provider.useExisting }));
  32329. }
  32330. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.useFactory)) {
  32331. var deps = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.deps) ? provider.deps : provider.useFactory.diDeps;
  32332. var depsExpr = deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep); });
  32333. return __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](provider.useFactory).callFn(depsExpr);
  32334. }
  32335. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.useClass)) {
  32336. var deps = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(provider.deps) ? provider.deps : provider.useClass.diDeps;
  32337. var depsExpr = deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep); });
  32338. return __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](provider.useClass)
  32339. .instantiate(depsExpr, __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["c" /* importType */](provider.useClass));
  32340. }
  32341. else {
  32342. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__output_value_util__["a" /* convertValueToOutputAst */])(provider.useValue);
  32343. }
  32344. });
  32345. var propName = "_" + resolvedProvider.token.name + "_" + _this.nodeIndex + "_" + _this.instances.size;
  32346. var instance = createProviderProperty(propName, resolvedProvider, providerValueExpressions, resolvedProvider.multiProvider, resolvedProvider.eager, _this);
  32347. _this.instances.set(resolvedProvider.token.reference, instance);
  32348. });
  32349. for (var i = 0; i < this._directives.length; i++) {
  32350. var directive = this._directives[i];
  32351. var directiveInstance = this.instances.get(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["c" /* identifierToken */])(directive.type).reference);
  32352. directive.queries.forEach(function (queryMeta) { _this._addQuery(queryMeta, directiveInstance); });
  32353. }
  32354. var queriesWithReads = [];
  32355. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].values(this._resolvedProviders).forEach(function (resolvedProvider) {
  32356. var queriesForProvider = _this._getQueriesFor(resolvedProvider.token);
  32357. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].addAll(queriesWithReads, queriesForProvider.map(function (query) { return new _QueryWithRead(query, resolvedProvider.token); }));
  32358. });
  32359. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* StringMapWrapper */].forEach(this.referenceTokens, function (_, varName) {
  32360. var token = _this.referenceTokens[varName];
  32361. var varValue;
  32362. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(token)) {
  32363. varValue = _this.instances.get(token.reference);
  32364. }
  32365. else {
  32366. varValue = _this.renderNode;
  32367. }
  32368. _this.view.locals.set(varName, varValue);
  32369. var varToken = new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["b" /* CompileTokenMetadata */]({ value: varName });
  32370. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].addAll(queriesWithReads, _this._getQueriesFor(varToken).map(function (query) { return new _QueryWithRead(query, varToken); }));
  32371. });
  32372. queriesWithReads.forEach(function (queryWithRead) {
  32373. var value;
  32374. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(queryWithRead.read.identifier)) {
  32375. // query for an identifier
  32376. value = _this.instances.get(queryWithRead.read.reference);
  32377. }
  32378. else {
  32379. // query for a reference
  32380. var token = _this.referenceTokens[queryWithRead.read.value];
  32381. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(token)) {
  32382. value = _this.instances.get(token.reference);
  32383. }
  32384. else {
  32385. value = _this.elementRef;
  32386. }
  32387. }
  32388. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(value)) {
  32389. queryWithRead.query.addValue(value, _this.view);
  32390. }
  32391. });
  32392. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this.component)) {
  32393. var componentConstructorViewQueryList = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this.component) ?
  32394. __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["g" /* literalArr */](this._componentConstructorViewQueryLists) :
  32395. __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["h" /* NULL_EXPR */];
  32396. var compExpr = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this.getComponent()) ? this.getComponent() : __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["h" /* NULL_EXPR */];
  32397. this.view.createMethod.addStmt(this.appElement
  32398. .callMethod('initComponent', [compExpr, componentConstructorViewQueryList, this._compViewExpr])
  32399. .toStmt());
  32400. }
  32401. };
  32402. CompileElement.prototype.afterChildren = function (childNodeCount) {
  32403. var _this = this;
  32404. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].values(this._resolvedProviders).forEach(function (resolvedProvider) {
  32405. // Note: afterChildren is called after recursing into children.
  32406. // This is good so that an injector match in an element that is closer to a requesting element
  32407. // matches first.
  32408. var providerExpr = _this.instances.get(resolvedProvider.token.reference);
  32409. // Note: view providers are only visible on the injector of that element.
  32410. // This is not fully correct as the rules during codegen don't allow a directive
  32411. // to get hold of a view provdier on the same element. We still do this semantic
  32412. // as it simplifies our model to having only one runtime injector per element.
  32413. var providerChildNodeCount = resolvedProvider.providerType === __WEBPACK_IMPORTED_MODULE_6__template_parser_template_ast__["a" /* ProviderAstType */].PrivateService ? 0 : childNodeCount;
  32414. _this.view.injectorGetMethod.addStmt(createInjectInternalCondition(_this.nodeIndex, providerChildNodeCount, resolvedProvider, providerExpr));
  32415. });
  32416. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].values(this._queries)
  32417. .forEach(function (queries) { return queries.forEach(function (query) { return query.afterChildren(_this.view.createMethod, _this.view.updateContentQueriesMethod); }); });
  32418. };
  32419. CompileElement.prototype.addContentNode = function (ngContentIndex, nodeExpr) {
  32420. this.contentNodesByNgContentIndex[ngContentIndex].push(nodeExpr);
  32421. };
  32422. CompileElement.prototype.getComponent = function () {
  32423. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this.component) ?
  32424. this.instances.get(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["c" /* identifierToken */])(this.component.type).reference) :
  32425. null;
  32426. };
  32427. CompileElement.prototype.getProviderTokens = function () {
  32428. return __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].values(this._resolvedProviders)
  32429. .map(function (resolvedProvider) { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__util__["e" /* createDiTokenExpression */])(resolvedProvider.token); });
  32430. };
  32431. CompileElement.prototype._getQueriesFor = function (token) {
  32432. var result = [];
  32433. var currentEl = this;
  32434. var distance = 0;
  32435. var queries;
  32436. while (!currentEl.isNull()) {
  32437. queries = currentEl._queries.get(token.reference);
  32438. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(queries)) {
  32439. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].addAll(result, queries.filter(function (query) { return query.meta.descendants || distance <= 1; }));
  32440. }
  32441. if (currentEl._directives.length > 0) {
  32442. distance++;
  32443. }
  32444. currentEl = currentEl.parent;
  32445. }
  32446. queries = this.view.componentView.viewQueries.get(token.reference);
  32447. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(queries)) {
  32448. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].addAll(result, queries);
  32449. }
  32450. return result;
  32451. };
  32452. CompileElement.prototype._addQuery = function (queryMeta, directiveInstance) {
  32453. var propName = "_query_" + queryMeta.selectors[0].name + "_" + this.nodeIndex + "_" + this._queryCount++;
  32454. var queryList = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__compile_query__["a" /* createQueryList */])(queryMeta, directiveInstance, propName, this.view);
  32455. var query = new __WEBPACK_IMPORTED_MODULE_9__compile_query__["b" /* CompileQuery */](queryMeta, queryList, directiveInstance, this.view);
  32456. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__compile_query__["c" /* addQueryToTokenMap */])(this._queries, query);
  32457. return query;
  32458. };
  32459. CompileElement.prototype._getLocalDependency = function (requestingProviderType, dep) {
  32460. var result = null;
  32461. // constructor content query
  32462. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(dep.query)) {
  32463. result = this._addQuery(dep.query, null).queryList;
  32464. }
  32465. // constructor view query
  32466. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(dep.viewQuery)) {
  32467. result = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__compile_query__["a" /* createQueryList */])(dep.viewQuery, null, "_viewQuery_" + dep.viewQuery.selectors[0].name + "_" + this.nodeIndex + "_" + this._componentConstructorViewQueryLists.length, this.view);
  32468. this._componentConstructorViewQueryLists.push(result);
  32469. }
  32470. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(dep.token)) {
  32471. // access builtins with special visibility
  32472. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result)) {
  32473. if (dep.token.reference ===
  32474. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].ChangeDetectorRef).reference) {
  32475. if (requestingProviderType === __WEBPACK_IMPORTED_MODULE_6__template_parser_template_ast__["a" /* ProviderAstType */].Component) {
  32476. return this._compViewExpr.prop('ref');
  32477. }
  32478. else {
  32479. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_11__util__["a" /* getPropertyInView */])(__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop('ref'), this.view, this.view.componentView);
  32480. }
  32481. }
  32482. }
  32483. // access regular providers on the element
  32484. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result)) {
  32485. var resolvedProvider = this._resolvedProviders.get(dep.token.reference);
  32486. // don't allow directives / public services to access private services.
  32487. // only components and private services can access private services.
  32488. if (resolvedProvider && (requestingProviderType === __WEBPACK_IMPORTED_MODULE_6__template_parser_template_ast__["a" /* ProviderAstType */].Directive ||
  32489. requestingProviderType === __WEBPACK_IMPORTED_MODULE_6__template_parser_template_ast__["a" /* ProviderAstType */].PublicService) &&
  32490. resolvedProvider.providerType === __WEBPACK_IMPORTED_MODULE_6__template_parser_template_ast__["a" /* ProviderAstType */].PrivateService) {
  32491. return null;
  32492. }
  32493. result = this.instances.get(dep.token.reference);
  32494. }
  32495. }
  32496. return result;
  32497. };
  32498. CompileElement.prototype._getDependency = function (requestingProviderType, dep) {
  32499. var currElement = this;
  32500. var result = null;
  32501. if (dep.isValue) {
  32502. result = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["a" /* literal */](dep.value);
  32503. }
  32504. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result) && !dep.isSkipSelf) {
  32505. result = this._getLocalDependency(requestingProviderType, dep);
  32506. }
  32507. // check parent elements
  32508. while (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result) && !currElement.parent.isNull()) {
  32509. currElement = currElement.parent;
  32510. result = currElement._getLocalDependency(__WEBPACK_IMPORTED_MODULE_6__template_parser_template_ast__["a" /* ProviderAstType */].PublicService, new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["c" /* CompileDiDependencyMetadata */]({ token: dep.token }));
  32511. }
  32512. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result)) {
  32513. result = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_11__util__["b" /* injectFromViewParentInjector */])(dep.token, dep.isOptional);
  32514. }
  32515. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result)) {
  32516. result = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["h" /* NULL_EXPR */];
  32517. }
  32518. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_11__util__["a" /* getPropertyInView */])(result, this.view, currElement.view);
  32519. };
  32520. return CompileElement;
  32521. }(CompileNode));
  32522. function createInjectInternalCondition(nodeIndex, childNodeCount, provider, providerExpr) {
  32523. var indexCondition;
  32524. if (childNodeCount > 0) {
  32525. indexCondition = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["a" /* literal */](nodeIndex)
  32526. .lowerEquals(__WEBPACK_IMPORTED_MODULE_10__constants__["a" /* InjectMethodVars */].requestNodeIndex)
  32527. .and(__WEBPACK_IMPORTED_MODULE_10__constants__["a" /* InjectMethodVars */].requestNodeIndex.lowerEquals(__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["a" /* literal */](nodeIndex + childNodeCount)));
  32528. }
  32529. else {
  32530. indexCondition = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["a" /* literal */](nodeIndex).identical(__WEBPACK_IMPORTED_MODULE_10__constants__["a" /* InjectMethodVars */].requestNodeIndex);
  32531. }
  32532. return new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["i" /* IfStmt */](__WEBPACK_IMPORTED_MODULE_10__constants__["a" /* InjectMethodVars */].token.identical(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__util__["e" /* createDiTokenExpression */])(provider.token)).and(indexCondition), [new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["t" /* ReturnStatement */](providerExpr)]);
  32533. }
  32534. function createProviderProperty(propName, provider, providerValueExpressions, isMulti, isEager, compileElement) {
  32535. var view = compileElement.view;
  32536. var resolvedProviderValueExpr;
  32537. var type;
  32538. if (isMulti) {
  32539. resolvedProviderValueExpr = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["g" /* literalArr */](providerValueExpressions);
  32540. type = new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["q" /* ArrayType */](__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["l" /* DYNAMIC_TYPE */]);
  32541. }
  32542. else {
  32543. resolvedProviderValueExpr = providerValueExpressions[0];
  32544. type = providerValueExpressions[0].type;
  32545. }
  32546. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(type)) {
  32547. type = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["l" /* DYNAMIC_TYPE */];
  32548. }
  32549. if (isEager) {
  32550. view.fields.push(new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["s" /* ClassField */](propName, type));
  32551. view.createMethod.addStmt(__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop(propName).set(resolvedProviderValueExpr).toStmt());
  32552. }
  32553. else {
  32554. var internalField = "_" + propName;
  32555. view.fields.push(new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["s" /* ClassField */](internalField, type));
  32556. var getter = new __WEBPACK_IMPORTED_MODULE_8__compile_method__["a" /* CompileMethod */](view);
  32557. getter.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);
  32558. // Note: Equals is important for JS so that it also checks the undefined case!
  32559. getter.addStmt(new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["i" /* IfStmt */](__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop(internalField).isBlank(), [__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop(internalField).set(resolvedProviderValueExpr).toStmt()]));
  32560. getter.addStmt(new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["t" /* ReturnStatement */](__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop(internalField)));
  32561. view.getters.push(new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["v" /* ClassGetter */](propName, getter.finish(), type));
  32562. }
  32563. return __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop(propName);
  32564. }
  32565. var _QueryWithRead = (function () {
  32566. function _QueryWithRead(query, match) {
  32567. this.query = query;
  32568. this.read = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(query.meta.read) ? query.meta.read : match;
  32569. }
  32570. return _QueryWithRead;
  32571. }());
  32572. //# sourceMappingURL=compile_element.js.map
  32573. /***/ },
  32574. /* 297 */
  32575. /***/ function(module, exports, __webpack_require__) {
  32576. "use strict";
  32577. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(13);
  32578. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(4);
  32579. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__identifiers__ = __webpack_require__(19);
  32580. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__output_output_ast__ = __webpack_require__(12);
  32581. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util__ = __webpack_require__(107);
  32582. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return CompileQuery; });
  32583. /* harmony export (immutable) */ exports["a"] = createQueryList;
  32584. /* harmony export (immutable) */ exports["c"] = addQueryToTokenMap;
  32585. /**
  32586. * @license
  32587. * Copyright Google Inc. All Rights Reserved.
  32588. *
  32589. * Use of this source code is governed by an MIT-style license that can be
  32590. * found in the LICENSE file at https://angular.io/license
  32591. */
  32592. var ViewQueryValues = (function () {
  32593. function ViewQueryValues(view, values) {
  32594. this.view = view;
  32595. this.values = values;
  32596. }
  32597. return ViewQueryValues;
  32598. }());
  32599. var CompileQuery = (function () {
  32600. function CompileQuery(meta, queryList, ownerDirectiveExpression, view) {
  32601. this.meta = meta;
  32602. this.queryList = queryList;
  32603. this.ownerDirectiveExpression = ownerDirectiveExpression;
  32604. this.view = view;
  32605. this._values = new ViewQueryValues(view, []);
  32606. }
  32607. CompileQuery.prototype.addValue = function (value, view) {
  32608. var currentView = view;
  32609. var elPath = [];
  32610. while (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(currentView) && currentView !== this.view) {
  32611. var parentEl = currentView.declarationElement;
  32612. elPath.unshift(parentEl);
  32613. currentView = parentEl.view;
  32614. }
  32615. var queryListForDirtyExpr = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__util__["a" /* getPropertyInView */])(this.queryList, view, this.view);
  32616. var viewValues = this._values;
  32617. elPath.forEach(function (el) {
  32618. var last = viewValues.values.length > 0 ? viewValues.values[viewValues.values.length - 1] : null;
  32619. if (last instanceof ViewQueryValues && last.view === el.embeddedView) {
  32620. viewValues = last;
  32621. }
  32622. else {
  32623. var newViewValues = new ViewQueryValues(el.embeddedView, []);
  32624. viewValues.values.push(newViewValues);
  32625. viewValues = newViewValues;
  32626. }
  32627. });
  32628. viewValues.values.push(value);
  32629. if (elPath.length > 0) {
  32630. view.dirtyParentQueriesMethod.addStmt(queryListForDirtyExpr.callMethod('setDirty', []).toStmt());
  32631. }
  32632. };
  32633. CompileQuery.prototype._isStatic = function () {
  32634. return !this._values.values.some(function (value) { return value instanceof ViewQueryValues; });
  32635. };
  32636. CompileQuery.prototype.afterChildren = function (targetStaticMethod /** TODO #9100 */, targetDynamicMethod) {
  32637. var values = createQueryValues(this._values);
  32638. var updateStmts = [this.queryList.callMethod('reset', [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["g" /* literalArr */](values)]).toStmt()];
  32639. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(this.ownerDirectiveExpression)) {
  32640. var valueExpr = this.meta.first ? this.queryList.prop('first') : this.queryList;
  32641. updateStmts.push(this.ownerDirectiveExpression.prop(this.meta.propertyName).set(valueExpr).toStmt());
  32642. }
  32643. if (!this.meta.first) {
  32644. updateStmts.push(this.queryList.callMethod('notifyOnChanges', []).toStmt());
  32645. }
  32646. if (this.meta.first && this._isStatic()) {
  32647. // for queries that don't change and the user asked for a single element,
  32648. // set it immediately. That is e.g. needed for querying for ViewContainerRefs, ...
  32649. // we don't do this for QueryLists for now as this would break the timing when
  32650. // we call QueryList listeners...
  32651. targetStaticMethod.addStmts(updateStmts);
  32652. }
  32653. else {
  32654. targetDynamicMethod.addStmt(new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["i" /* IfStmt */](this.queryList.prop('dirty'), updateStmts));
  32655. }
  32656. };
  32657. return CompileQuery;
  32658. }());
  32659. function createQueryValues(viewValues) {
  32660. return __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].flatten(viewValues.values.map(function (entry) {
  32661. if (entry instanceof ViewQueryValues) {
  32662. return mapNestedViews(entry.view.declarationElement.appElement, entry.view, createQueryValues(entry));
  32663. }
  32664. else {
  32665. return entry;
  32666. }
  32667. }));
  32668. }
  32669. function mapNestedViews(declarationAppElement, view, expressions) {
  32670. var adjustedExpressions = expressions.map(function (expr) {
  32671. return __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["p" /* replaceVarInExpression */](__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].name, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]('nestedView'), expr);
  32672. });
  32673. return declarationAppElement.callMethod('mapNestedViews', [
  32674. __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */](view.className),
  32675. __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["j" /* fn */]([new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["k" /* FnParam */]('nestedView', view.classType)], [new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["t" /* ReturnStatement */](__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["g" /* literalArr */](adjustedExpressions))], __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["l" /* DYNAMIC_TYPE */])
  32676. ]);
  32677. }
  32678. function createQueryList(query, directiveInstance, propertyName, compileView) {
  32679. compileView.fields.push(new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["s" /* ClassField */](propertyName, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].QueryList), [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["l" /* DYNAMIC_TYPE */]])));
  32680. var expr = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop(propertyName);
  32681. compileView.createMethod.addStmt(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop(propertyName)
  32682. .set(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].QueryList), [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["l" /* DYNAMIC_TYPE */]])
  32683. .instantiate([]))
  32684. .toStmt());
  32685. return expr;
  32686. }
  32687. function addQueryToTokenMap(map, query) {
  32688. query.meta.selectors.forEach(function (selector) {
  32689. var entry = map.get(selector.reference);
  32690. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(entry)) {
  32691. entry = [];
  32692. map.set(selector.reference, entry);
  32693. }
  32694. entry.push(query);
  32695. });
  32696. }
  32697. //# sourceMappingURL=compile_query.js.map
  32698. /***/ },
  32699. /* 298 */
  32700. /***/ function(module, exports, __webpack_require__) {
  32701. "use strict";
  32702. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__compile_metadata__ = __webpack_require__(25);
  32703. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(13);
  32704. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(4);
  32705. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__identifiers__ = __webpack_require__(19);
  32706. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__output_output_ast__ = __webpack_require__(12);
  32707. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__private_import_core__ = __webpack_require__(20);
  32708. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__compile_method__ = __webpack_require__(197);
  32709. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__compile_pipe__ = __webpack_require__(467);
  32710. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__compile_query__ = __webpack_require__(297);
  32711. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__constants__ = __webpack_require__(88);
  32712. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__util__ = __webpack_require__(107);
  32713. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return CompileView; });
  32714. /**
  32715. * @license
  32716. * Copyright Google Inc. All Rights Reserved.
  32717. *
  32718. * Use of this source code is governed by an MIT-style license that can be
  32719. * found in the LICENSE file at https://angular.io/license
  32720. */
  32721. var CompileView = (function () {
  32722. function CompileView(component, genConfig, pipeMetas, styles, animations, viewIndex, declarationElement, templateVariableBindings) {
  32723. var _this = this;
  32724. this.component = component;
  32725. this.genConfig = genConfig;
  32726. this.pipeMetas = pipeMetas;
  32727. this.styles = styles;
  32728. this.animations = animations;
  32729. this.viewIndex = viewIndex;
  32730. this.declarationElement = declarationElement;
  32731. this.templateVariableBindings = templateVariableBindings;
  32732. this.nodes = [];
  32733. // root node or AppElements for ViewContainers
  32734. this.rootNodesOrAppElements = [];
  32735. this.bindings = [];
  32736. this.classStatements = [];
  32737. this.eventHandlerMethods = [];
  32738. this.fields = [];
  32739. this.getters = [];
  32740. this.disposables = [];
  32741. this.subscriptions = [];
  32742. this.purePipes = new Map();
  32743. this.pipes = [];
  32744. this.locals = new Map();
  32745. this.literalArrayCount = 0;
  32746. this.literalMapCount = 0;
  32747. this.pipeCount = 0;
  32748. this.createMethod = new __WEBPACK_IMPORTED_MODULE_6__compile_method__["a" /* CompileMethod */](this);
  32749. this.animationBindingsMethod = new __WEBPACK_IMPORTED_MODULE_6__compile_method__["a" /* CompileMethod */](this);
  32750. this.injectorGetMethod = new __WEBPACK_IMPORTED_MODULE_6__compile_method__["a" /* CompileMethod */](this);
  32751. this.updateContentQueriesMethod = new __WEBPACK_IMPORTED_MODULE_6__compile_method__["a" /* CompileMethod */](this);
  32752. this.dirtyParentQueriesMethod = new __WEBPACK_IMPORTED_MODULE_6__compile_method__["a" /* CompileMethod */](this);
  32753. this.updateViewQueriesMethod = new __WEBPACK_IMPORTED_MODULE_6__compile_method__["a" /* CompileMethod */](this);
  32754. this.detectChangesInInputsMethod = new __WEBPACK_IMPORTED_MODULE_6__compile_method__["a" /* CompileMethod */](this);
  32755. this.detectChangesRenderPropertiesMethod = new __WEBPACK_IMPORTED_MODULE_6__compile_method__["a" /* CompileMethod */](this);
  32756. this.afterContentLifecycleCallbacksMethod = new __WEBPACK_IMPORTED_MODULE_6__compile_method__["a" /* CompileMethod */](this);
  32757. this.afterViewLifecycleCallbacksMethod = new __WEBPACK_IMPORTED_MODULE_6__compile_method__["a" /* CompileMethod */](this);
  32758. this.destroyMethod = new __WEBPACK_IMPORTED_MODULE_6__compile_method__["a" /* CompileMethod */](this);
  32759. this.detachMethod = new __WEBPACK_IMPORTED_MODULE_6__compile_method__["a" /* CompileMethod */](this);
  32760. this.viewType = getViewType(component, viewIndex);
  32761. this.className = "_View_" + component.type.name + viewIndex;
  32762. this.classType = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["c" /* importType */](new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["a" /* CompileIdentifierMetadata */]({ name: this.className }));
  32763. this.viewFactory = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["e" /* variable */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_10__util__["d" /* getViewFactoryName */])(component, viewIndex));
  32764. if (this.viewType === __WEBPACK_IMPORTED_MODULE_5__private_import_core__["j" /* ViewType */].COMPONENT || this.viewType === __WEBPACK_IMPORTED_MODULE_5__private_import_core__["j" /* ViewType */].HOST) {
  32765. this.componentView = this;
  32766. }
  32767. else {
  32768. this.componentView = this.declarationElement.view.componentView;
  32769. }
  32770. this.componentContext =
  32771. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_10__util__["a" /* getPropertyInView */])(__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop('context'), this, this.componentView);
  32772. var viewQueries = new Map();
  32773. if (this.viewType === __WEBPACK_IMPORTED_MODULE_5__private_import_core__["j" /* ViewType */].COMPONENT) {
  32774. var directiveInstance = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop('context');
  32775. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].forEachWithIndex(this.component.viewQueries, function (queryMeta, queryIndex) {
  32776. var propName = "_viewQuery_" + queryMeta.selectors[0].name + "_" + queryIndex;
  32777. var queryList = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__compile_query__["a" /* createQueryList */])(queryMeta, directiveInstance, propName, _this);
  32778. var query = new __WEBPACK_IMPORTED_MODULE_8__compile_query__["b" /* CompileQuery */](queryMeta, queryList, directiveInstance, _this);
  32779. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__compile_query__["c" /* addQueryToTokenMap */])(viewQueries, query);
  32780. });
  32781. var constructorViewQueryCount = 0;
  32782. this.component.type.diDeps.forEach(function (dep) {
  32783. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(dep.viewQuery)) {
  32784. var queryList = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop('declarationAppElement')
  32785. .prop('componentConstructorViewQueries')
  32786. .key(__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["a" /* literal */](constructorViewQueryCount++));
  32787. var query = new __WEBPACK_IMPORTED_MODULE_8__compile_query__["b" /* CompileQuery */](dep.viewQuery, queryList, null, _this);
  32788. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__compile_query__["c" /* addQueryToTokenMap */])(viewQueries, query);
  32789. }
  32790. });
  32791. }
  32792. this.viewQueries = viewQueries;
  32793. templateVariableBindings.forEach(function (entry) { _this.locals.set(entry[1], __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop('context').prop(entry[0])); });
  32794. if (!this.declarationElement.isNull()) {
  32795. this.declarationElement.setEmbeddedView(this);
  32796. }
  32797. }
  32798. CompileView.prototype.callPipe = function (name, input, args) {
  32799. return __WEBPACK_IMPORTED_MODULE_7__compile_pipe__["a" /* CompilePipe */].call(this, name, [input].concat(args));
  32800. };
  32801. CompileView.prototype.getLocal = function (name) {
  32802. if (name == __WEBPACK_IMPORTED_MODULE_9__constants__["b" /* EventHandlerVars */].event.name) {
  32803. return __WEBPACK_IMPORTED_MODULE_9__constants__["b" /* EventHandlerVars */].event;
  32804. }
  32805. var currView = this;
  32806. var result = currView.locals.get(name);
  32807. while (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(result) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(currView.declarationElement.view)) {
  32808. currView = currView.declarationElement.view;
  32809. result = currView.locals.get(name);
  32810. }
  32811. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(result)) {
  32812. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_10__util__["a" /* getPropertyInView */])(result, this, currView);
  32813. }
  32814. else {
  32815. return null;
  32816. }
  32817. };
  32818. CompileView.prototype.createLiteralArray = function (values) {
  32819. if (values.length === 0) {
  32820. return __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].EMPTY_ARRAY));
  32821. }
  32822. var proxyExpr = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop("_arr_" + this.literalArrayCount++);
  32823. var proxyParams = [];
  32824. var proxyReturnEntries = [];
  32825. for (var i = 0; i < values.length; i++) {
  32826. var paramName = "p" + i;
  32827. proxyParams.push(new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["k" /* FnParam */](paramName));
  32828. proxyReturnEntries.push(__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["e" /* variable */](paramName));
  32829. }
  32830. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_10__util__["c" /* createPureProxy */])(__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["j" /* fn */](proxyParams, [new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["t" /* ReturnStatement */](__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["g" /* literalArr */](proxyReturnEntries))], new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["q" /* ArrayType */](__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["l" /* DYNAMIC_TYPE */])), values.length, proxyExpr, this);
  32831. return proxyExpr.callFn(values);
  32832. };
  32833. CompileView.prototype.createLiteralMap = function (entries) {
  32834. if (entries.length === 0) {
  32835. return __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_3__identifiers__["b" /* Identifiers */].EMPTY_MAP));
  32836. }
  32837. var proxyExpr = __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["n" /* THIS_EXPR */].prop("_map_" + this.literalMapCount++);
  32838. var proxyParams = [];
  32839. var proxyReturnEntries = [];
  32840. var values = [];
  32841. for (var i = 0; i < entries.length; i++) {
  32842. var paramName = "p" + i;
  32843. proxyParams.push(new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["k" /* FnParam */](paramName));
  32844. proxyReturnEntries.push([entries[i][0], __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["e" /* variable */](paramName)]);
  32845. values.push(entries[i][1]);
  32846. }
  32847. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_10__util__["c" /* createPureProxy */])(__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["j" /* fn */](proxyParams, [new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["t" /* ReturnStatement */](__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["f" /* literalMap */](proxyReturnEntries))], new __WEBPACK_IMPORTED_MODULE_4__output_output_ast__["w" /* MapType */](__WEBPACK_IMPORTED_MODULE_4__output_output_ast__["l" /* DYNAMIC_TYPE */])), entries.length, proxyExpr, this);
  32848. return proxyExpr.callFn(values);
  32849. };
  32850. CompileView.prototype.afterNodes = function () {
  32851. var _this = this;
  32852. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].values(this.viewQueries)
  32853. .forEach(function (queries) { return queries.forEach(function (query) { return query.afterChildren(_this.createMethod, _this.updateViewQueriesMethod); }); });
  32854. };
  32855. return CompileView;
  32856. }());
  32857. function getViewType(component, embeddedTemplateIndex) {
  32858. if (embeddedTemplateIndex > 0) {
  32859. return __WEBPACK_IMPORTED_MODULE_5__private_import_core__["j" /* ViewType */].EMBEDDED;
  32860. }
  32861. else if (component.type.isHost) {
  32862. return __WEBPACK_IMPORTED_MODULE_5__private_import_core__["j" /* ViewType */].HOST;
  32863. }
  32864. else {
  32865. return __WEBPACK_IMPORTED_MODULE_5__private_import_core__["j" /* ViewType */].COMPONENT;
  32866. }
  32867. }
  32868. //# sourceMappingURL=compile_view.js.map
  32869. /***/ },
  32870. /* 299 */
  32871. /***/ function(module, exports, __webpack_require__) {
  32872. "use strict";
  32873. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__expression_parser_ast__ = __webpack_require__(185);
  32874. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(4);
  32875. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__identifiers__ = __webpack_require__(19);
  32876. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__output_output_ast__ = __webpack_require__(12);
  32877. /* unused harmony export ExpressionWithWrappedValueInfo */
  32878. /* harmony export (immutable) */ exports["b"] = convertCdExpressionToIr;
  32879. /* harmony export (immutable) */ exports["a"] = convertCdStatementToIr;
  32880. /* harmony export (immutable) */ exports["c"] = temporaryDeclaration;
  32881. /**
  32882. * @license
  32883. * Copyright Google Inc. All Rights Reserved.
  32884. *
  32885. * Use of this source code is governed by an MIT-style license that can be
  32886. * found in the LICENSE file at https://angular.io/license
  32887. */
  32888. var ExpressionWithWrappedValueInfo = (function () {
  32889. function ExpressionWithWrappedValueInfo(expression, needsValueUnwrapper, temporaryCount) {
  32890. this.expression = expression;
  32891. this.needsValueUnwrapper = needsValueUnwrapper;
  32892. this.temporaryCount = temporaryCount;
  32893. }
  32894. return ExpressionWithWrappedValueInfo;
  32895. }());
  32896. function convertCdExpressionToIr(nameResolver, implicitReceiver, expression, valueUnwrapper, bindingIndex) {
  32897. var visitor = new _AstToIrVisitor(nameResolver, implicitReceiver, valueUnwrapper, bindingIndex);
  32898. var irAst = expression.visit(visitor, _Mode.Expression);
  32899. return new ExpressionWithWrappedValueInfo(irAst, visitor.needsValueUnwrapper, visitor.temporaryCount);
  32900. }
  32901. function convertCdStatementToIr(nameResolver, implicitReceiver, stmt, bindingIndex) {
  32902. var visitor = new _AstToIrVisitor(nameResolver, implicitReceiver, null, bindingIndex);
  32903. var statements = [];
  32904. flattenStatements(stmt.visit(visitor, _Mode.Statement), statements);
  32905. prependTemporaryDecls(visitor.temporaryCount, bindingIndex, statements);
  32906. return statements;
  32907. }
  32908. function temporaryName(bindingIndex, temporaryNumber) {
  32909. return "tmp_" + bindingIndex + "_" + temporaryNumber;
  32910. }
  32911. function temporaryDeclaration(bindingIndex, temporaryNumber) {
  32912. return new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["x" /* DeclareVarStmt */](temporaryName(bindingIndex, temporaryNumber), __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["h" /* NULL_EXPR */]);
  32913. }
  32914. function prependTemporaryDecls(temporaryCount, bindingIndex, statements) {
  32915. for (var i = temporaryCount - 1; i >= 0; i--) {
  32916. statements.unshift(temporaryDeclaration(bindingIndex, i));
  32917. }
  32918. }
  32919. var _Mode;
  32920. (function (_Mode) {
  32921. _Mode[_Mode["Statement"] = 0] = "Statement";
  32922. _Mode[_Mode["Expression"] = 1] = "Expression";
  32923. })(_Mode || (_Mode = {}));
  32924. function ensureStatementMode(mode, ast) {
  32925. if (mode !== _Mode.Statement) {
  32926. throw new Error("Expected a statement, but saw " + ast);
  32927. }
  32928. }
  32929. function ensureExpressionMode(mode, ast) {
  32930. if (mode !== _Mode.Expression) {
  32931. throw new Error("Expected an expression, but saw " + ast);
  32932. }
  32933. }
  32934. function convertToStatementIfNeeded(mode, expr) {
  32935. if (mode === _Mode.Statement) {
  32936. return expr.toStmt();
  32937. }
  32938. else {
  32939. return expr;
  32940. }
  32941. }
  32942. var _AstToIrVisitor = (function () {
  32943. function _AstToIrVisitor(_nameResolver, _implicitReceiver, _valueUnwrapper, bindingIndex) {
  32944. this._nameResolver = _nameResolver;
  32945. this._implicitReceiver = _implicitReceiver;
  32946. this._valueUnwrapper = _valueUnwrapper;
  32947. this.bindingIndex = bindingIndex;
  32948. this._nodeMap = new Map();
  32949. this._resultMap = new Map();
  32950. this._currentTemporary = 0;
  32951. this.needsValueUnwrapper = false;
  32952. this.temporaryCount = 0;
  32953. }
  32954. _AstToIrVisitor.prototype.visitBinary = function (ast, mode) {
  32955. var op;
  32956. switch (ast.operation) {
  32957. case '+':
  32958. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].Plus;
  32959. break;
  32960. case '-':
  32961. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].Minus;
  32962. break;
  32963. case '*':
  32964. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].Multiply;
  32965. break;
  32966. case '/':
  32967. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].Divide;
  32968. break;
  32969. case '%':
  32970. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].Modulo;
  32971. break;
  32972. case '&&':
  32973. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].And;
  32974. break;
  32975. case '||':
  32976. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].Or;
  32977. break;
  32978. case '==':
  32979. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].Equals;
  32980. break;
  32981. case '!=':
  32982. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].NotEquals;
  32983. break;
  32984. case '===':
  32985. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].Identical;
  32986. break;
  32987. case '!==':
  32988. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].NotIdentical;
  32989. break;
  32990. case '<':
  32991. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].Lower;
  32992. break;
  32993. case '>':
  32994. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].Bigger;
  32995. break;
  32996. case '<=':
  32997. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].LowerEquals;
  32998. break;
  32999. case '>=':
  33000. op = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["y" /* BinaryOperator */].BiggerEquals;
  33001. break;
  33002. default:
  33003. throw new Error("Unsupported operation " + ast.operation);
  33004. }
  33005. return convertToStatementIfNeeded(mode, new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["z" /* BinaryOperatorExpr */](op, this.visit(ast.left, _Mode.Expression), this.visit(ast.right, _Mode.Expression)));
  33006. };
  33007. _AstToIrVisitor.prototype.visitChain = function (ast, mode) {
  33008. ensureStatementMode(mode, ast);
  33009. return this.visitAll(ast.expressions, mode);
  33010. };
  33011. _AstToIrVisitor.prototype.visitConditional = function (ast, mode) {
  33012. var value = this.visit(ast.condition, _Mode.Expression);
  33013. return convertToStatementIfNeeded(mode, value.conditional(this.visit(ast.trueExp, _Mode.Expression), this.visit(ast.falseExp, _Mode.Expression)));
  33014. };
  33015. _AstToIrVisitor.prototype.visitPipe = function (ast, mode) {
  33016. var input = this.visit(ast.exp, _Mode.Expression);
  33017. var args = this.visitAll(ast.args, _Mode.Expression);
  33018. var value = this._nameResolver.callPipe(ast.name, input, args);
  33019. this.needsValueUnwrapper = true;
  33020. return convertToStatementIfNeeded(mode, this._valueUnwrapper.callMethod('unwrap', [value]));
  33021. };
  33022. _AstToIrVisitor.prototype.visitFunctionCall = function (ast, mode) {
  33023. return convertToStatementIfNeeded(mode, this.visit(ast.target, _Mode.Expression).callFn(this.visitAll(ast.args, _Mode.Expression)));
  33024. };
  33025. _AstToIrVisitor.prototype.visitImplicitReceiver = function (ast, mode) {
  33026. ensureExpressionMode(mode, ast);
  33027. return this._implicitReceiver;
  33028. };
  33029. _AstToIrVisitor.prototype.visitInterpolation = function (ast, mode) {
  33030. ensureExpressionMode(mode, ast);
  33031. var args = [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](ast.expressions.length)];
  33032. for (var i = 0; i < ast.strings.length - 1; i++) {
  33033. args.push(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](ast.strings[i]));
  33034. args.push(this.visit(ast.expressions[i], _Mode.Expression));
  33035. }
  33036. args.push(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](ast.strings[ast.strings.length - 1]));
  33037. return __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].interpolate)).callFn(args);
  33038. };
  33039. _AstToIrVisitor.prototype.visitKeyedRead = function (ast, mode) {
  33040. return convertToStatementIfNeeded(mode, this.visit(ast.obj, _Mode.Expression).key(this.visit(ast.key, _Mode.Expression)));
  33041. };
  33042. _AstToIrVisitor.prototype.visitKeyedWrite = function (ast, mode) {
  33043. var obj = this.visit(ast.obj, _Mode.Expression);
  33044. var key = this.visit(ast.key, _Mode.Expression);
  33045. var value = this.visit(ast.value, _Mode.Expression);
  33046. return convertToStatementIfNeeded(mode, obj.key(key).set(value));
  33047. };
  33048. _AstToIrVisitor.prototype.visitLiteralArray = function (ast, mode) {
  33049. return convertToStatementIfNeeded(mode, this._nameResolver.createLiteralArray(this.visitAll(ast.expressions, mode)));
  33050. };
  33051. _AstToIrVisitor.prototype.visitLiteralMap = function (ast, mode) {
  33052. var parts = [];
  33053. for (var i = 0; i < ast.keys.length; i++) {
  33054. parts.push([ast.keys[i], this.visit(ast.values[i], _Mode.Expression)]);
  33055. }
  33056. return convertToStatementIfNeeded(mode, this._nameResolver.createLiteralMap(parts));
  33057. };
  33058. _AstToIrVisitor.prototype.visitLiteralPrimitive = function (ast, mode) {
  33059. return convertToStatementIfNeeded(mode, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](ast.value));
  33060. };
  33061. _AstToIrVisitor.prototype.visitMethodCall = function (ast, mode) {
  33062. var leftMostSafe = this.leftMostSafeNode(ast);
  33063. if (leftMostSafe) {
  33064. return this.convertSafeAccess(ast, leftMostSafe, mode);
  33065. }
  33066. else {
  33067. var args = this.visitAll(ast.args, _Mode.Expression);
  33068. var result = null;
  33069. var receiver = this.visit(ast.receiver, _Mode.Expression);
  33070. if (receiver === this._implicitReceiver) {
  33071. var varExpr = this._nameResolver.getLocal(ast.name);
  33072. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(varExpr)) {
  33073. result = varExpr.callFn(args);
  33074. }
  33075. }
  33076. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(result)) {
  33077. result = receiver.callMethod(ast.name, args);
  33078. }
  33079. return convertToStatementIfNeeded(mode, result);
  33080. }
  33081. };
  33082. _AstToIrVisitor.prototype.visitPrefixNot = function (ast, mode) {
  33083. return convertToStatementIfNeeded(mode, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["A" /* not */](this.visit(ast.expression, _Mode.Expression)));
  33084. };
  33085. _AstToIrVisitor.prototype.visitPropertyRead = function (ast, mode) {
  33086. var leftMostSafe = this.leftMostSafeNode(ast);
  33087. if (leftMostSafe) {
  33088. return this.convertSafeAccess(ast, leftMostSafe, mode);
  33089. }
  33090. else {
  33091. var result = null;
  33092. var receiver = this.visit(ast.receiver, _Mode.Expression);
  33093. if (receiver === this._implicitReceiver) {
  33094. result = this._nameResolver.getLocal(ast.name);
  33095. }
  33096. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(result)) {
  33097. result = receiver.prop(ast.name);
  33098. }
  33099. return convertToStatementIfNeeded(mode, result);
  33100. }
  33101. };
  33102. _AstToIrVisitor.prototype.visitPropertyWrite = function (ast, mode) {
  33103. var receiver = this.visit(ast.receiver, _Mode.Expression);
  33104. if (receiver === this._implicitReceiver) {
  33105. var varExpr = this._nameResolver.getLocal(ast.name);
  33106. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(varExpr)) {
  33107. throw new Error('Cannot assign to a reference or variable!');
  33108. }
  33109. }
  33110. return convertToStatementIfNeeded(mode, receiver.prop(ast.name).set(this.visit(ast.value, _Mode.Expression)));
  33111. };
  33112. _AstToIrVisitor.prototype.visitSafePropertyRead = function (ast, mode) {
  33113. return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);
  33114. };
  33115. _AstToIrVisitor.prototype.visitSafeMethodCall = function (ast, mode) {
  33116. return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);
  33117. };
  33118. _AstToIrVisitor.prototype.visitAll = function (asts, mode) {
  33119. var _this = this;
  33120. return asts.map(function (ast) { return _this.visit(ast, mode); });
  33121. };
  33122. _AstToIrVisitor.prototype.visitQuote = function (ast, mode) {
  33123. throw new Error('Quotes are not supported for evaluation!');
  33124. };
  33125. _AstToIrVisitor.prototype.visit = function (ast, mode) {
  33126. var result = this._resultMap.get(ast);
  33127. if (result)
  33128. return result;
  33129. return (this._nodeMap.get(ast) || ast).visit(this, mode);
  33130. };
  33131. _AstToIrVisitor.prototype.convertSafeAccess = function (ast, leftMostSafe, mode) {
  33132. // If the expression contains a safe access node on the left it needs to be converted to
  33133. // an expression that guards the access to the member by checking the receiver for blank. As
  33134. // execution proceeds from left to right, the left most part of the expression must be guarded
  33135. // first but, because member access is left associative, the right side of the expression is at
  33136. // the top of the AST. The desired result requires lifting a copy of the the left part of the
  33137. // expression up to test it for blank before generating the unguarded version.
  33138. // Consider, for example the following expression: a?.b.c?.d.e
  33139. // This results in the ast:
  33140. // .
  33141. // / \
  33142. // ?. e
  33143. // / \
  33144. // . d
  33145. // / \
  33146. // ?. c
  33147. // / \
  33148. // a b
  33149. // The following tree should be generated:
  33150. //
  33151. // /---- ? ----\
  33152. // / | \
  33153. // a /--- ? ---\ null
  33154. // / | \
  33155. // . . null
  33156. // / \ / \
  33157. // . c . e
  33158. // / \ / \
  33159. // a b , d
  33160. // / \
  33161. // . c
  33162. // / \
  33163. // a b
  33164. //
  33165. // Notice that the first guard condition is the left hand of the left most safe access node
  33166. // which comes in as leftMostSafe to this routine.
  33167. var guardedExpression = this.visit(leftMostSafe.receiver, _Mode.Expression);
  33168. var temporary;
  33169. if (this.needsTemporary(leftMostSafe.receiver)) {
  33170. // If the expression has method calls or pipes then we need to save the result into a
  33171. // temporary variable to avoid calling stateful or impure code more than once.
  33172. temporary = this.allocateTemporary();
  33173. // Preserve the result in the temporary variable
  33174. guardedExpression = temporary.set(guardedExpression);
  33175. // Ensure all further references to the guarded expression refer to the temporary instead.
  33176. this._resultMap.set(leftMostSafe.receiver, temporary);
  33177. }
  33178. var condition = guardedExpression.isBlank();
  33179. // Convert the ast to an unguarded access to the receiver's member. The map will substitute
  33180. // leftMostNode with its unguarded version in the call to `this.visit()`.
  33181. if (leftMostSafe instanceof __WEBPACK_IMPORTED_MODULE_0__expression_parser_ast__["s" /* SafeMethodCall */]) {
  33182. this._nodeMap.set(leftMostSafe, new __WEBPACK_IMPORTED_MODULE_0__expression_parser_ast__["t" /* MethodCall */](leftMostSafe.span, leftMostSafe.receiver, leftMostSafe.name, leftMostSafe.args));
  33183. }
  33184. else {
  33185. this._nodeMap.set(leftMostSafe, new __WEBPACK_IMPORTED_MODULE_0__expression_parser_ast__["w" /* PropertyRead */](leftMostSafe.span, leftMostSafe.receiver, leftMostSafe.name));
  33186. }
  33187. // Recursively convert the node now without the guarded member access.
  33188. var access = this.visit(ast, _Mode.Expression);
  33189. // Remove the mapping. This is not strictly required as the converter only traverses each node
  33190. // once but is safer if the conversion is changed to traverse the node more than once.
  33191. this._nodeMap.delete(leftMostSafe);
  33192. // If we allcoated a temporary, release it.
  33193. if (temporary) {
  33194. this.releaseTemporary(temporary);
  33195. }
  33196. // Produce the conditional
  33197. return convertToStatementIfNeeded(mode, condition.conditional(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](null), access));
  33198. };
  33199. // Given a expression of the form a?.b.c?.d.e the the left most safe node is
  33200. // the (a?.b). The . and ?. are left associative thus can be rewritten as:
  33201. // ((((a?.c).b).c)?.d).e. This returns the most deeply nested safe read or
  33202. // safe method call as this needs be transform initially to:
  33203. // a == null ? null : a.c.b.c?.d.e
  33204. // then to:
  33205. // a == null ? null : a.b.c == null ? null : a.b.c.d.e
  33206. _AstToIrVisitor.prototype.leftMostSafeNode = function (ast) {
  33207. var _this = this;
  33208. var visit = function (visitor, ast) {
  33209. return (_this._nodeMap.get(ast) || ast).visit(visitor);
  33210. };
  33211. return ast.visit({
  33212. visitBinary: function (ast) { return null; },
  33213. visitChain: function (ast) { return null; },
  33214. visitConditional: function (ast) { return null; },
  33215. visitFunctionCall: function (ast) { return null; },
  33216. visitImplicitReceiver: function (ast) { return null; },
  33217. visitInterpolation: function (ast) { return null; },
  33218. visitKeyedRead: function (ast) { return visit(this, ast.obj); },
  33219. visitKeyedWrite: function (ast) { return null; },
  33220. visitLiteralArray: function (ast) { return null; },
  33221. visitLiteralMap: function (ast) { return null; },
  33222. visitLiteralPrimitive: function (ast) { return null; },
  33223. visitMethodCall: function (ast) { return visit(this, ast.receiver); },
  33224. visitPipe: function (ast) { return null; },
  33225. visitPrefixNot: function (ast) { return null; },
  33226. visitPropertyRead: function (ast) { return visit(this, ast.receiver); },
  33227. visitPropertyWrite: function (ast) { return null; },
  33228. visitQuote: function (ast) { return null; },
  33229. visitSafeMethodCall: function (ast) { return visit(this, ast.receiver) || ast; },
  33230. visitSafePropertyRead: function (ast) {
  33231. return visit(this, ast.receiver) || ast;
  33232. }
  33233. });
  33234. };
  33235. // Returns true of the AST includes a method or a pipe indicating that, if the
  33236. // expression is used as the target of a safe property or method access then
  33237. // the expression should be stored into a temporary variable.
  33238. _AstToIrVisitor.prototype.needsTemporary = function (ast) {
  33239. var _this = this;
  33240. var visit = function (visitor, ast) {
  33241. return ast && (_this._nodeMap.get(ast) || ast).visit(visitor);
  33242. };
  33243. var visitSome = function (visitor, ast) {
  33244. return ast.some(function (ast) { return visit(visitor, ast); });
  33245. };
  33246. return ast.visit({
  33247. visitBinary: function (ast) { return visit(this, ast.left) || visit(this, ast.right); },
  33248. visitChain: function (ast) { return false; },
  33249. visitConditional: function (ast) {
  33250. return visit(this, ast.condition) || visit(this, ast.trueExp) ||
  33251. visit(this, ast.falseExp);
  33252. },
  33253. visitFunctionCall: function (ast) { return true; },
  33254. visitImplicitReceiver: function (ast) { return false; },
  33255. visitInterpolation: function (ast) { return visitSome(this, ast.expressions); },
  33256. visitKeyedRead: function (ast) { return false; },
  33257. visitKeyedWrite: function (ast) { return false; },
  33258. visitLiteralArray: function (ast) { return true; },
  33259. visitLiteralMap: function (ast) { return true; },
  33260. visitLiteralPrimitive: function (ast) { return false; },
  33261. visitMethodCall: function (ast) { return true; },
  33262. visitPipe: function (ast) { return true; },
  33263. visitPrefixNot: function (ast) { return visit(this, ast.expression); },
  33264. visitPropertyRead: function (ast) { return false; },
  33265. visitPropertyWrite: function (ast) { return false; },
  33266. visitQuote: function (ast) { return false; },
  33267. visitSafeMethodCall: function (ast) { return true; },
  33268. visitSafePropertyRead: function (ast) { return false; }
  33269. });
  33270. };
  33271. _AstToIrVisitor.prototype.allocateTemporary = function () {
  33272. var tempNumber = this._currentTemporary++;
  33273. this.temporaryCount = Math.max(this._currentTemporary, this.temporaryCount);
  33274. return new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["B" /* ReadVarExpr */](temporaryName(this.bindingIndex, tempNumber));
  33275. };
  33276. _AstToIrVisitor.prototype.releaseTemporary = function (temporary) {
  33277. this._currentTemporary--;
  33278. if (temporary.name != temporaryName(this.bindingIndex, this._currentTemporary)) {
  33279. throw new Error("Temporary " + temporary.name + " released out of order");
  33280. }
  33281. };
  33282. return _AstToIrVisitor;
  33283. }());
  33284. function flattenStatements(arg, output) {
  33285. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["c" /* isArray */])(arg)) {
  33286. arg.forEach(function (entry) { return flattenStatements(entry, output); });
  33287. }
  33288. else {
  33289. output.push(arg);
  33290. }
  33291. }
  33292. //# sourceMappingURL=expression_converter.js.map
  33293. /***/ },
  33294. /* 300 */
  33295. /***/ function(module, exports, __webpack_require__) {
  33296. "use strict";
  33297. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  33298. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__animation_animation_compiler__ = __webpack_require__(275);
  33299. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__compile_metadata__ = __webpack_require__(25);
  33300. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__facade_collection__ = __webpack_require__(13);
  33301. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__facade_lang__ = __webpack_require__(4);
  33302. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__identifiers__ = __webpack_require__(19);
  33303. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__output_output_ast__ = __webpack_require__(12);
  33304. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__private_import_core__ = __webpack_require__(20);
  33305. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__template_parser_template_ast__ = __webpack_require__(51);
  33306. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util__ = __webpack_require__(29);
  33307. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__compile_element__ = __webpack_require__(296);
  33308. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__compile_view__ = __webpack_require__(298);
  33309. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__constants__ = __webpack_require__(88);
  33310. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__util__ = __webpack_require__(107);
  33311. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return ViewFactoryDependency; });
  33312. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return ComponentFactoryDependency; });
  33313. /* harmony export (immutable) */ exports["a"] = buildView;
  33314. /* harmony export (immutable) */ exports["b"] = finishView;
  33315. /**
  33316. * @license
  33317. * Copyright Google Inc. All Rights Reserved.
  33318. *
  33319. * Use of this source code is governed by an MIT-style license that can be
  33320. * found in the LICENSE file at https://angular.io/license
  33321. */
  33322. var IMPLICIT_TEMPLATE_VAR = '\$implicit';
  33323. var CLASS_ATTR = 'class';
  33324. var STYLE_ATTR = 'style';
  33325. var NG_CONTAINER_TAG = 'ng-container';
  33326. var parentRenderNodeVar = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["e" /* variable */]('parentRenderNode');
  33327. var rootSelectorVar = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["e" /* variable */]('rootSelector');
  33328. var ViewFactoryDependency = (function () {
  33329. function ViewFactoryDependency(comp, placeholder) {
  33330. this.comp = comp;
  33331. this.placeholder = placeholder;
  33332. }
  33333. return ViewFactoryDependency;
  33334. }());
  33335. var ComponentFactoryDependency = (function () {
  33336. function ComponentFactoryDependency(comp, placeholder) {
  33337. this.comp = comp;
  33338. this.placeholder = placeholder;
  33339. }
  33340. return ComponentFactoryDependency;
  33341. }());
  33342. function buildView(view, template, targetDependencies) {
  33343. var builderVisitor = new ViewBuilderVisitor(view, targetDependencies);
  33344. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__template_parser_template_ast__["c" /* templateVisitAll */])(builderVisitor, template, view.declarationElement.isNull() ? view.declarationElement : view.declarationElement.parent);
  33345. return builderVisitor.nestedViewCount;
  33346. }
  33347. function finishView(view, targetStatements) {
  33348. view.afterNodes();
  33349. createViewTopLevelStmts(view, targetStatements);
  33350. view.customNodesStorage.forEach(function (node) {
  33351. if (node instanceof __WEBPACK_IMPORTED_MODULE_10__compile_element__["a" /* CompileElement */] && node.hasEmbeddedView) {
  33352. finishView(node.embeddedView, targetStatements);
  33353. }
  33354. });
  33355. }
  33356. var ViewBuilderVisitor = (function () {
  33357. function ViewBuilderVisitor(view, targetDependencies) {
  33358. this.view = view;
  33359. this.targetDependencies = targetDependencies;
  33360. this.nestedViewCount = 0;
  33361. this._animationCompiler = new __WEBPACK_IMPORTED_MODULE_1__animation_animation_compiler__["a" /* AnimationCompiler */]();
  33362. }
  33363. ViewBuilderVisitor.prototype._isRootNode = function (parent) { return parent.view !== this.view; };
  33364. ViewBuilderVisitor.prototype._addRootNodeAndProject = function (node) {
  33365. var projectedNode = _getOuterContainerOrSelf(node);
  33366. var parent = projectedNode.parent;
  33367. var ngContentIndex = projectedNode.sourceAst.ngContentIndex;
  33368. var vcAppEl = (node instanceof __WEBPACK_IMPORTED_MODULE_10__compile_element__["a" /* CompileElement */] && node.hasViewContainer) ? node.appElement : null;
  33369. if (this._isRootNode(parent)) {
  33370. // store appElement as root node only for ViewContainers
  33371. if (this.view.viewType !== __WEBPACK_IMPORTED_MODULE_7__private_import_core__["j" /* ViewType */].COMPONENT) {
  33372. this.view.rootNodesOrAppElements.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(vcAppEl) ? vcAppEl : node.renderNode);
  33373. }
  33374. }
  33375. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(parent.component) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(ngContentIndex)) {
  33376. parent.addContentNode(ngContentIndex, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(vcAppEl) ? vcAppEl : node.renderNode);
  33377. }
  33378. };
  33379. ViewBuilderVisitor.prototype._getParentRenderNode = function (parent) {
  33380. parent = _getOuterContainerParentOrSelf(parent);
  33381. if (this._isRootNode(parent)) {
  33382. if (this.view.viewType === __WEBPACK_IMPORTED_MODULE_7__private_import_core__["j" /* ViewType */].COMPONENT) {
  33383. return parentRenderNodeVar;
  33384. }
  33385. else {
  33386. // root node of an embedded/host view
  33387. return __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["h" /* NULL_EXPR */];
  33388. }
  33389. }
  33390. else {
  33391. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(parent.component) &&
  33392. parent.component.template.encapsulation !== __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"].Native ?
  33393. __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["h" /* NULL_EXPR */] :
  33394. parent.renderNode;
  33395. }
  33396. };
  33397. ViewBuilderVisitor.prototype.visitBoundText = function (ast, parent) {
  33398. return this._visitText(ast, '', parent);
  33399. };
  33400. ViewBuilderVisitor.prototype.visitText = function (ast, parent) {
  33401. return this._visitText(ast, ast.value, parent);
  33402. };
  33403. ViewBuilderVisitor.prototype._visitText = function (ast, value, parent) {
  33404. var fieldName = "_text_" + this.view.customNodesStorage.length;
  33405. this.view.fields.push(new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["s" /* ClassField */](fieldName, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](this.view.genConfig.renderTypes.renderText)));
  33406. var renderNode = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["n" /* THIS_EXPR */].prop(fieldName);
  33407. var compileNode = new __WEBPACK_IMPORTED_MODULE_10__compile_element__["b" /* CompileNode */](parent, this.view, this.view.customNodesStorage.length, renderNode, ast);
  33408. var createRenderNode = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["n" /* THIS_EXPR */].prop(fieldName)
  33409. .set(__WEBPACK_IMPORTED_MODULE_12__constants__["c" /* ViewProperties */].renderer.callMethod('createText', [
  33410. this._getParentRenderNode(parent), __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["a" /* literal */](value),
  33411. this.view.createMethod.resetDebugInfoExpr(this.view.customNodesStorage.length, ast)
  33412. ]))
  33413. .toStmt();
  33414. this.view.customNodesStorage.push(compileNode);
  33415. this.view.createMethod.addStmt(createRenderNode);
  33416. this._addRootNodeAndProject(compileNode);
  33417. return renderNode;
  33418. };
  33419. ViewBuilderVisitor.prototype.visitNgContent = function (ast, parent) {
  33420. // the projected node originate from a different view, so we don't
  33421. // have debug information for them...
  33422. this.view.createMethod.resetDebugInfo(null, ast);
  33423. var parentRenderNode = this._getParentRenderNode(parent);
  33424. var nodesExpression = __WEBPACK_IMPORTED_MODULE_12__constants__["c" /* ViewProperties */].projectableNodes.key(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["a" /* literal */](ast.index), new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["q" /* ArrayType */](__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](this.view.genConfig.renderTypes.renderNode)));
  33425. if (parentRenderNode !== __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["h" /* NULL_EXPR */]) {
  33426. this.view.createMethod.addStmt(__WEBPACK_IMPORTED_MODULE_12__constants__["c" /* ViewProperties */].renderer
  33427. .callMethod('projectNodes', [
  33428. parentRenderNode,
  33429. __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].flattenNestedViewRenderNodes))
  33430. .callFn([nodesExpression])
  33431. ])
  33432. .toStmt());
  33433. }
  33434. else if (this._isRootNode(parent)) {
  33435. if (this.view.viewType !== __WEBPACK_IMPORTED_MODULE_7__private_import_core__["j" /* ViewType */].COMPONENT) {
  33436. // store root node only for embedded/host views
  33437. this.view.rootNodesOrAppElements.push(nodesExpression);
  33438. }
  33439. }
  33440. else {
  33441. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(parent.component) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(ast.ngContentIndex)) {
  33442. parent.addContentNode(ast.ngContentIndex, nodesExpression);
  33443. }
  33444. }
  33445. return null;
  33446. };
  33447. ViewBuilderVisitor.prototype.visitElement = function (ast, parent) {
  33448. var _this = this;
  33449. var nodeIndex = this.view.customNodesStorage.length;
  33450. var createRenderNodeExpr;
  33451. var debugContextExpr = this.view.createMethod.resetDebugInfoExpr(nodeIndex, ast);
  33452. if (nodeIndex === 0 && this.view.viewType === __WEBPACK_IMPORTED_MODULE_7__private_import_core__["j" /* ViewType */].HOST) {
  33453. createRenderNodeExpr = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["n" /* THIS_EXPR */].callMethod('selectOrCreateHostElement', [__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["a" /* literal */](ast.name), rootSelectorVar, debugContextExpr]);
  33454. }
  33455. else {
  33456. if (ast.name === NG_CONTAINER_TAG) {
  33457. createRenderNodeExpr = __WEBPACK_IMPORTED_MODULE_12__constants__["c" /* ViewProperties */].renderer.callMethod('createTemplateAnchor', [this._getParentRenderNode(parent), debugContextExpr]);
  33458. }
  33459. else {
  33460. createRenderNodeExpr = __WEBPACK_IMPORTED_MODULE_12__constants__["c" /* ViewProperties */].renderer.callMethod('createElement', [this._getParentRenderNode(parent), __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["a" /* literal */](ast.name), debugContextExpr]);
  33461. }
  33462. }
  33463. var fieldName = "_el_" + nodeIndex;
  33464. this.view.fields.push(new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["s" /* ClassField */](fieldName, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](this.view.genConfig.renderTypes.renderElement)));
  33465. this.view.createMethod.addStmt(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["n" /* THIS_EXPR */].prop(fieldName).set(createRenderNodeExpr).toStmt());
  33466. var renderNode = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["n" /* THIS_EXPR */].prop(fieldName);
  33467. var directives = ast.directives.map(function (directiveAst) { return directiveAst.directive; });
  33468. var component = directives.find(function (directive) { return directive.isComponent; });
  33469. var htmlAttrs = _readHtmlAttrs(ast.attrs);
  33470. var attrNameAndValues = _mergeHtmlAndDirectiveAttrs(htmlAttrs, directives);
  33471. for (var i = 0; i < attrNameAndValues.length; i++) {
  33472. var attrName = attrNameAndValues[i][0];
  33473. if (ast.name !== NG_CONTAINER_TAG) {
  33474. // <ng-container> are not rendered in the DOM
  33475. var attrValue = attrNameAndValues[i][1];
  33476. this.view.createMethod.addStmt(__WEBPACK_IMPORTED_MODULE_12__constants__["c" /* ViewProperties */].renderer
  33477. .callMethod('setElementAttribute', [renderNode, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["a" /* literal */](attrName), __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["a" /* literal */](attrValue)])
  33478. .toStmt());
  33479. }
  33480. }
  33481. var compileElement = new __WEBPACK_IMPORTED_MODULE_10__compile_element__["a" /* CompileElement */](parent, this.view, nodeIndex, renderNode, ast, component, directives, ast.providers, ast.hasViewContainer, false, ast.references);
  33482. this.view.customNodesStorage.push(compileElement);
  33483. var compViewExpr = null;
  33484. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(component)) {
  33485. var nestedComponentIdentifier = new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["a" /* CompileIdentifierMetadata */]({ name: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_13__util__["d" /* getViewFactoryName */])(component, 0) });
  33486. this.targetDependencies.push(new ViewFactoryDependency(component.type, nestedComponentIdentifier));
  33487. var entryComponentIdentifiers = component.entryComponents.map(function (entryComponent) {
  33488. var id = new __WEBPACK_IMPORTED_MODULE_2__compile_metadata__["a" /* CompileIdentifierMetadata */]({ name: entryComponent.name });
  33489. _this.targetDependencies.push(new ComponentFactoryDependency(entryComponent, id));
  33490. return id;
  33491. });
  33492. compileElement.createComponentFactoryResolver(entryComponentIdentifiers);
  33493. compViewExpr = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["e" /* variable */]("compView_" + nodeIndex); // fix highlighting: `
  33494. compileElement.setComponentView(compViewExpr);
  33495. this.view.createMethod.addStmt(compViewExpr
  33496. .set(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["b" /* importExpr */](nestedComponentIdentifier).callFn([
  33497. __WEBPACK_IMPORTED_MODULE_12__constants__["c" /* ViewProperties */].viewUtils, compileElement.injector, compileElement.appElement
  33498. ]))
  33499. .toDeclStmt());
  33500. }
  33501. compileElement.beforeChildren();
  33502. this._addRootNodeAndProject(compileElement);
  33503. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__template_parser_template_ast__["c" /* templateVisitAll */])(this, ast.children, compileElement);
  33504. compileElement.afterChildren(this.view.customNodesStorage.length - nodeIndex - 1);
  33505. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(compViewExpr)) {
  33506. var codeGenContentNodes;
  33507. if (this.view.component.type.isHost) {
  33508. codeGenContentNodes = __WEBPACK_IMPORTED_MODULE_12__constants__["c" /* ViewProperties */].projectableNodes;
  33509. }
  33510. else {
  33511. codeGenContentNodes = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["g" /* literalArr */](compileElement.contentNodesByNgContentIndex.map(function (nodes) { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_13__util__["e" /* createFlatArray */])(nodes); }));
  33512. }
  33513. this.view.createMethod.addStmt(compViewExpr
  33514. .callMethod('create', [compileElement.getComponent(), codeGenContentNodes, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["h" /* NULL_EXPR */]])
  33515. .toStmt());
  33516. }
  33517. return null;
  33518. };
  33519. ViewBuilderVisitor.prototype.visitEmbeddedTemplate = function (ast, parent) {
  33520. var nodeIndex = this.view.customNodesStorage.length;
  33521. var fieldName = "_anchor_" + nodeIndex;
  33522. this.view.fields.push(new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["s" /* ClassField */](fieldName, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](this.view.genConfig.renderTypes.renderComment)));
  33523. this.view.createMethod.addStmt(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["n" /* THIS_EXPR */].prop(fieldName)
  33524. .set(__WEBPACK_IMPORTED_MODULE_12__constants__["c" /* ViewProperties */].renderer.callMethod('createTemplateAnchor', [
  33525. this._getParentRenderNode(parent),
  33526. this.view.createMethod.resetDebugInfoExpr(nodeIndex, ast)
  33527. ]))
  33528. .toStmt());
  33529. var renderNode = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["n" /* THIS_EXPR */].prop(fieldName);
  33530. var templateVariableBindings = ast.variables.map(function (varAst) { return [varAst.value.length > 0 ? varAst.value : IMPLICIT_TEMPLATE_VAR, varAst.name]; });
  33531. var directives = ast.directives.map(function (directiveAst) { return directiveAst.directive; });
  33532. var compileElement = new __WEBPACK_IMPORTED_MODULE_10__compile_element__["a" /* CompileElement */](parent, this.view, nodeIndex, renderNode, ast, null, directives, ast.providers, ast.hasViewContainer, true, ast.references);
  33533. this.view.customNodesStorage.push(compileElement);
  33534. var compiledAnimations = this._animationCompiler.compileComponent(this.view.component, [ast]);
  33535. this.nestedViewCount++;
  33536. var embeddedView = new __WEBPACK_IMPORTED_MODULE_11__compile_view__["a" /* CompileView */](this.view.component, this.view.genConfig, this.view.pipeMetas, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["h" /* NULL_EXPR */], compiledAnimations.triggers, this.view.viewIndex + this.nestedViewCount, compileElement, templateVariableBindings);
  33537. this.nestedViewCount += buildView(embeddedView, ast.children, this.targetDependencies);
  33538. compileElement.beforeChildren();
  33539. this._addRootNodeAndProject(compileElement);
  33540. compileElement.afterChildren(0);
  33541. return null;
  33542. };
  33543. ViewBuilderVisitor.prototype.visitAttr = function (ast, ctx) { return null; };
  33544. ViewBuilderVisitor.prototype.visitDirective = function (ast, ctx) { return null; };
  33545. ViewBuilderVisitor.prototype.visitEvent = function (ast, eventTargetAndNames) {
  33546. return null;
  33547. };
  33548. ViewBuilderVisitor.prototype.visitReference = function (ast, ctx) { return null; };
  33549. ViewBuilderVisitor.prototype.visitVariable = function (ast, ctx) { return null; };
  33550. ViewBuilderVisitor.prototype.visitDirectiveProperty = function (ast, context) { return null; };
  33551. ViewBuilderVisitor.prototype.visitElementProperty = function (ast, context) { return null; };
  33552. return ViewBuilderVisitor;
  33553. }());
  33554. /**
  33555. * Walks up the node while the direct parent is a container.
  33556. *
  33557. * Returns the outer container or the node itself when it is not a direct child of a container.
  33558. *
  33559. * @internal
  33560. */
  33561. function _getOuterContainerOrSelf(node) {
  33562. var view = node.view;
  33563. while (_isNgContainer(node.parent, view)) {
  33564. node = node.parent;
  33565. }
  33566. return node;
  33567. }
  33568. /**
  33569. * Walks up the node while they are container and returns the first parent which is not.
  33570. *
  33571. * Returns the parent of the outer container or the node itself when it is not a container.
  33572. *
  33573. * @internal
  33574. */
  33575. function _getOuterContainerParentOrSelf(el) {
  33576. var view = el.view;
  33577. while (_isNgContainer(el, view)) {
  33578. el = el.parent;
  33579. }
  33580. return el;
  33581. }
  33582. function _isNgContainer(node, view) {
  33583. return !node.isNull() && node.sourceAst.name === NG_CONTAINER_TAG &&
  33584. node.view === view;
  33585. }
  33586. function _mergeHtmlAndDirectiveAttrs(declaredHtmlAttrs, directives) {
  33587. var result = {};
  33588. __WEBPACK_IMPORTED_MODULE_3__facade_collection__["b" /* StringMapWrapper */].forEach(declaredHtmlAttrs, function (value, key) { result[key] = value; });
  33589. directives.forEach(function (directiveMeta) {
  33590. __WEBPACK_IMPORTED_MODULE_3__facade_collection__["b" /* StringMapWrapper */].forEach(directiveMeta.hostAttributes, function (value, name) {
  33591. var prevValue = result[name];
  33592. result[name] = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(prevValue) ? mergeAttributeValue(name, prevValue, value) : value;
  33593. });
  33594. });
  33595. return mapToKeyValueArray(result);
  33596. }
  33597. function _readHtmlAttrs(attrs) {
  33598. var htmlAttrs = {};
  33599. attrs.forEach(function (ast) { htmlAttrs[ast.name] = ast.value; });
  33600. return htmlAttrs;
  33601. }
  33602. function mergeAttributeValue(attrName, attrValue1, attrValue2) {
  33603. if (attrName == CLASS_ATTR || attrName == STYLE_ATTR) {
  33604. return attrValue1 + " " + attrValue2;
  33605. }
  33606. else {
  33607. return attrValue2;
  33608. }
  33609. }
  33610. function mapToKeyValueArray(data) {
  33611. var entryArray = [];
  33612. __WEBPACK_IMPORTED_MODULE_3__facade_collection__["b" /* StringMapWrapper */].forEach(data, function (value, name) {
  33613. entryArray.push([name, value]);
  33614. });
  33615. // We need to sort to get a defined output order
  33616. // for tests and for caching generated artifacts...
  33617. __WEBPACK_IMPORTED_MODULE_3__facade_collection__["a" /* ListWrapper */].sort(entryArray, function (entry1, entry2) { return __WEBPACK_IMPORTED_MODULE_4__facade_lang__["f" /* StringWrapper */].compare(entry1[0], entry2[0]); });
  33618. return entryArray;
  33619. }
  33620. function createViewTopLevelStmts(view, targetStatements) {
  33621. var nodeDebugInfosVar = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["h" /* NULL_EXPR */];
  33622. if (view.genConfig.genDebugInfo) {
  33623. nodeDebugInfosVar = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["e" /* variable */]("nodeDebugInfos_" + view.component.type.name + view.viewIndex); // fix highlighting: `
  33624. targetStatements.push(nodeDebugInfosVar
  33625. .set(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["g" /* literalArr */](view.customNodesStorage.map(createStaticNodeDebugInfo), new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["q" /* ArrayType */](new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["I" /* ExternalType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].StaticNodeDebugInfo)), [__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["d" /* TypeModifier */].Const])))
  33626. .toDeclStmt(null, [__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["u" /* StmtModifier */].Final]));
  33627. }
  33628. var renderCompTypeVar = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["e" /* variable */]("renderType_" + view.component.type.name); // fix highlighting: `
  33629. if (view.viewIndex === 0) {
  33630. targetStatements.push(renderCompTypeVar.set(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["h" /* NULL_EXPR */])
  33631. .toDeclStmt(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].RenderComponentType))));
  33632. }
  33633. var viewClass = createViewClass(view, renderCompTypeVar, nodeDebugInfosVar);
  33634. targetStatements.push(viewClass);
  33635. targetStatements.push(createViewFactory(view, viewClass, renderCompTypeVar));
  33636. }
  33637. function createStaticNodeDebugInfo(node) {
  33638. var compileElement = node instanceof __WEBPACK_IMPORTED_MODULE_10__compile_element__["a" /* CompileElement */] ? node : null;
  33639. var providerTokens = [];
  33640. var componentToken = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["h" /* NULL_EXPR */];
  33641. var varTokenEntries = [];
  33642. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(compileElement)) {
  33643. providerTokens = compileElement.getProviderTokens();
  33644. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(compileElement.component)) {
  33645. componentToken = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__util__["e" /* createDiTokenExpression */])(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["c" /* identifierToken */])(compileElement.component.type));
  33646. }
  33647. __WEBPACK_IMPORTED_MODULE_3__facade_collection__["b" /* StringMapWrapper */].forEach(compileElement.referenceTokens, function (token, varName) {
  33648. varTokenEntries.push([varName, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(token) ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__util__["e" /* createDiTokenExpression */])(token) : __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["h" /* NULL_EXPR */]]);
  33649. });
  33650. }
  33651. return __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].StaticNodeDebugInfo))
  33652. .instantiate([
  33653. __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["g" /* literalArr */](providerTokens, new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["q" /* ArrayType */](__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["l" /* DYNAMIC_TYPE */], [__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["d" /* TypeModifier */].Const])),
  33654. componentToken,
  33655. __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["f" /* literalMap */](varTokenEntries, new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["w" /* MapType */](__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["l" /* DYNAMIC_TYPE */], [__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["d" /* TypeModifier */].Const]))
  33656. ], __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].StaticNodeDebugInfo), null, [__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["d" /* TypeModifier */].Const]));
  33657. }
  33658. function createViewClass(view, renderCompTypeVar, nodeDebugInfosVar) {
  33659. var viewConstructorArgs = [
  33660. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["k" /* FnParam */](__WEBPACK_IMPORTED_MODULE_12__constants__["e" /* ViewConstructorVars */].viewUtils.name, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].ViewUtils))),
  33661. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["k" /* FnParam */](__WEBPACK_IMPORTED_MODULE_12__constants__["e" /* ViewConstructorVars */].parentInjector.name, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].Injector))),
  33662. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["k" /* FnParam */](__WEBPACK_IMPORTED_MODULE_12__constants__["e" /* ViewConstructorVars */].declarationEl.name, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].AppElement)))
  33663. ];
  33664. var superConstructorArgs = [
  33665. __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["e" /* variable */](view.className), renderCompTypeVar, __WEBPACK_IMPORTED_MODULE_12__constants__["f" /* ViewTypeEnum */].fromValue(view.viewType),
  33666. __WEBPACK_IMPORTED_MODULE_12__constants__["e" /* ViewConstructorVars */].viewUtils, __WEBPACK_IMPORTED_MODULE_12__constants__["e" /* ViewConstructorVars */].parentInjector,
  33667. __WEBPACK_IMPORTED_MODULE_12__constants__["e" /* ViewConstructorVars */].declarationEl,
  33668. __WEBPACK_IMPORTED_MODULE_12__constants__["g" /* ChangeDetectorStatusEnum */].fromValue(getChangeDetectionMode(view))
  33669. ];
  33670. if (view.genConfig.genDebugInfo) {
  33671. superConstructorArgs.push(nodeDebugInfosVar);
  33672. }
  33673. var viewConstructor = new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["C" /* ClassMethod */](null, viewConstructorArgs, [__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["J" /* SUPER_EXPR */].callFn(superConstructorArgs).toStmt()]);
  33674. var viewMethods = [
  33675. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["C" /* ClassMethod */]('createInternal', [new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["k" /* FnParam */](rootSelectorVar.name, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["K" /* STRING_TYPE */])], generateCreateMethod(view), __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].AppElement))),
  33676. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["C" /* ClassMethod */]('injectorGetInternal', [
  33677. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["k" /* FnParam */](__WEBPACK_IMPORTED_MODULE_12__constants__["a" /* InjectMethodVars */].token.name, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["l" /* DYNAMIC_TYPE */]),
  33678. // Note: Can't use o.INT_TYPE here as the method in AppView uses number
  33679. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["k" /* FnParam */](__WEBPACK_IMPORTED_MODULE_12__constants__["a" /* InjectMethodVars */].requestNodeIndex.name, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["L" /* NUMBER_TYPE */]),
  33680. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["k" /* FnParam */](__WEBPACK_IMPORTED_MODULE_12__constants__["a" /* InjectMethodVars */].notFoundResult.name, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["l" /* DYNAMIC_TYPE */])
  33681. ], addReturnValuefNotEmpty(view.injectorGetMethod.finish(), __WEBPACK_IMPORTED_MODULE_12__constants__["a" /* InjectMethodVars */].notFoundResult), __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["l" /* DYNAMIC_TYPE */]),
  33682. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["C" /* ClassMethod */]('detectChangesInternal', [new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["k" /* FnParam */](__WEBPACK_IMPORTED_MODULE_12__constants__["d" /* DetectChangesVars */].throwOnChange.name, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["D" /* BOOL_TYPE */])], generateDetectChangesMethod(view)),
  33683. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["C" /* ClassMethod */]('dirtyParentQueriesInternal', [], view.dirtyParentQueriesMethod.finish()),
  33684. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["C" /* ClassMethod */]('destroyInternal', [], view.destroyMethod.finish()),
  33685. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["C" /* ClassMethod */]('detachInternal', [], view.detachMethod.finish())
  33686. ].concat(view.eventHandlerMethods);
  33687. var superClass = view.genConfig.genDebugInfo ? __WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].DebugAppView : __WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].AppView;
  33688. var viewClass = new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["M" /* ClassStmt */](view.className, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(superClass), [getContextType(view)]), view.fields, view.getters, viewConstructor, viewMethods.filter(function (method) { return method.body.length > 0; }));
  33689. return viewClass;
  33690. }
  33691. function createViewFactory(view, viewClass, renderCompTypeVar) {
  33692. var viewFactoryArgs = [
  33693. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["k" /* FnParam */](__WEBPACK_IMPORTED_MODULE_12__constants__["e" /* ViewConstructorVars */].viewUtils.name, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].ViewUtils))),
  33694. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["k" /* FnParam */](__WEBPACK_IMPORTED_MODULE_12__constants__["e" /* ViewConstructorVars */].parentInjector.name, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].Injector))),
  33695. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["k" /* FnParam */](__WEBPACK_IMPORTED_MODULE_12__constants__["e" /* ViewConstructorVars */].declarationEl.name, __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].AppElement)))
  33696. ];
  33697. var initRenderCompTypeStmts = [];
  33698. var templateUrlInfo;
  33699. if (view.component.template.templateUrl == view.component.type.moduleUrl) {
  33700. templateUrlInfo =
  33701. view.component.type.moduleUrl + " class " + view.component.type.name + " - inline template";
  33702. }
  33703. else {
  33704. templateUrlInfo = view.component.template.templateUrl;
  33705. }
  33706. if (view.viewIndex === 0) {
  33707. var animationsExpr = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["f" /* literalMap */](view.animations.map(function (entry) { return [entry.name, entry.fnVariable]; }));
  33708. initRenderCompTypeStmts = [new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["i" /* IfStmt */](renderCompTypeVar.identical(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["h" /* NULL_EXPR */]), [
  33709. renderCompTypeVar
  33710. .set(__WEBPACK_IMPORTED_MODULE_12__constants__["e" /* ViewConstructorVars */].viewUtils.callMethod('createRenderComponentType', [
  33711. __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["a" /* literal */](templateUrlInfo),
  33712. __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["a" /* literal */](view.component.template.ngContentSelectors.length),
  33713. __WEBPACK_IMPORTED_MODULE_12__constants__["h" /* ViewEncapsulationEnum */].fromValue(view.component.template.encapsulation), view.styles,
  33714. animationsExpr
  33715. ]))
  33716. .toStmt()
  33717. ])];
  33718. }
  33719. return __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["j" /* fn */](viewFactoryArgs, initRenderCompTypeStmts.concat([new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["t" /* ReturnStatement */](__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["e" /* variable */](viewClass.name)
  33720. .instantiate(viewClass.constructorMethod.params.map(function (param) { return __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["e" /* variable */](param.name); })))]), __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].AppView), [getContextType(view)]))
  33721. .toDeclStmt(view.viewFactory.name, [__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["u" /* StmtModifier */].Final]);
  33722. }
  33723. function generateCreateMethod(view) {
  33724. var parentRenderNodeExpr = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["h" /* NULL_EXPR */];
  33725. var parentRenderNodeStmts = [];
  33726. if (view.viewType === __WEBPACK_IMPORTED_MODULE_7__private_import_core__["j" /* ViewType */].COMPONENT) {
  33727. parentRenderNodeExpr = __WEBPACK_IMPORTED_MODULE_12__constants__["c" /* ViewProperties */].renderer.callMethod('createViewRoot', [__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["n" /* THIS_EXPR */].prop('declarationAppElement').prop('nativeElement')]);
  33728. parentRenderNodeStmts =
  33729. [parentRenderNodeVar.set(parentRenderNodeExpr)
  33730. .toDeclStmt(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](view.genConfig.renderTypes.renderNode), [__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["u" /* StmtModifier */].Final])];
  33731. }
  33732. var resultExpr;
  33733. if (view.viewType === __WEBPACK_IMPORTED_MODULE_7__private_import_core__["j" /* ViewType */].HOST) {
  33734. resultExpr = view.customNodesStorage[0].appElement;
  33735. }
  33736. else {
  33737. resultExpr = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["h" /* NULL_EXPR */];
  33738. }
  33739. return parentRenderNodeStmts.concat(view.createMethod.finish(), [
  33740. __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["n" /* THIS_EXPR */]
  33741. .callMethod('init', [
  33742. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_13__util__["e" /* createFlatArray */])(view.rootNodesOrAppElements),
  33743. __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["g" /* literalArr */](view.customNodesStorage.map(function (node) { return node.renderNode; })), __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["g" /* literalArr */](view.disposables),
  33744. __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["g" /* literalArr */](view.subscriptions)
  33745. ])
  33746. .toStmt(),
  33747. new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["t" /* ReturnStatement */](resultExpr)
  33748. ]);
  33749. }
  33750. function generateDetectChangesMethod(view) {
  33751. var stmts = [];
  33752. if (view.animationBindingsMethod.isEmpty() && view.detectChangesInInputsMethod.isEmpty() &&
  33753. view.updateContentQueriesMethod.isEmpty() &&
  33754. view.afterContentLifecycleCallbacksMethod.isEmpty() &&
  33755. view.detectChangesRenderPropertiesMethod.isEmpty() &&
  33756. view.updateViewQueriesMethod.isEmpty() && view.afterViewLifecycleCallbacksMethod.isEmpty()) {
  33757. return stmts;
  33758. }
  33759. __WEBPACK_IMPORTED_MODULE_3__facade_collection__["a" /* ListWrapper */].addAll(stmts, view.animationBindingsMethod.finish());
  33760. __WEBPACK_IMPORTED_MODULE_3__facade_collection__["a" /* ListWrapper */].addAll(stmts, view.detectChangesInInputsMethod.finish());
  33761. stmts.push(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["n" /* THIS_EXPR */].callMethod('detectContentChildrenChanges', [__WEBPACK_IMPORTED_MODULE_12__constants__["d" /* DetectChangesVars */].throwOnChange])
  33762. .toStmt());
  33763. var afterContentStmts = view.updateContentQueriesMethod.finish().concat(view.afterContentLifecycleCallbacksMethod.finish());
  33764. if (afterContentStmts.length > 0) {
  33765. stmts.push(new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["i" /* IfStmt */](__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["A" /* not */](__WEBPACK_IMPORTED_MODULE_12__constants__["d" /* DetectChangesVars */].throwOnChange), afterContentStmts));
  33766. }
  33767. __WEBPACK_IMPORTED_MODULE_3__facade_collection__["a" /* ListWrapper */].addAll(stmts, view.detectChangesRenderPropertiesMethod.finish());
  33768. stmts.push(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["n" /* THIS_EXPR */].callMethod('detectViewChildrenChanges', [__WEBPACK_IMPORTED_MODULE_12__constants__["d" /* DetectChangesVars */].throwOnChange])
  33769. .toStmt());
  33770. var afterViewStmts = view.updateViewQueriesMethod.finish().concat(view.afterViewLifecycleCallbacksMethod.finish());
  33771. if (afterViewStmts.length > 0) {
  33772. stmts.push(new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["i" /* IfStmt */](__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["A" /* not */](__WEBPACK_IMPORTED_MODULE_12__constants__["d" /* DetectChangesVars */].throwOnChange), afterViewStmts));
  33773. }
  33774. var varStmts = [];
  33775. var readVars = __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["N" /* findReadVarNames */](stmts);
  33776. if (__WEBPACK_IMPORTED_MODULE_3__facade_collection__["d" /* SetWrapper */].has(readVars, __WEBPACK_IMPORTED_MODULE_12__constants__["d" /* DetectChangesVars */].changed.name)) {
  33777. varStmts.push(__WEBPACK_IMPORTED_MODULE_12__constants__["d" /* DetectChangesVars */].changed.set(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["a" /* literal */](true)).toDeclStmt(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["D" /* BOOL_TYPE */]));
  33778. }
  33779. if (__WEBPACK_IMPORTED_MODULE_3__facade_collection__["d" /* SetWrapper */].has(readVars, __WEBPACK_IMPORTED_MODULE_12__constants__["d" /* DetectChangesVars */].changes.name)) {
  33780. varStmts.push(__WEBPACK_IMPORTED_MODULE_12__constants__["d" /* DetectChangesVars */].changes.set(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["h" /* NULL_EXPR */])
  33781. .toDeclStmt(new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["w" /* MapType */](__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].SimpleChange)))));
  33782. }
  33783. if (__WEBPACK_IMPORTED_MODULE_3__facade_collection__["d" /* SetWrapper */].has(readVars, __WEBPACK_IMPORTED_MODULE_12__constants__["d" /* DetectChangesVars */].valUnwrapper.name)) {
  33784. varStmts.push(__WEBPACK_IMPORTED_MODULE_12__constants__["d" /* DetectChangesVars */].valUnwrapper
  33785. .set(__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_5__identifiers__["b" /* Identifiers */].ValueUnwrapper)).instantiate([]))
  33786. .toDeclStmt(null, [__WEBPACK_IMPORTED_MODULE_6__output_output_ast__["u" /* StmtModifier */].Final]));
  33787. }
  33788. return varStmts.concat(stmts);
  33789. }
  33790. function addReturnValuefNotEmpty(statements, value) {
  33791. if (statements.length > 0) {
  33792. return statements.concat([new __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["t" /* ReturnStatement */](value)]);
  33793. }
  33794. else {
  33795. return statements;
  33796. }
  33797. }
  33798. function getContextType(view) {
  33799. if (view.viewType === __WEBPACK_IMPORTED_MODULE_7__private_import_core__["j" /* ViewType */].COMPONENT) {
  33800. return __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["c" /* importType */](view.component.type);
  33801. }
  33802. return __WEBPACK_IMPORTED_MODULE_6__output_output_ast__["l" /* DYNAMIC_TYPE */];
  33803. }
  33804. function getChangeDetectionMode(view) {
  33805. var mode;
  33806. if (view.viewType === __WEBPACK_IMPORTED_MODULE_7__private_import_core__["j" /* ViewType */].COMPONENT) {
  33807. mode = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__private_import_core__["Y" /* isDefaultChangeDetectionStrategy */])(view.component.changeDetection) ?
  33808. __WEBPACK_IMPORTED_MODULE_7__private_import_core__["n" /* ChangeDetectorStatus */].CheckAlways :
  33809. __WEBPACK_IMPORTED_MODULE_7__private_import_core__["n" /* ChangeDetectorStatus */].CheckOnce;
  33810. }
  33811. else {
  33812. mode = __WEBPACK_IMPORTED_MODULE_7__private_import_core__["n" /* ChangeDetectorStatus */].CheckAlways;
  33813. }
  33814. return mode;
  33815. }
  33816. //# sourceMappingURL=view_builder.js.map
  33817. /***/ },
  33818. /* 301 */
  33819. /***/ function(module, exports, __webpack_require__) {
  33820. "use strict";
  33821. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return FILL_STYLE_FLAG; });
  33822. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return ANY_STATE; });
  33823. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return DEFAULT_STATE; });
  33824. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return EMPTY_STATE; });
  33825. /**
  33826. * @license
  33827. * Copyright Google Inc. All Rights Reserved.
  33828. *
  33829. * Use of this source code is governed by an MIT-style license that can be
  33830. * found in the LICENSE file at https://angular.io/license
  33831. */
  33832. var FILL_STYLE_FLAG = 'true'; // TODO (matsko): change to boolean
  33833. var ANY_STATE = '*';
  33834. var DEFAULT_STATE = '*';
  33835. var EMPTY_STATE = 'void';
  33836. //# sourceMappingURL=animation_constants.js.map
  33837. /***/ },
  33838. /* 302 */
  33839. /***/ function(module, exports, __webpack_require__) {
  33840. "use strict";
  33841. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(5);
  33842. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_math__ = __webpack_require__(485);
  33843. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AnimationGroupPlayer; });
  33844. /**
  33845. * @license
  33846. * Copyright Google Inc. All Rights Reserved.
  33847. *
  33848. * Use of this source code is governed by an MIT-style license that can be
  33849. * found in the LICENSE file at https://angular.io/license
  33850. */
  33851. var AnimationGroupPlayer = (function () {
  33852. function AnimationGroupPlayer(_players) {
  33853. var _this = this;
  33854. this._players = _players;
  33855. this._onDoneFns = [];
  33856. this._onStartFns = [];
  33857. this._finished = false;
  33858. this._started = false;
  33859. this.parentPlayer = null;
  33860. var count = 0;
  33861. var total = this._players.length;
  33862. if (total == 0) {
  33863. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["q" /* scheduleMicroTask */])(function () { return _this._onFinish(); });
  33864. }
  33865. else {
  33866. this._players.forEach(function (player) {
  33867. player.parentPlayer = _this;
  33868. player.onDone(function () {
  33869. if (++count >= total) {
  33870. _this._onFinish();
  33871. }
  33872. });
  33873. });
  33874. }
  33875. }
  33876. AnimationGroupPlayer.prototype._onFinish = function () {
  33877. if (!this._finished) {
  33878. this._finished = true;
  33879. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(this.parentPlayer)) {
  33880. this.destroy();
  33881. }
  33882. this._onDoneFns.forEach(function (fn) { return fn(); });
  33883. this._onDoneFns = [];
  33884. }
  33885. };
  33886. AnimationGroupPlayer.prototype.init = function () { this._players.forEach(function (player) { return player.init(); }); };
  33887. AnimationGroupPlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };
  33888. AnimationGroupPlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };
  33889. AnimationGroupPlayer.prototype.hasStarted = function () { return this._started; };
  33890. AnimationGroupPlayer.prototype.play = function () {
  33891. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(this.parentPlayer)) {
  33892. this.init();
  33893. }
  33894. if (!this.hasStarted()) {
  33895. this._onStartFns.forEach(function (fn) { return fn(); });
  33896. this._onStartFns = [];
  33897. this._started = true;
  33898. }
  33899. this._players.forEach(function (player) { return player.play(); });
  33900. };
  33901. AnimationGroupPlayer.prototype.pause = function () { this._players.forEach(function (player) { return player.pause(); }); };
  33902. AnimationGroupPlayer.prototype.restart = function () { this._players.forEach(function (player) { return player.restart(); }); };
  33903. AnimationGroupPlayer.prototype.finish = function () {
  33904. this._onFinish();
  33905. this._players.forEach(function (player) { return player.finish(); });
  33906. };
  33907. AnimationGroupPlayer.prototype.destroy = function () {
  33908. this._onFinish();
  33909. this._players.forEach(function (player) { return player.destroy(); });
  33910. };
  33911. AnimationGroupPlayer.prototype.reset = function () { this._players.forEach(function (player) { return player.reset(); }); };
  33912. AnimationGroupPlayer.prototype.setPosition = function (p /** TODO #9100 */) {
  33913. this._players.forEach(function (player) { player.setPosition(p); });
  33914. };
  33915. AnimationGroupPlayer.prototype.getPosition = function () {
  33916. var min = 0;
  33917. this._players.forEach(function (player) {
  33918. var p = player.getPosition();
  33919. min = __WEBPACK_IMPORTED_MODULE_1__facade_math__["a" /* Math */].min(p, min);
  33920. });
  33921. return min;
  33922. };
  33923. return AnimationGroupPlayer;
  33924. }());
  33925. //# sourceMappingURL=animation_group_player.js.map
  33926. /***/ },
  33927. /* 303 */
  33928. /***/ function(module, exports, __webpack_require__) {
  33929. "use strict";
  33930. /* harmony export (immutable) */ exports["b"] = queueAnimation;
  33931. /* harmony export (immutable) */ exports["a"] = triggerQueuedAnimations;
  33932. /**
  33933. * @license
  33934. * Copyright Google Inc. All Rights Reserved.
  33935. *
  33936. * Use of this source code is governed by an MIT-style license that can be
  33937. * found in the LICENSE file at https://angular.io/license
  33938. */
  33939. var _queuedAnimations = [];
  33940. /** @internal */
  33941. function queueAnimation(player) {
  33942. _queuedAnimations.push(player);
  33943. }
  33944. /** @internal */
  33945. function triggerQueuedAnimations() {
  33946. for (var i = 0; i < _queuedAnimations.length; i++) {
  33947. var player = _queuedAnimations[i];
  33948. player.play();
  33949. }
  33950. _queuedAnimations = [];
  33951. }
  33952. //# sourceMappingURL=animation_queue.js.map
  33953. /***/ },
  33954. /* 304 */
  33955. /***/ function(module, exports, __webpack_require__) {
  33956. "use strict";
  33957. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AnimationTransitionEvent; });
  33958. /**
  33959. * @license
  33960. * Copyright Google Inc. All Rights Reserved.
  33961. *
  33962. * Use of this source code is governed by an MIT-style license that can be
  33963. * found in the LICENSE file at https://angular.io/license
  33964. */
  33965. /**
  33966. * An instance of this class is returned as an event parameter when an animation
  33967. * callback is captured for an animation either during the start or done phase.
  33968. *
  33969. * ```typescript
  33970. * @Component({
  33971. * host: {
  33972. * '[@myAnimationTrigger]': 'someExpression',
  33973. * '(@myAnimationTrigger.start)': 'captureStartEvent($event)',
  33974. * '(@myAnimationTrigger.done)': 'captureDoneEvent($event)',
  33975. * },
  33976. * animations: [
  33977. * trigger("myAnimationTrigger", [
  33978. * // ...
  33979. * ])
  33980. * ]
  33981. * })
  33982. * class MyComponent {
  33983. * someExpression: any = false;
  33984. * captureStartEvent(event: AnimationTransitionEvent) {
  33985. * // the toState, fromState and totalTime data is accessible from the event variable
  33986. * }
  33987. *
  33988. * captureDoneEvent(event: AnimationTransitionEvent) {
  33989. * // the toState, fromState and totalTime data is accessible from the event variable
  33990. * }
  33991. * }
  33992. * ```
  33993. *
  33994. * @experimental Animation support is experimental.
  33995. */
  33996. var AnimationTransitionEvent = (function () {
  33997. function AnimationTransitionEvent(_a) {
  33998. var fromState = _a.fromState, toState = _a.toState, totalTime = _a.totalTime;
  33999. this.fromState = fromState;
  34000. this.toState = toState;
  34001. this.totalTime = totalTime;
  34002. }
  34003. return AnimationTransitionEvent;
  34004. }());
  34005. //# sourceMappingURL=animation_transition_event.js.map
  34006. /***/ },
  34007. /* 305 */
  34008. /***/ function(module, exports, __webpack_require__) {
  34009. "use strict";
  34010. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(5);
  34011. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AUTO_STYLE; });
  34012. /* harmony export (binding) */ __webpack_require__.d(exports, "i", function() { return AnimationEntryMetadata; });
  34013. /* harmony export (binding) */ __webpack_require__.d(exports, "j", function() { return AnimationStateMetadata; });
  34014. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return AnimationStateDeclarationMetadata; });
  34015. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return AnimationStateTransitionMetadata; });
  34016. /* harmony export (binding) */ __webpack_require__.d(exports, "k", function() { return AnimationMetadata; });
  34017. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return AnimationKeyframesSequenceMetadata; });
  34018. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return AnimationStyleMetadata; });
  34019. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return AnimationAnimateMetadata; });
  34020. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return AnimationWithStepsMetadata; });
  34021. /* harmony export (binding) */ __webpack_require__.d(exports, "l", function() { return AnimationSequenceMetadata; });
  34022. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return AnimationGroupMetadata; });
  34023. /* harmony export (immutable) */ exports["m"] = animate;
  34024. /* harmony export (immutable) */ exports["n"] = group;
  34025. /* harmony export (immutable) */ exports["o"] = sequence;
  34026. /* harmony export (immutable) */ exports["p"] = style;
  34027. /* harmony export (immutable) */ exports["q"] = state;
  34028. /* harmony export (immutable) */ exports["r"] = keyframes;
  34029. /* harmony export (immutable) */ exports["s"] = transition;
  34030. /* harmony export (immutable) */ exports["t"] = trigger;
  34031. /**
  34032. * @license
  34033. * Copyright Google Inc. All Rights Reserved.
  34034. *
  34035. * Use of this source code is governed by an MIT-style license that can be
  34036. * found in the LICENSE file at https://angular.io/license
  34037. */
  34038. var __extends = (this && this.__extends) || function (d, b) {
  34039. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  34040. function __() { this.constructor = d; }
  34041. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  34042. };
  34043. /**
  34044. * @experimental Animation support is experimental.
  34045. */
  34046. var AUTO_STYLE = '*';
  34047. /**
  34048. * Metadata representing the entry of animations.
  34049. * Instances of this class are provided via the animation DSL when the {@link trigger trigger
  34050. * animation function} is called.
  34051. *
  34052. * @experimental Animation support is experimental.
  34053. */
  34054. var AnimationEntryMetadata = (function () {
  34055. function AnimationEntryMetadata(name, definitions) {
  34056. this.name = name;
  34057. this.definitions = definitions;
  34058. }
  34059. return AnimationEntryMetadata;
  34060. }());
  34061. /**
  34062. * @experimental Animation support is experimental.
  34063. */
  34064. var AnimationStateMetadata = (function () {
  34065. function AnimationStateMetadata() {
  34066. }
  34067. return AnimationStateMetadata;
  34068. }());
  34069. /**
  34070. * Metadata representing the entry of animations.
  34071. * Instances of this class are provided via the animation DSL when the {@link state state animation
  34072. * function} is called.
  34073. *
  34074. * @experimental Animation support is experimental.
  34075. */
  34076. var AnimationStateDeclarationMetadata = (function (_super) {
  34077. __extends(AnimationStateDeclarationMetadata, _super);
  34078. function AnimationStateDeclarationMetadata(stateNameExpr, styles) {
  34079. _super.call(this);
  34080. this.stateNameExpr = stateNameExpr;
  34081. this.styles = styles;
  34082. }
  34083. return AnimationStateDeclarationMetadata;
  34084. }(AnimationStateMetadata));
  34085. /**
  34086. * Metadata representing the entry of animations.
  34087. * Instances of this class are provided via the animation DSL when the
  34088. * {@link transition transition animation function} is called.
  34089. *
  34090. * @experimental Animation support is experimental.
  34091. */
  34092. var AnimationStateTransitionMetadata = (function (_super) {
  34093. __extends(AnimationStateTransitionMetadata, _super);
  34094. function AnimationStateTransitionMetadata(stateChangeExpr, steps) {
  34095. _super.call(this);
  34096. this.stateChangeExpr = stateChangeExpr;
  34097. this.steps = steps;
  34098. }
  34099. return AnimationStateTransitionMetadata;
  34100. }(AnimationStateMetadata));
  34101. /**
  34102. * @experimental Animation support is experimental.
  34103. */
  34104. var AnimationMetadata = (function () {
  34105. function AnimationMetadata() {
  34106. }
  34107. return AnimationMetadata;
  34108. }());
  34109. /**
  34110. * Metadata representing the entry of animations.
  34111. * Instances of this class are provided via the animation DSL when the {@link keyframes keyframes
  34112. * animation function} is called.
  34113. *
  34114. * @experimental Animation support is experimental.
  34115. */
  34116. var AnimationKeyframesSequenceMetadata = (function (_super) {
  34117. __extends(AnimationKeyframesSequenceMetadata, _super);
  34118. function AnimationKeyframesSequenceMetadata(steps) {
  34119. _super.call(this);
  34120. this.steps = steps;
  34121. }
  34122. return AnimationKeyframesSequenceMetadata;
  34123. }(AnimationMetadata));
  34124. /**
  34125. * Metadata representing the entry of animations.
  34126. * Instances of this class are provided via the animation DSL when the {@link style style animation
  34127. * function} is called.
  34128. *
  34129. * @experimental Animation support is experimental.
  34130. */
  34131. var AnimationStyleMetadata = (function (_super) {
  34132. __extends(AnimationStyleMetadata, _super);
  34133. function AnimationStyleMetadata(styles, offset) {
  34134. if (offset === void 0) { offset = null; }
  34135. _super.call(this);
  34136. this.styles = styles;
  34137. this.offset = offset;
  34138. }
  34139. return AnimationStyleMetadata;
  34140. }(AnimationMetadata));
  34141. /**
  34142. * Metadata representing the entry of animations.
  34143. * Instances of this class are provided via the animation DSL when the {@link animate animate
  34144. * animation function} is called.
  34145. *
  34146. * @experimental Animation support is experimental.
  34147. */
  34148. var AnimationAnimateMetadata = (function (_super) {
  34149. __extends(AnimationAnimateMetadata, _super);
  34150. function AnimationAnimateMetadata(timings, styles) {
  34151. _super.call(this);
  34152. this.timings = timings;
  34153. this.styles = styles;
  34154. }
  34155. return AnimationAnimateMetadata;
  34156. }(AnimationMetadata));
  34157. /**
  34158. * @experimental Animation support is experimental.
  34159. */
  34160. var AnimationWithStepsMetadata = (function (_super) {
  34161. __extends(AnimationWithStepsMetadata, _super);
  34162. function AnimationWithStepsMetadata() {
  34163. _super.call(this);
  34164. }
  34165. Object.defineProperty(AnimationWithStepsMetadata.prototype, "steps", {
  34166. get: function () { throw new Error('NOT IMPLEMENTED: Base Class'); },
  34167. enumerable: true,
  34168. configurable: true
  34169. });
  34170. return AnimationWithStepsMetadata;
  34171. }(AnimationMetadata));
  34172. /**
  34173. * Metadata representing the entry of animations.
  34174. * Instances of this class are provided via the animation DSL when the {@link sequence sequence
  34175. * animation function} is called.
  34176. *
  34177. * @experimental Animation support is experimental.
  34178. */
  34179. var AnimationSequenceMetadata = (function (_super) {
  34180. __extends(AnimationSequenceMetadata, _super);
  34181. function AnimationSequenceMetadata(_steps) {
  34182. _super.call(this);
  34183. this._steps = _steps;
  34184. }
  34185. Object.defineProperty(AnimationSequenceMetadata.prototype, "steps", {
  34186. get: function () { return this._steps; },
  34187. enumerable: true,
  34188. configurable: true
  34189. });
  34190. return AnimationSequenceMetadata;
  34191. }(AnimationWithStepsMetadata));
  34192. /**
  34193. * Metadata representing the entry of animations.
  34194. * Instances of this class are provided via the animation DSL when the {@link group group animation
  34195. * function} is called.
  34196. *
  34197. * @experimental Animation support is experimental.
  34198. */
  34199. var AnimationGroupMetadata = (function (_super) {
  34200. __extends(AnimationGroupMetadata, _super);
  34201. function AnimationGroupMetadata(_steps) {
  34202. _super.call(this);
  34203. this._steps = _steps;
  34204. }
  34205. Object.defineProperty(AnimationGroupMetadata.prototype, "steps", {
  34206. get: function () { return this._steps; },
  34207. enumerable: true,
  34208. configurable: true
  34209. });
  34210. return AnimationGroupMetadata;
  34211. }(AnimationWithStepsMetadata));
  34212. /**
  34213. * `animate` is an animation-specific function that is designed to be used inside of Angular2's
  34214. * animation
  34215. * DSL language. If this information is new, please navigate to the
  34216. * {@link Component#animations-anchor component animations metadata
  34217. * page} to gain a better understanding of how animations in Angular2 are used.
  34218. *
  34219. * `animate` specifies an animation step that will apply the provided `styles` data for a given
  34220. * amount of
  34221. * time based on the provided `timing` expression value. Calls to `animate` are expected to be
  34222. * used within {@link sequence an animation sequence}, {@link group group}, or {@link transition
  34223. * transition}.
  34224. *
  34225. * ### Usage
  34226. *
  34227. * The `animate` function accepts two input parameters: `timing` and `styles`:
  34228. *
  34229. * - `timing` is a string based value that can be a combination of a duration with optional
  34230. * delay and easing values. The format for the expression breaks down to `duration delay easing`
  34231. * (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000,
  34232. * delay=100, easing=ease-out`.
  34233. * If a numeric value is provided then that will be used as the `duration` value in millisecond
  34234. * form.
  34235. * - `styles` is the style input data which can either be a call to {@link style style} or {@link
  34236. * keyframes keyframes}.
  34237. * If left empty then the styles from the destination state will be collected and used (this is
  34238. * useful when
  34239. * describing an animation step that will complete an animation by {@link
  34240. * transition#the-final-animate-call animating to the final state}).
  34241. *
  34242. * ```typescript
  34243. * // various functions for specifying timing data
  34244. * animate(500, style(...))
  34245. * animate("1s", style(...))
  34246. * animate("100ms 0.5s", style(...))
  34247. * animate("5s ease", style(...))
  34248. * animate("5s 10ms cubic-bezier(.17,.67,.88,.1)", style(...))
  34249. *
  34250. * // either style() of keyframes() can be used
  34251. * animate(500, style({ background: "red" }))
  34252. * animate(500, keyframes([
  34253. * style({ background: "blue" })),
  34254. * style({ background: "red" }))
  34255. * ])
  34256. * ```
  34257. *
  34258. * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))
  34259. *
  34260. * {@example core/animation/ts/dsl/animation_example.ts region='Component'}
  34261. *
  34262. * @experimental Animation support is experimental.
  34263. */
  34264. function animate(timing, styles) {
  34265. if (styles === void 0) { styles = null; }
  34266. var stylesEntry = styles;
  34267. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(stylesEntry)) {
  34268. var EMPTY_STYLE = {};
  34269. stylesEntry = new AnimationStyleMetadata([EMPTY_STYLE], 1);
  34270. }
  34271. return new AnimationAnimateMetadata(timing, stylesEntry);
  34272. }
  34273. /**
  34274. * `group` is an animation-specific function that is designed to be used inside of Angular2's
  34275. * animation
  34276. * DSL language. If this information is new, please navigate to the
  34277. * {@link Component#animations-anchor component animations metadata
  34278. * page} to gain a better understanding of how animations in Angular2 are used.
  34279. *
  34280. * `group` specifies a list of animation steps that are all run in parallel. Grouped animations
  34281. * are useful when a series of styles must be animated/closed off
  34282. * at different statrting/ending times.
  34283. *
  34284. * The `group` function can either be used within a {@link sequence sequence} or a {@link transition
  34285. * transition}
  34286. * and it will only continue to the next instruction once all of the inner animation steps
  34287. * have completed.
  34288. *
  34289. * ### Usage
  34290. *
  34291. * The `steps` data that is passed into the `group` animation function can either consist
  34292. * of {@link style style} or {@link animate animate} function calls. Each call to `style()` or
  34293. * `animate()`
  34294. * within a group will be executed instantly (use {@link keyframes keyframes} or a
  34295. * {@link animate#usage animate() with a delay value} to offset styles to be applied at a later
  34296. * time).
  34297. *
  34298. * ```typescript
  34299. * group([
  34300. * animate("1s", { background: "black" }))
  34301. * animate("2s", { color: "white" }))
  34302. * ])
  34303. * ```
  34304. *
  34305. * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))
  34306. *
  34307. * {@example core/animation/ts/dsl/animation_example.ts region='Component'}
  34308. *
  34309. * @experimental Animation support is experimental.
  34310. */
  34311. function group(steps) {
  34312. return new AnimationGroupMetadata(steps);
  34313. }
  34314. /**
  34315. * `sequence` is an animation-specific function that is designed to be used inside of Angular2's
  34316. * animation
  34317. * DSL language. If this information is new, please navigate to the
  34318. * {@link Component#animations-anchor component animations metadata
  34319. * page} to gain a better understanding of how animations in Angular2 are used.
  34320. *
  34321. * `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used
  34322. * by default when an array is passed as animation data into {@link transition transition}.)
  34323. *
  34324. * The `sequence` function can either be used within a {@link group group} or a {@link transition
  34325. * transition}
  34326. * and it will only continue to the next instruction once each of the inner animation steps
  34327. * have completed.
  34328. *
  34329. * To perform animation styling in parallel with other animation steps then
  34330. * have a look at the {@link group group} animation function.
  34331. *
  34332. * ### Usage
  34333. *
  34334. * The `steps` data that is passed into the `sequence` animation function can either consist
  34335. * of {@link style style} or {@link animate animate} function calls. A call to `style()` will apply
  34336. * the
  34337. * provided styling data immediately while a call to `animate()` will apply its styling
  34338. * data over a given time depending on its timing data.
  34339. *
  34340. * ```typescript
  34341. * sequence([
  34342. * style({ opacity: 0 })),
  34343. * animate("1s", { opacity: 1 }))
  34344. * ])
  34345. * ```
  34346. *
  34347. * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))
  34348. *
  34349. * {@example core/animation/ts/dsl/animation_example.ts region='Component'}
  34350. *
  34351. * @experimental Animation support is experimental.
  34352. */
  34353. function sequence(steps) {
  34354. return new AnimationSequenceMetadata(steps);
  34355. }
  34356. /**
  34357. * `style` is an animation-specific function that is designed to be used inside of Angular2's
  34358. * animation
  34359. * DSL language. If this information is new, please navigate to the
  34360. * {@link Component#animations-anchor component animations metadata
  34361. * page} to gain a better understanding of how animations in Angular2 are used.
  34362. *
  34363. * `style` declares a key/value object containing CSS properties/styles that can then
  34364. * be used for {@link state animation states}, within an {@link sequence animation sequence}, or as
  34365. * styling data for both {@link animate animate} and {@link keyframes keyframes}.
  34366. *
  34367. * ### Usage
  34368. *
  34369. * `style` takes in a key/value string map as data and expects one or more CSS property/value
  34370. * pairs to be defined.
  34371. *
  34372. * ```typescript
  34373. * // string values are used for css properties
  34374. * style({ background: "red", color: "blue" })
  34375. *
  34376. * // numerical (pixel) values are also supported
  34377. * style({ width: 100, height: 0 })
  34378. * ```
  34379. *
  34380. * #### Auto-styles (using `*`)
  34381. *
  34382. * When an asterix (`*`) character is used as a value then it will be detected from the element
  34383. * being animated
  34384. * and applied as animation data when the animation starts.
  34385. *
  34386. * This feature proves useful for a state depending on layout and/or environment factors; in such
  34387. * cases
  34388. * the styles are calculated just before the animation starts.
  34389. *
  34390. * ```typescript
  34391. * // the steps below will animate from 0 to the
  34392. * // actual height of the element
  34393. * style({ height: 0 }),
  34394. * animate("1s", style({ height: "*" }))
  34395. * ```
  34396. *
  34397. * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))
  34398. *
  34399. * {@example core/animation/ts/dsl/animation_example.ts region='Component'}
  34400. *
  34401. * @experimental Animation support is experimental.
  34402. */
  34403. function style(tokens) {
  34404. var input;
  34405. var offset = null;
  34406. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["r" /* isString */])(tokens)) {
  34407. input = [tokens];
  34408. }
  34409. else {
  34410. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* isArray */])(tokens)) {
  34411. input = tokens;
  34412. }
  34413. else {
  34414. input = [tokens];
  34415. }
  34416. input.forEach(function (entry) {
  34417. var entryOffset = entry['offset'];
  34418. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(entryOffset)) {
  34419. offset = offset == null ? parseFloat(entryOffset) : offset;
  34420. }
  34421. });
  34422. }
  34423. return new AnimationStyleMetadata(input, offset);
  34424. }
  34425. /**
  34426. * `state` is an animation-specific function that is designed to be used inside of Angular2's
  34427. * animation
  34428. * DSL language. If this information is new, please navigate to the
  34429. * {@link Component#animations-anchor component animations metadata
  34430. * page} to gain a better understanding of how animations in Angular2 are used.
  34431. *
  34432. * `state` declares an animation state within the given trigger. When a state is
  34433. * active within a component then its associated styles will persist on
  34434. * the element that the trigger is attached to (even when the animation ends).
  34435. *
  34436. * To animate between states, have a look at the animation {@link transition transition}
  34437. * DSL function. To register states to an animation trigger please have a look
  34438. * at the {@link trigger trigger} function.
  34439. *
  34440. * #### The `void` state
  34441. *
  34442. * The `void` state value is a reserved word that angular uses to determine when the element is not
  34443. * apart
  34444. * of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the
  34445. * associated element
  34446. * is void).
  34447. *
  34448. * #### The `*` (default) state
  34449. *
  34450. * The `*` state (when styled) is a fallback state that will be used if
  34451. * the state that is being animated is not declared within the trigger.
  34452. *
  34453. * ### Usage
  34454. *
  34455. * `state` will declare an animation state with its associated styles
  34456. * within the given trigger.
  34457. *
  34458. * - `stateNameExpr` can be one or more state names separated by commas.
  34459. * - `styles` refers to the {@link style styling data} that will be persisted on the element once
  34460. * the state
  34461. * has been reached.
  34462. *
  34463. * ```typescript
  34464. * // "void" is a reserved name for a state and is used to represent
  34465. * // the state in which an element is detached from from the application.
  34466. * state("void", style({ height: 0 }))
  34467. *
  34468. * // user-defined states
  34469. * state("closed", style({ height: 0 }))
  34470. * state("open, visible", style({ height: "*" }))
  34471. * ```
  34472. *
  34473. * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))
  34474. *
  34475. * {@example core/animation/ts/dsl/animation_example.ts region='Component'}
  34476. *
  34477. * @experimental Animation support is experimental.
  34478. */
  34479. function state(stateNameExpr, styles) {
  34480. return new AnimationStateDeclarationMetadata(stateNameExpr, styles);
  34481. }
  34482. /**
  34483. * `keyframes` is an animation-specific function that is designed to be used inside of Angular2's
  34484. * animation
  34485. * DSL language. If this information is new, please navigate to the
  34486. * {@link Component#animations-anchor component animations metadata
  34487. * page} to gain a better understanding of how animations in Angular2 are used.
  34488. *
  34489. * `keyframes` specifies a collection of {@link style style} entries each optionally characterized
  34490. * by an `offset` value.
  34491. *
  34492. * ### Usage
  34493. *
  34494. * The `keyframes` animation function is designed to be used alongside the {@link animate animate}
  34495. * animation function. Instead of applying animations from where they are
  34496. * currently to their destination, keyframes can describe how each style entry is applied
  34497. * and at what point within the animation arc (much like CSS Keyframe Animations do).
  34498. *
  34499. * For each `style()` entry an `offset` value can be set. Doing so allows to specifiy at
  34500. * what percentage of the animate time the styles will be applied.
  34501. *
  34502. * ```typescript
  34503. * // the provided offset values describe when each backgroundColor value is applied.
  34504. * animate("5s", keyframes([
  34505. * style({ backgroundColor: "red", offset: 0 }),
  34506. * style({ backgroundColor: "blue", offset: 0.2 }),
  34507. * style({ backgroundColor: "orange", offset: 0.3 }),
  34508. * style({ backgroundColor: "black", offset: 1 })
  34509. * ]))
  34510. * ```
  34511. *
  34512. * Alternatively, if there are no `offset` values used within the style entries then the offsets
  34513. * will
  34514. * be calculated automatically.
  34515. *
  34516. * ```typescript
  34517. * animate("5s", keyframes([
  34518. * style({ backgroundColor: "red" }) // offset = 0
  34519. * style({ backgroundColor: "blue" }) // offset = 0.33
  34520. * style({ backgroundColor: "orange" }) // offset = 0.66
  34521. * style({ backgroundColor: "black" }) // offset = 1
  34522. * ]))
  34523. * ```
  34524. *
  34525. * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))
  34526. *
  34527. * {@example core/animation/ts/dsl/animation_example.ts region='Component'}
  34528. *
  34529. * @experimental Animation support is experimental.
  34530. */
  34531. function keyframes(steps) {
  34532. return new AnimationKeyframesSequenceMetadata(steps);
  34533. }
  34534. /**
  34535. * `transition` is an animation-specific function that is designed to be used inside of Angular2's
  34536. * animation
  34537. * DSL language. If this information is new, please navigate to the
  34538. * {@link Component#animations-anchor component animations metadata
  34539. * page} to gain a better understanding of how animations in Angular2 are used.
  34540. *
  34541. * `transition` declares the {@link sequence sequence of animation steps} that will be run when the
  34542. * provided
  34543. * `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 => state2`
  34544. * which consists
  34545. * of two known states (use an asterix (`*`) to refer to a dynamic starting and/or ending state).
  34546. *
  34547. * Animation transitions are placed within an {@link trigger animation trigger}. For an transition
  34548. * to animate to
  34549. * a state value and persist its styles then one or more {@link state animation states} is expected
  34550. * to be defined.
  34551. *
  34552. * ### Usage
  34553. *
  34554. * An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on
  34555. * what the
  34556. * previous state is and what the current state has become. In other words, if a transition is
  34557. * defined that
  34558. * matches the old/current state criteria then the associated animation will be triggered.
  34559. *
  34560. * ```typescript
  34561. * // all transition/state changes are defined within an animation trigger
  34562. * trigger("myAnimationTrigger", [
  34563. * // if a state is defined then its styles will be persisted when the
  34564. * // animation has fully completed itself
  34565. * state("on", style({ background: "green" })),
  34566. * state("off", style({ background: "grey" })),
  34567. *
  34568. * // a transition animation that will be kicked off when the state value
  34569. * // bound to "myAnimationTrigger" changes from "on" to "off"
  34570. * transition("on => off", animate(500)),
  34571. *
  34572. * // it is also possible to do run the same animation for both directions
  34573. * transition("on <=> off", animate(500)),
  34574. *
  34575. * // or to define multiple states pairs separated by commas
  34576. * transition("on => off, off => void", animate(500)),
  34577. *
  34578. * // this is a catch-all state change for when an element is inserted into
  34579. * // the page and the destination state is unknown
  34580. * transition("void => *", [
  34581. * style({ opacity: 0 }),
  34582. * animate(500)
  34583. * ]),
  34584. *
  34585. * // this will capture a state change between any states
  34586. * transition("* => *", animate("1s 0s")),
  34587. * ])
  34588. * ```
  34589. *
  34590. * The template associated with this component will make use of the `myAnimationTrigger`
  34591. * animation trigger by binding to an element within its template code.
  34592. *
  34593. * ```html
  34594. * <!-- somewhere inside of my-component-tpl.html -->
  34595. * <div [@myAnimationTrigger]="myStatusExp">...</div>
  34596. * ```
  34597. *
  34598. * #### The final `animate` call
  34599. *
  34600. * If the final step within the transition steps is a call to `animate()` that **only**
  34601. * uses a timing value with **no style data** then it will be automatically used as the final
  34602. * animation
  34603. * arc for the element to animate itself to the final state. This involves an automatic mix of
  34604. * adding/removing CSS styles so that the element will be in the exact state it should be for the
  34605. * applied state to be presented correctly.
  34606. *
  34607. * ```
  34608. * // start off by hiding the element, but make sure that it animates properly to whatever state
  34609. * // is currently active for "myAnimationTrigger"
  34610. * transition("void => *", [
  34611. * style({ opacity: 0 }),
  34612. * animate(500)
  34613. * ])
  34614. * ```
  34615. *
  34616. * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))
  34617. *
  34618. * {@example core/animation/ts/dsl/animation_example.ts region='Component'}
  34619. *
  34620. * @experimental Animation support is experimental.
  34621. */
  34622. function transition(stateChangeExpr, steps) {
  34623. var animationData = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* isArray */])(steps) ? new AnimationSequenceMetadata(steps) :
  34624. steps;
  34625. return new AnimationStateTransitionMetadata(stateChangeExpr, animationData);
  34626. }
  34627. /**
  34628. * `trigger` is an animation-specific function that is designed to be used inside of Angular2's
  34629. * animation
  34630. * DSL language. If this information is new, please navigate to the
  34631. * {@link Component#animations-anchor component animations metadata
  34632. * page} to gain a better understanding of how animations in Angular2 are used.
  34633. *
  34634. * `trigger` Creates an animation trigger which will a list of {@link state state} and {@link
  34635. * transition transition}
  34636. * entries that will be evaluated when the expression bound to the trigger changes.
  34637. *
  34638. * Triggers are registered within the component annotation data under the
  34639. * {@link Component#animations-anchor animations section}. An animation trigger can
  34640. * be placed on an element within a template by referencing the name of the
  34641. * trigger followed by the expression value that the trigger is bound to
  34642. * (in the form of `[@triggerName]="expression"`.
  34643. *
  34644. * ### Usage
  34645. *
  34646. * `trigger` will create an animation trigger reference based on the provided `name` value.
  34647. * The provided `animation` value is expected to be an array consisting of {@link state state} and
  34648. * {@link transition transition}
  34649. * declarations.
  34650. *
  34651. * ```typescript
  34652. * @Component({
  34653. * selector: 'my-component',
  34654. * templateUrl: 'my-component-tpl.html',
  34655. * animations: [
  34656. * trigger("myAnimationTrigger", [
  34657. * state(...),
  34658. * state(...),
  34659. * transition(...),
  34660. * transition(...)
  34661. * ])
  34662. * ]
  34663. * })
  34664. * class MyComponent {
  34665. * myStatusExp = "something";
  34666. * }
  34667. * ```
  34668. *
  34669. * The template associated with this component will make use of the `myAnimationTrigger`
  34670. * animation trigger by binding to an element within its template code.
  34671. *
  34672. * ```html
  34673. * <!-- somewhere inside of my-component-tpl.html -->
  34674. * <div [@myAnimationTrigger]="myStatusExp">...</div>
  34675. * ```
  34676. *
  34677. * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))
  34678. *
  34679. * {@example core/animation/ts/dsl/animation_example.ts region='Component'}
  34680. *
  34681. * @experimental Animation support is experimental.
  34682. */
  34683. function trigger(name, animation) {
  34684. return new AnimationEntryMetadata(name, animation);
  34685. }
  34686. //# sourceMappingURL=metadata.js.map
  34687. /***/ },
  34688. /* 306 */
  34689. /***/ function(module, exports, __webpack_require__) {
  34690. "use strict";
  34691. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(16);
  34692. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(5);
  34693. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DefaultKeyValueDifferFactory; });
  34694. /* unused harmony export DefaultKeyValueDiffer */
  34695. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return KeyValueChangeRecord; });
  34696. /**
  34697. * @license
  34698. * Copyright Google Inc. All Rights Reserved.
  34699. *
  34700. * Use of this source code is governed by an MIT-style license that can be
  34701. * found in the LICENSE file at https://angular.io/license
  34702. */
  34703. var DefaultKeyValueDifferFactory = (function () {
  34704. function DefaultKeyValueDifferFactory() {
  34705. }
  34706. DefaultKeyValueDifferFactory.prototype.supports = function (obj) { return obj instanceof Map || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["g" /* isJsObject */])(obj); };
  34707. DefaultKeyValueDifferFactory.prototype.create = function (cdRef) { return new DefaultKeyValueDiffer(); };
  34708. return DefaultKeyValueDifferFactory;
  34709. }());
  34710. var DefaultKeyValueDiffer = (function () {
  34711. function DefaultKeyValueDiffer() {
  34712. this._records = new Map();
  34713. this._mapHead = null;
  34714. this._previousMapHead = null;
  34715. this._changesHead = null;
  34716. this._changesTail = null;
  34717. this._additionsHead = null;
  34718. this._additionsTail = null;
  34719. this._removalsHead = null;
  34720. this._removalsTail = null;
  34721. }
  34722. Object.defineProperty(DefaultKeyValueDiffer.prototype, "isDirty", {
  34723. get: function () {
  34724. return this._additionsHead !== null || this._changesHead !== null ||
  34725. this._removalsHead !== null;
  34726. },
  34727. enumerable: true,
  34728. configurable: true
  34729. });
  34730. DefaultKeyValueDiffer.prototype.forEachItem = function (fn) {
  34731. var record;
  34732. for (record = this._mapHead; record !== null; record = record._next) {
  34733. fn(record);
  34734. }
  34735. };
  34736. DefaultKeyValueDiffer.prototype.forEachPreviousItem = function (fn) {
  34737. var record;
  34738. for (record = this._previousMapHead; record !== null; record = record._nextPrevious) {
  34739. fn(record);
  34740. }
  34741. };
  34742. DefaultKeyValueDiffer.prototype.forEachChangedItem = function (fn) {
  34743. var record;
  34744. for (record = this._changesHead; record !== null; record = record._nextChanged) {
  34745. fn(record);
  34746. }
  34747. };
  34748. DefaultKeyValueDiffer.prototype.forEachAddedItem = function (fn) {
  34749. var record;
  34750. for (record = this._additionsHead; record !== null; record = record._nextAdded) {
  34751. fn(record);
  34752. }
  34753. };
  34754. DefaultKeyValueDiffer.prototype.forEachRemovedItem = function (fn) {
  34755. var record;
  34756. for (record = this._removalsHead; record !== null; record = record._nextRemoved) {
  34757. fn(record);
  34758. }
  34759. };
  34760. DefaultKeyValueDiffer.prototype.diff = function (map) {
  34761. if (!map) {
  34762. map = new Map();
  34763. }
  34764. else if (!(map instanceof Map || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["g" /* isJsObject */])(map))) {
  34765. throw new Error("Error trying to diff '" + map + "'");
  34766. }
  34767. return this.check(map) ? this : null;
  34768. };
  34769. DefaultKeyValueDiffer.prototype.onDestroy = function () { };
  34770. DefaultKeyValueDiffer.prototype.check = function (map) {
  34771. var _this = this;
  34772. this._reset();
  34773. var records = this._records;
  34774. var oldSeqRecord = this._mapHead;
  34775. var lastOldSeqRecord = null;
  34776. var lastNewSeqRecord = null;
  34777. var seqChanged = false;
  34778. this._forEach(map, function (value, key) {
  34779. var newSeqRecord;
  34780. if (oldSeqRecord && key === oldSeqRecord.key) {
  34781. newSeqRecord = oldSeqRecord;
  34782. _this._maybeAddToChanges(newSeqRecord, value);
  34783. }
  34784. else {
  34785. seqChanged = true;
  34786. if (oldSeqRecord !== null) {
  34787. _this._removeFromSeq(lastOldSeqRecord, oldSeqRecord);
  34788. _this._addToRemovals(oldSeqRecord);
  34789. }
  34790. if (records.has(key)) {
  34791. newSeqRecord = records.get(key);
  34792. _this._maybeAddToChanges(newSeqRecord, value);
  34793. }
  34794. else {
  34795. newSeqRecord = new KeyValueChangeRecord(key);
  34796. records.set(key, newSeqRecord);
  34797. newSeqRecord.currentValue = value;
  34798. _this._addToAdditions(newSeqRecord);
  34799. }
  34800. }
  34801. if (seqChanged) {
  34802. if (_this._isInRemovals(newSeqRecord)) {
  34803. _this._removeFromRemovals(newSeqRecord);
  34804. }
  34805. if (lastNewSeqRecord == null) {
  34806. _this._mapHead = newSeqRecord;
  34807. }
  34808. else {
  34809. lastNewSeqRecord._next = newSeqRecord;
  34810. }
  34811. }
  34812. lastOldSeqRecord = oldSeqRecord;
  34813. lastNewSeqRecord = newSeqRecord;
  34814. oldSeqRecord = oldSeqRecord && oldSeqRecord._next;
  34815. });
  34816. this._truncate(lastOldSeqRecord, oldSeqRecord);
  34817. return this.isDirty;
  34818. };
  34819. /** @internal */
  34820. DefaultKeyValueDiffer.prototype._reset = function () {
  34821. if (this.isDirty) {
  34822. var record = void 0;
  34823. // Record the state of the mapping
  34824. for (record = this._previousMapHead = this._mapHead; record !== null; record = record._next) {
  34825. record._nextPrevious = record._next;
  34826. }
  34827. for (record = this._changesHead; record !== null; record = record._nextChanged) {
  34828. record.previousValue = record.currentValue;
  34829. }
  34830. for (record = this._additionsHead; record != null; record = record._nextAdded) {
  34831. record.previousValue = record.currentValue;
  34832. }
  34833. this._changesHead = this._changesTail = null;
  34834. this._additionsHead = this._additionsTail = null;
  34835. this._removalsHead = this._removalsTail = null;
  34836. }
  34837. };
  34838. /** @internal */
  34839. DefaultKeyValueDiffer.prototype._truncate = function (lastRecord, record) {
  34840. while (record !== null) {
  34841. if (lastRecord === null) {
  34842. this._mapHead = null;
  34843. }
  34844. else {
  34845. lastRecord._next = null;
  34846. }
  34847. var nextRecord = record._next;
  34848. this._addToRemovals(record);
  34849. lastRecord = record;
  34850. record = nextRecord;
  34851. }
  34852. for (var rec = this._removalsHead; rec !== null; rec = rec._nextRemoved) {
  34853. rec.previousValue = rec.currentValue;
  34854. rec.currentValue = null;
  34855. this._records.delete(rec.key);
  34856. }
  34857. };
  34858. DefaultKeyValueDiffer.prototype._maybeAddToChanges = function (record, newValue) {
  34859. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["m" /* looseIdentical */])(newValue, record.currentValue)) {
  34860. record.previousValue = record.currentValue;
  34861. record.currentValue = newValue;
  34862. this._addToChanges(record);
  34863. }
  34864. };
  34865. /** @internal */
  34866. DefaultKeyValueDiffer.prototype._isInRemovals = function (record) {
  34867. return record === this._removalsHead || record._nextRemoved !== null ||
  34868. record._prevRemoved !== null;
  34869. };
  34870. /** @internal */
  34871. DefaultKeyValueDiffer.prototype._addToRemovals = function (record) {
  34872. if (this._removalsHead === null) {
  34873. this._removalsHead = this._removalsTail = record;
  34874. }
  34875. else {
  34876. this._removalsTail._nextRemoved = record;
  34877. record._prevRemoved = this._removalsTail;
  34878. this._removalsTail = record;
  34879. }
  34880. };
  34881. /** @internal */
  34882. DefaultKeyValueDiffer.prototype._removeFromSeq = function (prev, record) {
  34883. var next = record._next;
  34884. if (prev === null) {
  34885. this._mapHead = next;
  34886. }
  34887. else {
  34888. prev._next = next;
  34889. }
  34890. record._next = null;
  34891. };
  34892. /** @internal */
  34893. DefaultKeyValueDiffer.prototype._removeFromRemovals = function (record) {
  34894. var prev = record._prevRemoved;
  34895. var next = record._nextRemoved;
  34896. if (prev === null) {
  34897. this._removalsHead = next;
  34898. }
  34899. else {
  34900. prev._nextRemoved = next;
  34901. }
  34902. if (next === null) {
  34903. this._removalsTail = prev;
  34904. }
  34905. else {
  34906. next._prevRemoved = prev;
  34907. }
  34908. record._prevRemoved = record._nextRemoved = null;
  34909. };
  34910. /** @internal */
  34911. DefaultKeyValueDiffer.prototype._addToAdditions = function (record) {
  34912. if (this._additionsHead === null) {
  34913. this._additionsHead = this._additionsTail = record;
  34914. }
  34915. else {
  34916. this._additionsTail._nextAdded = record;
  34917. this._additionsTail = record;
  34918. }
  34919. };
  34920. /** @internal */
  34921. DefaultKeyValueDiffer.prototype._addToChanges = function (record) {
  34922. if (this._changesHead === null) {
  34923. this._changesHead = this._changesTail = record;
  34924. }
  34925. else {
  34926. this._changesTail._nextChanged = record;
  34927. this._changesTail = record;
  34928. }
  34929. };
  34930. DefaultKeyValueDiffer.prototype.toString = function () {
  34931. var items = [];
  34932. var previous = [];
  34933. var changes = [];
  34934. var additions = [];
  34935. var removals = [];
  34936. var record;
  34937. for (record = this._mapHead; record !== null; record = record._next) {
  34938. items.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(record));
  34939. }
  34940. for (record = this._previousMapHead; record !== null; record = record._nextPrevious) {
  34941. previous.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(record));
  34942. }
  34943. for (record = this._changesHead; record !== null; record = record._nextChanged) {
  34944. changes.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(record));
  34945. }
  34946. for (record = this._additionsHead; record !== null; record = record._nextAdded) {
  34947. additions.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(record));
  34948. }
  34949. for (record = this._removalsHead; record !== null; record = record._nextRemoved) {
  34950. removals.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(record));
  34951. }
  34952. return 'map: ' + items.join(', ') + '\n' +
  34953. 'previous: ' + previous.join(', ') + '\n' +
  34954. 'additions: ' + additions.join(', ') + '\n' +
  34955. 'changes: ' + changes.join(', ') + '\n' +
  34956. 'removals: ' + removals.join(', ') + '\n';
  34957. };
  34958. /** @internal */
  34959. DefaultKeyValueDiffer.prototype._forEach = function (obj, fn) {
  34960. if (obj instanceof Map) {
  34961. obj.forEach(fn);
  34962. }
  34963. else {
  34964. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].forEach(obj, fn);
  34965. }
  34966. };
  34967. return DefaultKeyValueDiffer;
  34968. }());
  34969. /**
  34970. * @stable
  34971. */
  34972. var KeyValueChangeRecord = (function () {
  34973. function KeyValueChangeRecord(key) {
  34974. this.key = key;
  34975. this.previousValue = null;
  34976. this.currentValue = null;
  34977. /** @internal */
  34978. this._nextPrevious = null;
  34979. /** @internal */
  34980. this._next = null;
  34981. /** @internal */
  34982. this._nextAdded = null;
  34983. /** @internal */
  34984. this._nextRemoved = null;
  34985. /** @internal */
  34986. this._prevRemoved = null;
  34987. /** @internal */
  34988. this._nextChanged = null;
  34989. }
  34990. KeyValueChangeRecord.prototype.toString = function () {
  34991. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["m" /* looseIdentical */])(this.previousValue, this.currentValue) ?
  34992. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(this.key) :
  34993. (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(this.key) + '[' + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(this.previousValue) + '->' +
  34994. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* stringify */])(this.currentValue) + ']');
  34995. };
  34996. return KeyValueChangeRecord;
  34997. }());
  34998. //# sourceMappingURL=default_keyvalue_differ.js.map
  34999. /***/ },
  35000. /* 307 */
  35001. /***/ function(module, exports, __webpack_require__) {
  35002. "use strict";
  35003. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__di__ = __webpack_require__(39);
  35004. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(16);
  35005. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(5);
  35006. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return IterableDiffers; });
  35007. /**
  35008. * @license
  35009. * Copyright Google Inc. All Rights Reserved.
  35010. *
  35011. * Use of this source code is governed by an MIT-style license that can be
  35012. * found in the LICENSE file at https://angular.io/license
  35013. */
  35014. /**
  35015. * A repository of different iterable diffing strategies used by NgFor, NgClass, and others.
  35016. * @stable
  35017. */
  35018. var IterableDiffers = (function () {
  35019. function IterableDiffers(factories) {
  35020. this.factories = factories;
  35021. }
  35022. IterableDiffers.create = function (factories, parent) {
  35023. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["e" /* isPresent */])(parent)) {
  35024. var copied = __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].clone(parent.factories);
  35025. factories = factories.concat(copied);
  35026. return new IterableDiffers(factories);
  35027. }
  35028. else {
  35029. return new IterableDiffers(factories);
  35030. }
  35031. };
  35032. /**
  35033. * Takes an array of {@link IterableDifferFactory} and returns a provider used to extend the
  35034. * inherited {@link IterableDiffers} instance with the provided factories and return a new
  35035. * {@link IterableDiffers} instance.
  35036. *
  35037. * The following example shows how to extend an existing list of factories,
  35038. * which will only be applied to the injector for this component and its children.
  35039. * This step is all that's required to make a new {@link IterableDiffer} available.
  35040. *
  35041. * ### Example
  35042. *
  35043. * ```
  35044. * @Component({
  35045. * viewProviders: [
  35046. * IterableDiffers.extend([new ImmutableListDiffer()])
  35047. * ]
  35048. * })
  35049. * ```
  35050. */
  35051. IterableDiffers.extend = function (factories) {
  35052. return {
  35053. provide: IterableDiffers,
  35054. useFactory: function (parent) {
  35055. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["d" /* isBlank */])(parent)) {
  35056. // Typically would occur when calling IterableDiffers.extend inside of dependencies passed
  35057. // to
  35058. // bootstrap(), which would override default pipes instead of extending them.
  35059. throw new Error('Cannot extend IterableDiffers without a parent injector');
  35060. }
  35061. return IterableDiffers.create(factories, parent);
  35062. },
  35063. // Dependency technically isn't optional, but we can provide a better error message this way.
  35064. deps: [[IterableDiffers, new __WEBPACK_IMPORTED_MODULE_0__di__["e" /* SkipSelf */](), new __WEBPACK_IMPORTED_MODULE_0__di__["d" /* Optional */]()]]
  35065. };
  35066. };
  35067. IterableDiffers.prototype.find = function (iterable) {
  35068. var factory = this.factories.find(function (f) { return f.supports(iterable); });
  35069. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["e" /* isPresent */])(factory)) {
  35070. return factory;
  35071. }
  35072. else {
  35073. throw new Error("Cannot find a differ supporting object '" + iterable + "' of type '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["o" /* getTypeNameForDebugging */])(iterable) + "'");
  35074. }
  35075. };
  35076. return IterableDiffers;
  35077. }());
  35078. //# sourceMappingURL=iterable_differs.js.map
  35079. /***/ },
  35080. /* 308 */
  35081. /***/ function(module, exports, __webpack_require__) {
  35082. "use strict";
  35083. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__di__ = __webpack_require__(39);
  35084. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(16);
  35085. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(5);
  35086. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return KeyValueDiffers; });
  35087. /**
  35088. * @license
  35089. * Copyright Google Inc. All Rights Reserved.
  35090. *
  35091. * Use of this source code is governed by an MIT-style license that can be
  35092. * found in the LICENSE file at https://angular.io/license
  35093. */
  35094. /**
  35095. * A repository of different Map diffing strategies used by NgClass, NgStyle, and others.
  35096. * @stable
  35097. */
  35098. var KeyValueDiffers = (function () {
  35099. function KeyValueDiffers(factories) {
  35100. this.factories = factories;
  35101. }
  35102. KeyValueDiffers.create = function (factories, parent) {
  35103. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["e" /* isPresent */])(parent)) {
  35104. var copied = __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].clone(parent.factories);
  35105. factories = factories.concat(copied);
  35106. return new KeyValueDiffers(factories);
  35107. }
  35108. else {
  35109. return new KeyValueDiffers(factories);
  35110. }
  35111. };
  35112. /**
  35113. * Takes an array of {@link KeyValueDifferFactory} and returns a provider used to extend the
  35114. * inherited {@link KeyValueDiffers} instance with the provided factories and return a new
  35115. * {@link KeyValueDiffers} instance.
  35116. *
  35117. * The following example shows how to extend an existing list of factories,
  35118. * which will only be applied to the injector for this component and its children.
  35119. * This step is all that's required to make a new {@link KeyValueDiffer} available.
  35120. *
  35121. * ### Example
  35122. *
  35123. * ```
  35124. * @Component({
  35125. * viewProviders: [
  35126. * KeyValueDiffers.extend([new ImmutableMapDiffer()])
  35127. * ]
  35128. * })
  35129. * ```
  35130. */
  35131. KeyValueDiffers.extend = function (factories) {
  35132. return {
  35133. provide: KeyValueDiffers,
  35134. useFactory: function (parent) {
  35135. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["d" /* isBlank */])(parent)) {
  35136. // Typically would occur when calling KeyValueDiffers.extend inside of dependencies passed
  35137. // to
  35138. // bootstrap(), which would override default pipes instead of extending them.
  35139. throw new Error('Cannot extend KeyValueDiffers without a parent injector');
  35140. }
  35141. return KeyValueDiffers.create(factories, parent);
  35142. },
  35143. // Dependency technically isn't optional, but we can provide a better error message this way.
  35144. deps: [[KeyValueDiffers, new __WEBPACK_IMPORTED_MODULE_0__di__["e" /* SkipSelf */](), new __WEBPACK_IMPORTED_MODULE_0__di__["d" /* Optional */]()]]
  35145. };
  35146. };
  35147. KeyValueDiffers.prototype.find = function (kv) {
  35148. var factory = this.factories.find(function (f) { return f.supports(kv); });
  35149. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["e" /* isPresent */])(factory)) {
  35150. return factory;
  35151. }
  35152. else {
  35153. throw new Error("Cannot find a differ supporting object '" + kv + "'");
  35154. }
  35155. };
  35156. return KeyValueDiffers;
  35157. }());
  35158. //# sourceMappingURL=keyvalue_differs.js.map
  35159. /***/ },
  35160. /* 309 */
  35161. /***/ function(module, exports, __webpack_require__) {
  35162. "use strict";
  35163. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(16);
  35164. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(5);
  35165. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return EventListener; });
  35166. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return DebugNode; });
  35167. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DebugElement; });
  35168. /* harmony export (immutable) */ exports["g"] = asNativeElements;
  35169. /* harmony export (immutable) */ exports["c"] = getDebugNode;
  35170. /* unused harmony export getAllDebugNodes */
  35171. /* harmony export (immutable) */ exports["b"] = indexDebugNode;
  35172. /* harmony export (immutable) */ exports["e"] = removeDebugNodeFromIndex;
  35173. /**
  35174. * @license
  35175. * Copyright Google Inc. All Rights Reserved.
  35176. *
  35177. * Use of this source code is governed by an MIT-style license that can be
  35178. * found in the LICENSE file at https://angular.io/license
  35179. */
  35180. var __extends = (this && this.__extends) || function (d, b) {
  35181. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  35182. function __() { this.constructor = d; }
  35183. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  35184. };
  35185. var EventListener = (function () {
  35186. function EventListener(name, callback) {
  35187. this.name = name;
  35188. this.callback = callback;
  35189. }
  35190. ;
  35191. return EventListener;
  35192. }());
  35193. /**
  35194. * @experimental All debugging apis are currently experimental.
  35195. */
  35196. var DebugNode = (function () {
  35197. function DebugNode(nativeNode, parent, _debugInfo) {
  35198. this._debugInfo = _debugInfo;
  35199. this.nativeNode = nativeNode;
  35200. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(parent) && parent instanceof DebugElement) {
  35201. parent.addChild(this);
  35202. }
  35203. else {
  35204. this.parent = null;
  35205. }
  35206. this.listeners = [];
  35207. }
  35208. Object.defineProperty(DebugNode.prototype, "injector", {
  35209. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(this._debugInfo) ? this._debugInfo.injector : null; },
  35210. enumerable: true,
  35211. configurable: true
  35212. });
  35213. Object.defineProperty(DebugNode.prototype, "componentInstance", {
  35214. get: function () {
  35215. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(this._debugInfo) ? this._debugInfo.component : null;
  35216. },
  35217. enumerable: true,
  35218. configurable: true
  35219. });
  35220. Object.defineProperty(DebugNode.prototype, "context", {
  35221. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(this._debugInfo) ? this._debugInfo.context : null; },
  35222. enumerable: true,
  35223. configurable: true
  35224. });
  35225. Object.defineProperty(DebugNode.prototype, "references", {
  35226. get: function () {
  35227. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(this._debugInfo) ? this._debugInfo.references : null;
  35228. },
  35229. enumerable: true,
  35230. configurable: true
  35231. });
  35232. Object.defineProperty(DebugNode.prototype, "providerTokens", {
  35233. get: function () {
  35234. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(this._debugInfo) ? this._debugInfo.providerTokens : null;
  35235. },
  35236. enumerable: true,
  35237. configurable: true
  35238. });
  35239. Object.defineProperty(DebugNode.prototype, "source", {
  35240. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(this._debugInfo) ? this._debugInfo.source : null; },
  35241. enumerable: true,
  35242. configurable: true
  35243. });
  35244. return DebugNode;
  35245. }());
  35246. /**
  35247. * @experimental All debugging apis are currently experimental.
  35248. */
  35249. var DebugElement = (function (_super) {
  35250. __extends(DebugElement, _super);
  35251. function DebugElement(nativeNode, parent, _debugInfo) {
  35252. _super.call(this, nativeNode, parent, _debugInfo);
  35253. this.properties = {};
  35254. this.attributes = {};
  35255. this.classes = {};
  35256. this.styles = {};
  35257. this.childNodes = [];
  35258. this.nativeElement = nativeNode;
  35259. }
  35260. DebugElement.prototype.addChild = function (child) {
  35261. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(child)) {
  35262. this.childNodes.push(child);
  35263. child.parent = this;
  35264. }
  35265. };
  35266. DebugElement.prototype.removeChild = function (child) {
  35267. var childIndex = this.childNodes.indexOf(child);
  35268. if (childIndex !== -1) {
  35269. child.parent = null;
  35270. this.childNodes.splice(childIndex, 1);
  35271. }
  35272. };
  35273. DebugElement.prototype.insertChildrenAfter = function (child, newChildren) {
  35274. var siblingIndex = this.childNodes.indexOf(child);
  35275. if (siblingIndex !== -1) {
  35276. var previousChildren = this.childNodes.slice(0, siblingIndex + 1);
  35277. var nextChildren = this.childNodes.slice(siblingIndex + 1);
  35278. this.childNodes =
  35279. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].concat(__WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].concat(previousChildren, newChildren), nextChildren);
  35280. for (var i = 0; i < newChildren.length; ++i) {
  35281. var newChild = newChildren[i];
  35282. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(newChild.parent)) {
  35283. newChild.parent.removeChild(newChild);
  35284. }
  35285. newChild.parent = this;
  35286. }
  35287. }
  35288. };
  35289. DebugElement.prototype.query = function (predicate) {
  35290. var results = this.queryAll(predicate);
  35291. return results.length > 0 ? results[0] : null;
  35292. };
  35293. DebugElement.prototype.queryAll = function (predicate) {
  35294. var matches = [];
  35295. _queryElementChildren(this, predicate, matches);
  35296. return matches;
  35297. };
  35298. DebugElement.prototype.queryAllNodes = function (predicate) {
  35299. var matches = [];
  35300. _queryNodeChildren(this, predicate, matches);
  35301. return matches;
  35302. };
  35303. Object.defineProperty(DebugElement.prototype, "children", {
  35304. get: function () {
  35305. var children = [];
  35306. this.childNodes.forEach(function (node) {
  35307. if (node instanceof DebugElement) {
  35308. children.push(node);
  35309. }
  35310. });
  35311. return children;
  35312. },
  35313. enumerable: true,
  35314. configurable: true
  35315. });
  35316. DebugElement.prototype.triggerEventHandler = function (eventName, eventObj) {
  35317. this.listeners.forEach(function (listener) {
  35318. if (listener.name == eventName) {
  35319. listener.callback(eventObj);
  35320. }
  35321. });
  35322. };
  35323. return DebugElement;
  35324. }(DebugNode));
  35325. /**
  35326. * @experimental
  35327. */
  35328. function asNativeElements(debugEls) {
  35329. return debugEls.map(function (el) { return el.nativeElement; });
  35330. }
  35331. function _queryElementChildren(element, predicate, matches) {
  35332. element.childNodes.forEach(function (node) {
  35333. if (node instanceof DebugElement) {
  35334. if (predicate(node)) {
  35335. matches.push(node);
  35336. }
  35337. _queryElementChildren(node, predicate, matches);
  35338. }
  35339. });
  35340. }
  35341. function _queryNodeChildren(parentNode, predicate, matches) {
  35342. if (parentNode instanceof DebugElement) {
  35343. parentNode.childNodes.forEach(function (node) {
  35344. if (predicate(node)) {
  35345. matches.push(node);
  35346. }
  35347. if (node instanceof DebugElement) {
  35348. _queryNodeChildren(node, predicate, matches);
  35349. }
  35350. });
  35351. }
  35352. }
  35353. // Need to keep the node in a global Map so that multiple angular apps are supported.
  35354. var _nativeNodeToDebugNode = new Map();
  35355. /**
  35356. * @experimental
  35357. */
  35358. function getDebugNode(nativeNode) {
  35359. return _nativeNodeToDebugNode.get(nativeNode);
  35360. }
  35361. function getAllDebugNodes() {
  35362. return __WEBPACK_IMPORTED_MODULE_0__facade_collection__["b" /* MapWrapper */].values(_nativeNodeToDebugNode);
  35363. }
  35364. function indexDebugNode(node) {
  35365. _nativeNodeToDebugNode.set(node.nativeNode, node);
  35366. }
  35367. function removeDebugNodeFromIndex(node) {
  35368. _nativeNodeToDebugNode.delete(node.nativeNode);
  35369. }
  35370. //# sourceMappingURL=debug_node.js.map
  35371. /***/ },
  35372. /* 310 */
  35373. /***/ function(module, exports, __webpack_require__) {
  35374. "use strict";
  35375. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(16);
  35376. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_errors__ = __webpack_require__(35);
  35377. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(5);
  35378. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return AbstractProviderError; });
  35379. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return NoProviderError; });
  35380. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return CyclicDependencyError; });
  35381. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return InstantiationError; });
  35382. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return InvalidProviderError; });
  35383. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return NoAnnotationError; });
  35384. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return OutOfBoundsError; });
  35385. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return MixingMultiProvidersWithRegularProvidersError; });
  35386. /**
  35387. * @license
  35388. * Copyright Google Inc. All Rights Reserved.
  35389. *
  35390. * Use of this source code is governed by an MIT-style license that can be
  35391. * found in the LICENSE file at https://angular.io/license
  35392. */
  35393. var __extends = (this && this.__extends) || function (d, b) {
  35394. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  35395. function __() { this.constructor = d; }
  35396. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  35397. };
  35398. function findFirstClosedCycle(keys) {
  35399. var res = [];
  35400. for (var i = 0; i < keys.length; ++i) {
  35401. if (__WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].contains(res, keys[i])) {
  35402. res.push(keys[i]);
  35403. return res;
  35404. }
  35405. res.push(keys[i]);
  35406. }
  35407. return res;
  35408. }
  35409. function constructResolvingPath(keys) {
  35410. if (keys.length > 1) {
  35411. var reversed = findFirstClosedCycle(__WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].reversed(keys));
  35412. var tokenStrs = reversed.map(function (k) { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* stringify */])(k.token); });
  35413. return ' (' + tokenStrs.join(' -> ') + ')';
  35414. }
  35415. return '';
  35416. }
  35417. /**
  35418. * Base class for all errors arising from misconfigured providers.
  35419. * @stable
  35420. */
  35421. var AbstractProviderError = (function (_super) {
  35422. __extends(AbstractProviderError, _super);
  35423. function AbstractProviderError(injector, key, constructResolvingMessage) {
  35424. _super.call(this, 'DI Error');
  35425. this.keys = [key];
  35426. this.injectors = [injector];
  35427. this.constructResolvingMessage = constructResolvingMessage;
  35428. this.message = this.constructResolvingMessage(this.keys);
  35429. }
  35430. AbstractProviderError.prototype.addKey = function (injector, key) {
  35431. this.injectors.push(injector);
  35432. this.keys.push(key);
  35433. this.message = this.constructResolvingMessage(this.keys);
  35434. };
  35435. return AbstractProviderError;
  35436. }(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["b" /* BaseError */]));
  35437. /**
  35438. * Thrown when trying to retrieve a dependency by key from {@link Injector}, but the
  35439. * {@link Injector} does not have a {@link Provider} for the given key.
  35440. *
  35441. * ### Example ([live demo](http://plnkr.co/edit/vq8D3FRB9aGbnWJqtEPE?p=preview))
  35442. *
  35443. * ```typescript
  35444. * class A {
  35445. * constructor(b:B) {}
  35446. * }
  35447. *
  35448. * expect(() => Injector.resolveAndCreate([A])).toThrowError();
  35449. * ```
  35450. * @stable
  35451. */
  35452. var NoProviderError = (function (_super) {
  35453. __extends(NoProviderError, _super);
  35454. function NoProviderError(injector, key) {
  35455. _super.call(this, injector, key, function (keys) {
  35456. var first = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* stringify */])(__WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].first(keys).token);
  35457. return "No provider for " + first + "!" + constructResolvingPath(keys);
  35458. });
  35459. }
  35460. return NoProviderError;
  35461. }(AbstractProviderError));
  35462. /**
  35463. * Thrown when dependencies form a cycle.
  35464. *
  35465. * ### Example ([live demo](http://plnkr.co/edit/wYQdNos0Tzql3ei1EV9j?p=info))
  35466. *
  35467. * ```typescript
  35468. * var injector = Injector.resolveAndCreate([
  35469. * {provide: "one", useFactory: (two) => "two", deps: [[new Inject("two")]]},
  35470. * {provide: "two", useFactory: (one) => "one", deps: [[new Inject("one")]]}
  35471. * ]);
  35472. *
  35473. * expect(() => injector.get("one")).toThrowError();
  35474. * ```
  35475. *
  35476. * Retrieving `A` or `B` throws a `CyclicDependencyError` as the graph above cannot be constructed.
  35477. * @stable
  35478. */
  35479. var CyclicDependencyError = (function (_super) {
  35480. __extends(CyclicDependencyError, _super);
  35481. function CyclicDependencyError(injector, key) {
  35482. _super.call(this, injector, key, function (keys) {
  35483. return "Cannot instantiate cyclic dependency!" + constructResolvingPath(keys);
  35484. });
  35485. }
  35486. return CyclicDependencyError;
  35487. }(AbstractProviderError));
  35488. /**
  35489. * Thrown when a constructing type returns with an Error.
  35490. *
  35491. * The `InstantiationError` class contains the original error plus the dependency graph which caused
  35492. * this object to be instantiated.
  35493. *
  35494. * ### Example ([live demo](http://plnkr.co/edit/7aWYdcqTQsP0eNqEdUAf?p=preview))
  35495. *
  35496. * ```typescript
  35497. * class A {
  35498. * constructor() {
  35499. * throw new Error('message');
  35500. * }
  35501. * }
  35502. *
  35503. * var injector = Injector.resolveAndCreate([A]);
  35504. * try {
  35505. * injector.get(A);
  35506. * } catch (e) {
  35507. * expect(e instanceof InstantiationError).toBe(true);
  35508. * expect(e.originalException.message).toEqual("message");
  35509. * expect(e.originalStack).toBeDefined();
  35510. * }
  35511. * ```
  35512. * @stable
  35513. */
  35514. var InstantiationError = (function (_super) {
  35515. __extends(InstantiationError, _super);
  35516. function InstantiationError(injector, originalException, originalStack, key) {
  35517. _super.call(this, 'DI Error', originalException);
  35518. this.keys = [key];
  35519. this.injectors = [injector];
  35520. }
  35521. InstantiationError.prototype.addKey = function (injector, key) {
  35522. this.injectors.push(injector);
  35523. this.keys.push(key);
  35524. };
  35525. Object.defineProperty(InstantiationError.prototype, "message", {
  35526. get: function () {
  35527. var first = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* stringify */])(__WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].first(this.keys).token);
  35528. return this.originalError.message + ": Error during instantiation of " + first + "!" + constructResolvingPath(this.keys) + ".";
  35529. },
  35530. enumerable: true,
  35531. configurable: true
  35532. });
  35533. Object.defineProperty(InstantiationError.prototype, "causeKey", {
  35534. get: function () { return this.keys[0]; },
  35535. enumerable: true,
  35536. configurable: true
  35537. });
  35538. return InstantiationError;
  35539. }(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["c" /* WrappedError */]));
  35540. /**
  35541. * Thrown when an object other then {@link Provider} (or `Type`) is passed to {@link Injector}
  35542. * creation.
  35543. *
  35544. * ### Example ([live demo](http://plnkr.co/edit/YatCFbPAMCL0JSSQ4mvH?p=preview))
  35545. *
  35546. * ```typescript
  35547. * expect(() => Injector.resolveAndCreate(["not a type"])).toThrowError();
  35548. * ```
  35549. * @stable
  35550. */
  35551. var InvalidProviderError = (function (_super) {
  35552. __extends(InvalidProviderError, _super);
  35553. function InvalidProviderError(provider) {
  35554. _super.call(this, "Invalid provider - only instances of Provider and Type are allowed, got: " + provider);
  35555. }
  35556. return InvalidProviderError;
  35557. }(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["b" /* BaseError */]));
  35558. /**
  35559. * Thrown when the class has no annotation information.
  35560. *
  35561. * Lack of annotation information prevents the {@link Injector} from determining which dependencies
  35562. * need to be injected into the constructor.
  35563. *
  35564. * ### Example ([live demo](http://plnkr.co/edit/rHnZtlNS7vJOPQ6pcVkm?p=preview))
  35565. *
  35566. * ```typescript
  35567. * class A {
  35568. * constructor(b) {}
  35569. * }
  35570. *
  35571. * expect(() => Injector.resolveAndCreate([A])).toThrowError();
  35572. * ```
  35573. *
  35574. * This error is also thrown when the class not marked with {@link Injectable} has parameter types.
  35575. *
  35576. * ```typescript
  35577. * class B {}
  35578. *
  35579. * class A {
  35580. * constructor(b:B) {} // no information about the parameter types of A is available at runtime.
  35581. * }
  35582. *
  35583. * expect(() => Injector.resolveAndCreate([A,B])).toThrowError();
  35584. * ```
  35585. * @stable
  35586. */
  35587. var NoAnnotationError = (function (_super) {
  35588. __extends(NoAnnotationError, _super);
  35589. function NoAnnotationError(typeOrFunc, params) {
  35590. _super.call(this, NoAnnotationError._genMessage(typeOrFunc, params));
  35591. }
  35592. NoAnnotationError._genMessage = function (typeOrFunc, params) {
  35593. var signature = [];
  35594. for (var i = 0, ii = params.length; i < ii; i++) {
  35595. var parameter = params[i];
  35596. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["d" /* isBlank */])(parameter) || parameter.length == 0) {
  35597. signature.push('?');
  35598. }
  35599. else {
  35600. signature.push(parameter.map(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* stringify */]).join(' '));
  35601. }
  35602. }
  35603. return 'Cannot resolve all parameters for \'' + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* stringify */])(typeOrFunc) + '\'(' +
  35604. signature.join(', ') + '). ' +
  35605. 'Make sure that all the parameters are decorated with Inject or have valid type annotations and that \'' +
  35606. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* stringify */])(typeOrFunc) + '\' is decorated with Injectable.';
  35607. };
  35608. return NoAnnotationError;
  35609. }(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["b" /* BaseError */]));
  35610. /**
  35611. * Thrown when getting an object by index.
  35612. *
  35613. * ### Example ([live demo](http://plnkr.co/edit/bRs0SX2OTQiJzqvjgl8P?p=preview))
  35614. *
  35615. * ```typescript
  35616. * class A {}
  35617. *
  35618. * var injector = Injector.resolveAndCreate([A]);
  35619. *
  35620. * expect(() => injector.getAt(100)).toThrowError();
  35621. * ```
  35622. * @stable
  35623. */
  35624. var OutOfBoundsError = (function (_super) {
  35625. __extends(OutOfBoundsError, _super);
  35626. function OutOfBoundsError(index) {
  35627. _super.call(this, "Index " + index + " is out-of-bounds.");
  35628. }
  35629. return OutOfBoundsError;
  35630. }(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["b" /* BaseError */]));
  35631. // TODO: add a working example after alpha38 is released
  35632. /**
  35633. * Thrown when a multi provider and a regular provider are bound to the same token.
  35634. *
  35635. * ### Example
  35636. *
  35637. * ```typescript
  35638. * expect(() => Injector.resolveAndCreate([
  35639. * { provide: "Strings", useValue: "string1", multi: true},
  35640. * { provide: "Strings", useValue: "string2", multi: false}
  35641. * ])).toThrowError();
  35642. * ```
  35643. */
  35644. var MixingMultiProvidersWithRegularProvidersError = (function (_super) {
  35645. __extends(MixingMultiProvidersWithRegularProvidersError, _super);
  35646. function MixingMultiProvidersWithRegularProvidersError(provider1, provider2) {
  35647. _super.call(this, 'Cannot mix multi providers and regular providers, got: ' + provider1.toString() + ' ' +
  35648. provider2.toString());
  35649. }
  35650. return MixingMultiProvidersWithRegularProvidersError;
  35651. }(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["b" /* BaseError */]));
  35652. //# sourceMappingURL=reflective_errors.js.map
  35653. /***/ },
  35654. /* 311 */
  35655. /***/ function(module, exports, __webpack_require__) {
  35656. "use strict";
  35657. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ErrorHandler; });
  35658. /**
  35659. * @license
  35660. * Copyright Google Inc. All Rights Reserved.
  35661. *
  35662. * Use of this source code is governed by an MIT-style license that can be
  35663. * found in the LICENSE file at https://angular.io/license
  35664. */
  35665. /**
  35666. * Provides a hook for centralized exception handling.
  35667. *
  35668. * The default implementation of `ErrorHandler` prints error messages to the `Console`. To
  35669. * intercept error handling,
  35670. * write a custom exception handler that replaces this default as appropriate for your app.
  35671. *
  35672. * ### Example
  35673. *
  35674. * ```javascript
  35675. *
  35676. * class MyErrorHandler implements ErrorHandler {
  35677. * call(error, stackTrace = null, reason = null) {
  35678. * // do something with the exception
  35679. * }
  35680. * }
  35681. *
  35682. * @NgModule({
  35683. * providers: [{provide: ErrorHandler, useClass: MyErrorHandler}]
  35684. * })
  35685. * class MyModule {}
  35686. * ```
  35687. * @stable
  35688. */
  35689. var ErrorHandler = (function () {
  35690. function ErrorHandler(rethrowError) {
  35691. if (rethrowError === void 0) { rethrowError = true; }
  35692. /**
  35693. * @internal
  35694. */
  35695. this._console = console;
  35696. this.rethrowError = rethrowError;
  35697. }
  35698. ErrorHandler.prototype.handleError = function (error) {
  35699. var originalError = this._findOriginalError(error);
  35700. var originalStack = this._findOriginalStack(error);
  35701. var context = this._findContext(error);
  35702. this._console.error("EXCEPTION: " + this._extractMessage(error));
  35703. if (originalError) {
  35704. this._console.error("ORIGINAL EXCEPTION: " + this._extractMessage(originalError));
  35705. }
  35706. if (originalStack) {
  35707. this._console.error('ORIGINAL STACKTRACE:');
  35708. this._console.error(originalStack);
  35709. }
  35710. if (context) {
  35711. this._console.error('ERROR CONTEXT:');
  35712. this._console.error(context);
  35713. }
  35714. // We rethrow exceptions, so operations like 'bootstrap' will result in an error
  35715. // when an error happens. If we do not rethrow, bootstrap will always succeed.
  35716. if (this.rethrowError)
  35717. throw error;
  35718. };
  35719. /** @internal */
  35720. ErrorHandler.prototype._extractMessage = function (error) {
  35721. return error instanceof Error ? error.message : error.toString();
  35722. };
  35723. /** @internal */
  35724. ErrorHandler.prototype._findContext = function (error) {
  35725. if (error) {
  35726. return error.context ? error.context :
  35727. this._findContext(error.originalError);
  35728. }
  35729. else {
  35730. return null;
  35731. }
  35732. };
  35733. /** @internal */
  35734. ErrorHandler.prototype._findOriginalError = function (error) {
  35735. var e = error.originalError;
  35736. while (e && e.originalError) {
  35737. e = e.originalError;
  35738. }
  35739. return e;
  35740. };
  35741. /** @internal */
  35742. ErrorHandler.prototype._findOriginalStack = function (error) {
  35743. if (!(error instanceof Error))
  35744. return null;
  35745. var e = error;
  35746. var stack = e.stack;
  35747. while (e instanceof Error && e.originalError) {
  35748. e = e.originalError;
  35749. if (e instanceof Error && e.stack) {
  35750. stack = e.stack;
  35751. }
  35752. }
  35753. return stack;
  35754. };
  35755. return ErrorHandler;
  35756. }());
  35757. //# sourceMappingURL=error_handler.js.map
  35758. /***/ },
  35759. /* 312 */
  35760. /***/ function(module, exports, __webpack_require__) {
  35761. "use strict";
  35762. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__di_opaque_token__ = __webpack_require__(204);
  35763. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return LOCALE_ID; });
  35764. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return TRANSLATIONS; });
  35765. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return TRANSLATIONS_FORMAT; });
  35766. /**
  35767. * @license
  35768. * Copyright Google Inc. All Rights Reserved.
  35769. *
  35770. * Use of this source code is governed by an MIT-style license that can be
  35771. * found in the LICENSE file at https://angular.io/license
  35772. */
  35773. /**
  35774. * @experimental i18n support is experimental.
  35775. */
  35776. var LOCALE_ID = new __WEBPACK_IMPORTED_MODULE_0__di_opaque_token__["a" /* OpaqueToken */]('LocaleId');
  35777. /**
  35778. * @experimental i18n support is experimental.
  35779. */
  35780. var TRANSLATIONS = new __WEBPACK_IMPORTED_MODULE_0__di_opaque_token__["a" /* OpaqueToken */]('Translations');
  35781. /**
  35782. * @experimental i18n support is experimental.
  35783. */
  35784. var TRANSLATIONS_FORMAT = new __WEBPACK_IMPORTED_MODULE_0__di_opaque_token__["a" /* OpaqueToken */]('TranslationsFormat');
  35785. //# sourceMappingURL=tokens.js.map
  35786. /***/ },
  35787. /* 313 */
  35788. /***/ function(module, exports, __webpack_require__) {
  35789. "use strict";
  35790. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_errors__ = __webpack_require__(35);
  35791. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(5);
  35792. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__view_utils__ = __webpack_require__(143);
  35793. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return ComponentRef; });
  35794. /* unused harmony export ComponentRef_ */
  35795. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ComponentFactory; });
  35796. /**
  35797. * @license
  35798. * Copyright Google Inc. All Rights Reserved.
  35799. *
  35800. * Use of this source code is governed by an MIT-style license that can be
  35801. * found in the LICENSE file at https://angular.io/license
  35802. */
  35803. var __extends = (this && this.__extends) || function (d, b) {
  35804. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  35805. function __() { this.constructor = d; }
  35806. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  35807. };
  35808. /**
  35809. * Represents an instance of a Component created via a {@link ComponentFactory}.
  35810. *
  35811. * `ComponentRef` provides access to the Component Instance as well other objects related to this
  35812. * Component Instance and allows you to destroy the Component Instance via the {@link #destroy}
  35813. * method.
  35814. * @stable
  35815. */
  35816. var ComponentRef = (function () {
  35817. function ComponentRef() {
  35818. }
  35819. Object.defineProperty(ComponentRef.prototype, "location", {
  35820. /**
  35821. * Location of the Host Element of this Component Instance.
  35822. */
  35823. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["a" /* unimplemented */])(); },
  35824. enumerable: true,
  35825. configurable: true
  35826. });
  35827. Object.defineProperty(ComponentRef.prototype, "injector", {
  35828. /**
  35829. * The injector on which the component instance exists.
  35830. */
  35831. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["a" /* unimplemented */])(); },
  35832. enumerable: true,
  35833. configurable: true
  35834. });
  35835. Object.defineProperty(ComponentRef.prototype, "instance", {
  35836. /**
  35837. * The instance of the Component.
  35838. */
  35839. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["a" /* unimplemented */])(); },
  35840. enumerable: true,
  35841. configurable: true
  35842. });
  35843. ;
  35844. Object.defineProperty(ComponentRef.prototype, "hostView", {
  35845. /**
  35846. * The {@link ViewRef} of the Host View of this Component instance.
  35847. */
  35848. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["a" /* unimplemented */])(); },
  35849. enumerable: true,
  35850. configurable: true
  35851. });
  35852. ;
  35853. Object.defineProperty(ComponentRef.prototype, "changeDetectorRef", {
  35854. /**
  35855. * The {@link ChangeDetectorRef} of the Component instance.
  35856. */
  35857. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["a" /* unimplemented */])(); },
  35858. enumerable: true,
  35859. configurable: true
  35860. });
  35861. Object.defineProperty(ComponentRef.prototype, "componentType", {
  35862. /**
  35863. * The component type.
  35864. */
  35865. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_errors__["a" /* unimplemented */])(); },
  35866. enumerable: true,
  35867. configurable: true
  35868. });
  35869. return ComponentRef;
  35870. }());
  35871. var ComponentRef_ = (function (_super) {
  35872. __extends(ComponentRef_, _super);
  35873. function ComponentRef_(_hostElement, _componentType) {
  35874. _super.call(this);
  35875. this._hostElement = _hostElement;
  35876. this._componentType = _componentType;
  35877. }
  35878. Object.defineProperty(ComponentRef_.prototype, "location", {
  35879. get: function () { return this._hostElement.elementRef; },
  35880. enumerable: true,
  35881. configurable: true
  35882. });
  35883. Object.defineProperty(ComponentRef_.prototype, "injector", {
  35884. get: function () { return this._hostElement.injector; },
  35885. enumerable: true,
  35886. configurable: true
  35887. });
  35888. Object.defineProperty(ComponentRef_.prototype, "instance", {
  35889. get: function () { return this._hostElement.component; },
  35890. enumerable: true,
  35891. configurable: true
  35892. });
  35893. ;
  35894. Object.defineProperty(ComponentRef_.prototype, "hostView", {
  35895. get: function () { return this._hostElement.parentView.ref; },
  35896. enumerable: true,
  35897. configurable: true
  35898. });
  35899. ;
  35900. Object.defineProperty(ComponentRef_.prototype, "changeDetectorRef", {
  35901. get: function () { return this._hostElement.parentView.ref; },
  35902. enumerable: true,
  35903. configurable: true
  35904. });
  35905. ;
  35906. Object.defineProperty(ComponentRef_.prototype, "componentType", {
  35907. get: function () { return this._componentType; },
  35908. enumerable: true,
  35909. configurable: true
  35910. });
  35911. ComponentRef_.prototype.destroy = function () { this._hostElement.parentView.destroy(); };
  35912. ComponentRef_.prototype.onDestroy = function (callback) { this.hostView.onDestroy(callback); };
  35913. return ComponentRef_;
  35914. }(ComponentRef));
  35915. /**
  35916. * @experimental
  35917. */
  35918. var EMPTY_CONTEXT = new Object();
  35919. /**
  35920. * @stable
  35921. */
  35922. var ComponentFactory = (function () {
  35923. function ComponentFactory(selector, _viewFactory, _componentType) {
  35924. this.selector = selector;
  35925. this._viewFactory = _viewFactory;
  35926. this._componentType = _componentType;
  35927. }
  35928. Object.defineProperty(ComponentFactory.prototype, "componentType", {
  35929. get: function () { return this._componentType; },
  35930. enumerable: true,
  35931. configurable: true
  35932. });
  35933. /**
  35934. * Creates a new component.
  35935. */
  35936. ComponentFactory.prototype.create = function (injector, projectableNodes, rootSelectorOrNode) {
  35937. if (projectableNodes === void 0) { projectableNodes = null; }
  35938. if (rootSelectorOrNode === void 0) { rootSelectorOrNode = null; }
  35939. var vu = injector.get(__WEBPACK_IMPORTED_MODULE_2__view_utils__["a" /* ViewUtils */]);
  35940. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["d" /* isBlank */])(projectableNodes)) {
  35941. projectableNodes = [];
  35942. }
  35943. // Note: Host views don't need a declarationAppElement!
  35944. var hostView = this._viewFactory(vu, injector, null);
  35945. var hostElement = hostView.create(EMPTY_CONTEXT, projectableNodes, rootSelectorOrNode);
  35946. return new ComponentRef_(hostElement, this._componentType);
  35947. };
  35948. return ComponentFactory;
  35949. }());
  35950. //# sourceMappingURL=component_factory.js.map
  35951. /***/ },
  35952. /* 314 */
  35953. /***/ function(module, exports, __webpack_require__) {
  35954. "use strict";
  35955. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(16);
  35956. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(5);
  35957. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__view_type__ = __webpack_require__(142);
  35958. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return StaticNodeDebugInfo; });
  35959. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DebugContext; });
  35960. /**
  35961. * @license
  35962. * Copyright Google Inc. All Rights Reserved.
  35963. *
  35964. * Use of this source code is governed by an MIT-style license that can be
  35965. * found in the LICENSE file at https://angular.io/license
  35966. */
  35967. var StaticNodeDebugInfo = (function () {
  35968. function StaticNodeDebugInfo(providerTokens, componentToken, refTokens) {
  35969. this.providerTokens = providerTokens;
  35970. this.componentToken = componentToken;
  35971. this.refTokens = refTokens;
  35972. }
  35973. return StaticNodeDebugInfo;
  35974. }());
  35975. var DebugContext = (function () {
  35976. function DebugContext(_view, _nodeIndex, _tplRow, _tplCol) {
  35977. this._view = _view;
  35978. this._nodeIndex = _nodeIndex;
  35979. this._tplRow = _tplRow;
  35980. this._tplCol = _tplCol;
  35981. }
  35982. Object.defineProperty(DebugContext.prototype, "_staticNodeInfo", {
  35983. get: function () {
  35984. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(this._nodeIndex) ? this._view.staticNodeDebugInfos[this._nodeIndex] : null;
  35985. },
  35986. enumerable: true,
  35987. configurable: true
  35988. });
  35989. Object.defineProperty(DebugContext.prototype, "context", {
  35990. get: function () { return this._view.context; },
  35991. enumerable: true,
  35992. configurable: true
  35993. });
  35994. Object.defineProperty(DebugContext.prototype, "component", {
  35995. get: function () {
  35996. var staticNodeInfo = this._staticNodeInfo;
  35997. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(staticNodeInfo) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(staticNodeInfo.componentToken)) {
  35998. return this.injector.get(staticNodeInfo.componentToken);
  35999. }
  36000. return null;
  36001. },
  36002. enumerable: true,
  36003. configurable: true
  36004. });
  36005. Object.defineProperty(DebugContext.prototype, "componentRenderElement", {
  36006. get: function () {
  36007. var componentView = this._view;
  36008. while (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(componentView.declarationAppElement) &&
  36009. componentView.type !== __WEBPACK_IMPORTED_MODULE_2__view_type__["a" /* ViewType */].COMPONENT) {
  36010. componentView = componentView.declarationAppElement.parentView;
  36011. }
  36012. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(componentView.declarationAppElement) ?
  36013. componentView.declarationAppElement.nativeElement :
  36014. null;
  36015. },
  36016. enumerable: true,
  36017. configurable: true
  36018. });
  36019. Object.defineProperty(DebugContext.prototype, "injector", {
  36020. get: function () { return this._view.injector(this._nodeIndex); },
  36021. enumerable: true,
  36022. configurable: true
  36023. });
  36024. Object.defineProperty(DebugContext.prototype, "renderNode", {
  36025. get: function () {
  36026. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(this._nodeIndex) && this._view.allNodes) {
  36027. return this._view.allNodes[this._nodeIndex];
  36028. }
  36029. else {
  36030. return null;
  36031. }
  36032. },
  36033. enumerable: true,
  36034. configurable: true
  36035. });
  36036. Object.defineProperty(DebugContext.prototype, "providerTokens", {
  36037. get: function () {
  36038. var staticNodeInfo = this._staticNodeInfo;
  36039. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(staticNodeInfo) ? staticNodeInfo.providerTokens : null;
  36040. },
  36041. enumerable: true,
  36042. configurable: true
  36043. });
  36044. Object.defineProperty(DebugContext.prototype, "source", {
  36045. get: function () {
  36046. return this._view.componentType.templateUrl + ":" + this._tplRow + ":" + this._tplCol;
  36047. },
  36048. enumerable: true,
  36049. configurable: true
  36050. });
  36051. Object.defineProperty(DebugContext.prototype, "references", {
  36052. get: function () {
  36053. var _this = this;
  36054. var varValues = {};
  36055. var staticNodeInfo = this._staticNodeInfo;
  36056. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(staticNodeInfo)) {
  36057. var refs = staticNodeInfo.refTokens;
  36058. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].forEach(refs, function (refToken, refName) {
  36059. var varValue;
  36060. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["d" /* isBlank */])(refToken)) {
  36061. varValue = _this._view.allNodes ? _this._view.allNodes[_this._nodeIndex] : null;
  36062. }
  36063. else {
  36064. varValue = _this._view.injectorGet(refToken, _this._nodeIndex, null);
  36065. }
  36066. varValues[refName] = varValue;
  36067. });
  36068. }
  36069. return varValues;
  36070. },
  36071. enumerable: true,
  36072. configurable: true
  36073. });
  36074. return DebugContext;
  36075. }());
  36076. //# sourceMappingURL=debug_context.js.map
  36077. /***/ },
  36078. /* 315 */
  36079. /***/ function(module, exports, __webpack_require__) {
  36080. "use strict";
  36081. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ElementRef; });
  36082. /**
  36083. * @license
  36084. * Copyright Google Inc. All Rights Reserved.
  36085. *
  36086. * Use of this source code is governed by an MIT-style license that can be
  36087. * found in the LICENSE file at https://angular.io/license
  36088. */
  36089. /**
  36090. * A wrapper around a native element inside of a View.
  36091. *
  36092. * An `ElementRef` is backed by a render-specific element. In the browser, this is usually a DOM
  36093. * element.
  36094. *
  36095. * @security Permitting direct access to the DOM can make your application more vulnerable to
  36096. * XSS attacks. Carefully review any use of `ElementRef` in your code. For more detail, see the
  36097. * [Security Guide](http://g.co/ng/security).
  36098. *
  36099. * @stable
  36100. */
  36101. // Note: We don't expose things like `Injector`, `ViewContainer`, ... here,
  36102. // i.e. users have to ask for what they need. With that, we can build better analysis tools
  36103. // and could do better codegen in the future.
  36104. var ElementRef = (function () {
  36105. function ElementRef(nativeElement) {
  36106. this.nativeElement = nativeElement;
  36107. }
  36108. return ElementRef;
  36109. }());
  36110. //# sourceMappingURL=element_ref.js.map
  36111. /***/ },
  36112. /* 316 */
  36113. /***/ function(module, exports, __webpack_require__) {
  36114. "use strict";
  36115. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__change_detection_change_detection_util__ = __webpack_require__(137);
  36116. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_errors__ = __webpack_require__(35);
  36117. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ExpressionChangedAfterItHasBeenCheckedError; });
  36118. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return ViewWrappedError; });
  36119. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return ViewDestroyedError; });
  36120. /**
  36121. * @license
  36122. * Copyright Google Inc. All Rights Reserved.
  36123. *
  36124. * Use of this source code is governed by an MIT-style license that can be
  36125. * found in the LICENSE file at https://angular.io/license
  36126. */
  36127. var __extends = (this && this.__extends) || function (d, b) {
  36128. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  36129. function __() { this.constructor = d; }
  36130. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  36131. };
  36132. /**
  36133. * An error thrown if application changes model breaking the top-down data flow.
  36134. *
  36135. * This exception is only thrown in dev mode.
  36136. *
  36137. * <!-- TODO: Add a link once the dev mode option is configurable -->
  36138. *
  36139. * ### Example
  36140. *
  36141. * ```typescript
  36142. * @Component({
  36143. * selector: 'parent',
  36144. * template: `
  36145. * <child [prop]="parentProp"></child>
  36146. * `,
  36147. * directives: [forwardRef(() => Child)]
  36148. * })
  36149. * class Parent {
  36150. * parentProp = "init";
  36151. * }
  36152. *
  36153. * @Directive({selector: 'child', inputs: ['prop']})
  36154. * class Child {
  36155. * constructor(public parent: Parent) {}
  36156. *
  36157. * set prop(v) {
  36158. * // this updates the parent property, which is disallowed during change detection
  36159. * // this will result in ExpressionChangedAfterItHasBeenCheckedError
  36160. * this.parent.parentProp = "updated";
  36161. * }
  36162. * }
  36163. * ```
  36164. * @stable
  36165. */
  36166. var ExpressionChangedAfterItHasBeenCheckedError = (function (_super) {
  36167. __extends(ExpressionChangedAfterItHasBeenCheckedError, _super);
  36168. function ExpressionChangedAfterItHasBeenCheckedError(oldValue, currValue) {
  36169. var msg = "Expression has changed after it was checked. Previous value: '" + oldValue + "'. Current value: '" + currValue + "'.";
  36170. if (oldValue === __WEBPACK_IMPORTED_MODULE_0__change_detection_change_detection_util__["a" /* UNINITIALIZED */]) {
  36171. msg +=
  36172. " It seems like the view has been created after its parent and its children have been dirty checked." +
  36173. " Has it been created in a change detection hook ?";
  36174. }
  36175. _super.call(this, msg);
  36176. }
  36177. return ExpressionChangedAfterItHasBeenCheckedError;
  36178. }(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["b" /* BaseError */]));
  36179. /**
  36180. * Thrown when an exception was raised during view creation, change detection or destruction.
  36181. *
  36182. * This error wraps the original exception to attach additional contextual information that can
  36183. * be useful for debugging.
  36184. * @stable
  36185. */
  36186. var ViewWrappedError = (function (_super) {
  36187. __extends(ViewWrappedError, _super);
  36188. function ViewWrappedError(originalError, context) {
  36189. _super.call(this, "Error in " + context.source, originalError);
  36190. this.context = context;
  36191. }
  36192. return ViewWrappedError;
  36193. }(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["c" /* WrappedError */]));
  36194. /**
  36195. * Thrown when a destroyed view is used.
  36196. *
  36197. * This error indicates a bug in the framework.
  36198. *
  36199. * This is an internal Angular error.
  36200. * @stable
  36201. */
  36202. var ViewDestroyedError = (function (_super) {
  36203. __extends(ViewDestroyedError, _super);
  36204. function ViewDestroyedError(details) {
  36205. _super.call(this, "Attempt to use a destroyed view: " + details);
  36206. }
  36207. return ViewDestroyedError;
  36208. }(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["b" /* BaseError */]));
  36209. //# sourceMappingURL=errors.js.map
  36210. /***/ },
  36211. /* 317 */
  36212. /***/ function(module, exports, __webpack_require__) {
  36213. "use strict";
  36214. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__di_injector__ = __webpack_require__(139);
  36215. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_errors__ = __webpack_require__(35);
  36216. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(5);
  36217. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__component_factory_resolver__ = __webpack_require__(141);
  36218. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return NgModuleRef; });
  36219. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return NgModuleFactory; });
  36220. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NgModuleInjector; });
  36221. /**
  36222. * @license
  36223. * Copyright Google Inc. All Rights Reserved.
  36224. *
  36225. * Use of this source code is governed by an MIT-style license that can be
  36226. * found in the LICENSE file at https://angular.io/license
  36227. */
  36228. var __extends = (this && this.__extends) || function (d, b) {
  36229. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  36230. function __() { this.constructor = d; }
  36231. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  36232. };
  36233. /**
  36234. * Represents an instance of an NgModule created via a {@link NgModuleFactory}.
  36235. *
  36236. * `NgModuleRef` provides access to the NgModule Instance as well other objects related to this
  36237. * NgModule Instance.
  36238. *
  36239. * @stable
  36240. */
  36241. var NgModuleRef = (function () {
  36242. function NgModuleRef() {
  36243. }
  36244. Object.defineProperty(NgModuleRef.prototype, "injector", {
  36245. /**
  36246. * The injector that contains all of the providers of the NgModule.
  36247. */
  36248. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["a" /* unimplemented */])(); },
  36249. enumerable: true,
  36250. configurable: true
  36251. });
  36252. Object.defineProperty(NgModuleRef.prototype, "componentFactoryResolver", {
  36253. /**
  36254. * The ComponentFactoryResolver to get hold of the ComponentFactories
  36255. * declared in the `entryComponents` property of the module.
  36256. */
  36257. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["a" /* unimplemented */])(); },
  36258. enumerable: true,
  36259. configurable: true
  36260. });
  36261. Object.defineProperty(NgModuleRef.prototype, "instance", {
  36262. /**
  36263. * The NgModule instance.
  36264. */
  36265. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["a" /* unimplemented */])(); },
  36266. enumerable: true,
  36267. configurable: true
  36268. });
  36269. return NgModuleRef;
  36270. }());
  36271. /**
  36272. * @experimental
  36273. */
  36274. var NgModuleFactory = (function () {
  36275. function NgModuleFactory(_injectorClass, _moduleType) {
  36276. this._injectorClass = _injectorClass;
  36277. this._moduleType = _moduleType;
  36278. }
  36279. Object.defineProperty(NgModuleFactory.prototype, "moduleType", {
  36280. get: function () { return this._moduleType; },
  36281. enumerable: true,
  36282. configurable: true
  36283. });
  36284. NgModuleFactory.prototype.create = function (parentInjector) {
  36285. if (!parentInjector) {
  36286. parentInjector = __WEBPACK_IMPORTED_MODULE_0__di_injector__["b" /* Injector */].NULL;
  36287. }
  36288. var instance = new this._injectorClass(parentInjector);
  36289. instance.create();
  36290. return instance;
  36291. };
  36292. return NgModuleFactory;
  36293. }());
  36294. var _UNDEFINED = new Object();
  36295. var NgModuleInjector = (function (_super) {
  36296. __extends(NgModuleInjector, _super);
  36297. function NgModuleInjector(parent, factories, bootstrapFactories) {
  36298. _super.call(this, factories, parent.get(__WEBPACK_IMPORTED_MODULE_3__component_factory_resolver__["a" /* ComponentFactoryResolver */], __WEBPACK_IMPORTED_MODULE_3__component_factory_resolver__["a" /* ComponentFactoryResolver */].NULL));
  36299. this.parent = parent;
  36300. this.bootstrapFactories = bootstrapFactories;
  36301. this._destroyListeners = [];
  36302. this._destroyed = false;
  36303. }
  36304. NgModuleInjector.prototype.create = function () { this.instance = this.createInternal(); };
  36305. NgModuleInjector.prototype.get = function (token, notFoundValue) {
  36306. if (notFoundValue === void 0) { notFoundValue = __WEBPACK_IMPORTED_MODULE_0__di_injector__["a" /* THROW_IF_NOT_FOUND */]; }
  36307. if (token === __WEBPACK_IMPORTED_MODULE_0__di_injector__["b" /* Injector */] || token === __WEBPACK_IMPORTED_MODULE_3__component_factory_resolver__["a" /* ComponentFactoryResolver */]) {
  36308. return this;
  36309. }
  36310. var result = this.getInternal(token, _UNDEFINED);
  36311. return result === _UNDEFINED ? this.parent.get(token, notFoundValue) : result;
  36312. };
  36313. Object.defineProperty(NgModuleInjector.prototype, "injector", {
  36314. get: function () { return this; },
  36315. enumerable: true,
  36316. configurable: true
  36317. });
  36318. Object.defineProperty(NgModuleInjector.prototype, "componentFactoryResolver", {
  36319. get: function () { return this; },
  36320. enumerable: true,
  36321. configurable: true
  36322. });
  36323. NgModuleInjector.prototype.destroy = function () {
  36324. if (this._destroyed) {
  36325. throw new Error("The ng module " + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* stringify */])(this.instance.constructor) + " has already been destroyed.");
  36326. }
  36327. this._destroyed = true;
  36328. this.destroyInternal();
  36329. this._destroyListeners.forEach(function (listener) { return listener(); });
  36330. };
  36331. NgModuleInjector.prototype.onDestroy = function (callback) { this._destroyListeners.push(callback); };
  36332. return NgModuleInjector;
  36333. }(__WEBPACK_IMPORTED_MODULE_3__component_factory_resolver__["b" /* CodegenComponentFactoryResolver */]));
  36334. //# sourceMappingURL=ng_module_factory.js.map
  36335. /***/ },
  36336. /* 318 */
  36337. /***/ function(module, exports, __webpack_require__) {
  36338. "use strict";
  36339. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return NgModuleFactoryLoader; });
  36340. /* harmony export (immutable) */ exports["a"] = registerModuleFactory;
  36341. /* unused harmony export clearModulesForTest */
  36342. /* harmony export (immutable) */ exports["c"] = getModuleFactory;
  36343. /**
  36344. * @license
  36345. * Copyright Google Inc. All Rights Reserved.
  36346. *
  36347. * Use of this source code is governed by an MIT-style license that can be
  36348. * found in the LICENSE file at https://angular.io/license
  36349. */
  36350. /**
  36351. * Used to load ng module factories.
  36352. * @stable
  36353. */
  36354. var NgModuleFactoryLoader = (function () {
  36355. function NgModuleFactoryLoader() {
  36356. }
  36357. return NgModuleFactoryLoader;
  36358. }());
  36359. var moduleFactories = new Map();
  36360. /**
  36361. * Registers a loaded module. Should only be called from generated NgModuleFactory code.
  36362. * @experimental
  36363. */
  36364. function registerModuleFactory(id, factory) {
  36365. var existing = moduleFactories.get(id);
  36366. if (existing) {
  36367. throw new Error("Duplicate module registered for " + id + " - " + existing.moduleType.name + " vs " + factory.moduleType.name);
  36368. }
  36369. moduleFactories.set(id, factory);
  36370. }
  36371. function clearModulesForTest() {
  36372. moduleFactories = new Map();
  36373. }
  36374. /**
  36375. * Returns the NgModuleFactory with the given id, if it exists and has been loaded.
  36376. * Factories for modules that do not specify an `id` cannot be retrieved. Throws if the module
  36377. * cannot be found.
  36378. * @experimental
  36379. */
  36380. function getModuleFactory(id) {
  36381. var factory = moduleFactories.get(id);
  36382. if (!factory)
  36383. throw new Error("No module with ID " + id + " loaded");
  36384. return factory;
  36385. }
  36386. //# sourceMappingURL=ng_module_factory_loader.js.map
  36387. /***/ },
  36388. /* 319 */
  36389. /***/ function(module, exports, __webpack_require__) {
  36390. "use strict";
  36391. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return TemplateRef; });
  36392. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return TemplateRef_; });
  36393. /**
  36394. * @license
  36395. * Copyright Google Inc. All Rights Reserved.
  36396. *
  36397. * Use of this source code is governed by an MIT-style license that can be
  36398. * found in the LICENSE file at https://angular.io/license
  36399. */
  36400. var __extends = (this && this.__extends) || function (d, b) {
  36401. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  36402. function __() { this.constructor = d; }
  36403. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  36404. };
  36405. /**
  36406. * Represents an Embedded Template that can be used to instantiate Embedded Views.
  36407. *
  36408. * You can access a `TemplateRef`, in two ways. Via a directive placed on a `<template>` element (or
  36409. * directive prefixed with `*`) and have the `TemplateRef` for this Embedded View injected into the
  36410. * constructor of the directive using the `TemplateRef` Token. Alternatively you can query for the
  36411. * `TemplateRef` from a Component or a Directive via {@link Query}.
  36412. *
  36413. * To instantiate Embedded Views based on a Template, use
  36414. * {@link ViewContainerRef#createEmbeddedView}, which will create the View and attach it to the
  36415. * View Container.
  36416. * @stable
  36417. */
  36418. var TemplateRef = (function () {
  36419. function TemplateRef() {
  36420. }
  36421. Object.defineProperty(TemplateRef.prototype, "elementRef", {
  36422. /**
  36423. * The location in the View where the Embedded View logically belongs to.
  36424. *
  36425. * The data-binding and injection contexts of Embedded Views created from this `TemplateRef`
  36426. * inherit from the contexts of this location.
  36427. *
  36428. * Typically new Embedded Views are attached to the View Container of this location, but in
  36429. * advanced use-cases, the View can be attached to a different container while keeping the
  36430. * data-binding and injection context from the original location.
  36431. *
  36432. */
  36433. // TODO(i): rename to anchor or location
  36434. get: function () { return null; },
  36435. enumerable: true,
  36436. configurable: true
  36437. });
  36438. return TemplateRef;
  36439. }());
  36440. var TemplateRef_ = (function (_super) {
  36441. __extends(TemplateRef_, _super);
  36442. function TemplateRef_(_appElement, _viewFactory) {
  36443. _super.call(this);
  36444. this._appElement = _appElement;
  36445. this._viewFactory = _viewFactory;
  36446. }
  36447. TemplateRef_.prototype.createEmbeddedView = function (context) {
  36448. var view = this._viewFactory(this._appElement.parentView.viewUtils, this._appElement.parentInjector, this._appElement);
  36449. view.create(context || {}, null, null);
  36450. return view.ref;
  36451. };
  36452. Object.defineProperty(TemplateRef_.prototype, "elementRef", {
  36453. get: function () { return this._appElement.elementRef; },
  36454. enumerable: true,
  36455. configurable: true
  36456. });
  36457. return TemplateRef_;
  36458. }(TemplateRef));
  36459. //# sourceMappingURL=template_ref.js.map
  36460. /***/ },
  36461. /* 320 */
  36462. /***/ function(module, exports, __webpack_require__) {
  36463. "use strict";
  36464. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(16);
  36465. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_errors__ = __webpack_require__(35);
  36466. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(5);
  36467. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__profile_profile__ = __webpack_require__(144);
  36468. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return ViewContainerRef; });
  36469. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ViewContainerRef_; });
  36470. /**
  36471. * @license
  36472. * Copyright Google Inc. All Rights Reserved.
  36473. *
  36474. * Use of this source code is governed by an MIT-style license that can be
  36475. * found in the LICENSE file at https://angular.io/license
  36476. */
  36477. /**
  36478. * Represents a container where one or more Views can be attached.
  36479. *
  36480. * The container can contain two kinds of Views. Host Views, created by instantiating a
  36481. * {@link Component} via {@link #createComponent}, and Embedded Views, created by instantiating an
  36482. * {@link TemplateRef Embedded Template} via {@link #createEmbeddedView}.
  36483. *
  36484. * The location of the View Container within the containing View is specified by the Anchor
  36485. * `element`. Each View Container can have only one Anchor Element and each Anchor Element can only
  36486. * have a single View Container.
  36487. *
  36488. * Root elements of Views attached to this container become siblings of the Anchor Element in
  36489. * the Rendered View.
  36490. *
  36491. * To access a `ViewContainerRef` of an Element, you can either place a {@link Directive} injected
  36492. * with `ViewContainerRef` on the Element, or you obtain it via a {@link ViewChild} query.
  36493. * @stable
  36494. */
  36495. var ViewContainerRef = (function () {
  36496. function ViewContainerRef() {
  36497. }
  36498. Object.defineProperty(ViewContainerRef.prototype, "element", {
  36499. /**
  36500. * Anchor element that specifies the location of this container in the containing View.
  36501. * <!-- TODO: rename to anchorElement -->
  36502. */
  36503. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["a" /* unimplemented */])(); },
  36504. enumerable: true,
  36505. configurable: true
  36506. });
  36507. Object.defineProperty(ViewContainerRef.prototype, "injector", {
  36508. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["a" /* unimplemented */])(); },
  36509. enumerable: true,
  36510. configurable: true
  36511. });
  36512. Object.defineProperty(ViewContainerRef.prototype, "parentInjector", {
  36513. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["a" /* unimplemented */])(); },
  36514. enumerable: true,
  36515. configurable: true
  36516. });
  36517. Object.defineProperty(ViewContainerRef.prototype, "length", {
  36518. /**
  36519. * Returns the number of Views currently attached to this container.
  36520. */
  36521. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["a" /* unimplemented */])(); },
  36522. enumerable: true,
  36523. configurable: true
  36524. });
  36525. ;
  36526. return ViewContainerRef;
  36527. }());
  36528. var ViewContainerRef_ = (function () {
  36529. function ViewContainerRef_(_element) {
  36530. this._element = _element;
  36531. /** @internal */
  36532. this._createComponentInContainerScope = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__profile_profile__["a" /* wtfCreateScope */])('ViewContainerRef#createComponent()');
  36533. /** @internal */
  36534. this._insertScope = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__profile_profile__["a" /* wtfCreateScope */])('ViewContainerRef#insert()');
  36535. /** @internal */
  36536. this._removeScope = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__profile_profile__["a" /* wtfCreateScope */])('ViewContainerRef#remove()');
  36537. /** @internal */
  36538. this._detachScope = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__profile_profile__["a" /* wtfCreateScope */])('ViewContainerRef#detach()');
  36539. }
  36540. ViewContainerRef_.prototype.get = function (index) { return this._element.nestedViews[index].ref; };
  36541. Object.defineProperty(ViewContainerRef_.prototype, "length", {
  36542. get: function () {
  36543. var views = this._element.nestedViews;
  36544. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["e" /* isPresent */])(views) ? views.length : 0;
  36545. },
  36546. enumerable: true,
  36547. configurable: true
  36548. });
  36549. Object.defineProperty(ViewContainerRef_.prototype, "element", {
  36550. get: function () { return this._element.elementRef; },
  36551. enumerable: true,
  36552. configurable: true
  36553. });
  36554. Object.defineProperty(ViewContainerRef_.prototype, "injector", {
  36555. get: function () { return this._element.injector; },
  36556. enumerable: true,
  36557. configurable: true
  36558. });
  36559. Object.defineProperty(ViewContainerRef_.prototype, "parentInjector", {
  36560. get: function () { return this._element.parentInjector; },
  36561. enumerable: true,
  36562. configurable: true
  36563. });
  36564. // TODO(rado): profile and decide whether bounds checks should be added
  36565. // to the methods below.
  36566. ViewContainerRef_.prototype.createEmbeddedView = function (templateRef, context, index) {
  36567. if (context === void 0) { context = null; }
  36568. if (index === void 0) { index = -1; }
  36569. var viewRef = templateRef.createEmbeddedView(context);
  36570. this.insert(viewRef, index);
  36571. return viewRef;
  36572. };
  36573. ViewContainerRef_.prototype.createComponent = function (componentFactory, index, injector, projectableNodes) {
  36574. if (index === void 0) { index = -1; }
  36575. if (injector === void 0) { injector = null; }
  36576. if (projectableNodes === void 0) { projectableNodes = null; }
  36577. var s = this._createComponentInContainerScope();
  36578. var contextInjector = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["e" /* isPresent */])(injector) ? injector : this._element.parentInjector;
  36579. var componentRef = componentFactory.create(contextInjector, projectableNodes);
  36580. this.insert(componentRef.hostView, index);
  36581. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__profile_profile__["b" /* wtfLeave */])(s, componentRef);
  36582. };
  36583. // TODO(i): refactor insert+remove into move
  36584. ViewContainerRef_.prototype.insert = function (viewRef, index) {
  36585. if (index === void 0) { index = -1; }
  36586. var s = this._insertScope();
  36587. if (index == -1)
  36588. index = this.length;
  36589. var viewRef_ = viewRef;
  36590. this._element.attachView(viewRef_.internalView, index);
  36591. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__profile_profile__["b" /* wtfLeave */])(s, viewRef_);
  36592. };
  36593. ViewContainerRef_.prototype.move = function (viewRef, currentIndex) {
  36594. var s = this._insertScope();
  36595. if (currentIndex == -1)
  36596. return;
  36597. var viewRef_ = viewRef;
  36598. this._element.moveView(viewRef_.internalView, currentIndex);
  36599. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__profile_profile__["b" /* wtfLeave */])(s, viewRef_);
  36600. };
  36601. ViewContainerRef_.prototype.indexOf = function (viewRef) {
  36602. return __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].indexOf(this._element.nestedViews, viewRef.internalView);
  36603. };
  36604. // TODO(i): rename to destroy
  36605. ViewContainerRef_.prototype.remove = function (index) {
  36606. if (index === void 0) { index = -1; }
  36607. var s = this._removeScope();
  36608. if (index == -1)
  36609. index = this.length - 1;
  36610. var view = this._element.detachView(index);
  36611. view.destroy();
  36612. // view is intentionally not returned to the client.
  36613. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__profile_profile__["b" /* wtfLeave */])(s);
  36614. };
  36615. // TODO(i): refactor insert+remove into move
  36616. ViewContainerRef_.prototype.detach = function (index) {
  36617. if (index === void 0) { index = -1; }
  36618. var s = this._detachScope();
  36619. if (index == -1)
  36620. index = this.length - 1;
  36621. var view = this._element.detachView(index);
  36622. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__profile_profile__["b" /* wtfLeave */])(s, view.ref);
  36623. };
  36624. ViewContainerRef_.prototype.clear = function () {
  36625. for (var i = this.length - 1; i >= 0; i--) {
  36626. this.remove(i);
  36627. }
  36628. };
  36629. return ViewContainerRef_;
  36630. }());
  36631. //# sourceMappingURL=view_container_ref.js.map
  36632. /***/ },
  36633. /* 321 */
  36634. /***/ function(module, exports, __webpack_require__) {
  36635. "use strict";
  36636. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__animation_animation_queue__ = __webpack_require__(303);
  36637. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__change_detection_constants__ = __webpack_require__(138);
  36638. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_errors__ = __webpack_require__(35);
  36639. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return ViewRef; });
  36640. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return EmbeddedViewRef; });
  36641. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ViewRef_; });
  36642. /**
  36643. * @license
  36644. * Copyright Google Inc. All Rights Reserved.
  36645. *
  36646. * Use of this source code is governed by an MIT-style license that can be
  36647. * found in the LICENSE file at https://angular.io/license
  36648. */
  36649. var __extends = (this && this.__extends) || function (d, b) {
  36650. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  36651. function __() { this.constructor = d; }
  36652. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  36653. };
  36654. /**
  36655. * @stable
  36656. */
  36657. var ViewRef = (function () {
  36658. function ViewRef() {
  36659. }
  36660. Object.defineProperty(ViewRef.prototype, "destroyed", {
  36661. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_errors__["a" /* unimplemented */])(); },
  36662. enumerable: true,
  36663. configurable: true
  36664. });
  36665. return ViewRef;
  36666. }());
  36667. /**
  36668. * Represents an Angular View.
  36669. *
  36670. * <!-- TODO: move the next two paragraphs to the dev guide -->
  36671. * A View is a fundamental building block of the application UI. It is the smallest grouping of
  36672. * Elements which are created and destroyed together.
  36673. *
  36674. * Properties of elements in a View can change, but the structure (number and order) of elements in
  36675. * a View cannot. Changing the structure of Elements can only be done by inserting, moving or
  36676. * removing nested Views via a {@link ViewContainerRef}. Each View can contain many View Containers.
  36677. * <!-- /TODO -->
  36678. *
  36679. * ### Example
  36680. *
  36681. * Given this template...
  36682. *
  36683. * ```
  36684. * Count: {{items.length}}
  36685. * <ul>
  36686. * <li *ngFor="let item of items">{{item}}</li>
  36687. * </ul>
  36688. * ```
  36689. *
  36690. * We have two {@link TemplateRef}s:
  36691. *
  36692. * Outer {@link TemplateRef}:
  36693. * ```
  36694. * Count: {{items.length}}
  36695. * <ul>
  36696. * <template ngFor let-item [ngForOf]="items"></template>
  36697. * </ul>
  36698. * ```
  36699. *
  36700. * Inner {@link TemplateRef}:
  36701. * ```
  36702. * <li>{{item}}</li>
  36703. * ```
  36704. *
  36705. * Notice that the original template is broken down into two separate {@link TemplateRef}s.
  36706. *
  36707. * The outer/inner {@link TemplateRef}s are then assembled into views like so:
  36708. *
  36709. * ```
  36710. * <!-- ViewRef: outer-0 -->
  36711. * Count: 2
  36712. * <ul>
  36713. * <template view-container-ref></template>
  36714. * <!-- ViewRef: inner-1 --><li>first</li><!-- /ViewRef: inner-1 -->
  36715. * <!-- ViewRef: inner-2 --><li>second</li><!-- /ViewRef: inner-2 -->
  36716. * </ul>
  36717. * <!-- /ViewRef: outer-0 -->
  36718. * ```
  36719. * @experimental
  36720. */
  36721. var EmbeddedViewRef = (function (_super) {
  36722. __extends(EmbeddedViewRef, _super);
  36723. function EmbeddedViewRef() {
  36724. _super.apply(this, arguments);
  36725. }
  36726. Object.defineProperty(EmbeddedViewRef.prototype, "context", {
  36727. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_errors__["a" /* unimplemented */])(); },
  36728. enumerable: true,
  36729. configurable: true
  36730. });
  36731. Object.defineProperty(EmbeddedViewRef.prototype, "rootNodes", {
  36732. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_errors__["a" /* unimplemented */])(); },
  36733. enumerable: true,
  36734. configurable: true
  36735. });
  36736. ;
  36737. return EmbeddedViewRef;
  36738. }(ViewRef));
  36739. var ViewRef_ = (function () {
  36740. function ViewRef_(_view) {
  36741. this._view = _view;
  36742. this._view = _view;
  36743. this._originalMode = this._view.cdMode;
  36744. }
  36745. Object.defineProperty(ViewRef_.prototype, "internalView", {
  36746. get: function () { return this._view; },
  36747. enumerable: true,
  36748. configurable: true
  36749. });
  36750. Object.defineProperty(ViewRef_.prototype, "rootNodes", {
  36751. get: function () { return this._view.flatRootNodes; },
  36752. enumerable: true,
  36753. configurable: true
  36754. });
  36755. Object.defineProperty(ViewRef_.prototype, "context", {
  36756. get: function () { return this._view.context; },
  36757. enumerable: true,
  36758. configurable: true
  36759. });
  36760. Object.defineProperty(ViewRef_.prototype, "destroyed", {
  36761. get: function () { return this._view.destroyed; },
  36762. enumerable: true,
  36763. configurable: true
  36764. });
  36765. ViewRef_.prototype.markForCheck = function () { this._view.markPathToRootAsCheckOnce(); };
  36766. ViewRef_.prototype.detach = function () { this._view.cdMode = __WEBPACK_IMPORTED_MODULE_1__change_detection_constants__["b" /* ChangeDetectorStatus */].Detached; };
  36767. ViewRef_.prototype.detectChanges = function () {
  36768. this._view.detectChanges(false);
  36769. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__animation_animation_queue__["a" /* triggerQueuedAnimations */])();
  36770. };
  36771. ViewRef_.prototype.checkNoChanges = function () { this._view.detectChanges(true); };
  36772. ViewRef_.prototype.reattach = function () {
  36773. this._view.cdMode = this._originalMode;
  36774. this.markForCheck();
  36775. };
  36776. ViewRef_.prototype.onDestroy = function (callback) { this._view.disposables.push(callback); };
  36777. ViewRef_.prototype.destroy = function () { this._view.destroy(); };
  36778. return ViewRef_;
  36779. }());
  36780. //# sourceMappingURL=view_ref.js.map
  36781. /***/ },
  36782. /* 322 */
  36783. /***/ function(module, exports, __webpack_require__) {
  36784. "use strict";
  36785. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__metadata_di__ = __webpack_require__(491);
  36786. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__metadata_directives__ = __webpack_require__(492);
  36787. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__metadata_lifecycle_hooks__ = __webpack_require__(323);
  36788. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__metadata_ng_module__ = __webpack_require__(493);
  36789. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__metadata_view__ = __webpack_require__(324);
  36790. /* harmony reexport (binding) */ __webpack_require__.d(exports, "t", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata_di__["c"]; });
  36791. /* harmony reexport (binding) */ __webpack_require__.d(exports, "w", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata_di__["d"]; });
  36792. /* harmony reexport (binding) */ __webpack_require__.d(exports, "x", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata_di__["e"]; });
  36793. /* harmony reexport (binding) */ __webpack_require__.d(exports, "i", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata_di__["b"]; });
  36794. /* harmony reexport (binding) */ __webpack_require__.d(exports, "y", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata_di__["f"]; });
  36795. /* harmony reexport (binding) */ __webpack_require__.d(exports, "z", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata_di__["g"]; });
  36796. /* harmony reexport (binding) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata_di__["a"]; });
  36797. /* harmony reexport (binding) */ __webpack_require__.d(exports, "j", function() { return __WEBPACK_IMPORTED_MODULE_1__metadata_directives__["f"]; });
  36798. /* harmony reexport (binding) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_1__metadata_directives__["a"]; });
  36799. /* harmony reexport (binding) */ __webpack_require__.d(exports, "g", function() { return __WEBPACK_IMPORTED_MODULE_1__metadata_directives__["d"]; });
  36800. /* harmony reexport (binding) */ __webpack_require__.d(exports, "h", function() { return __WEBPACK_IMPORTED_MODULE_1__metadata_directives__["e"]; });
  36801. /* harmony reexport (binding) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_1__metadata_directives__["b"]; });
  36802. /* harmony reexport (binding) */ __webpack_require__.d(exports, "f", function() { return __WEBPACK_IMPORTED_MODULE_1__metadata_directives__["c"]; });
  36803. /* harmony reexport (binding) */ __webpack_require__.d(exports, "s", function() { return __WEBPACK_IMPORTED_MODULE_1__metadata_directives__["g"]; });
  36804. /* harmony reexport (binding) */ __webpack_require__.d(exports, "l", function() { return __WEBPACK_IMPORTED_MODULE_2__metadata_lifecycle_hooks__["d"]; });
  36805. /* harmony reexport (binding) */ __webpack_require__.d(exports, "o", function() { return __WEBPACK_IMPORTED_MODULE_2__metadata_lifecycle_hooks__["g"]; });
  36806. /* harmony reexport (binding) */ __webpack_require__.d(exports, "r", function() { return __WEBPACK_IMPORTED_MODULE_2__metadata_lifecycle_hooks__["j"]; });
  36807. /* harmony reexport (binding) */ __webpack_require__.d(exports, "q", function() { return __WEBPACK_IMPORTED_MODULE_2__metadata_lifecycle_hooks__["i"]; });
  36808. /* harmony reexport (binding) */ __webpack_require__.d(exports, "m", function() { return __WEBPACK_IMPORTED_MODULE_2__metadata_lifecycle_hooks__["e"]; });
  36809. /* harmony reexport (binding) */ __webpack_require__.d(exports, "n", function() { return __WEBPACK_IMPORTED_MODULE_2__metadata_lifecycle_hooks__["f"]; });
  36810. /* harmony reexport (binding) */ __webpack_require__.d(exports, "p", function() { return __WEBPACK_IMPORTED_MODULE_2__metadata_lifecycle_hooks__["h"]; });
  36811. /* harmony reexport (binding) */ __webpack_require__.d(exports, "k", function() { return __WEBPACK_IMPORTED_MODULE_2__metadata_lifecycle_hooks__["c"]; });
  36812. /* harmony reexport (binding) */ __webpack_require__.d(exports, "v", function() { return __WEBPACK_IMPORTED_MODULE_3__metadata_ng_module__["c"]; });
  36813. /* harmony reexport (binding) */ __webpack_require__.d(exports, "u", function() { return __WEBPACK_IMPORTED_MODULE_3__metadata_ng_module__["b"]; });
  36814. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_3__metadata_ng_module__["a"]; });
  36815. /* harmony reexport (binding) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_4__metadata_view__["c"]; });
  36816. /**
  36817. * @license
  36818. * Copyright Google Inc. All Rights Reserved.
  36819. *
  36820. * Use of this source code is governed by an MIT-style license that can be
  36821. * found in the LICENSE file at https://angular.io/license
  36822. */
  36823. //# sourceMappingURL=metadata.js.map
  36824. /***/ },
  36825. /* 323 */
  36826. /***/ function(module, exports, __webpack_require__) {
  36827. "use strict";
  36828. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return LifecycleHooks; });
  36829. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return LIFECYCLE_HOOKS_VALUES; });
  36830. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return OnChanges; });
  36831. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return OnInit; });
  36832. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return DoCheck; });
  36833. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return OnDestroy; });
  36834. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return AfterContentInit; });
  36835. /* harmony export (binding) */ __webpack_require__.d(exports, "h", function() { return AfterContentChecked; });
  36836. /* harmony export (binding) */ __webpack_require__.d(exports, "i", function() { return AfterViewInit; });
  36837. /* harmony export (binding) */ __webpack_require__.d(exports, "j", function() { return AfterViewChecked; });
  36838. /**
  36839. * @license
  36840. * Copyright Google Inc. All Rights Reserved.
  36841. *
  36842. * Use of this source code is governed by an MIT-style license that can be
  36843. * found in the LICENSE file at https://angular.io/license
  36844. */
  36845. /**
  36846. * @stable
  36847. */
  36848. var LifecycleHooks;
  36849. (function (LifecycleHooks) {
  36850. LifecycleHooks[LifecycleHooks["OnInit"] = 0] = "OnInit";
  36851. LifecycleHooks[LifecycleHooks["OnDestroy"] = 1] = "OnDestroy";
  36852. LifecycleHooks[LifecycleHooks["DoCheck"] = 2] = "DoCheck";
  36853. LifecycleHooks[LifecycleHooks["OnChanges"] = 3] = "OnChanges";
  36854. LifecycleHooks[LifecycleHooks["AfterContentInit"] = 4] = "AfterContentInit";
  36855. LifecycleHooks[LifecycleHooks["AfterContentChecked"] = 5] = "AfterContentChecked";
  36856. LifecycleHooks[LifecycleHooks["AfterViewInit"] = 6] = "AfterViewInit";
  36857. LifecycleHooks[LifecycleHooks["AfterViewChecked"] = 7] = "AfterViewChecked";
  36858. })(LifecycleHooks || (LifecycleHooks = {}));
  36859. var LIFECYCLE_HOOKS_VALUES = [
  36860. LifecycleHooks.OnInit, LifecycleHooks.OnDestroy, LifecycleHooks.DoCheck, LifecycleHooks.OnChanges,
  36861. LifecycleHooks.AfterContentInit, LifecycleHooks.AfterContentChecked, LifecycleHooks.AfterViewInit,
  36862. LifecycleHooks.AfterViewChecked
  36863. ];
  36864. /**
  36865. * @whatItDoes Lifecycle hook that is called when any data-bound property of a directive changes.
  36866. * @howToUse
  36867. * {@example core/ts/metadata/lifecycle_hooks_spec.ts region='OnChanges'}
  36868. *
  36869. * @description
  36870. * `ngOnChanges` is called right after the data-bound properties have been checked and before view
  36871. * and content children are checked if at least one of them has changed.
  36872. * The `changes` parameter contains the changed properties.
  36873. *
  36874. * See {@linkDocs guide/lifecycle-hooks#onchanges "Lifecycle Hooks Guide"}.
  36875. *
  36876. * @stable
  36877. */
  36878. var OnChanges = (function () {
  36879. function OnChanges() {
  36880. }
  36881. return OnChanges;
  36882. }());
  36883. /**
  36884. * @whatItDoes Lifecycle hook that is called after data-bound properties of a directive are
  36885. * initialized.
  36886. * @howToUse
  36887. * {@example core/ts/metadata/lifecycle_hooks_spec.ts region='OnInit'}
  36888. *
  36889. * @description
  36890. * `ngOnInit` is called right after the directive's data-bound properties have been checked for the
  36891. * first time, and before any of its children have been checked. It is invoked only once when the
  36892. * directive is instantiated.
  36893. *
  36894. * See {@linkDocs guide/lifecycle-hooks "Lifecycle Hooks Guide"}.
  36895. *
  36896. * @stable
  36897. */
  36898. var OnInit = (function () {
  36899. function OnInit() {
  36900. }
  36901. return OnInit;
  36902. }());
  36903. /**
  36904. * @whatItDoes Lifecycle hook that is called when Angular dirty checks a directive.
  36905. * @howToUse
  36906. * {@example core/ts/metadata/lifecycle_hooks_spec.ts region='DoCheck'}
  36907. *
  36908. * @description
  36909. * `ngDoCheck` gets called to check the changes in the directives in addition to the default
  36910. * algorithm. The default change detection algorithm looks for differences by comparing
  36911. * bound-property values by reference across change detection runs.
  36912. *
  36913. * Note that a directive typically should not use both `DoCheck` and {@link OnChanges} to respond to
  36914. * changes on the same input, as `ngOnChanges` will continue to be called when the default change
  36915. * detector detects changes.
  36916. *
  36917. * See {@link KeyValueDiffers} and {@link IterableDiffers} for implementing custom dirty checking
  36918. * for collections.
  36919. *
  36920. * See {@linkDocs guide/lifecycle-hooks#docheck "Lifecycle Hooks Guide"}.
  36921. *
  36922. * @stable
  36923. */
  36924. var DoCheck = (function () {
  36925. function DoCheck() {
  36926. }
  36927. return DoCheck;
  36928. }());
  36929. /**
  36930. * @whatItDoes Lifecycle hook that is called when a directive or pipe is destroyed.
  36931. * @howToUse
  36932. * {@example core/ts/metadata/lifecycle_hooks_spec.ts region='OnDestroy'}
  36933. *
  36934. * @description
  36935. * `ngOnDestroy` callback is typically used for any custom cleanup that needs to occur when the
  36936. * instance is destroyed.
  36937. *
  36938. * See {@linkDocs guide/lifecycle-hooks "Lifecycle Hooks Guide"}.
  36939. *
  36940. * @stable
  36941. */
  36942. var OnDestroy = (function () {
  36943. function OnDestroy() {
  36944. }
  36945. return OnDestroy;
  36946. }());
  36947. /**
  36948. *
  36949. * @whatItDoes Lifecycle hook that is called after a directive's content has been fully
  36950. * initialized.
  36951. * @howToUse
  36952. * {@example core/ts/metadata/lifecycle_hooks_spec.ts region='AfterContentInit'}
  36953. *
  36954. * @description
  36955. * See {@linkDocs guide/lifecycle-hooks#aftercontent "Lifecycle Hooks Guide"}.
  36956. *
  36957. * @stable
  36958. */
  36959. var AfterContentInit = (function () {
  36960. function AfterContentInit() {
  36961. }
  36962. return AfterContentInit;
  36963. }());
  36964. /**
  36965. * @whatItDoes Lifecycle hook that is called after every check of a directive's content.
  36966. * @howToUse
  36967. * {@example core/ts/metadata/lifecycle_hooks_spec.ts region='AfterContentChecked'}
  36968. *
  36969. * @description
  36970. * See {@linkDocs guide/lifecycle-hooks#aftercontent "Lifecycle Hooks Guide"}.
  36971. *
  36972. * @stable
  36973. */
  36974. var AfterContentChecked = (function () {
  36975. function AfterContentChecked() {
  36976. }
  36977. return AfterContentChecked;
  36978. }());
  36979. /**
  36980. * @whatItDoes Lifecycle hook that is called after a component's view has been fully
  36981. * initialized.
  36982. * @howToUse
  36983. * {@example core/ts/metadata/lifecycle_hooks_spec.ts region='AfterViewInit'}
  36984. *
  36985. * @description
  36986. * See {@linkDocs guide/lifecycle-hooks#afterview "Lifecycle Hooks Guide"}.
  36987. *
  36988. * @stable
  36989. */
  36990. var AfterViewInit = (function () {
  36991. function AfterViewInit() {
  36992. }
  36993. return AfterViewInit;
  36994. }());
  36995. /**
  36996. * @whatItDoes Lifecycle hook that is called after every check of a component's view.
  36997. * @howToUse
  36998. * {@example core/ts/metadata/lifecycle_hooks_spec.ts region='AfterViewChecked'}
  36999. *
  37000. * @description
  37001. * See {@linkDocs guide/lifecycle-hooks#afterview "Lifecycle Hooks Guide"}.
  37002. *
  37003. * @stable
  37004. */
  37005. var AfterViewChecked = (function () {
  37006. function AfterViewChecked() {
  37007. }
  37008. return AfterViewChecked;
  37009. }());
  37010. //# sourceMappingURL=lifecycle_hooks.js.map
  37011. /***/ },
  37012. /* 324 */
  37013. /***/ function(module, exports, __webpack_require__) {
  37014. "use strict";
  37015. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return ViewEncapsulation; });
  37016. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return VIEW_ENCAPSULATION_VALUES; });
  37017. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return ViewMetadata; });
  37018. /**
  37019. * @license
  37020. * Copyright Google Inc. All Rights Reserved.
  37021. *
  37022. * Use of this source code is governed by an MIT-style license that can be
  37023. * found in the LICENSE file at https://angular.io/license
  37024. */
  37025. /**
  37026. * Defines template and style encapsulation options available for Component's {@link Component}.
  37027. *
  37028. * See {@link ViewMetadata#encapsulation}.
  37029. * @stable
  37030. */
  37031. var ViewEncapsulation;
  37032. (function (ViewEncapsulation) {
  37033. /**
  37034. * Emulate `Native` scoping of styles by adding an attribute containing surrogate id to the Host
  37035. * Element and pre-processing the style rules provided via
  37036. * {@link ViewMetadata#styles} or {@link ViewMetadata#stylesUrls}, and adding the new Host Element
  37037. * attribute to all selectors.
  37038. *
  37039. * This is the default option.
  37040. */
  37041. ViewEncapsulation[ViewEncapsulation["Emulated"] = 0] = "Emulated";
  37042. /**
  37043. * Use the native encapsulation mechanism of the renderer.
  37044. *
  37045. * For the DOM this means using [Shadow DOM](https://w3c.github.io/webcomponents/spec/shadow/) and
  37046. * creating a ShadowRoot for Component's Host Element.
  37047. */
  37048. ViewEncapsulation[ViewEncapsulation["Native"] = 1] = "Native";
  37049. /**
  37050. * Don't provide any template or style encapsulation.
  37051. */
  37052. ViewEncapsulation[ViewEncapsulation["None"] = 2] = "None";
  37053. })(ViewEncapsulation || (ViewEncapsulation = {}));
  37054. var VIEW_ENCAPSULATION_VALUES = [ViewEncapsulation.Emulated, ViewEncapsulation.Native, ViewEncapsulation.None];
  37055. /**
  37056. * Metadata properties available for configuring Views.
  37057. *
  37058. * For details on the `@Component` annotation, see {@link Component}.
  37059. *
  37060. * ### Example
  37061. *
  37062. * ```
  37063. * @Component({
  37064. * selector: 'greet',
  37065. * template: 'Hello {{name}}!',
  37066. * })
  37067. * class Greet {
  37068. * name: string;
  37069. *
  37070. * constructor() {
  37071. * this.name = 'World';
  37072. * }
  37073. * }
  37074. * ```
  37075. *
  37076. * @deprecated Use Component instead.
  37077. *
  37078. * {@link Component}
  37079. */
  37080. var ViewMetadata = (function () {
  37081. function ViewMetadata(_a) {
  37082. var _b = _a === void 0 ? {} : _a, templateUrl = _b.templateUrl, template = _b.template, encapsulation = _b.encapsulation, styles = _b.styles, styleUrls = _b.styleUrls, animations = _b.animations, interpolation = _b.interpolation;
  37083. this.templateUrl = templateUrl;
  37084. this.template = template;
  37085. this.styleUrls = styleUrls;
  37086. this.styles = styles;
  37087. this.encapsulation = encapsulation;
  37088. this.animations = animations;
  37089. this.interpolation = interpolation;
  37090. }
  37091. return ViewMetadata;
  37092. }());
  37093. //# sourceMappingURL=view.js.map
  37094. /***/ },
  37095. /* 325 */
  37096. /***/ function(module, exports, __webpack_require__) {
  37097. "use strict";
  37098. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(5);
  37099. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__type__ = __webpack_require__(213);
  37100. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ReflectionCapabilities; });
  37101. /**
  37102. * @license
  37103. * Copyright Google Inc. All Rights Reserved.
  37104. *
  37105. * Use of this source code is governed by an MIT-style license that can be
  37106. * found in the LICENSE file at https://angular.io/license
  37107. */
  37108. var ReflectionCapabilities = (function () {
  37109. function ReflectionCapabilities(reflect) {
  37110. this._reflect = reflect || __WEBPACK_IMPORTED_MODULE_0__facade_lang__["c" /* global */].Reflect;
  37111. }
  37112. ReflectionCapabilities.prototype.isReflectionEnabled = function () { return true; };
  37113. ReflectionCapabilities.prototype.factory = function (t) {
  37114. var prototype = t.prototype;
  37115. return function () {
  37116. var args = [];
  37117. for (var _i = 0; _i < arguments.length; _i++) {
  37118. args[_i - 0] = arguments[_i];
  37119. }
  37120. var instance = Object.create(prototype);
  37121. t.apply(instance, args);
  37122. return instance;
  37123. };
  37124. };
  37125. /** @internal */
  37126. ReflectionCapabilities.prototype._zipTypesAndAnnotations = function (paramTypes /** TODO #9100 */, paramAnnotations /** TODO #9100 */) {
  37127. var result;
  37128. if (typeof paramTypes === 'undefined') {
  37129. result = new Array(paramAnnotations.length);
  37130. }
  37131. else {
  37132. result = new Array(paramTypes.length);
  37133. }
  37134. for (var i = 0; i < result.length; i++) {
  37135. // TS outputs Object for parameters without types, while Traceur omits
  37136. // the annotations. For now we preserve the Traceur behavior to aid
  37137. // migration, but this can be revisited.
  37138. if (typeof paramTypes === 'undefined') {
  37139. result[i] = [];
  37140. }
  37141. else if (paramTypes[i] != Object) {
  37142. result[i] = [paramTypes[i]];
  37143. }
  37144. else {
  37145. result[i] = [];
  37146. }
  37147. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(paramAnnotations) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(paramAnnotations[i])) {
  37148. result[i] = result[i].concat(paramAnnotations[i]);
  37149. }
  37150. }
  37151. return result;
  37152. };
  37153. ReflectionCapabilities.prototype.parameters = function (typeOrFunc) {
  37154. // Prefer the direct API.
  37155. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(typeOrFunc.parameters)) {
  37156. return typeOrFunc.parameters;
  37157. }
  37158. // API of tsickle for lowering decorators to properties on the class.
  37159. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(typeOrFunc.ctorParameters)) {
  37160. var ctorParameters = typeOrFunc.ctorParameters;
  37161. var paramTypes_1 = ctorParameters.map(function (ctorParam /** TODO #9100 */) { return ctorParam && ctorParam.type; });
  37162. var paramAnnotations_1 = ctorParameters.map(function (ctorParam /** TODO #9100 */) {
  37163. return ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators);
  37164. });
  37165. return this._zipTypesAndAnnotations(paramTypes_1, paramAnnotations_1);
  37166. }
  37167. // API for metadata created by invoking the decorators.
  37168. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(this._reflect) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(this._reflect.getMetadata)) {
  37169. var paramAnnotations = this._reflect.getMetadata('parameters', typeOrFunc);
  37170. var paramTypes = this._reflect.getMetadata('design:paramtypes', typeOrFunc);
  37171. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(paramTypes) || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(paramAnnotations)) {
  37172. return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);
  37173. }
  37174. }
  37175. // The array has to be filled with `undefined` because holes would be skipped by `some`
  37176. var parameters = new Array(typeOrFunc.length);
  37177. parameters.fill(undefined);
  37178. return parameters;
  37179. };
  37180. ReflectionCapabilities.prototype.annotations = function (typeOrFunc) {
  37181. // Prefer the direct API.
  37182. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(typeOrFunc.annotations)) {
  37183. var annotations = typeOrFunc.annotations;
  37184. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isFunction */])(annotations) && annotations.annotations) {
  37185. annotations = annotations.annotations;
  37186. }
  37187. return annotations;
  37188. }
  37189. // API of tsickle for lowering decorators to properties on the class.
  37190. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(typeOrFunc.decorators)) {
  37191. return convertTsickleDecoratorIntoMetadata(typeOrFunc.decorators);
  37192. }
  37193. // API for metadata created by invoking the decorators.
  37194. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(this._reflect) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(this._reflect.getMetadata)) {
  37195. var annotations = this._reflect.getMetadata('annotations', typeOrFunc);
  37196. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(annotations))
  37197. return annotations;
  37198. }
  37199. return [];
  37200. };
  37201. ReflectionCapabilities.prototype.propMetadata = function (typeOrFunc) {
  37202. // Prefer the direct API.
  37203. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(typeOrFunc.propMetadata)) {
  37204. var propMetadata = typeOrFunc.propMetadata;
  37205. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isFunction */])(propMetadata) && propMetadata.propMetadata) {
  37206. propMetadata = propMetadata.propMetadata;
  37207. }
  37208. return propMetadata;
  37209. }
  37210. // API of tsickle for lowering decorators to properties on the class.
  37211. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(typeOrFunc.propDecorators)) {
  37212. var propDecorators_1 = typeOrFunc.propDecorators;
  37213. var propMetadata_1 = {};
  37214. Object.keys(propDecorators_1).forEach(function (prop) {
  37215. propMetadata_1[prop] = convertTsickleDecoratorIntoMetadata(propDecorators_1[prop]);
  37216. });
  37217. return propMetadata_1;
  37218. }
  37219. // API for metadata created by invoking the decorators.
  37220. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(this._reflect) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(this._reflect.getMetadata)) {
  37221. var propMetadata = this._reflect.getMetadata('propMetadata', typeOrFunc);
  37222. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(propMetadata))
  37223. return propMetadata;
  37224. }
  37225. return {};
  37226. };
  37227. // Note: JavaScript does not support to query for interfaces during runtime.
  37228. // However, we can't throw here as the reflector will always call this method
  37229. // when asked for a lifecycle interface as this is what we check in Dart.
  37230. ReflectionCapabilities.prototype.interfaces = function (type) { return []; };
  37231. ReflectionCapabilities.prototype.hasLifecycleHook = function (type, lcInterface, lcProperty) {
  37232. if (!(type instanceof __WEBPACK_IMPORTED_MODULE_1__type__["a" /* Type */]))
  37233. return false;
  37234. var proto = type.prototype;
  37235. return !!proto[lcProperty];
  37236. };
  37237. ReflectionCapabilities.prototype.getter = function (name) { return new Function('o', 'return o.' + name + ';'); };
  37238. ReflectionCapabilities.prototype.setter = function (name) {
  37239. return new Function('o', 'v', 'return o.' + name + ' = v;');
  37240. };
  37241. ReflectionCapabilities.prototype.method = function (name) {
  37242. var functionBody = "if (!o." + name + ") throw new Error('\"" + name + "\" is undefined');\n return o." + name + ".apply(o, args);";
  37243. return new Function('o', 'args', functionBody);
  37244. };
  37245. // There is not a concept of import uri in Js, but this is useful in developing Dart applications.
  37246. ReflectionCapabilities.prototype.importUri = function (type) {
  37247. // StaticSymbol
  37248. if (typeof type === 'object' && type['filePath']) {
  37249. return type['filePath'];
  37250. }
  37251. // Runtime type
  37252. return "./" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* stringify */])(type);
  37253. };
  37254. ReflectionCapabilities.prototype.resolveIdentifier = function (name, moduleUrl, runtime) { return runtime; };
  37255. ReflectionCapabilities.prototype.resolveEnum = function (enumIdentifier, name) { return enumIdentifier[name]; };
  37256. return ReflectionCapabilities;
  37257. }());
  37258. function convertTsickleDecoratorIntoMetadata(decoratorInvocations) {
  37259. if (!decoratorInvocations) {
  37260. return [];
  37261. }
  37262. return decoratorInvocations.map(function (decoratorInvocation) {
  37263. var decoratorType = decoratorInvocation.type;
  37264. var annotationCls = decoratorType.annotationCls;
  37265. var annotationArgs = decoratorInvocation.args ? decoratorInvocation.args : [];
  37266. return new (annotationCls.bind.apply(annotationCls, [void 0].concat(annotationArgs)))();
  37267. });
  37268. }
  37269. //# sourceMappingURL=reflection_capabilities.js.map
  37270. /***/ },
  37271. /* 326 */
  37272. /***/ function(module, exports, __webpack_require__) {
  37273. "use strict";
  37274. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(16);
  37275. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(5);
  37276. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__reflector_reader__ = __webpack_require__(210);
  37277. /* unused harmony export ReflectionInfo */
  37278. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Reflector; });
  37279. /**
  37280. * @license
  37281. * Copyright Google Inc. All Rights Reserved.
  37282. *
  37283. * Use of this source code is governed by an MIT-style license that can be
  37284. * found in the LICENSE file at https://angular.io/license
  37285. */
  37286. var __extends = (this && this.__extends) || function (d, b) {
  37287. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  37288. function __() { this.constructor = d; }
  37289. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  37290. };
  37291. /**
  37292. * Reflective information about a symbol, including annotations, interfaces, and other metadata.
  37293. */
  37294. var ReflectionInfo = (function () {
  37295. function ReflectionInfo(annotations, parameters, factory, interfaces, propMetadata) {
  37296. this.annotations = annotations;
  37297. this.parameters = parameters;
  37298. this.factory = factory;
  37299. this.interfaces = interfaces;
  37300. this.propMetadata = propMetadata;
  37301. }
  37302. return ReflectionInfo;
  37303. }());
  37304. /**
  37305. * Provides access to reflection data about symbols. Used internally by Angular
  37306. * to power dependency injection and compilation.
  37307. */
  37308. var Reflector = (function (_super) {
  37309. __extends(Reflector, _super);
  37310. function Reflector(reflectionCapabilities) {
  37311. _super.call(this);
  37312. this.reflectionCapabilities = reflectionCapabilities;
  37313. /** @internal */
  37314. this._injectableInfo = new Map();
  37315. /** @internal */
  37316. this._getters = new Map();
  37317. /** @internal */
  37318. this._setters = new Map();
  37319. /** @internal */
  37320. this._methods = new Map();
  37321. /** @internal */
  37322. this._usedKeys = null;
  37323. }
  37324. Reflector.prototype.updateCapabilities = function (caps) { this.reflectionCapabilities = caps; };
  37325. Reflector.prototype.isReflectionEnabled = function () { return this.reflectionCapabilities.isReflectionEnabled(); };
  37326. /**
  37327. * Causes `this` reflector to track keys used to access
  37328. * {@link ReflectionInfo} objects.
  37329. */
  37330. Reflector.prototype.trackUsage = function () { this._usedKeys = new Set(); };
  37331. /**
  37332. * Lists types for which reflection information was not requested since
  37333. * {@link #trackUsage} was called. This list could later be audited as
  37334. * potential dead code.
  37335. */
  37336. Reflector.prototype.listUnusedKeys = function () {
  37337. var _this = this;
  37338. if (this._usedKeys == null) {
  37339. throw new Error('Usage tracking is disabled');
  37340. }
  37341. var allTypes = __WEBPACK_IMPORTED_MODULE_0__facade_collection__["b" /* MapWrapper */].keys(this._injectableInfo);
  37342. return allTypes.filter(function (key) { return !__WEBPACK_IMPORTED_MODULE_0__facade_collection__["c" /* SetWrapper */].has(_this._usedKeys, key); });
  37343. };
  37344. Reflector.prototype.registerFunction = function (func, funcInfo) {
  37345. this._injectableInfo.set(func, funcInfo);
  37346. };
  37347. Reflector.prototype.registerType = function (type, typeInfo) {
  37348. this._injectableInfo.set(type, typeInfo);
  37349. };
  37350. Reflector.prototype.registerGetters = function (getters) { _mergeMaps(this._getters, getters); };
  37351. Reflector.prototype.registerSetters = function (setters) { _mergeMaps(this._setters, setters); };
  37352. Reflector.prototype.registerMethods = function (methods) { _mergeMaps(this._methods, methods); };
  37353. Reflector.prototype.factory = function (type) {
  37354. if (this._containsReflectionInfo(type)) {
  37355. var res = this._getReflectionInfo(type).factory;
  37356. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(res) ? res : null;
  37357. }
  37358. else {
  37359. return this.reflectionCapabilities.factory(type);
  37360. }
  37361. };
  37362. Reflector.prototype.parameters = function (typeOrFunc) {
  37363. if (this._injectableInfo.has(typeOrFunc)) {
  37364. var res = this._getReflectionInfo(typeOrFunc).parameters;
  37365. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(res) ? res : [];
  37366. }
  37367. else {
  37368. return this.reflectionCapabilities.parameters(typeOrFunc);
  37369. }
  37370. };
  37371. Reflector.prototype.annotations = function (typeOrFunc) {
  37372. if (this._injectableInfo.has(typeOrFunc)) {
  37373. var res = this._getReflectionInfo(typeOrFunc).annotations;
  37374. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(res) ? res : [];
  37375. }
  37376. else {
  37377. return this.reflectionCapabilities.annotations(typeOrFunc);
  37378. }
  37379. };
  37380. Reflector.prototype.propMetadata = function (typeOrFunc) {
  37381. if (this._injectableInfo.has(typeOrFunc)) {
  37382. var res = this._getReflectionInfo(typeOrFunc).propMetadata;
  37383. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(res) ? res : {};
  37384. }
  37385. else {
  37386. return this.reflectionCapabilities.propMetadata(typeOrFunc);
  37387. }
  37388. };
  37389. Reflector.prototype.interfaces = function (type) {
  37390. if (this._injectableInfo.has(type)) {
  37391. var res = this._getReflectionInfo(type).interfaces;
  37392. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(res) ? res : [];
  37393. }
  37394. else {
  37395. return this.reflectionCapabilities.interfaces(type);
  37396. }
  37397. };
  37398. Reflector.prototype.hasLifecycleHook = function (type, lcInterface, lcProperty) {
  37399. var interfaces = this.interfaces(type);
  37400. if (interfaces.indexOf(lcInterface) !== -1) {
  37401. return true;
  37402. }
  37403. else {
  37404. return this.reflectionCapabilities.hasLifecycleHook(type, lcInterface, lcProperty);
  37405. }
  37406. };
  37407. Reflector.prototype.getter = function (name) {
  37408. if (this._getters.has(name)) {
  37409. return this._getters.get(name);
  37410. }
  37411. else {
  37412. return this.reflectionCapabilities.getter(name);
  37413. }
  37414. };
  37415. Reflector.prototype.setter = function (name) {
  37416. if (this._setters.has(name)) {
  37417. return this._setters.get(name);
  37418. }
  37419. else {
  37420. return this.reflectionCapabilities.setter(name);
  37421. }
  37422. };
  37423. Reflector.prototype.method = function (name) {
  37424. if (this._methods.has(name)) {
  37425. return this._methods.get(name);
  37426. }
  37427. else {
  37428. return this.reflectionCapabilities.method(name);
  37429. }
  37430. };
  37431. /** @internal */
  37432. Reflector.prototype._getReflectionInfo = function (typeOrFunc) {
  37433. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(this._usedKeys)) {
  37434. this._usedKeys.add(typeOrFunc);
  37435. }
  37436. return this._injectableInfo.get(typeOrFunc);
  37437. };
  37438. /** @internal */
  37439. Reflector.prototype._containsReflectionInfo = function (typeOrFunc) { return this._injectableInfo.has(typeOrFunc); };
  37440. Reflector.prototype.importUri = function (type) { return this.reflectionCapabilities.importUri(type); };
  37441. Reflector.prototype.resolveIdentifier = function (name, moduleUrl, runtime) {
  37442. return this.reflectionCapabilities.resolveIdentifier(name, moduleUrl, runtime);
  37443. };
  37444. Reflector.prototype.resolveEnum = function (identifier, name) {
  37445. return this.reflectionCapabilities.resolveEnum(identifier, name);
  37446. };
  37447. return Reflector;
  37448. }(__WEBPACK_IMPORTED_MODULE_2__reflector_reader__["a" /* ReflectorReader */]));
  37449. function _mergeMaps(target, config) {
  37450. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].forEach(config, function (v, k) { return target.set(k, v); });
  37451. }
  37452. //# sourceMappingURL=reflector.js.map
  37453. /***/ },
  37454. /* 327 */
  37455. /***/ function(module, exports, __webpack_require__) {
  37456. "use strict";
  37457. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return SecurityContext; });
  37458. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Sanitizer; });
  37459. /**
  37460. * @license
  37461. * Copyright Google Inc. All Rights Reserved.
  37462. *
  37463. * Use of this source code is governed by an MIT-style license that can be
  37464. * found in the LICENSE file at https://angular.io/license
  37465. */
  37466. /**
  37467. * A SecurityContext marks a location that has dangerous security implications, e.g. a DOM property
  37468. * like `innerHTML` that could cause Cross Site Scripting (XSS) security bugs when improperly
  37469. * handled.
  37470. *
  37471. * See DomSanitizer for more details on security in Angular applications.
  37472. *
  37473. * @stable
  37474. */
  37475. var SecurityContext;
  37476. (function (SecurityContext) {
  37477. SecurityContext[SecurityContext["NONE"] = 0] = "NONE";
  37478. SecurityContext[SecurityContext["HTML"] = 1] = "HTML";
  37479. SecurityContext[SecurityContext["STYLE"] = 2] = "STYLE";
  37480. SecurityContext[SecurityContext["SCRIPT"] = 3] = "SCRIPT";
  37481. SecurityContext[SecurityContext["URL"] = 4] = "URL";
  37482. SecurityContext[SecurityContext["RESOURCE_URL"] = 5] = "RESOURCE_URL";
  37483. })(SecurityContext || (SecurityContext = {}));
  37484. /**
  37485. * Sanitizer is used by the views to sanitize potentially dangerous values.
  37486. *
  37487. * @stable
  37488. */
  37489. var Sanitizer = (function () {
  37490. function Sanitizer() {
  37491. }
  37492. return Sanitizer;
  37493. }());
  37494. //# sourceMappingURL=security.js.map
  37495. /***/ },
  37496. /* 328 */,
  37497. /* 329 */,
  37498. /* 330 */,
  37499. /* 331 */,
  37500. /* 332 */
  37501. /***/ function(module, exports, __webpack_require__) {
  37502. "use strict";
  37503. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  37504. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(36);
  37505. /* unused harmony export JSONP_HOME */
  37506. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return BrowserJsonp; });
  37507. /**
  37508. * @license
  37509. * Copyright Google Inc. All Rights Reserved.
  37510. *
  37511. * Use of this source code is governed by an MIT-style license that can be
  37512. * found in the LICENSE file at https://angular.io/license
  37513. */
  37514. var _nextRequestId = 0;
  37515. var JSONP_HOME = '__ng_jsonp__';
  37516. var _jsonpConnections = null;
  37517. function _getJsonpConnections() {
  37518. if (_jsonpConnections === null) {
  37519. _jsonpConnections = __WEBPACK_IMPORTED_MODULE_1__facade_lang__["h" /* global */][JSONP_HOME] = {};
  37520. }
  37521. return _jsonpConnections;
  37522. }
  37523. // Make sure not to evaluate this in a non-browser environment!
  37524. var BrowserJsonp = (function () {
  37525. function BrowserJsonp() {
  37526. }
  37527. // Construct a <script> element with the specified URL
  37528. BrowserJsonp.prototype.build = function (url) {
  37529. var node = document.createElement('script');
  37530. node.src = url;
  37531. return node;
  37532. };
  37533. BrowserJsonp.prototype.nextRequestID = function () { return "__req" + _nextRequestId++; };
  37534. BrowserJsonp.prototype.requestCallback = function (id) { return JSONP_HOME + "." + id + ".finished"; };
  37535. BrowserJsonp.prototype.exposeConnection = function (id, connection) {
  37536. var connections = _getJsonpConnections();
  37537. connections[id] = connection;
  37538. };
  37539. BrowserJsonp.prototype.removeConnection = function (id) {
  37540. var connections = _getJsonpConnections();
  37541. connections[id] = null;
  37542. };
  37543. // Attach the <script> element to the DOM
  37544. BrowserJsonp.prototype.send = function (node) { document.body.appendChild((node)); };
  37545. // Remove <script> element from the DOM
  37546. BrowserJsonp.prototype.cleanup = function (node) {
  37547. if (node.parentNode) {
  37548. node.parentNode.removeChild((node));
  37549. }
  37550. };
  37551. BrowserJsonp.decorators = [
  37552. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  37553. ];
  37554. /** @nocollapse */
  37555. BrowserJsonp.ctorParameters = [];
  37556. return BrowserJsonp;
  37557. }());
  37558. //# sourceMappingURL=browser_jsonp.js.map
  37559. /***/ },
  37560. /* 333 */
  37561. /***/ function(module, exports, __webpack_require__) {
  37562. "use strict";
  37563. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  37564. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_Observable__ = __webpack_require__(0);
  37565. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_rxjs_Observable__);
  37566. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__base_response_options__ = __webpack_require__(152);
  37567. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__enums__ = __webpack_require__(68);
  37568. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__facade_lang__ = __webpack_require__(36);
  37569. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__interfaces__ = __webpack_require__(115);
  37570. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__static_response__ = __webpack_require__(225);
  37571. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__browser_jsonp__ = __webpack_require__(332);
  37572. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return JSONPConnection; });
  37573. /* unused harmony export JSONPConnection_ */
  37574. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return JSONPBackend; });
  37575. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return JSONPBackend_; });
  37576. /**
  37577. * @license
  37578. * Copyright Google Inc. All Rights Reserved.
  37579. *
  37580. * Use of this source code is governed by an MIT-style license that can be
  37581. * found in the LICENSE file at https://angular.io/license
  37582. */
  37583. var __extends = (this && this.__extends) || function (d, b) {
  37584. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  37585. function __() { this.constructor = d; }
  37586. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  37587. };
  37588. var JSONP_ERR_NO_CALLBACK = 'JSONP injected script did not invoke callback.';
  37589. var JSONP_ERR_WRONG_METHOD = 'JSONP requests must use GET request method.';
  37590. /**
  37591. * Abstract base class for an in-flight JSONP request.
  37592. *
  37593. * @experimental
  37594. */
  37595. var JSONPConnection = (function () {
  37596. function JSONPConnection() {
  37597. }
  37598. return JSONPConnection;
  37599. }());
  37600. var JSONPConnection_ = (function (_super) {
  37601. __extends(JSONPConnection_, _super);
  37602. function JSONPConnection_(req, _dom, baseResponseOptions) {
  37603. var _this = this;
  37604. _super.call(this);
  37605. this._dom = _dom;
  37606. this.baseResponseOptions = baseResponseOptions;
  37607. this._finished = false;
  37608. if (req.method !== __WEBPACK_IMPORTED_MODULE_3__enums__["b" /* RequestMethod */].Get) {
  37609. throw new TypeError(JSONP_ERR_WRONG_METHOD);
  37610. }
  37611. this.request = req;
  37612. this.response = new __WEBPACK_IMPORTED_MODULE_1_rxjs_Observable__["Observable"](function (responseObserver) {
  37613. _this.readyState = __WEBPACK_IMPORTED_MODULE_3__enums__["c" /* ReadyState */].Loading;
  37614. var id = _this._id = _dom.nextRequestID();
  37615. _dom.exposeConnection(id, _this);
  37616. // Workaround Dart
  37617. // url = url.replace(/=JSONP_CALLBACK(&|$)/, `generated method`);
  37618. var callback = _dom.requestCallback(_this._id);
  37619. var url = req.url;
  37620. if (url.indexOf('=JSONP_CALLBACK&') > -1) {
  37621. url = __WEBPACK_IMPORTED_MODULE_4__facade_lang__["i" /* StringWrapper */].replace(url, '=JSONP_CALLBACK&', "=" + callback + "&");
  37622. }
  37623. else if (url.lastIndexOf('=JSONP_CALLBACK') === url.length - '=JSONP_CALLBACK'.length) {
  37624. url = url.substring(0, url.length - '=JSONP_CALLBACK'.length) + ("=" + callback);
  37625. }
  37626. var script = _this._script = _dom.build(url);
  37627. var onLoad = function (event) {
  37628. if (_this.readyState === __WEBPACK_IMPORTED_MODULE_3__enums__["c" /* ReadyState */].Cancelled)
  37629. return;
  37630. _this.readyState = __WEBPACK_IMPORTED_MODULE_3__enums__["c" /* ReadyState */].Done;
  37631. _dom.cleanup(script);
  37632. if (!_this._finished) {
  37633. var responseOptions_1 = new __WEBPACK_IMPORTED_MODULE_2__base_response_options__["a" /* ResponseOptions */]({ body: JSONP_ERR_NO_CALLBACK, type: __WEBPACK_IMPORTED_MODULE_3__enums__["a" /* ResponseType */].Error, url: url });
  37634. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(baseResponseOptions)) {
  37635. responseOptions_1 = baseResponseOptions.merge(responseOptions_1);
  37636. }
  37637. responseObserver.error(new __WEBPACK_IMPORTED_MODULE_6__static_response__["a" /* Response */](responseOptions_1));
  37638. return;
  37639. }
  37640. var responseOptions = new __WEBPACK_IMPORTED_MODULE_2__base_response_options__["a" /* ResponseOptions */]({ body: _this._responseData, url: url });
  37641. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(_this.baseResponseOptions)) {
  37642. responseOptions = _this.baseResponseOptions.merge(responseOptions);
  37643. }
  37644. responseObserver.next(new __WEBPACK_IMPORTED_MODULE_6__static_response__["a" /* Response */](responseOptions));
  37645. responseObserver.complete();
  37646. };
  37647. var onError = function (error) {
  37648. if (_this.readyState === __WEBPACK_IMPORTED_MODULE_3__enums__["c" /* ReadyState */].Cancelled)
  37649. return;
  37650. _this.readyState = __WEBPACK_IMPORTED_MODULE_3__enums__["c" /* ReadyState */].Done;
  37651. _dom.cleanup(script);
  37652. var responseOptions = new __WEBPACK_IMPORTED_MODULE_2__base_response_options__["a" /* ResponseOptions */]({ body: error.message, type: __WEBPACK_IMPORTED_MODULE_3__enums__["a" /* ResponseType */].Error });
  37653. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(baseResponseOptions)) {
  37654. responseOptions = baseResponseOptions.merge(responseOptions);
  37655. }
  37656. responseObserver.error(new __WEBPACK_IMPORTED_MODULE_6__static_response__["a" /* Response */](responseOptions));
  37657. };
  37658. script.addEventListener('load', onLoad);
  37659. script.addEventListener('error', onError);
  37660. _dom.send(script);
  37661. return function () {
  37662. _this.readyState = __WEBPACK_IMPORTED_MODULE_3__enums__["c" /* ReadyState */].Cancelled;
  37663. script.removeEventListener('load', onLoad);
  37664. script.removeEventListener('error', onError);
  37665. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__facade_lang__["a" /* isPresent */])(script)) {
  37666. _this._dom.cleanup(script);
  37667. }
  37668. };
  37669. });
  37670. }
  37671. JSONPConnection_.prototype.finished = function (data) {
  37672. // Don't leak connections
  37673. this._finished = true;
  37674. this._dom.removeConnection(this._id);
  37675. if (this.readyState === __WEBPACK_IMPORTED_MODULE_3__enums__["c" /* ReadyState */].Cancelled)
  37676. return;
  37677. this._responseData = data;
  37678. };
  37679. return JSONPConnection_;
  37680. }(JSONPConnection));
  37681. /**
  37682. * A {@link ConnectionBackend} that uses the JSONP strategy of making requests.
  37683. *
  37684. * @experimental
  37685. */
  37686. var JSONPBackend = (function (_super) {
  37687. __extends(JSONPBackend, _super);
  37688. function JSONPBackend() {
  37689. _super.apply(this, arguments);
  37690. }
  37691. return JSONPBackend;
  37692. }(__WEBPACK_IMPORTED_MODULE_5__interfaces__["a" /* ConnectionBackend */]));
  37693. var JSONPBackend_ = (function (_super) {
  37694. __extends(JSONPBackend_, _super);
  37695. function JSONPBackend_(_browserJSONP, _baseResponseOptions) {
  37696. _super.call(this);
  37697. this._browserJSONP = _browserJSONP;
  37698. this._baseResponseOptions = _baseResponseOptions;
  37699. }
  37700. JSONPBackend_.prototype.createConnection = function (request) {
  37701. return new JSONPConnection_(request, this._browserJSONP, this._baseResponseOptions);
  37702. };
  37703. JSONPBackend_.decorators = [
  37704. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  37705. ];
  37706. /** @nocollapse */
  37707. JSONPBackend_.ctorParameters = [
  37708. { type: __WEBPACK_IMPORTED_MODULE_7__browser_jsonp__["a" /* BrowserJsonp */], },
  37709. { type: __WEBPACK_IMPORTED_MODULE_2__base_response_options__["a" /* ResponseOptions */], },
  37710. ];
  37711. return JSONPBackend_;
  37712. }(JSONPBackend));
  37713. //# sourceMappingURL=jsonp_backend.js.map
  37714. /***/ },
  37715. /* 334 */
  37716. /***/ function(module, exports, __webpack_require__) {
  37717. "use strict";
  37718. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  37719. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__ = __webpack_require__(126);
  37720. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__ = __webpack_require__(0);
  37721. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__);
  37722. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__base_response_options__ = __webpack_require__(152);
  37723. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__enums__ = __webpack_require__(68);
  37724. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__facade_lang__ = __webpack_require__(36);
  37725. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__headers__ = __webpack_require__(114);
  37726. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__http_utils__ = __webpack_require__(153);
  37727. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__interfaces__ = __webpack_require__(115);
  37728. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__static_response__ = __webpack_require__(225);
  37729. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__browser_xhr__ = __webpack_require__(223);
  37730. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return XHRConnection; });
  37731. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return CookieXSRFStrategy; });
  37732. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return XHRBackend; });
  37733. /**
  37734. * @license
  37735. * Copyright Google Inc. All Rights Reserved.
  37736. *
  37737. * Use of this source code is governed by an MIT-style license that can be
  37738. * found in the LICENSE file at https://angular.io/license
  37739. */
  37740. var XSSI_PREFIX = /^\)\]\}',?\n/;
  37741. /**
  37742. * Creates connections using `XMLHttpRequest`. Given a fully-qualified
  37743. * request, an `XHRConnection` will immediately create an `XMLHttpRequest` object and send the
  37744. * request.
  37745. *
  37746. * This class would typically not be created or interacted with directly inside applications, though
  37747. * the {@link MockConnection} may be interacted with in tests.
  37748. *
  37749. * @experimental
  37750. */
  37751. var XHRConnection = (function () {
  37752. function XHRConnection(req, browserXHR, baseResponseOptions) {
  37753. var _this = this;
  37754. this.request = req;
  37755. this.response = new __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"](function (responseObserver) {
  37756. var _xhr = browserXHR.build();
  37757. _xhr.open(__WEBPACK_IMPORTED_MODULE_4__enums__["b" /* RequestMethod */][req.method].toUpperCase(), req.url);
  37758. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(req.withCredentials)) {
  37759. _xhr.withCredentials = req.withCredentials;
  37760. }
  37761. // load event handler
  37762. var onLoad = function () {
  37763. // responseText is the old-school way of retrieving response (supported by IE8 & 9)
  37764. // response/responseType properties were introduced in ResourceLoader Level2 spec (supported
  37765. // by
  37766. // IE10)
  37767. var body = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(_xhr.response) ? _xhr.response : _xhr.responseText;
  37768. // Implicitly strip a potential XSSI prefix.
  37769. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["f" /* isString */])(body))
  37770. body = body.replace(XSSI_PREFIX, '');
  37771. var headers = __WEBPACK_IMPORTED_MODULE_6__headers__["a" /* Headers */].fromResponseHeaderString(_xhr.getAllResponseHeaders());
  37772. var url = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__http_utils__["c" /* getResponseURL */])(_xhr);
  37773. // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)
  37774. var status = _xhr.status === 1223 ? 204 : _xhr.status;
  37775. // fix status code when it is 0 (0 status is undocumented).
  37776. // Occurs when accessing file resources or on Android 4.1 stock browser
  37777. // while retrieving files from application cache.
  37778. if (status === 0) {
  37779. status = body ? 200 : 0;
  37780. }
  37781. var statusText = _xhr.statusText || 'OK';
  37782. var responseOptions = new __WEBPACK_IMPORTED_MODULE_3__base_response_options__["a" /* ResponseOptions */]({ body: body, status: status, headers: headers, statusText: statusText, url: url });
  37783. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(baseResponseOptions)) {
  37784. responseOptions = baseResponseOptions.merge(responseOptions);
  37785. }
  37786. var response = new __WEBPACK_IMPORTED_MODULE_9__static_response__["a" /* Response */](responseOptions);
  37787. response.ok = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__http_utils__["d" /* isSuccess */])(status);
  37788. if (response.ok) {
  37789. responseObserver.next(response);
  37790. // TODO(gdi2290): defer complete if array buffer until done
  37791. responseObserver.complete();
  37792. return;
  37793. }
  37794. responseObserver.error(response);
  37795. };
  37796. // error event handler
  37797. var onError = function (err) {
  37798. var responseOptions = new __WEBPACK_IMPORTED_MODULE_3__base_response_options__["a" /* ResponseOptions */]({
  37799. body: err,
  37800. type: __WEBPACK_IMPORTED_MODULE_4__enums__["a" /* ResponseType */].Error,
  37801. status: _xhr.status,
  37802. statusText: _xhr.statusText,
  37803. });
  37804. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(baseResponseOptions)) {
  37805. responseOptions = baseResponseOptions.merge(responseOptions);
  37806. }
  37807. responseObserver.error(new __WEBPACK_IMPORTED_MODULE_9__static_response__["a" /* Response */](responseOptions));
  37808. };
  37809. _this.setDetectedContentType(req, _xhr);
  37810. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(req.headers)) {
  37811. req.headers.forEach(function (values, name) { return _xhr.setRequestHeader(name, values.join(',')); });
  37812. }
  37813. // Select the correct buffer type to store the response
  37814. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(req.responseType) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(_xhr.responseType)) {
  37815. switch (req.responseType) {
  37816. case __WEBPACK_IMPORTED_MODULE_4__enums__["d" /* ResponseContentType */].ArrayBuffer:
  37817. _xhr.responseType = 'arraybuffer';
  37818. break;
  37819. case __WEBPACK_IMPORTED_MODULE_4__enums__["d" /* ResponseContentType */].Json:
  37820. _xhr.responseType = 'json';
  37821. break;
  37822. case __WEBPACK_IMPORTED_MODULE_4__enums__["d" /* ResponseContentType */].Text:
  37823. _xhr.responseType = 'text';
  37824. break;
  37825. case __WEBPACK_IMPORTED_MODULE_4__enums__["d" /* ResponseContentType */].Blob:
  37826. _xhr.responseType = 'blob';
  37827. break;
  37828. default:
  37829. throw new Error('The selected responseType is not supported');
  37830. }
  37831. }
  37832. _xhr.addEventListener('load', onLoad);
  37833. _xhr.addEventListener('error', onError);
  37834. _xhr.send(_this.request.getBody());
  37835. return function () {
  37836. _xhr.removeEventListener('load', onLoad);
  37837. _xhr.removeEventListener('error', onError);
  37838. _xhr.abort();
  37839. };
  37840. });
  37841. }
  37842. XHRConnection.prototype.setDetectedContentType = function (req /** TODO #9100 */, _xhr /** TODO #9100 */) {
  37843. // Skip if a custom Content-Type header is provided
  37844. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(req.headers) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__facade_lang__["a" /* isPresent */])(req.headers.get('Content-Type'))) {
  37845. return;
  37846. }
  37847. // Set the detected content type
  37848. switch (req.contentType) {
  37849. case __WEBPACK_IMPORTED_MODULE_4__enums__["e" /* ContentType */].NONE:
  37850. break;
  37851. case __WEBPACK_IMPORTED_MODULE_4__enums__["e" /* ContentType */].JSON:
  37852. _xhr.setRequestHeader('content-type', 'application/json');
  37853. break;
  37854. case __WEBPACK_IMPORTED_MODULE_4__enums__["e" /* ContentType */].FORM:
  37855. _xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
  37856. break;
  37857. case __WEBPACK_IMPORTED_MODULE_4__enums__["e" /* ContentType */].TEXT:
  37858. _xhr.setRequestHeader('content-type', 'text/plain');
  37859. break;
  37860. case __WEBPACK_IMPORTED_MODULE_4__enums__["e" /* ContentType */].BLOB:
  37861. var blob = req.blob();
  37862. if (blob.type) {
  37863. _xhr.setRequestHeader('content-type', blob.type);
  37864. }
  37865. break;
  37866. }
  37867. };
  37868. return XHRConnection;
  37869. }());
  37870. /**
  37871. * `XSRFConfiguration` sets up Cross Site Request Forgery (XSRF) protection for the application
  37872. * using a cookie. See {@link https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)}
  37873. * for more information on XSRF.
  37874. *
  37875. * Applications can configure custom cookie and header names by binding an instance of this class
  37876. * with different `cookieName` and `headerName` values. See the main HTTP documentation for more
  37877. * details.
  37878. *
  37879. * @experimental
  37880. */
  37881. var CookieXSRFStrategy = (function () {
  37882. function CookieXSRFStrategy(_cookieName, _headerName) {
  37883. if (_cookieName === void 0) { _cookieName = 'XSRF-TOKEN'; }
  37884. if (_headerName === void 0) { _headerName = 'X-XSRF-TOKEN'; }
  37885. this._cookieName = _cookieName;
  37886. this._headerName = _headerName;
  37887. }
  37888. CookieXSRFStrategy.prototype.configureRequest = function (req) {
  37889. var xsrfToken = __WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__["__platform_browser_private__"].getDOM().getCookie(this._cookieName);
  37890. if (xsrfToken && !req.headers.has(this._headerName)) {
  37891. req.headers.set(this._headerName, xsrfToken);
  37892. }
  37893. };
  37894. return CookieXSRFStrategy;
  37895. }());
  37896. /**
  37897. * Creates {@link XHRConnection} instances.
  37898. *
  37899. * This class would typically not be used by end users, but could be
  37900. * overridden if a different backend implementation should be used,
  37901. * such as in a node backend.
  37902. *
  37903. * ### Example
  37904. *
  37905. * ```
  37906. * import {Http, MyNodeBackend, HTTP_PROVIDERS, BaseRequestOptions} from '@angular/http';
  37907. * @Component({
  37908. * viewProviders: [
  37909. * HTTP_PROVIDERS,
  37910. * {provide: Http, useFactory: (backend, options) => {
  37911. * return new Http(backend, options);
  37912. * }, deps: [MyNodeBackend, BaseRequestOptions]}]
  37913. * })
  37914. * class MyComponent {
  37915. * constructor(http:Http) {
  37916. * http.request('people.json').subscribe(res => this.people = res.json());
  37917. * }
  37918. * }
  37919. * ```
  37920. * @experimental
  37921. */
  37922. var XHRBackend = (function () {
  37923. function XHRBackend(_browserXHR, _baseResponseOptions, _xsrfStrategy) {
  37924. this._browserXHR = _browserXHR;
  37925. this._baseResponseOptions = _baseResponseOptions;
  37926. this._xsrfStrategy = _xsrfStrategy;
  37927. }
  37928. XHRBackend.prototype.createConnection = function (request) {
  37929. this._xsrfStrategy.configureRequest(request);
  37930. return new XHRConnection(request, this._browserXHR, this._baseResponseOptions);
  37931. };
  37932. XHRBackend.decorators = [
  37933. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  37934. ];
  37935. /** @nocollapse */
  37936. XHRBackend.ctorParameters = [
  37937. { type: __WEBPACK_IMPORTED_MODULE_10__browser_xhr__["a" /* BrowserXhr */], },
  37938. { type: __WEBPACK_IMPORTED_MODULE_3__base_response_options__["a" /* ResponseOptions */], },
  37939. { type: __WEBPACK_IMPORTED_MODULE_8__interfaces__["b" /* XSRFStrategy */], },
  37940. ];
  37941. return XHRBackend;
  37942. }());
  37943. //# sourceMappingURL=xhr_backend.js.map
  37944. /***/ },
  37945. /* 335 */
  37946. /***/ function(module, exports, __webpack_require__) {
  37947. "use strict";
  37948. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_facade_lang__ = __webpack_require__(36);
  37949. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__http_utils__ = __webpack_require__(153);
  37950. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__url_search_params__ = __webpack_require__(154);
  37951. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Body; });
  37952. /**
  37953. * @license
  37954. * Copyright Google Inc. All Rights Reserved.
  37955. *
  37956. * Use of this source code is governed by an MIT-style license that can be
  37957. * found in the LICENSE file at https://angular.io/license
  37958. */
  37959. /**
  37960. * HTTP request body used by both {@link Request} and {@link Response}
  37961. * https://fetch.spec.whatwg.org/#body
  37962. */
  37963. var Body = (function () {
  37964. function Body() {
  37965. }
  37966. /**
  37967. * Attempts to return body as parsed `JSON` object, or raises an exception.
  37968. */
  37969. Body.prototype.json = function () {
  37970. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__src_facade_lang__["f" /* isString */])(this._body)) {
  37971. return __WEBPACK_IMPORTED_MODULE_0__src_facade_lang__["g" /* Json */].parse(this._body);
  37972. }
  37973. if (this._body instanceof ArrayBuffer) {
  37974. return __WEBPACK_IMPORTED_MODULE_0__src_facade_lang__["g" /* Json */].parse(this.text());
  37975. }
  37976. return this._body;
  37977. };
  37978. /**
  37979. * Returns the body as a string, presuming `toString()` can be called on the response body.
  37980. */
  37981. Body.prototype.text = function () {
  37982. if (this._body instanceof __WEBPACK_IMPORTED_MODULE_2__url_search_params__["a" /* URLSearchParams */]) {
  37983. return this._body.toString();
  37984. }
  37985. if (this._body instanceof ArrayBuffer) {
  37986. return String.fromCharCode.apply(null, new Uint16Array(this._body));
  37987. }
  37988. if (this._body === null) {
  37989. return '';
  37990. }
  37991. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__http_utils__["a" /* isJsObject */])(this._body)) {
  37992. return __WEBPACK_IMPORTED_MODULE_0__src_facade_lang__["g" /* Json */].stringify(this._body);
  37993. }
  37994. return this._body.toString();
  37995. };
  37996. /**
  37997. * Return the body as an ArrayBuffer
  37998. */
  37999. Body.prototype.arrayBuffer = function () {
  38000. if (this._body instanceof ArrayBuffer) {
  38001. return this._body;
  38002. }
  38003. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__http_utils__["b" /* stringToArrayBuffer */])(this.text());
  38004. };
  38005. /**
  38006. * Returns the request's body as a Blob, assuming that body exists.
  38007. */
  38008. Body.prototype.blob = function () {
  38009. if (this._body instanceof Blob) {
  38010. return this._body;
  38011. }
  38012. if (this._body instanceof ArrayBuffer) {
  38013. return new Blob([this._body]);
  38014. }
  38015. throw new Error('The request body isn\'t either a blob or an array buffer');
  38016. };
  38017. return Body;
  38018. }());
  38019. //# sourceMappingURL=body.js.map
  38020. /***/ },
  38021. /* 336 */
  38022. /***/ function(module, exports, __webpack_require__) {
  38023. "use strict";
  38024. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  38025. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_facade_lang__ = __webpack_require__(36);
  38026. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__base_request_options__ = __webpack_require__(224);
  38027. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__enums__ = __webpack_require__(68);
  38028. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__interfaces__ = __webpack_require__(115);
  38029. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__static_request__ = __webpack_require__(337);
  38030. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Http; });
  38031. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return Jsonp; });
  38032. /**
  38033. * @license
  38034. * Copyright Google Inc. All Rights Reserved.
  38035. *
  38036. * Use of this source code is governed by an MIT-style license that can be
  38037. * found in the LICENSE file at https://angular.io/license
  38038. */
  38039. var __extends = (this && this.__extends) || function (d, b) {
  38040. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  38041. function __() { this.constructor = d; }
  38042. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  38043. };
  38044. function httpRequest(backend, request) {
  38045. return backend.createConnection(request).response;
  38046. }
  38047. function mergeOptions(defaultOpts, providedOpts, method, url) {
  38048. var newOptions = defaultOpts;
  38049. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(providedOpts)) {
  38050. // Hack so Dart can used named parameters
  38051. return newOptions.merge(new __WEBPACK_IMPORTED_MODULE_2__base_request_options__["a" /* RequestOptions */]({
  38052. method: providedOpts.method || method,
  38053. url: providedOpts.url || url,
  38054. search: providedOpts.search,
  38055. headers: providedOpts.headers,
  38056. body: providedOpts.body,
  38057. withCredentials: providedOpts.withCredentials,
  38058. responseType: providedOpts.responseType
  38059. }));
  38060. }
  38061. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["a" /* isPresent */])(method)) {
  38062. return newOptions.merge(new __WEBPACK_IMPORTED_MODULE_2__base_request_options__["a" /* RequestOptions */]({ method: method, url: url }));
  38063. }
  38064. else {
  38065. return newOptions.merge(new __WEBPACK_IMPORTED_MODULE_2__base_request_options__["a" /* RequestOptions */]({ url: url }));
  38066. }
  38067. }
  38068. /**
  38069. * Performs http requests using `XMLHttpRequest` as the default backend.
  38070. *
  38071. * `Http` is available as an injectable class, with methods to perform http requests. Calling
  38072. * `request` returns an `Observable` which will emit a single {@link Response} when a
  38073. * response is received.
  38074. *
  38075. * ### Example
  38076. *
  38077. * ```typescript
  38078. * import {Http, HTTP_PROVIDERS} from '@angular/http';
  38079. * import 'rxjs/add/operator/map'
  38080. * @Component({
  38081. * selector: 'http-app',
  38082. * viewProviders: [HTTP_PROVIDERS],
  38083. * templateUrl: 'people.html'
  38084. * })
  38085. * class PeopleComponent {
  38086. * constructor(http: Http) {
  38087. * http.get('people.json')
  38088. * // Call map on the response observable to get the parsed people object
  38089. * .map(res => res.json())
  38090. * // Subscribe to the observable to get the parsed people object and attach it to the
  38091. * // component
  38092. * .subscribe(people => this.people = people);
  38093. * }
  38094. * }
  38095. * ```
  38096. *
  38097. *
  38098. * ### Example
  38099. *
  38100. * ```
  38101. * http.get('people.json').subscribe((res:Response) => this.people = res.json());
  38102. * ```
  38103. *
  38104. * The default construct used to perform requests, `XMLHttpRequest`, is abstracted as a "Backend" (
  38105. * {@link XHRBackend} in this case), which could be mocked with dependency injection by replacing
  38106. * the {@link XHRBackend} provider, as in the following example:
  38107. *
  38108. * ### Example
  38109. *
  38110. * ```typescript
  38111. * import {BaseRequestOptions, Http} from '@angular/http';
  38112. * import {MockBackend} from '@angular/http/testing';
  38113. * var injector = Injector.resolveAndCreate([
  38114. * BaseRequestOptions,
  38115. * MockBackend,
  38116. * {provide: Http, useFactory:
  38117. * function(backend, defaultOptions) {
  38118. * return new Http(backend, defaultOptions);
  38119. * },
  38120. * deps: [MockBackend, BaseRequestOptions]}
  38121. * ]);
  38122. * var http = injector.get(Http);
  38123. * http.get('request-from-mock-backend.json').subscribe((res:Response) => doSomething(res));
  38124. * ```
  38125. *
  38126. * @experimental
  38127. */
  38128. var Http = (function () {
  38129. function Http(_backend, _defaultOptions) {
  38130. this._backend = _backend;
  38131. this._defaultOptions = _defaultOptions;
  38132. }
  38133. /**
  38134. * Performs any type of http request. First argument is required, and can either be a url or
  38135. * a {@link Request} instance. If the first argument is a url, an optional {@link RequestOptions}
  38136. * object can be provided as the 2nd argument. The options object will be merged with the values
  38137. * of {@link BaseRequestOptions} before performing the request.
  38138. */
  38139. Http.prototype.request = function (url, options) {
  38140. var responseObservable;
  38141. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["f" /* isString */])(url)) {
  38142. responseObservable = httpRequest(this._backend, new __WEBPACK_IMPORTED_MODULE_5__static_request__["a" /* Request */](mergeOptions(this._defaultOptions, options, __WEBPACK_IMPORTED_MODULE_3__enums__["b" /* RequestMethod */].Get, url)));
  38143. }
  38144. else if (url instanceof __WEBPACK_IMPORTED_MODULE_5__static_request__["a" /* Request */]) {
  38145. responseObservable = httpRequest(this._backend, url);
  38146. }
  38147. else {
  38148. throw new Error('First argument must be a url string or Request instance.');
  38149. }
  38150. return responseObservable;
  38151. };
  38152. /**
  38153. * Performs a request with `get` http method.
  38154. */
  38155. Http.prototype.get = function (url, options) {
  38156. return httpRequest(this._backend, new __WEBPACK_IMPORTED_MODULE_5__static_request__["a" /* Request */](mergeOptions(this._defaultOptions, options, __WEBPACK_IMPORTED_MODULE_3__enums__["b" /* RequestMethod */].Get, url)));
  38157. };
  38158. /**
  38159. * Performs a request with `post` http method.
  38160. */
  38161. Http.prototype.post = function (url, body, options) {
  38162. return httpRequest(this._backend, new __WEBPACK_IMPORTED_MODULE_5__static_request__["a" /* Request */](mergeOptions(this._defaultOptions.merge(new __WEBPACK_IMPORTED_MODULE_2__base_request_options__["a" /* RequestOptions */]({ body: body })), options, __WEBPACK_IMPORTED_MODULE_3__enums__["b" /* RequestMethod */].Post, url)));
  38163. };
  38164. /**
  38165. * Performs a request with `put` http method.
  38166. */
  38167. Http.prototype.put = function (url, body, options) {
  38168. return httpRequest(this._backend, new __WEBPACK_IMPORTED_MODULE_5__static_request__["a" /* Request */](mergeOptions(this._defaultOptions.merge(new __WEBPACK_IMPORTED_MODULE_2__base_request_options__["a" /* RequestOptions */]({ body: body })), options, __WEBPACK_IMPORTED_MODULE_3__enums__["b" /* RequestMethod */].Put, url)));
  38169. };
  38170. /**
  38171. * Performs a request with `delete` http method.
  38172. */
  38173. Http.prototype.delete = function (url, options) {
  38174. return httpRequest(this._backend, new __WEBPACK_IMPORTED_MODULE_5__static_request__["a" /* Request */](mergeOptions(this._defaultOptions, options, __WEBPACK_IMPORTED_MODULE_3__enums__["b" /* RequestMethod */].Delete, url)));
  38175. };
  38176. /**
  38177. * Performs a request with `patch` http method.
  38178. */
  38179. Http.prototype.patch = function (url, body, options) {
  38180. return httpRequest(this._backend, new __WEBPACK_IMPORTED_MODULE_5__static_request__["a" /* Request */](mergeOptions(this._defaultOptions.merge(new __WEBPACK_IMPORTED_MODULE_2__base_request_options__["a" /* RequestOptions */]({ body: body })), options, __WEBPACK_IMPORTED_MODULE_3__enums__["b" /* RequestMethod */].Patch, url)));
  38181. };
  38182. /**
  38183. * Performs a request with `head` http method.
  38184. */
  38185. Http.prototype.head = function (url, options) {
  38186. return httpRequest(this._backend, new __WEBPACK_IMPORTED_MODULE_5__static_request__["a" /* Request */](mergeOptions(this._defaultOptions, options, __WEBPACK_IMPORTED_MODULE_3__enums__["b" /* RequestMethod */].Head, url)));
  38187. };
  38188. /**
  38189. * Performs a request with `options` http method.
  38190. */
  38191. Http.prototype.options = function (url, options) {
  38192. return httpRequest(this._backend, new __WEBPACK_IMPORTED_MODULE_5__static_request__["a" /* Request */](mergeOptions(this._defaultOptions, options, __WEBPACK_IMPORTED_MODULE_3__enums__["b" /* RequestMethod */].Options, url)));
  38193. };
  38194. Http.decorators = [
  38195. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  38196. ];
  38197. /** @nocollapse */
  38198. Http.ctorParameters = [
  38199. { type: __WEBPACK_IMPORTED_MODULE_4__interfaces__["a" /* ConnectionBackend */], },
  38200. { type: __WEBPACK_IMPORTED_MODULE_2__base_request_options__["a" /* RequestOptions */], },
  38201. ];
  38202. return Http;
  38203. }());
  38204. /**
  38205. * @experimental
  38206. */
  38207. var Jsonp = (function (_super) {
  38208. __extends(Jsonp, _super);
  38209. function Jsonp(backend, defaultOptions) {
  38210. _super.call(this, backend, defaultOptions);
  38211. }
  38212. /**
  38213. * Performs any type of http request. First argument is required, and can either be a url or
  38214. * a {@link Request} instance. If the first argument is a url, an optional {@link RequestOptions}
  38215. * object can be provided as the 2nd argument. The options object will be merged with the values
  38216. * of {@link BaseRequestOptions} before performing the request.
  38217. *
  38218. * @security Regular XHR is the safest alternative to JSONP for most applications, and is
  38219. * supported by all current browsers. Because JSONP creates a `<script>` element with
  38220. * contents retrieved from a remote source, attacker-controlled data introduced by an untrusted
  38221. * source could expose your application to XSS risks. Data exposed by JSONP may also be
  38222. * readable by malicious third-party websites. In addition, JSONP introduces potential risk for
  38223. * future security issues (e.g. content sniffing). For more detail, see the
  38224. * [Security Guide](http://g.co/ng/security).
  38225. */
  38226. Jsonp.prototype.request = function (url, options) {
  38227. var responseObservable;
  38228. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__src_facade_lang__["f" /* isString */])(url)) {
  38229. url =
  38230. new __WEBPACK_IMPORTED_MODULE_5__static_request__["a" /* Request */](mergeOptions(this._defaultOptions, options, __WEBPACK_IMPORTED_MODULE_3__enums__["b" /* RequestMethod */].Get, url));
  38231. }
  38232. if (url instanceof __WEBPACK_IMPORTED_MODULE_5__static_request__["a" /* Request */]) {
  38233. if (url.method !== __WEBPACK_IMPORTED_MODULE_3__enums__["b" /* RequestMethod */].Get) {
  38234. throw new Error('JSONP requests must use GET request method.');
  38235. }
  38236. responseObservable = httpRequest(this._backend, url);
  38237. }
  38238. else {
  38239. throw new Error('First argument must be a url string or Request instance.');
  38240. }
  38241. return responseObservable;
  38242. };
  38243. Jsonp.decorators = [
  38244. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  38245. ];
  38246. /** @nocollapse */
  38247. Jsonp.ctorParameters = [
  38248. { type: __WEBPACK_IMPORTED_MODULE_4__interfaces__["a" /* ConnectionBackend */], },
  38249. { type: __WEBPACK_IMPORTED_MODULE_2__base_request_options__["a" /* RequestOptions */], },
  38250. ];
  38251. return Jsonp;
  38252. }(Http));
  38253. //# sourceMappingURL=http.js.map
  38254. /***/ },
  38255. /* 337 */
  38256. /***/ function(module, exports, __webpack_require__) {
  38257. "use strict";
  38258. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_facade_lang__ = __webpack_require__(36);
  38259. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__body__ = __webpack_require__(335);
  38260. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__enums__ = __webpack_require__(68);
  38261. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__headers__ = __webpack_require__(114);
  38262. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__http_utils__ = __webpack_require__(153);
  38263. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__url_search_params__ = __webpack_require__(154);
  38264. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Request; });
  38265. /**
  38266. * @license
  38267. * Copyright Google Inc. All Rights Reserved.
  38268. *
  38269. * Use of this source code is governed by an MIT-style license that can be
  38270. * found in the LICENSE file at https://angular.io/license
  38271. */
  38272. var __extends = (this && this.__extends) || function (d, b) {
  38273. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  38274. function __() { this.constructor = d; }
  38275. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  38276. };
  38277. // TODO(jeffbcross): properly implement body accessors
  38278. /**
  38279. * Creates `Request` instances from provided values.
  38280. *
  38281. * The Request's interface is inspired by the Request constructor defined in the [Fetch
  38282. * Spec](https://fetch.spec.whatwg.org/#request-class),
  38283. * but is considered a static value whose body can be accessed many times. There are other
  38284. * differences in the implementation, but this is the most significant.
  38285. *
  38286. * `Request` instances are typically created by higher-level classes, like {@link Http} and
  38287. * {@link Jsonp}, but it may occasionally be useful to explicitly create `Request` instances.
  38288. * One such example is when creating services that wrap higher-level services, like {@link Http},
  38289. * where it may be useful to generate a `Request` with arbitrary headers and search params.
  38290. *
  38291. * ```typescript
  38292. * import {Injectable, Injector} from '@angular/core';
  38293. * import {HTTP_PROVIDERS, Http, Request, RequestMethod} from '@angular/http';
  38294. *
  38295. * @Injectable()
  38296. * class AutoAuthenticator {
  38297. * constructor(public http:Http) {}
  38298. * request(url:string) {
  38299. * return this.http.request(new Request({
  38300. * method: RequestMethod.Get,
  38301. * url: url,
  38302. * search: 'password=123'
  38303. * }));
  38304. * }
  38305. * }
  38306. *
  38307. * var injector = Injector.resolveAndCreate([HTTP_PROVIDERS, AutoAuthenticator]);
  38308. * var authenticator = injector.get(AutoAuthenticator);
  38309. * authenticator.request('people.json').subscribe(res => {
  38310. * //URL should have included '?password=123'
  38311. * console.log('people', res.json());
  38312. * });
  38313. * ```
  38314. *
  38315. * @experimental
  38316. */
  38317. var Request = (function (_super) {
  38318. __extends(Request, _super);
  38319. function Request(requestOptions) {
  38320. _super.call(this);
  38321. // TODO: assert that url is present
  38322. var url = requestOptions.url;
  38323. this.url = requestOptions.url;
  38324. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__src_facade_lang__["a" /* isPresent */])(requestOptions.search)) {
  38325. var search = requestOptions.search.toString();
  38326. if (search.length > 0) {
  38327. var prefix = '?';
  38328. if (__WEBPACK_IMPORTED_MODULE_0__src_facade_lang__["i" /* StringWrapper */].contains(this.url, '?')) {
  38329. prefix = (this.url[this.url.length - 1] == '&') ? '' : '&';
  38330. }
  38331. // TODO: just delete search-query-looking string in url?
  38332. this.url = url + prefix + search;
  38333. }
  38334. }
  38335. this._body = requestOptions.body;
  38336. this.method = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__http_utils__["e" /* normalizeMethodName */])(requestOptions.method);
  38337. // TODO(jeffbcross): implement behavior
  38338. // Defaults to 'omit', consistent with browser
  38339. // TODO(jeffbcross): implement behavior
  38340. this.headers = new __WEBPACK_IMPORTED_MODULE_3__headers__["a" /* Headers */](requestOptions.headers);
  38341. this.contentType = this.detectContentType();
  38342. this.withCredentials = requestOptions.withCredentials;
  38343. this.responseType = requestOptions.responseType;
  38344. }
  38345. /**
  38346. * Returns the content type enum based on header options.
  38347. */
  38348. Request.prototype.detectContentType = function () {
  38349. switch (this.headers.get('content-type')) {
  38350. case 'application/json':
  38351. return __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].JSON;
  38352. case 'application/x-www-form-urlencoded':
  38353. return __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].FORM;
  38354. case 'multipart/form-data':
  38355. return __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].FORM_DATA;
  38356. case 'text/plain':
  38357. case 'text/html':
  38358. return __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].TEXT;
  38359. case 'application/octet-stream':
  38360. return __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].BLOB;
  38361. default:
  38362. return this.detectContentTypeFromBody();
  38363. }
  38364. };
  38365. /**
  38366. * Returns the content type of request's body based on its type.
  38367. */
  38368. Request.prototype.detectContentTypeFromBody = function () {
  38369. if (this._body == null) {
  38370. return __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].NONE;
  38371. }
  38372. else if (this._body instanceof __WEBPACK_IMPORTED_MODULE_5__url_search_params__["a" /* URLSearchParams */]) {
  38373. return __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].FORM;
  38374. }
  38375. else if (this._body instanceof FormData) {
  38376. return __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].FORM_DATA;
  38377. }
  38378. else if (this._body instanceof Blob) {
  38379. return __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].BLOB;
  38380. }
  38381. else if (this._body instanceof ArrayBuffer) {
  38382. return __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].ARRAY_BUFFER;
  38383. }
  38384. else if (this._body && typeof this._body == 'object') {
  38385. return __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].JSON;
  38386. }
  38387. else {
  38388. return __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].TEXT;
  38389. }
  38390. };
  38391. /**
  38392. * Returns the request's body according to its type. If body is undefined, return
  38393. * null.
  38394. */
  38395. Request.prototype.getBody = function () {
  38396. switch (this.contentType) {
  38397. case __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].JSON:
  38398. return this.text();
  38399. case __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].FORM:
  38400. return this.text();
  38401. case __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].FORM_DATA:
  38402. return this._body;
  38403. case __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].TEXT:
  38404. return this.text();
  38405. case __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].BLOB:
  38406. return this.blob();
  38407. case __WEBPACK_IMPORTED_MODULE_2__enums__["e" /* ContentType */].ARRAY_BUFFER:
  38408. return this.arrayBuffer();
  38409. default:
  38410. return null;
  38411. }
  38412. };
  38413. return Request;
  38414. }(__WEBPACK_IMPORTED_MODULE_1__body__["a" /* Body */]));
  38415. var noop = function () { };
  38416. var w = typeof window == 'object' ? window : noop;
  38417. var FormData = w['FormData'] || noop;
  38418. var Blob = w['Blob'] || noop;
  38419. var ArrayBuffer = w['ArrayBuffer'] || noop;
  38420. //# sourceMappingURL=static_request.js.map
  38421. /***/ },
  38422. /* 338 */
  38423. /***/ function(module, exports, __webpack_require__) {
  38424. "use strict";
  38425. /* WEBPACK VAR INJECTION */(function(global) {/* unused harmony export scheduleMicroTask */
  38426. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return _global; });
  38427. /* unused harmony export getTypeNameForDebugging */
  38428. /* unused harmony export Math */
  38429. /* unused harmony export Date */
  38430. /* harmony export (immutable) */ exports["a"] = isPresent;
  38431. /* unused harmony export isBlank */
  38432. /* unused harmony export isBoolean */
  38433. /* unused harmony export isNumber */
  38434. /* unused harmony export isString */
  38435. /* unused harmony export isFunction */
  38436. /* unused harmony export isType */
  38437. /* unused harmony export isStringMap */
  38438. /* unused harmony export isStrictStringMap */
  38439. /* unused harmony export isArray */
  38440. /* unused harmony export isDate */
  38441. /* unused harmony export noop */
  38442. /* unused harmony export stringify */
  38443. /* unused harmony export serializeEnum */
  38444. /* unused harmony export deserializeEnum */
  38445. /* unused harmony export resolveEnumToken */
  38446. /* unused harmony export StringWrapper */
  38447. /* unused harmony export StringJoiner */
  38448. /* unused harmony export NumberWrapper */
  38449. /* unused harmony export RegExp */
  38450. /* unused harmony export FunctionWrapper */
  38451. /* unused harmony export looseIdentical */
  38452. /* unused harmony export getMapKey */
  38453. /* unused harmony export normalizeBlank */
  38454. /* unused harmony export normalizeBool */
  38455. /* unused harmony export isJsObject */
  38456. /* unused harmony export print */
  38457. /* unused harmony export warn */
  38458. /* unused harmony export Json */
  38459. /* unused harmony export DateWrapper */
  38460. /* unused harmony export setValueOnPath */
  38461. /* unused harmony export getSymbolIterator */
  38462. /* unused harmony export evalExpression */
  38463. /* unused harmony export isPrimitive */
  38464. /* unused harmony export hasConstructor */
  38465. /* unused harmony export escape */
  38466. /* unused harmony export escapeRegExp */
  38467. /**
  38468. * @license
  38469. * Copyright Google Inc. All Rights Reserved.
  38470. *
  38471. * Use of this source code is governed by an MIT-style license that can be
  38472. * found in the LICENSE file at https://angular.io/license
  38473. */
  38474. var globalScope;
  38475. if (typeof window === 'undefined') {
  38476. if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {
  38477. // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492
  38478. globalScope = self;
  38479. }
  38480. else {
  38481. globalScope = global;
  38482. }
  38483. }
  38484. else {
  38485. globalScope = window;
  38486. }
  38487. function scheduleMicroTask(fn) {
  38488. Zone.current.scheduleMicroTask('scheduleMicrotask', fn);
  38489. }
  38490. // Need to declare a new variable for global here since TypeScript
  38491. // exports the original value of the symbol.
  38492. var _global = globalScope;
  38493. function getTypeNameForDebugging(type) {
  38494. if (type['name']) {
  38495. return type['name'];
  38496. }
  38497. return typeof type;
  38498. }
  38499. var Math = _global.Math;
  38500. var Date = _global.Date;
  38501. // TODO: remove calls to assert in production environment
  38502. // Note: Can't just export this and import in in other files
  38503. // as `assert` is a reserved keyword in Dart
  38504. _global.assert = function assert(condition) {
  38505. // TODO: to be fixed properly via #2830, noop for now
  38506. };
  38507. function isPresent(obj) {
  38508. return obj !== undefined && obj !== null;
  38509. }
  38510. function isBlank(obj) {
  38511. return obj === undefined || obj === null;
  38512. }
  38513. function isBoolean(obj) {
  38514. return typeof obj === 'boolean';
  38515. }
  38516. function isNumber(obj) {
  38517. return typeof obj === 'number';
  38518. }
  38519. function isString(obj) {
  38520. return typeof obj === 'string';
  38521. }
  38522. function isFunction(obj) {
  38523. return typeof obj === 'function';
  38524. }
  38525. function isType(obj) {
  38526. return isFunction(obj);
  38527. }
  38528. function isStringMap(obj) {
  38529. return typeof obj === 'object' && obj !== null;
  38530. }
  38531. var STRING_MAP_PROTO = Object.getPrototypeOf({});
  38532. function isStrictStringMap(obj) {
  38533. return isStringMap(obj) && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;
  38534. }
  38535. function isArray(obj) {
  38536. return Array.isArray(obj);
  38537. }
  38538. function isDate(obj) {
  38539. return obj instanceof Date && !isNaN(obj.valueOf());
  38540. }
  38541. function noop() { }
  38542. function stringify(token) {
  38543. if (typeof token === 'string') {
  38544. return token;
  38545. }
  38546. if (token === undefined || token === null) {
  38547. return '' + token;
  38548. }
  38549. if (token.overriddenName) {
  38550. return token.overriddenName;
  38551. }
  38552. if (token.name) {
  38553. return token.name;
  38554. }
  38555. var res = token.toString();
  38556. var newLineIndex = res.indexOf('\n');
  38557. return (newLineIndex === -1) ? res : res.substring(0, newLineIndex);
  38558. }
  38559. // serialize / deserialize enum exist only for consistency with dart API
  38560. // enums in typescript don't need to be serialized
  38561. function serializeEnum(val) {
  38562. return val;
  38563. }
  38564. function deserializeEnum(val, values) {
  38565. return val;
  38566. }
  38567. function resolveEnumToken(enumValue, val) {
  38568. return enumValue[val];
  38569. }
  38570. var StringWrapper = (function () {
  38571. function StringWrapper() {
  38572. }
  38573. StringWrapper.fromCharCode = function (code) { return String.fromCharCode(code); };
  38574. StringWrapper.charCodeAt = function (s, index) { return s.charCodeAt(index); };
  38575. StringWrapper.split = function (s, regExp) { return s.split(regExp); };
  38576. StringWrapper.equals = function (s, s2) { return s === s2; };
  38577. StringWrapper.stripLeft = function (s, charVal) {
  38578. if (s && s.length) {
  38579. var pos = 0;
  38580. for (var i = 0; i < s.length; i++) {
  38581. if (s[i] != charVal)
  38582. break;
  38583. pos++;
  38584. }
  38585. s = s.substring(pos);
  38586. }
  38587. return s;
  38588. };
  38589. StringWrapper.stripRight = function (s, charVal) {
  38590. if (s && s.length) {
  38591. var pos = s.length;
  38592. for (var i = s.length - 1; i >= 0; i--) {
  38593. if (s[i] != charVal)
  38594. break;
  38595. pos--;
  38596. }
  38597. s = s.substring(0, pos);
  38598. }
  38599. return s;
  38600. };
  38601. StringWrapper.replace = function (s, from, replace) {
  38602. return s.replace(from, replace);
  38603. };
  38604. StringWrapper.replaceAll = function (s, from, replace) {
  38605. return s.replace(from, replace);
  38606. };
  38607. StringWrapper.slice = function (s, from, to) {
  38608. if (from === void 0) { from = 0; }
  38609. if (to === void 0) { to = null; }
  38610. return s.slice(from, to === null ? undefined : to);
  38611. };
  38612. StringWrapper.replaceAllMapped = function (s, from, cb) {
  38613. return s.replace(from, function () {
  38614. var matches = [];
  38615. for (var _i = 0; _i < arguments.length; _i++) {
  38616. matches[_i - 0] = arguments[_i];
  38617. }
  38618. // Remove offset & string from the result array
  38619. matches.splice(-2, 2);
  38620. // The callback receives match, p1, ..., pn
  38621. return cb(matches);
  38622. });
  38623. };
  38624. StringWrapper.contains = function (s, substr) { return s.indexOf(substr) != -1; };
  38625. StringWrapper.compare = function (a, b) {
  38626. if (a < b) {
  38627. return -1;
  38628. }
  38629. else if (a > b) {
  38630. return 1;
  38631. }
  38632. else {
  38633. return 0;
  38634. }
  38635. };
  38636. return StringWrapper;
  38637. }());
  38638. var StringJoiner = (function () {
  38639. function StringJoiner(parts) {
  38640. if (parts === void 0) { parts = []; }
  38641. this.parts = parts;
  38642. }
  38643. StringJoiner.prototype.add = function (part) { this.parts.push(part); };
  38644. StringJoiner.prototype.toString = function () { return this.parts.join(''); };
  38645. return StringJoiner;
  38646. }());
  38647. var NumberWrapper = (function () {
  38648. function NumberWrapper() {
  38649. }
  38650. NumberWrapper.toFixed = function (n, fractionDigits) { return n.toFixed(fractionDigits); };
  38651. NumberWrapper.equal = function (a, b) { return a === b; };
  38652. NumberWrapper.parseIntAutoRadix = function (text) {
  38653. var result = parseInt(text);
  38654. if (isNaN(result)) {
  38655. throw new Error('Invalid integer literal when parsing ' + text);
  38656. }
  38657. return result;
  38658. };
  38659. NumberWrapper.parseInt = function (text, radix) {
  38660. if (radix == 10) {
  38661. if (/^(\-|\+)?[0-9]+$/.test(text)) {
  38662. return parseInt(text, radix);
  38663. }
  38664. }
  38665. else if (radix == 16) {
  38666. if (/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text)) {
  38667. return parseInt(text, radix);
  38668. }
  38669. }
  38670. else {
  38671. var result = parseInt(text, radix);
  38672. if (!isNaN(result)) {
  38673. return result;
  38674. }
  38675. }
  38676. throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);
  38677. };
  38678. Object.defineProperty(NumberWrapper, "NaN", {
  38679. get: function () { return NaN; },
  38680. enumerable: true,
  38681. configurable: true
  38682. });
  38683. NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };
  38684. NumberWrapper.isNaN = function (value) { return isNaN(value); };
  38685. NumberWrapper.isInteger = function (value) { return Number.isInteger(value); };
  38686. return NumberWrapper;
  38687. }());
  38688. var RegExp = _global.RegExp;
  38689. var FunctionWrapper = (function () {
  38690. function FunctionWrapper() {
  38691. }
  38692. FunctionWrapper.apply = function (fn, posArgs) { return fn.apply(null, posArgs); };
  38693. FunctionWrapper.bind = function (fn, scope) { return fn.bind(scope); };
  38694. return FunctionWrapper;
  38695. }());
  38696. // JS has NaN !== NaN
  38697. function looseIdentical(a, b) {
  38698. return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
  38699. }
  38700. // JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)
  38701. // see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
  38702. function getMapKey(value) {
  38703. return value;
  38704. }
  38705. function normalizeBlank(obj) {
  38706. return isBlank(obj) ? null : obj;
  38707. }
  38708. function normalizeBool(obj) {
  38709. return isBlank(obj) ? false : obj;
  38710. }
  38711. function isJsObject(o) {
  38712. return o !== null && (typeof o === 'function' || typeof o === 'object');
  38713. }
  38714. function print(obj) {
  38715. console.log(obj);
  38716. }
  38717. function warn(obj) {
  38718. console.warn(obj);
  38719. }
  38720. // Can't be all uppercase as our transpiler would think it is a special directive...
  38721. var Json = (function () {
  38722. function Json() {
  38723. }
  38724. Json.parse = function (s) { return _global.JSON.parse(s); };
  38725. Json.stringify = function (data) {
  38726. // Dart doesn't take 3 arguments
  38727. return _global.JSON.stringify(data, null, 2);
  38728. };
  38729. return Json;
  38730. }());
  38731. var DateWrapper = (function () {
  38732. function DateWrapper() {
  38733. }
  38734. DateWrapper.create = function (year, month, day, hour, minutes, seconds, milliseconds) {
  38735. if (month === void 0) { month = 1; }
  38736. if (day === void 0) { day = 1; }
  38737. if (hour === void 0) { hour = 0; }
  38738. if (minutes === void 0) { minutes = 0; }
  38739. if (seconds === void 0) { seconds = 0; }
  38740. if (milliseconds === void 0) { milliseconds = 0; }
  38741. return new Date(year, month - 1, day, hour, minutes, seconds, milliseconds);
  38742. };
  38743. DateWrapper.fromISOString = function (str) { return new Date(str); };
  38744. DateWrapper.fromMillis = function (ms) { return new Date(ms); };
  38745. DateWrapper.toMillis = function (date) { return date.getTime(); };
  38746. DateWrapper.now = function () { return new Date(); };
  38747. DateWrapper.toJson = function (date) { return date.toJSON(); };
  38748. return DateWrapper;
  38749. }());
  38750. function setValueOnPath(global, path, value) {
  38751. var parts = path.split('.');
  38752. var obj = global;
  38753. while (parts.length > 1) {
  38754. var name = parts.shift();
  38755. if (obj.hasOwnProperty(name) && isPresent(obj[name])) {
  38756. obj = obj[name];
  38757. }
  38758. else {
  38759. obj = obj[name] = {};
  38760. }
  38761. }
  38762. if (obj === undefined || obj === null) {
  38763. obj = {};
  38764. }
  38765. obj[parts.shift()] = value;
  38766. }
  38767. var _symbolIterator = null;
  38768. function getSymbolIterator() {
  38769. if (isBlank(_symbolIterator)) {
  38770. if (isPresent(globalScope.Symbol) && isPresent(Symbol.iterator)) {
  38771. _symbolIterator = Symbol.iterator;
  38772. }
  38773. else {
  38774. // es6-shim specific logic
  38775. var keys = Object.getOwnPropertyNames(Map.prototype);
  38776. for (var i = 0; i < keys.length; ++i) {
  38777. var key = keys[i];
  38778. if (key !== 'entries' && key !== 'size' &&
  38779. Map.prototype[key] === Map.prototype['entries']) {
  38780. _symbolIterator = key;
  38781. }
  38782. }
  38783. }
  38784. }
  38785. return _symbolIterator;
  38786. }
  38787. function evalExpression(sourceUrl, expr, declarations, vars) {
  38788. var fnBody = declarations + "\nreturn " + expr + "\n//# sourceURL=" + sourceUrl;
  38789. var fnArgNames = [];
  38790. var fnArgValues = [];
  38791. for (var argName in vars) {
  38792. fnArgNames.push(argName);
  38793. fnArgValues.push(vars[argName]);
  38794. }
  38795. return new (Function.bind.apply(Function, [void 0].concat(fnArgNames.concat(fnBody))))().apply(void 0, fnArgValues);
  38796. }
  38797. function isPrimitive(obj) {
  38798. return !isJsObject(obj);
  38799. }
  38800. function hasConstructor(value, type) {
  38801. return value.constructor === type;
  38802. }
  38803. function escape(s) {
  38804. return _global.encodeURI(s);
  38805. }
  38806. function escapeRegExp(s) {
  38807. return s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
  38808. }
  38809. //# sourceMappingURL=lang.js.map
  38810. /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(64)))
  38811. /***/ },
  38812. /* 339 */
  38813. /***/ function(module, exports, __webpack_require__) {
  38814. "use strict";
  38815. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_compiler__ = __webpack_require__(85);
  38816. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(1);
  38817. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__private_import_platform_browser__ = __webpack_require__(510);
  38818. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__resource_loader_resource_loader_impl__ = __webpack_require__(340);
  38819. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS; });
  38820. /**
  38821. * @license
  38822. * Copyright Google Inc. All Rights Reserved.
  38823. *
  38824. * Use of this source code is governed by an MIT-style license that can be
  38825. * found in the LICENSE file at https://angular.io/license
  38826. */
  38827. var INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS = [
  38828. __WEBPACK_IMPORTED_MODULE_2__private_import_platform_browser__["a" /* INTERNAL_BROWSER_PLATFORM_PROVIDERS */],
  38829. {
  38830. provide: __WEBPACK_IMPORTED_MODULE_1__angular_core__["COMPILER_OPTIONS"],
  38831. useValue: { providers: [{ provide: __WEBPACK_IMPORTED_MODULE_0__angular_compiler__["ResourceLoader"], useClass: __WEBPACK_IMPORTED_MODULE_3__resource_loader_resource_loader_impl__["a" /* ResourceLoaderImpl */] }] },
  38832. multi: true
  38833. },
  38834. ];
  38835. //# sourceMappingURL=platform_providers.js.map
  38836. /***/ },
  38837. /* 340 */
  38838. /***/ function(module, exports, __webpack_require__) {
  38839. "use strict";
  38840. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_compiler__ = __webpack_require__(85);
  38841. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(1);
  38842. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(338);
  38843. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ResourceLoaderImpl; });
  38844. var __extends = (this && this.__extends) || function (d, b) {
  38845. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  38846. function __() { this.constructor = d; }
  38847. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  38848. };
  38849. var ResourceLoaderImpl = (function (_super) {
  38850. __extends(ResourceLoaderImpl, _super);
  38851. function ResourceLoaderImpl() {
  38852. _super.apply(this, arguments);
  38853. }
  38854. ResourceLoaderImpl.prototype.get = function (url) {
  38855. var resolve;
  38856. var reject;
  38857. var promise = new Promise(function (res, rej) {
  38858. resolve = res;
  38859. reject = rej;
  38860. });
  38861. var xhr = new XMLHttpRequest();
  38862. xhr.open('GET', url, true);
  38863. xhr.responseType = 'text';
  38864. xhr.onload = function () {
  38865. // responseText is the old-school way of retrieving response (supported by IE8 & 9)
  38866. // response/responseType properties were introduced in ResourceLoader Level2 spec (supported
  38867. // by IE10)
  38868. var response = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(xhr.response) ? xhr.response : xhr.responseText;
  38869. // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)
  38870. var status = xhr.status === 1223 ? 204 : xhr.status;
  38871. // fix status code when it is 0 (0 status is undocumented).
  38872. // Occurs when accessing file resources or on Android 4.1 stock browser
  38873. // while retrieving files from application cache.
  38874. if (status === 0) {
  38875. status = response ? 200 : 0;
  38876. }
  38877. if (200 <= status && status <= 300) {
  38878. resolve(response);
  38879. }
  38880. else {
  38881. reject("Failed to load " + url);
  38882. }
  38883. };
  38884. xhr.onerror = function () { reject("Failed to load " + url); };
  38885. xhr.send();
  38886. return promise;
  38887. };
  38888. ResourceLoaderImpl.decorators = [
  38889. { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Injectable"] },
  38890. ];
  38891. /** @nocollapse */
  38892. ResourceLoaderImpl.ctorParameters = [];
  38893. return ResourceLoaderImpl;
  38894. }(__WEBPACK_IMPORTED_MODULE_0__angular_compiler__["ResourceLoader"]));
  38895. //# sourceMappingURL=resource_loader_impl.js.map
  38896. /***/ },
  38897. /* 341 */
  38898. /***/ function(module, exports, __webpack_require__) {
  38899. "use strict";
  38900. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common__ = __webpack_require__(103);
  38901. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(1);
  38902. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_dom_animation_driver__ = __webpack_require__(226);
  38903. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_dom_web_animations_driver__ = __webpack_require__(518);
  38904. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__browser_browser_adapter__ = __webpack_require__(342);
  38905. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__browser_location_browser_platform_location__ = __webpack_require__(343);
  38906. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__browser_testability__ = __webpack_require__(344);
  38907. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__browser_title__ = __webpack_require__(345);
  38908. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__dom_debug_ng_probe__ = __webpack_require__(227);
  38909. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__dom_dom_adapter__ = __webpack_require__(18);
  38910. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__dom_dom_renderer__ = __webpack_require__(228);
  38911. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__dom_dom_tokens__ = __webpack_require__(155);
  38912. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__dom_events_dom_events__ = __webpack_require__(346);
  38913. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__dom_events_event_manager__ = __webpack_require__(91);
  38914. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__dom_events_hammer_gestures__ = __webpack_require__(229);
  38915. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__dom_events_key_events__ = __webpack_require__(347);
  38916. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__dom_shared_styles_host__ = __webpack_require__(230);
  38917. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__security_dom_sanitization_service__ = __webpack_require__(350);
  38918. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return INTERNAL_BROWSER_PLATFORM_PROVIDERS; });
  38919. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return BROWSER_SANITIZATION_PROVIDERS; });
  38920. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return platformBrowser; });
  38921. /* harmony export (immutable) */ exports["a"] = initDomAdapter;
  38922. /* unused harmony export errorHandler */
  38923. /* unused harmony export _document */
  38924. /* unused harmony export _resolveDefaultAnimationDriver */
  38925. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return BrowserModule; });
  38926. /**
  38927. * @license
  38928. * Copyright Google Inc. All Rights Reserved.
  38929. *
  38930. * Use of this source code is governed by an MIT-style license that can be
  38931. * found in the LICENSE file at https://angular.io/license
  38932. */
  38933. var INTERNAL_BROWSER_PLATFORM_PROVIDERS = [
  38934. { provide: __WEBPACK_IMPORTED_MODULE_1__angular_core__["PLATFORM_INITIALIZER"], useValue: initDomAdapter, multi: true },
  38935. { provide: __WEBPACK_IMPORTED_MODULE_0__angular_common__["PlatformLocation"], useClass: __WEBPACK_IMPORTED_MODULE_5__browser_location_browser_platform_location__["a" /* BrowserPlatformLocation */] }
  38936. ];
  38937. /**
  38938. * @security Replacing built-in sanitization providers exposes the application to XSS risks.
  38939. * Attacker-controlled data introduced by an unsanitized provider could expose your
  38940. * application to XSS risks. For more detail, see the [Security Guide](http://g.co/ng/security).
  38941. * @experimental
  38942. */
  38943. var BROWSER_SANITIZATION_PROVIDERS = [
  38944. { provide: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Sanitizer"], useExisting: __WEBPACK_IMPORTED_MODULE_17__security_dom_sanitization_service__["a" /* DomSanitizer */] },
  38945. { provide: __WEBPACK_IMPORTED_MODULE_17__security_dom_sanitization_service__["a" /* DomSanitizer */], useClass: __WEBPACK_IMPORTED_MODULE_17__security_dom_sanitization_service__["b" /* DomSanitizerImpl */] },
  38946. ];
  38947. /**
  38948. * @stable
  38949. */
  38950. var platformBrowser = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__angular_core__["createPlatformFactory"])(__WEBPACK_IMPORTED_MODULE_1__angular_core__["platformCore"], 'browser', INTERNAL_BROWSER_PLATFORM_PROVIDERS);
  38951. function initDomAdapter() {
  38952. __WEBPACK_IMPORTED_MODULE_4__browser_browser_adapter__["a" /* BrowserDomAdapter */].makeCurrent();
  38953. __WEBPACK_IMPORTED_MODULE_6__browser_testability__["a" /* BrowserGetTestability */].init();
  38954. }
  38955. function errorHandler() {
  38956. return new __WEBPACK_IMPORTED_MODULE_1__angular_core__["ErrorHandler"]();
  38957. }
  38958. function _document() {
  38959. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__dom_dom_adapter__["a" /* getDOM */])().defaultDoc();
  38960. }
  38961. function _resolveDefaultAnimationDriver() {
  38962. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__dom_dom_adapter__["a" /* getDOM */])().supportsWebAnimation()) {
  38963. return new __WEBPACK_IMPORTED_MODULE_3__src_dom_web_animations_driver__["a" /* WebAnimationsDriver */]();
  38964. }
  38965. return __WEBPACK_IMPORTED_MODULE_2__src_dom_animation_driver__["a" /* AnimationDriver */].NOOP;
  38966. }
  38967. /**
  38968. * The ng module for the browser.
  38969. *
  38970. * @stable
  38971. */
  38972. var BrowserModule = (function () {
  38973. function BrowserModule(parentModule) {
  38974. if (parentModule) {
  38975. throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.");
  38976. }
  38977. }
  38978. BrowserModule.decorators = [
  38979. { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["NgModule"], args: [{
  38980. providers: [
  38981. BROWSER_SANITIZATION_PROVIDERS, { provide: __WEBPACK_IMPORTED_MODULE_1__angular_core__["ErrorHandler"], useFactory: errorHandler, deps: [] },
  38982. { provide: __WEBPACK_IMPORTED_MODULE_11__dom_dom_tokens__["a" /* DOCUMENT */], useFactory: _document, deps: [] },
  38983. { provide: __WEBPACK_IMPORTED_MODULE_13__dom_events_event_manager__["c" /* EVENT_MANAGER_PLUGINS */], useClass: __WEBPACK_IMPORTED_MODULE_12__dom_events_dom_events__["a" /* DomEventsPlugin */], multi: true },
  38984. { provide: __WEBPACK_IMPORTED_MODULE_13__dom_events_event_manager__["c" /* EVENT_MANAGER_PLUGINS */], useClass: __WEBPACK_IMPORTED_MODULE_15__dom_events_key_events__["a" /* KeyEventsPlugin */], multi: true },
  38985. { provide: __WEBPACK_IMPORTED_MODULE_13__dom_events_event_manager__["c" /* EVENT_MANAGER_PLUGINS */], useClass: __WEBPACK_IMPORTED_MODULE_14__dom_events_hammer_gestures__["a" /* HammerGesturesPlugin */], multi: true },
  38986. { provide: __WEBPACK_IMPORTED_MODULE_14__dom_events_hammer_gestures__["b" /* HAMMER_GESTURE_CONFIG */], useClass: __WEBPACK_IMPORTED_MODULE_14__dom_events_hammer_gestures__["c" /* HammerGestureConfig */] },
  38987. { provide: __WEBPACK_IMPORTED_MODULE_10__dom_dom_renderer__["a" /* DomRootRenderer */], useClass: __WEBPACK_IMPORTED_MODULE_10__dom_dom_renderer__["b" /* DomRootRenderer_ */] },
  38988. { provide: __WEBPACK_IMPORTED_MODULE_1__angular_core__["RootRenderer"], useExisting: __WEBPACK_IMPORTED_MODULE_10__dom_dom_renderer__["a" /* DomRootRenderer */] },
  38989. { provide: __WEBPACK_IMPORTED_MODULE_16__dom_shared_styles_host__["b" /* SharedStylesHost */], useExisting: __WEBPACK_IMPORTED_MODULE_16__dom_shared_styles_host__["a" /* DomSharedStylesHost */] },
  38990. { provide: __WEBPACK_IMPORTED_MODULE_2__src_dom_animation_driver__["a" /* AnimationDriver */], useFactory: _resolveDefaultAnimationDriver }, __WEBPACK_IMPORTED_MODULE_16__dom_shared_styles_host__["a" /* DomSharedStylesHost */],
  38991. __WEBPACK_IMPORTED_MODULE_1__angular_core__["Testability"], __WEBPACK_IMPORTED_MODULE_13__dom_events_event_manager__["a" /* EventManager */], __WEBPACK_IMPORTED_MODULE_8__dom_debug_ng_probe__["a" /* ELEMENT_PROBE_PROVIDERS */], __WEBPACK_IMPORTED_MODULE_7__browser_title__["a" /* Title */]
  38992. ],
  38993. exports: [__WEBPACK_IMPORTED_MODULE_0__angular_common__["CommonModule"], __WEBPACK_IMPORTED_MODULE_1__angular_core__["ApplicationModule"]]
  38994. },] },
  38995. ];
  38996. /** @nocollapse */
  38997. BrowserModule.ctorParameters = [
  38998. { type: BrowserModule, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Optional"] }, { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["SkipSelf"] },] },
  38999. ];
  39000. return BrowserModule;
  39001. }());
  39002. //# sourceMappingURL=browser.js.map
  39003. /***/ },
  39004. /* 342 */
  39005. /***/ function(module, exports, __webpack_require__) {
  39006. "use strict";
  39007. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dom_dom_adapter__ = __webpack_require__(18);
  39008. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(31);
  39009. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__generic_browser_adapter__ = __webpack_require__(512);
  39010. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return BrowserDomAdapter; });
  39011. /* unused harmony export parseCookieValue */
  39012. /**
  39013. * @license
  39014. * Copyright Google Inc. All Rights Reserved.
  39015. *
  39016. * Use of this source code is governed by an MIT-style license that can be
  39017. * found in the LICENSE file at https://angular.io/license
  39018. */
  39019. var __extends = (this && this.__extends) || function (d, b) {
  39020. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  39021. function __() { this.constructor = d; }
  39022. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  39023. };
  39024. var _attrToPropMap = {
  39025. 'class': 'className',
  39026. 'innerHtml': 'innerHTML',
  39027. 'readonly': 'readOnly',
  39028. 'tabindex': 'tabIndex'
  39029. };
  39030. var DOM_KEY_LOCATION_NUMPAD = 3;
  39031. // Map to convert some key or keyIdentifier values to what will be returned by getEventKey
  39032. var _keyMap = {
  39033. // The following values are here for cross-browser compatibility and to match the W3C standard
  39034. // cf http://www.w3.org/TR/DOM-Level-3-Events-key/
  39035. '\b': 'Backspace',
  39036. '\t': 'Tab',
  39037. '\x7F': 'Delete',
  39038. '\x1B': 'Escape',
  39039. 'Del': 'Delete',
  39040. 'Esc': 'Escape',
  39041. 'Left': 'ArrowLeft',
  39042. 'Right': 'ArrowRight',
  39043. 'Up': 'ArrowUp',
  39044. 'Down': 'ArrowDown',
  39045. 'Menu': 'ContextMenu',
  39046. 'Scroll': 'ScrollLock',
  39047. 'Win': 'OS'
  39048. };
  39049. // There is a bug in Chrome for numeric keypad keys:
  39050. // https://code.google.com/p/chromium/issues/detail?id=155654
  39051. // 1, 2, 3 ... are reported as A, B, C ...
  39052. var _chromeNumKeyPadMap = {
  39053. 'A': '1',
  39054. 'B': '2',
  39055. 'C': '3',
  39056. 'D': '4',
  39057. 'E': '5',
  39058. 'F': '6',
  39059. 'G': '7',
  39060. 'H': '8',
  39061. 'I': '9',
  39062. 'J': '*',
  39063. 'K': '+',
  39064. 'M': '-',
  39065. 'N': '.',
  39066. 'O': '/',
  39067. '\x60': '0',
  39068. '\x90': 'NumLock'
  39069. };
  39070. /**
  39071. * A `DomAdapter` powered by full browser DOM APIs.
  39072. *
  39073. * @security Tread carefully! Interacting with the DOM directly is dangerous and
  39074. * can introduce XSS risks.
  39075. */
  39076. /* tslint:disable:requireParameterType */
  39077. var BrowserDomAdapter = (function (_super) {
  39078. __extends(BrowserDomAdapter, _super);
  39079. function BrowserDomAdapter() {
  39080. _super.apply(this, arguments);
  39081. }
  39082. BrowserDomAdapter.prototype.parse = function (templateHtml) { throw new Error('parse not implemented'); };
  39083. BrowserDomAdapter.makeCurrent = function () { __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__dom_dom_adapter__["c" /* setRootDomAdapter */])(new BrowserDomAdapter()); };
  39084. BrowserDomAdapter.prototype.hasProperty = function (element /** TODO #9100 */, name) { return name in element; };
  39085. BrowserDomAdapter.prototype.setProperty = function (el, name, value) { el[name] = value; };
  39086. BrowserDomAdapter.prototype.getProperty = function (el, name) { return el[name]; };
  39087. BrowserDomAdapter.prototype.invoke = function (el, methodName, args) {
  39088. el[methodName].apply(el, args);
  39089. };
  39090. // TODO(tbosch): move this into a separate environment class once we have it
  39091. BrowserDomAdapter.prototype.logError = function (error /** TODO #9100 */) {
  39092. if (window.console.error) {
  39093. window.console.error(error);
  39094. }
  39095. else {
  39096. window.console.log(error);
  39097. }
  39098. };
  39099. BrowserDomAdapter.prototype.log = function (error /** TODO #9100 */) { window.console.log(error); };
  39100. BrowserDomAdapter.prototype.logGroup = function (error /** TODO #9100 */) {
  39101. if (window.console.group) {
  39102. window.console.group(error);
  39103. this.logError(error);
  39104. }
  39105. else {
  39106. window.console.log(error);
  39107. }
  39108. };
  39109. BrowserDomAdapter.prototype.logGroupEnd = function () {
  39110. if (window.console.groupEnd) {
  39111. window.console.groupEnd();
  39112. }
  39113. };
  39114. Object.defineProperty(BrowserDomAdapter.prototype, "attrToPropMap", {
  39115. get: function () { return _attrToPropMap; },
  39116. enumerable: true,
  39117. configurable: true
  39118. });
  39119. BrowserDomAdapter.prototype.query = function (selector) { return document.querySelector(selector); };
  39120. BrowserDomAdapter.prototype.querySelector = function (el /** TODO #9100 */, selector) {
  39121. return el.querySelector(selector);
  39122. };
  39123. BrowserDomAdapter.prototype.querySelectorAll = function (el /** TODO #9100 */, selector) {
  39124. return el.querySelectorAll(selector);
  39125. };
  39126. BrowserDomAdapter.prototype.on = function (el /** TODO #9100 */, evt /** TODO #9100 */, listener /** TODO #9100 */) {
  39127. el.addEventListener(evt, listener, false);
  39128. };
  39129. BrowserDomAdapter.prototype.onAndCancel = function (el /** TODO #9100 */, evt /** TODO #9100 */, listener /** TODO #9100 */) {
  39130. el.addEventListener(evt, listener, false);
  39131. // Needed to follow Dart's subscription semantic, until fix of
  39132. // https://code.google.com/p/dart/issues/detail?id=17406
  39133. return function () { el.removeEventListener(evt, listener, false); };
  39134. };
  39135. BrowserDomAdapter.prototype.dispatchEvent = function (el /** TODO #9100 */, evt /** TODO #9100 */) { el.dispatchEvent(evt); };
  39136. BrowserDomAdapter.prototype.createMouseEvent = function (eventType) {
  39137. var evt = document.createEvent('MouseEvent');
  39138. evt.initEvent(eventType, true, true);
  39139. return evt;
  39140. };
  39141. BrowserDomAdapter.prototype.createEvent = function (eventType /** TODO #9100 */) {
  39142. var evt = document.createEvent('Event');
  39143. evt.initEvent(eventType, true, true);
  39144. return evt;
  39145. };
  39146. BrowserDomAdapter.prototype.preventDefault = function (evt) {
  39147. evt.preventDefault();
  39148. evt.returnValue = false;
  39149. };
  39150. BrowserDomAdapter.prototype.isPrevented = function (evt) {
  39151. return evt.defaultPrevented || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(evt.returnValue) && !evt.returnValue;
  39152. };
  39153. BrowserDomAdapter.prototype.getInnerHTML = function (el /** TODO #9100 */) { return el.innerHTML; };
  39154. BrowserDomAdapter.prototype.getTemplateContent = function (el /** TODO #9100 */) {
  39155. return 'content' in el && el instanceof HTMLTemplateElement ? el.content : null;
  39156. };
  39157. BrowserDomAdapter.prototype.getOuterHTML = function (el /** TODO #9100 */) { return el.outerHTML; };
  39158. BrowserDomAdapter.prototype.nodeName = function (node) { return node.nodeName; };
  39159. BrowserDomAdapter.prototype.nodeValue = function (node) { return node.nodeValue; };
  39160. BrowserDomAdapter.prototype.type = function (node) { return node.type; };
  39161. BrowserDomAdapter.prototype.content = function (node) {
  39162. if (this.hasProperty(node, 'content')) {
  39163. return node.content;
  39164. }
  39165. else {
  39166. return node;
  39167. }
  39168. };
  39169. BrowserDomAdapter.prototype.firstChild = function (el /** TODO #9100 */) { return el.firstChild; };
  39170. BrowserDomAdapter.prototype.nextSibling = function (el /** TODO #9100 */) { return el.nextSibling; };
  39171. BrowserDomAdapter.prototype.parentElement = function (el /** TODO #9100 */) { return el.parentNode; };
  39172. BrowserDomAdapter.prototype.childNodes = function (el /** TODO #9100 */) { return el.childNodes; };
  39173. BrowserDomAdapter.prototype.childNodesAsList = function (el /** TODO #9100 */) {
  39174. var childNodes = el.childNodes;
  39175. var res = new Array(childNodes.length);
  39176. for (var i = 0; i < childNodes.length; i++) {
  39177. res[i] = childNodes[i];
  39178. }
  39179. return res;
  39180. };
  39181. BrowserDomAdapter.prototype.clearNodes = function (el /** TODO #9100 */) {
  39182. while (el.firstChild) {
  39183. el.removeChild(el.firstChild);
  39184. }
  39185. };
  39186. BrowserDomAdapter.prototype.appendChild = function (el /** TODO #9100 */, node /** TODO #9100 */) { el.appendChild(node); };
  39187. BrowserDomAdapter.prototype.removeChild = function (el /** TODO #9100 */, node /** TODO #9100 */) { el.removeChild(node); };
  39188. BrowserDomAdapter.prototype.replaceChild = function (el, newChild /** TODO #9100 */, oldChild /** TODO #9100 */) {
  39189. el.replaceChild(newChild, oldChild);
  39190. };
  39191. BrowserDomAdapter.prototype.remove = function (node /** TODO #9100 */) {
  39192. if (node.parentNode) {
  39193. node.parentNode.removeChild(node);
  39194. }
  39195. return node;
  39196. };
  39197. BrowserDomAdapter.prototype.insertBefore = function (el /** TODO #9100 */, node /** TODO #9100 */) {
  39198. el.parentNode.insertBefore(node, el);
  39199. };
  39200. BrowserDomAdapter.prototype.insertAllBefore = function (el /** TODO #9100 */, nodes /** TODO #9100 */) {
  39201. nodes.forEach(function (n /** TODO #9100 */) { return el.parentNode.insertBefore(n, el); });
  39202. };
  39203. BrowserDomAdapter.prototype.insertAfter = function (el /** TODO #9100 */, node /** TODO #9100 */) {
  39204. el.parentNode.insertBefore(node, el.nextSibling);
  39205. };
  39206. BrowserDomAdapter.prototype.setInnerHTML = function (el /** TODO #9100 */, value /** TODO #9100 */) { el.innerHTML = value; };
  39207. BrowserDomAdapter.prototype.getText = function (el /** TODO #9100 */) { return el.textContent; };
  39208. // TODO(vicb): removed Element type because it does not support StyleElement
  39209. BrowserDomAdapter.prototype.setText = function (el /** TODO #9100 */, value) { el.textContent = value; };
  39210. BrowserDomAdapter.prototype.getValue = function (el /** TODO #9100 */) { return el.value; };
  39211. BrowserDomAdapter.prototype.setValue = function (el /** TODO #9100 */, value) { el.value = value; };
  39212. BrowserDomAdapter.prototype.getChecked = function (el /** TODO #9100 */) { return el.checked; };
  39213. BrowserDomAdapter.prototype.setChecked = function (el /** TODO #9100 */, value) { el.checked = value; };
  39214. BrowserDomAdapter.prototype.createComment = function (text) { return document.createComment(text); };
  39215. BrowserDomAdapter.prototype.createTemplate = function (html /** TODO #9100 */) {
  39216. var t = document.createElement('template');
  39217. t.innerHTML = html;
  39218. return t;
  39219. };
  39220. BrowserDomAdapter.prototype.createElement = function (tagName /* TODO #9100 */, doc) {
  39221. if (doc === void 0) { doc = document; }
  39222. return doc.createElement(tagName);
  39223. };
  39224. BrowserDomAdapter.prototype.createElementNS = function (ns /* TODO #9100 */, tagName /* TODO #9100 */, doc) {
  39225. if (doc === void 0) { doc = document; }
  39226. return doc.createElementNS(ns, tagName);
  39227. };
  39228. BrowserDomAdapter.prototype.createTextNode = function (text, doc) {
  39229. if (doc === void 0) { doc = document; }
  39230. return doc.createTextNode(text);
  39231. };
  39232. BrowserDomAdapter.prototype.createScriptTag = function (attrName, attrValue, doc) {
  39233. if (doc === void 0) { doc = document; }
  39234. var el = doc.createElement('SCRIPT');
  39235. el.setAttribute(attrName, attrValue);
  39236. return el;
  39237. };
  39238. BrowserDomAdapter.prototype.createStyleElement = function (css, doc) {
  39239. if (doc === void 0) { doc = document; }
  39240. var style = doc.createElement('style');
  39241. this.appendChild(style, this.createTextNode(css));
  39242. return style;
  39243. };
  39244. BrowserDomAdapter.prototype.createShadowRoot = function (el) { return el.createShadowRoot(); };
  39245. BrowserDomAdapter.prototype.getShadowRoot = function (el) { return el.shadowRoot; };
  39246. BrowserDomAdapter.prototype.getHost = function (el) { return el.host; };
  39247. BrowserDomAdapter.prototype.clone = function (node) { return node.cloneNode(true); };
  39248. BrowserDomAdapter.prototype.getElementsByClassName = function (element /** TODO #9100 */, name) {
  39249. return element.getElementsByClassName(name);
  39250. };
  39251. BrowserDomAdapter.prototype.getElementsByTagName = function (element /** TODO #9100 */, name) {
  39252. return element.getElementsByTagName(name);
  39253. };
  39254. BrowserDomAdapter.prototype.classList = function (element /** TODO #9100 */) {
  39255. return Array.prototype.slice.call(element.classList, 0);
  39256. };
  39257. BrowserDomAdapter.prototype.addClass = function (element /** TODO #9100 */, className) { element.classList.add(className); };
  39258. BrowserDomAdapter.prototype.removeClass = function (element /** TODO #9100 */, className) {
  39259. element.classList.remove(className);
  39260. };
  39261. BrowserDomAdapter.prototype.hasClass = function (element /** TODO #9100 */, className) {
  39262. return element.classList.contains(className);
  39263. };
  39264. BrowserDomAdapter.prototype.setStyle = function (element /** TODO #9100 */, styleName, styleValue) {
  39265. element.style[styleName] = styleValue;
  39266. };
  39267. BrowserDomAdapter.prototype.removeStyle = function (element /** TODO #9100 */, stylename) {
  39268. element.style[stylename] = null;
  39269. };
  39270. BrowserDomAdapter.prototype.getStyle = function (element /** TODO #9100 */, stylename) {
  39271. return element.style[stylename];
  39272. };
  39273. BrowserDomAdapter.prototype.hasStyle = function (element /** TODO #9100 */, styleName, styleValue) {
  39274. if (styleValue === void 0) { styleValue = null; }
  39275. var value = this.getStyle(element, styleName) || '';
  39276. return styleValue ? value == styleValue : value.length > 0;
  39277. };
  39278. BrowserDomAdapter.prototype.tagName = function (element /** TODO #9100 */) { return element.tagName; };
  39279. BrowserDomAdapter.prototype.attributeMap = function (element /** TODO #9100 */) {
  39280. var res = new Map();
  39281. var elAttrs = element.attributes;
  39282. for (var i = 0; i < elAttrs.length; i++) {
  39283. var attrib = elAttrs[i];
  39284. res.set(attrib.name, attrib.value);
  39285. }
  39286. return res;
  39287. };
  39288. BrowserDomAdapter.prototype.hasAttribute = function (element /** TODO #9100 */, attribute) {
  39289. return element.hasAttribute(attribute);
  39290. };
  39291. BrowserDomAdapter.prototype.hasAttributeNS = function (element /** TODO #9100 */, ns, attribute) {
  39292. return element.hasAttributeNS(ns, attribute);
  39293. };
  39294. BrowserDomAdapter.prototype.getAttribute = function (element /** TODO #9100 */, attribute) {
  39295. return element.getAttribute(attribute);
  39296. };
  39297. BrowserDomAdapter.prototype.getAttributeNS = function (element /** TODO #9100 */, ns, name) {
  39298. return element.getAttributeNS(ns, name);
  39299. };
  39300. BrowserDomAdapter.prototype.setAttribute = function (element /** TODO #9100 */, name, value) {
  39301. element.setAttribute(name, value);
  39302. };
  39303. BrowserDomAdapter.prototype.setAttributeNS = function (element /** TODO #9100 */, ns, name, value) {
  39304. element.setAttributeNS(ns, name, value);
  39305. };
  39306. BrowserDomAdapter.prototype.removeAttribute = function (element /** TODO #9100 */, attribute) {
  39307. element.removeAttribute(attribute);
  39308. };
  39309. BrowserDomAdapter.prototype.removeAttributeNS = function (element /** TODO #9100 */, ns, name) {
  39310. element.removeAttributeNS(ns, name);
  39311. };
  39312. BrowserDomAdapter.prototype.templateAwareRoot = function (el /** TODO #9100 */) {
  39313. return this.isTemplateElement(el) ? this.content(el) : el;
  39314. };
  39315. BrowserDomAdapter.prototype.createHtmlDocument = function () {
  39316. return document.implementation.createHTMLDocument('fakeTitle');
  39317. };
  39318. BrowserDomAdapter.prototype.defaultDoc = function () { return document; };
  39319. BrowserDomAdapter.prototype.getBoundingClientRect = function (el /** TODO #9100 */) {
  39320. try {
  39321. return el.getBoundingClientRect();
  39322. }
  39323. catch (e) {
  39324. return { top: 0, bottom: 0, left: 0, right: 0, width: 0, height: 0 };
  39325. }
  39326. };
  39327. BrowserDomAdapter.prototype.getTitle = function () { return document.title; };
  39328. BrowserDomAdapter.prototype.setTitle = function (newTitle) { document.title = newTitle || ''; };
  39329. BrowserDomAdapter.prototype.elementMatches = function (n /** TODO #9100 */, selector) {
  39330. var matches = false;
  39331. if (n instanceof HTMLElement) {
  39332. if (n.matches) {
  39333. matches = n.matches(selector);
  39334. }
  39335. else if (n.msMatchesSelector) {
  39336. matches = n.msMatchesSelector(selector);
  39337. }
  39338. else if (n.webkitMatchesSelector) {
  39339. matches = n.webkitMatchesSelector(selector);
  39340. }
  39341. }
  39342. return matches;
  39343. };
  39344. BrowserDomAdapter.prototype.isTemplateElement = function (el) {
  39345. return el instanceof HTMLElement && el.nodeName == 'TEMPLATE';
  39346. };
  39347. BrowserDomAdapter.prototype.isTextNode = function (node) { return node.nodeType === Node.TEXT_NODE; };
  39348. BrowserDomAdapter.prototype.isCommentNode = function (node) { return node.nodeType === Node.COMMENT_NODE; };
  39349. BrowserDomAdapter.prototype.isElementNode = function (node) { return node.nodeType === Node.ELEMENT_NODE; };
  39350. BrowserDomAdapter.prototype.hasShadowRoot = function (node /** TODO #9100 */) {
  39351. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(node.shadowRoot) && node instanceof HTMLElement;
  39352. };
  39353. BrowserDomAdapter.prototype.isShadowRoot = function (node /** TODO #9100 */) { return node instanceof DocumentFragment; };
  39354. BrowserDomAdapter.prototype.importIntoDoc = function (node) {
  39355. var toImport = node;
  39356. if (this.isTemplateElement(node)) {
  39357. toImport = this.content(node);
  39358. }
  39359. return document.importNode(toImport, true);
  39360. };
  39361. BrowserDomAdapter.prototype.adoptNode = function (node) { return document.adoptNode(node); };
  39362. BrowserDomAdapter.prototype.getHref = function (el) { return el.href; };
  39363. BrowserDomAdapter.prototype.getEventKey = function (event /** TODO #9100 */) {
  39364. var key = event.key;
  39365. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(key)) {
  39366. key = event.keyIdentifier;
  39367. // keyIdentifier is defined in the old draft of DOM Level 3 Events implemented by Chrome and
  39368. // Safari
  39369. // cf
  39370. // http://www.w3.org/TR/2007/WD-DOM-Level-3-Events-20071221/events.html#Events-KeyboardEvents-Interfaces
  39371. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(key)) {
  39372. return 'Unidentified';
  39373. }
  39374. if (key.startsWith('U+')) {
  39375. key = String.fromCharCode(parseInt(key.substring(2), 16));
  39376. if (event.location === DOM_KEY_LOCATION_NUMPAD && _chromeNumKeyPadMap.hasOwnProperty(key)) {
  39377. // There is a bug in Chrome for numeric keypad keys:
  39378. // https://code.google.com/p/chromium/issues/detail?id=155654
  39379. // 1, 2, 3 ... are reported as A, B, C ...
  39380. key = _chromeNumKeyPadMap[key];
  39381. }
  39382. }
  39383. }
  39384. if (_keyMap.hasOwnProperty(key)) {
  39385. key = _keyMap[key];
  39386. }
  39387. return key;
  39388. };
  39389. BrowserDomAdapter.prototype.getGlobalEventTarget = function (target) {
  39390. if (target == 'window') {
  39391. return window;
  39392. }
  39393. else if (target == 'document') {
  39394. return document;
  39395. }
  39396. else if (target == 'body') {
  39397. return document.body;
  39398. }
  39399. };
  39400. BrowserDomAdapter.prototype.getHistory = function () { return window.history; };
  39401. BrowserDomAdapter.prototype.getLocation = function () { return window.location; };
  39402. BrowserDomAdapter.prototype.getBaseHref = function () {
  39403. var href = getBaseElementHref();
  39404. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(href)) {
  39405. return null;
  39406. }
  39407. return relativePath(href);
  39408. };
  39409. BrowserDomAdapter.prototype.resetBaseElement = function () { baseElement = null; };
  39410. BrowserDomAdapter.prototype.getUserAgent = function () { return window.navigator.userAgent; };
  39411. BrowserDomAdapter.prototype.setData = function (element /** TODO #9100 */, name, value) {
  39412. this.setAttribute(element, 'data-' + name, value);
  39413. };
  39414. BrowserDomAdapter.prototype.getData = function (element /** TODO #9100 */, name) {
  39415. return this.getAttribute(element, 'data-' + name);
  39416. };
  39417. BrowserDomAdapter.prototype.getComputedStyle = function (element /** TODO #9100 */) { return getComputedStyle(element); };
  39418. // TODO(tbosch): move this into a separate environment class once we have it
  39419. BrowserDomAdapter.prototype.setGlobalVar = function (path, value) { __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["i" /* setValueOnPath */])(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["j" /* global */], path, value); };
  39420. BrowserDomAdapter.prototype.supportsWebAnimation = function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["h" /* isFunction */])(Element.prototype['animate']); };
  39421. BrowserDomAdapter.prototype.performanceNow = function () {
  39422. // performance.now() is not available in all browsers, see
  39423. // http://caniuse.com/#search=performance.now
  39424. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(window.performance) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(window.performance.now)) {
  39425. return window.performance.now();
  39426. }
  39427. else {
  39428. return __WEBPACK_IMPORTED_MODULE_1__facade_lang__["k" /* DateWrapper */].toMillis(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["k" /* DateWrapper */].now());
  39429. }
  39430. };
  39431. BrowserDomAdapter.prototype.supportsCookies = function () { return true; };
  39432. BrowserDomAdapter.prototype.getCookie = function (name) { return parseCookieValue(document.cookie, name); };
  39433. BrowserDomAdapter.prototype.setCookie = function (name, value) {
  39434. // document.cookie is magical, assigning into it assigns/overrides one cookie value, but does
  39435. // not clear other cookies.
  39436. document.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);
  39437. };
  39438. return BrowserDomAdapter;
  39439. }(__WEBPACK_IMPORTED_MODULE_2__generic_browser_adapter__["a" /* GenericBrowserDomAdapter */]));
  39440. var baseElement = null;
  39441. function getBaseElementHref() {
  39442. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(baseElement)) {
  39443. baseElement = document.querySelector('base');
  39444. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(baseElement)) {
  39445. return null;
  39446. }
  39447. }
  39448. return baseElement.getAttribute('href');
  39449. }
  39450. // based on urlUtils.js in AngularJS 1
  39451. var urlParsingNode = null;
  39452. function relativePath(url /** TODO #9100 */) {
  39453. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(urlParsingNode)) {
  39454. urlParsingNode = document.createElement('a');
  39455. }
  39456. urlParsingNode.setAttribute('href', url);
  39457. return (urlParsingNode.pathname.charAt(0) === '/') ? urlParsingNode.pathname :
  39458. '/' + urlParsingNode.pathname;
  39459. }
  39460. function parseCookieValue(cookieStr, name) {
  39461. name = encodeURIComponent(name);
  39462. for (var _i = 0, _a = cookieStr.split(';'); _i < _a.length; _i++) {
  39463. var cookie = _a[_i];
  39464. var eqIndex = cookie.indexOf('=');
  39465. var _b = eqIndex == -1 ? [cookie, ''] : [cookie.slice(0, eqIndex), cookie.slice(eqIndex + 1)], cookieName = _b[0], cookieValue = _b[1];
  39466. if (cookieName.trim() === name) {
  39467. return decodeURIComponent(cookieValue);
  39468. }
  39469. }
  39470. return null;
  39471. }
  39472. //# sourceMappingURL=browser_adapter.js.map
  39473. /***/ },
  39474. /* 343 */
  39475. /***/ function(module, exports, __webpack_require__) {
  39476. "use strict";
  39477. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common__ = __webpack_require__(103);
  39478. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(1);
  39479. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__dom_dom_adapter__ = __webpack_require__(18);
  39480. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__history__ = __webpack_require__(513);
  39481. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return BrowserPlatformLocation; });
  39482. /**
  39483. * @license
  39484. * Copyright Google Inc. All Rights Reserved.
  39485. *
  39486. * Use of this source code is governed by an MIT-style license that can be
  39487. * found in the LICENSE file at https://angular.io/license
  39488. */
  39489. var __extends = (this && this.__extends) || function (d, b) {
  39490. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  39491. function __() { this.constructor = d; }
  39492. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  39493. };
  39494. /**
  39495. * `PlatformLocation` encapsulates all of the direct calls to platform APIs.
  39496. * This class should not be used directly by an application developer. Instead, use
  39497. * {@link Location}.
  39498. */
  39499. var BrowserPlatformLocation = (function (_super) {
  39500. __extends(BrowserPlatformLocation, _super);
  39501. function BrowserPlatformLocation() {
  39502. _super.call(this);
  39503. this._init();
  39504. }
  39505. // This is moved to its own method so that `MockPlatformLocationStrategy` can overwrite it
  39506. /** @internal */
  39507. BrowserPlatformLocation.prototype._init = function () {
  39508. this._location = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__dom_dom_adapter__["a" /* getDOM */])().getLocation();
  39509. this._history = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__dom_dom_adapter__["a" /* getDOM */])().getHistory();
  39510. };
  39511. Object.defineProperty(BrowserPlatformLocation.prototype, "location", {
  39512. get: function () { return this._location; },
  39513. enumerable: true,
  39514. configurable: true
  39515. });
  39516. BrowserPlatformLocation.prototype.getBaseHrefFromDOM = function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__dom_dom_adapter__["a" /* getDOM */])().getBaseHref(); };
  39517. BrowserPlatformLocation.prototype.onPopState = function (fn) {
  39518. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__dom_dom_adapter__["a" /* getDOM */])().getGlobalEventTarget('window').addEventListener('popstate', fn, false);
  39519. };
  39520. BrowserPlatformLocation.prototype.onHashChange = function (fn) {
  39521. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__dom_dom_adapter__["a" /* getDOM */])().getGlobalEventTarget('window').addEventListener('hashchange', fn, false);
  39522. };
  39523. Object.defineProperty(BrowserPlatformLocation.prototype, "pathname", {
  39524. get: function () { return this._location.pathname; },
  39525. set: function (newPath) { this._location.pathname = newPath; },
  39526. enumerable: true,
  39527. configurable: true
  39528. });
  39529. Object.defineProperty(BrowserPlatformLocation.prototype, "search", {
  39530. get: function () { return this._location.search; },
  39531. enumerable: true,
  39532. configurable: true
  39533. });
  39534. Object.defineProperty(BrowserPlatformLocation.prototype, "hash", {
  39535. get: function () { return this._location.hash; },
  39536. enumerable: true,
  39537. configurable: true
  39538. });
  39539. BrowserPlatformLocation.prototype.pushState = function (state, title, url) {
  39540. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__history__["a" /* supportsState */])()) {
  39541. this._history.pushState(state, title, url);
  39542. }
  39543. else {
  39544. this._location.hash = url;
  39545. }
  39546. };
  39547. BrowserPlatformLocation.prototype.replaceState = function (state, title, url) {
  39548. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__history__["a" /* supportsState */])()) {
  39549. this._history.replaceState(state, title, url);
  39550. }
  39551. else {
  39552. this._location.hash = url;
  39553. }
  39554. };
  39555. BrowserPlatformLocation.prototype.forward = function () { this._history.forward(); };
  39556. BrowserPlatformLocation.prototype.back = function () { this._history.back(); };
  39557. BrowserPlatformLocation.decorators = [
  39558. { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Injectable"] },
  39559. ];
  39560. /** @nocollapse */
  39561. BrowserPlatformLocation.ctorParameters = [];
  39562. return BrowserPlatformLocation;
  39563. }(__WEBPACK_IMPORTED_MODULE_0__angular_common__["PlatformLocation"]));
  39564. //# sourceMappingURL=browser_platform_location.js.map
  39565. /***/ },
  39566. /* 344 */
  39567. /***/ function(module, exports, __webpack_require__) {
  39568. "use strict";
  39569. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  39570. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__dom_dom_adapter__ = __webpack_require__(18);
  39571. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_collection__ = __webpack_require__(92);
  39572. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__facade_lang__ = __webpack_require__(31);
  39573. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return BrowserGetTestability; });
  39574. /**
  39575. * @license
  39576. * Copyright Google Inc. All Rights Reserved.
  39577. *
  39578. * Use of this source code is governed by an MIT-style license that can be
  39579. * found in the LICENSE file at https://angular.io/license
  39580. */
  39581. var BrowserGetTestability = (function () {
  39582. function BrowserGetTestability() {
  39583. }
  39584. BrowserGetTestability.init = function () { __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["setTestabilityGetter"])(new BrowserGetTestability()); };
  39585. BrowserGetTestability.prototype.addToWindow = function (registry) {
  39586. __WEBPACK_IMPORTED_MODULE_3__facade_lang__["j" /* global */].getAngularTestability = function (elem, findInAncestors) {
  39587. if (findInAncestors === void 0) { findInAncestors = true; }
  39588. var testability = registry.findTestabilityInTree(elem, findInAncestors);
  39589. if (testability == null) {
  39590. throw new Error('Could not find testability for element.');
  39591. }
  39592. return testability;
  39593. };
  39594. __WEBPACK_IMPORTED_MODULE_3__facade_lang__["j" /* global */].getAllAngularTestabilities = function () { return registry.getAllTestabilities(); };
  39595. __WEBPACK_IMPORTED_MODULE_3__facade_lang__["j" /* global */].getAllAngularRootElements = function () { return registry.getAllRootElements(); };
  39596. var whenAllStable = function (callback /** TODO #9100 */) {
  39597. var testabilities = __WEBPACK_IMPORTED_MODULE_3__facade_lang__["j" /* global */].getAllAngularTestabilities();
  39598. var count = testabilities.length;
  39599. var didWork = false;
  39600. var decrement = function (didWork_ /** TODO #9100 */) {
  39601. didWork = didWork || didWork_;
  39602. count--;
  39603. if (count == 0) {
  39604. callback(didWork);
  39605. }
  39606. };
  39607. testabilities.forEach(function (testability /** TODO #9100 */) {
  39608. testability.whenStable(decrement);
  39609. });
  39610. };
  39611. if (!__WEBPACK_IMPORTED_MODULE_3__facade_lang__["j" /* global */]['frameworkStabilizers']) {
  39612. __WEBPACK_IMPORTED_MODULE_3__facade_lang__["j" /* global */]['frameworkStabilizers'] = __WEBPACK_IMPORTED_MODULE_2__facade_collection__["b" /* ListWrapper */].createGrowableSize(0);
  39613. }
  39614. __WEBPACK_IMPORTED_MODULE_3__facade_lang__["j" /* global */]['frameworkStabilizers'].push(whenAllStable);
  39615. };
  39616. BrowserGetTestability.prototype.findTestabilityInTree = function (registry, elem, findInAncestors) {
  39617. if (elem == null) {
  39618. return null;
  39619. }
  39620. var t = registry.getTestability(elem);
  39621. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__facade_lang__["a" /* isPresent */])(t)) {
  39622. return t;
  39623. }
  39624. else if (!findInAncestors) {
  39625. return null;
  39626. }
  39627. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__dom_dom_adapter__["a" /* getDOM */])().isShadowRoot(elem)) {
  39628. return this.findTestabilityInTree(registry, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__dom_dom_adapter__["a" /* getDOM */])().getHost(elem), true);
  39629. }
  39630. return this.findTestabilityInTree(registry, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__dom_dom_adapter__["a" /* getDOM */])().parentElement(elem), true);
  39631. };
  39632. return BrowserGetTestability;
  39633. }());
  39634. //# sourceMappingURL=testability.js.map
  39635. /***/ },
  39636. /* 345 */
  39637. /***/ function(module, exports, __webpack_require__) {
  39638. "use strict";
  39639. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dom_dom_adapter__ = __webpack_require__(18);
  39640. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Title; });
  39641. /**
  39642. * @license
  39643. * Copyright Google Inc. All Rights Reserved.
  39644. *
  39645. * Use of this source code is governed by an MIT-style license that can be
  39646. * found in the LICENSE file at https://angular.io/license
  39647. */
  39648. /**
  39649. * A service that can be used to get and set the title of a current HTML document.
  39650. *
  39651. * Since an Angular 2 application can't be bootstrapped on the entire HTML document (`<html>` tag)
  39652. * it is not possible to bind to the `text` property of the `HTMLTitleElement` elements
  39653. * (representing the `<title>` tag). Instead, this service can be used to set and get the current
  39654. * title value.
  39655. *
  39656. * @experimental
  39657. */
  39658. var Title = (function () {
  39659. function Title() {
  39660. }
  39661. /**
  39662. * Get the title of the current HTML document.
  39663. * @returns {string}
  39664. */
  39665. Title.prototype.getTitle = function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__dom_dom_adapter__["a" /* getDOM */])().getTitle(); };
  39666. /**
  39667. * Set the title of the current HTML document.
  39668. * @param newTitle
  39669. */
  39670. Title.prototype.setTitle = function (newTitle) { __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__dom_dom_adapter__["a" /* getDOM */])().setTitle(newTitle); };
  39671. return Title;
  39672. }());
  39673. //# sourceMappingURL=title.js.map
  39674. /***/ },
  39675. /* 346 */
  39676. /***/ function(module, exports, __webpack_require__) {
  39677. "use strict";
  39678. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  39679. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__dom_adapter__ = __webpack_require__(18);
  39680. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__event_manager__ = __webpack_require__(91);
  39681. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DomEventsPlugin; });
  39682. /**
  39683. * @license
  39684. * Copyright Google Inc. All Rights Reserved.
  39685. *
  39686. * Use of this source code is governed by an MIT-style license that can be
  39687. * found in the LICENSE file at https://angular.io/license
  39688. */
  39689. var __extends = (this && this.__extends) || function (d, b) {
  39690. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  39691. function __() { this.constructor = d; }
  39692. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  39693. };
  39694. var DomEventsPlugin = (function (_super) {
  39695. __extends(DomEventsPlugin, _super);
  39696. function DomEventsPlugin() {
  39697. _super.apply(this, arguments);
  39698. }
  39699. // This plugin should come last in the list of plugins, because it accepts all
  39700. // events.
  39701. DomEventsPlugin.prototype.supports = function (eventName) { return true; };
  39702. DomEventsPlugin.prototype.addEventListener = function (element, eventName, handler) {
  39703. var zone = this.manager.getZone();
  39704. var outsideHandler = function (event /** TODO #9100 */) { return zone.runGuarded(function () { return handler(event); }); };
  39705. return this.manager.getZone().runOutsideAngular(function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__dom_adapter__["a" /* getDOM */])().onAndCancel(element, eventName, outsideHandler); });
  39706. };
  39707. DomEventsPlugin.prototype.addGlobalEventListener = function (target, eventName, handler) {
  39708. var element = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__dom_adapter__["a" /* getDOM */])().getGlobalEventTarget(target);
  39709. var zone = this.manager.getZone();
  39710. var outsideHandler = function (event /** TODO #9100 */) { return zone.runGuarded(function () { return handler(event); }); };
  39711. return this.manager.getZone().runOutsideAngular(function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__dom_adapter__["a" /* getDOM */])().onAndCancel(element, eventName, outsideHandler); });
  39712. };
  39713. DomEventsPlugin.decorators = [
  39714. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  39715. ];
  39716. /** @nocollapse */
  39717. DomEventsPlugin.ctorParameters = [];
  39718. return DomEventsPlugin;
  39719. }(__WEBPACK_IMPORTED_MODULE_2__event_manager__["b" /* EventManagerPlugin */]));
  39720. //# sourceMappingURL=dom_events.js.map
  39721. /***/ },
  39722. /* 347 */
  39723. /***/ function(module, exports, __webpack_require__) {
  39724. "use strict";
  39725. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  39726. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(92);
  39727. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(31);
  39728. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__dom_adapter__ = __webpack_require__(18);
  39729. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__event_manager__ = __webpack_require__(91);
  39730. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return KeyEventsPlugin; });
  39731. /**
  39732. * @license
  39733. * Copyright Google Inc. All Rights Reserved.
  39734. *
  39735. * Use of this source code is governed by an MIT-style license that can be
  39736. * found in the LICENSE file at https://angular.io/license
  39737. */
  39738. var __extends = (this && this.__extends) || function (d, b) {
  39739. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  39740. function __() { this.constructor = d; }
  39741. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  39742. };
  39743. var modifierKeys = ['alt', 'control', 'meta', 'shift'];
  39744. var modifierKeyGetters = {
  39745. 'alt': function (event) { return event.altKey; },
  39746. 'control': function (event) { return event.ctrlKey; },
  39747. 'meta': function (event) { return event.metaKey; },
  39748. 'shift': function (event) { return event.shiftKey; }
  39749. };
  39750. /**
  39751. * @experimental
  39752. */
  39753. var KeyEventsPlugin = (function (_super) {
  39754. __extends(KeyEventsPlugin, _super);
  39755. function KeyEventsPlugin() {
  39756. _super.call(this);
  39757. }
  39758. KeyEventsPlugin.prototype.supports = function (eventName) {
  39759. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(KeyEventsPlugin.parseEventName(eventName));
  39760. };
  39761. KeyEventsPlugin.prototype.addEventListener = function (element, eventName, handler) {
  39762. var parsedEvent = KeyEventsPlugin.parseEventName(eventName);
  39763. var outsideHandler = KeyEventsPlugin.eventCallback(element, __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* StringMapWrapper */].get(parsedEvent, 'fullKey'), handler, this.manager.getZone());
  39764. return this.manager.getZone().runOutsideAngular(function () {
  39765. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().onAndCancel(element, __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* StringMapWrapper */].get(parsedEvent, 'domEventName'), outsideHandler);
  39766. });
  39767. };
  39768. KeyEventsPlugin.parseEventName = function (eventName) {
  39769. var parts = eventName.toLowerCase().split('.');
  39770. var domEventName = parts.shift();
  39771. if ((parts.length === 0) ||
  39772. !(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].equals(domEventName, 'keydown') ||
  39773. __WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].equals(domEventName, 'keyup'))) {
  39774. return null;
  39775. }
  39776. var key = KeyEventsPlugin._normalizeKey(parts.pop());
  39777. var fullKey = '';
  39778. modifierKeys.forEach(function (modifierName) {
  39779. if (__WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* ListWrapper */].contains(parts, modifierName)) {
  39780. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* ListWrapper */].remove(parts, modifierName);
  39781. fullKey += modifierName + '.';
  39782. }
  39783. });
  39784. fullKey += key;
  39785. if (parts.length != 0 || key.length === 0) {
  39786. // returning null instead of throwing to let another plugin process the event
  39787. return null;
  39788. }
  39789. var result = {};
  39790. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* StringMapWrapper */].set(result, 'domEventName', domEventName);
  39791. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* StringMapWrapper */].set(result, 'fullKey', fullKey);
  39792. return result;
  39793. };
  39794. KeyEventsPlugin.getEventFullKey = function (event) {
  39795. var fullKey = '';
  39796. var key = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().getEventKey(event);
  39797. key = key.toLowerCase();
  39798. if (__WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].equals(key, ' ')) {
  39799. key = 'space'; // for readability
  39800. }
  39801. else if (__WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].equals(key, '.')) {
  39802. key = 'dot'; // because '.' is used as a separator in event names
  39803. }
  39804. modifierKeys.forEach(function (modifierName) {
  39805. if (modifierName != key) {
  39806. var modifierGetter = __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* StringMapWrapper */].get(modifierKeyGetters, modifierName);
  39807. if (modifierGetter(event)) {
  39808. fullKey += modifierName + '.';
  39809. }
  39810. }
  39811. });
  39812. fullKey += key;
  39813. return fullKey;
  39814. };
  39815. KeyEventsPlugin.eventCallback = function (element, fullKey, handler, zone) {
  39816. return function (event /** TODO #9100 */) {
  39817. if (__WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].equals(KeyEventsPlugin.getEventFullKey(event), fullKey)) {
  39818. zone.runGuarded(function () { return handler(event); });
  39819. }
  39820. };
  39821. };
  39822. /** @internal */
  39823. KeyEventsPlugin._normalizeKey = function (keyName) {
  39824. // TODO: switch to a StringMap if the mapping grows too much
  39825. switch (keyName) {
  39826. case 'esc':
  39827. return 'escape';
  39828. default:
  39829. return keyName;
  39830. }
  39831. };
  39832. KeyEventsPlugin.decorators = [
  39833. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  39834. ];
  39835. /** @nocollapse */
  39836. KeyEventsPlugin.ctorParameters = [];
  39837. return KeyEventsPlugin;
  39838. }(__WEBPACK_IMPORTED_MODULE_4__event_manager__["b" /* EventManagerPlugin */]));
  39839. //# sourceMappingURL=key_events.js.map
  39840. /***/ },
  39841. /* 348 */
  39842. /***/ function(module, exports, __webpack_require__) {
  39843. "use strict";
  39844. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(31);
  39845. /* harmony export (immutable) */ exports["b"] = camelCaseToDashCase;
  39846. /* harmony export (immutable) */ exports["a"] = dashCaseToCamelCase;
  39847. /**
  39848. * @license
  39849. * Copyright Google Inc. All Rights Reserved.
  39850. *
  39851. * Use of this source code is governed by an MIT-style license that can be
  39852. * found in the LICENSE file at https://angular.io/license
  39853. */
  39854. var CAMEL_CASE_REGEXP = /([A-Z])/g;
  39855. var DASH_CASE_REGEXP = /-([a-z])/g;
  39856. function camelCaseToDashCase(input) {
  39857. return __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replaceAllMapped(input, CAMEL_CASE_REGEXP, function (m /** TODO #9100 */) { return '-' + m[1].toLowerCase(); });
  39858. }
  39859. function dashCaseToCamelCase(input) {
  39860. return __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replaceAllMapped(input, DASH_CASE_REGEXP, function (m /** TODO #9100 */) { return m[1].toUpperCase(); });
  39861. }
  39862. //# sourceMappingURL=util.js.map
  39863. /***/ },
  39864. /* 349 */
  39865. /***/ function(module, exports, __webpack_require__) {
  39866. "use strict";
  39867. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  39868. /* unused harmony export RenderDebugInfo */
  39869. /* unused harmony export ReflectionCapabilities */
  39870. /* unused harmony export VIEW_ENCAPSULATION_VALUES */
  39871. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return DebugDomRootRenderer; });
  39872. /* unused harmony export reflector */
  39873. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NoOpAnimationPlayer; });
  39874. /* unused harmony export AnimationPlayer */
  39875. /* unused harmony export AnimationSequencePlayer */
  39876. /* unused harmony export AnimationGroupPlayer */
  39877. /* unused harmony export AnimationKeyframe */
  39878. /* unused harmony export AnimationStyles */
  39879. /* unused harmony export prepareFinalAnimationStyles */
  39880. /* unused harmony export balanceAnimationKeyframes */
  39881. /* unused harmony export clearStyles */
  39882. /* unused harmony export collectAndResolveStyles */
  39883. /**
  39884. * @license
  39885. * Copyright Google Inc. All Rights Reserved.
  39886. *
  39887. * Use of this source code is governed by an MIT-style license that can be
  39888. * found in the LICENSE file at https://angular.io/license
  39889. */
  39890. var RenderDebugInfo = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].RenderDebugInfo;
  39891. var ReflectionCapabilities = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].ReflectionCapabilities;
  39892. var VIEW_ENCAPSULATION_VALUES = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].VIEW_ENCAPSULATION_VALUES;
  39893. var DebugDomRootRenderer = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].DebugDomRootRenderer;
  39894. var reflector = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].reflector;
  39895. var NoOpAnimationPlayer = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].NoOpAnimationPlayer;
  39896. var AnimationPlayer = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].AnimationPlayer;
  39897. var AnimationSequencePlayer = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].AnimationSequencePlayer;
  39898. var AnimationGroupPlayer = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].AnimationGroupPlayer;
  39899. var AnimationKeyframe = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].AnimationKeyframe;
  39900. var AnimationStyles = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].AnimationStyles;
  39901. var prepareFinalAnimationStyles = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].prepareFinalAnimationStyles;
  39902. var balanceAnimationKeyframes = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].balanceAnimationKeyframes;
  39903. var clearStyles = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].clearStyles;
  39904. var collectAndResolveStyles = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].collectAndResolveStyles;
  39905. //# sourceMappingURL=private_import_core.js.map
  39906. /***/ },
  39907. /* 350 */
  39908. /***/ function(module, exports, __webpack_require__) {
  39909. "use strict";
  39910. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  39911. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__html_sanitizer__ = __webpack_require__(523);
  39912. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__style_sanitizer__ = __webpack_require__(524);
  39913. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__url_sanitizer__ = __webpack_require__(231);
  39914. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DomSanitizer; });
  39915. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return DomSanitizerImpl; });
  39916. /**
  39917. * @license
  39918. * Copyright Google Inc. All Rights Reserved.
  39919. *
  39920. * Use of this source code is governed by an MIT-style license that can be
  39921. * found in the LICENSE file at https://angular.io/license
  39922. */
  39923. var __extends = (this && this.__extends) || function (d, b) {
  39924. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  39925. function __() { this.constructor = d; }
  39926. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  39927. };
  39928. /* unused harmony reexport SecurityContext */
  39929. /**
  39930. * DomSanitizer helps preventing Cross Site Scripting Security bugs (XSS) by sanitizing
  39931. * values to be safe to use in the different DOM contexts.
  39932. *
  39933. * For example, when binding a URL in an `<a [href]="someValue">` hyperlink, `someValue` will be
  39934. * sanitized so that an attacker cannot inject e.g. a `javascript:` URL that would execute code on
  39935. * the website.
  39936. *
  39937. * In specific situations, it might be necessary to disable sanitization, for example if the
  39938. * application genuinely needs to produce a `javascript:` style link with a dynamic value in it.
  39939. * Users can bypass security by constructing a value with one of the `bypassSecurityTrust...`
  39940. * methods, and then binding to that value from the template.
  39941. *
  39942. * These situations should be very rare, and extraordinary care must be taken to avoid creating a
  39943. * Cross Site Scripting (XSS) security bug!
  39944. *
  39945. * When using `bypassSecurityTrust...`, make sure to call the method as early as possible and as
  39946. * close as possible to the source of the value, to make it easy to verify no security bug is
  39947. * created by its use.
  39948. *
  39949. * It is not required (and not recommended) to bypass security if the value is safe, e.g. a URL that
  39950. * does not start with a suspicious protocol, or an HTML snippet that does not contain dangerous
  39951. * code. The sanitizer leaves safe values intact.
  39952. *
  39953. * @security Calling any of the `bypassSecurityTrust...` APIs disables Angular's built-in
  39954. * sanitization for the value passed in. Carefully check and audit all values and code paths going
  39955. * into this call. Make sure any user data is appropriately escaped for this security context.
  39956. * For more detail, see the [Security Guide](http://g.co/ng/security).
  39957. *
  39958. * @stable
  39959. */
  39960. var DomSanitizer = (function () {
  39961. function DomSanitizer() {
  39962. }
  39963. return DomSanitizer;
  39964. }());
  39965. var DomSanitizerImpl = (function (_super) {
  39966. __extends(DomSanitizerImpl, _super);
  39967. function DomSanitizerImpl() {
  39968. _super.apply(this, arguments);
  39969. }
  39970. DomSanitizerImpl.prototype.sanitize = function (ctx, value) {
  39971. if (value == null)
  39972. return null;
  39973. switch (ctx) {
  39974. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].NONE:
  39975. return value;
  39976. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].HTML:
  39977. if (value instanceof SafeHtmlImpl)
  39978. return value.changingThisBreaksApplicationSecurity;
  39979. this.checkNotSafeValue(value, 'HTML');
  39980. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__html_sanitizer__["a" /* sanitizeHtml */])(String(value));
  39981. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].STYLE:
  39982. if (value instanceof SafeStyleImpl)
  39983. return value.changingThisBreaksApplicationSecurity;
  39984. this.checkNotSafeValue(value, 'Style');
  39985. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__style_sanitizer__["a" /* sanitizeStyle */])(value);
  39986. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].SCRIPT:
  39987. if (value instanceof SafeScriptImpl)
  39988. return value.changingThisBreaksApplicationSecurity;
  39989. this.checkNotSafeValue(value, 'Script');
  39990. throw new Error('unsafe value used in a script context');
  39991. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].URL:
  39992. if (value instanceof SafeResourceUrlImpl || value instanceof SafeUrlImpl) {
  39993. // Allow resource URLs in URL contexts, they are strictly more trusted.
  39994. return value.changingThisBreaksApplicationSecurity;
  39995. }
  39996. this.checkNotSafeValue(value, 'URL');
  39997. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__url_sanitizer__["a" /* sanitizeUrl */])(String(value));
  39998. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].RESOURCE_URL:
  39999. if (value instanceof SafeResourceUrlImpl) {
  40000. return value.changingThisBreaksApplicationSecurity;
  40001. }
  40002. this.checkNotSafeValue(value, 'ResourceURL');
  40003. throw new Error('unsafe value used in a resource URL context (see http://g.co/ng/security#xss)');
  40004. default:
  40005. throw new Error("Unexpected SecurityContext " + ctx + " (see http://g.co/ng/security#xss)");
  40006. }
  40007. };
  40008. DomSanitizerImpl.prototype.checkNotSafeValue = function (value, expectedType) {
  40009. if (value instanceof SafeValueImpl) {
  40010. throw new Error(("Required a safe " + expectedType + ", got a " + value.getTypeName() + " ") +
  40011. "(see http://g.co/ng/security#xss)");
  40012. }
  40013. };
  40014. DomSanitizerImpl.prototype.bypassSecurityTrustHtml = function (value) { return new SafeHtmlImpl(value); };
  40015. DomSanitizerImpl.prototype.bypassSecurityTrustStyle = function (value) { return new SafeStyleImpl(value); };
  40016. DomSanitizerImpl.prototype.bypassSecurityTrustScript = function (value) { return new SafeScriptImpl(value); };
  40017. DomSanitizerImpl.prototype.bypassSecurityTrustUrl = function (value) { return new SafeUrlImpl(value); };
  40018. DomSanitizerImpl.prototype.bypassSecurityTrustResourceUrl = function (value) {
  40019. return new SafeResourceUrlImpl(value);
  40020. };
  40021. DomSanitizerImpl.decorators = [
  40022. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  40023. ];
  40024. /** @nocollapse */
  40025. DomSanitizerImpl.ctorParameters = [];
  40026. return DomSanitizerImpl;
  40027. }(DomSanitizer));
  40028. var SafeValueImpl = (function () {
  40029. function SafeValueImpl(changingThisBreaksApplicationSecurity) {
  40030. this.changingThisBreaksApplicationSecurity = changingThisBreaksApplicationSecurity;
  40031. // empty
  40032. }
  40033. SafeValueImpl.prototype.toString = function () {
  40034. return ("SafeValue must use [property]=binding: " + this.changingThisBreaksApplicationSecurity) +
  40035. " (see http://g.co/ng/security#xss)";
  40036. };
  40037. return SafeValueImpl;
  40038. }());
  40039. var SafeHtmlImpl = (function (_super) {
  40040. __extends(SafeHtmlImpl, _super);
  40041. function SafeHtmlImpl() {
  40042. _super.apply(this, arguments);
  40043. }
  40044. SafeHtmlImpl.prototype.getTypeName = function () { return 'HTML'; };
  40045. return SafeHtmlImpl;
  40046. }(SafeValueImpl));
  40047. var SafeStyleImpl = (function (_super) {
  40048. __extends(SafeStyleImpl, _super);
  40049. function SafeStyleImpl() {
  40050. _super.apply(this, arguments);
  40051. }
  40052. SafeStyleImpl.prototype.getTypeName = function () { return 'Style'; };
  40053. return SafeStyleImpl;
  40054. }(SafeValueImpl));
  40055. var SafeScriptImpl = (function (_super) {
  40056. __extends(SafeScriptImpl, _super);
  40057. function SafeScriptImpl() {
  40058. _super.apply(this, arguments);
  40059. }
  40060. SafeScriptImpl.prototype.getTypeName = function () { return 'Script'; };
  40061. return SafeScriptImpl;
  40062. }(SafeValueImpl));
  40063. var SafeUrlImpl = (function (_super) {
  40064. __extends(SafeUrlImpl, _super);
  40065. function SafeUrlImpl() {
  40066. _super.apply(this, arguments);
  40067. }
  40068. SafeUrlImpl.prototype.getTypeName = function () { return 'URL'; };
  40069. return SafeUrlImpl;
  40070. }(SafeValueImpl));
  40071. var SafeResourceUrlImpl = (function (_super) {
  40072. __extends(SafeResourceUrlImpl, _super);
  40073. function SafeResourceUrlImpl() {
  40074. _super.apply(this, arguments);
  40075. }
  40076. SafeResourceUrlImpl.prototype.getTypeName = function () { return 'ResourceURL'; };
  40077. return SafeResourceUrlImpl;
  40078. }(SafeValueImpl));
  40079. //# sourceMappingURL=dom_sanitization_service.js.map
  40080. /***/ },
  40081. /* 351 */
  40082. /***/ function(module, exports, __webpack_require__) {
  40083. "use strict";
  40084. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  40085. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__router__ = __webpack_require__(156);
  40086. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__router_link__ = __webpack_require__(232);
  40087. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return RouterLinkActive; });
  40088. /**
  40089. * @license
  40090. * Copyright Google Inc. All Rights Reserved.
  40091. *
  40092. * Use of this source code is governed by an MIT-style license that can be
  40093. * found in the LICENSE file at https://angular.io/license
  40094. */
  40095. /**
  40096. * @whatItDoes Lets you add a CSS class to an element when the link's route becomes active.
  40097. *
  40098. * @howToUse
  40099. *
  40100. * ```
  40101. * <a [routerLink]='/user/bob' routerLinkActive='active-link'>Bob</a>
  40102. * ```
  40103. *
  40104. * @description
  40105. *
  40106. * The RouterLinkActive directive lets you add a CSS class to an element when the link's route
  40107. * becomes active.
  40108. *
  40109. * Consider the following example:
  40110. *
  40111. * ```
  40112. * <a [routerLink]="/user/bob" routerLinkActive="active-link">Bob</a>
  40113. * ```
  40114. *
  40115. * When the url is either '/user' or '/user/bob', the active-link class will
  40116. * be added to the `a` tag. If the url changes, the class will be removed.
  40117. *
  40118. * You can set more than one class, as follows:
  40119. *
  40120. * ```
  40121. * <a [routerLink]="/user/bob" routerLinkActive="class1 class2">Bob</a>
  40122. * <a [routerLink]="/user/bob" [routerLinkActive]="['class1', 'class2']">Bob</a>
  40123. * ```
  40124. *
  40125. * You can configure RouterLinkActive by passing `exact: true`. This will add the classes
  40126. * only when the url matches the link exactly.
  40127. *
  40128. * ```
  40129. * <a [routerLink]="/user/bob" routerLinkActive="active-link" [routerLinkActiveOptions]="{exact:
  40130. * true}">Bob</a>
  40131. * ```
  40132. *
  40133. * Finally, you can apply the RouterLinkActive directive to an ancestor of a RouterLink.
  40134. *
  40135. * ```
  40136. * <div routerLinkActive="active-link" [routerLinkActiveOptions]="{exact: true}">
  40137. * <a [routerLink]="/user/jim">Jim</a>
  40138. * <a [routerLink]="/user/bob">Bob</a>
  40139. * </div>
  40140. * ```
  40141. *
  40142. * This will set the active-link class on the div tag if the url is either '/user/jim' or
  40143. * '/user/bob'.
  40144. *
  40145. * @selector ':not(a)[routerLink]'
  40146. * @ngModule RouterModule
  40147. *
  40148. * @stable
  40149. */
  40150. var RouterLinkActive = (function () {
  40151. function RouterLinkActive(router, element, renderer) {
  40152. var _this = this;
  40153. this.router = router;
  40154. this.element = element;
  40155. this.renderer = renderer;
  40156. this.classes = [];
  40157. this.routerLinkActiveOptions = { exact: false };
  40158. this.subscription = router.events.subscribe(function (s) {
  40159. if (s instanceof __WEBPACK_IMPORTED_MODULE_1__router__["b" /* NavigationEnd */]) {
  40160. _this.update();
  40161. }
  40162. });
  40163. }
  40164. RouterLinkActive.prototype.ngAfterContentInit = function () {
  40165. var _this = this;
  40166. this.links.changes.subscribe(function (s) { return _this.update(); });
  40167. this.linksWithHrefs.changes.subscribe(function (s) { return _this.update(); });
  40168. this.update();
  40169. };
  40170. Object.defineProperty(RouterLinkActive.prototype, "routerLinkActive", {
  40171. set: function (data) {
  40172. if (Array.isArray(data)) {
  40173. this.classes = data;
  40174. }
  40175. else {
  40176. this.classes = data.split(' ');
  40177. }
  40178. },
  40179. enumerable: true,
  40180. configurable: true
  40181. });
  40182. RouterLinkActive.prototype.ngOnChanges = function (changes) { this.update(); };
  40183. RouterLinkActive.prototype.ngOnDestroy = function () { this.subscription.unsubscribe(); };
  40184. RouterLinkActive.prototype.update = function () {
  40185. var _this = this;
  40186. if (!this.links || !this.linksWithHrefs || !this.router.navigated)
  40187. return;
  40188. var isActiveLinks = this.reduceList(this.links);
  40189. var isActiveLinksWithHrefs = this.reduceList(this.linksWithHrefs);
  40190. this.classes.forEach(function (c) { return _this.renderer.setElementClass(_this.element.nativeElement, c, isActiveLinks || isActiveLinksWithHrefs); });
  40191. };
  40192. RouterLinkActive.prototype.reduceList = function (q) {
  40193. var _this = this;
  40194. return q.reduce(function (res, link) {
  40195. return res || _this.router.isActive(link.urlTree, _this.routerLinkActiveOptions.exact);
  40196. }, false);
  40197. };
  40198. RouterLinkActive.decorators = [
  40199. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"], args: [{ selector: '[routerLinkActive]' },] },
  40200. ];
  40201. /** @nocollapse */
  40202. RouterLinkActive.ctorParameters = [
  40203. { type: __WEBPACK_IMPORTED_MODULE_1__router__["a" /* Router */], },
  40204. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ElementRef"], },
  40205. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Renderer"], },
  40206. ];
  40207. RouterLinkActive.propDecorators = {
  40208. 'links': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ContentChildren"], args: [__WEBPACK_IMPORTED_MODULE_2__router_link__["a" /* RouterLink */], { descendants: true },] },],
  40209. 'linksWithHrefs': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ContentChildren"], args: [__WEBPACK_IMPORTED_MODULE_2__router_link__["b" /* RouterLinkWithHref */], { descendants: true },] },],
  40210. 'routerLinkActiveOptions': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"] },],
  40211. 'routerLinkActive': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"] },],
  40212. };
  40213. return RouterLinkActive;
  40214. }());
  40215. //# sourceMappingURL=router_link_active.js.map
  40216. /***/ },
  40217. /* 352 */
  40218. /***/ function(module, exports, __webpack_require__) {
  40219. "use strict";
  40220. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  40221. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__router_outlet_map__ = __webpack_require__(158);
  40222. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__shared__ = __webpack_require__(54);
  40223. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return RouterOutlet; });
  40224. /**
  40225. * @license
  40226. * Copyright Google Inc. All Rights Reserved.
  40227. *
  40228. * Use of this source code is governed by an MIT-style license that can be
  40229. * found in the LICENSE file at https://angular.io/license
  40230. */
  40231. /**
  40232. * @whatItDoes Acts as a placeholder that Angular dynamically fills based on the current router
  40233. * state.
  40234. *
  40235. * @howToUse
  40236. *
  40237. * ```
  40238. * <router-outlet></router-outlet>
  40239. * <router-outlet name='left'></router-outlet>
  40240. * <router-outlet name='right'></router-outlet>
  40241. * ```
  40242. *
  40243. * A router outlet will emit an activate event any time a new component is being instantiated,
  40244. * and a deactivate event when it is being destroyed.
  40245. *
  40246. * ```
  40247. * <router-outlet
  40248. * (activate)='onActivate($event)'
  40249. * (deactivate)='onDeactivate($event)'></router-outlet>
  40250. * ```
  40251. * @selector 'a[routerLink]'
  40252. * @ngModule RouterModule
  40253. *
  40254. * @stable
  40255. */
  40256. var RouterOutlet = (function () {
  40257. function RouterOutlet(parentOutletMap, location, resolver, name) {
  40258. this.parentOutletMap = parentOutletMap;
  40259. this.location = location;
  40260. this.resolver = resolver;
  40261. this.name = name;
  40262. this.activateEvents = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["EventEmitter"]();
  40263. this.deactivateEvents = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["EventEmitter"]();
  40264. parentOutletMap.registerOutlet(name ? name : __WEBPACK_IMPORTED_MODULE_2__shared__["a" /* PRIMARY_OUTLET */], this);
  40265. }
  40266. RouterOutlet.prototype.ngOnDestroy = function () { this.parentOutletMap.removeOutlet(this.name ? this.name : __WEBPACK_IMPORTED_MODULE_2__shared__["a" /* PRIMARY_OUTLET */]); };
  40267. Object.defineProperty(RouterOutlet.prototype, "isActivated", {
  40268. get: function () { return !!this.activated; },
  40269. enumerable: true,
  40270. configurable: true
  40271. });
  40272. Object.defineProperty(RouterOutlet.prototype, "component", {
  40273. get: function () {
  40274. if (!this.activated)
  40275. throw new Error('Outlet is not activated');
  40276. return this.activated.instance;
  40277. },
  40278. enumerable: true,
  40279. configurable: true
  40280. });
  40281. Object.defineProperty(RouterOutlet.prototype, "activatedRoute", {
  40282. get: function () {
  40283. if (!this.activated)
  40284. throw new Error('Outlet is not activated');
  40285. return this._activatedRoute;
  40286. },
  40287. enumerable: true,
  40288. configurable: true
  40289. });
  40290. RouterOutlet.prototype.deactivate = function () {
  40291. if (this.activated) {
  40292. var c = this.component;
  40293. this.activated.destroy();
  40294. this.activated = null;
  40295. this.deactivateEvents.emit(c);
  40296. }
  40297. };
  40298. RouterOutlet.prototype.activate = function (activatedRoute, loadedResolver, loadedInjector, providers, outletMap) {
  40299. this.outletMap = outletMap;
  40300. this._activatedRoute = activatedRoute;
  40301. var snapshot = activatedRoute._futureSnapshot;
  40302. var component = snapshot._routeConfig.component;
  40303. var factory;
  40304. if (loadedResolver) {
  40305. factory = loadedResolver.resolveComponentFactory(component);
  40306. }
  40307. else {
  40308. factory = this.resolver.resolveComponentFactory(component);
  40309. }
  40310. var injector = loadedInjector ? loadedInjector : this.location.parentInjector;
  40311. var inj = __WEBPACK_IMPORTED_MODULE_0__angular_core__["ReflectiveInjector"].fromResolvedProviders(providers, injector);
  40312. this.activated = this.location.createComponent(factory, this.location.length, inj, []);
  40313. this.activated.changeDetectorRef.detectChanges();
  40314. this.activateEvents.emit(this.activated.instance);
  40315. };
  40316. RouterOutlet.decorators = [
  40317. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"], args: [{ selector: 'router-outlet' },] },
  40318. ];
  40319. /** @nocollapse */
  40320. RouterOutlet.ctorParameters = [
  40321. { type: __WEBPACK_IMPORTED_MODULE_1__router_outlet_map__["a" /* RouterOutletMap */], },
  40322. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewContainerRef"], },
  40323. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ComponentFactoryResolver"], },
  40324. { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Attribute"], args: ['name',] },] },
  40325. ];
  40326. RouterOutlet.propDecorators = {
  40327. 'activateEvents': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Output"], args: ['activate',] },],
  40328. 'deactivateEvents': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Output"], args: ['deactivate',] },],
  40329. };
  40330. return RouterOutlet;
  40331. }());
  40332. //# sourceMappingURL=router_outlet.js.map
  40333. /***/ },
  40334. /* 353 */
  40335. /***/ function(module, exports, __webpack_require__) {
  40336. "use strict";
  40337. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_common__ = __webpack_require__(103);
  40338. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(1);
  40339. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__directives_router_link__ = __webpack_require__(232);
  40340. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__directives_router_link_active__ = __webpack_require__(351);
  40341. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__directives_router_outlet__ = __webpack_require__(352);
  40342. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__router__ = __webpack_require__(156);
  40343. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__router_config_loader__ = __webpack_require__(157);
  40344. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__router_outlet_map__ = __webpack_require__(158);
  40345. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__router_state__ = __webpack_require__(93);
  40346. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__url_tree__ = __webpack_require__(77);
  40347. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__utils_collection__ = __webpack_require__(55);
  40348. /* unused harmony export ROUTER_CONFIGURATION */
  40349. /* unused harmony export ROUTER_FORROOT_GUARD */
  40350. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ROUTER_PROVIDERS; });
  40351. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return RouterModule; });
  40352. /* unused harmony export provideLocationStrategy */
  40353. /* unused harmony export provideForRootGuard */
  40354. /* harmony export (immutable) */ exports["c"] = provideRoutes;
  40355. /* unused harmony export setupRouter */
  40356. /* unused harmony export rootRoute */
  40357. /* unused harmony export initialRouterNavigation */
  40358. /* unused harmony export provideRouterInitializer */
  40359. /**
  40360. * @license
  40361. * Copyright Google Inc. All Rights Reserved.
  40362. *
  40363. * Use of this source code is governed by an MIT-style license that can be
  40364. * found in the LICENSE file at https://angular.io/license
  40365. */
  40366. /**
  40367. * @whatItDoes Contains a list of directives
  40368. * @stable
  40369. */
  40370. var ROUTER_DIRECTIVES = [__WEBPACK_IMPORTED_MODULE_4__directives_router_outlet__["a" /* RouterOutlet */], __WEBPACK_IMPORTED_MODULE_2__directives_router_link__["a" /* RouterLink */], __WEBPACK_IMPORTED_MODULE_2__directives_router_link__["b" /* RouterLinkWithHref */], __WEBPACK_IMPORTED_MODULE_3__directives_router_link_active__["a" /* RouterLinkActive */]];
  40371. /**
  40372. * @whatItDoes Is used in DI to configure the router.
  40373. * @stable
  40374. */
  40375. var ROUTER_CONFIGURATION = new __WEBPACK_IMPORTED_MODULE_1__angular_core__["OpaqueToken"]('ROUTER_CONFIGURATION');
  40376. /**
  40377. * @docsNotRequired
  40378. */
  40379. var ROUTER_FORROOT_GUARD = new __WEBPACK_IMPORTED_MODULE_1__angular_core__["OpaqueToken"]('ROUTER_FORROOT_GUARD');
  40380. var pathLocationStrategy = {
  40381. provide: __WEBPACK_IMPORTED_MODULE_0__angular_common__["LocationStrategy"],
  40382. useClass: __WEBPACK_IMPORTED_MODULE_0__angular_common__["PathLocationStrategy"]
  40383. };
  40384. var hashLocationStrategy = {
  40385. provide: __WEBPACK_IMPORTED_MODULE_0__angular_common__["LocationStrategy"],
  40386. useClass: __WEBPACK_IMPORTED_MODULE_0__angular_common__["HashLocationStrategy"]
  40387. };
  40388. var ROUTER_PROVIDERS = [
  40389. __WEBPACK_IMPORTED_MODULE_0__angular_common__["Location"], { provide: __WEBPACK_IMPORTED_MODULE_9__url_tree__["g" /* UrlSerializer */], useClass: __WEBPACK_IMPORTED_MODULE_9__url_tree__["h" /* DefaultUrlSerializer */] }, {
  40390. provide: __WEBPACK_IMPORTED_MODULE_5__router__["a" /* Router */],
  40391. useFactory: setupRouter,
  40392. deps: [
  40393. __WEBPACK_IMPORTED_MODULE_1__angular_core__["ApplicationRef"], __WEBPACK_IMPORTED_MODULE_9__url_tree__["g" /* UrlSerializer */], __WEBPACK_IMPORTED_MODULE_7__router_outlet_map__["a" /* RouterOutletMap */], __WEBPACK_IMPORTED_MODULE_0__angular_common__["Location"], __WEBPACK_IMPORTED_MODULE_1__angular_core__["Injector"], __WEBPACK_IMPORTED_MODULE_1__angular_core__["NgModuleFactoryLoader"],
  40394. __WEBPACK_IMPORTED_MODULE_1__angular_core__["Compiler"], __WEBPACK_IMPORTED_MODULE_6__router_config_loader__["c" /* ROUTES */], ROUTER_CONFIGURATION
  40395. ]
  40396. },
  40397. __WEBPACK_IMPORTED_MODULE_7__router_outlet_map__["a" /* RouterOutletMap */], { provide: __WEBPACK_IMPORTED_MODULE_8__router_state__["b" /* ActivatedRoute */], useFactory: rootRoute, deps: [__WEBPACK_IMPORTED_MODULE_5__router__["a" /* Router */]] },
  40398. { provide: __WEBPACK_IMPORTED_MODULE_1__angular_core__["NgModuleFactoryLoader"], useClass: __WEBPACK_IMPORTED_MODULE_1__angular_core__["SystemJsNgModuleLoader"] },
  40399. { provide: ROUTER_CONFIGURATION, useValue: { enableTracing: false } }
  40400. ];
  40401. /**
  40402. * @whatItDoes Adds router directives and providers.
  40403. *
  40404. * @howToUse
  40405. *
  40406. * RouterModule can be imported multiple times: once per lazily-loaded bundle.
  40407. * Since the router deals with a global shared resource--location, we cannot have
  40408. * more than one router service active.
  40409. *
  40410. * That is why there are two ways to create the module: `RouterModule.forRoot` and
  40411. * `RouterModule.forChild`.
  40412. *
  40413. * * `forRoot` creates a module that contains all the directives, the given routes, and the router
  40414. * service itself.
  40415. * * `forChild` creates a module that contains all the directives and the given routes, but does not
  40416. * include
  40417. * the router service.
  40418. *
  40419. * When registered at the root, the module should be used as follows
  40420. *
  40421. * ```
  40422. * @NgModule({
  40423. * imports: [RouterModule.forRoot(ROUTES)]
  40424. * })
  40425. * class MyNgModule {}
  40426. * ```
  40427. *
  40428. * For submodules and lazy loaded submodules the module should be used as follows:
  40429. *
  40430. * ```
  40431. * @NgModule({
  40432. * imports: [RouterModule.forChild(ROUTES)]
  40433. * })
  40434. * class MyNgModule {}
  40435. * ```
  40436. *
  40437. * @description
  40438. *
  40439. * Managing state transitions is one of the hardest parts of building applications. This is
  40440. * especially true on the web, where you also need to ensure that the state is reflected in the URL.
  40441. * In addition, we often want to split applications into multiple bundles and load them on demand.
  40442. * Doing this transparently is not trivial.
  40443. *
  40444. * The Angular 2 router solves these problems. Using the router, you can declaratively specify
  40445. * application states, manage state transitions while taking care of the URL, and load bundles on
  40446. * demand.
  40447. *
  40448. * [Read this developer guide](https://angular.io/docs/ts/latest/guide/router.html) to get an
  40449. * overview of how the router should be used.
  40450. *
  40451. * @stable
  40452. */
  40453. var RouterModule = (function () {
  40454. function RouterModule(guard) {
  40455. }
  40456. /**
  40457. * Creates a module with all the router providers and directives. It also optionally sets up an
  40458. * application listener to perform an initial navigation.
  40459. *
  40460. * Options:
  40461. * * `enableTracing` makes the router log all its internal events to the console.
  40462. * * `useHash` enables the location strategy that uses the URL fragment instead of the history
  40463. * API.
  40464. * * `initialNavigation` disables the initial navigation.
  40465. * * `errorHandler` provides a custom error handler.
  40466. */
  40467. RouterModule.forRoot = function (routes, config) {
  40468. return {
  40469. ngModule: RouterModule,
  40470. providers: [
  40471. ROUTER_PROVIDERS, provideRoutes(routes), {
  40472. provide: ROUTER_FORROOT_GUARD,
  40473. useFactory: provideForRootGuard,
  40474. deps: [[__WEBPACK_IMPORTED_MODULE_5__router__["a" /* Router */], new __WEBPACK_IMPORTED_MODULE_1__angular_core__["Optional"](), new __WEBPACK_IMPORTED_MODULE_1__angular_core__["SkipSelf"]()]]
  40475. },
  40476. { provide: ROUTER_CONFIGURATION, useValue: config ? config : {} }, {
  40477. provide: __WEBPACK_IMPORTED_MODULE_0__angular_common__["LocationStrategy"],
  40478. useFactory: provideLocationStrategy,
  40479. deps: [
  40480. __WEBPACK_IMPORTED_MODULE_0__angular_common__["PlatformLocation"], [new __WEBPACK_IMPORTED_MODULE_1__angular_core__["Inject"](__WEBPACK_IMPORTED_MODULE_0__angular_common__["APP_BASE_HREF"]), new __WEBPACK_IMPORTED_MODULE_1__angular_core__["Optional"]()], ROUTER_CONFIGURATION
  40481. ]
  40482. },
  40483. provideRouterInitializer()
  40484. ]
  40485. };
  40486. };
  40487. /**
  40488. * Creates a module with all the router directives and a provider registering routes.
  40489. */
  40490. RouterModule.forChild = function (routes) {
  40491. return { ngModule: RouterModule, providers: [provideRoutes(routes)] };
  40492. };
  40493. RouterModule.decorators = [
  40494. { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["NgModule"], args: [{ declarations: ROUTER_DIRECTIVES, exports: ROUTER_DIRECTIVES },] },
  40495. ];
  40496. /** @nocollapse */
  40497. RouterModule.ctorParameters = [
  40498. { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Optional"] }, { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["Inject"], args: [ROUTER_FORROOT_GUARD,] },] },
  40499. ];
  40500. return RouterModule;
  40501. }());
  40502. function provideLocationStrategy(platformLocationStrategy, baseHref, options) {
  40503. if (options === void 0) { options = {}; }
  40504. return options.useHash ? new __WEBPACK_IMPORTED_MODULE_0__angular_common__["HashLocationStrategy"](platformLocationStrategy, baseHref) :
  40505. new __WEBPACK_IMPORTED_MODULE_0__angular_common__["PathLocationStrategy"](platformLocationStrategy, baseHref);
  40506. }
  40507. function provideForRootGuard(router) {
  40508. if (router) {
  40509. throw new Error("RouterModule.forRoot() called twice. Lazy loaded modules should use RouterModule.forChild() instead.");
  40510. }
  40511. return 'guarded';
  40512. }
  40513. /**
  40514. * @whatItDoes Registers routes.
  40515. *
  40516. * @howToUse
  40517. *
  40518. * ```
  40519. * @NgModule({
  40520. * imports: [RouterModule.forChild(ROUTES)],
  40521. * providers: [provideRoutes(EXTRA_ROUTES)]
  40522. * })
  40523. * class MyNgModule {}
  40524. * ```
  40525. *
  40526. * @stable
  40527. */
  40528. function provideRoutes(routes) {
  40529. return [
  40530. { provide: __WEBPACK_IMPORTED_MODULE_1__angular_core__["ANALYZE_FOR_ENTRY_COMPONENTS"], multi: true, useValue: routes },
  40531. { provide: __WEBPACK_IMPORTED_MODULE_6__router_config_loader__["c" /* ROUTES */], multi: true, useValue: routes }
  40532. ];
  40533. }
  40534. function setupRouter(ref, urlSerializer, outletMap, location, injector, loader, compiler, config, opts) {
  40535. if (opts === void 0) { opts = {}; }
  40536. if (ref.componentTypes.length == 0) {
  40537. throw new Error('Bootstrap at least one component before injecting Router.');
  40538. }
  40539. var componentType = ref.componentTypes[0];
  40540. var r = new __WEBPACK_IMPORTED_MODULE_5__router__["a" /* Router */](componentType, urlSerializer, outletMap, location, injector, loader, compiler, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_10__utils_collection__["a" /* flatten */])(config));
  40541. if (opts.errorHandler) {
  40542. r.errorHandler = opts.errorHandler;
  40543. }
  40544. if (opts.enableTracing) {
  40545. r.events.subscribe(function (e) {
  40546. console.group("Router Event: " + e.constructor.name);
  40547. console.log(e.toString());
  40548. console.log(e);
  40549. console.groupEnd();
  40550. });
  40551. }
  40552. return r;
  40553. }
  40554. function rootRoute(router) {
  40555. return router.routerState.root;
  40556. }
  40557. function initialRouterNavigation(router, opts) {
  40558. return function () {
  40559. if (opts.initialNavigation === false) {
  40560. router.setUpLocationChangeListener();
  40561. }
  40562. else {
  40563. router.initialNavigation();
  40564. }
  40565. };
  40566. }
  40567. function provideRouterInitializer() {
  40568. return {
  40569. provide: __WEBPACK_IMPORTED_MODULE_1__angular_core__["APP_BOOTSTRAP_LISTENER"],
  40570. multi: true,
  40571. useFactory: initialRouterNavigation,
  40572. deps: [__WEBPACK_IMPORTED_MODULE_5__router__["a" /* Router */], ROUTER_CONFIGURATION]
  40573. };
  40574. }
  40575. //# sourceMappingURL=router_module.js.map
  40576. /***/ },
  40577. /* 354 */
  40578. /***/ function(module, exports, __webpack_require__) {
  40579. "use strict";
  40580. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return bootstrap; });
  40581. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return module; });
  40582. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return element; });
  40583. /* unused harmony export version */
  40584. /* unused harmony export resumeBootstrap */
  40585. /* unused harmony export getTestability */
  40586. /**
  40587. * @license
  40588. * Copyright Google Inc. All Rights Reserved.
  40589. *
  40590. * Use of this source code is governed by an MIT-style license that can be
  40591. * found in the LICENSE file at https://angular.io/license
  40592. */
  40593. function noNg() {
  40594. throw new Error('AngularJS v1.x is not loaded!');
  40595. }
  40596. var angular = {
  40597. bootstrap: noNg,
  40598. module: noNg,
  40599. element: noNg,
  40600. version: noNg,
  40601. resumeBootstrap: noNg,
  40602. getTestability: noNg
  40603. };
  40604. try {
  40605. if (window.hasOwnProperty('angular')) {
  40606. angular = window.angular;
  40607. }
  40608. }
  40609. catch (e) {
  40610. }
  40611. var bootstrap = angular.bootstrap;
  40612. var module = angular.module;
  40613. var element = angular.element;
  40614. var version = angular.version;
  40615. var resumeBootstrap = angular.resumeBootstrap;
  40616. var getTestability = angular.getTestability;
  40617. //# sourceMappingURL=angular_js.js.map
  40618. /***/ },
  40619. /* 355 */
  40620. /***/ function(module, exports, __webpack_require__) {
  40621. "use strict";
  40622. /* unused harmony export stringify */
  40623. /* harmony export (immutable) */ exports["b"] = onError;
  40624. /* harmony export (immutable) */ exports["a"] = controllerKey;
  40625. /**
  40626. * @license
  40627. * Copyright Google Inc. All Rights Reserved.
  40628. *
  40629. * Use of this source code is governed by an MIT-style license that can be
  40630. * found in the LICENSE file at https://angular.io/license
  40631. */
  40632. function stringify(obj) {
  40633. if (typeof obj == 'function')
  40634. return obj.name || obj.toString();
  40635. return '' + obj;
  40636. }
  40637. function onError(e) {
  40638. // TODO: (misko): We seem to not have a stack trace here!
  40639. console.log(e, e.stack);
  40640. throw e;
  40641. }
  40642. function controllerKey(name) {
  40643. return '$' + name + 'Controller';
  40644. }
  40645. //# sourceMappingURL=util.js.map
  40646. /***/ },
  40647. /* 356 */,
  40648. /* 357 */,
  40649. /* 358 */,
  40650. /* 359 */,
  40651. /* 360 */
  40652. /***/ function(module, exports, __webpack_require__) {
  40653. var cof = __webpack_require__(57);
  40654. module.exports = function(it, msg){
  40655. if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg);
  40656. return +it;
  40657. };
  40658. /***/ },
  40659. /* 361 */
  40660. /***/ function(module, exports, __webpack_require__) {
  40661. "use strict";
  40662. // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
  40663. 'use strict';
  40664. var toObject = __webpack_require__(38)
  40665. , toIndex = __webpack_require__(80)
  40666. , toLength = __webpack_require__(26);
  40667. module.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){
  40668. var O = toObject(this)
  40669. , len = toLength(O.length)
  40670. , to = toIndex(target, len)
  40671. , from = toIndex(start, len)
  40672. , end = arguments.length > 2 ? arguments[2] : undefined
  40673. , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)
  40674. , inc = 1;
  40675. if(from < to && to < from + count){
  40676. inc = -1;
  40677. from += count - 1;
  40678. to += count - 1;
  40679. }
  40680. while(count-- > 0){
  40681. if(from in O)O[to] = O[from];
  40682. else delete O[to];
  40683. to += inc;
  40684. from += inc;
  40685. } return O;
  40686. };
  40687. /***/ },
  40688. /* 362 */
  40689. /***/ function(module, exports, __webpack_require__) {
  40690. var aFunction = __webpack_require__(56)
  40691. , toObject = __webpack_require__(38)
  40692. , IObject = __webpack_require__(118)
  40693. , toLength = __webpack_require__(26);
  40694. module.exports = function(that, callbackfn, aLen, memo, isRight){
  40695. aFunction(callbackfn);
  40696. var O = toObject(that)
  40697. , self = IObject(O)
  40698. , length = toLength(O.length)
  40699. , index = isRight ? length - 1 : 0
  40700. , i = isRight ? -1 : 1;
  40701. if(aLen < 2)for(;;){
  40702. if(index in self){
  40703. memo = self[index];
  40704. index += i;
  40705. break;
  40706. }
  40707. index += i;
  40708. if(isRight ? index < 0 : length <= index){
  40709. throw TypeError('Reduce of empty array with no initial value');
  40710. }
  40711. }
  40712. for(;isRight ? index >= 0 : length > index; index += i)if(index in self){
  40713. memo = callbackfn(memo, self[index], index, O);
  40714. }
  40715. return memo;
  40716. };
  40717. /***/ },
  40718. /* 363 */
  40719. /***/ function(module, exports, __webpack_require__) {
  40720. "use strict";
  40721. 'use strict';
  40722. var aFunction = __webpack_require__(56)
  40723. , isObject = __webpack_require__(10)
  40724. , invoke = __webpack_require__(368)
  40725. , arraySlice = [].slice
  40726. , factories = {};
  40727. var construct = function(F, len, args){
  40728. if(!(len in factories)){
  40729. for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';
  40730. factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
  40731. } return factories[len](F, args);
  40732. };
  40733. module.exports = Function.bind || function bind(that /*, args... */){
  40734. var fn = aFunction(this)
  40735. , partArgs = arraySlice.call(arguments, 1);
  40736. var bound = function(/* args... */){
  40737. var args = partArgs.concat(arraySlice.call(arguments));
  40738. return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
  40739. };
  40740. if(isObject(fn.prototype))bound.prototype = fn.prototype;
  40741. return bound;
  40742. };
  40743. /***/ },
  40744. /* 364 */
  40745. /***/ function(module, exports, __webpack_require__) {
  40746. "use strict";
  40747. 'use strict';
  40748. var dP = __webpack_require__(17).f
  40749. , create = __webpack_require__(78)
  40750. , redefineAll = __webpack_require__(97)
  40751. , ctx = __webpack_require__(58)
  40752. , anInstance = __webpack_require__(94)
  40753. , defined = __webpack_require__(59)
  40754. , forOf = __webpack_require__(117)
  40755. , $iterDefine = __webpack_require__(246)
  40756. , step = __webpack_require__(372)
  40757. , setSpecies = __webpack_require__(98)
  40758. , DESCRIPTORS = __webpack_require__(21)
  40759. , fastKey = __webpack_require__(70).fastKey
  40760. , SIZE = DESCRIPTORS ? '_s' : 'size';
  40761. var getEntry = function(that, key){
  40762. // fast case
  40763. var index = fastKey(key), entry;
  40764. if(index !== 'F')return that._i[index];
  40765. // frozen object case
  40766. for(entry = that._f; entry; entry = entry.n){
  40767. if(entry.k == key)return entry;
  40768. }
  40769. };
  40770. module.exports = {
  40771. getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
  40772. var C = wrapper(function(that, iterable){
  40773. anInstance(that, C, NAME, '_i');
  40774. that._i = create(null); // index
  40775. that._f = undefined; // first entry
  40776. that._l = undefined; // last entry
  40777. that[SIZE] = 0; // size
  40778. if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
  40779. });
  40780. redefineAll(C.prototype, {
  40781. // 23.1.3.1 Map.prototype.clear()
  40782. // 23.2.3.2 Set.prototype.clear()
  40783. clear: function clear(){
  40784. for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){
  40785. entry.r = true;
  40786. if(entry.p)entry.p = entry.p.n = undefined;
  40787. delete data[entry.i];
  40788. }
  40789. that._f = that._l = undefined;
  40790. that[SIZE] = 0;
  40791. },
  40792. // 23.1.3.3 Map.prototype.delete(key)
  40793. // 23.2.3.4 Set.prototype.delete(value)
  40794. 'delete': function(key){
  40795. var that = this
  40796. , entry = getEntry(that, key);
  40797. if(entry){
  40798. var next = entry.n
  40799. , prev = entry.p;
  40800. delete that._i[entry.i];
  40801. entry.r = true;
  40802. if(prev)prev.n = next;
  40803. if(next)next.p = prev;
  40804. if(that._f == entry)that._f = next;
  40805. if(that._l == entry)that._l = prev;
  40806. that[SIZE]--;
  40807. } return !!entry;
  40808. },
  40809. // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
  40810. // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
  40811. forEach: function forEach(callbackfn /*, that = undefined */){
  40812. anInstance(this, C, 'forEach');
  40813. var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)
  40814. , entry;
  40815. while(entry = entry ? entry.n : this._f){
  40816. f(entry.v, entry.k, this);
  40817. // revert to the last existing entry
  40818. while(entry && entry.r)entry = entry.p;
  40819. }
  40820. },
  40821. // 23.1.3.7 Map.prototype.has(key)
  40822. // 23.2.3.7 Set.prototype.has(value)
  40823. has: function has(key){
  40824. return !!getEntry(this, key);
  40825. }
  40826. });
  40827. if(DESCRIPTORS)dP(C.prototype, 'size', {
  40828. get: function(){
  40829. return defined(this[SIZE]);
  40830. }
  40831. });
  40832. return C;
  40833. },
  40834. def: function(that, key, value){
  40835. var entry = getEntry(that, key)
  40836. , prev, index;
  40837. // change existing entry
  40838. if(entry){
  40839. entry.v = value;
  40840. // create new entry
  40841. } else {
  40842. that._l = entry = {
  40843. i: index = fastKey(key, true), // <- index
  40844. k: key, // <- key
  40845. v: value, // <- value
  40846. p: prev = that._l, // <- previous entry
  40847. n: undefined, // <- next entry
  40848. r: false // <- removed
  40849. };
  40850. if(!that._f)that._f = entry;
  40851. if(prev)prev.n = entry;
  40852. that[SIZE]++;
  40853. // add to index
  40854. if(index !== 'F')that._i[index] = entry;
  40855. } return that;
  40856. },
  40857. getEntry: getEntry,
  40858. setStrong: function(C, NAME, IS_MAP){
  40859. // add .keys, .values, .entries, [@@iterator]
  40860. // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
  40861. $iterDefine(C, NAME, function(iterated, kind){
  40862. this._t = iterated; // target
  40863. this._k = kind; // kind
  40864. this._l = undefined; // previous
  40865. }, function(){
  40866. var that = this
  40867. , kind = that._k
  40868. , entry = that._l;
  40869. // revert to the last existing entry
  40870. while(entry && entry.r)entry = entry.p;
  40871. // get next entry
  40872. if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){
  40873. // or finish the iteration
  40874. that._t = undefined;
  40875. return step(1);
  40876. }
  40877. // return step by kind
  40878. if(kind == 'keys' )return step(0, entry.k);
  40879. if(kind == 'values')return step(0, entry.v);
  40880. return step(0, [entry.k, entry.v]);
  40881. }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);
  40882. // add [@@species], 23.1.2.2, 23.2.2.2
  40883. setSpecies(NAME);
  40884. }
  40885. };
  40886. /***/ },
  40887. /* 365 */
  40888. /***/ function(module, exports, __webpack_require__) {
  40889. "use strict";
  40890. 'use strict';
  40891. var redefineAll = __webpack_require__(97)
  40892. , getWeak = __webpack_require__(70).getWeak
  40893. , anObject = __webpack_require__(8)
  40894. , isObject = __webpack_require__(10)
  40895. , anInstance = __webpack_require__(94)
  40896. , forOf = __webpack_require__(117)
  40897. , createArrayMethod = __webpack_require__(45)
  40898. , $has = __webpack_require__(32)
  40899. , arrayFind = createArrayMethod(5)
  40900. , arrayFindIndex = createArrayMethod(6)
  40901. , id = 0;
  40902. // fallback for uncaught frozen keys
  40903. var uncaughtFrozenStore = function(that){
  40904. return that._l || (that._l = new UncaughtFrozenStore);
  40905. };
  40906. var UncaughtFrozenStore = function(){
  40907. this.a = [];
  40908. };
  40909. var findUncaughtFrozen = function(store, key){
  40910. return arrayFind(store.a, function(it){
  40911. return it[0] === key;
  40912. });
  40913. };
  40914. UncaughtFrozenStore.prototype = {
  40915. get: function(key){
  40916. var entry = findUncaughtFrozen(this, key);
  40917. if(entry)return entry[1];
  40918. },
  40919. has: function(key){
  40920. return !!findUncaughtFrozen(this, key);
  40921. },
  40922. set: function(key, value){
  40923. var entry = findUncaughtFrozen(this, key);
  40924. if(entry)entry[1] = value;
  40925. else this.a.push([key, value]);
  40926. },
  40927. 'delete': function(key){
  40928. var index = arrayFindIndex(this.a, function(it){
  40929. return it[0] === key;
  40930. });
  40931. if(~index)this.a.splice(index, 1);
  40932. return !!~index;
  40933. }
  40934. };
  40935. module.exports = {
  40936. getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
  40937. var C = wrapper(function(that, iterable){
  40938. anInstance(that, C, NAME, '_i');
  40939. that._i = id++; // collection id
  40940. that._l = undefined; // leak store for uncaught frozen objects
  40941. if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
  40942. });
  40943. redefineAll(C.prototype, {
  40944. // 23.3.3.2 WeakMap.prototype.delete(key)
  40945. // 23.4.3.3 WeakSet.prototype.delete(value)
  40946. 'delete': function(key){
  40947. if(!isObject(key))return false;
  40948. var data = getWeak(key);
  40949. if(data === true)return uncaughtFrozenStore(this)['delete'](key);
  40950. return data && $has(data, this._i) && delete data[this._i];
  40951. },
  40952. // 23.3.3.4 WeakMap.prototype.has(key)
  40953. // 23.4.3.4 WeakSet.prototype.has(value)
  40954. has: function has(key){
  40955. if(!isObject(key))return false;
  40956. var data = getWeak(key);
  40957. if(data === true)return uncaughtFrozenStore(this).has(key);
  40958. return data && $has(data, this._i);
  40959. }
  40960. });
  40961. return C;
  40962. },
  40963. def: function(that, key, value){
  40964. var data = getWeak(anObject(key), true);
  40965. if(data === true)uncaughtFrozenStore(that).set(key, value);
  40966. else data[that._i] = value;
  40967. return that;
  40968. },
  40969. ufstore: uncaughtFrozenStore
  40970. };
  40971. /***/ },
  40972. /* 366 */
  40973. /***/ function(module, exports, __webpack_require__) {
  40974. "use strict";
  40975. 'use strict';
  40976. var $defineProperty = __webpack_require__(17)
  40977. , createDesc = __webpack_require__(71);
  40978. module.exports = function(object, index, value){
  40979. if(index in object)$defineProperty.f(object, index, createDesc(0, value));
  40980. else object[index] = value;
  40981. };
  40982. /***/ },
  40983. /* 367 */
  40984. /***/ function(module, exports, __webpack_require__) {
  40985. module.exports = !__webpack_require__(21) && !__webpack_require__(9)(function(){
  40986. return Object.defineProperty(__webpack_require__(237)('div'), 'a', {get: function(){ return 7; }}).a != 7;
  40987. });
  40988. /***/ },
  40989. /* 368 */
  40990. /***/ function(module, exports) {
  40991. // fast apply, http://jsperf.lnkit.com/fast-apply/5
  40992. module.exports = function(fn, args, that){
  40993. var un = that === undefined;
  40994. switch(args.length){
  40995. case 0: return un ? fn()
  40996. : fn.call(that);
  40997. case 1: return un ? fn(args[0])
  40998. : fn.call(that, args[0]);
  40999. case 2: return un ? fn(args[0], args[1])
  41000. : fn.call(that, args[0], args[1]);
  41001. case 3: return un ? fn(args[0], args[1], args[2])
  41002. : fn.call(that, args[0], args[1], args[2]);
  41003. case 4: return un ? fn(args[0], args[1], args[2], args[3])
  41004. : fn.call(that, args[0], args[1], args[2], args[3]);
  41005. } return fn.apply(that, args);
  41006. };
  41007. /***/ },
  41008. /* 369 */
  41009. /***/ function(module, exports, __webpack_require__) {
  41010. // 20.1.2.3 Number.isInteger(number)
  41011. var isObject = __webpack_require__(10)
  41012. , floor = Math.floor;
  41013. module.exports = function isInteger(it){
  41014. return !isObject(it) && isFinite(it) && floor(it) === it;
  41015. };
  41016. /***/ },
  41017. /* 370 */
  41018. /***/ function(module, exports, __webpack_require__) {
  41019. // call something on iterator step with safe closing on error
  41020. var anObject = __webpack_require__(8);
  41021. module.exports = function(iterator, fn, value, entries){
  41022. try {
  41023. return entries ? fn(anObject(value)[0], value[1]) : fn(value);
  41024. // 7.4.6 IteratorClose(iterator, completion)
  41025. } catch(e){
  41026. var ret = iterator['return'];
  41027. if(ret !== undefined)anObject(ret.call(iterator));
  41028. throw e;
  41029. }
  41030. };
  41031. /***/ },
  41032. /* 371 */
  41033. /***/ function(module, exports, __webpack_require__) {
  41034. "use strict";
  41035. 'use strict';
  41036. var create = __webpack_require__(78)
  41037. , descriptor = __webpack_require__(71)
  41038. , setToStringTag = __webpack_require__(99)
  41039. , IteratorPrototype = {};
  41040. // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
  41041. __webpack_require__(40)(IteratorPrototype, __webpack_require__(14)('iterator'), function(){ return this; });
  41042. module.exports = function(Constructor, NAME, next){
  41043. Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});
  41044. setToStringTag(Constructor, NAME + ' Iterator');
  41045. };
  41046. /***/ },
  41047. /* 372 */
  41048. /***/ function(module, exports) {
  41049. module.exports = function(done, value){
  41050. return {value: value, done: !!done};
  41051. };
  41052. /***/ },
  41053. /* 373 */
  41054. /***/ function(module, exports) {
  41055. // 20.2.2.20 Math.log1p(x)
  41056. module.exports = Math.log1p || function log1p(x){
  41057. return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
  41058. };
  41059. /***/ },
  41060. /* 374 */
  41061. /***/ function(module, exports, __webpack_require__) {
  41062. "use strict";
  41063. 'use strict';
  41064. // 19.1.2.1 Object.assign(target, source, ...)
  41065. var getKeys = __webpack_require__(96)
  41066. , gOPS = __webpack_require__(163)
  41067. , pIE = __webpack_require__(164)
  41068. , toObject = __webpack_require__(38)
  41069. , IObject = __webpack_require__(118)
  41070. , $assign = Object.assign;
  41071. // should work with symbols and should have deterministic property order (V8 bug)
  41072. module.exports = !$assign || __webpack_require__(9)(function(){
  41073. var A = {}
  41074. , B = {}
  41075. , S = Symbol()
  41076. , K = 'abcdefghijklmnopqrst';
  41077. A[S] = 7;
  41078. K.split('').forEach(function(k){ B[k] = k; });
  41079. return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
  41080. }) ? function assign(target, source){ // eslint-disable-line no-unused-vars
  41081. var T = toObject(target)
  41082. , aLen = arguments.length
  41083. , index = 1
  41084. , getSymbols = gOPS.f
  41085. , isEnum = pIE.f;
  41086. while(aLen > index){
  41087. var S = IObject(arguments[index++])
  41088. , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)
  41089. , length = keys.length
  41090. , j = 0
  41091. , key;
  41092. while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];
  41093. } return T;
  41094. } : $assign;
  41095. /***/ },
  41096. /* 375 */
  41097. /***/ function(module, exports, __webpack_require__) {
  41098. var dP = __webpack_require__(17)
  41099. , anObject = __webpack_require__(8)
  41100. , getKeys = __webpack_require__(96);
  41101. module.exports = __webpack_require__(21) ? Object.defineProperties : function defineProperties(O, Properties){
  41102. anObject(O);
  41103. var keys = getKeys(Properties)
  41104. , length = keys.length
  41105. , i = 0
  41106. , P;
  41107. while(length > i)dP.f(O, P = keys[i++], Properties[P]);
  41108. return O;
  41109. };
  41110. /***/ },
  41111. /* 376 */
  41112. /***/ function(module, exports, __webpack_require__) {
  41113. // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
  41114. var toIObject = __webpack_require__(42)
  41115. , gOPN = __webpack_require__(79).f
  41116. , toString = {}.toString;
  41117. var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
  41118. ? Object.getOwnPropertyNames(window) : [];
  41119. var getWindowNames = function(it){
  41120. try {
  41121. return gOPN(it);
  41122. } catch(e){
  41123. return windowNames.slice();
  41124. }
  41125. };
  41126. module.exports.f = function getOwnPropertyNames(it){
  41127. return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
  41128. };
  41129. /***/ },
  41130. /* 377 */
  41131. /***/ function(module, exports, __webpack_require__) {
  41132. var has = __webpack_require__(32)
  41133. , toIObject = __webpack_require__(42)
  41134. , arrayIndexOf = __webpack_require__(236)(false)
  41135. , IE_PROTO = __webpack_require__(250)('IE_PROTO');
  41136. module.exports = function(object, names){
  41137. var O = toIObject(object)
  41138. , i = 0
  41139. , result = []
  41140. , key;
  41141. for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);
  41142. // Don't enum bug & hidden keys
  41143. while(names.length > i)if(has(O, key = names[i++])){
  41144. ~arrayIndexOf(result, key) || result.push(key);
  41145. }
  41146. return result;
  41147. };
  41148. /***/ },
  41149. /* 378 */
  41150. /***/ function(module, exports, __webpack_require__) {
  41151. var $parseFloat = __webpack_require__(11).parseFloat
  41152. , $trim = __webpack_require__(166).trim;
  41153. module.exports = 1 / $parseFloat(__webpack_require__(253) + '-0') !== -Infinity ? function parseFloat(str){
  41154. var string = $trim(String(str), 3)
  41155. , result = $parseFloat(string);
  41156. return result === 0 && string.charAt(0) == '-' ? -0 : result;
  41157. } : $parseFloat;
  41158. /***/ },
  41159. /* 379 */
  41160. /***/ function(module, exports, __webpack_require__) {
  41161. var $parseInt = __webpack_require__(11).parseInt
  41162. , $trim = __webpack_require__(166).trim
  41163. , ws = __webpack_require__(253)
  41164. , hex = /^[\-+]?0[xX]/;
  41165. module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){
  41166. var string = $trim(String(str), 3);
  41167. return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));
  41168. } : $parseInt;
  41169. /***/ },
  41170. /* 380 */
  41171. /***/ function(module, exports) {
  41172. // 7.2.9 SameValue(x, y)
  41173. module.exports = Object.is || function is(x, y){
  41174. return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
  41175. };
  41176. /***/ },
  41177. /* 381 */
  41178. /***/ function(module, exports, __webpack_require__) {
  41179. var toInteger = __webpack_require__(72)
  41180. , defined = __webpack_require__(59);
  41181. // true -> String#at
  41182. // false -> String#codePointAt
  41183. module.exports = function(TO_STRING){
  41184. return function(that, pos){
  41185. var s = String(defined(that))
  41186. , i = toInteger(pos)
  41187. , l = s.length
  41188. , a, b;
  41189. if(i < 0 || i >= l)return TO_STRING ? '' : undefined;
  41190. a = s.charCodeAt(i);
  41191. return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
  41192. ? TO_STRING ? s.charAt(i) : a
  41193. : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
  41194. };
  41195. };
  41196. /***/ },
  41197. /* 382 */
  41198. /***/ function(module, exports, __webpack_require__) {
  41199. "use strict";
  41200. 'use strict';
  41201. var toInteger = __webpack_require__(72)
  41202. , defined = __webpack_require__(59);
  41203. module.exports = function repeat(count){
  41204. var str = String(defined(this))
  41205. , res = ''
  41206. , n = toInteger(count);
  41207. if(n < 0 || n == Infinity)throw RangeError("Count can't be negative");
  41208. for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;
  41209. return res;
  41210. };
  41211. /***/ },
  41212. /* 383 */
  41213. /***/ function(module, exports, __webpack_require__) {
  41214. var ctx = __webpack_require__(58)
  41215. , invoke = __webpack_require__(368)
  41216. , html = __webpack_require__(241)
  41217. , cel = __webpack_require__(237)
  41218. , global = __webpack_require__(11)
  41219. , process = global.process
  41220. , setTask = global.setImmediate
  41221. , clearTask = global.clearImmediate
  41222. , MessageChannel = global.MessageChannel
  41223. , counter = 0
  41224. , queue = {}
  41225. , ONREADYSTATECHANGE = 'onreadystatechange'
  41226. , defer, channel, port;
  41227. var run = function(){
  41228. var id = +this;
  41229. if(queue.hasOwnProperty(id)){
  41230. var fn = queue[id];
  41231. delete queue[id];
  41232. fn();
  41233. }
  41234. };
  41235. var listener = function(event){
  41236. run.call(event.data);
  41237. };
  41238. // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
  41239. if(!setTask || !clearTask){
  41240. setTask = function setImmediate(fn){
  41241. var args = [], i = 1;
  41242. while(arguments.length > i)args.push(arguments[i++]);
  41243. queue[++counter] = function(){
  41244. invoke(typeof fn == 'function' ? fn : Function(fn), args);
  41245. };
  41246. defer(counter);
  41247. return counter;
  41248. };
  41249. clearTask = function clearImmediate(id){
  41250. delete queue[id];
  41251. };
  41252. // Node.js 0.8-
  41253. if(__webpack_require__(57)(process) == 'process'){
  41254. defer = function(id){
  41255. process.nextTick(ctx(run, id, 1));
  41256. };
  41257. // Browsers with MessageChannel, includes WebWorkers
  41258. } else if(MessageChannel){
  41259. channel = new MessageChannel;
  41260. port = channel.port2;
  41261. channel.port1.onmessage = listener;
  41262. defer = ctx(port.postMessage, port, 1);
  41263. // Browsers with postMessage, skip WebWorkers
  41264. // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
  41265. } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){
  41266. defer = function(id){
  41267. global.postMessage(id + '', '*');
  41268. };
  41269. global.addEventListener('message', listener, false);
  41270. // IE8-
  41271. } else if(ONREADYSTATECHANGE in cel('script')){
  41272. defer = function(id){
  41273. html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){
  41274. html.removeChild(this);
  41275. run.call(id);
  41276. };
  41277. };
  41278. // Rest old browsers
  41279. } else {
  41280. defer = function(id){
  41281. setTimeout(ctx(run, id, 1), 0);
  41282. };
  41283. }
  41284. }
  41285. module.exports = {
  41286. set: setTask,
  41287. clear: clearTask
  41288. };
  41289. /***/ },
  41290. /* 384 */
  41291. /***/ function(module, exports, __webpack_require__) {
  41292. exports.f = __webpack_require__(14);
  41293. /***/ },
  41294. /* 385 */
  41295. /***/ function(module, exports, __webpack_require__) {
  41296. "use strict";
  41297. 'use strict';
  41298. var addToUnscopables = __webpack_require__(116)
  41299. , step = __webpack_require__(372)
  41300. , Iterators = __webpack_require__(119)
  41301. , toIObject = __webpack_require__(42);
  41302. // 22.1.3.4 Array.prototype.entries()
  41303. // 22.1.3.13 Array.prototype.keys()
  41304. // 22.1.3.29 Array.prototype.values()
  41305. // 22.1.3.30 Array.prototype[@@iterator]()
  41306. module.exports = __webpack_require__(246)(Array, 'Array', function(iterated, kind){
  41307. this._t = toIObject(iterated); // target
  41308. this._i = 0; // next index
  41309. this._k = kind; // kind
  41310. // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
  41311. }, function(){
  41312. var O = this._t
  41313. , kind = this._k
  41314. , index = this._i++;
  41315. if(!O || index >= O.length){
  41316. this._t = undefined;
  41317. return step(1);
  41318. }
  41319. if(kind == 'keys' )return step(0, index);
  41320. if(kind == 'values')return step(0, O[index]);
  41321. return step(0, [index, O[index]]);
  41322. }, 'values');
  41323. // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
  41324. Iterators.Arguments = Iterators.Array;
  41325. addToUnscopables('keys');
  41326. addToUnscopables('values');
  41327. addToUnscopables('entries');
  41328. /***/ },
  41329. /* 386 */
  41330. /***/ function(module, exports, __webpack_require__) {
  41331. "use strict";
  41332. 'use strict';
  41333. var strong = __webpack_require__(364);
  41334. // 23.1 Map Objects
  41335. module.exports = __webpack_require__(160)('Map', function(get){
  41336. return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
  41337. }, {
  41338. // 23.1.3.6 Map.prototype.get(key)
  41339. get: function get(key){
  41340. var entry = strong.getEntry(this, key);
  41341. return entry && entry.v;
  41342. },
  41343. // 23.1.3.9 Map.prototype.set(key, value)
  41344. set: function set(key, value){
  41345. return strong.def(this, key === 0 ? 0 : key, value);
  41346. }
  41347. }, strong, true);
  41348. /***/ },
  41349. /* 387 */
  41350. /***/ function(module, exports, __webpack_require__) {
  41351. // 21.2.5.3 get RegExp.prototype.flags()
  41352. if(__webpack_require__(21) && /./g.flags != 'g')__webpack_require__(17).f(RegExp.prototype, 'flags', {
  41353. configurable: true,
  41354. get: __webpack_require__(240)
  41355. });
  41356. /***/ },
  41357. /* 388 */
  41358. /***/ function(module, exports, __webpack_require__) {
  41359. "use strict";
  41360. 'use strict';
  41361. var strong = __webpack_require__(364);
  41362. // 23.2 Set Objects
  41363. module.exports = __webpack_require__(160)('Set', function(get){
  41364. return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
  41365. }, {
  41366. // 23.2.3.1 Set.prototype.add(value)
  41367. add: function add(value){
  41368. return strong.def(this, value = value === 0 ? 0 : value, value);
  41369. }
  41370. }, strong);
  41371. /***/ },
  41372. /* 389 */
  41373. /***/ function(module, exports, __webpack_require__) {
  41374. "use strict";
  41375. 'use strict';
  41376. var each = __webpack_require__(45)(0)
  41377. , redefine = __webpack_require__(37)
  41378. , meta = __webpack_require__(70)
  41379. , assign = __webpack_require__(374)
  41380. , weak = __webpack_require__(365)
  41381. , isObject = __webpack_require__(10)
  41382. , getWeak = meta.getWeak
  41383. , isExtensible = Object.isExtensible
  41384. , uncaughtFrozenStore = weak.ufstore
  41385. , tmp = {}
  41386. , InternalMap;
  41387. var wrapper = function(get){
  41388. return function WeakMap(){
  41389. return get(this, arguments.length > 0 ? arguments[0] : undefined);
  41390. };
  41391. };
  41392. var methods = {
  41393. // 23.3.3.3 WeakMap.prototype.get(key)
  41394. get: function get(key){
  41395. if(isObject(key)){
  41396. var data = getWeak(key);
  41397. if(data === true)return uncaughtFrozenStore(this).get(key);
  41398. return data ? data[this._i] : undefined;
  41399. }
  41400. },
  41401. // 23.3.3.5 WeakMap.prototype.set(key, value)
  41402. set: function set(key, value){
  41403. return weak.def(this, key, value);
  41404. }
  41405. };
  41406. // 23.3 WeakMap Objects
  41407. var $WeakMap = module.exports = __webpack_require__(160)('WeakMap', wrapper, methods, weak, true, true);
  41408. // IE11 WeakMap frozen keys fix
  41409. if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){
  41410. InternalMap = weak.getConstructor(wrapper);
  41411. assign(InternalMap.prototype, methods);
  41412. meta.NEED = true;
  41413. each(['delete', 'has', 'get', 'set'], function(key){
  41414. var proto = $WeakMap.prototype
  41415. , method = proto[key];
  41416. redefine(proto, key, function(a, b){
  41417. // store frozen objects on internal weakmap shim
  41418. if(isObject(a) && !isExtensible(a)){
  41419. if(!this._f)this._f = new InternalMap;
  41420. var result = this._f[key](a, b);
  41421. return key == 'set' ? this : result;
  41422. // store all the rest on native weakmap
  41423. } return method.call(this, a, b);
  41424. });
  41425. });
  41426. }
  41427. /***/ },
  41428. /* 390 */
  41429. /***/ function(module, exports) {
  41430. // shim for using process in browser
  41431. var process = module.exports = {};
  41432. // cached from whatever global is present so that test runners that stub it
  41433. // don't break things. But we need to wrap it in a try catch in case it is
  41434. // wrapped in strict mode code which doesn't define any globals. It's inside a
  41435. // function because try/catches deoptimize in certain engines.
  41436. var cachedSetTimeout;
  41437. var cachedClearTimeout;
  41438. function defaultSetTimout() {
  41439. throw new Error('setTimeout has not been defined');
  41440. }
  41441. function defaultClearTimeout () {
  41442. throw new Error('clearTimeout has not been defined');
  41443. }
  41444. (function () {
  41445. try {
  41446. if (typeof setTimeout === 'function') {
  41447. cachedSetTimeout = setTimeout;
  41448. } else {
  41449. cachedSetTimeout = defaultSetTimout;
  41450. }
  41451. } catch (e) {
  41452. cachedSetTimeout = defaultSetTimout;
  41453. }
  41454. try {
  41455. if (typeof clearTimeout === 'function') {
  41456. cachedClearTimeout = clearTimeout;
  41457. } else {
  41458. cachedClearTimeout = defaultClearTimeout;
  41459. }
  41460. } catch (e) {
  41461. cachedClearTimeout = defaultClearTimeout;
  41462. }
  41463. } ())
  41464. function runTimeout(fun) {
  41465. if (cachedSetTimeout === setTimeout) {
  41466. //normal enviroments in sane situations
  41467. return setTimeout(fun, 0);
  41468. }
  41469. // if setTimeout wasn't available but was latter defined
  41470. if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
  41471. cachedSetTimeout = setTimeout;
  41472. return setTimeout(fun, 0);
  41473. }
  41474. try {
  41475. // when when somebody has screwed with setTimeout but no I.E. maddness
  41476. return cachedSetTimeout(fun, 0);
  41477. } catch(e){
  41478. try {
  41479. // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
  41480. return cachedSetTimeout.call(null, fun, 0);
  41481. } catch(e){
  41482. // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
  41483. return cachedSetTimeout.call(this, fun, 0);
  41484. }
  41485. }
  41486. }
  41487. function runClearTimeout(marker) {
  41488. if (cachedClearTimeout === clearTimeout) {
  41489. //normal enviroments in sane situations
  41490. return clearTimeout(marker);
  41491. }
  41492. // if clearTimeout wasn't available but was latter defined
  41493. if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
  41494. cachedClearTimeout = clearTimeout;
  41495. return clearTimeout(marker);
  41496. }
  41497. try {
  41498. // when when somebody has screwed with setTimeout but no I.E. maddness
  41499. return cachedClearTimeout(marker);
  41500. } catch (e){
  41501. try {
  41502. // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
  41503. return cachedClearTimeout.call(null, marker);
  41504. } catch (e){
  41505. // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
  41506. // Some versions of I.E. have different rules for clearTimeout vs setTimeout
  41507. return cachedClearTimeout.call(this, marker);
  41508. }
  41509. }
  41510. }
  41511. var queue = [];
  41512. var draining = false;
  41513. var currentQueue;
  41514. var queueIndex = -1;
  41515. function cleanUpNextTick() {
  41516. if (!draining || !currentQueue) {
  41517. return;
  41518. }
  41519. draining = false;
  41520. if (currentQueue.length) {
  41521. queue = currentQueue.concat(queue);
  41522. } else {
  41523. queueIndex = -1;
  41524. }
  41525. if (queue.length) {
  41526. drainQueue();
  41527. }
  41528. }
  41529. function drainQueue() {
  41530. if (draining) {
  41531. return;
  41532. }
  41533. var timeout = runTimeout(cleanUpNextTick);
  41534. draining = true;
  41535. var len = queue.length;
  41536. while(len) {
  41537. currentQueue = queue;
  41538. queue = [];
  41539. while (++queueIndex < len) {
  41540. if (currentQueue) {
  41541. currentQueue[queueIndex].run();
  41542. }
  41543. }
  41544. queueIndex = -1;
  41545. len = queue.length;
  41546. }
  41547. currentQueue = null;
  41548. draining = false;
  41549. runClearTimeout(timeout);
  41550. }
  41551. process.nextTick = function (fun) {
  41552. var args = new Array(arguments.length - 1);
  41553. if (arguments.length > 1) {
  41554. for (var i = 1; i < arguments.length; i++) {
  41555. args[i - 1] = arguments[i];
  41556. }
  41557. }
  41558. queue.push(new Item(fun, args));
  41559. if (queue.length === 1 && !draining) {
  41560. runTimeout(drainQueue);
  41561. }
  41562. };
  41563. // v8 likes predictible objects
  41564. function Item(fun, array) {
  41565. this.fun = fun;
  41566. this.array = array;
  41567. }
  41568. Item.prototype.run = function () {
  41569. this.fun.apply(null, this.array);
  41570. };
  41571. process.title = 'browser';
  41572. process.browser = true;
  41573. process.env = {};
  41574. process.argv = [];
  41575. process.version = ''; // empty string to avoid regexp issues
  41576. process.versions = {};
  41577. function noop() {}
  41578. process.on = noop;
  41579. process.addListener = noop;
  41580. process.once = noop;
  41581. process.off = noop;
  41582. process.removeListener = noop;
  41583. process.removeAllListeners = noop;
  41584. process.emit = noop;
  41585. process.binding = function (name) {
  41586. throw new Error('process.binding is not supported');
  41587. };
  41588. process.cwd = function () { return '/' };
  41589. process.chdir = function (dir) {
  41590. throw new Error('process.chdir is not supported');
  41591. };
  41592. process.umask = function() { return 0; };
  41593. /***/ },
  41594. /* 391 */
  41595. /***/ function(module, exports, __webpack_require__) {
  41596. "use strict";
  41597. "use strict";
  41598. var Observable_1 = __webpack_require__(0);
  41599. var catch_1 = __webpack_require__(397);
  41600. Observable_1.Observable.prototype.catch = catch_1._catch;
  41601. Observable_1.Observable.prototype._catch = catch_1._catch;
  41602. //# sourceMappingURL=catch.js.map
  41603. /***/ },
  41604. /* 392 */
  41605. /***/ function(module, exports, __webpack_require__) {
  41606. "use strict";
  41607. "use strict";
  41608. var Observable_1 = __webpack_require__(0);
  41609. var delay_1 = __webpack_require__(880);
  41610. Observable_1.Observable.prototype.delay = delay_1.delay;
  41611. //# sourceMappingURL=delay.js.map
  41612. /***/ },
  41613. /* 393 */
  41614. /***/ function(module, exports, __webpack_require__) {
  41615. "use strict";
  41616. "use strict";
  41617. var __extends = (this && this.__extends) || function (d, b) {
  41618. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  41619. function __() { this.constructor = d; }
  41620. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  41621. };
  41622. var isArray_1 = __webpack_require__(48);
  41623. var isPromise_1 = __webpack_require__(418);
  41624. var PromiseObservable_1 = __webpack_require__(395);
  41625. var IteratorObservable_1 = __webpack_require__(836);
  41626. var ArrayObservable_1 = __webpack_require__(63);
  41627. var ArrayLikeObservable_1 = __webpack_require__(825);
  41628. var iterator_1 = __webpack_require__(124);
  41629. var Observable_1 = __webpack_require__(0);
  41630. var observeOn_1 = __webpack_require__(263);
  41631. var observable_1 = __webpack_require__(173);
  41632. var isArrayLike = (function (x) { return x && typeof x.length === 'number'; });
  41633. /**
  41634. * We need this JSDoc comment for affecting ESDoc.
  41635. * @extends {Ignored}
  41636. * @hide true
  41637. */
  41638. var FromObservable = (function (_super) {
  41639. __extends(FromObservable, _super);
  41640. function FromObservable(ish, scheduler) {
  41641. _super.call(this, null);
  41642. this.ish = ish;
  41643. this.scheduler = scheduler;
  41644. }
  41645. /**
  41646. * Creates an Observable from an Array, an array-like object, a Promise, an
  41647. * iterable object, or an Observable-like object.
  41648. *
  41649. * <span class="informal">Converts almost anything to an Observable.</span>
  41650. *
  41651. * <img src="./img/from.png" width="100%">
  41652. *
  41653. * Convert various other objects and data types into Observables. `from`
  41654. * converts a Promise or an array-like or an
  41655. * [iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#iterable)
  41656. * object into an Observable that emits the items in that promise or array or
  41657. * iterable. A String, in this context, is treated as an array of characters.
  41658. * Observable-like objects (contains a function named with the ES2015 Symbol
  41659. * for Observable) can also be converted through this operator.
  41660. *
  41661. * @example <caption>Converts an array to an Observable</caption>
  41662. * var array = [10, 20, 30];
  41663. * var result = Rx.Observable.from(array);
  41664. * result.subscribe(x => console.log(x));
  41665. *
  41666. * @example <caption>Convert an infinite iterable (from a generator) to an Observable</caption>
  41667. * function* generateDoubles(seed) {
  41668. * var i = seed;
  41669. * while (true) {
  41670. * yield i;
  41671. * i = 2 * i; // double it
  41672. * }
  41673. * }
  41674. *
  41675. * var iterator = generateDoubles(3);
  41676. * var result = Rx.Observable.from(iterator).take(10);
  41677. * result.subscribe(x => console.log(x));
  41678. *
  41679. * @see {@link create}
  41680. * @see {@link fromEvent}
  41681. * @see {@link fromEventPattern}
  41682. * @see {@link fromPromise}
  41683. *
  41684. * @param {ObservableInput<T>} ish A subscribable object, a Promise, an
  41685. * Observable-like, an Array, an iterable or an array-like object to be
  41686. * converted.
  41687. * @param {Scheduler} [scheduler] The scheduler on which to schedule the
  41688. * emissions of values.
  41689. * @return {Observable<T>} The Observable whose values are originally from the
  41690. * input object that was converted.
  41691. * @static true
  41692. * @name from
  41693. * @owner Observable
  41694. */
  41695. FromObservable.create = function (ish, scheduler) {
  41696. if (ish != null) {
  41697. if (typeof ish[observable_1.$$observable] === 'function') {
  41698. if (ish instanceof Observable_1.Observable && !scheduler) {
  41699. return ish;
  41700. }
  41701. return new FromObservable(ish, scheduler);
  41702. }
  41703. else if (isArray_1.isArray(ish)) {
  41704. return new ArrayObservable_1.ArrayObservable(ish, scheduler);
  41705. }
  41706. else if (isPromise_1.isPromise(ish)) {
  41707. return new PromiseObservable_1.PromiseObservable(ish, scheduler);
  41708. }
  41709. else if (typeof ish[iterator_1.$$iterator] === 'function' || typeof ish === 'string') {
  41710. return new IteratorObservable_1.IteratorObservable(ish, scheduler);
  41711. }
  41712. else if (isArrayLike(ish)) {
  41713. return new ArrayLikeObservable_1.ArrayLikeObservable(ish, scheduler);
  41714. }
  41715. }
  41716. throw new TypeError((ish !== null && typeof ish || ish) + ' is not observable');
  41717. };
  41718. FromObservable.prototype._subscribe = function (subscriber) {
  41719. var ish = this.ish;
  41720. var scheduler = this.scheduler;
  41721. if (scheduler == null) {
  41722. return ish[observable_1.$$observable]().subscribe(subscriber);
  41723. }
  41724. else {
  41725. return ish[observable_1.$$observable]().subscribe(new observeOn_1.ObserveOnSubscriber(subscriber, scheduler, 0));
  41726. }
  41727. };
  41728. return FromObservable;
  41729. }(Observable_1.Observable));
  41730. exports.FromObservable = FromObservable;
  41731. //# sourceMappingURL=FromObservable.js.map
  41732. /***/ },
  41733. /* 394 */
  41734. /***/ function(module, exports, __webpack_require__) {
  41735. "use strict";
  41736. "use strict";
  41737. var __extends = (this && this.__extends) || function (d, b) {
  41738. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  41739. function __() { this.constructor = d; }
  41740. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  41741. };
  41742. var Observable_1 = __webpack_require__(0);
  41743. var ConnectableObservable_1 = __webpack_require__(256);
  41744. var MulticastObservable = (function (_super) {
  41745. __extends(MulticastObservable, _super);
  41746. function MulticastObservable(source, subjectFactory, selector) {
  41747. _super.call(this);
  41748. this.source = source;
  41749. this.subjectFactory = subjectFactory;
  41750. this.selector = selector;
  41751. }
  41752. MulticastObservable.prototype._subscribe = function (subscriber) {
  41753. var _a = this, selector = _a.selector, source = _a.source;
  41754. var connectable = new ConnectableObservable_1.ConnectableObservable(source, this.subjectFactory);
  41755. var subscription = selector(connectable).subscribe(subscriber);
  41756. subscription.add(connectable.connect());
  41757. return subscription;
  41758. };
  41759. return MulticastObservable;
  41760. }(Observable_1.Observable));
  41761. exports.MulticastObservable = MulticastObservable;
  41762. //# sourceMappingURL=MulticastObservable.js.map
  41763. /***/ },
  41764. /* 395 */
  41765. /***/ function(module, exports, __webpack_require__) {
  41766. "use strict";
  41767. "use strict";
  41768. var __extends = (this && this.__extends) || function (d, b) {
  41769. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  41770. function __() { this.constructor = d; }
  41771. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  41772. };
  41773. var root_1 = __webpack_require__(27);
  41774. var Observable_1 = __webpack_require__(0);
  41775. /**
  41776. * We need this JSDoc comment for affecting ESDoc.
  41777. * @extends {Ignored}
  41778. * @hide true
  41779. */
  41780. var PromiseObservable = (function (_super) {
  41781. __extends(PromiseObservable, _super);
  41782. function PromiseObservable(promise, scheduler) {
  41783. _super.call(this);
  41784. this.promise = promise;
  41785. this.scheduler = scheduler;
  41786. }
  41787. /**
  41788. * Converts a Promise to an Observable.
  41789. *
  41790. * <span class="informal">Returns an Observable that just emits the Promise's
  41791. * resolved value, then completes.</span>
  41792. *
  41793. * Converts an ES2015 Promise or a Promises/A+ spec compliant Promise to an
  41794. * Observable. If the Promise resolves with a value, the output Observable
  41795. * emits that resolved value as a `next`, and then completes. If the Promise
  41796. * is rejected, then the output Observable emits the corresponding Error.
  41797. *
  41798. * @example <caption>Convert the Promise returned by Fetch to an Observable</caption>
  41799. * var result = Rx.Observable.fromPromise(fetch('http://myserver.com/'));
  41800. * result.subscribe(x => console.log(x), e => console.error(e));
  41801. *
  41802. * @see {@link bindCallback}
  41803. * @see {@link from}
  41804. *
  41805. * @param {Promise<T>} promise The promise to be converted.
  41806. * @param {Scheduler} [scheduler] An optional Scheduler to use for scheduling
  41807. * the delivery of the resolved value (or the rejection).
  41808. * @return {Observable<T>} An Observable which wraps the Promise.
  41809. * @static true
  41810. * @name fromPromise
  41811. * @owner Observable
  41812. */
  41813. PromiseObservable.create = function (promise, scheduler) {
  41814. return new PromiseObservable(promise, scheduler);
  41815. };
  41816. PromiseObservable.prototype._subscribe = function (subscriber) {
  41817. var _this = this;
  41818. var promise = this.promise;
  41819. var scheduler = this.scheduler;
  41820. if (scheduler == null) {
  41821. if (this._isScalar) {
  41822. if (!subscriber.closed) {
  41823. subscriber.next(this.value);
  41824. subscriber.complete();
  41825. }
  41826. }
  41827. else {
  41828. promise.then(function (value) {
  41829. _this.value = value;
  41830. _this._isScalar = true;
  41831. if (!subscriber.closed) {
  41832. subscriber.next(value);
  41833. subscriber.complete();
  41834. }
  41835. }, function (err) {
  41836. if (!subscriber.closed) {
  41837. subscriber.error(err);
  41838. }
  41839. })
  41840. .then(null, function (err) {
  41841. // escape the promise trap, throw unhandled errors
  41842. root_1.root.setTimeout(function () { throw err; });
  41843. });
  41844. }
  41845. }
  41846. else {
  41847. if (this._isScalar) {
  41848. if (!subscriber.closed) {
  41849. return scheduler.schedule(dispatchNext, 0, { value: this.value, subscriber: subscriber });
  41850. }
  41851. }
  41852. else {
  41853. promise.then(function (value) {
  41854. _this.value = value;
  41855. _this._isScalar = true;
  41856. if (!subscriber.closed) {
  41857. subscriber.add(scheduler.schedule(dispatchNext, 0, { value: value, subscriber: subscriber }));
  41858. }
  41859. }, function (err) {
  41860. if (!subscriber.closed) {
  41861. subscriber.add(scheduler.schedule(dispatchError, 0, { err: err, subscriber: subscriber }));
  41862. }
  41863. })
  41864. .then(null, function (err) {
  41865. // escape the promise trap, throw unhandled errors
  41866. root_1.root.setTimeout(function () { throw err; });
  41867. });
  41868. }
  41869. }
  41870. };
  41871. return PromiseObservable;
  41872. }(Observable_1.Observable));
  41873. exports.PromiseObservable = PromiseObservable;
  41874. function dispatchNext(arg) {
  41875. var value = arg.value, subscriber = arg.subscriber;
  41876. if (!subscriber.closed) {
  41877. subscriber.next(value);
  41878. subscriber.complete();
  41879. }
  41880. }
  41881. function dispatchError(arg) {
  41882. var err = arg.err, subscriber = arg.subscriber;
  41883. if (!subscriber.closed) {
  41884. subscriber.error(err);
  41885. }
  41886. }
  41887. //# sourceMappingURL=PromiseObservable.js.map
  41888. /***/ },
  41889. /* 396 */
  41890. /***/ function(module, exports, __webpack_require__) {
  41891. "use strict";
  41892. "use strict";
  41893. var __extends = (this && this.__extends) || function (d, b) {
  41894. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  41895. function __() { this.constructor = d; }
  41896. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  41897. };
  41898. var root_1 = __webpack_require__(27);
  41899. var tryCatch_1 = __webpack_require__(24);
  41900. var errorObject_1 = __webpack_require__(23);
  41901. var Observable_1 = __webpack_require__(0);
  41902. var Subscriber_1 = __webpack_require__(3);
  41903. var map_1 = __webpack_require__(82);
  41904. function getCORSRequest() {
  41905. if (root_1.root.XMLHttpRequest) {
  41906. var xhr = new root_1.root.XMLHttpRequest();
  41907. if ('withCredentials' in xhr) {
  41908. xhr.withCredentials = !!this.withCredentials;
  41909. }
  41910. return xhr;
  41911. }
  41912. else if (!!root_1.root.XDomainRequest) {
  41913. return new root_1.root.XDomainRequest();
  41914. }
  41915. else {
  41916. throw new Error('CORS is not supported by your browser');
  41917. }
  41918. }
  41919. function getXMLHttpRequest() {
  41920. if (root_1.root.XMLHttpRequest) {
  41921. return new root_1.root.XMLHttpRequest();
  41922. }
  41923. else {
  41924. var progId = void 0;
  41925. try {
  41926. var progIds = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];
  41927. for (var i = 0; i < 3; i++) {
  41928. try {
  41929. progId = progIds[i];
  41930. if (new root_1.root.ActiveXObject(progId)) {
  41931. break;
  41932. }
  41933. }
  41934. catch (e) {
  41935. }
  41936. }
  41937. return new root_1.root.ActiveXObject(progId);
  41938. }
  41939. catch (e) {
  41940. throw new Error('XMLHttpRequest is not supported by your browser');
  41941. }
  41942. }
  41943. }
  41944. function ajaxGet(url, headers) {
  41945. if (headers === void 0) { headers = null; }
  41946. return new AjaxObservable({ method: 'GET', url: url, headers: headers });
  41947. }
  41948. exports.ajaxGet = ajaxGet;
  41949. ;
  41950. function ajaxPost(url, body, headers) {
  41951. return new AjaxObservable({ method: 'POST', url: url, body: body, headers: headers });
  41952. }
  41953. exports.ajaxPost = ajaxPost;
  41954. ;
  41955. function ajaxDelete(url, headers) {
  41956. return new AjaxObservable({ method: 'DELETE', url: url, headers: headers });
  41957. }
  41958. exports.ajaxDelete = ajaxDelete;
  41959. ;
  41960. function ajaxPut(url, body, headers) {
  41961. return new AjaxObservable({ method: 'PUT', url: url, body: body, headers: headers });
  41962. }
  41963. exports.ajaxPut = ajaxPut;
  41964. ;
  41965. function ajaxGetJSON(url, headers) {
  41966. return new AjaxObservable({ method: 'GET', url: url, responseType: 'json', headers: headers })
  41967. .lift(new map_1.MapOperator(function (x, index) { return x.response; }, null));
  41968. }
  41969. exports.ajaxGetJSON = ajaxGetJSON;
  41970. ;
  41971. /**
  41972. * We need this JSDoc comment for affecting ESDoc.
  41973. * @extends {Ignored}
  41974. * @hide true
  41975. */
  41976. var AjaxObservable = (function (_super) {
  41977. __extends(AjaxObservable, _super);
  41978. function AjaxObservable(urlOrRequest) {
  41979. _super.call(this);
  41980. var request = {
  41981. async: true,
  41982. createXHR: function () {
  41983. return this.crossDomain ? getCORSRequest.call(this) : getXMLHttpRequest();
  41984. },
  41985. crossDomain: false,
  41986. withCredentials: false,
  41987. headers: {},
  41988. method: 'GET',
  41989. responseType: 'json',
  41990. timeout: 0
  41991. };
  41992. if (typeof urlOrRequest === 'string') {
  41993. request.url = urlOrRequest;
  41994. }
  41995. else {
  41996. for (var prop in urlOrRequest) {
  41997. if (urlOrRequest.hasOwnProperty(prop)) {
  41998. request[prop] = urlOrRequest[prop];
  41999. }
  42000. }
  42001. }
  42002. this.request = request;
  42003. }
  42004. AjaxObservable.prototype._subscribe = function (subscriber) {
  42005. return new AjaxSubscriber(subscriber, this.request);
  42006. };
  42007. /**
  42008. * Creates an observable for an Ajax request with either a request object with
  42009. * url, headers, etc or a string for a URL.
  42010. *
  42011. * @example
  42012. * source = Rx.Observable.ajax('/products');
  42013. * source = Rx.Observable.ajax({ url: 'products', method: 'GET' });
  42014. *
  42015. * @param {string|Object} request Can be one of the following:
  42016. * A string of the URL to make the Ajax call.
  42017. * An object with the following properties
  42018. * - url: URL of the request
  42019. * - body: The body of the request
  42020. * - method: Method of the request, such as GET, POST, PUT, PATCH, DELETE
  42021. * - async: Whether the request is async
  42022. * - headers: Optional headers
  42023. * - crossDomain: true if a cross domain request, else false
  42024. * - createXHR: a function to override if you need to use an alternate
  42025. * XMLHttpRequest implementation.
  42026. * - resultSelector: a function to use to alter the output value type of
  42027. * the Observable. Gets {@link AjaxResponse} as an argument.
  42028. * @return {Observable} An observable sequence containing the XMLHttpRequest.
  42029. * @static true
  42030. * @name ajax
  42031. * @owner Observable
  42032. */
  42033. AjaxObservable.create = (function () {
  42034. var create = function (urlOrRequest) {
  42035. return new AjaxObservable(urlOrRequest);
  42036. };
  42037. create.get = ajaxGet;
  42038. create.post = ajaxPost;
  42039. create.delete = ajaxDelete;
  42040. create.put = ajaxPut;
  42041. create.getJSON = ajaxGetJSON;
  42042. return create;
  42043. })();
  42044. return AjaxObservable;
  42045. }(Observable_1.Observable));
  42046. exports.AjaxObservable = AjaxObservable;
  42047. /**
  42048. * We need this JSDoc comment for affecting ESDoc.
  42049. * @ignore
  42050. * @extends {Ignored}
  42051. */
  42052. var AjaxSubscriber = (function (_super) {
  42053. __extends(AjaxSubscriber, _super);
  42054. function AjaxSubscriber(destination, request) {
  42055. _super.call(this, destination);
  42056. this.request = request;
  42057. this.done = false;
  42058. var headers = request.headers = request.headers || {};
  42059. // force CORS if requested
  42060. if (!request.crossDomain && !headers['X-Requested-With']) {
  42061. headers['X-Requested-With'] = 'XMLHttpRequest';
  42062. }
  42063. // ensure content type is set
  42064. if (!('Content-Type' in headers) && !(root_1.root.FormData && request.body instanceof root_1.root.FormData) && typeof request.body !== 'undefined') {
  42065. headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
  42066. }
  42067. // properly serialize body
  42068. request.body = this.serializeBody(request.body, request.headers['Content-Type']);
  42069. this.send();
  42070. }
  42071. AjaxSubscriber.prototype.next = function (e) {
  42072. this.done = true;
  42073. var _a = this, xhr = _a.xhr, request = _a.request, destination = _a.destination;
  42074. var response = new AjaxResponse(e, xhr, request);
  42075. destination.next(response);
  42076. };
  42077. AjaxSubscriber.prototype.send = function () {
  42078. var _a = this, request = _a.request, _b = _a.request, user = _b.user, method = _b.method, url = _b.url, async = _b.async, password = _b.password, headers = _b.headers, body = _b.body;
  42079. var createXHR = request.createXHR;
  42080. var xhr = tryCatch_1.tryCatch(createXHR).call(request);
  42081. if (xhr === errorObject_1.errorObject) {
  42082. this.error(errorObject_1.errorObject.e);
  42083. }
  42084. else {
  42085. this.xhr = xhr;
  42086. // open XHR first
  42087. var result = void 0;
  42088. if (user) {
  42089. result = tryCatch_1.tryCatch(xhr.open).call(xhr, method, url, async, user, password);
  42090. }
  42091. else {
  42092. result = tryCatch_1.tryCatch(xhr.open).call(xhr, method, url, async);
  42093. }
  42094. if (result === errorObject_1.errorObject) {
  42095. this.error(errorObject_1.errorObject.e);
  42096. return null;
  42097. }
  42098. // timeout and responseType can be set once the XHR is open
  42099. xhr.timeout = request.timeout;
  42100. xhr.responseType = request.responseType;
  42101. // set headers
  42102. this.setHeaders(xhr, headers);
  42103. // now set up the events
  42104. this.setupEvents(xhr, request);
  42105. // finally send the request
  42106. if (body) {
  42107. xhr.send(body);
  42108. }
  42109. else {
  42110. xhr.send();
  42111. }
  42112. }
  42113. return xhr;
  42114. };
  42115. AjaxSubscriber.prototype.serializeBody = function (body, contentType) {
  42116. if (!body || typeof body === 'string') {
  42117. return body;
  42118. }
  42119. else if (root_1.root.FormData && body instanceof root_1.root.FormData) {
  42120. return body;
  42121. }
  42122. if (contentType) {
  42123. var splitIndex = contentType.indexOf(';');
  42124. if (splitIndex !== -1) {
  42125. contentType = contentType.substring(0, splitIndex);
  42126. }
  42127. }
  42128. switch (contentType) {
  42129. case 'application/x-www-form-urlencoded':
  42130. return Object.keys(body).map(function (key) { return (encodeURI(key) + "=" + encodeURI(body[key])); }).join('&');
  42131. case 'application/json':
  42132. return JSON.stringify(body);
  42133. default:
  42134. return body;
  42135. }
  42136. };
  42137. AjaxSubscriber.prototype.setHeaders = function (xhr, headers) {
  42138. for (var key in headers) {
  42139. if (headers.hasOwnProperty(key)) {
  42140. xhr.setRequestHeader(key, headers[key]);
  42141. }
  42142. }
  42143. };
  42144. AjaxSubscriber.prototype.setupEvents = function (xhr, request) {
  42145. var progressSubscriber = request.progressSubscriber;
  42146. xhr.ontimeout = function xhrTimeout(e) {
  42147. var _a = xhrTimeout, subscriber = _a.subscriber, progressSubscriber = _a.progressSubscriber, request = _a.request;
  42148. if (progressSubscriber) {
  42149. progressSubscriber.error(e);
  42150. }
  42151. subscriber.error(new AjaxTimeoutError(this, request)); //TODO: Make betterer.
  42152. };
  42153. xhr.ontimeout.request = request;
  42154. xhr.ontimeout.subscriber = this;
  42155. xhr.ontimeout.progressSubscriber = progressSubscriber;
  42156. if (xhr.upload && 'withCredentials' in xhr && root_1.root.XDomainRequest) {
  42157. if (progressSubscriber) {
  42158. xhr.onprogress = function xhrProgress(e) {
  42159. var progressSubscriber = xhrProgress.progressSubscriber;
  42160. progressSubscriber.next(e);
  42161. };
  42162. xhr.onprogress.progressSubscriber = progressSubscriber;
  42163. }
  42164. xhr.onerror = function xhrError(e) {
  42165. var _a = xhrError, progressSubscriber = _a.progressSubscriber, subscriber = _a.subscriber, request = _a.request;
  42166. if (progressSubscriber) {
  42167. progressSubscriber.error(e);
  42168. }
  42169. subscriber.error(new AjaxError('ajax error', this, request));
  42170. };
  42171. xhr.onerror.request = request;
  42172. xhr.onerror.subscriber = this;
  42173. xhr.onerror.progressSubscriber = progressSubscriber;
  42174. }
  42175. xhr.onreadystatechange = function xhrReadyStateChange(e) {
  42176. var _a = xhrReadyStateChange, subscriber = _a.subscriber, progressSubscriber = _a.progressSubscriber, request = _a.request;
  42177. if (this.readyState === 4) {
  42178. // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)
  42179. var status_1 = this.status === 1223 ? 204 : this.status;
  42180. var response = (this.responseType === 'text' ? (this.response || this.responseText) : this.response);
  42181. // fix status code when it is 0 (0 status is undocumented).
  42182. // Occurs when accessing file resources or on Android 4.1 stock browser
  42183. // while retrieving files from application cache.
  42184. if (status_1 === 0) {
  42185. status_1 = response ? 200 : 0;
  42186. }
  42187. if (200 <= status_1 && status_1 < 300) {
  42188. if (progressSubscriber) {
  42189. progressSubscriber.complete();
  42190. }
  42191. subscriber.next(e);
  42192. subscriber.complete();
  42193. }
  42194. else {
  42195. if (progressSubscriber) {
  42196. progressSubscriber.error(e);
  42197. }
  42198. subscriber.error(new AjaxError('ajax error ' + status_1, this, request));
  42199. }
  42200. }
  42201. };
  42202. xhr.onreadystatechange.subscriber = this;
  42203. xhr.onreadystatechange.progressSubscriber = progressSubscriber;
  42204. xhr.onreadystatechange.request = request;
  42205. };
  42206. AjaxSubscriber.prototype.unsubscribe = function () {
  42207. var _a = this, done = _a.done, xhr = _a.xhr;
  42208. if (!done && xhr && xhr.readyState !== 4) {
  42209. xhr.abort();
  42210. }
  42211. _super.prototype.unsubscribe.call(this);
  42212. };
  42213. return AjaxSubscriber;
  42214. }(Subscriber_1.Subscriber));
  42215. exports.AjaxSubscriber = AjaxSubscriber;
  42216. /**
  42217. * A normalized AJAX response.
  42218. *
  42219. * @see {@link ajax}
  42220. *
  42221. * @class AjaxResponse
  42222. */
  42223. var AjaxResponse = (function () {
  42224. function AjaxResponse(originalEvent, xhr, request) {
  42225. this.originalEvent = originalEvent;
  42226. this.xhr = xhr;
  42227. this.request = request;
  42228. this.status = xhr.status;
  42229. this.responseType = xhr.responseType || request.responseType;
  42230. switch (this.responseType) {
  42231. case 'json':
  42232. if ('response' in xhr) {
  42233. //IE does not support json as responseType, parse it internally
  42234. this.response = xhr.responseType ? xhr.response : JSON.parse(xhr.response || xhr.responseText || 'null');
  42235. }
  42236. else {
  42237. this.response = JSON.parse(xhr.responseText || 'null');
  42238. }
  42239. break;
  42240. case 'xml':
  42241. this.response = xhr.responseXML;
  42242. break;
  42243. case 'text':
  42244. default:
  42245. this.response = ('response' in xhr) ? xhr.response : xhr.responseText;
  42246. break;
  42247. }
  42248. }
  42249. return AjaxResponse;
  42250. }());
  42251. exports.AjaxResponse = AjaxResponse;
  42252. /**
  42253. * A normalized AJAX error.
  42254. *
  42255. * @see {@link ajax}
  42256. *
  42257. * @class AjaxError
  42258. */
  42259. var AjaxError = (function (_super) {
  42260. __extends(AjaxError, _super);
  42261. function AjaxError(message, xhr, request) {
  42262. _super.call(this, message);
  42263. this.message = message;
  42264. this.xhr = xhr;
  42265. this.request = request;
  42266. this.status = xhr.status;
  42267. }
  42268. return AjaxError;
  42269. }(Error));
  42270. exports.AjaxError = AjaxError;
  42271. /**
  42272. * @see {@link ajax}
  42273. *
  42274. * @class AjaxTimeoutError
  42275. */
  42276. var AjaxTimeoutError = (function (_super) {
  42277. __extends(AjaxTimeoutError, _super);
  42278. function AjaxTimeoutError(xhr, request) {
  42279. _super.call(this, 'ajax timeout', xhr, request);
  42280. }
  42281. return AjaxTimeoutError;
  42282. }(AjaxError));
  42283. exports.AjaxTimeoutError = AjaxTimeoutError;
  42284. //# sourceMappingURL=AjaxObservable.js.map
  42285. /***/ },
  42286. /* 397 */
  42287. /***/ function(module, exports, __webpack_require__) {
  42288. "use strict";
  42289. "use strict";
  42290. var __extends = (this && this.__extends) || function (d, b) {
  42291. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  42292. function __() { this.constructor = d; }
  42293. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  42294. };
  42295. var OuterSubscriber_1 = __webpack_require__(6);
  42296. var subscribeToResult_1 = __webpack_require__(7);
  42297. /**
  42298. * Catches errors on the observable to be handled by returning a new observable or throwing an error.
  42299. * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which
  42300. * is the source observable, in case you'd like to "retry" that observable by returning it again. Whatever observable
  42301. * is returned by the `selector` will be used to continue the observable chain.
  42302. * @return {Observable} an observable that originates from either the source or the observable returned by the
  42303. * catch `selector` function.
  42304. * @method catch
  42305. * @owner Observable
  42306. */
  42307. function _catch(selector) {
  42308. var operator = new CatchOperator(selector);
  42309. var caught = this.lift(operator);
  42310. return (operator.caught = caught);
  42311. }
  42312. exports._catch = _catch;
  42313. var CatchOperator = (function () {
  42314. function CatchOperator(selector) {
  42315. this.selector = selector;
  42316. }
  42317. CatchOperator.prototype.call = function (subscriber, source) {
  42318. return source._subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));
  42319. };
  42320. return CatchOperator;
  42321. }());
  42322. /**
  42323. * We need this JSDoc comment for affecting ESDoc.
  42324. * @ignore
  42325. * @extends {Ignored}
  42326. */
  42327. var CatchSubscriber = (function (_super) {
  42328. __extends(CatchSubscriber, _super);
  42329. function CatchSubscriber(destination, selector, caught) {
  42330. _super.call(this, destination);
  42331. this.selector = selector;
  42332. this.caught = caught;
  42333. }
  42334. // NOTE: overriding `error` instead of `_error` because we don't want
  42335. // to have this flag this subscriber as `isStopped`.
  42336. CatchSubscriber.prototype.error = function (err) {
  42337. if (!this.isStopped) {
  42338. var result = void 0;
  42339. try {
  42340. result = this.selector(err, this.caught);
  42341. }
  42342. catch (err) {
  42343. this.destination.error(err);
  42344. return;
  42345. }
  42346. this.unsubscribe();
  42347. this.destination.remove(this);
  42348. subscribeToResult_1.subscribeToResult(this, result);
  42349. }
  42350. };
  42351. return CatchSubscriber;
  42352. }(OuterSubscriber_1.OuterSubscriber));
  42353. //# sourceMappingURL=catch.js.map
  42354. /***/ },
  42355. /* 398 */
  42356. /***/ function(module, exports, __webpack_require__) {
  42357. "use strict";
  42358. "use strict";
  42359. var __extends = (this && this.__extends) || function (d, b) {
  42360. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  42361. function __() { this.constructor = d; }
  42362. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  42363. };
  42364. var OuterSubscriber_1 = __webpack_require__(6);
  42365. var subscribeToResult_1 = __webpack_require__(7);
  42366. /**
  42367. * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from previous items.
  42368. * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.
  42369. * If a comparator function is not provided, an equality check is used by default.
  42370. * As the internal HashSet of this operator grows larger and larger, care should be taken in the domain of inputs this operator may see.
  42371. * An optional parameter is also provided such that an Observable can be provided to queue the internal HashSet to flush the values it holds.
  42372. * @param {function} [compare] optional comparison function called to test if an item is distinct from previous items in the source.
  42373. * @param {Observable} [flushes] optional Observable for flushing the internal HashSet of the operator.
  42374. * @return {Observable} an Observable that emits items from the source Observable with distinct values.
  42375. * @method distinct
  42376. * @owner Observable
  42377. */
  42378. function distinct(compare, flushes) {
  42379. return this.lift(new DistinctOperator(compare, flushes));
  42380. }
  42381. exports.distinct = distinct;
  42382. var DistinctOperator = (function () {
  42383. function DistinctOperator(compare, flushes) {
  42384. this.compare = compare;
  42385. this.flushes = flushes;
  42386. }
  42387. DistinctOperator.prototype.call = function (subscriber, source) {
  42388. return source._subscribe(new DistinctSubscriber(subscriber, this.compare, this.flushes));
  42389. };
  42390. return DistinctOperator;
  42391. }());
  42392. /**
  42393. * We need this JSDoc comment for affecting ESDoc.
  42394. * @ignore
  42395. * @extends {Ignored}
  42396. */
  42397. var DistinctSubscriber = (function (_super) {
  42398. __extends(DistinctSubscriber, _super);
  42399. function DistinctSubscriber(destination, compare, flushes) {
  42400. _super.call(this, destination);
  42401. this.values = [];
  42402. if (typeof compare === 'function') {
  42403. this.compare = compare;
  42404. }
  42405. if (flushes) {
  42406. this.add(subscribeToResult_1.subscribeToResult(this, flushes));
  42407. }
  42408. }
  42409. DistinctSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  42410. this.values.length = 0;
  42411. };
  42412. DistinctSubscriber.prototype.notifyError = function (error, innerSub) {
  42413. this._error(error);
  42414. };
  42415. DistinctSubscriber.prototype._next = function (value) {
  42416. var found = false;
  42417. var values = this.values;
  42418. var len = values.length;
  42419. try {
  42420. for (var i = 0; i < len; i++) {
  42421. if (this.compare(values[i], value)) {
  42422. found = true;
  42423. return;
  42424. }
  42425. }
  42426. }
  42427. catch (err) {
  42428. this.destination.error(err);
  42429. return;
  42430. }
  42431. this.values.push(value);
  42432. this.destination.next(value);
  42433. };
  42434. DistinctSubscriber.prototype.compare = function (x, y) {
  42435. return x === y;
  42436. };
  42437. return DistinctSubscriber;
  42438. }(OuterSubscriber_1.OuterSubscriber));
  42439. exports.DistinctSubscriber = DistinctSubscriber;
  42440. //# sourceMappingURL=distinct.js.map
  42441. /***/ },
  42442. /* 399 */
  42443. /***/ function(module, exports, __webpack_require__) {
  42444. "use strict";
  42445. "use strict";
  42446. var __extends = (this && this.__extends) || function (d, b) {
  42447. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  42448. function __() { this.constructor = d; }
  42449. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  42450. };
  42451. var Subscriber_1 = __webpack_require__(3);
  42452. var tryCatch_1 = __webpack_require__(24);
  42453. var errorObject_1 = __webpack_require__(23);
  42454. /**
  42455. * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item.
  42456. * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.
  42457. * If a comparator function is not provided, an equality check is used by default.
  42458. * @param {function} [compare] optional comparison function called to test if an item is distinct from the previous item in the source.
  42459. * @return {Observable} an Observable that emits items from the source Observable with distinct values.
  42460. * @method distinctUntilChanged
  42461. * @owner Observable
  42462. */
  42463. function distinctUntilChanged(compare, keySelector) {
  42464. return this.lift(new DistinctUntilChangedOperator(compare, keySelector));
  42465. }
  42466. exports.distinctUntilChanged = distinctUntilChanged;
  42467. var DistinctUntilChangedOperator = (function () {
  42468. function DistinctUntilChangedOperator(compare, keySelector) {
  42469. this.compare = compare;
  42470. this.keySelector = keySelector;
  42471. }
  42472. DistinctUntilChangedOperator.prototype.call = function (subscriber, source) {
  42473. return source._subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));
  42474. };
  42475. return DistinctUntilChangedOperator;
  42476. }());
  42477. /**
  42478. * We need this JSDoc comment for affecting ESDoc.
  42479. * @ignore
  42480. * @extends {Ignored}
  42481. */
  42482. var DistinctUntilChangedSubscriber = (function (_super) {
  42483. __extends(DistinctUntilChangedSubscriber, _super);
  42484. function DistinctUntilChangedSubscriber(destination, compare, keySelector) {
  42485. _super.call(this, destination);
  42486. this.keySelector = keySelector;
  42487. this.hasKey = false;
  42488. if (typeof compare === 'function') {
  42489. this.compare = compare;
  42490. }
  42491. }
  42492. DistinctUntilChangedSubscriber.prototype.compare = function (x, y) {
  42493. return x === y;
  42494. };
  42495. DistinctUntilChangedSubscriber.prototype._next = function (value) {
  42496. var keySelector = this.keySelector;
  42497. var key = value;
  42498. if (keySelector) {
  42499. key = tryCatch_1.tryCatch(this.keySelector)(value);
  42500. if (key === errorObject_1.errorObject) {
  42501. return this.destination.error(errorObject_1.errorObject.e);
  42502. }
  42503. }
  42504. var result = false;
  42505. if (this.hasKey) {
  42506. result = tryCatch_1.tryCatch(this.compare)(this.key, key);
  42507. if (result === errorObject_1.errorObject) {
  42508. return this.destination.error(errorObject_1.errorObject.e);
  42509. }
  42510. }
  42511. else {
  42512. this.hasKey = true;
  42513. }
  42514. if (Boolean(result) === false) {
  42515. this.key = key;
  42516. this.destination.next(value);
  42517. }
  42518. };
  42519. return DistinctUntilChangedSubscriber;
  42520. }(Subscriber_1.Subscriber));
  42521. //# sourceMappingURL=distinctUntilChanged.js.map
  42522. /***/ },
  42523. /* 400 */
  42524. /***/ function(module, exports, __webpack_require__) {
  42525. "use strict";
  42526. "use strict";
  42527. var __extends = (this && this.__extends) || function (d, b) {
  42528. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  42529. function __() { this.constructor = d; }
  42530. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  42531. };
  42532. var Subscriber_1 = __webpack_require__(3);
  42533. /**
  42534. * Filter items emitted by the source Observable by only emitting those that
  42535. * satisfy a specified predicate.
  42536. *
  42537. * <span class="informal">Like
  42538. * [Array.prototype.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),
  42539. * it only emits a value from the source if it passes a criterion function.</span>
  42540. *
  42541. * <img src="./img/filter.png" width="100%">
  42542. *
  42543. * Similar to the well-known `Array.prototype.filter` method, this operator
  42544. * takes values from the source Observable, passes them through a `predicate`
  42545. * function and only emits those values that yielded `true`.
  42546. *
  42547. * @example <caption>Emit only click events whose target was a DIV element</caption>
  42548. * var clicks = Rx.Observable.fromEvent(document, 'click');
  42549. * var clicksOnDivs = clicks.filter(ev => ev.target.tagName === 'DIV');
  42550. * clicksOnDivs.subscribe(x => console.log(x));
  42551. *
  42552. * @see {@link distinct}
  42553. * @see {@link distinctKey}
  42554. * @see {@link distinctUntilChanged}
  42555. * @see {@link distinctUntilKeyChanged}
  42556. * @see {@link ignoreElements}
  42557. * @see {@link partition}
  42558. * @see {@link skip}
  42559. *
  42560. * @param {function(value: T, index: number): boolean} predicate A function that
  42561. * evaluates each value emitted by the source Observable. If it returns `true`,
  42562. * the value is emitted, if `false` the value is not passed to the output
  42563. * Observable. The `index` parameter is the number `i` for the i-th source
  42564. * emission that has happened since the subscription, starting from the number
  42565. * `0`.
  42566. * @param {any} [thisArg] An optional argument to determine the value of `this`
  42567. * in the `predicate` function.
  42568. * @return {Observable} An Observable of values from the source that were
  42569. * allowed by the `predicate` function.
  42570. * @method filter
  42571. * @owner Observable
  42572. */
  42573. function filter(predicate, thisArg) {
  42574. return this.lift(new FilterOperator(predicate, thisArg));
  42575. }
  42576. exports.filter = filter;
  42577. var FilterOperator = (function () {
  42578. function FilterOperator(predicate, thisArg) {
  42579. this.predicate = predicate;
  42580. this.thisArg = thisArg;
  42581. }
  42582. FilterOperator.prototype.call = function (subscriber, source) {
  42583. return source._subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));
  42584. };
  42585. return FilterOperator;
  42586. }());
  42587. /**
  42588. * We need this JSDoc comment for affecting ESDoc.
  42589. * @ignore
  42590. * @extends {Ignored}
  42591. */
  42592. var FilterSubscriber = (function (_super) {
  42593. __extends(FilterSubscriber, _super);
  42594. function FilterSubscriber(destination, predicate, thisArg) {
  42595. _super.call(this, destination);
  42596. this.predicate = predicate;
  42597. this.thisArg = thisArg;
  42598. this.count = 0;
  42599. this.predicate = predicate;
  42600. }
  42601. // the try catch block below is left specifically for
  42602. // optimization and perf reasons. a tryCatcher is not necessary here.
  42603. FilterSubscriber.prototype._next = function (value) {
  42604. var result;
  42605. try {
  42606. result = this.predicate.call(this.thisArg, value, this.count++);
  42607. }
  42608. catch (err) {
  42609. this.destination.error(err);
  42610. return;
  42611. }
  42612. if (result) {
  42613. this.destination.next(value);
  42614. }
  42615. };
  42616. return FilterSubscriber;
  42617. }(Subscriber_1.Subscriber));
  42618. //# sourceMappingURL=filter.js.map
  42619. /***/ },
  42620. /* 401 */
  42621. /***/ function(module, exports, __webpack_require__) {
  42622. "use strict";
  42623. "use strict";
  42624. var __extends = (this && this.__extends) || function (d, b) {
  42625. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  42626. function __() { this.constructor = d; }
  42627. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  42628. };
  42629. var Subscriber_1 = __webpack_require__(3);
  42630. /**
  42631. * Emits only the first value emitted by the source Observable that meets some
  42632. * condition.
  42633. *
  42634. * <span class="informal">Finds the first value that passes some test and emits
  42635. * that.</span>
  42636. *
  42637. * <img src="./img/find.png" width="100%">
  42638. *
  42639. * `find` searches for the first item in the source Observable that matches the
  42640. * specified condition embodied by the `predicate`, and returns the first
  42641. * occurrence in the source. Unlike {@link first}, the `predicate` is required
  42642. * in `find`, and does not emit an error if a valid value is not found.
  42643. *
  42644. * @example <caption>Find and emit the first click that happens on a DIV element</caption>
  42645. * var clicks = Rx.Observable.fromEvent(document, 'click');
  42646. * var result = clicks.find(ev => ev.target.tagName === 'DIV');
  42647. * result.subscribe(x => console.log(x));
  42648. *
  42649. * @see {@link filter}
  42650. * @see {@link first}
  42651. * @see {@link findIndex}
  42652. * @see {@link take}
  42653. *
  42654. * @param {function(value: T, index: number, source: Observable<T>): boolean} predicate
  42655. * A function called with each item to test for condition matching.
  42656. * @param {any} [thisArg] An optional argument to determine the value of `this`
  42657. * in the `predicate` function.
  42658. * @return {Observable<T>} An Observable of the first item that matches the
  42659. * condition.
  42660. * @method find
  42661. * @owner Observable
  42662. */
  42663. function find(predicate, thisArg) {
  42664. if (typeof predicate !== 'function') {
  42665. throw new TypeError('predicate is not a function');
  42666. }
  42667. return this.lift(new FindValueOperator(predicate, this, false, thisArg));
  42668. }
  42669. exports.find = find;
  42670. var FindValueOperator = (function () {
  42671. function FindValueOperator(predicate, source, yieldIndex, thisArg) {
  42672. this.predicate = predicate;
  42673. this.source = source;
  42674. this.yieldIndex = yieldIndex;
  42675. this.thisArg = thisArg;
  42676. }
  42677. FindValueOperator.prototype.call = function (observer, source) {
  42678. return source._subscribe(new FindValueSubscriber(observer, this.predicate, this.source, this.yieldIndex, this.thisArg));
  42679. };
  42680. return FindValueOperator;
  42681. }());
  42682. exports.FindValueOperator = FindValueOperator;
  42683. /**
  42684. * We need this JSDoc comment for affecting ESDoc.
  42685. * @ignore
  42686. * @extends {Ignored}
  42687. */
  42688. var FindValueSubscriber = (function (_super) {
  42689. __extends(FindValueSubscriber, _super);
  42690. function FindValueSubscriber(destination, predicate, source, yieldIndex, thisArg) {
  42691. _super.call(this, destination);
  42692. this.predicate = predicate;
  42693. this.source = source;
  42694. this.yieldIndex = yieldIndex;
  42695. this.thisArg = thisArg;
  42696. this.index = 0;
  42697. }
  42698. FindValueSubscriber.prototype.notifyComplete = function (value) {
  42699. var destination = this.destination;
  42700. destination.next(value);
  42701. destination.complete();
  42702. };
  42703. FindValueSubscriber.prototype._next = function (value) {
  42704. var _a = this, predicate = _a.predicate, thisArg = _a.thisArg;
  42705. var index = this.index++;
  42706. try {
  42707. var result = predicate.call(thisArg || this, value, index, this.source);
  42708. if (result) {
  42709. this.notifyComplete(this.yieldIndex ? index : value);
  42710. }
  42711. }
  42712. catch (err) {
  42713. this.destination.error(err);
  42714. }
  42715. };
  42716. FindValueSubscriber.prototype._complete = function () {
  42717. this.notifyComplete(this.yieldIndex ? -1 : undefined);
  42718. };
  42719. return FindValueSubscriber;
  42720. }(Subscriber_1.Subscriber));
  42721. exports.FindValueSubscriber = FindValueSubscriber;
  42722. //# sourceMappingURL=find.js.map
  42723. /***/ },
  42724. /* 402 */
  42725. /***/ function(module, exports, __webpack_require__) {
  42726. "use strict";
  42727. "use strict";
  42728. var __extends = (this && this.__extends) || function (d, b) {
  42729. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  42730. function __() { this.constructor = d; }
  42731. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  42732. };
  42733. var Subscriber_1 = __webpack_require__(3);
  42734. var EmptyError_1 = __webpack_require__(125);
  42735. /**
  42736. * Emits only the first value (or the first value that meets some condition)
  42737. * emitted by the source Observable.
  42738. *
  42739. * <span class="informal">Emits only the first value. Or emits only the first
  42740. * value that passes some test.</span>
  42741. *
  42742. * <img src="./img/first.png" width="100%">
  42743. *
  42744. * If called with no arguments, `first` emits the first value of the source
  42745. * Observable, then completes. If called with a `predicate` function, `first`
  42746. * emits the first value of the source that matches the specified condition. It
  42747. * may also take a `resultSelector` function to produce the output value from
  42748. * the input value, and a `defaultValue` to emit in case the source completes
  42749. * before it is able to emit a valid value. Throws an error if `defaultValue`
  42750. * was not provided and a matching element is not found.
  42751. *
  42752. * @example <caption>Emit only the first click that happens on the DOM</caption>
  42753. * var clicks = Rx.Observable.fromEvent(document, 'click');
  42754. * var result = clicks.first();
  42755. * result.subscribe(x => console.log(x));
  42756. *
  42757. * @example <caption>Emits the first click that happens on a DIV</caption>
  42758. * var clicks = Rx.Observable.fromEvent(document, 'click');
  42759. * var result = clicks.first(ev => ev.target.tagName === 'DIV');
  42760. * result.subscribe(x => console.log(x));
  42761. *
  42762. * @see {@link filter}
  42763. * @see {@link find}
  42764. * @see {@link take}
  42765. *
  42766. * @throws {EmptyError} Delivers an EmptyError to the Observer's `error`
  42767. * callback if the Observable completes before any `next` notification was sent.
  42768. *
  42769. * @param {function(value: T, index: number, source: Observable<T>): boolean} [predicate]
  42770. * An optional function called with each item to test for condition matching.
  42771. * @param {function(value: T, index: number): R} [resultSelector] A function to
  42772. * produce the value on the output Observable based on the values
  42773. * and the indices of the source Observable. The arguments passed to this
  42774. * function are:
  42775. * - `value`: the value that was emitted on the source.
  42776. * - `index`: the "index" of the value from the source.
  42777. * @param {R} [defaultValue] The default value emitted in case no valid value
  42778. * was found on the source.
  42779. * @return {Observable<T|R>} an Observable of the first item that matches the
  42780. * condition.
  42781. * @method first
  42782. * @owner Observable
  42783. */
  42784. function first(predicate, resultSelector, defaultValue) {
  42785. return this.lift(new FirstOperator(predicate, resultSelector, defaultValue, this));
  42786. }
  42787. exports.first = first;
  42788. var FirstOperator = (function () {
  42789. function FirstOperator(predicate, resultSelector, defaultValue, source) {
  42790. this.predicate = predicate;
  42791. this.resultSelector = resultSelector;
  42792. this.defaultValue = defaultValue;
  42793. this.source = source;
  42794. }
  42795. FirstOperator.prototype.call = function (observer, source) {
  42796. return source._subscribe(new FirstSubscriber(observer, this.predicate, this.resultSelector, this.defaultValue, this.source));
  42797. };
  42798. return FirstOperator;
  42799. }());
  42800. /**
  42801. * We need this JSDoc comment for affecting ESDoc.
  42802. * @ignore
  42803. * @extends {Ignored}
  42804. */
  42805. var FirstSubscriber = (function (_super) {
  42806. __extends(FirstSubscriber, _super);
  42807. function FirstSubscriber(destination, predicate, resultSelector, defaultValue, source) {
  42808. _super.call(this, destination);
  42809. this.predicate = predicate;
  42810. this.resultSelector = resultSelector;
  42811. this.defaultValue = defaultValue;
  42812. this.source = source;
  42813. this.index = 0;
  42814. this.hasCompleted = false;
  42815. }
  42816. FirstSubscriber.prototype._next = function (value) {
  42817. var index = this.index++;
  42818. if (this.predicate) {
  42819. this._tryPredicate(value, index);
  42820. }
  42821. else {
  42822. this._emit(value, index);
  42823. }
  42824. };
  42825. FirstSubscriber.prototype._tryPredicate = function (value, index) {
  42826. var result;
  42827. try {
  42828. result = this.predicate(value, index, this.source);
  42829. }
  42830. catch (err) {
  42831. this.destination.error(err);
  42832. return;
  42833. }
  42834. if (result) {
  42835. this._emit(value, index);
  42836. }
  42837. };
  42838. FirstSubscriber.prototype._emit = function (value, index) {
  42839. if (this.resultSelector) {
  42840. this._tryResultSelector(value, index);
  42841. return;
  42842. }
  42843. this._emitFinal(value);
  42844. };
  42845. FirstSubscriber.prototype._tryResultSelector = function (value, index) {
  42846. var result;
  42847. try {
  42848. result = this.resultSelector(value, index);
  42849. }
  42850. catch (err) {
  42851. this.destination.error(err);
  42852. return;
  42853. }
  42854. this._emitFinal(result);
  42855. };
  42856. FirstSubscriber.prototype._emitFinal = function (value) {
  42857. var destination = this.destination;
  42858. destination.next(value);
  42859. destination.complete();
  42860. this.hasCompleted = true;
  42861. };
  42862. FirstSubscriber.prototype._complete = function () {
  42863. var destination = this.destination;
  42864. if (!this.hasCompleted && typeof this.defaultValue !== 'undefined') {
  42865. destination.next(this.defaultValue);
  42866. destination.complete();
  42867. }
  42868. else if (!this.hasCompleted) {
  42869. destination.error(new EmptyError_1.EmptyError);
  42870. }
  42871. };
  42872. return FirstSubscriber;
  42873. }(Subscriber_1.Subscriber));
  42874. //# sourceMappingURL=first.js.map
  42875. /***/ },
  42876. /* 403 */
  42877. /***/ function(module, exports, __webpack_require__) {
  42878. "use strict";
  42879. "use strict";
  42880. var __extends = (this && this.__extends) || function (d, b) {
  42881. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  42882. function __() { this.constructor = d; }
  42883. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  42884. };
  42885. var Subscriber_1 = __webpack_require__(3);
  42886. var EmptyError_1 = __webpack_require__(125);
  42887. /**
  42888. * Returns an Observable that emits only the last item emitted by the source Observable.
  42889. * It optionally takes a predicate function as a parameter, in which case, rather than emitting
  42890. * the last item from the source Observable, the resulting Observable will emit the last item
  42891. * from the source Observable that satisfies the predicate.
  42892. *
  42893. * <img src="./img/last.png" width="100%">
  42894. *
  42895. * @throws {EmptyError} Delivers an EmptyError to the Observer's `error`
  42896. * callback if the Observable completes before any `next` notification was sent.
  42897. * @param {function} predicate - the condition any source emitted item has to satisfy.
  42898. * @return {Observable} an Observable that emits only the last item satisfying the given condition
  42899. * from the source, or an NoSuchElementException if no such items are emitted.
  42900. * @throws - Throws if no items that match the predicate are emitted by the source Observable.
  42901. * @method last
  42902. * @owner Observable
  42903. */
  42904. function last(predicate, resultSelector, defaultValue) {
  42905. return this.lift(new LastOperator(predicate, resultSelector, defaultValue, this));
  42906. }
  42907. exports.last = last;
  42908. var LastOperator = (function () {
  42909. function LastOperator(predicate, resultSelector, defaultValue, source) {
  42910. this.predicate = predicate;
  42911. this.resultSelector = resultSelector;
  42912. this.defaultValue = defaultValue;
  42913. this.source = source;
  42914. }
  42915. LastOperator.prototype.call = function (observer, source) {
  42916. return source._subscribe(new LastSubscriber(observer, this.predicate, this.resultSelector, this.defaultValue, this.source));
  42917. };
  42918. return LastOperator;
  42919. }());
  42920. /**
  42921. * We need this JSDoc comment for affecting ESDoc.
  42922. * @ignore
  42923. * @extends {Ignored}
  42924. */
  42925. var LastSubscriber = (function (_super) {
  42926. __extends(LastSubscriber, _super);
  42927. function LastSubscriber(destination, predicate, resultSelector, defaultValue, source) {
  42928. _super.call(this, destination);
  42929. this.predicate = predicate;
  42930. this.resultSelector = resultSelector;
  42931. this.defaultValue = defaultValue;
  42932. this.source = source;
  42933. this.hasValue = false;
  42934. this.index = 0;
  42935. if (typeof defaultValue !== 'undefined') {
  42936. this.lastValue = defaultValue;
  42937. this.hasValue = true;
  42938. }
  42939. }
  42940. LastSubscriber.prototype._next = function (value) {
  42941. var index = this.index++;
  42942. if (this.predicate) {
  42943. this._tryPredicate(value, index);
  42944. }
  42945. else {
  42946. if (this.resultSelector) {
  42947. this._tryResultSelector(value, index);
  42948. return;
  42949. }
  42950. this.lastValue = value;
  42951. this.hasValue = true;
  42952. }
  42953. };
  42954. LastSubscriber.prototype._tryPredicate = function (value, index) {
  42955. var result;
  42956. try {
  42957. result = this.predicate(value, index, this.source);
  42958. }
  42959. catch (err) {
  42960. this.destination.error(err);
  42961. return;
  42962. }
  42963. if (result) {
  42964. if (this.resultSelector) {
  42965. this._tryResultSelector(value, index);
  42966. return;
  42967. }
  42968. this.lastValue = value;
  42969. this.hasValue = true;
  42970. }
  42971. };
  42972. LastSubscriber.prototype._tryResultSelector = function (value, index) {
  42973. var result;
  42974. try {
  42975. result = this.resultSelector(value, index);
  42976. }
  42977. catch (err) {
  42978. this.destination.error(err);
  42979. return;
  42980. }
  42981. this.lastValue = result;
  42982. this.hasValue = true;
  42983. };
  42984. LastSubscriber.prototype._complete = function () {
  42985. var destination = this.destination;
  42986. if (this.hasValue) {
  42987. destination.next(this.lastValue);
  42988. destination.complete();
  42989. }
  42990. else {
  42991. destination.error(new EmptyError_1.EmptyError);
  42992. }
  42993. };
  42994. return LastSubscriber;
  42995. }(Subscriber_1.Subscriber));
  42996. //# sourceMappingURL=last.js.map
  42997. /***/ },
  42998. /* 404 */
  42999. /***/ function(module, exports, __webpack_require__) {
  43000. "use strict";
  43001. "use strict";
  43002. var ArrayObservable_1 = __webpack_require__(63);
  43003. var mergeAll_1 = __webpack_require__(101);
  43004. var isScheduler_1 = __webpack_require__(75);
  43005. /**
  43006. * Creates an output Observable which concurrently emits all values from every
  43007. * given input Observable.
  43008. *
  43009. * <span class="informal">Flattens multiple Observables together by blending
  43010. * their values into one Observable.</span>
  43011. *
  43012. * <img src="./img/merge.png" width="100%">
  43013. *
  43014. * `merge` subscribes to each given input Observable (either the source or an
  43015. * Observable given as argument), and simply forwards (without doing any
  43016. * transformation) all the values from all the input Observables to the output
  43017. * Observable. The output Observable only completes once all input Observables
  43018. * have completed. Any error delivered by an input Observable will be immediately
  43019. * emitted on the output Observable.
  43020. *
  43021. * @example <caption>Merge together two Observables: 1s interval and clicks</caption>
  43022. * var clicks = Rx.Observable.fromEvent(document, 'click');
  43023. * var timer = Rx.Observable.interval(1000);
  43024. * var clicksOrTimer = clicks.merge(timer);
  43025. * clicksOrTimer.subscribe(x => console.log(x));
  43026. *
  43027. * @example <caption>Merge together 3 Observables, but only 2 run concurrently</caption>
  43028. * var timer1 = Rx.Observable.interval(1000).take(10);
  43029. * var timer2 = Rx.Observable.interval(2000).take(6);
  43030. * var timer3 = Rx.Observable.interval(500).take(10);
  43031. * var concurrent = 2; // the argument
  43032. * var merged = timer1.merge(timer2, timer3, concurrent);
  43033. * merged.subscribe(x => console.log(x));
  43034. *
  43035. * @see {@link mergeAll}
  43036. * @see {@link mergeMap}
  43037. * @see {@link mergeMapTo}
  43038. * @see {@link mergeScan}
  43039. *
  43040. * @param {Observable} other An input Observable to merge with the source
  43041. * Observable. More than one input Observables may be given as argument.
  43042. * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input
  43043. * Observables being subscribed to concurrently.
  43044. * @param {Scheduler} [scheduler=null] The Scheduler to use for managing
  43045. * concurrency of input Observables.
  43046. * @return {Observable} an Observable that emits items that are the result of
  43047. * every input Observable.
  43048. * @method merge
  43049. * @owner Observable
  43050. */
  43051. function merge() {
  43052. var observables = [];
  43053. for (var _i = 0; _i < arguments.length; _i++) {
  43054. observables[_i - 0] = arguments[_i];
  43055. }
  43056. observables.unshift(this);
  43057. return mergeStatic.apply(this, observables);
  43058. }
  43059. exports.merge = merge;
  43060. /* tslint:enable:max-line-length */
  43061. /**
  43062. * Creates an output Observable which concurrently emits all values from every
  43063. * given input Observable.
  43064. *
  43065. * <span class="informal">Flattens multiple Observables together by blending
  43066. * their values into one Observable.</span>
  43067. *
  43068. * <img src="./img/merge.png" width="100%">
  43069. *
  43070. * `merge` subscribes to each given input Observable (as arguments), and simply
  43071. * forwards (without doing any transformation) all the values from all the input
  43072. * Observables to the output Observable. The output Observable only completes
  43073. * once all input Observables have completed. Any error delivered by an input
  43074. * Observable will be immediately emitted on the output Observable.
  43075. *
  43076. * @example <caption>Merge together two Observables: 1s interval and clicks</caption>
  43077. * var clicks = Rx.Observable.fromEvent(document, 'click');
  43078. * var timer = Rx.Observable.interval(1000);
  43079. * var clicksOrTimer = Rx.Observable.merge(clicks, timer);
  43080. * clicksOrTimer.subscribe(x => console.log(x));
  43081. *
  43082. * @example <caption>Merge together 3 Observables, but only 2 run concurrently</caption>
  43083. * var timer1 = Rx.Observable.interval(1000).take(10);
  43084. * var timer2 = Rx.Observable.interval(2000).take(6);
  43085. * var timer3 = Rx.Observable.interval(500).take(10);
  43086. * var concurrent = 2; // the argument
  43087. * var merged = Rx.Observable.merge(timer1, timer2, timer3, concurrent);
  43088. * merged.subscribe(x => console.log(x));
  43089. *
  43090. * @see {@link mergeAll}
  43091. * @see {@link mergeMap}
  43092. * @see {@link mergeMapTo}
  43093. * @see {@link mergeScan}
  43094. *
  43095. * @param {Observable} input1 An input Observable to merge with others.
  43096. * @param {Observable} input2 An input Observable to merge with others.
  43097. * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input
  43098. * Observables being subscribed to concurrently.
  43099. * @param {Scheduler} [scheduler=null] The Scheduler to use for managing
  43100. * concurrency of input Observables.
  43101. * @return {Observable} an Observable that emits items that are the result of
  43102. * every input Observable.
  43103. * @static true
  43104. * @name merge
  43105. * @owner Observable
  43106. */
  43107. function mergeStatic() {
  43108. var observables = [];
  43109. for (var _i = 0; _i < arguments.length; _i++) {
  43110. observables[_i - 0] = arguments[_i];
  43111. }
  43112. var concurrent = Number.POSITIVE_INFINITY;
  43113. var scheduler = null;
  43114. var last = observables[observables.length - 1];
  43115. if (isScheduler_1.isScheduler(last)) {
  43116. scheduler = observables.pop();
  43117. if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {
  43118. concurrent = observables.pop();
  43119. }
  43120. }
  43121. else if (typeof last === 'number') {
  43122. concurrent = observables.pop();
  43123. }
  43124. if (observables.length === 1) {
  43125. return observables[0];
  43126. }
  43127. return new ArrayObservable_1.ArrayObservable(observables, scheduler).lift(new mergeAll_1.MergeAllOperator(concurrent));
  43128. }
  43129. exports.mergeStatic = mergeStatic;
  43130. //# sourceMappingURL=merge.js.map
  43131. /***/ },
  43132. /* 405 */
  43133. /***/ function(module, exports, __webpack_require__) {
  43134. "use strict";
  43135. "use strict";
  43136. var __extends = (this && this.__extends) || function (d, b) {
  43137. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  43138. function __() { this.constructor = d; }
  43139. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  43140. };
  43141. var OuterSubscriber_1 = __webpack_require__(6);
  43142. var subscribeToResult_1 = __webpack_require__(7);
  43143. /**
  43144. * Projects each source value to the same Observable which is merged multiple
  43145. * times in the output Observable.
  43146. *
  43147. * <span class="informal">It's like {@link mergeMap}, but maps each value always
  43148. * to the same inner Observable.</span>
  43149. *
  43150. * <img src="./img/mergeMapTo.png" width="100%">
  43151. *
  43152. * Maps each source value to the given Observable `innerObservable` regardless
  43153. * of the source value, and then merges those resulting Observables into one
  43154. * single Observable, which is the output Observable.
  43155. *
  43156. * @example <caption>For each click event, start an interval Observable ticking every 1 second</caption>
  43157. * var clicks = Rx.Observable.fromEvent(document, 'click');
  43158. * var result = clicks.mergeMapTo(Rx.Observable.interval(1000));
  43159. * result.subscribe(x => console.log(x));
  43160. *
  43161. * @see {@link concatMapTo}
  43162. * @see {@link merge}
  43163. * @see {@link mergeAll}
  43164. * @see {@link mergeMap}
  43165. * @see {@link mergeScan}
  43166. * @see {@link switchMapTo}
  43167. *
  43168. * @param {Observable} innerObservable An Observable to replace each value from
  43169. * the source Observable.
  43170. * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]
  43171. * A function to produce the value on the output Observable based on the values
  43172. * and the indices of the source (outer) emission and the inner Observable
  43173. * emission. The arguments passed to this function are:
  43174. * - `outerValue`: the value that came from the source
  43175. * - `innerValue`: the value that came from the projected Observable
  43176. * - `outerIndex`: the "index" of the value that came from the source
  43177. * - `innerIndex`: the "index" of the value from the projected Observable
  43178. * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input
  43179. * Observables being subscribed to concurrently.
  43180. * @return {Observable} An Observable that emits items from the given
  43181. * `innerObservable` (and optionally transformed through `resultSelector`) every
  43182. * time a value is emitted on the source Observable.
  43183. * @method mergeMapTo
  43184. * @owner Observable
  43185. */
  43186. function mergeMapTo(innerObservable, resultSelector, concurrent) {
  43187. if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
  43188. if (typeof resultSelector === 'number') {
  43189. concurrent = resultSelector;
  43190. resultSelector = null;
  43191. }
  43192. return this.lift(new MergeMapToOperator(innerObservable, resultSelector, concurrent));
  43193. }
  43194. exports.mergeMapTo = mergeMapTo;
  43195. // TODO: Figure out correct signature here: an Operator<Observable<T>, R>
  43196. // needs to implement call(observer: Subscriber<R>): Subscriber<Observable<T>>
  43197. var MergeMapToOperator = (function () {
  43198. function MergeMapToOperator(ish, resultSelector, concurrent) {
  43199. if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
  43200. this.ish = ish;
  43201. this.resultSelector = resultSelector;
  43202. this.concurrent = concurrent;
  43203. }
  43204. MergeMapToOperator.prototype.call = function (observer, source) {
  43205. return source._subscribe(new MergeMapToSubscriber(observer, this.ish, this.resultSelector, this.concurrent));
  43206. };
  43207. return MergeMapToOperator;
  43208. }());
  43209. exports.MergeMapToOperator = MergeMapToOperator;
  43210. /**
  43211. * We need this JSDoc comment for affecting ESDoc.
  43212. * @ignore
  43213. * @extends {Ignored}
  43214. */
  43215. var MergeMapToSubscriber = (function (_super) {
  43216. __extends(MergeMapToSubscriber, _super);
  43217. function MergeMapToSubscriber(destination, ish, resultSelector, concurrent) {
  43218. if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
  43219. _super.call(this, destination);
  43220. this.ish = ish;
  43221. this.resultSelector = resultSelector;
  43222. this.concurrent = concurrent;
  43223. this.hasCompleted = false;
  43224. this.buffer = [];
  43225. this.active = 0;
  43226. this.index = 0;
  43227. }
  43228. MergeMapToSubscriber.prototype._next = function (value) {
  43229. if (this.active < this.concurrent) {
  43230. var resultSelector = this.resultSelector;
  43231. var index = this.index++;
  43232. var ish = this.ish;
  43233. var destination = this.destination;
  43234. this.active++;
  43235. this._innerSub(ish, destination, resultSelector, value, index);
  43236. }
  43237. else {
  43238. this.buffer.push(value);
  43239. }
  43240. };
  43241. MergeMapToSubscriber.prototype._innerSub = function (ish, destination, resultSelector, value, index) {
  43242. this.add(subscribeToResult_1.subscribeToResult(this, ish, value, index));
  43243. };
  43244. MergeMapToSubscriber.prototype._complete = function () {
  43245. this.hasCompleted = true;
  43246. if (this.active === 0 && this.buffer.length === 0) {
  43247. this.destination.complete();
  43248. }
  43249. };
  43250. MergeMapToSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  43251. var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;
  43252. if (resultSelector) {
  43253. this.trySelectResult(outerValue, innerValue, outerIndex, innerIndex);
  43254. }
  43255. else {
  43256. destination.next(innerValue);
  43257. }
  43258. };
  43259. MergeMapToSubscriber.prototype.trySelectResult = function (outerValue, innerValue, outerIndex, innerIndex) {
  43260. var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;
  43261. var result;
  43262. try {
  43263. result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);
  43264. }
  43265. catch (err) {
  43266. destination.error(err);
  43267. return;
  43268. }
  43269. destination.next(result);
  43270. };
  43271. MergeMapToSubscriber.prototype.notifyError = function (err) {
  43272. this.destination.error(err);
  43273. };
  43274. MergeMapToSubscriber.prototype.notifyComplete = function (innerSub) {
  43275. var buffer = this.buffer;
  43276. this.remove(innerSub);
  43277. this.active--;
  43278. if (buffer.length > 0) {
  43279. this._next(buffer.shift());
  43280. }
  43281. else if (this.active === 0 && this.hasCompleted) {
  43282. this.destination.complete();
  43283. }
  43284. };
  43285. return MergeMapToSubscriber;
  43286. }(OuterSubscriber_1.OuterSubscriber));
  43287. exports.MergeMapToSubscriber = MergeMapToSubscriber;
  43288. //# sourceMappingURL=mergeMapTo.js.map
  43289. /***/ },
  43290. /* 406 */
  43291. /***/ function(module, exports, __webpack_require__) {
  43292. "use strict";
  43293. "use strict";
  43294. var __extends = (this && this.__extends) || function (d, b) {
  43295. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  43296. function __() { this.constructor = d; }
  43297. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  43298. };
  43299. var FromObservable_1 = __webpack_require__(393);
  43300. var isArray_1 = __webpack_require__(48);
  43301. var OuterSubscriber_1 = __webpack_require__(6);
  43302. var subscribeToResult_1 = __webpack_require__(7);
  43303. function onErrorResumeNext() {
  43304. var nextSources = [];
  43305. for (var _i = 0; _i < arguments.length; _i++) {
  43306. nextSources[_i - 0] = arguments[_i];
  43307. }
  43308. if (nextSources.length === 1 && isArray_1.isArray(nextSources[0])) {
  43309. nextSources = nextSources[0];
  43310. }
  43311. return this.lift(new OnErrorResumeNextOperator(nextSources));
  43312. }
  43313. exports.onErrorResumeNext = onErrorResumeNext;
  43314. /* tslint:enable:max-line-length */
  43315. function onErrorResumeNextStatic() {
  43316. var nextSources = [];
  43317. for (var _i = 0; _i < arguments.length; _i++) {
  43318. nextSources[_i - 0] = arguments[_i];
  43319. }
  43320. var source = null;
  43321. if (nextSources.length === 1 && isArray_1.isArray(nextSources[0])) {
  43322. nextSources = nextSources[0];
  43323. }
  43324. source = nextSources.shift();
  43325. return new FromObservable_1.FromObservable(source, null).lift(new OnErrorResumeNextOperator(nextSources));
  43326. }
  43327. exports.onErrorResumeNextStatic = onErrorResumeNextStatic;
  43328. var OnErrorResumeNextOperator = (function () {
  43329. function OnErrorResumeNextOperator(nextSources) {
  43330. this.nextSources = nextSources;
  43331. }
  43332. OnErrorResumeNextOperator.prototype.call = function (subscriber, source) {
  43333. return source._subscribe(new OnErrorResumeNextSubscriber(subscriber, this.nextSources));
  43334. };
  43335. return OnErrorResumeNextOperator;
  43336. }());
  43337. var OnErrorResumeNextSubscriber = (function (_super) {
  43338. __extends(OnErrorResumeNextSubscriber, _super);
  43339. function OnErrorResumeNextSubscriber(destination, nextSources) {
  43340. _super.call(this, destination);
  43341. this.destination = destination;
  43342. this.nextSources = nextSources;
  43343. }
  43344. OnErrorResumeNextSubscriber.prototype.notifyError = function (error, innerSub) {
  43345. this.subscribeToNextSource();
  43346. };
  43347. OnErrorResumeNextSubscriber.prototype.notifyComplete = function (innerSub) {
  43348. this.subscribeToNextSource();
  43349. };
  43350. OnErrorResumeNextSubscriber.prototype._error = function (err) {
  43351. this.subscribeToNextSource();
  43352. };
  43353. OnErrorResumeNextSubscriber.prototype._complete = function () {
  43354. this.subscribeToNextSource();
  43355. };
  43356. OnErrorResumeNextSubscriber.prototype.subscribeToNextSource = function () {
  43357. var next = this.nextSources.shift();
  43358. if (next) {
  43359. this.add(subscribeToResult_1.subscribeToResult(this, next));
  43360. }
  43361. else {
  43362. this.destination.complete();
  43363. }
  43364. };
  43365. return OnErrorResumeNextSubscriber;
  43366. }(OuterSubscriber_1.OuterSubscriber));
  43367. //# sourceMappingURL=onErrorResumeNext.js.map
  43368. /***/ },
  43369. /* 407 */
  43370. /***/ function(module, exports, __webpack_require__) {
  43371. "use strict";
  43372. "use strict";
  43373. var __extends = (this && this.__extends) || function (d, b) {
  43374. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  43375. function __() { this.constructor = d; }
  43376. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  43377. };
  43378. var isArray_1 = __webpack_require__(48);
  43379. var ArrayObservable_1 = __webpack_require__(63);
  43380. var OuterSubscriber_1 = __webpack_require__(6);
  43381. var subscribeToResult_1 = __webpack_require__(7);
  43382. /**
  43383. * Returns an Observable that mirrors the first source Observable to emit an item
  43384. * from the combination of this Observable and supplied Observables
  43385. * @param {...Observables} ...observables sources used to race for which Observable emits first.
  43386. * @return {Observable} an Observable that mirrors the output of the first Observable to emit an item.
  43387. * @method race
  43388. * @owner Observable
  43389. */
  43390. function race() {
  43391. var observables = [];
  43392. for (var _i = 0; _i < arguments.length; _i++) {
  43393. observables[_i - 0] = arguments[_i];
  43394. }
  43395. // if the only argument is an array, it was most likely called with
  43396. // `pair([obs1, obs2, ...])`
  43397. if (observables.length === 1 && isArray_1.isArray(observables[0])) {
  43398. observables = observables[0];
  43399. }
  43400. observables.unshift(this);
  43401. return raceStatic.apply(this, observables);
  43402. }
  43403. exports.race = race;
  43404. function raceStatic() {
  43405. var observables = [];
  43406. for (var _i = 0; _i < arguments.length; _i++) {
  43407. observables[_i - 0] = arguments[_i];
  43408. }
  43409. // if the only argument is an array, it was most likely called with
  43410. // `pair([obs1, obs2, ...])`
  43411. if (observables.length === 1) {
  43412. if (isArray_1.isArray(observables[0])) {
  43413. observables = observables[0];
  43414. }
  43415. else {
  43416. return observables[0];
  43417. }
  43418. }
  43419. return new ArrayObservable_1.ArrayObservable(observables).lift(new RaceOperator());
  43420. }
  43421. exports.raceStatic = raceStatic;
  43422. var RaceOperator = (function () {
  43423. function RaceOperator() {
  43424. }
  43425. RaceOperator.prototype.call = function (subscriber, source) {
  43426. return source._subscribe(new RaceSubscriber(subscriber));
  43427. };
  43428. return RaceOperator;
  43429. }());
  43430. exports.RaceOperator = RaceOperator;
  43431. /**
  43432. * We need this JSDoc comment for affecting ESDoc.
  43433. * @ignore
  43434. * @extends {Ignored}
  43435. */
  43436. var RaceSubscriber = (function (_super) {
  43437. __extends(RaceSubscriber, _super);
  43438. function RaceSubscriber(destination) {
  43439. _super.call(this, destination);
  43440. this.hasFirst = false;
  43441. this.observables = [];
  43442. this.subscriptions = [];
  43443. }
  43444. RaceSubscriber.prototype._next = function (observable) {
  43445. this.observables.push(observable);
  43446. };
  43447. RaceSubscriber.prototype._complete = function () {
  43448. var observables = this.observables;
  43449. var len = observables.length;
  43450. if (len === 0) {
  43451. this.destination.complete();
  43452. }
  43453. else {
  43454. for (var i = 0; i < len; i++) {
  43455. var observable = observables[i];
  43456. var subscription = subscribeToResult_1.subscribeToResult(this, observable, observable, i);
  43457. if (this.subscriptions) {
  43458. this.subscriptions.push(subscription);
  43459. this.add(subscription);
  43460. }
  43461. }
  43462. this.observables = null;
  43463. }
  43464. };
  43465. RaceSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  43466. if (!this.hasFirst) {
  43467. this.hasFirst = true;
  43468. for (var i = 0; i < this.subscriptions.length; i++) {
  43469. if (i !== outerIndex) {
  43470. var subscription = this.subscriptions[i];
  43471. subscription.unsubscribe();
  43472. this.remove(subscription);
  43473. }
  43474. }
  43475. this.subscriptions = null;
  43476. }
  43477. this.destination.next(innerValue);
  43478. };
  43479. return RaceSubscriber;
  43480. }(OuterSubscriber_1.OuterSubscriber));
  43481. exports.RaceSubscriber = RaceSubscriber;
  43482. //# sourceMappingURL=race.js.map
  43483. /***/ },
  43484. /* 408 */
  43485. /***/ function(module, exports, __webpack_require__) {
  43486. "use strict";
  43487. "use strict";
  43488. var __extends = (this && this.__extends) || function (d, b) {
  43489. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  43490. function __() { this.constructor = d; }
  43491. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  43492. };
  43493. var Subscriber_1 = __webpack_require__(3);
  43494. var async_1 = __webpack_require__(33);
  43495. /**
  43496. * @param scheduler
  43497. * @return {Observable<TimeInterval<any>>|WebSocketSubject<T>|Observable<T>}
  43498. * @method timeInterval
  43499. * @owner Observable
  43500. */
  43501. function timeInterval(scheduler) {
  43502. if (scheduler === void 0) { scheduler = async_1.async; }
  43503. return this.lift(new TimeIntervalOperator(scheduler));
  43504. }
  43505. exports.timeInterval = timeInterval;
  43506. var TimeInterval = (function () {
  43507. function TimeInterval(value, interval) {
  43508. this.value = value;
  43509. this.interval = interval;
  43510. }
  43511. return TimeInterval;
  43512. }());
  43513. exports.TimeInterval = TimeInterval;
  43514. ;
  43515. var TimeIntervalOperator = (function () {
  43516. function TimeIntervalOperator(scheduler) {
  43517. this.scheduler = scheduler;
  43518. }
  43519. TimeIntervalOperator.prototype.call = function (observer, source) {
  43520. return source._subscribe(new TimeIntervalSubscriber(observer, this.scheduler));
  43521. };
  43522. return TimeIntervalOperator;
  43523. }());
  43524. /**
  43525. * We need this JSDoc comment for affecting ESDoc.
  43526. * @ignore
  43527. * @extends {Ignored}
  43528. */
  43529. var TimeIntervalSubscriber = (function (_super) {
  43530. __extends(TimeIntervalSubscriber, _super);
  43531. function TimeIntervalSubscriber(destination, scheduler) {
  43532. _super.call(this, destination);
  43533. this.scheduler = scheduler;
  43534. this.lastTime = 0;
  43535. this.lastTime = scheduler.now();
  43536. }
  43537. TimeIntervalSubscriber.prototype._next = function (value) {
  43538. var now = this.scheduler.now();
  43539. var span = now - this.lastTime;
  43540. this.lastTime = now;
  43541. this.destination.next(new TimeInterval(value, span));
  43542. };
  43543. return TimeIntervalSubscriber;
  43544. }(Subscriber_1.Subscriber));
  43545. //# sourceMappingURL=timeInterval.js.map
  43546. /***/ },
  43547. /* 409 */
  43548. /***/ function(module, exports, __webpack_require__) {
  43549. "use strict";
  43550. "use strict";
  43551. var __extends = (this && this.__extends) || function (d, b) {
  43552. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  43553. function __() { this.constructor = d; }
  43554. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  43555. };
  43556. var Subscriber_1 = __webpack_require__(3);
  43557. var async_1 = __webpack_require__(33);
  43558. /**
  43559. * @param scheduler
  43560. * @return {Observable<Timestamp<any>>|WebSocketSubject<T>|Observable<T>}
  43561. * @method timestamp
  43562. * @owner Observable
  43563. */
  43564. function timestamp(scheduler) {
  43565. if (scheduler === void 0) { scheduler = async_1.async; }
  43566. return this.lift(new TimestampOperator(scheduler));
  43567. }
  43568. exports.timestamp = timestamp;
  43569. var Timestamp = (function () {
  43570. function Timestamp(value, timestamp) {
  43571. this.value = value;
  43572. this.timestamp = timestamp;
  43573. }
  43574. return Timestamp;
  43575. }());
  43576. exports.Timestamp = Timestamp;
  43577. ;
  43578. var TimestampOperator = (function () {
  43579. function TimestampOperator(scheduler) {
  43580. this.scheduler = scheduler;
  43581. }
  43582. TimestampOperator.prototype.call = function (observer, source) {
  43583. return source._subscribe(new TimestampSubscriber(observer, this.scheduler));
  43584. };
  43585. return TimestampOperator;
  43586. }());
  43587. var TimestampSubscriber = (function (_super) {
  43588. __extends(TimestampSubscriber, _super);
  43589. function TimestampSubscriber(destination, scheduler) {
  43590. _super.call(this, destination);
  43591. this.scheduler = scheduler;
  43592. }
  43593. TimestampSubscriber.prototype._next = function (value) {
  43594. var now = this.scheduler.now();
  43595. this.destination.next(new Timestamp(value, now));
  43596. };
  43597. return TimestampSubscriber;
  43598. }(Subscriber_1.Subscriber));
  43599. //# sourceMappingURL=timestamp.js.map
  43600. /***/ },
  43601. /* 410 */
  43602. /***/ function(module, exports, __webpack_require__) {
  43603. "use strict";
  43604. "use strict";
  43605. var root_1 = __webpack_require__(27);
  43606. /**
  43607. * @param PromiseCtor
  43608. * @return {Promise<T>}
  43609. * @method toPromise
  43610. * @owner Observable
  43611. */
  43612. function toPromise(PromiseCtor) {
  43613. var _this = this;
  43614. if (!PromiseCtor) {
  43615. if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {
  43616. PromiseCtor = root_1.root.Rx.config.Promise;
  43617. }
  43618. else if (root_1.root.Promise) {
  43619. PromiseCtor = root_1.root.Promise;
  43620. }
  43621. }
  43622. if (!PromiseCtor) {
  43623. throw new Error('no Promise impl found');
  43624. }
  43625. return new PromiseCtor(function (resolve, reject) {
  43626. var value;
  43627. _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });
  43628. });
  43629. }
  43630. exports.toPromise = toPromise;
  43631. //# sourceMappingURL=toPromise.js.map
  43632. /***/ },
  43633. /* 411 */
  43634. /***/ function(module, exports, __webpack_require__) {
  43635. "use strict";
  43636. "use strict";
  43637. var __extends = (this && this.__extends) || function (d, b) {
  43638. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  43639. function __() { this.constructor = d; }
  43640. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  43641. };
  43642. var AsyncAction_1 = __webpack_require__(122);
  43643. var AsyncScheduler_1 = __webpack_require__(123);
  43644. var VirtualTimeScheduler = (function (_super) {
  43645. __extends(VirtualTimeScheduler, _super);
  43646. function VirtualTimeScheduler(SchedulerAction, maxFrames) {
  43647. var _this = this;
  43648. if (SchedulerAction === void 0) { SchedulerAction = VirtualAction; }
  43649. if (maxFrames === void 0) { maxFrames = Number.POSITIVE_INFINITY; }
  43650. _super.call(this, SchedulerAction, function () { return _this.frame; });
  43651. this.maxFrames = maxFrames;
  43652. this.frame = 0;
  43653. this.index = -1;
  43654. }
  43655. /**
  43656. * Prompt the Scheduler to execute all of its queued actions, therefore
  43657. * clearing its queue.
  43658. * @return {void}
  43659. */
  43660. VirtualTimeScheduler.prototype.flush = function () {
  43661. var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;
  43662. var error, action;
  43663. while ((action = actions.shift()) && (this.frame = action.delay) <= maxFrames) {
  43664. if (error = action.execute(action.state, action.delay)) {
  43665. break;
  43666. }
  43667. }
  43668. if (error) {
  43669. while (action = actions.shift()) {
  43670. action.unsubscribe();
  43671. }
  43672. throw error;
  43673. }
  43674. };
  43675. VirtualTimeScheduler.frameTimeFactor = 10;
  43676. return VirtualTimeScheduler;
  43677. }(AsyncScheduler_1.AsyncScheduler));
  43678. exports.VirtualTimeScheduler = VirtualTimeScheduler;
  43679. /**
  43680. * We need this JSDoc comment for affecting ESDoc.
  43681. * @ignore
  43682. * @extends {Ignored}
  43683. */
  43684. var VirtualAction = (function (_super) {
  43685. __extends(VirtualAction, _super);
  43686. function VirtualAction(scheduler, work, index) {
  43687. if (index === void 0) { index = scheduler.index += 1; }
  43688. _super.call(this, scheduler, work);
  43689. this.scheduler = scheduler;
  43690. this.work = work;
  43691. this.index = index;
  43692. this.index = scheduler.index = index;
  43693. }
  43694. VirtualAction.prototype.schedule = function (state, delay) {
  43695. if (delay === void 0) { delay = 0; }
  43696. return !this.id ?
  43697. _super.prototype.schedule.call(this, state, delay) : this.add(new VirtualAction(this.scheduler, this.work)).schedule(state, delay);
  43698. };
  43699. VirtualAction.prototype.requestAsyncId = function (scheduler, id, delay) {
  43700. if (delay === void 0) { delay = 0; }
  43701. this.delay = scheduler.frame + delay;
  43702. var actions = scheduler.actions;
  43703. actions.push(this);
  43704. actions.sort(VirtualAction.sortActions);
  43705. return true;
  43706. };
  43707. VirtualAction.prototype.recycleAsyncId = function (scheduler, id, delay) {
  43708. if (delay === void 0) { delay = 0; }
  43709. return undefined;
  43710. };
  43711. VirtualAction.sortActions = function (a, b) {
  43712. if (a.delay === b.delay) {
  43713. if (a.index === b.index) {
  43714. return 0;
  43715. }
  43716. else if (a.index > b.index) {
  43717. return 1;
  43718. }
  43719. else {
  43720. return -1;
  43721. }
  43722. }
  43723. else if (a.delay > b.delay) {
  43724. return 1;
  43725. }
  43726. else {
  43727. return -1;
  43728. }
  43729. };
  43730. return VirtualAction;
  43731. }(AsyncAction_1.AsyncAction));
  43732. exports.VirtualAction = VirtualAction;
  43733. //# sourceMappingURL=VirtualTimeScheduler.js.map
  43734. /***/ },
  43735. /* 412 */
  43736. /***/ function(module, exports, __webpack_require__) {
  43737. "use strict";
  43738. "use strict";
  43739. var AsapAction_1 = __webpack_require__(945);
  43740. var AsapScheduler_1 = __webpack_require__(946);
  43741. exports.asap = new AsapScheduler_1.AsapScheduler(AsapAction_1.AsapAction);
  43742. //# sourceMappingURL=asap.js.map
  43743. /***/ },
  43744. /* 413 */
  43745. /***/ function(module, exports, __webpack_require__) {
  43746. "use strict";
  43747. "use strict";
  43748. var QueueAction_1 = __webpack_require__(947);
  43749. var QueueScheduler_1 = __webpack_require__(948);
  43750. exports.queue = new QueueScheduler_1.QueueScheduler(QueueAction_1.QueueAction);
  43751. //# sourceMappingURL=queue.js.map
  43752. /***/ },
  43753. /* 414 */
  43754. /***/ function(module, exports) {
  43755. "use strict";
  43756. "use strict";
  43757. var SubscriptionLog = (function () {
  43758. function SubscriptionLog(subscribedFrame, unsubscribedFrame) {
  43759. if (unsubscribedFrame === void 0) { unsubscribedFrame = Number.POSITIVE_INFINITY; }
  43760. this.subscribedFrame = subscribedFrame;
  43761. this.unsubscribedFrame = unsubscribedFrame;
  43762. }
  43763. return SubscriptionLog;
  43764. }());
  43765. exports.SubscriptionLog = SubscriptionLog;
  43766. //# sourceMappingURL=SubscriptionLog.js.map
  43767. /***/ },
  43768. /* 415 */
  43769. /***/ function(module, exports, __webpack_require__) {
  43770. "use strict";
  43771. "use strict";
  43772. var SubscriptionLog_1 = __webpack_require__(414);
  43773. var SubscriptionLoggable = (function () {
  43774. function SubscriptionLoggable() {
  43775. this.subscriptions = [];
  43776. }
  43777. SubscriptionLoggable.prototype.logSubscribedFrame = function () {
  43778. this.subscriptions.push(new SubscriptionLog_1.SubscriptionLog(this.scheduler.now()));
  43779. return this.subscriptions.length - 1;
  43780. };
  43781. SubscriptionLoggable.prototype.logUnsubscribedFrame = function (index) {
  43782. var subscriptionLogs = this.subscriptions;
  43783. var oldSubscriptionLog = subscriptionLogs[index];
  43784. subscriptionLogs[index] = new SubscriptionLog_1.SubscriptionLog(oldSubscriptionLog.subscribedFrame, this.scheduler.now());
  43785. };
  43786. return SubscriptionLoggable;
  43787. }());
  43788. exports.SubscriptionLoggable = SubscriptionLoggable;
  43789. //# sourceMappingURL=SubscriptionLoggable.js.map
  43790. /***/ },
  43791. /* 416 */
  43792. /***/ function(module, exports) {
  43793. "use strict";
  43794. "use strict";
  43795. var __extends = (this && this.__extends) || function (d, b) {
  43796. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  43797. function __() { this.constructor = d; }
  43798. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  43799. };
  43800. /**
  43801. * An error thrown when one or more errors have occurred during the
  43802. * `unsubscribe` of a {@link Subscription}.
  43803. */
  43804. var UnsubscriptionError = (function (_super) {
  43805. __extends(UnsubscriptionError, _super);
  43806. function UnsubscriptionError(errors) {
  43807. _super.call(this);
  43808. this.errors = errors;
  43809. var err = Error.call(this, errors ?
  43810. errors.length + " errors occurred during unsubscription:\n " + errors.map(function (err, i) { return ((i + 1) + ") " + err.toString()); }).join('\n ') : '');
  43811. this.name = err.name = 'UnsubscriptionError';
  43812. this.stack = err.stack;
  43813. this.message = err.message;
  43814. }
  43815. return UnsubscriptionError;
  43816. }(Error));
  43817. exports.UnsubscriptionError = UnsubscriptionError;
  43818. //# sourceMappingURL=UnsubscriptionError.js.map
  43819. /***/ },
  43820. /* 417 */
  43821. /***/ function(module, exports) {
  43822. "use strict";
  43823. "use strict";
  43824. function applyMixins(derivedCtor, baseCtors) {
  43825. for (var i = 0, len = baseCtors.length; i < len; i++) {
  43826. var baseCtor = baseCtors[i];
  43827. var propertyKeys = Object.getOwnPropertyNames(baseCtor.prototype);
  43828. for (var j = 0, len2 = propertyKeys.length; j < len2; j++) {
  43829. var name_1 = propertyKeys[j];
  43830. derivedCtor.prototype[name_1] = baseCtor.prototype[name_1];
  43831. }
  43832. }
  43833. }
  43834. exports.applyMixins = applyMixins;
  43835. //# sourceMappingURL=applyMixins.js.map
  43836. /***/ },
  43837. /* 418 */
  43838. /***/ function(module, exports) {
  43839. "use strict";
  43840. "use strict";
  43841. function isPromise(value) {
  43842. return value && typeof value.subscribe !== 'function' && typeof value.then === 'function';
  43843. }
  43844. exports.isPromise = isPromise;
  43845. //# sourceMappingURL=isPromise.js.map
  43846. /***/ },
  43847. /* 419 */
  43848. /***/ function(module, exports) {
  43849. "use strict";
  43850. "use strict";
  43851. /* tslint:disable:no-empty */
  43852. function noop() { }
  43853. exports.noop = noop;
  43854. //# sourceMappingURL=noop.js.map
  43855. /***/ },
  43856. /* 420 */
  43857. /***/ function(module, exports, __webpack_require__) {
  43858. "use strict";
  43859. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_upgrade__ = __webpack_require__(534);
  43860. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "UpgradeAdapter", function() { return __WEBPACK_IMPORTED_MODULE_0__src_upgrade__["a"]; });
  43861. /* harmony namespace reexport (by provided) */ __webpack_require__.d(exports, "UpgradeAdapterRef", function() { return __WEBPACK_IMPORTED_MODULE_0__src_upgrade__["b"]; });
  43862. /**
  43863. * @license
  43864. * Copyright Google Inc. All Rights Reserved.
  43865. *
  43866. * Use of this source code is governed by an MIT-style license that can be
  43867. * found in the LICENSE file at https://angular.io/license
  43868. */
  43869. /**
  43870. * @module
  43871. * @description
  43872. * Entry point for all public APIs of the upgrade package.
  43873. */
  43874. //# sourceMappingURL=index.js.map
  43875. /***/ },
  43876. /* 421 */,
  43877. /* 422 */
  43878. /***/ function(module, exports, __webpack_require__) {
  43879. __webpack_require__(668);
  43880. __webpack_require__(607);
  43881. __webpack_require__(609);
  43882. __webpack_require__(608);
  43883. __webpack_require__(611);
  43884. __webpack_require__(613);
  43885. __webpack_require__(618);
  43886. __webpack_require__(612);
  43887. __webpack_require__(610);
  43888. __webpack_require__(620);
  43889. __webpack_require__(619);
  43890. __webpack_require__(615);
  43891. __webpack_require__(616);
  43892. __webpack_require__(614);
  43893. __webpack_require__(606);
  43894. __webpack_require__(617);
  43895. __webpack_require__(621);
  43896. __webpack_require__(622);
  43897. __webpack_require__(574);
  43898. __webpack_require__(576);
  43899. __webpack_require__(575);
  43900. __webpack_require__(624);
  43901. __webpack_require__(623);
  43902. __webpack_require__(594);
  43903. __webpack_require__(604);
  43904. __webpack_require__(605);
  43905. __webpack_require__(595);
  43906. __webpack_require__(596);
  43907. __webpack_require__(597);
  43908. __webpack_require__(598);
  43909. __webpack_require__(599);
  43910. __webpack_require__(600);
  43911. __webpack_require__(601);
  43912. __webpack_require__(602);
  43913. __webpack_require__(603);
  43914. __webpack_require__(577);
  43915. __webpack_require__(578);
  43916. __webpack_require__(579);
  43917. __webpack_require__(580);
  43918. __webpack_require__(581);
  43919. __webpack_require__(582);
  43920. __webpack_require__(583);
  43921. __webpack_require__(584);
  43922. __webpack_require__(585);
  43923. __webpack_require__(586);
  43924. __webpack_require__(587);
  43925. __webpack_require__(588);
  43926. __webpack_require__(589);
  43927. __webpack_require__(590);
  43928. __webpack_require__(591);
  43929. __webpack_require__(592);
  43930. __webpack_require__(593);
  43931. __webpack_require__(655);
  43932. __webpack_require__(660);
  43933. __webpack_require__(667);
  43934. __webpack_require__(658);
  43935. __webpack_require__(650);
  43936. __webpack_require__(651);
  43937. __webpack_require__(656);
  43938. __webpack_require__(661);
  43939. __webpack_require__(663);
  43940. __webpack_require__(646);
  43941. __webpack_require__(647);
  43942. __webpack_require__(648);
  43943. __webpack_require__(649);
  43944. __webpack_require__(652);
  43945. __webpack_require__(653);
  43946. __webpack_require__(654);
  43947. __webpack_require__(657);
  43948. __webpack_require__(659);
  43949. __webpack_require__(662);
  43950. __webpack_require__(664);
  43951. __webpack_require__(665);
  43952. __webpack_require__(666);
  43953. __webpack_require__(569);
  43954. __webpack_require__(571);
  43955. __webpack_require__(570);
  43956. __webpack_require__(573);
  43957. __webpack_require__(572);
  43958. __webpack_require__(558);
  43959. __webpack_require__(556);
  43960. __webpack_require__(562);
  43961. __webpack_require__(559);
  43962. __webpack_require__(565);
  43963. __webpack_require__(567);
  43964. __webpack_require__(555);
  43965. __webpack_require__(561);
  43966. __webpack_require__(552);
  43967. __webpack_require__(566);
  43968. __webpack_require__(550);
  43969. __webpack_require__(564);
  43970. __webpack_require__(563);
  43971. __webpack_require__(557);
  43972. __webpack_require__(560);
  43973. __webpack_require__(549);
  43974. __webpack_require__(551);
  43975. __webpack_require__(554);
  43976. __webpack_require__(553);
  43977. __webpack_require__(568);
  43978. __webpack_require__(385);
  43979. __webpack_require__(640);
  43980. __webpack_require__(645);
  43981. __webpack_require__(387);
  43982. __webpack_require__(641);
  43983. __webpack_require__(642);
  43984. __webpack_require__(643);
  43985. __webpack_require__(644);
  43986. __webpack_require__(625);
  43987. __webpack_require__(386);
  43988. __webpack_require__(388);
  43989. __webpack_require__(389);
  43990. __webpack_require__(680);
  43991. __webpack_require__(669);
  43992. __webpack_require__(670);
  43993. __webpack_require__(675);
  43994. __webpack_require__(678);
  43995. __webpack_require__(679);
  43996. __webpack_require__(673);
  43997. __webpack_require__(676);
  43998. __webpack_require__(674);
  43999. __webpack_require__(677);
  44000. __webpack_require__(671);
  44001. __webpack_require__(672);
  44002. __webpack_require__(626);
  44003. __webpack_require__(627);
  44004. __webpack_require__(628);
  44005. __webpack_require__(629);
  44006. __webpack_require__(630);
  44007. __webpack_require__(633);
  44008. __webpack_require__(631);
  44009. __webpack_require__(632);
  44010. __webpack_require__(634);
  44011. __webpack_require__(635);
  44012. __webpack_require__(636);
  44013. __webpack_require__(637);
  44014. __webpack_require__(639);
  44015. __webpack_require__(638);
  44016. module.exports = __webpack_require__(69);
  44017. /***/ },
  44018. /* 423 */
  44019. /***/ function(module, exports, __webpack_require__) {
  44020. __webpack_require__(681);
  44021. __webpack_require__(682);
  44022. __webpack_require__(684);
  44023. __webpack_require__(683);
  44024. __webpack_require__(686);
  44025. __webpack_require__(685);
  44026. __webpack_require__(687);
  44027. __webpack_require__(688);
  44028. __webpack_require__(689);
  44029. module.exports = __webpack_require__(69).Reflect;
  44030. /***/ },
  44031. /* 424 */
  44032. /***/ function(module, exports, __webpack_require__) {
  44033. "use strict";
  44034. "use strict";
  44035. /* tslint:disable:no-unused-variable */
  44036. // Subject imported before Observable to bypass circular dependency issue since
  44037. // Subject extends Observable and Observable references Subject in it's
  44038. // definition
  44039. var Subject_1 = __webpack_require__(15);
  44040. exports.Subject = Subject_1.Subject;
  44041. /* tslint:enable:no-unused-variable */
  44042. var Observable_1 = __webpack_require__(0);
  44043. exports.Observable = Observable_1.Observable;
  44044. // statics
  44045. /* tslint:disable:no-use-before-declare */
  44046. __webpack_require__(698);
  44047. __webpack_require__(699);
  44048. __webpack_require__(700);
  44049. __webpack_require__(701);
  44050. __webpack_require__(702);
  44051. __webpack_require__(705);
  44052. __webpack_require__(706);
  44053. __webpack_require__(707);
  44054. __webpack_require__(708);
  44055. __webpack_require__(709);
  44056. __webpack_require__(710);
  44057. __webpack_require__(711);
  44058. __webpack_require__(712);
  44059. __webpack_require__(713);
  44060. __webpack_require__(714);
  44061. __webpack_require__(719);
  44062. __webpack_require__(715);
  44063. __webpack_require__(716);
  44064. __webpack_require__(717);
  44065. __webpack_require__(718);
  44066. __webpack_require__(720);
  44067. __webpack_require__(723);
  44068. __webpack_require__(721);
  44069. __webpack_require__(722);
  44070. __webpack_require__(724);
  44071. //dom
  44072. __webpack_require__(703);
  44073. __webpack_require__(704);
  44074. //operators
  44075. __webpack_require__(727);
  44076. __webpack_require__(728);
  44077. __webpack_require__(729);
  44078. __webpack_require__(730);
  44079. __webpack_require__(731);
  44080. __webpack_require__(732);
  44081. __webpack_require__(391);
  44082. __webpack_require__(733);
  44083. __webpack_require__(734);
  44084. __webpack_require__(735);
  44085. __webpack_require__(736);
  44086. __webpack_require__(737);
  44087. __webpack_require__(738);
  44088. __webpack_require__(739);
  44089. __webpack_require__(744);
  44090. __webpack_require__(740);
  44091. __webpack_require__(741);
  44092. __webpack_require__(742);
  44093. __webpack_require__(392);
  44094. __webpack_require__(743);
  44095. __webpack_require__(745);
  44096. __webpack_require__(746);
  44097. __webpack_require__(747);
  44098. __webpack_require__(748);
  44099. __webpack_require__(749);
  44100. __webpack_require__(752);
  44101. __webpack_require__(753);
  44102. __webpack_require__(754);
  44103. __webpack_require__(750);
  44104. __webpack_require__(755);
  44105. __webpack_require__(756);
  44106. __webpack_require__(757);
  44107. __webpack_require__(758);
  44108. __webpack_require__(759);
  44109. __webpack_require__(760);
  44110. __webpack_require__(761);
  44111. __webpack_require__(762);
  44112. __webpack_require__(725);
  44113. __webpack_require__(726);
  44114. __webpack_require__(763);
  44115. __webpack_require__(764);
  44116. __webpack_require__(751);
  44117. __webpack_require__(765);
  44118. __webpack_require__(766);
  44119. __webpack_require__(767);
  44120. __webpack_require__(768);
  44121. __webpack_require__(769);
  44122. __webpack_require__(770);
  44123. __webpack_require__(771);
  44124. __webpack_require__(772);
  44125. __webpack_require__(773);
  44126. __webpack_require__(774);
  44127. __webpack_require__(775);
  44128. __webpack_require__(776);
  44129. __webpack_require__(777);
  44130. __webpack_require__(778);
  44131. __webpack_require__(779);
  44132. __webpack_require__(780);
  44133. __webpack_require__(781);
  44134. __webpack_require__(782);
  44135. __webpack_require__(784);
  44136. __webpack_require__(783);
  44137. __webpack_require__(785);
  44138. __webpack_require__(786);
  44139. __webpack_require__(787);
  44140. __webpack_require__(788);
  44141. __webpack_require__(789);
  44142. __webpack_require__(790);
  44143. __webpack_require__(791);
  44144. __webpack_require__(792);
  44145. __webpack_require__(793);
  44146. __webpack_require__(794);
  44147. __webpack_require__(795);
  44148. __webpack_require__(796);
  44149. __webpack_require__(797);
  44150. __webpack_require__(798);
  44151. __webpack_require__(799);
  44152. __webpack_require__(800);
  44153. __webpack_require__(801);
  44154. __webpack_require__(802);
  44155. __webpack_require__(803);
  44156. __webpack_require__(804);
  44157. __webpack_require__(805);
  44158. __webpack_require__(806);
  44159. __webpack_require__(807);
  44160. __webpack_require__(808);
  44161. __webpack_require__(809);
  44162. __webpack_require__(810);
  44163. __webpack_require__(811);
  44164. __webpack_require__(812);
  44165. __webpack_require__(813);
  44166. __webpack_require__(814);
  44167. __webpack_require__(815);
  44168. __webpack_require__(816);
  44169. __webpack_require__(817);
  44170. __webpack_require__(818);
  44171. __webpack_require__(819);
  44172. __webpack_require__(820);
  44173. __webpack_require__(821);
  44174. __webpack_require__(822);
  44175. __webpack_require__(823);
  44176. __webpack_require__(824);
  44177. /* tslint:disable:no-unused-variable */
  44178. var Subscription_1 = __webpack_require__(22);
  44179. exports.Subscription = Subscription_1.Subscription;
  44180. var Subscriber_1 = __webpack_require__(3);
  44181. exports.Subscriber = Subscriber_1.Subscriber;
  44182. var AsyncSubject_1 = __webpack_require__(168);
  44183. exports.AsyncSubject = AsyncSubject_1.AsyncSubject;
  44184. var ReplaySubject_1 = __webpack_require__(170);
  44185. exports.ReplaySubject = ReplaySubject_1.ReplaySubject;
  44186. var BehaviorSubject_1 = __webpack_require__(169);
  44187. exports.BehaviorSubject = BehaviorSubject_1.BehaviorSubject;
  44188. var MulticastObservable_1 = __webpack_require__(394);
  44189. exports.MulticastObservable = MulticastObservable_1.MulticastObservable;
  44190. var ConnectableObservable_1 = __webpack_require__(256);
  44191. exports.ConnectableObservable = ConnectableObservable_1.ConnectableObservable;
  44192. var Notification_1 = __webpack_require__(120);
  44193. exports.Notification = Notification_1.Notification;
  44194. var EmptyError_1 = __webpack_require__(125);
  44195. exports.EmptyError = EmptyError_1.EmptyError;
  44196. var ArgumentOutOfRangeError_1 = __webpack_require__(175);
  44197. exports.ArgumentOutOfRangeError = ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;
  44198. var ObjectUnsubscribedError_1 = __webpack_require__(265);
  44199. exports.ObjectUnsubscribedError = ObjectUnsubscribedError_1.ObjectUnsubscribedError;
  44200. var UnsubscriptionError_1 = __webpack_require__(416);
  44201. exports.UnsubscriptionError = UnsubscriptionError_1.UnsubscriptionError;
  44202. var timeInterval_1 = __webpack_require__(408);
  44203. exports.TimeInterval = timeInterval_1.TimeInterval;
  44204. var timestamp_1 = __webpack_require__(409);
  44205. exports.Timestamp = timestamp_1.Timestamp;
  44206. var TestScheduler_1 = __webpack_require__(952);
  44207. exports.TestScheduler = TestScheduler_1.TestScheduler;
  44208. var VirtualTimeScheduler_1 = __webpack_require__(411);
  44209. exports.VirtualTimeScheduler = VirtualTimeScheduler_1.VirtualTimeScheduler;
  44210. var AjaxObservable_1 = __webpack_require__(396);
  44211. exports.AjaxResponse = AjaxObservable_1.AjaxResponse;
  44212. exports.AjaxError = AjaxObservable_1.AjaxError;
  44213. exports.AjaxTimeoutError = AjaxObservable_1.AjaxTimeoutError;
  44214. var asap_1 = __webpack_require__(412);
  44215. var async_1 = __webpack_require__(33);
  44216. var queue_1 = __webpack_require__(413);
  44217. var animationFrame_1 = __webpack_require__(949);
  44218. var rxSubscriber_1 = __webpack_require__(174);
  44219. var iterator_1 = __webpack_require__(124);
  44220. var observable_1 = __webpack_require__(173);
  44221. /* tslint:enable:no-unused-variable */
  44222. /**
  44223. * @typedef {Object} Rx.Scheduler
  44224. * @property {Scheduler} queue Schedules on a queue in the current event frame
  44225. * (trampoline scheduler). Use this for iteration operations.
  44226. * @property {Scheduler} asap Schedules on the micro task queue, which uses the
  44227. * fastest transport mechanism available, either Node.js' `process.nextTick()`
  44228. * or Web Worker MessageChannel or setTimeout or others. Use this for
  44229. * asynchronous conversions.
  44230. * @property {Scheduler} async Schedules work with `setInterval`. Use this for
  44231. * time-based operations.
  44232. * @property {Scheduler} animationFrame Schedules work with `requestAnimationFrame`.
  44233. * Use this for synchronizing with the platform's painting
  44234. */
  44235. var Scheduler = {
  44236. asap: asap_1.asap,
  44237. queue: queue_1.queue,
  44238. animationFrame: animationFrame_1.animationFrame,
  44239. async: async_1.async
  44240. };
  44241. exports.Scheduler = Scheduler;
  44242. /**
  44243. * @typedef {Object} Rx.Symbol
  44244. * @property {Symbol|string} rxSubscriber A symbol to use as a property name to
  44245. * retrieve an "Rx safe" Observer from an object. "Rx safety" can be defined as
  44246. * an object that has all of the traits of an Rx Subscriber, including the
  44247. * ability to add and remove subscriptions to the subscription chain and
  44248. * guarantees involving event triggering (can't "next" after unsubscription,
  44249. * etc).
  44250. * @property {Symbol|string} observable A symbol to use as a property name to
  44251. * retrieve an Observable as defined by the [ECMAScript "Observable" spec](https://github.com/zenparsing/es-observable).
  44252. * @property {Symbol|string} iterator The ES6 symbol to use as a property name
  44253. * to retrieve an iterator from an object.
  44254. */
  44255. var Symbol = {
  44256. rxSubscriber: rxSubscriber_1.$$rxSubscriber,
  44257. observable: observable_1.$$observable,
  44258. iterator: iterator_1.$$iterator
  44259. };
  44260. exports.Symbol = Symbol;
  44261. //# sourceMappingURL=Rx.js.map
  44262. /***/ },
  44263. /* 425 */
  44264. /***/ function(module, exports, __webpack_require__) {
  44265. /* WEBPACK VAR INJECTION */(function(global, process) {/**
  44266. * @license
  44267. * Copyright Google Inc. All Rights Reserved.
  44268. *
  44269. * Use of this source code is governed by an MIT-style license that can be
  44270. * found in the LICENSE file at https://angular.io/license
  44271. */
  44272. (function (global, factory) {
  44273. true ? factory() :
  44274. typeof define === 'function' && define.amd ? define(factory) :
  44275. (factory());
  44276. }(this, (function () { 'use strict';
  44277. var Zone$1 = (function (global) {
  44278. if (global.Zone) {
  44279. throw new Error('Zone already loaded.');
  44280. }
  44281. var Zone = (function () {
  44282. function Zone(parent, zoneSpec) {
  44283. this._properties = null;
  44284. this._parent = parent;
  44285. this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '<root>';
  44286. this._properties = zoneSpec && zoneSpec.properties || {};
  44287. this._zoneDelegate = new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);
  44288. }
  44289. Zone.assertZonePatched = function () {
  44290. if (global.Promise !== ZoneAwarePromise) {
  44291. throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` " +
  44292. "has been overwritten.\n" +
  44293. "Most likely cause is that a Promise polyfill has been loaded " +
  44294. "after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. " +
  44295. "If you must load one, do so before loading zone.js.)");
  44296. }
  44297. };
  44298. Object.defineProperty(Zone, "current", {
  44299. get: function () { return _currentZone; },
  44300. enumerable: true,
  44301. configurable: true
  44302. });
  44303. Object.defineProperty(Zone, "currentTask", {
  44304. get: function () { return _currentTask; },
  44305. enumerable: true,
  44306. configurable: true
  44307. });
  44308. Object.defineProperty(Zone.prototype, "parent", {
  44309. get: function () { return this._parent; },
  44310. enumerable: true,
  44311. configurable: true
  44312. });
  44313. Object.defineProperty(Zone.prototype, "name", {
  44314. get: function () { return this._name; },
  44315. enumerable: true,
  44316. configurable: true
  44317. });
  44318. Zone.prototype.get = function (key) {
  44319. var zone = this.getZoneWith(key);
  44320. if (zone)
  44321. return zone._properties[key];
  44322. };
  44323. Zone.prototype.getZoneWith = function (key) {
  44324. var current = this;
  44325. while (current) {
  44326. if (current._properties.hasOwnProperty(key)) {
  44327. return current;
  44328. }
  44329. current = current._parent;
  44330. }
  44331. return null;
  44332. };
  44333. Zone.prototype.fork = function (zoneSpec) {
  44334. if (!zoneSpec)
  44335. throw new Error('ZoneSpec required!');
  44336. return this._zoneDelegate.fork(this, zoneSpec);
  44337. };
  44338. Zone.prototype.wrap = function (callback, source) {
  44339. if (typeof callback !== 'function') {
  44340. throw new Error('Expecting function got: ' + callback);
  44341. }
  44342. var _callback = this._zoneDelegate.intercept(this, callback, source);
  44343. var zone = this;
  44344. return function () {
  44345. return zone.runGuarded(_callback, this, arguments, source);
  44346. };
  44347. };
  44348. Zone.prototype.run = function (callback, applyThis, applyArgs, source) {
  44349. if (applyThis === void 0) { applyThis = null; }
  44350. if (applyArgs === void 0) { applyArgs = null; }
  44351. if (source === void 0) { source = null; }
  44352. var oldZone = _currentZone;
  44353. _currentZone = this;
  44354. try {
  44355. return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);
  44356. }
  44357. finally {
  44358. _currentZone = oldZone;
  44359. }
  44360. };
  44361. Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {
  44362. if (applyThis === void 0) { applyThis = null; }
  44363. if (applyArgs === void 0) { applyArgs = null; }
  44364. if (source === void 0) { source = null; }
  44365. var oldZone = _currentZone;
  44366. _currentZone = this;
  44367. try {
  44368. try {
  44369. return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);
  44370. }
  44371. catch (error) {
  44372. if (this._zoneDelegate.handleError(this, error)) {
  44373. throw error;
  44374. }
  44375. }
  44376. }
  44377. finally {
  44378. _currentZone = oldZone;
  44379. }
  44380. };
  44381. Zone.prototype.runTask = function (task, applyThis, applyArgs) {
  44382. task.runCount++;
  44383. if (task.zone != this)
  44384. throw new Error('A task can only be run in the zone which created it! (Creation: ' +
  44385. task.zone.name + '; Execution: ' + this.name + ')');
  44386. var previousTask = _currentTask;
  44387. _currentTask = task;
  44388. var oldZone = _currentZone;
  44389. _currentZone = this;
  44390. try {
  44391. if (task.type == 'macroTask' && task.data && !task.data.isPeriodic) {
  44392. task.cancelFn = null;
  44393. }
  44394. try {
  44395. return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);
  44396. }
  44397. catch (error) {
  44398. if (this._zoneDelegate.handleError(this, error)) {
  44399. throw error;
  44400. }
  44401. }
  44402. }
  44403. finally {
  44404. _currentZone = oldZone;
  44405. _currentTask = previousTask;
  44406. }
  44407. };
  44408. Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {
  44409. return this._zoneDelegate.scheduleTask(this, new ZoneTask('microTask', this, source, callback, data, customSchedule, null));
  44410. };
  44411. Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {
  44412. return this._zoneDelegate.scheduleTask(this, new ZoneTask('macroTask', this, source, callback, data, customSchedule, customCancel));
  44413. };
  44414. Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {
  44415. return this._zoneDelegate.scheduleTask(this, new ZoneTask('eventTask', this, source, callback, data, customSchedule, customCancel));
  44416. };
  44417. Zone.prototype.cancelTask = function (task) {
  44418. var value = this._zoneDelegate.cancelTask(this, task);
  44419. task.runCount = -1;
  44420. task.cancelFn = null;
  44421. return value;
  44422. };
  44423. Zone.__symbol__ = __symbol__;
  44424. return Zone;
  44425. }());
  44426. var ZoneDelegate = (function () {
  44427. function ZoneDelegate(zone, parentDelegate, zoneSpec) {
  44428. this._taskCounts = { microTask: 0, macroTask: 0, eventTask: 0 };
  44429. this.zone = zone;
  44430. this._parentDelegate = parentDelegate;
  44431. this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);
  44432. this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);
  44433. this._interceptZS = zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);
  44434. this._interceptDlgt = zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);
  44435. this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);
  44436. this._invokeDlgt = zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);
  44437. this._handleErrorZS = zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);
  44438. this._handleErrorDlgt = zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);
  44439. this._scheduleTaskZS = zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);
  44440. this._scheduleTaskDlgt = zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);
  44441. this._invokeTaskZS = zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);
  44442. this._invokeTaskDlgt = zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);
  44443. this._cancelTaskZS = zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);
  44444. this._cancelTaskDlgt = zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);
  44445. this._hasTaskZS = zoneSpec && (zoneSpec.onHasTask ? zoneSpec : parentDelegate._hasTaskZS);
  44446. this._hasTaskDlgt = zoneSpec && (zoneSpec.onHasTask ? parentDelegate : parentDelegate._hasTaskDlgt);
  44447. }
  44448. ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {
  44449. return this._forkZS
  44450. ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec)
  44451. : new Zone(targetZone, zoneSpec);
  44452. };
  44453. ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {
  44454. return this._interceptZS
  44455. ? this._interceptZS.onIntercept(this._interceptDlgt, this.zone, targetZone, callback, source)
  44456. : callback;
  44457. };
  44458. ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {
  44459. return this._invokeZS
  44460. ? this._invokeZS.onInvoke(this._invokeDlgt, this.zone, targetZone, callback, applyThis, applyArgs, source)
  44461. : callback.apply(applyThis, applyArgs);
  44462. };
  44463. ZoneDelegate.prototype.handleError = function (targetZone, error) {
  44464. return this._handleErrorZS
  44465. ? this._handleErrorZS.onHandleError(this._handleErrorDlgt, this.zone, targetZone, error)
  44466. : true;
  44467. };
  44468. ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {
  44469. try {
  44470. if (this._scheduleTaskZS) {
  44471. return this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this.zone, targetZone, task);
  44472. }
  44473. else if (task.scheduleFn) {
  44474. task.scheduleFn(task);
  44475. }
  44476. else if (task.type == 'microTask') {
  44477. scheduleMicroTask(task);
  44478. }
  44479. else {
  44480. throw new Error('Task is missing scheduleFn.');
  44481. }
  44482. return task;
  44483. }
  44484. finally {
  44485. if (targetZone == this.zone) {
  44486. this._updateTaskCount(task.type, 1);
  44487. }
  44488. }
  44489. };
  44490. ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {
  44491. try {
  44492. return this._invokeTaskZS
  44493. ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this.zone, targetZone, task, applyThis, applyArgs)
  44494. : task.callback.apply(applyThis, applyArgs);
  44495. }
  44496. finally {
  44497. if (targetZone == this.zone && (task.type != 'eventTask') && !(task.data && task.data.isPeriodic)) {
  44498. this._updateTaskCount(task.type, -1);
  44499. }
  44500. }
  44501. };
  44502. ZoneDelegate.prototype.cancelTask = function (targetZone, task) {
  44503. var value;
  44504. if (this._cancelTaskZS) {
  44505. value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this.zone, targetZone, task);
  44506. }
  44507. else if (!task.cancelFn) {
  44508. throw new Error('Task does not support cancellation, or is already canceled.');
  44509. }
  44510. else {
  44511. value = task.cancelFn(task);
  44512. }
  44513. if (targetZone == this.zone) {
  44514. // this should not be in the finally block, because exceptions assume not canceled.
  44515. this._updateTaskCount(task.type, -1);
  44516. }
  44517. return value;
  44518. };
  44519. ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {
  44520. return this._hasTaskZS && this._hasTaskZS.onHasTask(this._hasTaskDlgt, this.zone, targetZone, isEmpty);
  44521. };
  44522. ZoneDelegate.prototype._updateTaskCount = function (type, count) {
  44523. var counts = this._taskCounts;
  44524. var prev = counts[type];
  44525. var next = counts[type] = prev + count;
  44526. if (next < 0) {
  44527. throw new Error('More tasks executed then were scheduled.');
  44528. }
  44529. if (prev == 0 || next == 0) {
  44530. var isEmpty = {
  44531. microTask: counts.microTask > 0,
  44532. macroTask: counts.macroTask > 0,
  44533. eventTask: counts.eventTask > 0,
  44534. change: type
  44535. };
  44536. try {
  44537. this.hasTask(this.zone, isEmpty);
  44538. }
  44539. finally {
  44540. if (this._parentDelegate) {
  44541. this._parentDelegate._updateTaskCount(type, count);
  44542. }
  44543. }
  44544. }
  44545. };
  44546. return ZoneDelegate;
  44547. }());
  44548. var ZoneTask = (function () {
  44549. function ZoneTask(type, zone, source, callback, options, scheduleFn, cancelFn) {
  44550. this.runCount = 0;
  44551. this.type = type;
  44552. this.zone = zone;
  44553. this.source = source;
  44554. this.data = options;
  44555. this.scheduleFn = scheduleFn;
  44556. this.cancelFn = cancelFn;
  44557. this.callback = callback;
  44558. var self = this;
  44559. this.invoke = function () {
  44560. _numberOfNestedTaskFrames++;
  44561. try {
  44562. return zone.runTask(self, this, arguments);
  44563. }
  44564. finally {
  44565. if (_numberOfNestedTaskFrames == 1) {
  44566. drainMicroTaskQueue();
  44567. }
  44568. _numberOfNestedTaskFrames--;
  44569. }
  44570. };
  44571. }
  44572. ZoneTask.prototype.toString = function () {
  44573. if (this.data && typeof this.data.handleId !== 'undefined') {
  44574. return this.data.handleId;
  44575. }
  44576. else {
  44577. return this.toString();
  44578. }
  44579. };
  44580. return ZoneTask;
  44581. }());
  44582. function __symbol__(name) { return '__zone_symbol__' + name; }
  44583. var symbolSetTimeout = __symbol__('setTimeout');
  44584. var symbolPromise = __symbol__('Promise');
  44585. var symbolThen = __symbol__('then');
  44586. var _currentZone = new Zone(null, null);
  44587. var _currentTask = null;
  44588. var _microTaskQueue = [];
  44589. var _isDrainingMicrotaskQueue = false;
  44590. var _uncaughtPromiseErrors = [];
  44591. var _numberOfNestedTaskFrames = 0;
  44592. function scheduleQueueDrain() {
  44593. // if we are not running in any task, and there has not been anything scheduled
  44594. // we must bootstrap the initial task creation by manually scheduling the drain
  44595. if (_numberOfNestedTaskFrames == 0 && _microTaskQueue.length == 0) {
  44596. // We are not running in Task, so we need to kickstart the microtask queue.
  44597. if (global[symbolPromise]) {
  44598. global[symbolPromise].resolve(0)[symbolThen](drainMicroTaskQueue);
  44599. }
  44600. else {
  44601. global[symbolSetTimeout](drainMicroTaskQueue, 0);
  44602. }
  44603. }
  44604. }
  44605. function scheduleMicroTask(task) {
  44606. scheduleQueueDrain();
  44607. _microTaskQueue.push(task);
  44608. }
  44609. function consoleError(e) {
  44610. var rejection = e && e.rejection;
  44611. if (rejection) {
  44612. console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);
  44613. }
  44614. console.error(e);
  44615. }
  44616. function drainMicroTaskQueue() {
  44617. if (!_isDrainingMicrotaskQueue) {
  44618. _isDrainingMicrotaskQueue = true;
  44619. while (_microTaskQueue.length) {
  44620. var queue = _microTaskQueue;
  44621. _microTaskQueue = [];
  44622. for (var i = 0; i < queue.length; i++) {
  44623. var task = queue[i];
  44624. try {
  44625. task.zone.runTask(task, null, null);
  44626. }
  44627. catch (e) {
  44628. consoleError(e);
  44629. }
  44630. }
  44631. }
  44632. while (_uncaughtPromiseErrors.length) {
  44633. var _loop_1 = function() {
  44634. var uncaughtPromiseError = _uncaughtPromiseErrors.shift();
  44635. try {
  44636. uncaughtPromiseError.zone.runGuarded(function () { throw uncaughtPromiseError; });
  44637. }
  44638. catch (e) {
  44639. consoleError(e);
  44640. }
  44641. };
  44642. while (_uncaughtPromiseErrors.length) {
  44643. _loop_1();
  44644. }
  44645. }
  44646. _isDrainingMicrotaskQueue = false;
  44647. }
  44648. }
  44649. function isThenable(value) {
  44650. return value && value.then;
  44651. }
  44652. function forwardResolution(value) { return value; }
  44653. function forwardRejection(rejection) { return ZoneAwarePromise.reject(rejection); }
  44654. var symbolState = __symbol__('state');
  44655. var symbolValue = __symbol__('value');
  44656. var source = 'Promise.then';
  44657. var UNRESOLVED = null;
  44658. var RESOLVED = true;
  44659. var REJECTED = false;
  44660. var REJECTED_NO_CATCH = 0;
  44661. function makeResolver(promise, state) {
  44662. return function (v) {
  44663. resolvePromise(promise, state, v);
  44664. // Do not return value or you will break the Promise spec.
  44665. };
  44666. }
  44667. function resolvePromise(promise, state, value) {
  44668. if (promise[symbolState] === UNRESOLVED) {
  44669. if (value instanceof ZoneAwarePromise && value[symbolState] !== UNRESOLVED) {
  44670. clearRejectedNoCatch(value);
  44671. resolvePromise(promise, value[symbolState], value[symbolValue]);
  44672. }
  44673. else if (isThenable(value)) {
  44674. value.then(makeResolver(promise, state), makeResolver(promise, false));
  44675. }
  44676. else {
  44677. promise[symbolState] = state;
  44678. var queue = promise[symbolValue];
  44679. promise[symbolValue] = value;
  44680. for (var i = 0; i < queue.length;) {
  44681. scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);
  44682. }
  44683. if (queue.length == 0 && state == REJECTED) {
  44684. promise[symbolState] = REJECTED_NO_CATCH;
  44685. try {
  44686. throw new Error("Uncaught (in promise): " + value);
  44687. }
  44688. catch (e) {
  44689. var error_1 = e;
  44690. error_1.rejection = value;
  44691. error_1.promise = promise;
  44692. error_1.zone = Zone.current;
  44693. error_1.task = Zone.currentTask;
  44694. _uncaughtPromiseErrors.push(error_1);
  44695. scheduleQueueDrain();
  44696. }
  44697. }
  44698. }
  44699. }
  44700. // Resolving an already resolved promise is a noop.
  44701. return promise;
  44702. }
  44703. function clearRejectedNoCatch(promise) {
  44704. if (promise[symbolState] === REJECTED_NO_CATCH) {
  44705. promise[symbolState] = REJECTED;
  44706. for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {
  44707. if (promise === _uncaughtPromiseErrors[i].promise) {
  44708. _uncaughtPromiseErrors.splice(i, 1);
  44709. break;
  44710. }
  44711. }
  44712. }
  44713. }
  44714. function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {
  44715. clearRejectedNoCatch(promise);
  44716. var delegate = promise[symbolState] ? onFulfilled || forwardResolution : onRejected || forwardRejection;
  44717. zone.scheduleMicroTask(source, function () {
  44718. try {
  44719. resolvePromise(chainPromise, true, zone.run(delegate, null, [promise[symbolValue]]));
  44720. }
  44721. catch (error) {
  44722. resolvePromise(chainPromise, false, error);
  44723. }
  44724. });
  44725. }
  44726. var ZoneAwarePromise = (function () {
  44727. function ZoneAwarePromise(executor) {
  44728. var promise = this;
  44729. if (!(promise instanceof ZoneAwarePromise)) {
  44730. throw new Error('Must be an instanceof Promise.');
  44731. }
  44732. promise[symbolState] = UNRESOLVED;
  44733. promise[symbolValue] = []; // queue;
  44734. try {
  44735. executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));
  44736. }
  44737. catch (e) {
  44738. resolvePromise(promise, false, e);
  44739. }
  44740. }
  44741. ZoneAwarePromise.resolve = function (value) {
  44742. return resolvePromise(new this(null), RESOLVED, value);
  44743. };
  44744. ZoneAwarePromise.reject = function (error) {
  44745. return resolvePromise(new this(null), REJECTED, error);
  44746. };
  44747. ZoneAwarePromise.race = function (values) {
  44748. var resolve;
  44749. var reject;
  44750. var promise = new this(function (res, rej) { resolve = res; reject = rej; });
  44751. function onResolve(value) { promise && (promise = null || resolve(value)); }
  44752. function onReject(error) { promise && (promise = null || reject(error)); }
  44753. for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {
  44754. var value = values_1[_i];
  44755. if (!isThenable(value)) {
  44756. value = this.resolve(value);
  44757. }
  44758. value.then(onResolve, onReject);
  44759. }
  44760. return promise;
  44761. };
  44762. ZoneAwarePromise.all = function (values) {
  44763. var resolve;
  44764. var reject;
  44765. var promise = new this(function (res, rej) { resolve = res; reject = rej; });
  44766. var count = 0;
  44767. var resolvedValues = [];
  44768. for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {
  44769. var value = values_2[_i];
  44770. if (!isThenable(value)) {
  44771. value = this.resolve(value);
  44772. }
  44773. value.then((function (index) { return function (value) {
  44774. resolvedValues[index] = value;
  44775. count--;
  44776. if (!count) {
  44777. resolve(resolvedValues);
  44778. }
  44779. }; })(count), reject);
  44780. count++;
  44781. }
  44782. if (!count)
  44783. resolve(resolvedValues);
  44784. return promise;
  44785. };
  44786. ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {
  44787. var chainPromise = new this.constructor(null);
  44788. var zone = Zone.current;
  44789. if (this[symbolState] == UNRESOLVED) {
  44790. this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);
  44791. }
  44792. else {
  44793. scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);
  44794. }
  44795. return chainPromise;
  44796. };
  44797. ZoneAwarePromise.prototype.catch = function (onRejected) {
  44798. return this.then(null, onRejected);
  44799. };
  44800. return ZoneAwarePromise;
  44801. }());
  44802. // Protect against aggressive optimizers dropping seemingly unused properties.
  44803. // E.g. Closure Compiler in advanced mode.
  44804. ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;
  44805. ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;
  44806. ZoneAwarePromise['race'] = ZoneAwarePromise.race;
  44807. ZoneAwarePromise['all'] = ZoneAwarePromise.all;
  44808. var NativePromise = global[__symbol__('Promise')] = global.Promise;
  44809. global.Promise = ZoneAwarePromise;
  44810. function patchThen(NativePromise) {
  44811. var NativePromiseProtototype = NativePromise.prototype;
  44812. var NativePromiseThen = NativePromiseProtototype[__symbol__('then')]
  44813. = NativePromiseProtototype.then;
  44814. NativePromiseProtototype.then = function (onResolve, onReject) {
  44815. var nativePromise = this;
  44816. return new ZoneAwarePromise(function (resolve, reject) {
  44817. NativePromiseThen.call(nativePromise, resolve, reject);
  44818. }).then(onResolve, onReject);
  44819. };
  44820. }
  44821. if (NativePromise) {
  44822. patchThen(NativePromise);
  44823. if (typeof global['fetch'] !== 'undefined') {
  44824. var fetchPromise = void 0;
  44825. try {
  44826. // In MS Edge this throws
  44827. fetchPromise = global['fetch']();
  44828. }
  44829. catch (e) {
  44830. // In Chrome this throws instead.
  44831. fetchPromise = global['fetch']('about:blank');
  44832. }
  44833. // ignore output to prevent error;
  44834. fetchPromise.then(function () { return null; }, function () { return null; });
  44835. if (fetchPromise.constructor != NativePromise) {
  44836. patchThen(fetchPromise.constructor);
  44837. }
  44838. }
  44839. }
  44840. // This is not part of public API, but it is usefull for tests, so we expose it.
  44841. Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;
  44842. return global.Zone = Zone;
  44843. })(typeof window === 'object' && window || typeof self === 'object' && self || global);
  44844. /**
  44845. * Suppress closure compiler errors about unknown 'process' variable
  44846. * @fileoverview
  44847. * @suppress {undefinedVars}
  44848. */
  44849. var zoneSymbol = Zone['__symbol__'];
  44850. var _global$1 = typeof window === 'object' && window || typeof self === 'object' && self || global;
  44851. function bindArguments(args, source) {
  44852. for (var i = args.length - 1; i >= 0; i--) {
  44853. if (typeof args[i] === 'function') {
  44854. args[i] = Zone.current.wrap(args[i], source + '_' + i);
  44855. }
  44856. }
  44857. return args;
  44858. }
  44859. function patchPrototype(prototype, fnNames) {
  44860. var source = prototype.constructor['name'];
  44861. var _loop_1 = function(i) {
  44862. var name_1 = fnNames[i];
  44863. var delegate = prototype[name_1];
  44864. if (delegate) {
  44865. prototype[name_1] = (function (delegate) {
  44866. return function () {
  44867. return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));
  44868. };
  44869. })(delegate);
  44870. }
  44871. };
  44872. for (var i = 0; i < fnNames.length; i++) {
  44873. _loop_1(i);
  44874. }
  44875. }
  44876. var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);
  44877. var isNode = (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]');
  44878. var isBrowser = !isNode && !isWebWorker && !!(typeof window !== 'undefined' && window['HTMLElement']);
  44879. function patchProperty(obj, prop) {
  44880. var desc = Object.getOwnPropertyDescriptor(obj, prop) || {
  44881. enumerable: true,
  44882. configurable: true
  44883. };
  44884. // A property descriptor cannot have getter/setter and be writable
  44885. // deleting the writable and value properties avoids this error:
  44886. //
  44887. // TypeError: property descriptors must not specify a value or be writable when a
  44888. // getter or setter has been specified
  44889. delete desc.writable;
  44890. delete desc.value;
  44891. // substr(2) cuz 'onclick' -> 'click', etc
  44892. var eventName = prop.substr(2);
  44893. var _prop = '_' + prop;
  44894. desc.set = function (fn) {
  44895. if (this[_prop]) {
  44896. this.removeEventListener(eventName, this[_prop]);
  44897. }
  44898. if (typeof fn === 'function') {
  44899. var wrapFn = function (event) {
  44900. var result;
  44901. result = fn.apply(this, arguments);
  44902. if (result != undefined && !result)
  44903. event.preventDefault();
  44904. };
  44905. this[_prop] = wrapFn;
  44906. this.addEventListener(eventName, wrapFn, false);
  44907. }
  44908. else {
  44909. this[_prop] = null;
  44910. }
  44911. };
  44912. // The getter would return undefined for unassigned properties but the default value of an unassigned property is null
  44913. desc.get = function () {
  44914. return this[_prop] || null;
  44915. };
  44916. Object.defineProperty(obj, prop, desc);
  44917. }
  44918. function patchOnProperties(obj, properties) {
  44919. var onProperties = [];
  44920. for (var prop in obj) {
  44921. if (prop.substr(0, 2) == 'on') {
  44922. onProperties.push(prop);
  44923. }
  44924. }
  44925. for (var j = 0; j < onProperties.length; j++) {
  44926. patchProperty(obj, onProperties[j]);
  44927. }
  44928. if (properties) {
  44929. for (var i = 0; i < properties.length; i++) {
  44930. patchProperty(obj, 'on' + properties[i]);
  44931. }
  44932. }
  44933. }
  44934. var EVENT_TASKS = zoneSymbol('eventTasks');
  44935. // For EventTarget
  44936. var ADD_EVENT_LISTENER = 'addEventListener';
  44937. var REMOVE_EVENT_LISTENER = 'removeEventListener';
  44938. function findExistingRegisteredTask(target, handler, name, capture, remove) {
  44939. var eventTasks = target[EVENT_TASKS];
  44940. if (eventTasks) {
  44941. for (var i = 0; i < eventTasks.length; i++) {
  44942. var eventTask = eventTasks[i];
  44943. var data = eventTask.data;
  44944. if (data.handler === handler
  44945. && data.useCapturing === capture
  44946. && data.eventName === name) {
  44947. if (remove) {
  44948. eventTasks.splice(i, 1);
  44949. }
  44950. return eventTask;
  44951. }
  44952. }
  44953. }
  44954. return null;
  44955. }
  44956. function attachRegisteredEvent(target, eventTask) {
  44957. var eventTasks = target[EVENT_TASKS];
  44958. if (!eventTasks) {
  44959. eventTasks = target[EVENT_TASKS] = [];
  44960. }
  44961. eventTasks.push(eventTask);
  44962. }
  44963. function makeZoneAwareAddListener(addFnName, removeFnName, useCapturingParam, allowDuplicates) {
  44964. if (useCapturingParam === void 0) { useCapturingParam = true; }
  44965. if (allowDuplicates === void 0) { allowDuplicates = false; }
  44966. var addFnSymbol = zoneSymbol(addFnName);
  44967. var removeFnSymbol = zoneSymbol(removeFnName);
  44968. var defaultUseCapturing = useCapturingParam ? false : undefined;
  44969. function scheduleEventListener(eventTask) {
  44970. var meta = eventTask.data;
  44971. attachRegisteredEvent(meta.target, eventTask);
  44972. return meta.target[addFnSymbol](meta.eventName, eventTask.invoke, meta.useCapturing);
  44973. }
  44974. function cancelEventListener(eventTask) {
  44975. var meta = eventTask.data;
  44976. findExistingRegisteredTask(meta.target, eventTask.invoke, meta.eventName, meta.useCapturing, true);
  44977. meta.target[removeFnSymbol](meta.eventName, eventTask.invoke, meta.useCapturing);
  44978. }
  44979. return function zoneAwareAddListener(self, args) {
  44980. var eventName = args[0];
  44981. var handler = args[1];
  44982. var useCapturing = args[2] || defaultUseCapturing;
  44983. // - Inside a Web Worker, `this` is undefined, the context is `global`
  44984. // - When `addEventListener` is called on the global context in strict mode, `this` is undefined
  44985. // see https://github.com/angular/zone.js/issues/190
  44986. var target = self || _global$1;
  44987. var delegate = null;
  44988. if (typeof handler == 'function') {
  44989. delegate = handler;
  44990. }
  44991. else if (handler && handler.handleEvent) {
  44992. delegate = function (event) { return handler.handleEvent(event); };
  44993. }
  44994. var validZoneHandler = false;
  44995. try {
  44996. // In cross site contexts (such as WebDriver frameworks like Selenium),
  44997. // accessing the handler object here will cause an exception to be thrown which
  44998. // will fail tests prematurely.
  44999. validZoneHandler = handler && handler.toString() === "[object FunctionWrapper]";
  45000. }
  45001. catch (e) {
  45002. // Returning nothing here is fine, because objects in a cross-site context are unusable
  45003. return;
  45004. }
  45005. // Ignore special listeners of IE11 & Edge dev tools, see https://github.com/angular/zone.js/issues/150
  45006. if (!delegate || validZoneHandler) {
  45007. return target[addFnSymbol](eventName, handler, useCapturing);
  45008. }
  45009. if (!allowDuplicates) {
  45010. var eventTask = findExistingRegisteredTask(target, handler, eventName, useCapturing, false);
  45011. if (eventTask) {
  45012. // we already registered, so this will have noop.
  45013. return target[addFnSymbol](eventName, eventTask.invoke, useCapturing);
  45014. }
  45015. }
  45016. var zone = Zone.current;
  45017. var source = target.constructor['name'] + '.' + addFnName + ':' + eventName;
  45018. var data = {
  45019. target: target,
  45020. eventName: eventName,
  45021. name: eventName,
  45022. useCapturing: useCapturing,
  45023. handler: handler
  45024. };
  45025. zone.scheduleEventTask(source, delegate, data, scheduleEventListener, cancelEventListener);
  45026. };
  45027. }
  45028. function makeZoneAwareRemoveListener(fnName, useCapturingParam) {
  45029. if (useCapturingParam === void 0) { useCapturingParam = true; }
  45030. var symbol = zoneSymbol(fnName);
  45031. var defaultUseCapturing = useCapturingParam ? false : undefined;
  45032. return function zoneAwareRemoveListener(self, args) {
  45033. var eventName = args[0];
  45034. var handler = args[1];
  45035. var useCapturing = args[2] || defaultUseCapturing;
  45036. // - Inside a Web Worker, `this` is undefined, the context is `global`
  45037. // - When `addEventListener` is called on the global context in strict mode, `this` is undefined
  45038. // see https://github.com/angular/zone.js/issues/190
  45039. var target = self || _global$1;
  45040. var eventTask = findExistingRegisteredTask(target, handler, eventName, useCapturing, true);
  45041. if (eventTask) {
  45042. eventTask.zone.cancelTask(eventTask);
  45043. }
  45044. else {
  45045. target[symbol](eventName, handler, useCapturing);
  45046. }
  45047. };
  45048. }
  45049. var zoneAwareAddEventListener = makeZoneAwareAddListener(ADD_EVENT_LISTENER, REMOVE_EVENT_LISTENER);
  45050. var zoneAwareRemoveEventListener = makeZoneAwareRemoveListener(REMOVE_EVENT_LISTENER);
  45051. function patchEventTargetMethods(obj) {
  45052. if (obj && obj.addEventListener) {
  45053. patchMethod(obj, ADD_EVENT_LISTENER, function () { return zoneAwareAddEventListener; });
  45054. patchMethod(obj, REMOVE_EVENT_LISTENER, function () { return zoneAwareRemoveEventListener; });
  45055. return true;
  45056. }
  45057. else {
  45058. return false;
  45059. }
  45060. }
  45061. var originalInstanceKey = zoneSymbol('originalInstance');
  45062. // wrap some native API on `window`
  45063. function patchClass(className) {
  45064. var OriginalClass = _global$1[className];
  45065. if (!OriginalClass)
  45066. return;
  45067. _global$1[className] = function () {
  45068. var a = bindArguments(arguments, className);
  45069. switch (a.length) {
  45070. case 0:
  45071. this[originalInstanceKey] = new OriginalClass();
  45072. break;
  45073. case 1:
  45074. this[originalInstanceKey] = new OriginalClass(a[0]);
  45075. break;
  45076. case 2:
  45077. this[originalInstanceKey] = new OriginalClass(a[0], a[1]);
  45078. break;
  45079. case 3:
  45080. this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);
  45081. break;
  45082. case 4:
  45083. this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);
  45084. break;
  45085. default: throw new Error('Arg list too long.');
  45086. }
  45087. };
  45088. var instance = new OriginalClass(function () { });
  45089. var prop;
  45090. for (prop in instance) {
  45091. // https://bugs.webkit.org/show_bug.cgi?id=44721
  45092. if (className === 'XMLHttpRequest' && prop === 'responseBlob')
  45093. continue;
  45094. (function (prop) {
  45095. if (typeof instance[prop] === 'function') {
  45096. _global$1[className].prototype[prop] = function () {
  45097. return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);
  45098. };
  45099. }
  45100. else {
  45101. Object.defineProperty(_global$1[className].prototype, prop, {
  45102. set: function (fn) {
  45103. if (typeof fn === 'function') {
  45104. this[originalInstanceKey][prop] = Zone.current.wrap(fn, className + '.' + prop);
  45105. }
  45106. else {
  45107. this[originalInstanceKey][prop] = fn;
  45108. }
  45109. },
  45110. get: function () {
  45111. return this[originalInstanceKey][prop];
  45112. }
  45113. });
  45114. }
  45115. }(prop));
  45116. }
  45117. for (prop in OriginalClass) {
  45118. if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {
  45119. _global$1[className][prop] = OriginalClass[prop];
  45120. }
  45121. }
  45122. }
  45123. function createNamedFn(name, delegate) {
  45124. try {
  45125. return (Function('f', "return function " + name + "(){return f(this, arguments)}"))(delegate);
  45126. }
  45127. catch (e) {
  45128. // if we fail, we must be CSP, just return delegate.
  45129. return function () {
  45130. return delegate(this, arguments);
  45131. };
  45132. }
  45133. }
  45134. function patchMethod(target, name, patchFn) {
  45135. var proto = target;
  45136. while (proto && !proto.hasOwnProperty(name)) {
  45137. proto = Object.getPrototypeOf(proto);
  45138. }
  45139. if (!proto && target[name]) {
  45140. // somehow we did not find it, but we can see it. This happens on IE for Window properties.
  45141. proto = target;
  45142. }
  45143. var delegateName = zoneSymbol(name);
  45144. var delegate;
  45145. if (proto && !(delegate = proto[delegateName])) {
  45146. delegate = proto[delegateName] = proto[name];
  45147. proto[name] = createNamedFn(name, patchFn(delegate, delegateName, name));
  45148. }
  45149. return delegate;
  45150. }
  45151. var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';
  45152. var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex'.split(',');
  45153. var EVENT_TARGET = 'EventTarget';
  45154. function eventTargetPatch(_global) {
  45155. var apis = [];
  45156. var isWtf = _global['wtf'];
  45157. if (isWtf) {
  45158. // Workaround for: https://github.com/google/tracing-framework/issues/555
  45159. apis = WTF_ISSUE_555.split(',').map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);
  45160. }
  45161. else if (_global[EVENT_TARGET]) {
  45162. apis.push(EVENT_TARGET);
  45163. }
  45164. else {
  45165. // Note: EventTarget is not available in all browsers,
  45166. // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget
  45167. apis = NO_EVENT_TARGET;
  45168. }
  45169. for (var i = 0; i < apis.length; i++) {
  45170. var type = _global[apis[i]];
  45171. patchEventTargetMethods(type && type.prototype);
  45172. }
  45173. }
  45174. /*
  45175. * This is necessary for Chrome and Chrome mobile, to enable
  45176. * things like redefining `createdCallback` on an element.
  45177. */
  45178. var _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;
  45179. var _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] = Object.getOwnPropertyDescriptor;
  45180. var _create = Object.create;
  45181. var unconfigurablesKey = zoneSymbol('unconfigurables');
  45182. function propertyPatch() {
  45183. Object.defineProperty = function (obj, prop, desc) {
  45184. if (isUnconfigurable(obj, prop)) {
  45185. throw new TypeError('Cannot assign to read only property \'' + prop + '\' of ' + obj);
  45186. }
  45187. var originalConfigurableFlag = desc.configurable;
  45188. if (prop !== 'prototype') {
  45189. desc = rewriteDescriptor(obj, prop, desc);
  45190. }
  45191. return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);
  45192. };
  45193. Object.defineProperties = function (obj, props) {
  45194. Object.keys(props).forEach(function (prop) {
  45195. Object.defineProperty(obj, prop, props[prop]);
  45196. });
  45197. return obj;
  45198. };
  45199. Object.create = function (obj, proto) {
  45200. if (typeof proto === 'object' && !Object.isFrozen(proto)) {
  45201. Object.keys(proto).forEach(function (prop) {
  45202. proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);
  45203. });
  45204. }
  45205. return _create(obj, proto);
  45206. };
  45207. Object.getOwnPropertyDescriptor = function (obj, prop) {
  45208. var desc = _getOwnPropertyDescriptor(obj, prop);
  45209. if (isUnconfigurable(obj, prop)) {
  45210. desc.configurable = false;
  45211. }
  45212. return desc;
  45213. };
  45214. }
  45215. function _redefineProperty(obj, prop, desc) {
  45216. var originalConfigurableFlag = desc.configurable;
  45217. desc = rewriteDescriptor(obj, prop, desc);
  45218. return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);
  45219. }
  45220. function isUnconfigurable(obj, prop) {
  45221. return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];
  45222. }
  45223. function rewriteDescriptor(obj, prop, desc) {
  45224. desc.configurable = true;
  45225. if (!desc.configurable) {
  45226. if (!obj[unconfigurablesKey]) {
  45227. _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });
  45228. }
  45229. obj[unconfigurablesKey][prop] = true;
  45230. }
  45231. return desc;
  45232. }
  45233. function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {
  45234. try {
  45235. return _defineProperty(obj, prop, desc);
  45236. }
  45237. catch (e) {
  45238. if (desc.configurable) {
  45239. // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's retry with the original flag value
  45240. if (typeof originalConfigurableFlag == 'undefined') {
  45241. delete desc.configurable;
  45242. }
  45243. else {
  45244. desc.configurable = originalConfigurableFlag;
  45245. }
  45246. try {
  45247. return _defineProperty(obj, prop, desc);
  45248. }
  45249. catch (e) {
  45250. var descJson = null;
  45251. try {
  45252. descJson = JSON.stringify(desc);
  45253. }
  45254. catch (e) {
  45255. descJson = descJson.toString();
  45256. }
  45257. console.log("Attempting to configure '" + prop + "' with descriptor '" + descJson + "' on object '" + obj + "' and got error, giving up: " + e);
  45258. }
  45259. }
  45260. else {
  45261. throw e;
  45262. }
  45263. }
  45264. }
  45265. function registerElementPatch(_global) {
  45266. if (!isBrowser || !('registerElement' in _global.document)) {
  45267. return;
  45268. }
  45269. var _registerElement = document.registerElement;
  45270. var callbacks = [
  45271. 'createdCallback',
  45272. 'attachedCallback',
  45273. 'detachedCallback',
  45274. 'attributeChangedCallback'
  45275. ];
  45276. document.registerElement = function (name, opts) {
  45277. if (opts && opts.prototype) {
  45278. callbacks.forEach(function (callback) {
  45279. var source = 'Document.registerElement::' + callback;
  45280. if (opts.prototype.hasOwnProperty(callback)) {
  45281. var descriptor = Object.getOwnPropertyDescriptor(opts.prototype, callback);
  45282. if (descriptor && descriptor.value) {
  45283. descriptor.value = Zone.current.wrap(descriptor.value, source);
  45284. _redefineProperty(opts.prototype, callback, descriptor);
  45285. }
  45286. else {
  45287. opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);
  45288. }
  45289. }
  45290. else if (opts.prototype[callback]) {
  45291. opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);
  45292. }
  45293. });
  45294. }
  45295. return _registerElement.apply(document, [name, opts]);
  45296. };
  45297. }
  45298. // we have to patch the instance since the proto is non-configurable
  45299. function apply(_global) {
  45300. var WS = _global.WebSocket;
  45301. // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener
  45302. // On older Chrome, no need since EventTarget was already patched
  45303. if (!_global.EventTarget) {
  45304. patchEventTargetMethods(WS.prototype);
  45305. }
  45306. _global.WebSocket = function (a, b) {
  45307. var socket = arguments.length > 1 ? new WS(a, b) : new WS(a);
  45308. var proxySocket;
  45309. // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance
  45310. var onmessageDesc = Object.getOwnPropertyDescriptor(socket, 'onmessage');
  45311. if (onmessageDesc && onmessageDesc.configurable === false) {
  45312. proxySocket = Object.create(socket);
  45313. ['addEventListener', 'removeEventListener', 'send', 'close'].forEach(function (propName) {
  45314. proxySocket[propName] = function () {
  45315. return socket[propName].apply(socket, arguments);
  45316. };
  45317. });
  45318. }
  45319. else {
  45320. // we can patch the real socket
  45321. proxySocket = socket;
  45322. }
  45323. patchOnProperties(proxySocket, ['close', 'error', 'message', 'open']);
  45324. return proxySocket;
  45325. };
  45326. for (var prop in WS) {
  45327. _global.WebSocket[prop] = WS[prop];
  45328. }
  45329. }
  45330. var eventNames = 'copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror'.split(' ');
  45331. function propertyDescriptorPatch(_global) {
  45332. if (isNode) {
  45333. return;
  45334. }
  45335. var supportsWebSocket = typeof WebSocket !== 'undefined';
  45336. if (canPatchViaPropertyDescriptor()) {
  45337. // for browsers that we can patch the descriptor: Chrome & Firefox
  45338. if (isBrowser) {
  45339. patchOnProperties(HTMLElement.prototype, eventNames);
  45340. }
  45341. patchOnProperties(XMLHttpRequest.prototype, null);
  45342. if (typeof IDBIndex !== 'undefined') {
  45343. patchOnProperties(IDBIndex.prototype, null);
  45344. patchOnProperties(IDBRequest.prototype, null);
  45345. patchOnProperties(IDBOpenDBRequest.prototype, null);
  45346. patchOnProperties(IDBDatabase.prototype, null);
  45347. patchOnProperties(IDBTransaction.prototype, null);
  45348. patchOnProperties(IDBCursor.prototype, null);
  45349. }
  45350. if (supportsWebSocket) {
  45351. patchOnProperties(WebSocket.prototype, null);
  45352. }
  45353. }
  45354. else {
  45355. // Safari, Android browsers (Jelly Bean)
  45356. patchViaCapturingAllTheEvents();
  45357. patchClass('XMLHttpRequest');
  45358. if (supportsWebSocket) {
  45359. apply(_global);
  45360. }
  45361. }
  45362. }
  45363. function canPatchViaPropertyDescriptor() {
  45364. if (isBrowser && !Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'onclick')
  45365. && typeof Element !== 'undefined') {
  45366. // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364
  45367. // IDL interface attributes are not configurable
  45368. var desc = Object.getOwnPropertyDescriptor(Element.prototype, 'onclick');
  45369. if (desc && !desc.configurable)
  45370. return false;
  45371. }
  45372. Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {
  45373. get: function () {
  45374. return true;
  45375. }
  45376. });
  45377. var req = new XMLHttpRequest();
  45378. var result = !!req.onreadystatechange;
  45379. Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {});
  45380. return result;
  45381. }
  45382. var unboundKey = zoneSymbol('unbound');
  45383. // Whenever any eventListener fires, we check the eventListener target and all parents
  45384. // for `onwhatever` properties and replace them with zone-bound functions
  45385. // - Chrome (for now)
  45386. function patchViaCapturingAllTheEvents() {
  45387. var _loop_1 = function(i) {
  45388. var property = eventNames[i];
  45389. var onproperty = 'on' + property;
  45390. document.addEventListener(property, function (event) {
  45391. var elt = event.target, bound, source;
  45392. if (elt) {
  45393. source = elt.constructor['name'] + '.' + onproperty;
  45394. }
  45395. else {
  45396. source = 'unknown.' + onproperty;
  45397. }
  45398. while (elt) {
  45399. if (elt[onproperty] && !elt[onproperty][unboundKey]) {
  45400. bound = Zone.current.wrap(elt[onproperty], source);
  45401. bound[unboundKey] = elt[onproperty];
  45402. elt[onproperty] = bound;
  45403. }
  45404. elt = elt.parentElement;
  45405. }
  45406. }, true);
  45407. };
  45408. for (var i = 0; i < eventNames.length; i++) {
  45409. _loop_1(i);
  45410. }
  45411. }
  45412. function patchTimer(window, setName, cancelName, nameSuffix) {
  45413. var setNative = null;
  45414. var clearNative = null;
  45415. setName += nameSuffix;
  45416. cancelName += nameSuffix;
  45417. function scheduleTask(task) {
  45418. var data = task.data;
  45419. data.args[0] = task.invoke;
  45420. data.handleId = setNative.apply(window, data.args);
  45421. return task;
  45422. }
  45423. function clearTask(task) {
  45424. return clearNative(task.data.handleId);
  45425. }
  45426. setNative = patchMethod(window, setName, function (delegate) { return function (self, args) {
  45427. if (typeof args[0] === 'function') {
  45428. var zone = Zone.current;
  45429. var options = {
  45430. handleId: null,
  45431. isPeriodic: nameSuffix === 'Interval',
  45432. delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : null,
  45433. args: args
  45434. };
  45435. var task = zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask);
  45436. if (!task) {
  45437. return task;
  45438. }
  45439. // Node.js must additionally support the ref and unref functions.
  45440. var handle = task.data.handleId;
  45441. if (handle.ref && handle.unref) {
  45442. task.ref = handle.ref.bind(handle);
  45443. task.unref = handle.unref.bind(handle);
  45444. }
  45445. return task;
  45446. }
  45447. else {
  45448. // cause an error by calling it directly.
  45449. return delegate.apply(window, args);
  45450. }
  45451. }; });
  45452. clearNative = patchMethod(window, cancelName, function (delegate) { return function (self, args) {
  45453. var task = args[0];
  45454. if (task && typeof task.type === 'string') {
  45455. if (task.cancelFn && task.data.isPeriodic || task.runCount === 0) {
  45456. // Do not cancel already canceled functions
  45457. task.zone.cancelTask(task);
  45458. }
  45459. }
  45460. else {
  45461. // cause an error by calling it directly.
  45462. delegate.apply(window, args);
  45463. }
  45464. }; });
  45465. }
  45466. var set = 'set';
  45467. var clear = 'clear';
  45468. var blockingMethods = ['alert', 'prompt', 'confirm'];
  45469. var _global = typeof window === 'object' && window || typeof self === 'object' && self || global;
  45470. patchTimer(_global, set, clear, 'Timeout');
  45471. patchTimer(_global, set, clear, 'Interval');
  45472. patchTimer(_global, set, clear, 'Immediate');
  45473. patchTimer(_global, 'request', 'cancel', 'AnimationFrame');
  45474. patchTimer(_global, 'mozRequest', 'mozCancel', 'AnimationFrame');
  45475. patchTimer(_global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');
  45476. for (var i = 0; i < blockingMethods.length; i++) {
  45477. var name = blockingMethods[i];
  45478. patchMethod(_global, name, function (delegate, symbol, name) {
  45479. return function (s, args) {
  45480. return Zone.current.run(delegate, _global, args, name);
  45481. };
  45482. });
  45483. }
  45484. eventTargetPatch(_global);
  45485. propertyDescriptorPatch(_global);
  45486. patchClass('MutationObserver');
  45487. patchClass('WebKitMutationObserver');
  45488. patchClass('FileReader');
  45489. propertyPatch();
  45490. registerElementPatch(_global);
  45491. // Treat XMLHTTPRequest as a macrotask.
  45492. patchXHR(_global);
  45493. var XHR_TASK = zoneSymbol('xhrTask');
  45494. var XHR_SYNC = zoneSymbol('xhrSync');
  45495. function patchXHR(window) {
  45496. function findPendingTask(target) {
  45497. var pendingTask = target[XHR_TASK];
  45498. return pendingTask;
  45499. }
  45500. function scheduleTask(task) {
  45501. var data = task.data;
  45502. data.target.addEventListener('readystatechange', function () {
  45503. if (data.target.readyState === data.target.DONE) {
  45504. if (!data.aborted) {
  45505. task.invoke();
  45506. }
  45507. }
  45508. });
  45509. var storedTask = data.target[XHR_TASK];
  45510. if (!storedTask) {
  45511. data.target[XHR_TASK] = task;
  45512. }
  45513. sendNative.apply(data.target, data.args);
  45514. return task;
  45515. }
  45516. function placeholderCallback() {
  45517. }
  45518. function clearTask(task) {
  45519. var data = task.data;
  45520. // Note - ideally, we would call data.target.removeEventListener here, but it's too late
  45521. // to prevent it from firing. So instead, we store info for the event listener.
  45522. data.aborted = true;
  45523. return abortNative.apply(data.target, data.args);
  45524. }
  45525. var openNative = patchMethod(window.XMLHttpRequest.prototype, 'open', function () { return function (self, args) {
  45526. self[XHR_SYNC] = args[2] == false;
  45527. return openNative.apply(self, args);
  45528. }; });
  45529. var sendNative = patchMethod(window.XMLHttpRequest.prototype, 'send', function () { return function (self, args) {
  45530. var zone = Zone.current;
  45531. if (self[XHR_SYNC]) {
  45532. // if the XHR is sync there is no task to schedule, just execute the code.
  45533. return sendNative.apply(self, args);
  45534. }
  45535. else {
  45536. var options = {
  45537. target: self,
  45538. isPeriodic: false,
  45539. delay: null,
  45540. args: args,
  45541. aborted: false
  45542. };
  45543. return zone.scheduleMacroTask('XMLHttpRequest.send', placeholderCallback, options, scheduleTask, clearTask);
  45544. }
  45545. }; });
  45546. var abortNative = patchMethod(window.XMLHttpRequest.prototype, 'abort', function (delegate) { return function (self, args) {
  45547. var task = findPendingTask(self);
  45548. if (task && typeof task.type == 'string') {
  45549. // If the XHR has already completed, do nothing.
  45550. if (task.cancelFn == null) {
  45551. return;
  45552. }
  45553. task.zone.cancelTask(task);
  45554. }
  45555. // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no task to cancel. Do nothing.
  45556. }; });
  45557. }
  45558. /// GEO_LOCATION
  45559. if (_global['navigator'] && _global['navigator'].geolocation) {
  45560. patchPrototype(_global['navigator'].geolocation, [
  45561. 'getCurrentPosition',
  45562. 'watchPosition'
  45563. ]);
  45564. }
  45565. })));
  45566. /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(64), __webpack_require__(390)))
  45567. /***/ },
  45568. /* 426 */
  45569. /***/ function(module, exports, __webpack_require__) {
  45570. "use strict";
  45571. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  45572. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__directives_index__ = __webpack_require__(269);
  45573. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__localization__ = __webpack_require__(128);
  45574. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__pipes_index__ = __webpack_require__(273);
  45575. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return CommonModule; });
  45576. /**
  45577. * @license
  45578. * Copyright Google Inc. All Rights Reserved.
  45579. *
  45580. * Use of this source code is governed by an MIT-style license that can be
  45581. * found in the LICENSE file at https://angular.io/license
  45582. */
  45583. // Note: This does not contain the location providers,
  45584. // as they need some platform specific implementations to work.
  45585. /**
  45586. * The module that includes all the basic Angular directives like {@link NgIf}, {@link NgFor}, ...
  45587. *
  45588. * @stable
  45589. */
  45590. var CommonModule = (function () {
  45591. function CommonModule() {
  45592. }
  45593. CommonModule.decorators = [
  45594. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["NgModule"], args: [{
  45595. declarations: [__WEBPACK_IMPORTED_MODULE_1__directives_index__["a" /* COMMON_DIRECTIVES */], __WEBPACK_IMPORTED_MODULE_3__pipes_index__["a" /* COMMON_PIPES */]],
  45596. exports: [__WEBPACK_IMPORTED_MODULE_1__directives_index__["a" /* COMMON_DIRECTIVES */], __WEBPACK_IMPORTED_MODULE_3__pipes_index__["a" /* COMMON_PIPES */]],
  45597. providers: [
  45598. { provide: __WEBPACK_IMPORTED_MODULE_2__localization__["b" /* NgLocalization */], useClass: __WEBPACK_IMPORTED_MODULE_2__localization__["c" /* NgLocaleLocalization */] },
  45599. ],
  45600. },] },
  45601. ];
  45602. /** @nocollapse */
  45603. CommonModule.ctorParameters = [];
  45604. return CommonModule;
  45605. }());
  45606. //# sourceMappingURL=common_module.js.map
  45607. /***/ },
  45608. /* 427 */
  45609. /***/ function(module, exports, __webpack_require__) {
  45610. "use strict";
  45611. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  45612. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(271);
  45613. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(28);
  45614. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NgClass; });
  45615. /**
  45616. * @license
  45617. * Copyright Google Inc. All Rights Reserved.
  45618. *
  45619. * Use of this source code is governed by an MIT-style license that can be
  45620. * found in the LICENSE file at https://angular.io/license
  45621. */
  45622. /**
  45623. * @ngModule CommonModule
  45624. *
  45625. * @whatItDoes Adds and removes CSS classes on an HTML element.
  45626. *
  45627. * @howToUse
  45628. * ```
  45629. * <some-element [ngClass]="'first second'">...</some-element>
  45630. *
  45631. * <some-element [ngClass]="['first', 'second']">...</some-element>
  45632. *
  45633. * <some-element [ngClass]="{'first': true, 'second': true, 'third': false}">...</some-element>
  45634. *
  45635. * <some-element [ngClass]="stringExp|arrayExp|objExp">...</some-element>
  45636. * ```
  45637. *
  45638. * @description
  45639. *
  45640. * The CSS classes are updated as follow depending on the type of the expression evaluation:
  45641. * - `string` - the CSS classes listed in a string (space delimited) are added,
  45642. * - `Array` - the CSS classes (Array elements) are added,
  45643. * - `Object` - keys are CSS class names that get added when the expression given in the value
  45644. * evaluates to a truthy value, otherwise class are removed.
  45645. *
  45646. * @stable
  45647. */
  45648. var NgClass = (function () {
  45649. function NgClass(_iterableDiffers, _keyValueDiffers, _ngEl, _renderer) {
  45650. this._iterableDiffers = _iterableDiffers;
  45651. this._keyValueDiffers = _keyValueDiffers;
  45652. this._ngEl = _ngEl;
  45653. this._renderer = _renderer;
  45654. this._initialClasses = [];
  45655. }
  45656. Object.defineProperty(NgClass.prototype, "klass", {
  45657. set: function (v) {
  45658. this._applyInitialClasses(true);
  45659. this._initialClasses = typeof v === 'string' ? v.split(/\s+/) : [];
  45660. this._applyInitialClasses(false);
  45661. this._applyClasses(this._rawClass, false);
  45662. },
  45663. enumerable: true,
  45664. configurable: true
  45665. });
  45666. Object.defineProperty(NgClass.prototype, "ngClass", {
  45667. set: function (v) {
  45668. this._cleanupClasses(this._rawClass);
  45669. this._iterableDiffer = null;
  45670. this._keyValueDiffer = null;
  45671. this._rawClass = typeof v === 'string' ? v.split(/\s+/) : v;
  45672. if (this._rawClass) {
  45673. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* isListLikeIterable */])(this._rawClass)) {
  45674. this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create(null);
  45675. }
  45676. else {
  45677. this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create(null);
  45678. }
  45679. }
  45680. },
  45681. enumerable: true,
  45682. configurable: true
  45683. });
  45684. NgClass.prototype.ngDoCheck = function () {
  45685. if (this._iterableDiffer) {
  45686. var changes = this._iterableDiffer.diff(this._rawClass);
  45687. if (changes) {
  45688. this._applyIterableChanges(changes);
  45689. }
  45690. }
  45691. else if (this._keyValueDiffer) {
  45692. var changes = this._keyValueDiffer.diff(this._rawClass);
  45693. if (changes) {
  45694. this._applyKeyValueChanges(changes);
  45695. }
  45696. }
  45697. };
  45698. NgClass.prototype._cleanupClasses = function (rawClassVal) {
  45699. this._applyClasses(rawClassVal, true);
  45700. this._applyInitialClasses(false);
  45701. };
  45702. NgClass.prototype._applyKeyValueChanges = function (changes) {
  45703. var _this = this;
  45704. changes.forEachAddedItem(function (record) { return _this._toggleClass(record.key, record.currentValue); });
  45705. changes.forEachChangedItem(function (record) { return _this._toggleClass(record.key, record.currentValue); });
  45706. changes.forEachRemovedItem(function (record) {
  45707. if (record.previousValue) {
  45708. _this._toggleClass(record.key, false);
  45709. }
  45710. });
  45711. };
  45712. NgClass.prototype._applyIterableChanges = function (changes) {
  45713. var _this = this;
  45714. changes.forEachAddedItem(function (record) { return _this._toggleClass(record.item, true); });
  45715. changes.forEachRemovedItem(function (record) { return _this._toggleClass(record.item, false); });
  45716. };
  45717. NgClass.prototype._applyInitialClasses = function (isCleanup) {
  45718. var _this = this;
  45719. this._initialClasses.forEach(function (klass) { return _this._toggleClass(klass, !isCleanup); });
  45720. };
  45721. NgClass.prototype._applyClasses = function (rawClassVal, isCleanup) {
  45722. var _this = this;
  45723. if (rawClassVal) {
  45724. if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {
  45725. rawClassVal.forEach(function (klass) { return _this._toggleClass(klass, !isCleanup); });
  45726. }
  45727. else {
  45728. Object.keys(rawClassVal).forEach(function (klass) {
  45729. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(rawClassVal[klass]))
  45730. _this._toggleClass(klass, !isCleanup);
  45731. });
  45732. }
  45733. }
  45734. };
  45735. NgClass.prototype._toggleClass = function (klass, enabled) {
  45736. var _this = this;
  45737. klass = klass.trim();
  45738. if (klass) {
  45739. klass.split(/\s+/g).forEach(function (klass) { _this._renderer.setElementClass(_this._ngEl.nativeElement, klass, enabled); });
  45740. }
  45741. };
  45742. NgClass.decorators = [
  45743. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"], args: [{ selector: '[ngClass]' },] },
  45744. ];
  45745. /** @nocollapse */
  45746. NgClass.ctorParameters = [
  45747. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["IterableDiffers"], },
  45748. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["KeyValueDiffers"], },
  45749. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ElementRef"], },
  45750. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Renderer"], },
  45751. ];
  45752. NgClass.propDecorators = {
  45753. 'klass': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"], args: ['class',] },],
  45754. 'ngClass': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"] },],
  45755. };
  45756. return NgClass;
  45757. }());
  45758. //# sourceMappingURL=ng_class.js.map
  45759. /***/ },
  45760. /* 428 */
  45761. /***/ function(module, exports, __webpack_require__) {
  45762. "use strict";
  45763. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  45764. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(28);
  45765. /* unused harmony export NgForRow */
  45766. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NgFor; });
  45767. /**
  45768. * @license
  45769. * Copyright Google Inc. All Rights Reserved.
  45770. *
  45771. * Use of this source code is governed by an MIT-style license that can be
  45772. * found in the LICENSE file at https://angular.io/license
  45773. */
  45774. var NgForRow = (function () {
  45775. function NgForRow($implicit, index, count) {
  45776. this.$implicit = $implicit;
  45777. this.index = index;
  45778. this.count = count;
  45779. }
  45780. Object.defineProperty(NgForRow.prototype, "first", {
  45781. get: function () { return this.index === 0; },
  45782. enumerable: true,
  45783. configurable: true
  45784. });
  45785. Object.defineProperty(NgForRow.prototype, "last", {
  45786. get: function () { return this.index === this.count - 1; },
  45787. enumerable: true,
  45788. configurable: true
  45789. });
  45790. Object.defineProperty(NgForRow.prototype, "even", {
  45791. get: function () { return this.index % 2 === 0; },
  45792. enumerable: true,
  45793. configurable: true
  45794. });
  45795. Object.defineProperty(NgForRow.prototype, "odd", {
  45796. get: function () { return !this.even; },
  45797. enumerable: true,
  45798. configurable: true
  45799. });
  45800. return NgForRow;
  45801. }());
  45802. /**
  45803. * The `NgFor` directive instantiates a template once per item from an iterable. The context for
  45804. * each instantiated template inherits from the outer context with the given loop variable set
  45805. * to the current item from the iterable.
  45806. *
  45807. * ### Local Variables
  45808. *
  45809. * `NgFor` provides several exported values that can be aliased to local variables:
  45810. *
  45811. * * `index` will be set to the current loop iteration for each template context.
  45812. * * `first` will be set to a boolean value indicating whether the item is the first one in the
  45813. * iteration.
  45814. * * `last` will be set to a boolean value indicating whether the item is the last one in the
  45815. * iteration.
  45816. * * `even` will be set to a boolean value indicating whether this item has an even index.
  45817. * * `odd` will be set to a boolean value indicating whether this item has an odd index.
  45818. *
  45819. * ### Change Propagation
  45820. *
  45821. * When the contents of the iterator changes, `NgFor` makes the corresponding changes to the DOM:
  45822. *
  45823. * * When an item is added, a new instance of the template is added to the DOM.
  45824. * * When an item is removed, its template instance is removed from the DOM.
  45825. * * When items are reordered, their respective templates are reordered in the DOM.
  45826. * * Otherwise, the DOM element for that item will remain the same.
  45827. *
  45828. * Angular uses object identity to track insertions and deletions within the iterator and reproduce
  45829. * those changes in the DOM. This has important implications for animations and any stateful
  45830. * controls
  45831. * (such as `<input>` elements which accept user input) that are present. Inserted rows can be
  45832. * animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state such
  45833. * as user input.
  45834. *
  45835. * It is possible for the identities of elements in the iterator to change while the data does not.
  45836. * This can happen, for example, if the iterator produced from an RPC to the server, and that
  45837. * RPC is re-run. Even if the data hasn't changed, the second response will produce objects with
  45838. * different identities, and Angular will tear down the entire DOM and rebuild it (as if all old
  45839. * elements were deleted and all new elements inserted). This is an expensive operation and should
  45840. * be avoided if possible.
  45841. *
  45842. * To customize the default tracking algorithm, `NgFor` supports `trackBy` option.
  45843. * `trackBy` takes a function which has two arguments: `index` and `item`.
  45844. * If `trackBy` is given, Angular tracks changes by the return value of the function.
  45845. *
  45846. * ### Syntax
  45847. *
  45848. * - `<li *ngFor="let item of items; let i = index; trackBy: trackByFn">...</li>`
  45849. * - `<li template="ngFor let item of items; let i = index; trackBy: trackByFn">...</li>`
  45850. *
  45851. * With `<template>` element:
  45852. *
  45853. * ```
  45854. * <template ngFor let-item [ngForOf]="items" let-i="index" [ngForTrackBy]="trackByFn">
  45855. * <li>...</li>
  45856. * </template>
  45857. * ```
  45858. *
  45859. * ### Example
  45860. *
  45861. * See a [live demo](http://plnkr.co/edit/KVuXxDp0qinGDyo307QW?p=preview) for a more detailed
  45862. * example.
  45863. *
  45864. * @stable
  45865. */
  45866. var NgFor = (function () {
  45867. function NgFor(_viewContainer, _template, _differs, _cdr) {
  45868. this._viewContainer = _viewContainer;
  45869. this._template = _template;
  45870. this._differs = _differs;
  45871. this._cdr = _cdr;
  45872. this._differ = null;
  45873. }
  45874. Object.defineProperty(NgFor.prototype, "ngForTemplate", {
  45875. set: function (value) {
  45876. if (value) {
  45877. this._template = value;
  45878. }
  45879. },
  45880. enumerable: true,
  45881. configurable: true
  45882. });
  45883. NgFor.prototype.ngOnChanges = function (changes) {
  45884. if ('ngForOf' in changes) {
  45885. // React on ngForOf changes only once all inputs have been initialized
  45886. var value = changes['ngForOf'].currentValue;
  45887. if (!this._differ && value) {
  45888. try {
  45889. this._differ = this._differs.find(value).create(this._cdr, this.ngForTrackBy);
  45890. }
  45891. catch (e) {
  45892. throw new Error("Cannot find a differ supporting object '" + value + "' of type '" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* getTypeNameForDebugging */])(value) + "'. NgFor only supports binding to Iterables such as Arrays.");
  45893. }
  45894. }
  45895. }
  45896. };
  45897. NgFor.prototype.ngDoCheck = function () {
  45898. if (this._differ) {
  45899. var changes = this._differ.diff(this.ngForOf);
  45900. if (changes)
  45901. this._applyChanges(changes);
  45902. }
  45903. };
  45904. NgFor.prototype._applyChanges = function (changes) {
  45905. var _this = this;
  45906. var insertTuples = [];
  45907. changes.forEachOperation(function (item, adjustedPreviousIndex, currentIndex) {
  45908. if (item.previousIndex == null) {
  45909. var view = _this._viewContainer.createEmbeddedView(_this._template, new NgForRow(null, null, null), currentIndex);
  45910. var tuple = new RecordViewTuple(item, view);
  45911. insertTuples.push(tuple);
  45912. }
  45913. else if (currentIndex == null) {
  45914. _this._viewContainer.remove(adjustedPreviousIndex);
  45915. }
  45916. else {
  45917. var view = _this._viewContainer.get(adjustedPreviousIndex);
  45918. _this._viewContainer.move(view, currentIndex);
  45919. var tuple = new RecordViewTuple(item, view);
  45920. insertTuples.push(tuple);
  45921. }
  45922. });
  45923. for (var i = 0; i < insertTuples.length; i++) {
  45924. this._perViewChange(insertTuples[i].view, insertTuples[i].record);
  45925. }
  45926. for (var i = 0, ilen = this._viewContainer.length; i < ilen; i++) {
  45927. var viewRef = this._viewContainer.get(i);
  45928. viewRef.context.index = i;
  45929. viewRef.context.count = ilen;
  45930. }
  45931. changes.forEachIdentityChange(function (record) {
  45932. var viewRef = _this._viewContainer.get(record.currentIndex);
  45933. viewRef.context.$implicit = record.item;
  45934. });
  45935. };
  45936. NgFor.prototype._perViewChange = function (view, record) {
  45937. view.context.$implicit = record.item;
  45938. };
  45939. NgFor.decorators = [
  45940. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"], args: [{ selector: '[ngFor][ngForOf]' },] },
  45941. ];
  45942. /** @nocollapse */
  45943. NgFor.ctorParameters = [
  45944. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewContainerRef"], },
  45945. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["TemplateRef"], },
  45946. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["IterableDiffers"], },
  45947. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ChangeDetectorRef"], },
  45948. ];
  45949. NgFor.propDecorators = {
  45950. 'ngForOf': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"] },],
  45951. 'ngForTrackBy': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"] },],
  45952. 'ngForTemplate': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"] },],
  45953. };
  45954. return NgFor;
  45955. }());
  45956. var RecordViewTuple = (function () {
  45957. function RecordViewTuple(record, view) {
  45958. this.record = record;
  45959. this.view = view;
  45960. }
  45961. return RecordViewTuple;
  45962. }());
  45963. //# sourceMappingURL=ng_for.js.map
  45964. /***/ },
  45965. /* 429 */
  45966. /***/ function(module, exports, __webpack_require__) {
  45967. "use strict";
  45968. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  45969. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NgIf; });
  45970. /**
  45971. * @license
  45972. * Copyright Google Inc. All Rights Reserved.
  45973. *
  45974. * Use of this source code is governed by an MIT-style license that can be
  45975. * found in the LICENSE file at https://angular.io/license
  45976. */
  45977. /**
  45978. * Removes or recreates a portion of the DOM tree based on an {expression}.
  45979. *
  45980. * If the expression assigned to `ngIf` evaluates to a false value then the element
  45981. * is removed from the DOM, otherwise a clone of the element is reinserted into the DOM.
  45982. *
  45983. * ### Example ([live demo](http://plnkr.co/edit/fe0kgemFBtmQOY31b4tw?p=preview)):
  45984. *
  45985. * ```
  45986. * <div *ngIf="errorCount > 0" class="error">
  45987. * <!-- Error message displayed when the errorCount property on the current context is greater
  45988. * than 0. -->
  45989. * {{errorCount}} errors detected
  45990. * </div>
  45991. * ```
  45992. *
  45993. * ### Syntax
  45994. *
  45995. * - `<div *ngIf="condition">...</div>`
  45996. * - `<div template="ngIf condition">...</div>`
  45997. * - `<template [ngIf]="condition"><div>...</div></template>`
  45998. *
  45999. * @stable
  46000. */
  46001. var NgIf = (function () {
  46002. function NgIf(_viewContainer, _template) {
  46003. this._viewContainer = _viewContainer;
  46004. this._template = _template;
  46005. this._hasView = false;
  46006. }
  46007. Object.defineProperty(NgIf.prototype, "ngIf", {
  46008. set: function (condition) {
  46009. if (condition && !this._hasView) {
  46010. this._hasView = true;
  46011. this._viewContainer.createEmbeddedView(this._template);
  46012. }
  46013. else if (!condition && this._hasView) {
  46014. this._hasView = false;
  46015. this._viewContainer.clear();
  46016. }
  46017. },
  46018. enumerable: true,
  46019. configurable: true
  46020. });
  46021. NgIf.decorators = [
  46022. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"], args: [{ selector: '[ngIf]' },] },
  46023. ];
  46024. /** @nocollapse */
  46025. NgIf.ctorParameters = [
  46026. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewContainerRef"], },
  46027. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["TemplateRef"], },
  46028. ];
  46029. NgIf.propDecorators = {
  46030. 'ngIf': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"] },],
  46031. };
  46032. return NgIf;
  46033. }());
  46034. //# sourceMappingURL=ng_if.js.map
  46035. /***/ },
  46036. /* 430 */
  46037. /***/ function(module, exports, __webpack_require__) {
  46038. "use strict";
  46039. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  46040. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__localization__ = __webpack_require__(128);
  46041. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ng_switch__ = __webpack_require__(270);
  46042. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NgPlural; });
  46043. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return NgPluralCase; });
  46044. /**
  46045. * @license
  46046. * Copyright Google Inc. All Rights Reserved.
  46047. *
  46048. * Use of this source code is governed by an MIT-style license that can be
  46049. * found in the LICENSE file at https://angular.io/license
  46050. */
  46051. /**
  46052. * @ngModule CommonModule
  46053. *
  46054. * @whatItDoes Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.
  46055. *
  46056. * @howToUse
  46057. * ```
  46058. * <some-element [ngPlural]="value">
  46059. * <ng-container *ngPluralCase="'=0'">there is nothing</ng-container>
  46060. * <ng-container *ngPluralCase="'=1'">there is one</ng-container>
  46061. * <ng-container *ngPluralCase="'few'">there are a few</ng-container>
  46062. * <ng-container *ngPluralCase="'other'">there are exactly #</ng-container>
  46063. * </some-element>
  46064. * ```
  46065. *
  46066. * @description
  46067. *
  46068. * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees
  46069. * that match the switch expression's pluralization category.
  46070. *
  46071. * To use this directive you must provide a container element that sets the `[ngPlural]` attribute
  46072. * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their
  46073. * expression:
  46074. * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value
  46075. * matches the switch expression exactly,
  46076. * - otherwise, the view will be treated as a "category match", and will only display if exact
  46077. * value matches aren't found and the value maps to its category for the defined locale.
  46078. *
  46079. * See http://cldr.unicode.org/index/cldr-spec/plural-rules
  46080. *
  46081. * @experimental
  46082. */
  46083. var NgPlural = (function () {
  46084. function NgPlural(_localization) {
  46085. this._localization = _localization;
  46086. this._caseViews = {};
  46087. }
  46088. Object.defineProperty(NgPlural.prototype, "ngPlural", {
  46089. set: function (value) {
  46090. this._switchValue = value;
  46091. this._updateView();
  46092. },
  46093. enumerable: true,
  46094. configurable: true
  46095. });
  46096. NgPlural.prototype.addCase = function (value, switchView) { this._caseViews[value] = switchView; };
  46097. NgPlural.prototype._updateView = function () {
  46098. this._clearViews();
  46099. var cases = Object.keys(this._caseViews);
  46100. var key = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__localization__["a" /* getPluralCategory */])(this._switchValue, cases, this._localization);
  46101. this._activateView(this._caseViews[key]);
  46102. };
  46103. NgPlural.prototype._clearViews = function () {
  46104. if (this._activeView)
  46105. this._activeView.destroy();
  46106. };
  46107. NgPlural.prototype._activateView = function (view) {
  46108. if (view) {
  46109. this._activeView = view;
  46110. this._activeView.create();
  46111. }
  46112. };
  46113. NgPlural.decorators = [
  46114. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"], args: [{ selector: '[ngPlural]' },] },
  46115. ];
  46116. /** @nocollapse */
  46117. NgPlural.ctorParameters = [
  46118. { type: __WEBPACK_IMPORTED_MODULE_1__localization__["b" /* NgLocalization */], },
  46119. ];
  46120. NgPlural.propDecorators = {
  46121. 'ngPlural': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"] },],
  46122. };
  46123. return NgPlural;
  46124. }());
  46125. /**
  46126. * @ngModule CommonModule
  46127. *
  46128. * @whatItDoes Creates a view that will be added/removed from the parent {@link NgPlural} when the
  46129. * given expression matches the plural expression according to CLDR rules.
  46130. *
  46131. * @howToUse
  46132. * ```
  46133. * <some-element [ngPlural]="value">
  46134. * <ng-container *ngPluralCase="'=0'">...</ng-container>
  46135. * <ng-container *ngPluralCase="'other'">...</ng-container>
  46136. * </some-element>
  46137. *```
  46138. *
  46139. * See {@link NgPlural} for more details and example.
  46140. *
  46141. * @experimental
  46142. */
  46143. var NgPluralCase = (function () {
  46144. function NgPluralCase(value, template, viewContainer, ngPlural) {
  46145. this.value = value;
  46146. ngPlural.addCase(value, new __WEBPACK_IMPORTED_MODULE_2__ng_switch__["a" /* SwitchView */](viewContainer, template));
  46147. }
  46148. NgPluralCase.decorators = [
  46149. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"], args: [{ selector: '[ngPluralCase]' },] },
  46150. ];
  46151. /** @nocollapse */
  46152. NgPluralCase.ctorParameters = [
  46153. { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Attribute"], args: ['ngPluralCase',] },] },
  46154. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["TemplateRef"], },
  46155. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewContainerRef"], },
  46156. { type: NgPlural, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Host"] },] },
  46157. ];
  46158. return NgPluralCase;
  46159. }());
  46160. //# sourceMappingURL=ng_plural.js.map
  46161. /***/ },
  46162. /* 431 */
  46163. /***/ function(module, exports, __webpack_require__) {
  46164. "use strict";
  46165. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  46166. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NgStyle; });
  46167. /**
  46168. * @license
  46169. * Copyright Google Inc. All Rights Reserved.
  46170. *
  46171. * Use of this source code is governed by an MIT-style license that can be
  46172. * found in the LICENSE file at https://angular.io/license
  46173. */
  46174. /**
  46175. * @ngModule CommonModule
  46176. *
  46177. * @whatItDoes Update an HTML element styles.
  46178. *
  46179. * @howToUse
  46180. * ```
  46181. * <some-element [ngStyle]="{'font-style': styleExp}">...</some-element>
  46182. *
  46183. * <some-element [ngStyle]="{'max-width.px': widthExp}">...</some-element>
  46184. *
  46185. * <some-element [ngStyle]="objExp">...</some-element>
  46186. * ```
  46187. *
  46188. * @description
  46189. *
  46190. * The styles are updated according to the value of the expression evaluation:
  46191. * - keys are style names with an option `.<unit>` suffix (ie 'top.px', 'font-style.em'),
  46192. * - values are the values assigned to those properties (expressed in the given unit).
  46193. *
  46194. * @stable
  46195. */
  46196. var NgStyle = (function () {
  46197. function NgStyle(_differs, _ngEl, _renderer) {
  46198. this._differs = _differs;
  46199. this._ngEl = _ngEl;
  46200. this._renderer = _renderer;
  46201. }
  46202. Object.defineProperty(NgStyle.prototype, "ngStyle", {
  46203. set: function (v) {
  46204. this._ngStyle = v;
  46205. if (!this._differ && v) {
  46206. this._differ = this._differs.find(v).create(null);
  46207. }
  46208. },
  46209. enumerable: true,
  46210. configurable: true
  46211. });
  46212. NgStyle.prototype.ngDoCheck = function () {
  46213. if (this._differ) {
  46214. var changes = this._differ.diff(this._ngStyle);
  46215. if (changes) {
  46216. this._applyChanges(changes);
  46217. }
  46218. }
  46219. };
  46220. NgStyle.prototype._applyChanges = function (changes) {
  46221. var _this = this;
  46222. changes.forEachRemovedItem(function (record) { return _this._setStyle(record.key, null); });
  46223. changes.forEachAddedItem(function (record) { return _this._setStyle(record.key, record.currentValue); });
  46224. changes.forEachChangedItem(function (record) { return _this._setStyle(record.key, record.currentValue); });
  46225. };
  46226. NgStyle.prototype._setStyle = function (nameAndUnit, value) {
  46227. var _a = nameAndUnit.split('.'), name = _a[0], unit = _a[1];
  46228. value = value !== null && value !== void (0) && unit ? "" + value + unit : value;
  46229. this._renderer.setElementStyle(this._ngEl.nativeElement, name, value);
  46230. };
  46231. NgStyle.decorators = [
  46232. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"], args: [{ selector: '[ngStyle]' },] },
  46233. ];
  46234. /** @nocollapse */
  46235. NgStyle.ctorParameters = [
  46236. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["KeyValueDiffers"], },
  46237. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ElementRef"], },
  46238. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Renderer"], },
  46239. ];
  46240. NgStyle.propDecorators = {
  46241. 'ngStyle': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"] },],
  46242. };
  46243. return NgStyle;
  46244. }());
  46245. //# sourceMappingURL=ng_style.js.map
  46246. /***/ },
  46247. /* 432 */
  46248. /***/ function(module, exports, __webpack_require__) {
  46249. "use strict";
  46250. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  46251. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NgTemplateOutlet; });
  46252. /**
  46253. * @license
  46254. * Copyright Google Inc. All Rights Reserved.
  46255. *
  46256. * Use of this source code is governed by an MIT-style license that can be
  46257. * found in the LICENSE file at https://angular.io/license
  46258. */
  46259. /**
  46260. * @ngModule CommonModule
  46261. *
  46262. * @whatItDoes Inserts an embedded view from a prepared `TemplateRef`
  46263. *
  46264. * @howToUse
  46265. * ```
  46266. * <template [ngTemplateOutlet]="templateRefExpression"
  46267. * [ngOutletContext]="objectExpression">
  46268. * </template>
  46269. * ```
  46270. *
  46271. * @description
  46272. *
  46273. * You can attach a context object to the `EmbeddedViewRef` by setting `[ngOutletContext]`.
  46274. * `[ngOutletContext]` should be an object, the object's keys will be the local template variables
  46275. * available within the `TemplateRef`.
  46276. *
  46277. * Note: using the key `$implicit` in the context object will set it's value as default.
  46278. *
  46279. * @experimental
  46280. */
  46281. var NgTemplateOutlet = (function () {
  46282. function NgTemplateOutlet(_viewContainerRef) {
  46283. this._viewContainerRef = _viewContainerRef;
  46284. }
  46285. Object.defineProperty(NgTemplateOutlet.prototype, "ngOutletContext", {
  46286. set: function (context) { this._context = context; },
  46287. enumerable: true,
  46288. configurable: true
  46289. });
  46290. Object.defineProperty(NgTemplateOutlet.prototype, "ngTemplateOutlet", {
  46291. set: function (templateRef) { this._templateRef = templateRef; },
  46292. enumerable: true,
  46293. configurable: true
  46294. });
  46295. NgTemplateOutlet.prototype.ngOnChanges = function (changes) {
  46296. if (this._viewRef) {
  46297. this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._viewRef));
  46298. }
  46299. if (this._templateRef) {
  46300. this._viewRef = this._viewContainerRef.createEmbeddedView(this._templateRef, this._context);
  46301. }
  46302. };
  46303. NgTemplateOutlet.decorators = [
  46304. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"], args: [{ selector: '[ngTemplateOutlet]' },] },
  46305. ];
  46306. /** @nocollapse */
  46307. NgTemplateOutlet.ctorParameters = [
  46308. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewContainerRef"], },
  46309. ];
  46310. NgTemplateOutlet.propDecorators = {
  46311. 'ngOutletContext': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"] },],
  46312. 'ngTemplateOutlet': [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Input"] },],
  46313. };
  46314. return NgTemplateOutlet;
  46315. }());
  46316. //# sourceMappingURL=ng_template_outlet.js.map
  46317. /***/ },
  46318. /* 433 */
  46319. /***/ function(module, exports, __webpack_require__) {
  46320. "use strict";
  46321. /* unused harmony export unimplemented */
  46322. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return BaseError; });
  46323. /* unused harmony export WrappedError */
  46324. /**
  46325. * @license
  46326. * Copyright Google Inc. All Rights Reserved.
  46327. *
  46328. * Use of this source code is governed by an MIT-style license that can be
  46329. * found in the LICENSE file at https://angular.io/license
  46330. */
  46331. var __extends = (this && this.__extends) || function (d, b) {
  46332. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  46333. function __() { this.constructor = d; }
  46334. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  46335. };
  46336. function unimplemented() {
  46337. throw new Error('unimplemented');
  46338. }
  46339. /**
  46340. * @stable
  46341. */
  46342. var BaseError = (function (_super) {
  46343. __extends(BaseError, _super);
  46344. function BaseError(message) {
  46345. // Errors don't use current this, instead they create a new instance.
  46346. // We have to do forward all of our api to the nativeInstance.
  46347. var nativeError = _super.call(this, message);
  46348. this._nativeError = nativeError;
  46349. }
  46350. Object.defineProperty(BaseError.prototype, "message", {
  46351. get: function () { return this._nativeError.message; },
  46352. set: function (message) { this._nativeError.message = message; },
  46353. enumerable: true,
  46354. configurable: true
  46355. });
  46356. Object.defineProperty(BaseError.prototype, "name", {
  46357. get: function () { return this._nativeError.name; },
  46358. enumerable: true,
  46359. configurable: true
  46360. });
  46361. Object.defineProperty(BaseError.prototype, "stack", {
  46362. get: function () { return this._nativeError.stack; },
  46363. set: function (value) { this._nativeError.stack = value; },
  46364. enumerable: true,
  46365. configurable: true
  46366. });
  46367. BaseError.prototype.toString = function () { return this._nativeError.toString(); };
  46368. return BaseError;
  46369. }(Error));
  46370. /**
  46371. * @stable
  46372. */
  46373. var WrappedError = (function (_super) {
  46374. __extends(WrappedError, _super);
  46375. function WrappedError(message, error) {
  46376. _super.call(this, message + " caused by: " + (error instanceof Error ? error.message : error));
  46377. this.originalError = error;
  46378. }
  46379. Object.defineProperty(WrappedError.prototype, "stack", {
  46380. get: function () {
  46381. return (this.originalError instanceof Error ? this.originalError : this._nativeError)
  46382. .stack;
  46383. },
  46384. enumerable: true,
  46385. configurable: true
  46386. });
  46387. return WrappedError;
  46388. }(BaseError));
  46389. //# sourceMappingURL=errors.js.map
  46390. /***/ },
  46391. /* 434 */
  46392. /***/ function(module, exports, __webpack_require__) {
  46393. "use strict";
  46394. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__location_platform_location__ = __webpack_require__(181);
  46395. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__location_location_strategy__ = __webpack_require__(129);
  46396. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__location_hash_location_strategy__ = __webpack_require__(435);
  46397. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__location_path_location_strategy__ = __webpack_require__(436);
  46398. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__location_location__ = __webpack_require__(180);
  46399. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__location_platform_location__["a"]; });
  46400. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__location_location_strategy__["a"]; });
  46401. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "f", function() { return __WEBPACK_IMPORTED_MODULE_1__location_location_strategy__["b"]; });
  46402. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_2__location_hash_location_strategy__["a"]; });
  46403. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_3__location_path_location_strategy__["a"]; });
  46404. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_4__location_location__["a"]; });
  46405. /**
  46406. * @license
  46407. * Copyright Google Inc. All Rights Reserved.
  46408. *
  46409. * Use of this source code is governed by an MIT-style license that can be
  46410. * found in the LICENSE file at https://angular.io/license
  46411. */
  46412. //# sourceMappingURL=location.js.map
  46413. /***/ },
  46414. /* 435 */
  46415. /***/ function(module, exports, __webpack_require__) {
  46416. "use strict";
  46417. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  46418. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(28);
  46419. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__location__ = __webpack_require__(180);
  46420. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__location_strategy__ = __webpack_require__(129);
  46421. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__platform_location__ = __webpack_require__(181);
  46422. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return HashLocationStrategy; });
  46423. /**
  46424. * @license
  46425. * Copyright Google Inc. All Rights Reserved.
  46426. *
  46427. * Use of this source code is governed by an MIT-style license that can be
  46428. * found in the LICENSE file at https://angular.io/license
  46429. */
  46430. var __extends = (this && this.__extends) || function (d, b) {
  46431. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  46432. function __() { this.constructor = d; }
  46433. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  46434. };
  46435. /**
  46436. * `HashLocationStrategy` is a {@link LocationStrategy} used to configure the
  46437. * {@link Location} service to represent its state in the
  46438. * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)
  46439. * of the browser's URL.
  46440. *
  46441. * For instance, if you call `location.go('/foo')`, the browser's URL will become
  46442. * `example.com#/foo`.
  46443. *
  46444. * ### Example
  46445. *
  46446. * ```
  46447. * import {Component, NgModule} from '@angular/core';
  46448. * import {
  46449. * LocationStrategy,
  46450. * HashLocationStrategy
  46451. * } from '@angular/common';
  46452. *
  46453. * @NgModule({
  46454. * providers: [{provide: LocationStrategy, useClass: HashLocationStrategy}]
  46455. * })
  46456. * class AppModule {}
  46457. * ```
  46458. *
  46459. * @stable
  46460. */
  46461. var HashLocationStrategy = (function (_super) {
  46462. __extends(HashLocationStrategy, _super);
  46463. function HashLocationStrategy(_platformLocation, _baseHref) {
  46464. _super.call(this);
  46465. this._platformLocation = _platformLocation;
  46466. this._baseHref = '';
  46467. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(_baseHref)) {
  46468. this._baseHref = _baseHref;
  46469. }
  46470. }
  46471. HashLocationStrategy.prototype.onPopState = function (fn) {
  46472. this._platformLocation.onPopState(fn);
  46473. this._platformLocation.onHashChange(fn);
  46474. };
  46475. HashLocationStrategy.prototype.getBaseHref = function () { return this._baseHref; };
  46476. HashLocationStrategy.prototype.path = function (includeHash) {
  46477. if (includeHash === void 0) { includeHash = false; }
  46478. // the hash value is always prefixed with a `#`
  46479. // and if it is empty then it will stay empty
  46480. var path = this._platformLocation.hash;
  46481. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(path))
  46482. path = '#';
  46483. return path.length > 0 ? path.substring(1) : path;
  46484. };
  46485. HashLocationStrategy.prototype.prepareExternalUrl = function (internal) {
  46486. var url = __WEBPACK_IMPORTED_MODULE_2__location__["a" /* Location */].joinWithSlash(this._baseHref, internal);
  46487. return url.length > 0 ? ('#' + url) : url;
  46488. };
  46489. HashLocationStrategy.prototype.pushState = function (state, title, path, queryParams) {
  46490. var url = this.prepareExternalUrl(path + __WEBPACK_IMPORTED_MODULE_2__location__["a" /* Location */].normalizeQueryParams(queryParams));
  46491. if (url.length == 0) {
  46492. url = this._platformLocation.pathname;
  46493. }
  46494. this._platformLocation.pushState(state, title, url);
  46495. };
  46496. HashLocationStrategy.prototype.replaceState = function (state, title, path, queryParams) {
  46497. var url = this.prepareExternalUrl(path + __WEBPACK_IMPORTED_MODULE_2__location__["a" /* Location */].normalizeQueryParams(queryParams));
  46498. if (url.length == 0) {
  46499. url = this._platformLocation.pathname;
  46500. }
  46501. this._platformLocation.replaceState(state, title, url);
  46502. };
  46503. HashLocationStrategy.prototype.forward = function () { this._platformLocation.forward(); };
  46504. HashLocationStrategy.prototype.back = function () { this._platformLocation.back(); };
  46505. HashLocationStrategy.decorators = [
  46506. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  46507. ];
  46508. /** @nocollapse */
  46509. HashLocationStrategy.ctorParameters = [
  46510. { type: __WEBPACK_IMPORTED_MODULE_4__platform_location__["a" /* PlatformLocation */], },
  46511. { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Optional"] }, { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"], args: [__WEBPACK_IMPORTED_MODULE_3__location_strategy__["b" /* APP_BASE_HREF */],] },] },
  46512. ];
  46513. return HashLocationStrategy;
  46514. }(__WEBPACK_IMPORTED_MODULE_3__location_strategy__["a" /* LocationStrategy */]));
  46515. //# sourceMappingURL=hash_location_strategy.js.map
  46516. /***/ },
  46517. /* 436 */
  46518. /***/ function(module, exports, __webpack_require__) {
  46519. "use strict";
  46520. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  46521. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(28);
  46522. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__location__ = __webpack_require__(180);
  46523. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__location_strategy__ = __webpack_require__(129);
  46524. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__platform_location__ = __webpack_require__(181);
  46525. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return PathLocationStrategy; });
  46526. /**
  46527. * @license
  46528. * Copyright Google Inc. All Rights Reserved.
  46529. *
  46530. * Use of this source code is governed by an MIT-style license that can be
  46531. * found in the LICENSE file at https://angular.io/license
  46532. */
  46533. var __extends = (this && this.__extends) || function (d, b) {
  46534. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  46535. function __() { this.constructor = d; }
  46536. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  46537. };
  46538. /**
  46539. * `PathLocationStrategy` is a {@link LocationStrategy} used to configure the
  46540. * {@link Location} service to represent its state in the
  46541. * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the
  46542. * browser's URL.
  46543. *
  46544. * `PathLocationStrategy` is the default binding for {@link LocationStrategy}
  46545. * provided in {@link ROUTER_PROVIDERS}.
  46546. *
  46547. * If you're using `PathLocationStrategy`, you must provide a {@link APP_BASE_HREF}
  46548. * or add a base element to the document. This URL prefix that will be preserved
  46549. * when generating and recognizing URLs.
  46550. *
  46551. * For instance, if you provide an `APP_BASE_HREF` of `'/my/app'` and call
  46552. * `location.go('/foo')`, the browser's URL will become
  46553. * `example.com/my/app/foo`.
  46554. *
  46555. * Similarly, if you add `<base href='/my/app'/>` to the document and call
  46556. * `location.go('/foo')`, the browser's URL will become
  46557. * `example.com/my/app/foo`.
  46558. *
  46559. * @stable
  46560. */
  46561. var PathLocationStrategy = (function (_super) {
  46562. __extends(PathLocationStrategy, _super);
  46563. function PathLocationStrategy(_platformLocation, href) {
  46564. _super.call(this);
  46565. this._platformLocation = _platformLocation;
  46566. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(href)) {
  46567. href = this._platformLocation.getBaseHrefFromDOM();
  46568. }
  46569. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(href)) {
  46570. throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");
  46571. }
  46572. this._baseHref = href;
  46573. }
  46574. PathLocationStrategy.prototype.onPopState = function (fn) {
  46575. this._platformLocation.onPopState(fn);
  46576. this._platformLocation.onHashChange(fn);
  46577. };
  46578. PathLocationStrategy.prototype.getBaseHref = function () { return this._baseHref; };
  46579. PathLocationStrategy.prototype.prepareExternalUrl = function (internal) {
  46580. return __WEBPACK_IMPORTED_MODULE_2__location__["a" /* Location */].joinWithSlash(this._baseHref, internal);
  46581. };
  46582. PathLocationStrategy.prototype.path = function (includeHash) {
  46583. if (includeHash === void 0) { includeHash = false; }
  46584. var pathname = this._platformLocation.pathname +
  46585. __WEBPACK_IMPORTED_MODULE_2__location__["a" /* Location */].normalizeQueryParams(this._platformLocation.search);
  46586. var hash = this._platformLocation.hash;
  46587. return hash && includeHash ? "" + pathname + hash : pathname;
  46588. };
  46589. PathLocationStrategy.prototype.pushState = function (state, title, url, queryParams) {
  46590. var externalUrl = this.prepareExternalUrl(url + __WEBPACK_IMPORTED_MODULE_2__location__["a" /* Location */].normalizeQueryParams(queryParams));
  46591. this._platformLocation.pushState(state, title, externalUrl);
  46592. };
  46593. PathLocationStrategy.prototype.replaceState = function (state, title, url, queryParams) {
  46594. var externalUrl = this.prepareExternalUrl(url + __WEBPACK_IMPORTED_MODULE_2__location__["a" /* Location */].normalizeQueryParams(queryParams));
  46595. this._platformLocation.replaceState(state, title, externalUrl);
  46596. };
  46597. PathLocationStrategy.prototype.forward = function () { this._platformLocation.forward(); };
  46598. PathLocationStrategy.prototype.back = function () { this._platformLocation.back(); };
  46599. PathLocationStrategy.decorators = [
  46600. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  46601. ];
  46602. /** @nocollapse */
  46603. PathLocationStrategy.ctorParameters = [
  46604. { type: __WEBPACK_IMPORTED_MODULE_4__platform_location__["a" /* PlatformLocation */], },
  46605. { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Optional"] }, { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"], args: [__WEBPACK_IMPORTED_MODULE_3__location_strategy__["b" /* APP_BASE_HREF */],] },] },
  46606. ];
  46607. return PathLocationStrategy;
  46608. }(__WEBPACK_IMPORTED_MODULE_3__location_strategy__["a" /* LocationStrategy */]));
  46609. //# sourceMappingURL=path_location_strategy.js.map
  46610. /***/ },
  46611. /* 437 */
  46612. /***/ function(module, exports, __webpack_require__) {
  46613. "use strict";
  46614. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  46615. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__private_import_core__ = __webpack_require__(446);
  46616. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__invalid_pipe_argument_error__ = __webpack_require__(65);
  46617. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AsyncPipe; });
  46618. /**
  46619. * @license
  46620. * Copyright Google Inc. All Rights Reserved.
  46621. *
  46622. * Use of this source code is governed by an MIT-style license that can be
  46623. * found in the LICENSE file at https://angular.io/license
  46624. */
  46625. var ObservableStrategy = (function () {
  46626. function ObservableStrategy() {
  46627. }
  46628. ObservableStrategy.prototype.createSubscription = function (async, updateLatestValue) {
  46629. return async.subscribe({ next: updateLatestValue, error: function (e) { throw e; } });
  46630. };
  46631. ObservableStrategy.prototype.dispose = function (subscription) { subscription.unsubscribe(); };
  46632. ObservableStrategy.prototype.onDestroy = function (subscription) { subscription.unsubscribe(); };
  46633. return ObservableStrategy;
  46634. }());
  46635. var PromiseStrategy = (function () {
  46636. function PromiseStrategy() {
  46637. }
  46638. PromiseStrategy.prototype.createSubscription = function (async, updateLatestValue) {
  46639. return async.then(updateLatestValue, function (e) { throw e; });
  46640. };
  46641. PromiseStrategy.prototype.dispose = function (subscription) { };
  46642. PromiseStrategy.prototype.onDestroy = function (subscription) { };
  46643. return PromiseStrategy;
  46644. }());
  46645. var _promiseStrategy = new PromiseStrategy();
  46646. var _observableStrategy = new ObservableStrategy();
  46647. /**
  46648. * @ngModule CommonModule
  46649. * @whatItDoes Unwraps a value from an asynchronous primitive.
  46650. * @howToUse `observable_or_promise_expression | async`
  46651. * @description
  46652. * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has
  46653. * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for
  46654. * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid
  46655. * potential memory leaks.
  46656. *
  46657. *
  46658. * ## Examples
  46659. *
  46660. * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the
  46661. * promise.
  46662. *
  46663. * {@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}
  46664. *
  46665. * It's also possible to use `async` with Observables. The example below binds the `time` Observable
  46666. * to the view. The Observable continuesly updates the view with the current time.
  46667. *
  46668. * {@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}
  46669. *
  46670. * @stable
  46671. */
  46672. var AsyncPipe = (function () {
  46673. function AsyncPipe(_ref) {
  46674. this._ref = _ref;
  46675. this._latestValue = null;
  46676. this._latestReturnedValue = null;
  46677. this._subscription = null;
  46678. this._obj = null;
  46679. this._strategy = null;
  46680. }
  46681. AsyncPipe.prototype.ngOnDestroy = function () {
  46682. if (this._subscription) {
  46683. this._dispose();
  46684. }
  46685. };
  46686. AsyncPipe.prototype.transform = function (obj) {
  46687. if (!this._obj) {
  46688. if (obj) {
  46689. this._subscribe(obj);
  46690. }
  46691. this._latestReturnedValue = this._latestValue;
  46692. return this._latestValue;
  46693. }
  46694. if (obj !== this._obj) {
  46695. this._dispose();
  46696. return this.transform(obj);
  46697. }
  46698. if (this._latestValue === this._latestReturnedValue) {
  46699. return this._latestReturnedValue;
  46700. }
  46701. this._latestReturnedValue = this._latestValue;
  46702. return __WEBPACK_IMPORTED_MODULE_0__angular_core__["WrappedValue"].wrap(this._latestValue);
  46703. };
  46704. AsyncPipe.prototype._subscribe = function (obj) {
  46705. var _this = this;
  46706. this._obj = obj;
  46707. this._strategy = this._selectStrategy(obj);
  46708. this._subscription = this._strategy.createSubscription(obj, function (value) { return _this._updateLatestValue(obj, value); });
  46709. };
  46710. AsyncPipe.prototype._selectStrategy = function (obj) {
  46711. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__private_import_core__["a" /* isPromise */])(obj)) {
  46712. return _promiseStrategy;
  46713. }
  46714. if (obj.subscribe) {
  46715. return _observableStrategy;
  46716. }
  46717. throw new __WEBPACK_IMPORTED_MODULE_2__invalid_pipe_argument_error__["a" /* InvalidPipeArgumentError */](AsyncPipe, obj);
  46718. };
  46719. AsyncPipe.prototype._dispose = function () {
  46720. this._strategy.dispose(this._subscription);
  46721. this._latestValue = null;
  46722. this._latestReturnedValue = null;
  46723. this._subscription = null;
  46724. this._obj = null;
  46725. };
  46726. AsyncPipe.prototype._updateLatestValue = function (async, value) {
  46727. if (async === this._obj) {
  46728. this._latestValue = value;
  46729. this._ref.markForCheck();
  46730. }
  46731. };
  46732. AsyncPipe.decorators = [
  46733. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Pipe"], args: [{ name: 'async', pure: false },] },
  46734. ];
  46735. /** @nocollapse */
  46736. AsyncPipe.ctorParameters = [
  46737. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ChangeDetectorRef"], },
  46738. ];
  46739. return AsyncPipe;
  46740. }());
  46741. //# sourceMappingURL=async_pipe.js.map
  46742. /***/ },
  46743. /* 438 */
  46744. /***/ function(module, exports, __webpack_require__) {
  46745. "use strict";
  46746. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  46747. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_intl__ = __webpack_require__(272);
  46748. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(28);
  46749. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__invalid_pipe_argument_error__ = __webpack_require__(65);
  46750. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DatePipe; });
  46751. /**
  46752. * @license
  46753. * Copyright Google Inc. All Rights Reserved.
  46754. *
  46755. * Use of this source code is governed by an MIT-style license that can be
  46756. * found in the LICENSE file at https://angular.io/license
  46757. */
  46758. /**
  46759. * @ngModule CommonModule
  46760. * @whatItDoes Formats a date according to locale rules.
  46761. * @howToUse `date_expression | date[:format]`
  46762. * @description
  46763. *
  46764. * Where:
  46765. * - `expression` is a date object or a number (milliseconds since UTC epoch) or an ISO string
  46766. * (https://www.w3.org/TR/NOTE-datetime).
  46767. * - `format` indicates which date/time components to include. The format can be predifined as
  46768. * shown below or custom as shown in the table.
  46769. * - `'medium'`: equivalent to `'yMMMdjms'` (e.g. `Sep 3, 2010, 12:05:08 PM` for `en-US`)
  46770. * - `'short'`: equivalent to `'yMdjm'` (e.g. `9/3/2010, 12:05 PM` for `en-US`)
  46771. * - `'fullDate'`: equivalent to `'yMMMMEEEEd'` (e.g. `Friday, September 3, 2010` for `en-US`)
  46772. * - `'longDate'`: equivalent to `'yMMMMd'` (e.g. `September 3, 2010` for `en-US`)
  46773. * - `'mediumDate'`: equivalent to `'yMMMd'` (e.g. `Sep 3, 2010` for `en-US`)
  46774. * - `'shortDate'`: equivalent to `'yMd'` (e.g. `9/3/2010` for `en-US`)
  46775. * - `'mediumTime'`: equivalent to `'jms'` (e.g. `12:05:08 PM` for `en-US`)
  46776. * - `'shortTime'`: equivalent to `'jm'` (e.g. `12:05 PM` for `en-US`)
  46777. *
  46778. *
  46779. * | Component | Symbol | Short Form | Long Form | Numeric | 2-digit |
  46780. * |-----------|:------:|--------------|-------------------|-----------|-----------|
  46781. * | era | G | G (AD) | GGGG (Anno Domini)| - | - |
  46782. * | year | y | - | - | y (2015) | yy (15) |
  46783. * | month | M | MMM (Sep) | MMMM (September) | M (9) | MM (09) |
  46784. * | day | d | - | - | d (3) | dd (03) |
  46785. * | weekday | E | EEE (Sun) | EEEE (Sunday) | - | - |
  46786. * | hour | j | - | - | j (13) | jj (13) |
  46787. * | hour12 | h | - | - | h (1 PM) | hh (01 PM)|
  46788. * | hour24 | H | - | - | H (13) | HH (13) |
  46789. * | minute | m | - | - | m (5) | mm (05) |
  46790. * | second | s | - | - | s (9) | ss (09) |
  46791. * | timezone | z | - | z (Pacific Standard Time)| - | - |
  46792. * | timezone | Z | Z (GMT-8:00) | - | - | - |
  46793. * | timezone | a | a (PM) | - | - | - |
  46794. *
  46795. * In javascript, only the components specified will be respected (not the ordering,
  46796. * punctuations, ...) and details of the formatting will be dependent on the locale.
  46797. *
  46798. * Timezone of the formatted text will be the local system timezone of the end-user's machine.
  46799. *
  46800. * WARNINGS:
  46801. * - this pipe is marked as pure hence it will not be re-evaluated when the input is mutated.
  46802. * Instead users should treat the date as an immutable object and change the reference when the
  46803. * pipe needs to re-run (this is to avoid reformatting the date on every change detection run
  46804. * which would be an expensive operation).
  46805. * - this pipe uses the Internationalization API. Therefore it is only reliable in Chrome and Opera
  46806. * browsers.
  46807. *
  46808. * ### Examples
  46809. *
  46810. * Assuming `dateObj` is (year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11)
  46811. * in the _local_ time and locale is 'en-US':
  46812. *
  46813. * ```
  46814. * {{ dateObj | date }} // output is 'Jun 15, 2015'
  46815. * {{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'
  46816. * {{ dateObj | date:'shortTime' }} // output is '9:43 PM'
  46817. * {{ dateObj | date:'mmss' }} // output is '43:11'
  46818. * ```
  46819. *
  46820. * {@example common/pipes/ts/date_pipe.ts region='DatePipe'}
  46821. *
  46822. * @stable
  46823. */
  46824. var DatePipe = (function () {
  46825. function DatePipe(_locale) {
  46826. this._locale = _locale;
  46827. }
  46828. DatePipe.prototype.transform = function (value, pattern) {
  46829. if (pattern === void 0) { pattern = 'mediumDate'; }
  46830. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(value))
  46831. return null;
  46832. if (!this.supports(value)) {
  46833. throw new __WEBPACK_IMPORTED_MODULE_3__invalid_pipe_argument_error__["a" /* InvalidPipeArgumentError */](DatePipe, value);
  46834. }
  46835. if (__WEBPACK_IMPORTED_MODULE_2__facade_lang__["h" /* NumberWrapper */].isNumeric(value)) {
  46836. value = parseFloat(value);
  46837. }
  46838. return __WEBPACK_IMPORTED_MODULE_1__facade_intl__["a" /* DateFormatter */].format(new Date(value), this._locale, DatePipe._ALIASES[pattern] || pattern);
  46839. };
  46840. DatePipe.prototype.supports = function (obj) {
  46841. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["i" /* isDate */])(obj) || __WEBPACK_IMPORTED_MODULE_2__facade_lang__["h" /* NumberWrapper */].isNumeric(obj) ||
  46842. (typeof obj === 'string' && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["i" /* isDate */])(new Date(obj)));
  46843. };
  46844. /** @internal */
  46845. DatePipe._ALIASES = {
  46846. 'medium': 'yMMMdjms',
  46847. 'short': 'yMdjm',
  46848. 'fullDate': 'yMMMMEEEEd',
  46849. 'longDate': 'yMMMMd',
  46850. 'mediumDate': 'yMMMd',
  46851. 'shortDate': 'yMd',
  46852. 'mediumTime': 'jms',
  46853. 'shortTime': 'jm'
  46854. };
  46855. DatePipe.decorators = [
  46856. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Pipe"], args: [{ name: 'date', pure: true },] },
  46857. ];
  46858. /** @nocollapse */
  46859. DatePipe.ctorParameters = [
  46860. { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"], args: [__WEBPACK_IMPORTED_MODULE_0__angular_core__["LOCALE_ID"],] },] },
  46861. ];
  46862. return DatePipe;
  46863. }());
  46864. //# sourceMappingURL=date_pipe.js.map
  46865. /***/ },
  46866. /* 439 */
  46867. /***/ function(module, exports, __webpack_require__) {
  46868. "use strict";
  46869. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  46870. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(28);
  46871. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__localization__ = __webpack_require__(128);
  46872. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__invalid_pipe_argument_error__ = __webpack_require__(65);
  46873. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return I18nPluralPipe; });
  46874. /**
  46875. * @license
  46876. * Copyright Google Inc. All Rights Reserved.
  46877. *
  46878. * Use of this source code is governed by an MIT-style license that can be
  46879. * found in the LICENSE file at https://angular.io/license
  46880. */
  46881. var _INTERPOLATION_REGEXP = /#/g;
  46882. /**
  46883. * @ngModule CommonModule
  46884. * @whatItDoes Maps a value to a string that pluralizes the value according to locale rules.
  46885. * @howToUse `expression | i18nPlural:mapping`
  46886. * @description
  46887. *
  46888. * Where:
  46889. * - `expression` is a number.
  46890. * - `mapping` is an object that mimics the ICU format, see
  46891. * http://userguide.icu-project.org/formatparse/messages
  46892. *
  46893. * ## Example
  46894. *
  46895. * {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}
  46896. *
  46897. * @experimental
  46898. */
  46899. var I18nPluralPipe = (function () {
  46900. function I18nPluralPipe(_localization) {
  46901. this._localization = _localization;
  46902. }
  46903. I18nPluralPipe.prototype.transform = function (value, pluralMap) {
  46904. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(value))
  46905. return '';
  46906. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["j" /* isStringMap */])(pluralMap)) {
  46907. throw new __WEBPACK_IMPORTED_MODULE_3__invalid_pipe_argument_error__["a" /* InvalidPipeArgumentError */](I18nPluralPipe, pluralMap);
  46908. }
  46909. var key = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__localization__["a" /* getPluralCategory */])(value, Object.keys(pluralMap), this._localization);
  46910. return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());
  46911. };
  46912. I18nPluralPipe.decorators = [
  46913. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Pipe"], args: [{ name: 'i18nPlural', pure: true },] },
  46914. ];
  46915. /** @nocollapse */
  46916. I18nPluralPipe.ctorParameters = [
  46917. { type: __WEBPACK_IMPORTED_MODULE_2__localization__["b" /* NgLocalization */], },
  46918. ];
  46919. return I18nPluralPipe;
  46920. }());
  46921. //# sourceMappingURL=i18n_plural_pipe.js.map
  46922. /***/ },
  46923. /* 440 */
  46924. /***/ function(module, exports, __webpack_require__) {
  46925. "use strict";
  46926. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  46927. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(28);
  46928. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__invalid_pipe_argument_error__ = __webpack_require__(65);
  46929. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return I18nSelectPipe; });
  46930. /**
  46931. * @license
  46932. * Copyright Google Inc. All Rights Reserved.
  46933. *
  46934. * Use of this source code is governed by an MIT-style license that can be
  46935. * found in the LICENSE file at https://angular.io/license
  46936. */
  46937. /**
  46938. * @ngModule CommonModule
  46939. * @whatItDoes Generic selector that displays the string that matches the current value.
  46940. * @howToUse `expression | i18nSelect:mapping`
  46941. * @description
  46942. *
  46943. * Where:
  46944. * - `mapping`: is an object that indicates the text that should be displayed
  46945. * for different values of the provided `expression`.
  46946. *
  46947. * ## Example
  46948. *
  46949. * {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}
  46950. *
  46951. * @experimental
  46952. */
  46953. var I18nSelectPipe = (function () {
  46954. function I18nSelectPipe() {
  46955. }
  46956. I18nSelectPipe.prototype.transform = function (value, mapping) {
  46957. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(value))
  46958. return '';
  46959. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["j" /* isStringMap */])(mapping)) {
  46960. throw new __WEBPACK_IMPORTED_MODULE_2__invalid_pipe_argument_error__["a" /* InvalidPipeArgumentError */](I18nSelectPipe, mapping);
  46961. }
  46962. return mapping.hasOwnProperty(value) ? mapping[value] : '';
  46963. };
  46964. I18nSelectPipe.decorators = [
  46965. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Pipe"], args: [{ name: 'i18nSelect', pure: true },] },
  46966. ];
  46967. /** @nocollapse */
  46968. I18nSelectPipe.ctorParameters = [];
  46969. return I18nSelectPipe;
  46970. }());
  46971. //# sourceMappingURL=i18n_select_pipe.js.map
  46972. /***/ },
  46973. /* 441 */
  46974. /***/ function(module, exports, __webpack_require__) {
  46975. "use strict";
  46976. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  46977. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(28);
  46978. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return JsonPipe; });
  46979. /**
  46980. * @license
  46981. * Copyright Google Inc. All Rights Reserved.
  46982. *
  46983. * Use of this source code is governed by an MIT-style license that can be
  46984. * found in the LICENSE file at https://angular.io/license
  46985. */
  46986. /**
  46987. * @ngModule CommonModule
  46988. * @whatItDoes Converts value into JSON string.
  46989. * @howToUse `expression | json`
  46990. * @description
  46991. *
  46992. * Converts value into string using `JSON.stringify`. Useful for debugging.
  46993. *
  46994. * ### Example
  46995. * {@example common/pipes/ts/json_pipe.ts region='JsonPipe'}
  46996. *
  46997. * @stable
  46998. */
  46999. var JsonPipe = (function () {
  47000. function JsonPipe() {
  47001. }
  47002. JsonPipe.prototype.transform = function (value) { return __WEBPACK_IMPORTED_MODULE_1__facade_lang__["k" /* Json */].stringify(value); };
  47003. JsonPipe.decorators = [
  47004. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Pipe"], args: [{ name: 'json', pure: false },] },
  47005. ];
  47006. /** @nocollapse */
  47007. JsonPipe.ctorParameters = [];
  47008. return JsonPipe;
  47009. }());
  47010. //# sourceMappingURL=json_pipe.js.map
  47011. /***/ },
  47012. /* 442 */
  47013. /***/ function(module, exports, __webpack_require__) {
  47014. "use strict";
  47015. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  47016. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(28);
  47017. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__invalid_pipe_argument_error__ = __webpack_require__(65);
  47018. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return LowerCasePipe; });
  47019. /**
  47020. * @license
  47021. * Copyright Google Inc. All Rights Reserved.
  47022. *
  47023. * Use of this source code is governed by an MIT-style license that can be
  47024. * found in the LICENSE file at https://angular.io/license
  47025. */
  47026. /**
  47027. * @ngModule CommonModule
  47028. * @whatItDoes Transforms string to lowercase.
  47029. * @howToUse `expression | lowercase`
  47030. * @description
  47031. *
  47032. * Converts value into lowercase string using `String.prototype.toLowerCase()`.
  47033. *
  47034. * ### Example
  47035. *
  47036. * {@example common/pipes/ts/lowerupper_pipe.ts region='LowerUpperPipe'}
  47037. *
  47038. * @stable
  47039. */
  47040. var LowerCasePipe = (function () {
  47041. function LowerCasePipe() {
  47042. }
  47043. LowerCasePipe.prototype.transform = function (value) {
  47044. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(value))
  47045. return value;
  47046. if (typeof value !== 'string') {
  47047. throw new __WEBPACK_IMPORTED_MODULE_2__invalid_pipe_argument_error__["a" /* InvalidPipeArgumentError */](LowerCasePipe, value);
  47048. }
  47049. return value.toLowerCase();
  47050. };
  47051. LowerCasePipe.decorators = [
  47052. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Pipe"], args: [{ name: 'lowercase' },] },
  47053. ];
  47054. /** @nocollapse */
  47055. LowerCasePipe.ctorParameters = [];
  47056. return LowerCasePipe;
  47057. }());
  47058. //# sourceMappingURL=lowercase_pipe.js.map
  47059. /***/ },
  47060. /* 443 */
  47061. /***/ function(module, exports, __webpack_require__) {
  47062. "use strict";
  47063. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  47064. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_intl__ = __webpack_require__(272);
  47065. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(28);
  47066. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__invalid_pipe_argument_error__ = __webpack_require__(65);
  47067. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DecimalPipe; });
  47068. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return PercentPipe; });
  47069. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return CurrencyPipe; });
  47070. /**
  47071. * @license
  47072. * Copyright Google Inc. All Rights Reserved.
  47073. *
  47074. * Use of this source code is governed by an MIT-style license that can be
  47075. * found in the LICENSE file at https://angular.io/license
  47076. */
  47077. var _NUMBER_FORMAT_REGEXP = /^(\d+)?\.((\d+)(-(\d+))?)?$/;
  47078. function formatNumber(pipe, locale, value, style, digits, currency, currencyAsSymbol) {
  47079. if (currency === void 0) { currency = null; }
  47080. if (currencyAsSymbol === void 0) { currencyAsSymbol = false; }
  47081. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(value))
  47082. return null;
  47083. // Convert strings to numbers
  47084. value = typeof value === 'string' && __WEBPACK_IMPORTED_MODULE_2__facade_lang__["h" /* NumberWrapper */].isNumeric(value) ? +value : value;
  47085. if (typeof value !== 'number') {
  47086. throw new __WEBPACK_IMPORTED_MODULE_3__invalid_pipe_argument_error__["a" /* InvalidPipeArgumentError */](pipe, value);
  47087. }
  47088. var minInt;
  47089. var minFraction;
  47090. var maxFraction;
  47091. if (style !== __WEBPACK_IMPORTED_MODULE_1__facade_intl__["b" /* NumberFormatStyle */].Currency) {
  47092. // rely on Intl default for currency
  47093. minInt = 1;
  47094. minFraction = 0;
  47095. maxFraction = 3;
  47096. }
  47097. if (digits) {
  47098. var parts = digits.match(_NUMBER_FORMAT_REGEXP);
  47099. if (parts === null) {
  47100. throw new Error(digits + " is not a valid digit info for number pipes");
  47101. }
  47102. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(parts[1])) {
  47103. minInt = __WEBPACK_IMPORTED_MODULE_2__facade_lang__["h" /* NumberWrapper */].parseIntAutoRadix(parts[1]);
  47104. }
  47105. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(parts[3])) {
  47106. minFraction = __WEBPACK_IMPORTED_MODULE_2__facade_lang__["h" /* NumberWrapper */].parseIntAutoRadix(parts[3]);
  47107. }
  47108. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(parts[5])) {
  47109. maxFraction = __WEBPACK_IMPORTED_MODULE_2__facade_lang__["h" /* NumberWrapper */].parseIntAutoRadix(parts[5]);
  47110. }
  47111. }
  47112. return __WEBPACK_IMPORTED_MODULE_1__facade_intl__["c" /* NumberFormatter */].format(value, locale, style, {
  47113. minimumIntegerDigits: minInt,
  47114. minimumFractionDigits: minFraction,
  47115. maximumFractionDigits: maxFraction,
  47116. currency: currency,
  47117. currencyAsSymbol: currencyAsSymbol,
  47118. });
  47119. }
  47120. /**
  47121. * @ngModule CommonModule
  47122. * @whatItDoes Formats a number according to locale rules.
  47123. * @howToUse `number_expression | number[:digitInfo]`
  47124. *
  47125. * Formats a number as text. Group sizing and separator and other locale-specific
  47126. * configurations are based on the active locale.
  47127. *
  47128. * where `expression` is a number:
  47129. * - `digitInfo` is a `string` which has a following format: <br>
  47130. * <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>
  47131. * - `minIntegerDigits` is the minimum number of integer digits to use. Defaults to `1`.
  47132. * - `minFractionDigits` is the minimum number of digits after fraction. Defaults to `0`.
  47133. * - `maxFractionDigits` is the maximum number of digits after fraction. Defaults to `3`.
  47134. *
  47135. * For more information on the acceptable range for each of these numbers and other
  47136. * details see your native internationalization library.
  47137. *
  47138. * WARNING: this pipe uses the Internationalization API which is not yet available in all browsers
  47139. * and may require a polyfill. See {@linkDocs guide/browser-support} for details.
  47140. *
  47141. * ### Example
  47142. *
  47143. * {@example common/pipes/ts/number_pipe.ts region='NumberPipe'}
  47144. *
  47145. * @stable
  47146. */
  47147. var DecimalPipe = (function () {
  47148. function DecimalPipe(_locale) {
  47149. this._locale = _locale;
  47150. }
  47151. DecimalPipe.prototype.transform = function (value, digits) {
  47152. if (digits === void 0) { digits = null; }
  47153. return formatNumber(DecimalPipe, this._locale, value, __WEBPACK_IMPORTED_MODULE_1__facade_intl__["b" /* NumberFormatStyle */].Decimal, digits);
  47154. };
  47155. DecimalPipe.decorators = [
  47156. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Pipe"], args: [{ name: 'number' },] },
  47157. ];
  47158. /** @nocollapse */
  47159. DecimalPipe.ctorParameters = [
  47160. { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"], args: [__WEBPACK_IMPORTED_MODULE_0__angular_core__["LOCALE_ID"],] },] },
  47161. ];
  47162. return DecimalPipe;
  47163. }());
  47164. /**
  47165. * @ngModule CommonModule
  47166. * @whatItDoes Formats a number as a percentage according to locale rules.
  47167. * @howToUse `number_expression | percent[:digitInfo]`
  47168. *
  47169. * @description
  47170. *
  47171. * Formats a number as percentage.
  47172. *
  47173. * - `digitInfo` See {@link DecimalPipe} for detailed description.
  47174. *
  47175. * WARNING: this pipe uses the Internationalization API which is not yet available in all browsers
  47176. * and may require a polyfill. See {@linkDocs guide/browser-support} for details.
  47177. *
  47178. * ### Example
  47179. *
  47180. * {@example common/pipes/ts/number_pipe.ts region='PercentPipe'}
  47181. *
  47182. * @stable
  47183. */
  47184. var PercentPipe = (function () {
  47185. function PercentPipe(_locale) {
  47186. this._locale = _locale;
  47187. }
  47188. PercentPipe.prototype.transform = function (value, digits) {
  47189. if (digits === void 0) { digits = null; }
  47190. return formatNumber(PercentPipe, this._locale, value, __WEBPACK_IMPORTED_MODULE_1__facade_intl__["b" /* NumberFormatStyle */].Percent, digits);
  47191. };
  47192. PercentPipe.decorators = [
  47193. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Pipe"], args: [{ name: 'percent' },] },
  47194. ];
  47195. /** @nocollapse */
  47196. PercentPipe.ctorParameters = [
  47197. { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"], args: [__WEBPACK_IMPORTED_MODULE_0__angular_core__["LOCALE_ID"],] },] },
  47198. ];
  47199. return PercentPipe;
  47200. }());
  47201. /**
  47202. * @ngModule CommonModule
  47203. * @whatItDoes Formats a number as currency using locale rules.
  47204. * @howToUse `number_expression | currency[:currencyCode[:symbolDisplay[:digitInfo]]]`
  47205. * @description
  47206. *
  47207. * Use `currency` to format a number as currency.
  47208. *
  47209. * - `currencyCode` is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, such
  47210. * as `USD` for the US dollar and `EUR` for the euro.
  47211. * - `symbolDisplay` is a boolean indicating whether to use the currency symbol or code.
  47212. * - `true`: use symbol (e.g. `$`).
  47213. * - `false`(default): use code (e.g. `USD`).
  47214. * - `digitInfo` See {@link DecimalPipe} for detailed description.
  47215. *
  47216. * WARNING: this pipe uses the Internationalization API which is not yet available in all browsers
  47217. * and may require a polyfill. See {@linkDocs guide/browser-support} for details.
  47218. *
  47219. * ### Example
  47220. *
  47221. * {@example common/pipes/ts/number_pipe.ts region='CurrencyPipe'}
  47222. *
  47223. * @stable
  47224. */
  47225. var CurrencyPipe = (function () {
  47226. function CurrencyPipe(_locale) {
  47227. this._locale = _locale;
  47228. }
  47229. CurrencyPipe.prototype.transform = function (value, currencyCode, symbolDisplay, digits) {
  47230. if (currencyCode === void 0) { currencyCode = 'USD'; }
  47231. if (symbolDisplay === void 0) { symbolDisplay = false; }
  47232. if (digits === void 0) { digits = null; }
  47233. return formatNumber(CurrencyPipe, this._locale, value, __WEBPACK_IMPORTED_MODULE_1__facade_intl__["b" /* NumberFormatStyle */].Currency, digits, currencyCode, symbolDisplay);
  47234. };
  47235. CurrencyPipe.decorators = [
  47236. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Pipe"], args: [{ name: 'currency' },] },
  47237. ];
  47238. /** @nocollapse */
  47239. CurrencyPipe.ctorParameters = [
  47240. { type: undefined, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"], args: [__WEBPACK_IMPORTED_MODULE_0__angular_core__["LOCALE_ID"],] },] },
  47241. ];
  47242. return CurrencyPipe;
  47243. }());
  47244. //# sourceMappingURL=number_pipe.js.map
  47245. /***/ },
  47246. /* 444 */
  47247. /***/ function(module, exports, __webpack_require__) {
  47248. "use strict";
  47249. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  47250. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(28);
  47251. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__invalid_pipe_argument_error__ = __webpack_require__(65);
  47252. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return SlicePipe; });
  47253. /**
  47254. * @license
  47255. * Copyright Google Inc. All Rights Reserved.
  47256. *
  47257. * Use of this source code is governed by an MIT-style license that can be
  47258. * found in the LICENSE file at https://angular.io/license
  47259. */
  47260. /**
  47261. * @ngModule CommonModule
  47262. * @whatItDoes Creates a new List or String containing a subset (slice) of the elements.
  47263. * @howToUse `array_or_string_expression | slice:start[:end]`
  47264. * @description
  47265. *
  47266. * Where the input expression is a `List` or `String`, and:
  47267. * - `start`: The starting index of the subset to return.
  47268. * - **a positive integer**: return the item at `start` index and all items after
  47269. * in the list or string expression.
  47270. * - **a negative integer**: return the item at `start` index from the end and all items after
  47271. * in the list or string expression.
  47272. * - **if positive and greater than the size of the expression**: return an empty list or string.
  47273. * - **if negative and greater than the size of the expression**: return entire list or string.
  47274. * - `end`: The ending index of the subset to return.
  47275. * - **omitted**: return all items until the end.
  47276. * - **if positive**: return all items before `end` index of the list or string.
  47277. * - **if negative**: return all items before `end` index from the end of the list or string.
  47278. *
  47279. * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`
  47280. * and `String.prototype.slice()`.
  47281. *
  47282. * When operating on a [List], the returned list is always a copy even when all
  47283. * the elements are being returned.
  47284. *
  47285. * When operating on a blank value, the pipe returns the blank value.
  47286. *
  47287. * ## List Example
  47288. *
  47289. * This `ngFor` example:
  47290. *
  47291. * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}
  47292. *
  47293. * produces the following:
  47294. *
  47295. * <li>b</li>
  47296. * <li>c</li>
  47297. *
  47298. * ## String Examples
  47299. *
  47300. * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_string'}
  47301. *
  47302. * @stable
  47303. */
  47304. var SlicePipe = (function () {
  47305. function SlicePipe() {
  47306. }
  47307. SlicePipe.prototype.transform = function (value, start, end) {
  47308. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(value))
  47309. return value;
  47310. if (!this.supports(value)) {
  47311. throw new __WEBPACK_IMPORTED_MODULE_2__invalid_pipe_argument_error__["a" /* InvalidPipeArgumentError */](SlicePipe, value);
  47312. }
  47313. return value.slice(start, end);
  47314. };
  47315. SlicePipe.prototype.supports = function (obj) { return typeof obj === 'string' || Array.isArray(obj); };
  47316. SlicePipe.decorators = [
  47317. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Pipe"], args: [{ name: 'slice', pure: false },] },
  47318. ];
  47319. /** @nocollapse */
  47320. SlicePipe.ctorParameters = [];
  47321. return SlicePipe;
  47322. }());
  47323. //# sourceMappingURL=slice_pipe.js.map
  47324. /***/ },
  47325. /* 445 */
  47326. /***/ function(module, exports, __webpack_require__) {
  47327. "use strict";
  47328. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  47329. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(28);
  47330. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__invalid_pipe_argument_error__ = __webpack_require__(65);
  47331. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return UpperCasePipe; });
  47332. /**
  47333. * @license
  47334. * Copyright Google Inc. All Rights Reserved.
  47335. *
  47336. * Use of this source code is governed by an MIT-style license that can be
  47337. * found in the LICENSE file at https://angular.io/license
  47338. */
  47339. /**
  47340. * @ngModule CommonModule
  47341. * @whatItDoes Transforms string to uppercase.
  47342. * @howToUse `expression | uppercase`
  47343. * @description
  47344. *
  47345. * Converts value into lowercase string using `String.prototype.toUpperCase()`.
  47346. *
  47347. * ### Example
  47348. *
  47349. * {@example common/pipes/ts/lowerupper_pipe.ts region='LowerUpperPipe'}
  47350. *
  47351. * @stable
  47352. */
  47353. var UpperCasePipe = (function () {
  47354. function UpperCasePipe() {
  47355. }
  47356. UpperCasePipe.prototype.transform = function (value) {
  47357. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(value))
  47358. return value;
  47359. if (typeof value !== 'string') {
  47360. throw new __WEBPACK_IMPORTED_MODULE_2__invalid_pipe_argument_error__["a" /* InvalidPipeArgumentError */](UpperCasePipe, value);
  47361. }
  47362. return value.toUpperCase();
  47363. };
  47364. UpperCasePipe.decorators = [
  47365. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Pipe"], args: [{ name: 'uppercase' },] },
  47366. ];
  47367. /** @nocollapse */
  47368. UpperCasePipe.ctorParameters = [];
  47369. return UpperCasePipe;
  47370. }());
  47371. //# sourceMappingURL=uppercase_pipe.js.map
  47372. /***/ },
  47373. /* 446 */
  47374. /***/ function(module, exports, __webpack_require__) {
  47375. "use strict";
  47376. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  47377. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return isPromise; });
  47378. /**
  47379. * @license
  47380. * Copyright Google Inc. All Rights Reserved.
  47381. *
  47382. * Use of this source code is governed by an MIT-style license that can be
  47383. * found in the LICENSE file at https://angular.io/license
  47384. */
  47385. var isPromise = __WEBPACK_IMPORTED_MODULE_0__angular_core__["__core_private__"].isPromise;
  47386. //# sourceMappingURL=private_import_core.js.map
  47387. /***/ },
  47388. /* 447 */
  47389. /***/ function(module, exports, __webpack_require__) {
  47390. "use strict";
  47391. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__compile_metadata__ = __webpack_require__(25);
  47392. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(13);
  47393. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(4);
  47394. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__facade_math__ = __webpack_require__(450);
  47395. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__parse_util__ = __webpack_require__(50);
  47396. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__private_import_core__ = __webpack_require__(20);
  47397. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__animation_ast__ = __webpack_require__(274);
  47398. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__styles_collection__ = __webpack_require__(448);
  47399. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return AnimationParseError; });
  47400. /* unused harmony export ParsedAnimationResult */
  47401. /* harmony export (immutable) */ exports["a"] = parseAnimationEntry;
  47402. /* harmony export (immutable) */ exports["c"] = parseAnimationOutputName;
  47403. /**
  47404. * @license
  47405. * Copyright Google Inc. All Rights Reserved.
  47406. *
  47407. * Use of this source code is governed by an MIT-style license that can be
  47408. * found in the LICENSE file at https://angular.io/license
  47409. */
  47410. var __extends = (this && this.__extends) || function (d, b) {
  47411. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  47412. function __() { this.constructor = d; }
  47413. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  47414. };
  47415. var _INITIAL_KEYFRAME = 0;
  47416. var _TERMINAL_KEYFRAME = 1;
  47417. var _ONE_SECOND = 1000;
  47418. var AnimationParseError = (function (_super) {
  47419. __extends(AnimationParseError, _super);
  47420. function AnimationParseError(message /** TODO #9100 */) {
  47421. _super.call(this, null, message);
  47422. }
  47423. AnimationParseError.prototype.toString = function () { return "" + this.msg; };
  47424. return AnimationParseError;
  47425. }(__WEBPACK_IMPORTED_MODULE_4__parse_util__["a" /* ParseError */]));
  47426. var ParsedAnimationResult = (function () {
  47427. function ParsedAnimationResult(ast, errors) {
  47428. this.ast = ast;
  47429. this.errors = errors;
  47430. }
  47431. return ParsedAnimationResult;
  47432. }());
  47433. function parseAnimationEntry(entry) {
  47434. var errors = [];
  47435. var stateStyles = {};
  47436. var transitions = [];
  47437. var stateDeclarationAsts = [];
  47438. entry.definitions.forEach(function (def) {
  47439. if (def instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["g" /* CompileAnimationStateDeclarationMetadata */]) {
  47440. _parseAnimationDeclarationStates(def, errors).forEach(function (ast) {
  47441. stateDeclarationAsts.push(ast);
  47442. stateStyles[ast.stateName] = ast.styles;
  47443. });
  47444. }
  47445. else {
  47446. transitions.push(def);
  47447. }
  47448. });
  47449. var stateTransitionAsts = transitions.map(function (transDef) { return _parseAnimationStateTransition(transDef, stateStyles, errors); });
  47450. var ast = new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["a" /* AnimationEntryAst */](entry.name, stateDeclarationAsts, stateTransitionAsts);
  47451. return new ParsedAnimationResult(ast, errors);
  47452. }
  47453. function parseAnimationOutputName(outputName, errors) {
  47454. var values = outputName.split('.');
  47455. var name;
  47456. var phase = '';
  47457. if (values.length > 1) {
  47458. name = values[0];
  47459. var parsedPhase = values[1];
  47460. switch (parsedPhase) {
  47461. case 'start':
  47462. case 'done':
  47463. phase = parsedPhase;
  47464. break;
  47465. default:
  47466. errors.push(new AnimationParseError("The provided animation output phase value \"" + parsedPhase + "\" for \"@" + name + "\" is not supported (use start or done)"));
  47467. }
  47468. }
  47469. else {
  47470. name = outputName;
  47471. errors.push(new AnimationParseError("The animation trigger output event (@" + name + ") is missing its phase value name (start or done are currently supported)"));
  47472. }
  47473. return new __WEBPACK_IMPORTED_MODULE_5__private_import_core__["P" /* AnimationOutput */](name, phase, outputName);
  47474. }
  47475. function _parseAnimationDeclarationStates(stateMetadata, errors) {
  47476. var styleValues = [];
  47477. stateMetadata.styles.styles.forEach(function (stylesEntry) {
  47478. // TODO (matsko): change this when we get CSS class integration support
  47479. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["l" /* isStringMap */])(stylesEntry)) {
  47480. styleValues.push(stylesEntry);
  47481. }
  47482. else {
  47483. errors.push(new AnimationParseError("State based animations cannot contain references to other states"));
  47484. }
  47485. });
  47486. var defStyles = new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["b" /* AnimationStylesAst */](styleValues);
  47487. var states = stateMetadata.stateNameExpr.split(/\s*,\s*/);
  47488. return states.map(function (state) { return new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["c" /* AnimationStateDeclarationAst */](state, defStyles); });
  47489. }
  47490. function _parseAnimationStateTransition(transitionStateMetadata, stateStyles, errors) {
  47491. var styles = new __WEBPACK_IMPORTED_MODULE_7__styles_collection__["a" /* StylesCollection */]();
  47492. var transitionExprs = [];
  47493. var transitionStates = transitionStateMetadata.stateChangeExpr.split(/\s*,\s*/);
  47494. transitionStates.forEach(function (expr) {
  47495. _parseAnimationTransitionExpr(expr, errors).forEach(function (transExpr) {
  47496. transitionExprs.push(transExpr);
  47497. });
  47498. });
  47499. var entry = _normalizeAnimationEntry(transitionStateMetadata.steps);
  47500. var animation = _normalizeStyleSteps(entry, stateStyles, errors);
  47501. var animationAst = _parseTransitionAnimation(animation, 0, styles, stateStyles, errors);
  47502. if (errors.length == 0) {
  47503. _fillAnimationAstStartingKeyframes(animationAst, styles, errors);
  47504. }
  47505. var stepsAst = (animationAst instanceof __WEBPACK_IMPORTED_MODULE_6__animation_ast__["d" /* AnimationWithStepsAst */]) ?
  47506. animationAst :
  47507. new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["e" /* AnimationSequenceAst */]([animationAst]);
  47508. return new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["f" /* AnimationStateTransitionAst */](transitionExprs, stepsAst);
  47509. }
  47510. function _parseAnimationTransitionExpr(eventStr, errors) {
  47511. var expressions = [];
  47512. var match = eventStr.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);
  47513. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(match) || match.length < 4) {
  47514. errors.push(new AnimationParseError("the provided " + eventStr + " is not of a supported format"));
  47515. return expressions;
  47516. }
  47517. var fromState = match[1];
  47518. var separator = match[2];
  47519. var toState = match[3];
  47520. expressions.push(new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["g" /* AnimationStateTransitionExpression */](fromState, toState));
  47521. var isFullAnyStateExpr = fromState == __WEBPACK_IMPORTED_MODULE_5__private_import_core__["T" /* ANY_STATE */] && toState == __WEBPACK_IMPORTED_MODULE_5__private_import_core__["T" /* ANY_STATE */];
  47522. if (separator[0] == '<' && !isFullAnyStateExpr) {
  47523. expressions.push(new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["g" /* AnimationStateTransitionExpression */](toState, fromState));
  47524. }
  47525. return expressions;
  47526. }
  47527. function _fetchSylesFromState(stateName, stateStyles) {
  47528. var entry = stateStyles[stateName];
  47529. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(entry)) {
  47530. var styles = entry.styles;
  47531. return new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["h" /* CompileAnimationStyleMetadata */](0, styles);
  47532. }
  47533. return null;
  47534. }
  47535. function _normalizeAnimationEntry(entry) {
  47536. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["c" /* isArray */])(entry) ? new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["i" /* CompileAnimationSequenceMetadata */](entry) :
  47537. entry;
  47538. }
  47539. function _normalizeStyleMetadata(entry, stateStyles, errors) {
  47540. var normalizedStyles = [];
  47541. entry.styles.forEach(function (styleEntry) {
  47542. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["g" /* isString */])(styleEntry)) {
  47543. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].addAll(normalizedStyles, _resolveStylesFromState(styleEntry, stateStyles, errors));
  47544. }
  47545. else {
  47546. normalizedStyles.push(styleEntry);
  47547. }
  47548. });
  47549. return normalizedStyles;
  47550. }
  47551. function _normalizeStyleSteps(entry, stateStyles, errors) {
  47552. var steps = _normalizeStyleStepEntry(entry, stateStyles, errors);
  47553. return (entry instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["j" /* CompileAnimationGroupMetadata */]) ?
  47554. new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["j" /* CompileAnimationGroupMetadata */](steps) :
  47555. new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["i" /* CompileAnimationSequenceMetadata */](steps);
  47556. }
  47557. function _mergeAnimationStyles(stylesList, newItem) {
  47558. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["l" /* isStringMap */])(newItem) && stylesList.length > 0) {
  47559. var lastIndex = stylesList.length - 1;
  47560. var lastItem = stylesList[lastIndex];
  47561. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["l" /* isStringMap */])(lastItem)) {
  47562. stylesList[lastIndex] = __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* StringMapWrapper */].merge(lastItem, newItem);
  47563. return;
  47564. }
  47565. }
  47566. stylesList.push(newItem);
  47567. }
  47568. function _normalizeStyleStepEntry(entry, stateStyles, errors) {
  47569. var steps;
  47570. if (entry instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["k" /* CompileAnimationWithStepsMetadata */]) {
  47571. steps = entry.steps;
  47572. }
  47573. else {
  47574. return [entry];
  47575. }
  47576. var newSteps = [];
  47577. var combinedStyles;
  47578. steps.forEach(function (step) {
  47579. if (step instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["h" /* CompileAnimationStyleMetadata */]) {
  47580. // this occurs when a style step is followed by a previous style step
  47581. // or when the first style step is run. We want to concatenate all subsequent
  47582. // style steps together into a single style step such that we have the correct
  47583. // starting keyframe data to pass into the animation player.
  47584. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(combinedStyles)) {
  47585. combinedStyles = [];
  47586. }
  47587. _normalizeStyleMetadata(step, stateStyles, errors)
  47588. .forEach(function (entry) { _mergeAnimationStyles(combinedStyles, entry); });
  47589. }
  47590. else {
  47591. // it is important that we create a metadata entry of the combined styles
  47592. // before we go on an process the animate, sequence or group metadata steps.
  47593. // This will ensure that the AST will have the previous styles painted on
  47594. // screen before any further animations that use the styles take place.
  47595. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(combinedStyles)) {
  47596. newSteps.push(new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["h" /* CompileAnimationStyleMetadata */](0, combinedStyles));
  47597. combinedStyles = null;
  47598. }
  47599. if (step instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["l" /* CompileAnimationAnimateMetadata */]) {
  47600. // we do not recurse into CompileAnimationAnimateMetadata since
  47601. // those style steps are not going to be squashed
  47602. var animateStyleValue = step.styles;
  47603. if (animateStyleValue instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["h" /* CompileAnimationStyleMetadata */]) {
  47604. animateStyleValue.styles =
  47605. _normalizeStyleMetadata(animateStyleValue, stateStyles, errors);
  47606. }
  47607. else if (animateStyleValue instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["m" /* CompileAnimationKeyframesSequenceMetadata */]) {
  47608. animateStyleValue.steps.forEach(function (step) { step.styles = _normalizeStyleMetadata(step, stateStyles, errors); });
  47609. }
  47610. }
  47611. else if (step instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["k" /* CompileAnimationWithStepsMetadata */]) {
  47612. var innerSteps = _normalizeStyleStepEntry(step, stateStyles, errors);
  47613. step = step instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["j" /* CompileAnimationGroupMetadata */] ?
  47614. new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["j" /* CompileAnimationGroupMetadata */](innerSteps) :
  47615. new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["i" /* CompileAnimationSequenceMetadata */](innerSteps);
  47616. }
  47617. newSteps.push(step);
  47618. }
  47619. });
  47620. // this happens when only styles were animated within the sequence
  47621. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(combinedStyles)) {
  47622. newSteps.push(new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["h" /* CompileAnimationStyleMetadata */](0, combinedStyles));
  47623. }
  47624. return newSteps;
  47625. }
  47626. function _resolveStylesFromState(stateName, stateStyles, errors) {
  47627. var styles = [];
  47628. if (stateName[0] != ':') {
  47629. errors.push(new AnimationParseError("Animation states via styles must be prefixed with a \":\""));
  47630. }
  47631. else {
  47632. var normalizedStateName = stateName.substring(1);
  47633. var value = stateStyles[normalizedStateName];
  47634. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(value)) {
  47635. errors.push(new AnimationParseError("Unable to apply styles due to missing a state: \"" + normalizedStateName + "\""));
  47636. }
  47637. else {
  47638. value.styles.forEach(function (stylesEntry) {
  47639. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["l" /* isStringMap */])(stylesEntry)) {
  47640. styles.push(stylesEntry);
  47641. }
  47642. });
  47643. }
  47644. }
  47645. return styles;
  47646. }
  47647. var _AnimationTimings = (function () {
  47648. function _AnimationTimings(duration, delay, easing) {
  47649. this.duration = duration;
  47650. this.delay = delay;
  47651. this.easing = easing;
  47652. }
  47653. return _AnimationTimings;
  47654. }());
  47655. function _parseAnimationKeyframes(keyframeSequence, currentTime, collectedStyles, stateStyles, errors) {
  47656. var totalEntries = keyframeSequence.steps.length;
  47657. var totalOffsets = 0;
  47658. keyframeSequence.steps.forEach(function (step) { return totalOffsets += (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(step.offset) ? 1 : 0); });
  47659. if (totalOffsets > 0 && totalOffsets < totalEntries) {
  47660. errors.push(new AnimationParseError("Not all style() entries contain an offset for the provided keyframe()"));
  47661. totalOffsets = totalEntries;
  47662. }
  47663. var limit = totalEntries - 1;
  47664. var margin = totalOffsets == 0 ? (1 / limit) : 0;
  47665. var rawKeyframes = [];
  47666. var index = 0;
  47667. var doSortKeyframes = false;
  47668. var lastOffset = 0;
  47669. keyframeSequence.steps.forEach(function (styleMetadata) {
  47670. var offset = styleMetadata.offset;
  47671. var keyframeStyles = {};
  47672. styleMetadata.styles.forEach(function (entry) {
  47673. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* StringMapWrapper */].forEach(entry, function (value /** TODO #9100 */, prop /** TODO #9100 */) {
  47674. if (prop != 'offset') {
  47675. keyframeStyles[prop] = value;
  47676. }
  47677. });
  47678. });
  47679. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(offset)) {
  47680. doSortKeyframes = doSortKeyframes || (offset < lastOffset);
  47681. }
  47682. else {
  47683. offset = index == limit ? _TERMINAL_KEYFRAME : (margin * index);
  47684. }
  47685. rawKeyframes.push([offset, keyframeStyles]);
  47686. lastOffset = offset;
  47687. index++;
  47688. });
  47689. if (doSortKeyframes) {
  47690. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].sort(rawKeyframes, function (a, b) { return a[0] <= b[0] ? -1 : 1; });
  47691. }
  47692. var i;
  47693. var firstKeyframe = rawKeyframes[0];
  47694. if (firstKeyframe[0] != _INITIAL_KEYFRAME) {
  47695. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].insert(rawKeyframes, 0, firstKeyframe = [_INITIAL_KEYFRAME, {}]);
  47696. }
  47697. var firstKeyframeStyles = firstKeyframe[1];
  47698. limit = rawKeyframes.length - 1;
  47699. var lastKeyframe = rawKeyframes[limit];
  47700. if (lastKeyframe[0] != _TERMINAL_KEYFRAME) {
  47701. rawKeyframes.push(lastKeyframe = [_TERMINAL_KEYFRAME, {}]);
  47702. limit++;
  47703. }
  47704. var lastKeyframeStyles = lastKeyframe[1];
  47705. for (i = 1; i <= limit; i++) {
  47706. var entry = rawKeyframes[i];
  47707. var styles = entry[1];
  47708. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* StringMapWrapper */].forEach(styles, function (value /** TODO #9100 */, prop /** TODO #9100 */) {
  47709. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(firstKeyframeStyles[prop])) {
  47710. firstKeyframeStyles[prop] = __WEBPACK_IMPORTED_MODULE_5__private_import_core__["U" /* FILL_STYLE_FLAG */];
  47711. }
  47712. });
  47713. }
  47714. for (i = limit - 1; i >= 0; i--) {
  47715. var entry = rawKeyframes[i];
  47716. var styles = entry[1];
  47717. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* StringMapWrapper */].forEach(styles, function (value /** TODO #9100 */, prop /** TODO #9100 */) {
  47718. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(lastKeyframeStyles[prop])) {
  47719. lastKeyframeStyles[prop] = value;
  47720. }
  47721. });
  47722. }
  47723. return rawKeyframes.map(function (entry) { return new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["h" /* AnimationKeyframeAst */](entry[0], new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["b" /* AnimationStylesAst */]([entry[1]])); });
  47724. }
  47725. function _parseTransitionAnimation(entry, currentTime, collectedStyles, stateStyles, errors) {
  47726. var ast;
  47727. var playTime = 0;
  47728. var startingTime = currentTime;
  47729. if (entry instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["k" /* CompileAnimationWithStepsMetadata */]) {
  47730. var maxDuration = 0;
  47731. var steps = [];
  47732. var isGroup = entry instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["j" /* CompileAnimationGroupMetadata */];
  47733. var previousStyles;
  47734. entry.steps.forEach(function (entry) {
  47735. // these will get picked up by the next step...
  47736. var time = isGroup ? startingTime : currentTime;
  47737. if (entry instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["h" /* CompileAnimationStyleMetadata */]) {
  47738. entry.styles.forEach(function (stylesEntry) {
  47739. // by this point we know that we only have stringmap values
  47740. var map = stylesEntry;
  47741. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* StringMapWrapper */].forEach(map, function (value /** TODO #9100 */, prop /** TODO #9100 */) {
  47742. collectedStyles.insertAtTime(prop, time, value);
  47743. });
  47744. });
  47745. previousStyles = entry.styles;
  47746. return;
  47747. }
  47748. var innerAst = _parseTransitionAnimation(entry, time, collectedStyles, stateStyles, errors);
  47749. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(previousStyles)) {
  47750. if (entry instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["k" /* CompileAnimationWithStepsMetadata */]) {
  47751. var startingStyles = new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["b" /* AnimationStylesAst */](previousStyles);
  47752. steps.push(new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["i" /* AnimationStepAst */](startingStyles, [], 0, 0, ''));
  47753. }
  47754. else {
  47755. var innerStep = innerAst;
  47756. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].addAll(innerStep.startingStyles.styles, previousStyles);
  47757. }
  47758. previousStyles = null;
  47759. }
  47760. var astDuration = innerAst.playTime;
  47761. currentTime += astDuration;
  47762. playTime += astDuration;
  47763. maxDuration = __WEBPACK_IMPORTED_MODULE_3__facade_math__["a" /* Math */].max(astDuration, maxDuration);
  47764. steps.push(innerAst);
  47765. });
  47766. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(previousStyles)) {
  47767. var startingStyles = new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["b" /* AnimationStylesAst */](previousStyles);
  47768. steps.push(new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["i" /* AnimationStepAst */](startingStyles, [], 0, 0, ''));
  47769. }
  47770. if (isGroup) {
  47771. ast = new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["j" /* AnimationGroupAst */](steps);
  47772. playTime = maxDuration;
  47773. currentTime = startingTime + playTime;
  47774. }
  47775. else {
  47776. ast = new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["e" /* AnimationSequenceAst */](steps);
  47777. }
  47778. }
  47779. else if (entry instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["l" /* CompileAnimationAnimateMetadata */]) {
  47780. var timings = _parseTimeExpression(entry.timings, errors);
  47781. var styles = entry.styles;
  47782. var keyframes;
  47783. if (styles instanceof __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["m" /* CompileAnimationKeyframesSequenceMetadata */]) {
  47784. keyframes =
  47785. _parseAnimationKeyframes(styles, currentTime, collectedStyles, stateStyles, errors);
  47786. }
  47787. else {
  47788. var styleData = styles;
  47789. var offset = _TERMINAL_KEYFRAME;
  47790. var styleAst = new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["b" /* AnimationStylesAst */](styleData.styles);
  47791. var keyframe = new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["h" /* AnimationKeyframeAst */](offset, styleAst);
  47792. keyframes = [keyframe];
  47793. }
  47794. ast = new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["i" /* AnimationStepAst */](new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["b" /* AnimationStylesAst */]([]), keyframes, timings.duration, timings.delay, timings.easing);
  47795. playTime = timings.duration + timings.delay;
  47796. currentTime += playTime;
  47797. keyframes.forEach(function (keyframe /** TODO #9100 */) { return keyframe.styles.styles.forEach(function (entry /** TODO #9100 */) { return __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* StringMapWrapper */].forEach(entry, function (value /** TODO #9100 */, prop /** TODO #9100 */) {
  47798. return collectedStyles.insertAtTime(prop, currentTime, value);
  47799. }); }); });
  47800. }
  47801. else {
  47802. // if the code reaches this stage then an error
  47803. // has already been populated within the _normalizeStyleSteps()
  47804. // operation...
  47805. ast = new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["i" /* AnimationStepAst */](null, [], 0, 0, '');
  47806. }
  47807. ast.playTime = playTime;
  47808. ast.startTime = startingTime;
  47809. return ast;
  47810. }
  47811. function _fillAnimationAstStartingKeyframes(ast, collectedStyles, errors) {
  47812. // steps that only contain style will not be filled
  47813. if ((ast instanceof __WEBPACK_IMPORTED_MODULE_6__animation_ast__["i" /* AnimationStepAst */]) && ast.keyframes.length > 0) {
  47814. var keyframes = ast.keyframes;
  47815. if (keyframes.length == 1) {
  47816. var endKeyframe = keyframes[0];
  47817. var startKeyframe = _createStartKeyframeFromEndKeyframe(endKeyframe, ast.startTime, ast.playTime, collectedStyles, errors);
  47818. ast.keyframes = [startKeyframe, endKeyframe];
  47819. }
  47820. }
  47821. else if (ast instanceof __WEBPACK_IMPORTED_MODULE_6__animation_ast__["d" /* AnimationWithStepsAst */]) {
  47822. ast.steps.forEach(function (entry) { return _fillAnimationAstStartingKeyframes(entry, collectedStyles, errors); });
  47823. }
  47824. }
  47825. function _parseTimeExpression(exp, errors) {
  47826. var regex = /^([\.\d]+)(m?s)(?:\s+([\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?/i;
  47827. var duration;
  47828. var delay = 0;
  47829. var easing = null;
  47830. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["g" /* isString */])(exp)) {
  47831. var matches = exp.match(regex);
  47832. if (matches === null) {
  47833. errors.push(new AnimationParseError("The provided timing value \"" + exp + "\" is invalid."));
  47834. return new _AnimationTimings(0, 0, null);
  47835. }
  47836. var durationMatch = parseFloat(matches[1]);
  47837. var durationUnit = matches[2];
  47838. if (durationUnit == 's') {
  47839. durationMatch *= _ONE_SECOND;
  47840. }
  47841. duration = __WEBPACK_IMPORTED_MODULE_3__facade_math__["a" /* Math */].floor(durationMatch);
  47842. var delayMatch = matches[3];
  47843. var delayUnit = matches[4];
  47844. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(delayMatch)) {
  47845. var delayVal = parseFloat(delayMatch);
  47846. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(delayUnit) && delayUnit == 's') {
  47847. delayVal *= _ONE_SECOND;
  47848. }
  47849. delay = __WEBPACK_IMPORTED_MODULE_3__facade_math__["a" /* Math */].floor(delayVal);
  47850. }
  47851. var easingVal = matches[5];
  47852. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["b" /* isBlank */])(easingVal)) {
  47853. easing = easingVal;
  47854. }
  47855. }
  47856. else {
  47857. duration = exp;
  47858. }
  47859. return new _AnimationTimings(duration, delay, easing);
  47860. }
  47861. function _createStartKeyframeFromEndKeyframe(endKeyframe, startTime, duration, collectedStyles, errors) {
  47862. var values = {};
  47863. var endTime = startTime + duration;
  47864. endKeyframe.styles.styles.forEach(function (styleData) {
  47865. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["b" /* StringMapWrapper */].forEach(styleData, function (val /** TODO #9100 */, prop /** TODO #9100 */) {
  47866. if (prop == 'offset')
  47867. return;
  47868. var resultIndex = collectedStyles.indexOfAtOrBeforeTime(prop, startTime);
  47869. var resultEntry /** TODO #9100 */, nextEntry /** TODO #9100 */, value;
  47870. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(resultIndex)) {
  47871. resultEntry = collectedStyles.getByIndex(prop, resultIndex);
  47872. value = resultEntry.value;
  47873. nextEntry = collectedStyles.getByIndex(prop, resultIndex + 1);
  47874. }
  47875. else {
  47876. // this is a flag that the runtime code uses to pass
  47877. // in a value either from the state declaration styles
  47878. // or using the AUTO_STYLE value (e.g. getComputedStyle)
  47879. value = __WEBPACK_IMPORTED_MODULE_5__private_import_core__["U" /* FILL_STYLE_FLAG */];
  47880. }
  47881. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(nextEntry) && !nextEntry.matches(endTime, val)) {
  47882. errors.push(new AnimationParseError("The animated CSS property \"" + prop + "\" unexpectedly changes between steps \"" + resultEntry.time + "ms\" and \"" + endTime + "ms\" at \"" + nextEntry.time + "ms\""));
  47883. }
  47884. values[prop] = value;
  47885. });
  47886. });
  47887. return new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["h" /* AnimationKeyframeAst */](_INITIAL_KEYFRAME, new __WEBPACK_IMPORTED_MODULE_6__animation_ast__["b" /* AnimationStylesAst */]([values]));
  47888. }
  47889. //# sourceMappingURL=animation_parser.js.map
  47890. /***/ },
  47891. /* 448 */
  47892. /***/ function(module, exports, __webpack_require__) {
  47893. "use strict";
  47894. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(13);
  47895. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(4);
  47896. /* unused harmony export StylesCollectionEntry */
  47897. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return StylesCollection; });
  47898. /**
  47899. * @license
  47900. * Copyright Google Inc. All Rights Reserved.
  47901. *
  47902. * Use of this source code is governed by an MIT-style license that can be
  47903. * found in the LICENSE file at https://angular.io/license
  47904. */
  47905. var StylesCollectionEntry = (function () {
  47906. function StylesCollectionEntry(time, value) {
  47907. this.time = time;
  47908. this.value = value;
  47909. }
  47910. StylesCollectionEntry.prototype.matches = function (time, value) {
  47911. return time == this.time && value == this.value;
  47912. };
  47913. return StylesCollectionEntry;
  47914. }());
  47915. var StylesCollection = (function () {
  47916. function StylesCollection() {
  47917. this.styles = {};
  47918. }
  47919. StylesCollection.prototype.insertAtTime = function (property, time, value) {
  47920. var tuple = new StylesCollectionEntry(time, value);
  47921. var entries = this.styles[property];
  47922. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(entries)) {
  47923. entries = this.styles[property] = [];
  47924. }
  47925. // insert this at the right stop in the array
  47926. // this way we can keep it sorted
  47927. var insertionIndex = 0;
  47928. for (var i = entries.length - 1; i >= 0; i--) {
  47929. if (entries[i].time <= time) {
  47930. insertionIndex = i + 1;
  47931. break;
  47932. }
  47933. }
  47934. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].insert(entries, insertionIndex, tuple);
  47935. };
  47936. StylesCollection.prototype.getByIndex = function (property, index) {
  47937. var items = this.styles[property];
  47938. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(items)) {
  47939. return index >= items.length ? null : items[index];
  47940. }
  47941. return null;
  47942. };
  47943. StylesCollection.prototype.indexOfAtOrBeforeTime = function (property, time) {
  47944. var entries = this.styles[property];
  47945. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(entries)) {
  47946. for (var i = entries.length - 1; i >= 0; i--) {
  47947. if (entries[i].time <= time)
  47948. return i;
  47949. }
  47950. }
  47951. return null;
  47952. };
  47953. return StylesCollection;
  47954. }());
  47955. //# sourceMappingURL=styles_collection.js.map
  47956. /***/ },
  47957. /* 449 */
  47958. /***/ function(module, exports, __webpack_require__) {
  47959. "use strict";
  47960. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  47961. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__template_parser_template_ast__ = __webpack_require__(51);
  47962. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__compile_metadata__ = __webpack_require__(25);
  47963. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__offline_compiler__ = __webpack_require__(459);
  47964. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__template_parser_template_parser__ = __webpack_require__(133);
  47965. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ml_parser_html_parser__ = __webpack_require__(132);
  47966. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__directive_normalizer__ = __webpack_require__(183);
  47967. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__metadata_resolver__ = __webpack_require__(188);
  47968. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__style_compiler__ = __webpack_require__(196);
  47969. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__view_compiler_view_compiler__ = __webpack_require__(134);
  47970. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ng_module_compiler__ = __webpack_require__(190);
  47971. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__config__ = __webpack_require__(104);
  47972. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__runtime_compiler__ = __webpack_require__(291);
  47973. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__schema_element_schema_registry__ = __webpack_require__(105);
  47974. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__schema_dom_element_schema_registry__ = __webpack_require__(292);
  47975. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__url_resolver__ = __webpack_require__(106);
  47976. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__expression_parser_parser__ = __webpack_require__(131);
  47977. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__expression_parser_lexer__ = __webpack_require__(130);
  47978. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__directive_resolver__ = __webpack_require__(184);
  47979. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__pipe_resolver__ = __webpack_require__(193);
  47980. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__ng_module_resolver__ = __webpack_require__(191);
  47981. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__private_import_core__ = __webpack_require__(20);
  47982. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__resource_loader__ = __webpack_require__(194);
  47983. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__i18n_index__ = __webpack_require__(280);
  47984. /* harmony export (binding) */ __webpack_require__.d(exports, "u", function() { return COMPILER_PROVIDERS; });
  47985. /* unused harmony export RuntimeCompilerFactory */
  47986. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return platformCoreDynamic; });
  47987. /* unused harmony namespace reexport */
  47988. /* harmony reexport (binding) */ __webpack_require__.d(exports, "x", function() { return __WEBPACK_IMPORTED_MODULE_1__template_parser_template_parser__["b"]; });
  47989. /* harmony reexport (binding) */ __webpack_require__.d(exports, "o", function() { return __WEBPACK_IMPORTED_MODULE_8__config__["a"]; });
  47990. /* harmony reexport (binding) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_8__config__["b"]; });
  47991. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_22__compile_metadata__["c"]; });
  47992. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_22__compile_metadata__["q"]; });
  47993. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "f", function() { return __WEBPACK_IMPORTED_MODULE_22__compile_metadata__["v"]; });
  47994. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "g", function() { return __WEBPACK_IMPORTED_MODULE_22__compile_metadata__["a"]; });
  47995. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "h", function() { return __WEBPACK_IMPORTED_MODULE_22__compile_metadata__["A"]; });
  47996. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "i", function() { return __WEBPACK_IMPORTED_MODULE_22__compile_metadata__["w"]; });
  47997. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "j", function() { return __WEBPACK_IMPORTED_MODULE_22__compile_metadata__["d"]; });
  47998. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "k", function() { return __WEBPACK_IMPORTED_MODULE_22__compile_metadata__["y"]; });
  47999. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "l", function() { return __WEBPACK_IMPORTED_MODULE_22__compile_metadata__["p"]; });
  48000. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "m", function() { return __WEBPACK_IMPORTED_MODULE_22__compile_metadata__["b"]; });
  48001. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "n", function() { return __WEBPACK_IMPORTED_MODULE_22__compile_metadata__["e"]; });
  48002. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "s", function() { return __WEBPACK_IMPORTED_MODULE_23__offline_compiler__["a"]; });
  48003. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "w", function() { return __WEBPACK_IMPORTED_MODULE_23__offline_compiler__["b"]; });
  48004. /* harmony reexport (binding) */ __webpack_require__.d(exports, "v", function() { return __WEBPACK_IMPORTED_MODULE_9__runtime_compiler__["a"]; });
  48005. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "p", function() { return __WEBPACK_IMPORTED_MODULE_12__url_resolver__["c"]; });
  48006. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "y", function() { return __WEBPACK_IMPORTED_MODULE_12__url_resolver__["a"]; });
  48007. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "z", function() { return __WEBPACK_IMPORTED_MODULE_12__url_resolver__["d"]; });
  48008. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_19__resource_loader__["a"]; });
  48009. /* harmony reexport (binding) */ __webpack_require__.d(exports, "q", function() { return __WEBPACK_IMPORTED_MODULE_15__directive_resolver__["a"]; });
  48010. /* harmony reexport (binding) */ __webpack_require__.d(exports, "t", function() { return __WEBPACK_IMPORTED_MODULE_16__pipe_resolver__["a"]; });
  48011. /* harmony reexport (binding) */ __webpack_require__.d(exports, "r", function() { return __WEBPACK_IMPORTED_MODULE_17__ng_module_resolver__["a"]; });
  48012. /**
  48013. * @license
  48014. * Copyright Google Inc. All Rights Reserved.
  48015. *
  48016. * Use of this source code is governed by an MIT-style license that can be
  48017. * found in the LICENSE file at https://angular.io/license
  48018. */
  48019. var _NO_RESOURCE_LOADER = {
  48020. get: function (url) {
  48021. throw new Error("No ResourceLoader implementation has been provided. Can't read the url \"" + url + "\"");
  48022. }
  48023. };
  48024. /**
  48025. * A set of providers that provide `RuntimeCompiler` and its dependencies to use for
  48026. * template compilation.
  48027. */
  48028. var COMPILER_PROVIDERS = [
  48029. { provide: __WEBPACK_IMPORTED_MODULE_18__private_import_core__["_2" /* Reflector */], useValue: __WEBPACK_IMPORTED_MODULE_18__private_import_core__["Q" /* reflector */] },
  48030. { provide: __WEBPACK_IMPORTED_MODULE_18__private_import_core__["Z" /* ReflectorReader */], useExisting: __WEBPACK_IMPORTED_MODULE_18__private_import_core__["_2" /* Reflector */] },
  48031. { provide: __WEBPACK_IMPORTED_MODULE_19__resource_loader__["a" /* ResourceLoader */], useValue: _NO_RESOURCE_LOADER },
  48032. __WEBPACK_IMPORTED_MODULE_18__private_import_core__["R" /* Console */],
  48033. __WEBPACK_IMPORTED_MODULE_14__expression_parser_lexer__["c" /* Lexer */],
  48034. __WEBPACK_IMPORTED_MODULE_13__expression_parser_parser__["a" /* Parser */],
  48035. __WEBPACK_IMPORTED_MODULE_2__ml_parser_html_parser__["b" /* HtmlParser */],
  48036. {
  48037. provide: __WEBPACK_IMPORTED_MODULE_20__i18n_index__["a" /* I18NHtmlParser */],
  48038. useFactory: function (parser, translations, format) {
  48039. return new __WEBPACK_IMPORTED_MODULE_20__i18n_index__["a" /* I18NHtmlParser */](parser, translations, format);
  48040. },
  48041. deps: [
  48042. __WEBPACK_IMPORTED_MODULE_2__ml_parser_html_parser__["b" /* HtmlParser */],
  48043. [new __WEBPACK_IMPORTED_MODULE_0__angular_core__["Optional"](), new __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"](__WEBPACK_IMPORTED_MODULE_0__angular_core__["TRANSLATIONS"])],
  48044. [new __WEBPACK_IMPORTED_MODULE_0__angular_core__["Optional"](), new __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"](__WEBPACK_IMPORTED_MODULE_0__angular_core__["TRANSLATIONS_FORMAT"])],
  48045. ]
  48046. },
  48047. __WEBPACK_IMPORTED_MODULE_1__template_parser_template_parser__["a" /* TemplateParser */],
  48048. __WEBPACK_IMPORTED_MODULE_3__directive_normalizer__["a" /* DirectiveNormalizer */],
  48049. __WEBPACK_IMPORTED_MODULE_4__metadata_resolver__["a" /* CompileMetadataResolver */],
  48050. __WEBPACK_IMPORTED_MODULE_12__url_resolver__["c" /* DEFAULT_PACKAGE_URL_PROVIDER */],
  48051. __WEBPACK_IMPORTED_MODULE_5__style_compiler__["a" /* StyleCompiler */],
  48052. __WEBPACK_IMPORTED_MODULE_6__view_compiler_view_compiler__["c" /* ViewCompiler */],
  48053. __WEBPACK_IMPORTED_MODULE_7__ng_module_compiler__["a" /* NgModuleCompiler */],
  48054. { provide: __WEBPACK_IMPORTED_MODULE_8__config__["a" /* CompilerConfig */], useValue: new __WEBPACK_IMPORTED_MODULE_8__config__["a" /* CompilerConfig */]() },
  48055. __WEBPACK_IMPORTED_MODULE_9__runtime_compiler__["a" /* RuntimeCompiler */],
  48056. { provide: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Compiler"], useExisting: __WEBPACK_IMPORTED_MODULE_9__runtime_compiler__["a" /* RuntimeCompiler */] },
  48057. __WEBPACK_IMPORTED_MODULE_11__schema_dom_element_schema_registry__["a" /* DomElementSchemaRegistry */],
  48058. { provide: __WEBPACK_IMPORTED_MODULE_10__schema_element_schema_registry__["a" /* ElementSchemaRegistry */], useExisting: __WEBPACK_IMPORTED_MODULE_11__schema_dom_element_schema_registry__["a" /* DomElementSchemaRegistry */] },
  48059. __WEBPACK_IMPORTED_MODULE_12__url_resolver__["a" /* UrlResolver */],
  48060. __WEBPACK_IMPORTED_MODULE_15__directive_resolver__["a" /* DirectiveResolver */],
  48061. __WEBPACK_IMPORTED_MODULE_16__pipe_resolver__["a" /* PipeResolver */],
  48062. __WEBPACK_IMPORTED_MODULE_17__ng_module_resolver__["a" /* NgModuleResolver */]
  48063. ];
  48064. var RuntimeCompilerFactory = (function () {
  48065. function RuntimeCompilerFactory(defaultOptions) {
  48066. this._defaultOptions = [{
  48067. useDebug: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["isDevMode"])(),
  48068. useJit: true,
  48069. defaultEncapsulation: __WEBPACK_IMPORTED_MODULE_0__angular_core__["ViewEncapsulation"].Emulated
  48070. }].concat(defaultOptions);
  48071. }
  48072. RuntimeCompilerFactory.prototype.createCompiler = function (options) {
  48073. if (options === void 0) { options = []; }
  48074. var mergedOptions = _mergeOptions(this._defaultOptions.concat(options));
  48075. var injector = __WEBPACK_IMPORTED_MODULE_0__angular_core__["ReflectiveInjector"].resolveAndCreate([
  48076. COMPILER_PROVIDERS, {
  48077. provide: __WEBPACK_IMPORTED_MODULE_8__config__["a" /* CompilerConfig */],
  48078. useFactory: function () {
  48079. return new __WEBPACK_IMPORTED_MODULE_8__config__["a" /* CompilerConfig */]({
  48080. // let explicit values from the compiler options overwrite options
  48081. // from the app providers. E.g. important for the testing platform.
  48082. genDebugInfo: mergedOptions.useDebug,
  48083. // let explicit values from the compiler options overwrite options
  48084. // from the app providers
  48085. useJit: mergedOptions.useJit,
  48086. // let explicit values from the compiler options overwrite options
  48087. // from the app providers
  48088. defaultEncapsulation: mergedOptions.defaultEncapsulation,
  48089. logBindingUpdate: mergedOptions.useDebug
  48090. });
  48091. },
  48092. deps: []
  48093. },
  48094. mergedOptions.providers
  48095. ]);
  48096. return injector.get(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Compiler"]);
  48097. };
  48098. RuntimeCompilerFactory.decorators = [
  48099. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"] },
  48100. ];
  48101. /** @nocollapse */
  48102. RuntimeCompilerFactory.ctorParameters = [
  48103. { type: Array, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"], args: [__WEBPACK_IMPORTED_MODULE_0__angular_core__["COMPILER_OPTIONS"],] },] },
  48104. ];
  48105. return RuntimeCompilerFactory;
  48106. }());
  48107. function _initReflector() {
  48108. __WEBPACK_IMPORTED_MODULE_18__private_import_core__["Q" /* reflector */].reflectionCapabilities = new __WEBPACK_IMPORTED_MODULE_18__private_import_core__["_3" /* ReflectionCapabilities */]();
  48109. }
  48110. /**
  48111. * A platform that included corePlatform and the compiler.
  48112. *
  48113. * @experimental
  48114. */
  48115. var platformCoreDynamic = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["createPlatformFactory"])(__WEBPACK_IMPORTED_MODULE_0__angular_core__["platformCore"], 'coreDynamic', [
  48116. { provide: __WEBPACK_IMPORTED_MODULE_0__angular_core__["COMPILER_OPTIONS"], useValue: {}, multi: true },
  48117. { provide: __WEBPACK_IMPORTED_MODULE_0__angular_core__["CompilerFactory"], useClass: RuntimeCompilerFactory },
  48118. { provide: __WEBPACK_IMPORTED_MODULE_0__angular_core__["PLATFORM_INITIALIZER"], useValue: _initReflector, multi: true },
  48119. ]);
  48120. function _mergeOptions(optionsArr) {
  48121. return {
  48122. useDebug: _lastDefined(optionsArr.map(function (options) { return options.useDebug; })),
  48123. useJit: _lastDefined(optionsArr.map(function (options) { return options.useJit; })),
  48124. defaultEncapsulation: _lastDefined(optionsArr.map(function (options) { return options.defaultEncapsulation; })),
  48125. providers: _mergeArrays(optionsArr.map(function (options) { return options.providers; }))
  48126. };
  48127. }
  48128. function _lastDefined(args) {
  48129. for (var i = args.length - 1; i >= 0; i--) {
  48130. if (args[i] !== undefined) {
  48131. return args[i];
  48132. }
  48133. }
  48134. return undefined;
  48135. }
  48136. function _mergeArrays(parts) {
  48137. var result = [];
  48138. parts.forEach(function (part) { return part && result.push.apply(result, part); });
  48139. return result;
  48140. }
  48141. //# sourceMappingURL=compiler.js.map
  48142. /***/ },
  48143. /* 450 */
  48144. /***/ function(module, exports, __webpack_require__) {
  48145. "use strict";
  48146. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lang__ = __webpack_require__(4);
  48147. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Math; });
  48148. /* unused harmony export NaN */
  48149. /**
  48150. * @license
  48151. * Copyright Google Inc. All Rights Reserved.
  48152. *
  48153. * Use of this source code is governed by an MIT-style license that can be
  48154. * found in the LICENSE file at https://angular.io/license
  48155. */
  48156. var Math = __WEBPACK_IMPORTED_MODULE_0__lang__["p" /* global */].Math;
  48157. var NaN = typeof NaN;
  48158. //# sourceMappingURL=math.js.map
  48159. /***/ },
  48160. /* 451 */
  48161. /***/ function(module, exports, __webpack_require__) {
  48162. "use strict";
  48163. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__expression_parser_lexer__ = __webpack_require__(130);
  48164. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__expression_parser_parser__ = __webpack_require__(131);
  48165. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ml_parser_ast__ = __webpack_require__(66);
  48166. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ml_parser_html_tags__ = __webpack_require__(189);
  48167. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__digest__ = __webpack_require__(186);
  48168. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__i18n_ast__ = __webpack_require__(278);
  48169. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__serializers_placeholder__ = __webpack_require__(452);
  48170. /* harmony export (immutable) */ exports["a"] = createI18nMessageFactory;
  48171. /**
  48172. * @license
  48173. * Copyright Google Inc. All Rights Reserved.
  48174. *
  48175. * Use of this source code is governed by an MIT-style license that can be
  48176. * found in the LICENSE file at https://angular.io/license
  48177. */
  48178. var _expParser = new __WEBPACK_IMPORTED_MODULE_1__expression_parser_parser__["a" /* Parser */](new __WEBPACK_IMPORTED_MODULE_0__expression_parser_lexer__["c" /* Lexer */]());
  48179. /**
  48180. * Returns a function converting html node to an i18n Message given an interpolationConfig
  48181. */
  48182. function createI18nMessageFactory(interpolationConfig) {
  48183. var visitor = new _I18nVisitor(_expParser, interpolationConfig);
  48184. return function (nodes, meaning, description) {
  48185. return visitor.toI18nMessage(nodes, meaning, description);
  48186. };
  48187. }
  48188. var _I18nVisitor = (function () {
  48189. function _I18nVisitor(_expressionParser, _interpolationConfig) {
  48190. this._expressionParser = _expressionParser;
  48191. this._interpolationConfig = _interpolationConfig;
  48192. }
  48193. _I18nVisitor.prototype.toI18nMessage = function (nodes, meaning, description) {
  48194. this._isIcu = nodes.length == 1 && nodes[0] instanceof __WEBPACK_IMPORTED_MODULE_2__ml_parser_ast__["b" /* Expansion */];
  48195. this._icuDepth = 0;
  48196. this._placeholderRegistry = new __WEBPACK_IMPORTED_MODULE_6__serializers_placeholder__["a" /* PlaceholderRegistry */]();
  48197. this._placeholderToContent = {};
  48198. this._placeholderToIds = {};
  48199. var i18nodes = __WEBPACK_IMPORTED_MODULE_2__ml_parser_ast__["g" /* visitAll */](this, nodes, {});
  48200. return new __WEBPACK_IMPORTED_MODULE_5__i18n_ast__["a" /* Message */](i18nodes, this._placeholderToContent, this._placeholderToIds, meaning, description);
  48201. };
  48202. _I18nVisitor.prototype.visitElement = function (el, context) {
  48203. var children = __WEBPACK_IMPORTED_MODULE_2__ml_parser_ast__["g" /* visitAll */](this, el.children);
  48204. var attrs = {};
  48205. el.attrs.forEach(function (attr) {
  48206. // Do not visit the attributes, translatable ones are top-level ASTs
  48207. attrs[attr.name] = attr.value;
  48208. });
  48209. var isVoid = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__ml_parser_html_tags__["a" /* getHtmlTagDefinition */])(el.name).isVoid;
  48210. var startPhName = this._placeholderRegistry.getStartTagPlaceholderName(el.name, attrs, isVoid);
  48211. this._placeholderToContent[startPhName] = el.sourceSpan.toString();
  48212. var closePhName = '';
  48213. if (!isVoid) {
  48214. closePhName = this._placeholderRegistry.getCloseTagPlaceholderName(el.name);
  48215. this._placeholderToContent[closePhName] = "</" + el.name + ">";
  48216. }
  48217. return new __WEBPACK_IMPORTED_MODULE_5__i18n_ast__["b" /* TagPlaceholder */](el.name, attrs, startPhName, closePhName, children, isVoid, el.sourceSpan);
  48218. };
  48219. _I18nVisitor.prototype.visitAttribute = function (attribute, context) {
  48220. return this._visitTextWithInterpolation(attribute.value, attribute.sourceSpan);
  48221. };
  48222. _I18nVisitor.prototype.visitText = function (text, context) {
  48223. return this._visitTextWithInterpolation(text.value, text.sourceSpan);
  48224. };
  48225. _I18nVisitor.prototype.visitComment = function (comment, context) { return null; };
  48226. _I18nVisitor.prototype.visitExpansion = function (icu, context) {
  48227. var _this = this;
  48228. this._icuDepth++;
  48229. var i18nIcuCases = {};
  48230. var i18nIcu = new __WEBPACK_IMPORTED_MODULE_5__i18n_ast__["c" /* Icu */](icu.switchValue, icu.type, i18nIcuCases, icu.sourceSpan);
  48231. icu.cases.forEach(function (caze) {
  48232. i18nIcuCases[caze.value] = new __WEBPACK_IMPORTED_MODULE_5__i18n_ast__["d" /* Container */](caze.expression.map(function (node) { return node.visit(_this, {}); }), caze.expSourceSpan);
  48233. });
  48234. this._icuDepth--;
  48235. if (this._isIcu || this._icuDepth > 0) {
  48236. // If the message (vs a part of the message) is an ICU message returns it
  48237. return i18nIcu;
  48238. }
  48239. // Else returns a placeholder
  48240. // ICU placeholders should not be replaced with their original content but with the their
  48241. // translations. We need to create a new visitor (they are not re-entrant) to compute the
  48242. // message id.
  48243. // TODO(vicb): add a html.Node -> i18n.Message cache to avoid having to re-create the msg
  48244. var phName = this._placeholderRegistry.getPlaceholderName('ICU', icu.sourceSpan.toString());
  48245. var visitor = new _I18nVisitor(this._expressionParser, this._interpolationConfig);
  48246. this._placeholderToIds[phName] = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__digest__["a" /* digestMessage */])(visitor.toI18nMessage([icu], '', ''));
  48247. return new __WEBPACK_IMPORTED_MODULE_5__i18n_ast__["e" /* IcuPlaceholder */](i18nIcu, phName, icu.sourceSpan);
  48248. };
  48249. _I18nVisitor.prototype.visitExpansionCase = function (icuCase, context) {
  48250. throw new Error('Unreachable code');
  48251. };
  48252. _I18nVisitor.prototype._visitTextWithInterpolation = function (text, sourceSpan) {
  48253. var splitInterpolation = this._expressionParser.splitInterpolation(text, sourceSpan.start.toString(), this._interpolationConfig);
  48254. if (!splitInterpolation) {
  48255. // No expression, return a single text
  48256. return new __WEBPACK_IMPORTED_MODULE_5__i18n_ast__["f" /* Text */](text, sourceSpan);
  48257. }
  48258. // Return a group of text + expressions
  48259. var nodes = [];
  48260. var container = new __WEBPACK_IMPORTED_MODULE_5__i18n_ast__["d" /* Container */](nodes, sourceSpan);
  48261. var _a = this._interpolationConfig, sDelimiter = _a.start, eDelimiter = _a.end;
  48262. for (var i = 0; i < splitInterpolation.strings.length - 1; i++) {
  48263. var expression = splitInterpolation.expressions[i];
  48264. var baseName = _extractPlaceholderName(expression) || 'INTERPOLATION';
  48265. var phName = this._placeholderRegistry.getPlaceholderName(baseName, expression);
  48266. if (splitInterpolation.strings[i].length) {
  48267. // No need to add empty strings
  48268. nodes.push(new __WEBPACK_IMPORTED_MODULE_5__i18n_ast__["f" /* Text */](splitInterpolation.strings[i], sourceSpan));
  48269. }
  48270. nodes.push(new __WEBPACK_IMPORTED_MODULE_5__i18n_ast__["g" /* Placeholder */](expression, phName, sourceSpan));
  48271. this._placeholderToContent[phName] = sDelimiter + expression + eDelimiter;
  48272. }
  48273. // The last index contains no expression
  48274. var lastStringIdx = splitInterpolation.strings.length - 1;
  48275. if (splitInterpolation.strings[lastStringIdx].length) {
  48276. nodes.push(new __WEBPACK_IMPORTED_MODULE_5__i18n_ast__["f" /* Text */](splitInterpolation.strings[lastStringIdx], sourceSpan));
  48277. }
  48278. return container;
  48279. };
  48280. return _I18nVisitor;
  48281. }());
  48282. var _CUSTOM_PH_EXP = /\/\/[\s\S]*i18n[\s\S]*\([\s\S]*ph[\s\S]*=[\s\S]*"([\s\S]*?)"[\s\S]*\)/g;
  48283. function _extractPlaceholderName(input) {
  48284. return input.split(_CUSTOM_PH_EXP)[1];
  48285. }
  48286. //# sourceMappingURL=i18n_parser.js.map
  48287. /***/ },
  48288. /* 452 */
  48289. /***/ function(module, exports, __webpack_require__) {
  48290. "use strict";
  48291. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return PlaceholderRegistry; });
  48292. /**
  48293. * @license
  48294. * Copyright Google Inc. All Rights Reserved.
  48295. *
  48296. * Use of this source code is governed by an MIT-style license that can be
  48297. * found in the LICENSE file at https://angular.io/license
  48298. */
  48299. var TAG_TO_PLACEHOLDER_NAMES = {
  48300. 'A': 'LINK',
  48301. 'B': 'BOLD_TEXT',
  48302. 'BR': 'LINE_BREAK',
  48303. 'EM': 'EMPHASISED_TEXT',
  48304. 'H1': 'HEADING_LEVEL1',
  48305. 'H2': 'HEADING_LEVEL2',
  48306. 'H3': 'HEADING_LEVEL3',
  48307. 'H4': 'HEADING_LEVEL4',
  48308. 'H5': 'HEADING_LEVEL5',
  48309. 'H6': 'HEADING_LEVEL6',
  48310. 'HR': 'HORIZONTAL_RULE',
  48311. 'I': 'ITALIC_TEXT',
  48312. 'LI': 'LIST_ITEM',
  48313. 'LINK': 'MEDIA_LINK',
  48314. 'OL': 'ORDERED_LIST',
  48315. 'P': 'PARAGRAPH',
  48316. 'Q': 'QUOTATION',
  48317. 'S': 'STRIKETHROUGH_TEXT',
  48318. 'SMALL': 'SMALL_TEXT',
  48319. 'SUB': 'SUBSTRIPT',
  48320. 'SUP': 'SUPERSCRIPT',
  48321. 'TBODY': 'TABLE_BODY',
  48322. 'TD': 'TABLE_CELL',
  48323. 'TFOOT': 'TABLE_FOOTER',
  48324. 'TH': 'TABLE_HEADER_CELL',
  48325. 'THEAD': 'TABLE_HEADER',
  48326. 'TR': 'TABLE_ROW',
  48327. 'TT': 'MONOSPACED_TEXT',
  48328. 'U': 'UNDERLINED_TEXT',
  48329. 'UL': 'UNORDERED_LIST',
  48330. };
  48331. /**
  48332. * Creates unique names for placeholder with different content
  48333. *
  48334. * @internal
  48335. */
  48336. var PlaceholderRegistry = (function () {
  48337. function PlaceholderRegistry() {
  48338. // Count the occurrence of the base name top generate a unique name
  48339. this._placeHolderNameCounts = {};
  48340. // Maps signature to placeholder names
  48341. this._signatureToName = {};
  48342. }
  48343. PlaceholderRegistry.prototype.getStartTagPlaceholderName = function (tag, attrs, isVoid) {
  48344. var signature = this._hashTag(tag, attrs, isVoid);
  48345. if (this._signatureToName[signature]) {
  48346. return this._signatureToName[signature];
  48347. }
  48348. var upperTag = tag.toUpperCase();
  48349. var baseName = TAG_TO_PLACEHOLDER_NAMES[upperTag] || "TAG_" + upperTag;
  48350. var name = this._generateUniqueName(isVoid ? baseName : "START_" + baseName);
  48351. this._signatureToName[signature] = name;
  48352. return name;
  48353. };
  48354. PlaceholderRegistry.prototype.getCloseTagPlaceholderName = function (tag) {
  48355. var signature = this._hashClosingTag(tag);
  48356. if (this._signatureToName[signature]) {
  48357. return this._signatureToName[signature];
  48358. }
  48359. var upperTag = tag.toUpperCase();
  48360. var baseName = TAG_TO_PLACEHOLDER_NAMES[upperTag] || "TAG_" + upperTag;
  48361. var name = this._generateUniqueName("CLOSE_" + baseName);
  48362. this._signatureToName[signature] = name;
  48363. return name;
  48364. };
  48365. PlaceholderRegistry.prototype.getPlaceholderName = function (name, content) {
  48366. var upperName = name.toUpperCase();
  48367. var signature = "PH: " + upperName + "=" + content;
  48368. if (this._signatureToName[signature]) {
  48369. return this._signatureToName[signature];
  48370. }
  48371. var uniqueName = this._generateUniqueName(upperName);
  48372. this._signatureToName[signature] = uniqueName;
  48373. return uniqueName;
  48374. };
  48375. // Generate a hash for a tag - does not take attribute order into account
  48376. PlaceholderRegistry.prototype._hashTag = function (tag, attrs, isVoid) {
  48377. var start = "<" + tag;
  48378. var strAttrs = Object.keys(attrs).sort().map(function (name) { return (" " + name + "=" + attrs[name]); }).join('');
  48379. var end = isVoid ? '/>' : "></" + tag + ">";
  48380. return start + strAttrs + end;
  48381. };
  48382. PlaceholderRegistry.prototype._hashClosingTag = function (tag) { return this._hashTag("/" + tag, {}, false); };
  48383. PlaceholderRegistry.prototype._generateUniqueName = function (base) {
  48384. var name = base;
  48385. var next = this._placeHolderNameCounts[name];
  48386. if (!next) {
  48387. next = 1;
  48388. }
  48389. else {
  48390. name += "_" + next;
  48391. next++;
  48392. }
  48393. this._placeHolderNameCounts[base] = next;
  48394. return name;
  48395. };
  48396. return PlaceholderRegistry;
  48397. }());
  48398. //# sourceMappingURL=placeholder.js.map
  48399. /***/ },
  48400. /* 453 */
  48401. /***/ function(module, exports, __webpack_require__) {
  48402. "use strict";
  48403. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return TranslationBundle; });
  48404. /**
  48405. * @license
  48406. * Copyright Google Inc. All Rights Reserved.
  48407. *
  48408. * Use of this source code is governed by an MIT-style license that can be
  48409. * found in the LICENSE file at https://angular.io/license
  48410. */
  48411. /**
  48412. * A container for translated messages
  48413. */
  48414. var TranslationBundle = (function () {
  48415. function TranslationBundle(_messageMap) {
  48416. if (_messageMap === void 0) { _messageMap = {}; }
  48417. this._messageMap = _messageMap;
  48418. }
  48419. TranslationBundle.load = function (content, url, messageBundle, serializer) {
  48420. return new TranslationBundle(serializer.load(content, url, messageBundle));
  48421. };
  48422. TranslationBundle.prototype.get = function (id) { return this._messageMap[id]; };
  48423. TranslationBundle.prototype.has = function (id) { return id in this._messageMap; };
  48424. return TranslationBundle;
  48425. }());
  48426. //# sourceMappingURL=translation_bundle.js.map
  48427. /***/ },
  48428. /* 454 */
  48429. /***/ function(module, exports, __webpack_require__) {
  48430. "use strict";
  48431. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__compiler__ = __webpack_require__(449);
  48432. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ml_parser_interpolation_config__ = __webpack_require__(49);
  48433. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__schema_element_schema_registry__ = __webpack_require__(105);
  48434. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__i18n_index__ = __webpack_require__(280);
  48435. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__ = __webpack_require__(51);
  48436. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__private_export__ = __webpack_require__(464);
  48437. /* harmony reexport (binding) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["c"]; });
  48438. /* harmony reexport (binding) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["d"]; });
  48439. /* harmony reexport (binding) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["e"]; });
  48440. /* harmony reexport (binding) */ __webpack_require__.d(exports, "f", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["f"]; });
  48441. /* harmony reexport (binding) */ __webpack_require__.d(exports, "g", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["g"]; });
  48442. /* harmony reexport (binding) */ __webpack_require__.d(exports, "h", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["h"]; });
  48443. /* harmony reexport (binding) */ __webpack_require__.d(exports, "i", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["i"]; });
  48444. /* harmony reexport (binding) */ __webpack_require__.d(exports, "j", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["j"]; });
  48445. /* harmony reexport (binding) */ __webpack_require__.d(exports, "k", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["k"]; });
  48446. /* harmony reexport (binding) */ __webpack_require__.d(exports, "l", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["l"]; });
  48447. /* harmony reexport (binding) */ __webpack_require__.d(exports, "m", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["m"]; });
  48448. /* harmony reexport (binding) */ __webpack_require__.d(exports, "n", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["n"]; });
  48449. /* harmony reexport (binding) */ __webpack_require__.d(exports, "o", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["o"]; });
  48450. /* harmony reexport (binding) */ __webpack_require__.d(exports, "p", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["p"]; });
  48451. /* harmony reexport (binding) */ __webpack_require__.d(exports, "q", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["q"]; });
  48452. /* harmony reexport (binding) */ __webpack_require__.d(exports, "r", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["r"]; });
  48453. /* harmony reexport (binding) */ __webpack_require__.d(exports, "s", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["s"]; });
  48454. /* harmony reexport (binding) */ __webpack_require__.d(exports, "t", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["t"]; });
  48455. /* harmony reexport (binding) */ __webpack_require__.d(exports, "u", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["u"]; });
  48456. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["a"]; });
  48457. /* harmony reexport (binding) */ __webpack_require__.d(exports, "v", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["v"]; });
  48458. /* harmony reexport (binding) */ __webpack_require__.d(exports, "w", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["w"]; });
  48459. /* harmony reexport (binding) */ __webpack_require__.d(exports, "x", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["x"]; });
  48460. /* harmony reexport (binding) */ __webpack_require__.d(exports, "y", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["y"]; });
  48461. /* harmony reexport (binding) */ __webpack_require__.d(exports, "z", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["z"]; });
  48462. /* harmony reexport (binding) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_0__compiler__["b"]; });
  48463. /* harmony reexport (binding) */ __webpack_require__.d(exports, "A", function() { return __WEBPACK_IMPORTED_MODULE_1__ml_parser_interpolation_config__["b"]; });
  48464. /* harmony reexport (binding) */ __webpack_require__.d(exports, "B", function() { return __WEBPACK_IMPORTED_MODULE_1__ml_parser_interpolation_config__["a"]; });
  48465. /* harmony reexport (binding) */ __webpack_require__.d(exports, "C", function() { return __WEBPACK_IMPORTED_MODULE_2__schema_element_schema_registry__["a"]; });
  48466. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "D", function() { return __WEBPACK_IMPORTED_MODULE_3__i18n_index__["a"]; });
  48467. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "E", function() { return __WEBPACK_IMPORTED_MODULE_3__i18n_index__["b"]; });
  48468. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "F", function() { return __WEBPACK_IMPORTED_MODULE_3__i18n_index__["c"]; });
  48469. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "G", function() { return __WEBPACK_IMPORTED_MODULE_3__i18n_index__["d"]; });
  48470. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "H", function() { return __WEBPACK_IMPORTED_MODULE_3__i18n_index__["e"]; });
  48471. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "I", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["e"]; });
  48472. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "J", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["d"]; });
  48473. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "K", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["f"]; });
  48474. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "L", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["k"]; });
  48475. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "M", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["m"]; });
  48476. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "N", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["n"]; });
  48477. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "O", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["j"]; });
  48478. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "P", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["i"]; });
  48479. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "Q", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["h"]; });
  48480. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "R", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["p"]; });
  48481. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "S", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["o"]; });
  48482. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "T", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["b"]; });
  48483. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "U", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["a"]; });
  48484. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "V", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["g"]; });
  48485. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "W", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["l"]; });
  48486. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "X", function() { return __WEBPACK_IMPORTED_MODULE_4__template_parser_template_ast__["c"]; });
  48487. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "Y", function() { return __WEBPACK_IMPORTED_MODULE_5__private_export__["a"]; });
  48488. /**
  48489. * @license
  48490. * Copyright Google Inc. All Rights Reserved.
  48491. *
  48492. * Use of this source code is governed by an MIT-style license that can be
  48493. * found in the LICENSE file at https://angular.io/license
  48494. */
  48495. /**
  48496. * @module
  48497. * @description
  48498. * Starting point to import all compiler APIs.
  48499. */
  48500. //# sourceMappingURL=index.js.map
  48501. /***/ },
  48502. /* 455 */
  48503. /***/ function(module, exports, __webpack_require__) {
  48504. "use strict";
  48505. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  48506. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(13);
  48507. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__private_import_core__ = __webpack_require__(20);
  48508. /* harmony export (immutable) */ exports["a"] = hasLifecycleHook;
  48509. /**
  48510. * @license
  48511. * Copyright Google Inc. All Rights Reserved.
  48512. *
  48513. * Use of this source code is governed by an MIT-style license that can be
  48514. * found in the LICENSE file at https://angular.io/license
  48515. */
  48516. var LIFECYCLE_INTERFACES = __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].createFromPairs([
  48517. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].OnInit, __WEBPACK_IMPORTED_MODULE_0__angular_core__["OnInit"]],
  48518. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].OnDestroy, __WEBPACK_IMPORTED_MODULE_0__angular_core__["OnDestroy"]],
  48519. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].DoCheck, __WEBPACK_IMPORTED_MODULE_0__angular_core__["DoCheck"]],
  48520. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].OnChanges, __WEBPACK_IMPORTED_MODULE_0__angular_core__["OnChanges"]],
  48521. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].AfterContentInit, __WEBPACK_IMPORTED_MODULE_0__angular_core__["AfterContentInit"]],
  48522. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].AfterContentChecked, __WEBPACK_IMPORTED_MODULE_0__angular_core__["AfterContentChecked"]],
  48523. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].AfterViewInit, __WEBPACK_IMPORTED_MODULE_0__angular_core__["AfterViewInit"]],
  48524. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].AfterViewChecked, __WEBPACK_IMPORTED_MODULE_0__angular_core__["AfterViewChecked"]],
  48525. ]);
  48526. var LIFECYCLE_PROPS = __WEBPACK_IMPORTED_MODULE_1__facade_collection__["c" /* MapWrapper */].createFromPairs([
  48527. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].OnInit, 'ngOnInit'],
  48528. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].OnDestroy, 'ngOnDestroy'],
  48529. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].DoCheck, 'ngDoCheck'],
  48530. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].OnChanges, 'ngOnChanges'],
  48531. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].AfterContentInit, 'ngAfterContentInit'],
  48532. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].AfterContentChecked, 'ngAfterContentChecked'],
  48533. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].AfterViewInit, 'ngAfterViewInit'],
  48534. [__WEBPACK_IMPORTED_MODULE_2__private_import_core__["X" /* LifecycleHooks */].AfterViewChecked, 'ngAfterViewChecked'],
  48535. ]);
  48536. function hasLifecycleHook(hook, token) {
  48537. var lcInterface = LIFECYCLE_INTERFACES.get(hook);
  48538. var lcProp = LIFECYCLE_PROPS.get(hook);
  48539. return __WEBPACK_IMPORTED_MODULE_2__private_import_core__["Q" /* reflector */].hasLifecycleHook(token, lcInterface, lcProp);
  48540. }
  48541. //# sourceMappingURL=lifecycle_reflector.js.map
  48542. /***/ },
  48543. /* 456 */
  48544. /***/ function(module, exports, __webpack_require__) {
  48545. "use strict";
  48546. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__parse_util__ = __webpack_require__(50);
  48547. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ast__ = __webpack_require__(66);
  48548. /* harmony export (immutable) */ exports["a"] = expandNodes;
  48549. /* unused harmony export ExpansionResult */
  48550. /* unused harmony export ExpansionError */
  48551. /**
  48552. * @license
  48553. * Copyright Google Inc. All Rights Reserved.
  48554. *
  48555. * Use of this source code is governed by an MIT-style license that can be
  48556. * found in the LICENSE file at https://angular.io/license
  48557. */
  48558. var __extends = (this && this.__extends) || function (d, b) {
  48559. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  48560. function __() { this.constructor = d; }
  48561. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  48562. };
  48563. // http://cldr.unicode.org/index/cldr-spec/plural-rules
  48564. var PLURAL_CASES = ['zero', 'one', 'two', 'few', 'many', 'other'];
  48565. /**
  48566. * Expands special forms into elements.
  48567. *
  48568. * For example,
  48569. *
  48570. * ```
  48571. * { messages.length, plural,
  48572. * =0 {zero}
  48573. * =1 {one}
  48574. * other {more than one}
  48575. * }
  48576. * ```
  48577. *
  48578. * will be expanded into
  48579. *
  48580. * ```
  48581. * <ng-container [ngPlural]="messages.length">
  48582. * <template ngPluralCase="=0">zero</ng-container>
  48583. * <template ngPluralCase="=1">one</ng-container>
  48584. * <template ngPluralCase="other">more than one</ng-container>
  48585. * </ng-container>
  48586. * ```
  48587. */
  48588. function expandNodes(nodes) {
  48589. var expander = new _Expander();
  48590. return new ExpansionResult(__WEBPACK_IMPORTED_MODULE_1__ast__["g" /* visitAll */](expander, nodes), expander.isExpanded, expander.errors);
  48591. }
  48592. var ExpansionResult = (function () {
  48593. function ExpansionResult(nodes, expanded, errors) {
  48594. this.nodes = nodes;
  48595. this.expanded = expanded;
  48596. this.errors = errors;
  48597. }
  48598. return ExpansionResult;
  48599. }());
  48600. var ExpansionError = (function (_super) {
  48601. __extends(ExpansionError, _super);
  48602. function ExpansionError(span, errorMsg) {
  48603. _super.call(this, span, errorMsg);
  48604. }
  48605. return ExpansionError;
  48606. }(__WEBPACK_IMPORTED_MODULE_0__parse_util__["a" /* ParseError */]));
  48607. /**
  48608. * Expand expansion forms (plural, select) to directives
  48609. *
  48610. * @internal
  48611. */
  48612. var _Expander = (function () {
  48613. function _Expander() {
  48614. this.isExpanded = false;
  48615. this.errors = [];
  48616. }
  48617. _Expander.prototype.visitElement = function (element, context) {
  48618. return new __WEBPACK_IMPORTED_MODULE_1__ast__["e" /* Element */](element.name, element.attrs, __WEBPACK_IMPORTED_MODULE_1__ast__["g" /* visitAll */](this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan);
  48619. };
  48620. _Expander.prototype.visitAttribute = function (attribute, context) { return attribute; };
  48621. _Expander.prototype.visitText = function (text, context) { return text; };
  48622. _Expander.prototype.visitComment = function (comment, context) { return comment; };
  48623. _Expander.prototype.visitExpansion = function (icu, context) {
  48624. this.isExpanded = true;
  48625. return icu.type == 'plural' ? _expandPluralForm(icu, this.errors) :
  48626. _expandDefaultForm(icu, this.errors);
  48627. };
  48628. _Expander.prototype.visitExpansionCase = function (icuCase, context) {
  48629. throw new Error('Should not be reached');
  48630. };
  48631. return _Expander;
  48632. }());
  48633. function _expandPluralForm(ast, errors) {
  48634. var children = ast.cases.map(function (c) {
  48635. if (PLURAL_CASES.indexOf(c.value) == -1 && !c.value.match(/^=\d+$/)) {
  48636. errors.push(new ExpansionError(c.valueSourceSpan, "Plural cases should be \"=<number>\" or one of " + PLURAL_CASES.join(", ")));
  48637. }
  48638. var expansionResult = expandNodes(c.expression);
  48639. errors.push.apply(errors, expansionResult.errors);
  48640. return new __WEBPACK_IMPORTED_MODULE_1__ast__["e" /* Element */]("template", [new __WEBPACK_IMPORTED_MODULE_1__ast__["f" /* Attribute */]('ngPluralCase', "" + c.value, c.valueSourceSpan)], expansionResult.customNodesStorage, c.sourceSpan, c.sourceSpan, c.sourceSpan);
  48641. });
  48642. var switchAttr = new __WEBPACK_IMPORTED_MODULE_1__ast__["f" /* Attribute */]('[ngPlural]', ast.switchValue, ast.switchValueSourceSpan);
  48643. return new __WEBPACK_IMPORTED_MODULE_1__ast__["e" /* Element */]('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);
  48644. }
  48645. function _expandDefaultForm(ast, errors) {
  48646. var children = ast.cases.map(function (c) {
  48647. var expansionResult = expandNodes(c.expression);
  48648. errors.push.apply(errors, expansionResult.errors);
  48649. return new __WEBPACK_IMPORTED_MODULE_1__ast__["e" /* Element */]("template", [new __WEBPACK_IMPORTED_MODULE_1__ast__["f" /* Attribute */]('ngSwitchCase', "" + c.value, c.valueSourceSpan)], expansionResult.customNodesStorage, c.sourceSpan, c.sourceSpan, c.sourceSpan);
  48650. });
  48651. var switchAttr = new __WEBPACK_IMPORTED_MODULE_1__ast__["f" /* Attribute */]('[ngSwitch]', ast.switchValue, ast.switchValueSourceSpan);
  48652. return new __WEBPACK_IMPORTED_MODULE_1__ast__["e" /* Element */]('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);
  48653. }
  48654. //# sourceMappingURL=icu_ast_expander.js.map
  48655. /***/ },
  48656. /* 457 */
  48657. /***/ function(module, exports, __webpack_require__) {
  48658. "use strict";
  48659. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__chars__ = __webpack_require__(182);
  48660. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__parse_util__ = __webpack_require__(50);
  48661. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__interpolation_config__ = __webpack_require__(49);
  48662. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__tags__ = __webpack_require__(87);
  48663. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return TokenType; });
  48664. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return Token; });
  48665. /* unused harmony export TokenError */
  48666. /* unused harmony export TokenizeResult */
  48667. /* harmony export (immutable) */ exports["a"] = tokenize;
  48668. /**
  48669. * @license
  48670. * Copyright Google Inc. All Rights Reserved.
  48671. *
  48672. * Use of this source code is governed by an MIT-style license that can be
  48673. * found in the LICENSE file at https://angular.io/license
  48674. */
  48675. var __extends = (this && this.__extends) || function (d, b) {
  48676. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  48677. function __() { this.constructor = d; }
  48678. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  48679. };
  48680. var TokenType;
  48681. (function (TokenType) {
  48682. TokenType[TokenType["TAG_OPEN_START"] = 0] = "TAG_OPEN_START";
  48683. TokenType[TokenType["TAG_OPEN_END"] = 1] = "TAG_OPEN_END";
  48684. TokenType[TokenType["TAG_OPEN_END_VOID"] = 2] = "TAG_OPEN_END_VOID";
  48685. TokenType[TokenType["TAG_CLOSE"] = 3] = "TAG_CLOSE";
  48686. TokenType[TokenType["TEXT"] = 4] = "TEXT";
  48687. TokenType[TokenType["ESCAPABLE_RAW_TEXT"] = 5] = "ESCAPABLE_RAW_TEXT";
  48688. TokenType[TokenType["RAW_TEXT"] = 6] = "RAW_TEXT";
  48689. TokenType[TokenType["COMMENT_START"] = 7] = "COMMENT_START";
  48690. TokenType[TokenType["COMMENT_END"] = 8] = "COMMENT_END";
  48691. TokenType[TokenType["CDATA_START"] = 9] = "CDATA_START";
  48692. TokenType[TokenType["CDATA_END"] = 10] = "CDATA_END";
  48693. TokenType[TokenType["ATTR_NAME"] = 11] = "ATTR_NAME";
  48694. TokenType[TokenType["ATTR_VALUE"] = 12] = "ATTR_VALUE";
  48695. TokenType[TokenType["DOC_TYPE"] = 13] = "DOC_TYPE";
  48696. TokenType[TokenType["EXPANSION_FORM_START"] = 14] = "EXPANSION_FORM_START";
  48697. TokenType[TokenType["EXPANSION_CASE_VALUE"] = 15] = "EXPANSION_CASE_VALUE";
  48698. TokenType[TokenType["EXPANSION_CASE_EXP_START"] = 16] = "EXPANSION_CASE_EXP_START";
  48699. TokenType[TokenType["EXPANSION_CASE_EXP_END"] = 17] = "EXPANSION_CASE_EXP_END";
  48700. TokenType[TokenType["EXPANSION_FORM_END"] = 18] = "EXPANSION_FORM_END";
  48701. TokenType[TokenType["EOF"] = 19] = "EOF";
  48702. })(TokenType || (TokenType = {}));
  48703. var Token = (function () {
  48704. function Token(type, parts, sourceSpan) {
  48705. this.type = type;
  48706. this.parts = parts;
  48707. this.sourceSpan = sourceSpan;
  48708. }
  48709. return Token;
  48710. }());
  48711. var TokenError = (function (_super) {
  48712. __extends(TokenError, _super);
  48713. function TokenError(errorMsg, tokenType, span) {
  48714. _super.call(this, span, errorMsg);
  48715. this.tokenType = tokenType;
  48716. }
  48717. return TokenError;
  48718. }(__WEBPACK_IMPORTED_MODULE_1__parse_util__["a" /* ParseError */]));
  48719. var TokenizeResult = (function () {
  48720. function TokenizeResult(tokens, errors) {
  48721. this.tokens = tokens;
  48722. this.errors = errors;
  48723. }
  48724. return TokenizeResult;
  48725. }());
  48726. function tokenize(source, url, getTagDefinition, tokenizeExpansionForms, interpolationConfig) {
  48727. if (tokenizeExpansionForms === void 0) { tokenizeExpansionForms = false; }
  48728. if (interpolationConfig === void 0) { interpolationConfig = __WEBPACK_IMPORTED_MODULE_2__interpolation_config__["a" /* DEFAULT_INTERPOLATION_CONFIG */]; }
  48729. return new _Tokenizer(new __WEBPACK_IMPORTED_MODULE_1__parse_util__["b" /* ParseSourceFile */](source, url), getTagDefinition, tokenizeExpansionForms, interpolationConfig)
  48730. .tokenize();
  48731. }
  48732. var _CR_OR_CRLF_REGEXP = /\r\n?/g;
  48733. function _unexpectedCharacterErrorMsg(charCode) {
  48734. var char = charCode === __WEBPACK_IMPORTED_MODULE_0__chars__["a" /* $EOF */] ? 'EOF' : String.fromCharCode(charCode);
  48735. return "Unexpected character \"" + char + "\"";
  48736. }
  48737. function _unknownEntityErrorMsg(entitySrc) {
  48738. return "Unknown entity \"" + entitySrc + "\" - use the \"&#<decimal>;\" or \"&#x<hex>;\" syntax";
  48739. }
  48740. var _ControlFlowError = (function () {
  48741. function _ControlFlowError(error) {
  48742. this.error = error;
  48743. }
  48744. return _ControlFlowError;
  48745. }());
  48746. // See http://www.w3.org/TR/html51/syntax.html#writing
  48747. var _Tokenizer = (function () {
  48748. /**
  48749. * @param _file The html source
  48750. * @param _getTagDefinition
  48751. * @param _tokenizeIcu Whether to tokenize ICU messages (considered as text node when false)
  48752. * @param _interpolationConfig
  48753. */
  48754. function _Tokenizer(_file, _getTagDefinition, _tokenizeIcu, _interpolationConfig) {
  48755. if (_interpolationConfig === void 0) { _interpolationConfig = __WEBPACK_IMPORTED_MODULE_2__interpolation_config__["a" /* DEFAULT_INTERPOLATION_CONFIG */]; }
  48756. this._file = _file;
  48757. this._getTagDefinition = _getTagDefinition;
  48758. this._tokenizeIcu = _tokenizeIcu;
  48759. this._interpolationConfig = _interpolationConfig;
  48760. // Note: this is always lowercase!
  48761. this._peek = -1;
  48762. this._nextPeek = -1;
  48763. this._index = -1;
  48764. this._line = 0;
  48765. this._column = -1;
  48766. this._expansionCaseStack = [];
  48767. this._inInterpolation = false;
  48768. this.tokens = [];
  48769. this.errors = [];
  48770. this._input = _file.content;
  48771. this._length = _file.content.length;
  48772. this._advance();
  48773. }
  48774. _Tokenizer.prototype._processCarriageReturns = function (content) {
  48775. // http://www.w3.org/TR/html5/syntax.html#preprocessing-the-input-stream
  48776. // In order to keep the original position in the source, we can not
  48777. // pre-process it.
  48778. // Instead CRs are processed right before instantiating the tokens.
  48779. return content.replace(_CR_OR_CRLF_REGEXP, '\n');
  48780. };
  48781. _Tokenizer.prototype.tokenize = function () {
  48782. while (this._peek !== __WEBPACK_IMPORTED_MODULE_0__chars__["a" /* $EOF */]) {
  48783. var start = this._getLocation();
  48784. try {
  48785. if (this._attemptCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["x" /* $LT */])) {
  48786. if (this._attemptCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["A" /* $BANG */])) {
  48787. if (this._attemptCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["i" /* $LBRACKET */])) {
  48788. this._consumeCdata(start);
  48789. }
  48790. else if (this._attemptCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["r" /* $MINUS */])) {
  48791. this._consumeComment(start);
  48792. }
  48793. else {
  48794. this._consumeDocType(start);
  48795. }
  48796. }
  48797. else if (this._attemptCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["t" /* $SLASH */])) {
  48798. this._consumeTagClose(start);
  48799. }
  48800. else {
  48801. this._consumeTagOpen(start);
  48802. }
  48803. }
  48804. else if (!this._tokenizeIcu || !this._tokenizeExpansionForm()) {
  48805. this._consumeText();
  48806. }
  48807. }
  48808. catch (e) {
  48809. if (e instanceof _ControlFlowError) {
  48810. this.errors.push(e.error);
  48811. }
  48812. else {
  48813. throw e;
  48814. }
  48815. }
  48816. }
  48817. this._beginToken(TokenType.EOF);
  48818. this._endToken([]);
  48819. return new TokenizeResult(mergeTextTokens(this.tokens), this.errors);
  48820. };
  48821. /**
  48822. * @returns {boolean} whether an ICU token has been created
  48823. * @internal
  48824. */
  48825. _Tokenizer.prototype._tokenizeExpansionForm = function () {
  48826. if (isExpansionFormStart(this._input, this._index, this._interpolationConfig)) {
  48827. this._consumeExpansionFormStart();
  48828. return true;
  48829. }
  48830. if (isExpansionCaseStart(this._peek) && this._isInExpansionForm()) {
  48831. this._consumeExpansionCaseStart();
  48832. return true;
  48833. }
  48834. if (this._peek === __WEBPACK_IMPORTED_MODULE_0__chars__["h" /* $RBRACE */]) {
  48835. if (this._isInExpansionCase()) {
  48836. this._consumeExpansionCaseEnd();
  48837. return true;
  48838. }
  48839. if (this._isInExpansionForm()) {
  48840. this._consumeExpansionFormEnd();
  48841. return true;
  48842. }
  48843. }
  48844. return false;
  48845. };
  48846. _Tokenizer.prototype._getLocation = function () {
  48847. return new __WEBPACK_IMPORTED_MODULE_1__parse_util__["c" /* ParseLocation */](this._file, this._index, this._line, this._column);
  48848. };
  48849. _Tokenizer.prototype._getSpan = function (start, end) {
  48850. if (start === void 0) { start = this._getLocation(); }
  48851. if (end === void 0) { end = this._getLocation(); }
  48852. return new __WEBPACK_IMPORTED_MODULE_1__parse_util__["d" /* ParseSourceSpan */](start, end);
  48853. };
  48854. _Tokenizer.prototype._beginToken = function (type, start) {
  48855. if (start === void 0) { start = this._getLocation(); }
  48856. this._currentTokenStart = start;
  48857. this._currentTokenType = type;
  48858. };
  48859. _Tokenizer.prototype._endToken = function (parts, end) {
  48860. if (end === void 0) { end = this._getLocation(); }
  48861. var token = new Token(this._currentTokenType, parts, new __WEBPACK_IMPORTED_MODULE_1__parse_util__["d" /* ParseSourceSpan */](this._currentTokenStart, end));
  48862. this.tokens.push(token);
  48863. this._currentTokenStart = null;
  48864. this._currentTokenType = null;
  48865. return token;
  48866. };
  48867. _Tokenizer.prototype._createError = function (msg, span) {
  48868. if (this._isInExpansionForm()) {
  48869. msg += " (Do you have an unescaped \"{\" in your template? Use \"{{ '{' }}\") to escape it.)";
  48870. }
  48871. var error = new TokenError(msg, this._currentTokenType, span);
  48872. this._currentTokenStart = null;
  48873. this._currentTokenType = null;
  48874. return new _ControlFlowError(error);
  48875. };
  48876. _Tokenizer.prototype._advance = function () {
  48877. if (this._index >= this._length) {
  48878. throw this._createError(_unexpectedCharacterErrorMsg(__WEBPACK_IMPORTED_MODULE_0__chars__["a" /* $EOF */]), this._getSpan());
  48879. }
  48880. if (this._peek === __WEBPACK_IMPORTED_MODULE_0__chars__["S" /* $LF */]) {
  48881. this._line++;
  48882. this._column = 0;
  48883. }
  48884. else if (this._peek !== __WEBPACK_IMPORTED_MODULE_0__chars__["S" /* $LF */] && this._peek !== __WEBPACK_IMPORTED_MODULE_0__chars__["W" /* $CR */]) {
  48885. this._column++;
  48886. }
  48887. this._index++;
  48888. this._peek = this._index >= this._length ? __WEBPACK_IMPORTED_MODULE_0__chars__["a" /* $EOF */] : this._input.charCodeAt(this._index);
  48889. this._nextPeek =
  48890. this._index + 1 >= this._length ? __WEBPACK_IMPORTED_MODULE_0__chars__["a" /* $EOF */] : this._input.charCodeAt(this._index + 1);
  48891. };
  48892. _Tokenizer.prototype._attemptCharCode = function (charCode) {
  48893. if (this._peek === charCode) {
  48894. this._advance();
  48895. return true;
  48896. }
  48897. return false;
  48898. };
  48899. _Tokenizer.prototype._attemptCharCodeCaseInsensitive = function (charCode) {
  48900. if (compareCharCodeCaseInsensitive(this._peek, charCode)) {
  48901. this._advance();
  48902. return true;
  48903. }
  48904. return false;
  48905. };
  48906. _Tokenizer.prototype._requireCharCode = function (charCode) {
  48907. var location = this._getLocation();
  48908. if (!this._attemptCharCode(charCode)) {
  48909. throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan(location, location));
  48910. }
  48911. };
  48912. _Tokenizer.prototype._attemptStr = function (chars) {
  48913. var len = chars.length;
  48914. if (this._index + len > this._length) {
  48915. return false;
  48916. }
  48917. var initialPosition = this._savePosition();
  48918. for (var i = 0; i < len; i++) {
  48919. if (!this._attemptCharCode(chars.charCodeAt(i))) {
  48920. // If attempting to parse the string fails, we want to reset the parser
  48921. // to where it was before the attempt
  48922. this._restorePosition(initialPosition);
  48923. return false;
  48924. }
  48925. }
  48926. return true;
  48927. };
  48928. _Tokenizer.prototype._attemptStrCaseInsensitive = function (chars) {
  48929. for (var i = 0; i < chars.length; i++) {
  48930. if (!this._attemptCharCodeCaseInsensitive(chars.charCodeAt(i))) {
  48931. return false;
  48932. }
  48933. }
  48934. return true;
  48935. };
  48936. _Tokenizer.prototype._requireStr = function (chars) {
  48937. var location = this._getLocation();
  48938. if (!this._attemptStr(chars)) {
  48939. throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan(location));
  48940. }
  48941. };
  48942. _Tokenizer.prototype._attemptCharCodeUntilFn = function (predicate) {
  48943. while (!predicate(this._peek)) {
  48944. this._advance();
  48945. }
  48946. };
  48947. _Tokenizer.prototype._requireCharCodeUntilFn = function (predicate, len) {
  48948. var start = this._getLocation();
  48949. this._attemptCharCodeUntilFn(predicate);
  48950. if (this._index - start.offset < len) {
  48951. throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan(start, start));
  48952. }
  48953. };
  48954. _Tokenizer.prototype._attemptUntilChar = function (char) {
  48955. while (this._peek !== char) {
  48956. this._advance();
  48957. }
  48958. };
  48959. _Tokenizer.prototype._readChar = function (decodeEntities) {
  48960. if (decodeEntities && this._peek === __WEBPACK_IMPORTED_MODULE_0__chars__["B" /* $AMPERSAND */]) {
  48961. return this._decodeEntity();
  48962. }
  48963. else {
  48964. var index = this._index;
  48965. this._advance();
  48966. return this._input[index];
  48967. }
  48968. };
  48969. _Tokenizer.prototype._decodeEntity = function () {
  48970. var start = this._getLocation();
  48971. this._advance();
  48972. if (this._attemptCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["p" /* $HASH */])) {
  48973. var isHex = this._attemptCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["_1" /* $x */]) || this._attemptCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["_2" /* $X */]);
  48974. var numberStart = this._getLocation().offset;
  48975. this._attemptCharCodeUntilFn(isDigitEntityEnd);
  48976. if (this._peek != __WEBPACK_IMPORTED_MODULE_0__chars__["m" /* $SEMICOLON */]) {
  48977. throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan());
  48978. }
  48979. this._advance();
  48980. var strNum = this._input.substring(numberStart, this._index - 1);
  48981. try {
  48982. var charCode = parseInt(strNum, isHex ? 16 : 10);
  48983. return String.fromCharCode(charCode);
  48984. }
  48985. catch (e) {
  48986. var entity = this._input.substring(start.offset + 1, this._index - 1);
  48987. throw this._createError(_unknownEntityErrorMsg(entity), this._getSpan(start));
  48988. }
  48989. }
  48990. else {
  48991. var startPosition = this._savePosition();
  48992. this._attemptCharCodeUntilFn(isNamedEntityEnd);
  48993. if (this._peek != __WEBPACK_IMPORTED_MODULE_0__chars__["m" /* $SEMICOLON */]) {
  48994. this._restorePosition(startPosition);
  48995. return '&';
  48996. }
  48997. this._advance();
  48998. var name_1 = this._input.substring(start.offset + 1, this._index - 1);
  48999. var char = __WEBPACK_IMPORTED_MODULE_3__tags__["b" /* NAMED_ENTITIES */][name_1];
  49000. if (!char) {
  49001. throw this._createError(_unknownEntityErrorMsg(name_1), this._getSpan(start));
  49002. }
  49003. return char;
  49004. }
  49005. };
  49006. _Tokenizer.prototype._consumeRawText = function (decodeEntities, firstCharOfEnd, attemptEndRest) {
  49007. var tagCloseStart;
  49008. var textStart = this._getLocation();
  49009. this._beginToken(decodeEntities ? TokenType.ESCAPABLE_RAW_TEXT : TokenType.RAW_TEXT, textStart);
  49010. var parts = [];
  49011. while (true) {
  49012. tagCloseStart = this._getLocation();
  49013. if (this._attemptCharCode(firstCharOfEnd) && attemptEndRest()) {
  49014. break;
  49015. }
  49016. if (this._index > tagCloseStart.offset) {
  49017. // add the characters consumed by the previous if statement to the output
  49018. parts.push(this._input.substring(tagCloseStart.offset, this._index));
  49019. }
  49020. while (this._peek !== firstCharOfEnd) {
  49021. parts.push(this._readChar(decodeEntities));
  49022. }
  49023. }
  49024. return this._endToken([this._processCarriageReturns(parts.join(''))], tagCloseStart);
  49025. };
  49026. _Tokenizer.prototype._consumeComment = function (start) {
  49027. var _this = this;
  49028. this._beginToken(TokenType.COMMENT_START, start);
  49029. this._requireCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["r" /* $MINUS */]);
  49030. this._endToken([]);
  49031. var textToken = this._consumeRawText(false, __WEBPACK_IMPORTED_MODULE_0__chars__["r" /* $MINUS */], function () { return _this._attemptStr('->'); });
  49032. this._beginToken(TokenType.COMMENT_END, textToken.sourceSpan.end);
  49033. this._endToken([]);
  49034. };
  49035. _Tokenizer.prototype._consumeCdata = function (start) {
  49036. var _this = this;
  49037. this._beginToken(TokenType.CDATA_START, start);
  49038. this._requireStr('CDATA[');
  49039. this._endToken([]);
  49040. var textToken = this._consumeRawText(false, __WEBPACK_IMPORTED_MODULE_0__chars__["j" /* $RBRACKET */], function () { return _this._attemptStr(']>'); });
  49041. this._beginToken(TokenType.CDATA_END, textToken.sourceSpan.end);
  49042. this._endToken([]);
  49043. };
  49044. _Tokenizer.prototype._consumeDocType = function (start) {
  49045. this._beginToken(TokenType.DOC_TYPE, start);
  49046. this._attemptUntilChar(__WEBPACK_IMPORTED_MODULE_0__chars__["y" /* $GT */]);
  49047. this._advance();
  49048. this._endToken([this._input.substring(start.offset + 2, this._index - 1)]);
  49049. };
  49050. _Tokenizer.prototype._consumePrefixAndName = function () {
  49051. var nameOrPrefixStart = this._index;
  49052. var prefix = null;
  49053. while (this._peek !== __WEBPACK_IMPORTED_MODULE_0__chars__["l" /* $COLON */] && !isPrefixEnd(this._peek)) {
  49054. this._advance();
  49055. }
  49056. var nameStart;
  49057. if (this._peek === __WEBPACK_IMPORTED_MODULE_0__chars__["l" /* $COLON */]) {
  49058. this._advance();
  49059. prefix = this._input.substring(nameOrPrefixStart, this._index - 1);
  49060. nameStart = this._index;
  49061. }
  49062. else {
  49063. nameStart = nameOrPrefixStart;
  49064. }
  49065. this._requireCharCodeUntilFn(isNameEnd, this._index === nameStart ? 1 : 0);
  49066. var name = this._input.substring(nameStart, this._index);
  49067. return [prefix, name];
  49068. };
  49069. _Tokenizer.prototype._consumeTagOpen = function (start) {
  49070. var savedPos = this._savePosition();
  49071. var tagName;
  49072. var lowercaseTagName;
  49073. try {
  49074. if (!__WEBPACK_IMPORTED_MODULE_0__chars__["N" /* isAsciiLetter */](this._peek)) {
  49075. throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan());
  49076. }
  49077. var nameStart = this._index;
  49078. this._consumeTagOpenStart(start);
  49079. tagName = this._input.substring(nameStart, this._index);
  49080. lowercaseTagName = tagName.toLowerCase();
  49081. this._attemptCharCodeUntilFn(isNotWhitespace);
  49082. while (this._peek !== __WEBPACK_IMPORTED_MODULE_0__chars__["t" /* $SLASH */] && this._peek !== __WEBPACK_IMPORTED_MODULE_0__chars__["y" /* $GT */]) {
  49083. this._consumeAttributeName();
  49084. this._attemptCharCodeUntilFn(isNotWhitespace);
  49085. if (this._attemptCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["z" /* $EQ */])) {
  49086. this._attemptCharCodeUntilFn(isNotWhitespace);
  49087. this._consumeAttributeValue();
  49088. }
  49089. this._attemptCharCodeUntilFn(isNotWhitespace);
  49090. }
  49091. this._consumeTagOpenEnd();
  49092. }
  49093. catch (e) {
  49094. if (e instanceof _ControlFlowError) {
  49095. // When the start tag is invalid, assume we want a "<"
  49096. this._restorePosition(savedPos);
  49097. // Back to back text tokens are merged at the end
  49098. this._beginToken(TokenType.TEXT, start);
  49099. this._endToken(['<']);
  49100. return;
  49101. }
  49102. throw e;
  49103. }
  49104. var contentTokenType = this._getTagDefinition(tagName).contentType;
  49105. if (contentTokenType === __WEBPACK_IMPORTED_MODULE_3__tags__["a" /* TagContentType */].RAW_TEXT) {
  49106. this._consumeRawTextWithTagClose(lowercaseTagName, false);
  49107. }
  49108. else if (contentTokenType === __WEBPACK_IMPORTED_MODULE_3__tags__["a" /* TagContentType */].ESCAPABLE_RAW_TEXT) {
  49109. this._consumeRawTextWithTagClose(lowercaseTagName, true);
  49110. }
  49111. };
  49112. _Tokenizer.prototype._consumeRawTextWithTagClose = function (lowercaseTagName, decodeEntities) {
  49113. var _this = this;
  49114. var textToken = this._consumeRawText(decodeEntities, __WEBPACK_IMPORTED_MODULE_0__chars__["x" /* $LT */], function () {
  49115. if (!_this._attemptCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["t" /* $SLASH */]))
  49116. return false;
  49117. _this._attemptCharCodeUntilFn(isNotWhitespace);
  49118. if (!_this._attemptStrCaseInsensitive(lowercaseTagName))
  49119. return false;
  49120. _this._attemptCharCodeUntilFn(isNotWhitespace);
  49121. return _this._attemptCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["y" /* $GT */]);
  49122. });
  49123. this._beginToken(TokenType.TAG_CLOSE, textToken.sourceSpan.end);
  49124. this._endToken([null, lowercaseTagName]);
  49125. };
  49126. _Tokenizer.prototype._consumeTagOpenStart = function (start) {
  49127. this._beginToken(TokenType.TAG_OPEN_START, start);
  49128. var parts = this._consumePrefixAndName();
  49129. this._endToken(parts);
  49130. };
  49131. _Tokenizer.prototype._consumeAttributeName = function () {
  49132. this._beginToken(TokenType.ATTR_NAME);
  49133. var prefixAndName = this._consumePrefixAndName();
  49134. this._endToken(prefixAndName);
  49135. };
  49136. _Tokenizer.prototype._consumeAttributeValue = function () {
  49137. this._beginToken(TokenType.ATTR_VALUE);
  49138. var value;
  49139. if (this._peek === __WEBPACK_IMPORTED_MODULE_0__chars__["n" /* $SQ */] || this._peek === __WEBPACK_IMPORTED_MODULE_0__chars__["o" /* $DQ */]) {
  49140. var quoteChar = this._peek;
  49141. this._advance();
  49142. var parts = [];
  49143. while (this._peek !== quoteChar) {
  49144. parts.push(this._readChar(true));
  49145. }
  49146. value = parts.join('');
  49147. this._advance();
  49148. }
  49149. else {
  49150. var valueStart = this._index;
  49151. this._requireCharCodeUntilFn(isNameEnd, 1);
  49152. value = this._input.substring(valueStart, this._index);
  49153. }
  49154. this._endToken([this._processCarriageReturns(value)]);
  49155. };
  49156. _Tokenizer.prototype._consumeTagOpenEnd = function () {
  49157. var tokenType = this._attemptCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["t" /* $SLASH */]) ? TokenType.TAG_OPEN_END_VOID : TokenType.TAG_OPEN_END;
  49158. this._beginToken(tokenType);
  49159. this._requireCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["y" /* $GT */]);
  49160. this._endToken([]);
  49161. };
  49162. _Tokenizer.prototype._consumeTagClose = function (start) {
  49163. this._beginToken(TokenType.TAG_CLOSE, start);
  49164. this._attemptCharCodeUntilFn(isNotWhitespace);
  49165. var prefixAndName = this._consumePrefixAndName();
  49166. this._attemptCharCodeUntilFn(isNotWhitespace);
  49167. this._requireCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["y" /* $GT */]);
  49168. this._endToken(prefixAndName);
  49169. };
  49170. _Tokenizer.prototype._consumeExpansionFormStart = function () {
  49171. this._beginToken(TokenType.EXPANSION_FORM_START, this._getLocation());
  49172. this._requireCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["g" /* $LBRACE */]);
  49173. this._endToken([]);
  49174. this._expansionCaseStack.push(TokenType.EXPANSION_FORM_START);
  49175. this._beginToken(TokenType.RAW_TEXT, this._getLocation());
  49176. var condition = this._readUntil(__WEBPACK_IMPORTED_MODULE_0__chars__["k" /* $COMMA */]);
  49177. this._endToken([condition], this._getLocation());
  49178. this._requireCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["k" /* $COMMA */]);
  49179. this._attemptCharCodeUntilFn(isNotWhitespace);
  49180. this._beginToken(TokenType.RAW_TEXT, this._getLocation());
  49181. var type = this._readUntil(__WEBPACK_IMPORTED_MODULE_0__chars__["k" /* $COMMA */]);
  49182. this._endToken([type], this._getLocation());
  49183. this._requireCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["k" /* $COMMA */]);
  49184. this._attemptCharCodeUntilFn(isNotWhitespace);
  49185. };
  49186. _Tokenizer.prototype._consumeExpansionCaseStart = function () {
  49187. this._beginToken(TokenType.EXPANSION_CASE_VALUE, this._getLocation());
  49188. var value = this._readUntil(__WEBPACK_IMPORTED_MODULE_0__chars__["g" /* $LBRACE */]).trim();
  49189. this._endToken([value], this._getLocation());
  49190. this._attemptCharCodeUntilFn(isNotWhitespace);
  49191. this._beginToken(TokenType.EXPANSION_CASE_EXP_START, this._getLocation());
  49192. this._requireCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["g" /* $LBRACE */]);
  49193. this._endToken([], this._getLocation());
  49194. this._attemptCharCodeUntilFn(isNotWhitespace);
  49195. this._expansionCaseStack.push(TokenType.EXPANSION_CASE_EXP_START);
  49196. };
  49197. _Tokenizer.prototype._consumeExpansionCaseEnd = function () {
  49198. this._beginToken(TokenType.EXPANSION_CASE_EXP_END, this._getLocation());
  49199. this._requireCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["h" /* $RBRACE */]);
  49200. this._endToken([], this._getLocation());
  49201. this._attemptCharCodeUntilFn(isNotWhitespace);
  49202. this._expansionCaseStack.pop();
  49203. };
  49204. _Tokenizer.prototype._consumeExpansionFormEnd = function () {
  49205. this._beginToken(TokenType.EXPANSION_FORM_END, this._getLocation());
  49206. this._requireCharCode(__WEBPACK_IMPORTED_MODULE_0__chars__["h" /* $RBRACE */]);
  49207. this._endToken([]);
  49208. this._expansionCaseStack.pop();
  49209. };
  49210. _Tokenizer.prototype._consumeText = function () {
  49211. var start = this._getLocation();
  49212. this._beginToken(TokenType.TEXT, start);
  49213. var parts = [];
  49214. do {
  49215. if (this._interpolationConfig && this._attemptStr(this._interpolationConfig.start)) {
  49216. parts.push(this._interpolationConfig.start);
  49217. this._inInterpolation = true;
  49218. }
  49219. else if (this._interpolationConfig && this._attemptStr(this._interpolationConfig.end) &&
  49220. this._inInterpolation) {
  49221. parts.push(this._interpolationConfig.end);
  49222. this._inInterpolation = false;
  49223. }
  49224. else {
  49225. parts.push(this._readChar(true));
  49226. }
  49227. } while (!this._isTextEnd());
  49228. this._endToken([this._processCarriageReturns(parts.join(''))]);
  49229. };
  49230. _Tokenizer.prototype._isTextEnd = function () {
  49231. if (this._peek === __WEBPACK_IMPORTED_MODULE_0__chars__["x" /* $LT */] || this._peek === __WEBPACK_IMPORTED_MODULE_0__chars__["a" /* $EOF */]) {
  49232. return true;
  49233. }
  49234. if (this._tokenizeIcu && !this._inInterpolation) {
  49235. if (isExpansionFormStart(this._input, this._index, this._interpolationConfig)) {
  49236. // start of an expansion form
  49237. return true;
  49238. }
  49239. if (this._peek === __WEBPACK_IMPORTED_MODULE_0__chars__["h" /* $RBRACE */] && this._isInExpansionCase()) {
  49240. // end of and expansion case
  49241. return true;
  49242. }
  49243. }
  49244. return false;
  49245. };
  49246. _Tokenizer.prototype._savePosition = function () {
  49247. return [this._peek, this._index, this._column, this._line, this.tokens.length];
  49248. };
  49249. _Tokenizer.prototype._readUntil = function (char) {
  49250. var start = this._index;
  49251. this._attemptUntilChar(char);
  49252. return this._input.substring(start, this._index);
  49253. };
  49254. _Tokenizer.prototype._restorePosition = function (position) {
  49255. this._peek = position[0];
  49256. this._index = position[1];
  49257. this._column = position[2];
  49258. this._line = position[3];
  49259. var nbTokens = position[4];
  49260. if (nbTokens < this.tokens.length) {
  49261. // remove any extra tokens
  49262. this.tokens = this.tokens.slice(0, nbTokens);
  49263. }
  49264. };
  49265. _Tokenizer.prototype._isInExpansionCase = function () {
  49266. return this._expansionCaseStack.length > 0 &&
  49267. this._expansionCaseStack[this._expansionCaseStack.length - 1] ===
  49268. TokenType.EXPANSION_CASE_EXP_START;
  49269. };
  49270. _Tokenizer.prototype._isInExpansionForm = function () {
  49271. return this._expansionCaseStack.length > 0 &&
  49272. this._expansionCaseStack[this._expansionCaseStack.length - 1] ===
  49273. TokenType.EXPANSION_FORM_START;
  49274. };
  49275. return _Tokenizer;
  49276. }());
  49277. function isNotWhitespace(code) {
  49278. return !__WEBPACK_IMPORTED_MODULE_0__chars__["E" /* isWhitespace */](code) || code === __WEBPACK_IMPORTED_MODULE_0__chars__["a" /* $EOF */];
  49279. }
  49280. function isNameEnd(code) {
  49281. return __WEBPACK_IMPORTED_MODULE_0__chars__["E" /* isWhitespace */](code) || code === __WEBPACK_IMPORTED_MODULE_0__chars__["y" /* $GT */] || code === __WEBPACK_IMPORTED_MODULE_0__chars__["t" /* $SLASH */] ||
  49282. code === __WEBPACK_IMPORTED_MODULE_0__chars__["n" /* $SQ */] || code === __WEBPACK_IMPORTED_MODULE_0__chars__["o" /* $DQ */] || code === __WEBPACK_IMPORTED_MODULE_0__chars__["z" /* $EQ */];
  49283. }
  49284. function isPrefixEnd(code) {
  49285. return (code < __WEBPACK_IMPORTED_MODULE_0__chars__["H" /* $a */] || __WEBPACK_IMPORTED_MODULE_0__chars__["I" /* $z */] < code) && (code < __WEBPACK_IMPORTED_MODULE_0__chars__["J" /* $A */] || __WEBPACK_IMPORTED_MODULE_0__chars__["K" /* $Z */] < code) &&
  49286. (code < __WEBPACK_IMPORTED_MODULE_0__chars__["_3" /* $0 */] || code > __WEBPACK_IMPORTED_MODULE_0__chars__["_4" /* $9 */]);
  49287. }
  49288. function isDigitEntityEnd(code) {
  49289. return code == __WEBPACK_IMPORTED_MODULE_0__chars__["m" /* $SEMICOLON */] || code == __WEBPACK_IMPORTED_MODULE_0__chars__["a" /* $EOF */] || !__WEBPACK_IMPORTED_MODULE_0__chars__["_5" /* isAsciiHexDigit */](code);
  49290. }
  49291. function isNamedEntityEnd(code) {
  49292. return code == __WEBPACK_IMPORTED_MODULE_0__chars__["m" /* $SEMICOLON */] || code == __WEBPACK_IMPORTED_MODULE_0__chars__["a" /* $EOF */] || !__WEBPACK_IMPORTED_MODULE_0__chars__["N" /* isAsciiLetter */](code);
  49293. }
  49294. function isExpansionFormStart(input, offset, interpolationConfig) {
  49295. var isInterpolationStart = interpolationConfig ? input.indexOf(interpolationConfig.start, offset) == offset : false;
  49296. return input.charCodeAt(offset) == __WEBPACK_IMPORTED_MODULE_0__chars__["g" /* $LBRACE */] && !isInterpolationStart;
  49297. }
  49298. function isExpansionCaseStart(peek) {
  49299. return peek === __WEBPACK_IMPORTED_MODULE_0__chars__["z" /* $EQ */] || __WEBPACK_IMPORTED_MODULE_0__chars__["N" /* isAsciiLetter */](peek);
  49300. }
  49301. function compareCharCodeCaseInsensitive(code1, code2) {
  49302. return toUpperCaseCharCode(code1) == toUpperCaseCharCode(code2);
  49303. }
  49304. function toUpperCaseCharCode(code) {
  49305. return code >= __WEBPACK_IMPORTED_MODULE_0__chars__["H" /* $a */] && code <= __WEBPACK_IMPORTED_MODULE_0__chars__["I" /* $z */] ? code - __WEBPACK_IMPORTED_MODULE_0__chars__["H" /* $a */] + __WEBPACK_IMPORTED_MODULE_0__chars__["J" /* $A */] : code;
  49306. }
  49307. function mergeTextTokens(srcTokens) {
  49308. var dstTokens = [];
  49309. var lastDstToken;
  49310. for (var i = 0; i < srcTokens.length; i++) {
  49311. var token = srcTokens[i];
  49312. if (lastDstToken && lastDstToken.type == TokenType.TEXT && token.type == TokenType.TEXT) {
  49313. lastDstToken.parts[0] += token.parts[0];
  49314. lastDstToken.sourceSpan.end = token.sourceSpan.end;
  49315. }
  49316. else {
  49317. lastDstToken = token;
  49318. dstTokens.push(lastDstToken);
  49319. }
  49320. }
  49321. return dstTokens;
  49322. }
  49323. //# sourceMappingURL=lexer.js.map
  49324. /***/ },
  49325. /* 458 */
  49326. /***/ function(module, exports, __webpack_require__) {
  49327. "use strict";
  49328. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tags__ = __webpack_require__(87);
  49329. /* unused harmony export XmlTagDefinition */
  49330. /* harmony export (immutable) */ exports["a"] = getXmlTagDefinition;
  49331. /**
  49332. * @license
  49333. * Copyright Google Inc. All Rights Reserved.
  49334. *
  49335. * Use of this source code is governed by an MIT-style license that can be
  49336. * found in the LICENSE file at https://angular.io/license
  49337. */
  49338. var XmlTagDefinition = (function () {
  49339. function XmlTagDefinition() {
  49340. this.closedByParent = false;
  49341. this.contentType = __WEBPACK_IMPORTED_MODULE_0__tags__["a" /* TagContentType */].PARSABLE_DATA;
  49342. this.isVoid = false;
  49343. this.ignoreFirstLf = false;
  49344. this.canSelfClose = true;
  49345. }
  49346. XmlTagDefinition.prototype.requireExtraParent = function (currentParent) { return false; };
  49347. XmlTagDefinition.prototype.isClosedByChild = function (name) { return false; };
  49348. return XmlTagDefinition;
  49349. }());
  49350. var _TAG_DEFINITION = new XmlTagDefinition();
  49351. function getXmlTagDefinition(tagName) {
  49352. return _TAG_DEFINITION;
  49353. }
  49354. //# sourceMappingURL=xml_tags.js.map
  49355. /***/ },
  49356. /* 459 */
  49357. /***/ function(module, exports, __webpack_require__) {
  49358. "use strict";
  49359. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__compile_metadata__ = __webpack_require__(25);
  49360. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__identifiers__ = __webpack_require__(19);
  49361. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__output_output_ast__ = __webpack_require__(12);
  49362. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__view_compiler_view_compiler__ = __webpack_require__(134);
  49363. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return SourceModule; });
  49364. /* unused harmony export NgModulesSummary */
  49365. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return OfflineCompiler; });
  49366. /**
  49367. * @license
  49368. * Copyright Google Inc. All Rights Reserved.
  49369. *
  49370. * Use of this source code is governed by an MIT-style license that can be
  49371. * found in the LICENSE file at https://angular.io/license
  49372. */
  49373. var SourceModule = (function () {
  49374. function SourceModule(moduleUrl, source) {
  49375. this.moduleUrl = moduleUrl;
  49376. this.source = source;
  49377. }
  49378. return SourceModule;
  49379. }());
  49380. var NgModulesSummary = (function () {
  49381. function NgModulesSummary(ngModuleByComponent) {
  49382. this.ngModuleByComponent = ngModuleByComponent;
  49383. }
  49384. return NgModulesSummary;
  49385. }());
  49386. var OfflineCompiler = (function () {
  49387. function OfflineCompiler(_metadataResolver, _directiveNormalizer, _templateParser, _styleCompiler, _viewCompiler, _ngModuleCompiler, _outputEmitter, _localeId, _translationFormat) {
  49388. this._metadataResolver = _metadataResolver;
  49389. this._directiveNormalizer = _directiveNormalizer;
  49390. this._templateParser = _templateParser;
  49391. this._styleCompiler = _styleCompiler;
  49392. this._viewCompiler = _viewCompiler;
  49393. this._ngModuleCompiler = _ngModuleCompiler;
  49394. this._outputEmitter = _outputEmitter;
  49395. this._localeId = _localeId;
  49396. this._translationFormat = _translationFormat;
  49397. }
  49398. OfflineCompiler.prototype.analyzeModules = function (ngModules) {
  49399. var _this = this;
  49400. var ngModuleByComponent = new Map();
  49401. ngModules.forEach(function (ngModule) {
  49402. var ngModuleMeta = _this._metadataResolver.getNgModuleMetadata(ngModule);
  49403. ngModuleMeta.declaredDirectives.forEach(function (dirMeta) {
  49404. if (dirMeta.isComponent) {
  49405. ngModuleByComponent.set(dirMeta.type.reference, ngModuleMeta);
  49406. }
  49407. });
  49408. });
  49409. return new NgModulesSummary(ngModuleByComponent);
  49410. };
  49411. OfflineCompiler.prototype.clearCache = function () {
  49412. this._directiveNormalizer.clearCache();
  49413. this._metadataResolver.clearCache();
  49414. };
  49415. OfflineCompiler.prototype.compile = function (moduleUrl, ngModulesSummary, components, ngModules) {
  49416. var _this = this;
  49417. var fileSuffix = _splitTypescriptSuffix(moduleUrl)[1];
  49418. var statements = [];
  49419. var exportedVars = [];
  49420. var outputSourceModules = [];
  49421. // compile all ng modules
  49422. exportedVars.push.apply(exportedVars, ngModules.map(function (ngModuleType) { return _this._compileModule(ngModuleType, statements); }));
  49423. // compile components
  49424. return Promise
  49425. .all(components.map(function (compType) {
  49426. var compMeta = _this._metadataResolver.getDirectiveMetadata(compType);
  49427. var ngModule = ngModulesSummary.ngModuleByComponent.get(compType);
  49428. if (!ngModule) {
  49429. throw new Error("Cannot determine the module for component " + compMeta.type.name + "!");
  49430. }
  49431. return Promise
  49432. .all([compMeta].concat(ngModule.transitiveModule.directives).map(function (dirMeta) { return _this._directiveNormalizer.normalizeDirective(dirMeta).asyncResult; }))
  49433. .then(function (normalizedCompWithDirectives) {
  49434. var compMeta = normalizedCompWithDirectives[0], dirMetas = normalizedCompWithDirectives.slice(1);
  49435. _assertComponent(compMeta);
  49436. // compile styles
  49437. var stylesCompileResults = _this._styleCompiler.compileComponent(compMeta);
  49438. stylesCompileResults.externalStylesheets.forEach(function (compiledStyleSheet) {
  49439. outputSourceModules.push(_this._codgenStyles(compiledStyleSheet, fileSuffix));
  49440. });
  49441. // compile components
  49442. exportedVars.push(_this._compileComponentFactory(compMeta, fileSuffix, statements), _this._compileComponent(compMeta, dirMetas, ngModule.transitiveModule.pipes, ngModule.schemas, stylesCompileResults.componentStylesheet, fileSuffix, statements));
  49443. });
  49444. }))
  49445. .then(function () {
  49446. if (statements.length > 0) {
  49447. outputSourceModules.unshift(_this._codegenSourceModule(_ngfactoryModuleUrl(moduleUrl), statements, exportedVars));
  49448. }
  49449. return outputSourceModules;
  49450. });
  49451. };
  49452. OfflineCompiler.prototype._compileModule = function (ngModuleType, targetStatements) {
  49453. var ngModule = this._metadataResolver.getNgModuleMetadata(ngModuleType);
  49454. var providers = [];
  49455. if (this._localeId) {
  49456. providers.push(new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["d" /* CompileProviderMetadata */]({
  49457. token: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_1__identifiers__["b" /* Identifiers */].LOCALE_ID),
  49458. useValue: this._localeId,
  49459. }));
  49460. }
  49461. if (this._translationFormat) {
  49462. providers.push(new __WEBPACK_IMPORTED_MODULE_0__compile_metadata__["d" /* CompileProviderMetadata */]({
  49463. token: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_1__identifiers__["b" /* Identifiers */].TRANSLATIONS_FORMAT),
  49464. useValue: this._translationFormat
  49465. }));
  49466. }
  49467. var appCompileResult = this._ngModuleCompiler.compile(ngModule, providers);
  49468. appCompileResult.dependencies.forEach(function (dep) {
  49469. dep.placeholder.name = _componentFactoryName(dep.comp);
  49470. dep.placeholder.moduleUrl = _ngfactoryModuleUrl(dep.comp.moduleUrl);
  49471. });
  49472. targetStatements.push.apply(targetStatements, appCompileResult.statements);
  49473. return appCompileResult.ngModuleFactoryVar;
  49474. };
  49475. OfflineCompiler.prototype._compileComponentFactory = function (compMeta, fileSuffix, targetStatements) {
  49476. var hostMeta = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__compile_metadata__["n" /* createHostComponentMeta */])(compMeta);
  49477. var hostViewFactoryVar = this._compileComponent(hostMeta, [compMeta], [], [], null, fileSuffix, targetStatements);
  49478. var compFactoryVar = _componentFactoryName(compMeta.type);
  49479. targetStatements.push(__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */](compFactoryVar)
  49480. .set(__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_1__identifiers__["b" /* Identifiers */].ComponentFactory), [__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["c" /* importType */](compMeta.type)])
  49481. .instantiate([
  49482. __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["a" /* literal */](compMeta.selector),
  49483. __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */](hostViewFactoryVar),
  49484. __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["b" /* importExpr */](compMeta.type),
  49485. ], __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_1__identifiers__["b" /* Identifiers */].ComponentFactory), [__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["c" /* importType */](compMeta.type)], [__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["d" /* TypeModifier */].Const])))
  49486. .toDeclStmt(null, [__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["u" /* StmtModifier */].Final]));
  49487. return compFactoryVar;
  49488. };
  49489. OfflineCompiler.prototype._compileComponent = function (compMeta, directives, pipes, schemas, componentStyles, fileSuffix, targetStatements) {
  49490. var parsedTemplate = this._templateParser.parse(compMeta, compMeta.template.template, directives, pipes, schemas, compMeta.type.name);
  49491. var stylesExpr = componentStyles ? __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["e" /* variable */](componentStyles.stylesVar) : __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["g" /* literalArr */]([]);
  49492. var viewResult = this._viewCompiler.compileComponent(compMeta, parsedTemplate, stylesExpr, pipes);
  49493. if (componentStyles) {
  49494. targetStatements.push.apply(targetStatements, _resolveStyleStatements(componentStyles, fileSuffix));
  49495. }
  49496. targetStatements.push.apply(targetStatements, _resolveViewStatements(viewResult));
  49497. return viewResult.viewFactoryVar;
  49498. };
  49499. OfflineCompiler.prototype._codgenStyles = function (stylesCompileResult, fileSuffix) {
  49500. _resolveStyleStatements(stylesCompileResult, fileSuffix);
  49501. return this._codegenSourceModule(_stylesModuleUrl(stylesCompileResult.meta.moduleUrl, stylesCompileResult.isShimmed, fileSuffix), stylesCompileResult.statements, [stylesCompileResult.stylesVar]);
  49502. };
  49503. OfflineCompiler.prototype._codegenSourceModule = function (moduleUrl, statements, exportedVars) {
  49504. return new SourceModule(moduleUrl, this._outputEmitter.emitStatements(moduleUrl, statements, exportedVars));
  49505. };
  49506. return OfflineCompiler;
  49507. }());
  49508. function _resolveViewStatements(compileResult) {
  49509. compileResult.dependencies.forEach(function (dep) {
  49510. if (dep instanceof __WEBPACK_IMPORTED_MODULE_3__view_compiler_view_compiler__["a" /* ViewFactoryDependency */]) {
  49511. var vfd = dep;
  49512. vfd.placeholder.moduleUrl = _ngfactoryModuleUrl(vfd.comp.moduleUrl);
  49513. }
  49514. else if (dep instanceof __WEBPACK_IMPORTED_MODULE_3__view_compiler_view_compiler__["b" /* ComponentFactoryDependency */]) {
  49515. var cfd = dep;
  49516. cfd.placeholder.name = _componentFactoryName(cfd.comp);
  49517. cfd.placeholder.moduleUrl = _ngfactoryModuleUrl(cfd.comp.moduleUrl);
  49518. }
  49519. });
  49520. return compileResult.statements;
  49521. }
  49522. function _resolveStyleStatements(compileResult, fileSuffix) {
  49523. compileResult.dependencies.forEach(function (dep) {
  49524. dep.valuePlaceholder.moduleUrl = _stylesModuleUrl(dep.moduleUrl, dep.isShimmed, fileSuffix);
  49525. });
  49526. return compileResult.statements;
  49527. }
  49528. function _ngfactoryModuleUrl(compUrl) {
  49529. var urlWithSuffix = _splitTypescriptSuffix(compUrl);
  49530. return urlWithSuffix[0] + ".ngfactory" + urlWithSuffix[1];
  49531. }
  49532. function _componentFactoryName(comp) {
  49533. return comp.name + "NgFactory";
  49534. }
  49535. function _stylesModuleUrl(stylesheetUrl, shim, suffix) {
  49536. return shim ? stylesheetUrl + ".shim" + suffix : "" + stylesheetUrl + suffix;
  49537. }
  49538. function _assertComponent(meta) {
  49539. if (!meta.isComponent) {
  49540. throw new Error("Could not compile '" + meta.type.name + "' because it is not a component.");
  49541. }
  49542. }
  49543. function _splitTypescriptSuffix(path) {
  49544. if (path.endsWith('.d.ts')) {
  49545. return [path.slice(0, -5), '.ts'];
  49546. }
  49547. var lastDot = path.lastIndexOf('.');
  49548. if (lastDot !== -1) {
  49549. return [path.substring(0, lastDot), path.substring(lastDot)];
  49550. }
  49551. return [path, ''];
  49552. }
  49553. //# sourceMappingURL=offline_compiler.js.map
  49554. /***/ },
  49555. /* 460 */
  49556. /***/ function(module, exports, __webpack_require__) {
  49557. "use strict";
  49558. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(4);
  49559. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__abstract_emitter__ = __webpack_require__(192);
  49560. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__output_ast__ = __webpack_require__(12);
  49561. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AbstractJsEmitterVisitor; });
  49562. /**
  49563. * @license
  49564. * Copyright Google Inc. All Rights Reserved.
  49565. *
  49566. * Use of this source code is governed by an MIT-style license that can be
  49567. * found in the LICENSE file at https://angular.io/license
  49568. */
  49569. var __extends = (this && this.__extends) || function (d, b) {
  49570. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  49571. function __() { this.constructor = d; }
  49572. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  49573. };
  49574. var AbstractJsEmitterVisitor = (function (_super) {
  49575. __extends(AbstractJsEmitterVisitor, _super);
  49576. function AbstractJsEmitterVisitor() {
  49577. _super.call(this, false);
  49578. }
  49579. AbstractJsEmitterVisitor.prototype.visitDeclareClassStmt = function (stmt, ctx) {
  49580. var _this = this;
  49581. ctx.pushClass(stmt);
  49582. this._visitClassConstructor(stmt, ctx);
  49583. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(stmt.parent)) {
  49584. ctx.print(stmt.name + ".prototype = Object.create(");
  49585. stmt.parent.visitExpression(this, ctx);
  49586. ctx.println(".prototype);");
  49587. }
  49588. stmt.getters.forEach(function (getter) { return _this._visitClassGetter(stmt, getter, ctx); });
  49589. stmt.methods.forEach(function (method) { return _this._visitClassMethod(stmt, method, ctx); });
  49590. ctx.popClass();
  49591. return null;
  49592. };
  49593. AbstractJsEmitterVisitor.prototype._visitClassConstructor = function (stmt, ctx) {
  49594. ctx.print("function " + stmt.name + "(");
  49595. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(stmt.constructorMethod)) {
  49596. this._visitParams(stmt.constructorMethod.params, ctx);
  49597. }
  49598. ctx.println(") {");
  49599. ctx.incIndent();
  49600. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(stmt.constructorMethod)) {
  49601. if (stmt.constructorMethod.body.length > 0) {
  49602. ctx.println("var self = this;");
  49603. this.visitAllStatements(stmt.constructorMethod.body, ctx);
  49604. }
  49605. }
  49606. ctx.decIndent();
  49607. ctx.println("}");
  49608. };
  49609. AbstractJsEmitterVisitor.prototype._visitClassGetter = function (stmt, getter, ctx) {
  49610. ctx.println("Object.defineProperty(" + stmt.name + ".prototype, '" + getter.name + "', { get: function() {");
  49611. ctx.incIndent();
  49612. if (getter.body.length > 0) {
  49613. ctx.println("var self = this;");
  49614. this.visitAllStatements(getter.body, ctx);
  49615. }
  49616. ctx.decIndent();
  49617. ctx.println("}});");
  49618. };
  49619. AbstractJsEmitterVisitor.prototype._visitClassMethod = function (stmt, method, ctx) {
  49620. ctx.print(stmt.name + ".prototype." + method.name + " = function(");
  49621. this._visitParams(method.params, ctx);
  49622. ctx.println(") {");
  49623. ctx.incIndent();
  49624. if (method.body.length > 0) {
  49625. ctx.println("var self = this;");
  49626. this.visitAllStatements(method.body, ctx);
  49627. }
  49628. ctx.decIndent();
  49629. ctx.println("};");
  49630. };
  49631. AbstractJsEmitterVisitor.prototype.visitReadVarExpr = function (ast, ctx) {
  49632. if (ast.builtin === __WEBPACK_IMPORTED_MODULE_2__output_ast__["O" /* BuiltinVar */].This) {
  49633. ctx.print('self');
  49634. }
  49635. else if (ast.builtin === __WEBPACK_IMPORTED_MODULE_2__output_ast__["O" /* BuiltinVar */].Super) {
  49636. throw new Error("'super' needs to be handled at a parent ast node, not at the variable level!");
  49637. }
  49638. else {
  49639. _super.prototype.visitReadVarExpr.call(this, ast, ctx);
  49640. }
  49641. return null;
  49642. };
  49643. AbstractJsEmitterVisitor.prototype.visitDeclareVarStmt = function (stmt, ctx) {
  49644. ctx.print("var " + stmt.name + " = ");
  49645. stmt.value.visitExpression(this, ctx);
  49646. ctx.println(";");
  49647. return null;
  49648. };
  49649. AbstractJsEmitterVisitor.prototype.visitCastExpr = function (ast, ctx) {
  49650. ast.value.visitExpression(this, ctx);
  49651. return null;
  49652. };
  49653. AbstractJsEmitterVisitor.prototype.visitInvokeFunctionExpr = function (expr, ctx) {
  49654. var fnExpr = expr.fn;
  49655. if (fnExpr instanceof __WEBPACK_IMPORTED_MODULE_2__output_ast__["B" /* ReadVarExpr */] && fnExpr.builtin === __WEBPACK_IMPORTED_MODULE_2__output_ast__["O" /* BuiltinVar */].Super) {
  49656. ctx.currentClass.parent.visitExpression(this, ctx);
  49657. ctx.print(".call(this");
  49658. if (expr.args.length > 0) {
  49659. ctx.print(", ");
  49660. this.visitAllExpressions(expr.args, ctx, ',');
  49661. }
  49662. ctx.print(")");
  49663. }
  49664. else {
  49665. _super.prototype.visitInvokeFunctionExpr.call(this, expr, ctx);
  49666. }
  49667. return null;
  49668. };
  49669. AbstractJsEmitterVisitor.prototype.visitFunctionExpr = function (ast, ctx) {
  49670. ctx.print("function(");
  49671. this._visitParams(ast.params, ctx);
  49672. ctx.println(") {");
  49673. ctx.incIndent();
  49674. this.visitAllStatements(ast.statements, ctx);
  49675. ctx.decIndent();
  49676. ctx.print("}");
  49677. return null;
  49678. };
  49679. AbstractJsEmitterVisitor.prototype.visitDeclareFunctionStmt = function (stmt, ctx) {
  49680. ctx.print("function " + stmt.name + "(");
  49681. this._visitParams(stmt.params, ctx);
  49682. ctx.println(") {");
  49683. ctx.incIndent();
  49684. this.visitAllStatements(stmt.statements, ctx);
  49685. ctx.decIndent();
  49686. ctx.println("}");
  49687. return null;
  49688. };
  49689. AbstractJsEmitterVisitor.prototype.visitTryCatchStmt = function (stmt, ctx) {
  49690. ctx.println("try {");
  49691. ctx.incIndent();
  49692. this.visitAllStatements(stmt.bodyStmts, ctx);
  49693. ctx.decIndent();
  49694. ctx.println("} catch (" + __WEBPACK_IMPORTED_MODULE_1__abstract_emitter__["b" /* CATCH_ERROR_VAR */].name + ") {");
  49695. ctx.incIndent();
  49696. var catchStmts = [__WEBPACK_IMPORTED_MODULE_1__abstract_emitter__["c" /* CATCH_STACK_VAR */].set(__WEBPACK_IMPORTED_MODULE_1__abstract_emitter__["b" /* CATCH_ERROR_VAR */].prop('stack')).toDeclStmt(null, [
  49697. __WEBPACK_IMPORTED_MODULE_2__output_ast__["u" /* StmtModifier */].Final
  49698. ])].concat(stmt.catchStmts);
  49699. this.visitAllStatements(catchStmts, ctx);
  49700. ctx.decIndent();
  49701. ctx.println("}");
  49702. return null;
  49703. };
  49704. AbstractJsEmitterVisitor.prototype._visitParams = function (params, ctx) {
  49705. this.visitAllObjects(function (param /** TODO #9100 */) { return ctx.print(param.name); }, params, ctx, ',');
  49706. };
  49707. AbstractJsEmitterVisitor.prototype.getBuiltinMethodName = function (method) {
  49708. var name;
  49709. switch (method) {
  49710. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["r" /* BuiltinMethod */].ConcatArray:
  49711. name = 'concat';
  49712. break;
  49713. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["r" /* BuiltinMethod */].SubscribeObservable:
  49714. name = 'subscribe';
  49715. break;
  49716. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["r" /* BuiltinMethod */].Bind:
  49717. name = 'bind';
  49718. break;
  49719. default:
  49720. throw new Error("Unknown builtin method: " + method);
  49721. }
  49722. return name;
  49723. };
  49724. return AbstractJsEmitterVisitor;
  49725. }(__WEBPACK_IMPORTED_MODULE_1__abstract_emitter__["d" /* AbstractEmitterVisitor */]));
  49726. //# sourceMappingURL=abstract_js_emitter.js.map
  49727. /***/ },
  49728. /* 461 */
  49729. /***/ function(module, exports, __webpack_require__) {
  49730. "use strict";
  49731. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(13);
  49732. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(4);
  49733. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__output_ast__ = __webpack_require__(12);
  49734. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ts_emitter__ = __webpack_require__(288);
  49735. /* harmony export (immutable) */ exports["a"] = interpretStatements;
  49736. /**
  49737. * @license
  49738. * Copyright Google Inc. All Rights Reserved.
  49739. *
  49740. * Use of this source code is governed by an MIT-style license that can be
  49741. * found in the LICENSE file at https://angular.io/license
  49742. */
  49743. function interpretStatements(statements, resultVar) {
  49744. var stmtsWithReturn = statements.concat([new __WEBPACK_IMPORTED_MODULE_2__output_ast__["t" /* ReturnStatement */](__WEBPACK_IMPORTED_MODULE_2__output_ast__["e" /* variable */](resultVar))]);
  49745. var ctx = new _ExecutionContext(null, null, null, new Map());
  49746. var visitor = new StatementInterpreter();
  49747. var result = visitor.visitAllStatements(stmtsWithReturn, ctx);
  49748. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(result) ? result.value : null;
  49749. }
  49750. function _executeFunctionStatements(varNames, varValues, statements, ctx, visitor) {
  49751. var childCtx = ctx.createChildWihtLocalVars();
  49752. for (var i = 0; i < varNames.length; i++) {
  49753. childCtx.vars.set(varNames[i], varValues[i]);
  49754. }
  49755. var result = visitor.visitAllStatements(statements, childCtx);
  49756. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(result) ? result.value : null;
  49757. }
  49758. var _ExecutionContext = (function () {
  49759. function _ExecutionContext(parent, instance, className, vars) {
  49760. this.parent = parent;
  49761. this.instance = instance;
  49762. this.className = className;
  49763. this.vars = vars;
  49764. }
  49765. _ExecutionContext.prototype.createChildWihtLocalVars = function () {
  49766. return new _ExecutionContext(this, this.instance, this.className, new Map());
  49767. };
  49768. return _ExecutionContext;
  49769. }());
  49770. var ReturnValue = (function () {
  49771. function ReturnValue(value) {
  49772. this.value = value;
  49773. }
  49774. return ReturnValue;
  49775. }());
  49776. function createDynamicClass(_classStmt, _ctx, _visitor) {
  49777. var propertyDescriptors = {};
  49778. _classStmt.getters.forEach(function (getter) {
  49779. // Note: use `function` instead of arrow function to capture `this`
  49780. propertyDescriptors[getter.name] = {
  49781. configurable: false,
  49782. get: function () {
  49783. var instanceCtx = new _ExecutionContext(_ctx, this, _classStmt.name, _ctx.vars);
  49784. return _executeFunctionStatements([], [], getter.body, instanceCtx, _visitor);
  49785. }
  49786. };
  49787. });
  49788. _classStmt.methods.forEach(function (method) {
  49789. var paramNames = method.params.map(function (param) { return param.name; });
  49790. // Note: use `function` instead of arrow function to capture `this`
  49791. propertyDescriptors[method.name] = {
  49792. writable: false,
  49793. configurable: false,
  49794. value: function () {
  49795. var args = [];
  49796. for (var _i = 0; _i < arguments.length; _i++) {
  49797. args[_i - 0] = arguments[_i];
  49798. }
  49799. var instanceCtx = new _ExecutionContext(_ctx, this, _classStmt.name, _ctx.vars);
  49800. return _executeFunctionStatements(paramNames, args, method.body, instanceCtx, _visitor);
  49801. }
  49802. };
  49803. });
  49804. var ctorParamNames = _classStmt.constructorMethod.params.map(function (param) { return param.name; });
  49805. // Note: use `function` instead of arrow function to capture `this`
  49806. var ctor = function () {
  49807. var _this = this;
  49808. var args = [];
  49809. for (var _i = 0; _i < arguments.length; _i++) {
  49810. args[_i - 0] = arguments[_i];
  49811. }
  49812. var instanceCtx = new _ExecutionContext(_ctx, this, _classStmt.name, _ctx.vars);
  49813. _classStmt.fields.forEach(function (field) { _this[field.name] = undefined; });
  49814. _executeFunctionStatements(ctorParamNames, args, _classStmt.constructorMethod.body, instanceCtx, _visitor);
  49815. };
  49816. var superClass = _classStmt.parent.visitExpression(_visitor, _ctx);
  49817. ctor.prototype = Object.create(superClass.prototype, propertyDescriptors);
  49818. return ctor;
  49819. }
  49820. var StatementInterpreter = (function () {
  49821. function StatementInterpreter() {
  49822. }
  49823. StatementInterpreter.prototype.debugAst = function (ast) { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__ts_emitter__["a" /* debugOutputAstAsTypeScript */])(ast); };
  49824. StatementInterpreter.prototype.visitDeclareVarStmt = function (stmt, ctx) {
  49825. ctx.vars.set(stmt.name, stmt.value.visitExpression(this, ctx));
  49826. return null;
  49827. };
  49828. StatementInterpreter.prototype.visitWriteVarExpr = function (expr, ctx) {
  49829. var value = expr.value.visitExpression(this, ctx);
  49830. var currCtx = ctx;
  49831. while (currCtx != null) {
  49832. if (currCtx.vars.has(expr.name)) {
  49833. currCtx.vars.set(expr.name, value);
  49834. return value;
  49835. }
  49836. currCtx = currCtx.parent;
  49837. }
  49838. throw new Error("Not declared variable " + expr.name);
  49839. };
  49840. StatementInterpreter.prototype.visitReadVarExpr = function (ast, ctx) {
  49841. var varName = ast.name;
  49842. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(ast.builtin)) {
  49843. switch (ast.builtin) {
  49844. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["O" /* BuiltinVar */].Super:
  49845. return ctx.instance.__proto__;
  49846. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["O" /* BuiltinVar */].This:
  49847. return ctx.instance;
  49848. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["O" /* BuiltinVar */].CatchError:
  49849. varName = CATCH_ERROR_VAR;
  49850. break;
  49851. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["O" /* BuiltinVar */].CatchStack:
  49852. varName = CATCH_STACK_VAR;
  49853. break;
  49854. default:
  49855. throw new Error("Unknown builtin variable " + ast.builtin);
  49856. }
  49857. }
  49858. var currCtx = ctx;
  49859. while (currCtx != null) {
  49860. if (currCtx.vars.has(varName)) {
  49861. return currCtx.vars.get(varName);
  49862. }
  49863. currCtx = currCtx.parent;
  49864. }
  49865. throw new Error("Not declared variable " + varName);
  49866. };
  49867. StatementInterpreter.prototype.visitWriteKeyExpr = function (expr, ctx) {
  49868. var receiver = expr.receiver.visitExpression(this, ctx);
  49869. var index = expr.index.visitExpression(this, ctx);
  49870. var value = expr.value.visitExpression(this, ctx);
  49871. receiver[index] = value;
  49872. return value;
  49873. };
  49874. StatementInterpreter.prototype.visitWritePropExpr = function (expr, ctx) {
  49875. var receiver = expr.receiver.visitExpression(this, ctx);
  49876. var value = expr.value.visitExpression(this, ctx);
  49877. receiver[expr.name] = value;
  49878. return value;
  49879. };
  49880. StatementInterpreter.prototype.visitInvokeMethodExpr = function (expr, ctx) {
  49881. var receiver = expr.receiver.visitExpression(this, ctx);
  49882. var args = this.visitAllExpressions(expr.args, ctx);
  49883. var result;
  49884. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(expr.builtin)) {
  49885. switch (expr.builtin) {
  49886. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["r" /* BuiltinMethod */].ConcatArray:
  49887. result = __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].concat(receiver, args[0]);
  49888. break;
  49889. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["r" /* BuiltinMethod */].SubscribeObservable:
  49890. result = receiver.subscribe({ next: args[0] });
  49891. break;
  49892. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["r" /* BuiltinMethod */].Bind:
  49893. result = receiver.bind(args[0]);
  49894. break;
  49895. default:
  49896. throw new Error("Unknown builtin method " + expr.builtin);
  49897. }
  49898. }
  49899. else {
  49900. result = receiver[expr.name].apply(receiver, args);
  49901. }
  49902. return result;
  49903. };
  49904. StatementInterpreter.prototype.visitInvokeFunctionExpr = function (stmt, ctx) {
  49905. var args = this.visitAllExpressions(stmt.args, ctx);
  49906. var fnExpr = stmt.fn;
  49907. if (fnExpr instanceof __WEBPACK_IMPORTED_MODULE_2__output_ast__["B" /* ReadVarExpr */] && fnExpr.builtin === __WEBPACK_IMPORTED_MODULE_2__output_ast__["O" /* BuiltinVar */].Super) {
  49908. ctx.instance.constructor.prototype.constructor.apply(ctx.instance, args);
  49909. return null;
  49910. }
  49911. else {
  49912. var fn = stmt.fn.visitExpression(this, ctx);
  49913. return fn.apply(null, args);
  49914. }
  49915. };
  49916. StatementInterpreter.prototype.visitReturnStmt = function (stmt, ctx) {
  49917. return new ReturnValue(stmt.value.visitExpression(this, ctx));
  49918. };
  49919. StatementInterpreter.prototype.visitDeclareClassStmt = function (stmt, ctx) {
  49920. var clazz = createDynamicClass(stmt, ctx, this);
  49921. ctx.vars.set(stmt.name, clazz);
  49922. return null;
  49923. };
  49924. StatementInterpreter.prototype.visitExpressionStmt = function (stmt, ctx) {
  49925. return stmt.expr.visitExpression(this, ctx);
  49926. };
  49927. StatementInterpreter.prototype.visitIfStmt = function (stmt, ctx) {
  49928. var condition = stmt.condition.visitExpression(this, ctx);
  49929. if (condition) {
  49930. return this.visitAllStatements(stmt.trueCase, ctx);
  49931. }
  49932. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(stmt.falseCase)) {
  49933. return this.visitAllStatements(stmt.falseCase, ctx);
  49934. }
  49935. return null;
  49936. };
  49937. StatementInterpreter.prototype.visitTryCatchStmt = function (stmt, ctx) {
  49938. try {
  49939. return this.visitAllStatements(stmt.bodyStmts, ctx);
  49940. }
  49941. catch (e) {
  49942. var childCtx = ctx.createChildWihtLocalVars();
  49943. childCtx.vars.set(CATCH_ERROR_VAR, e);
  49944. childCtx.vars.set(CATCH_STACK_VAR, e.stack);
  49945. return this.visitAllStatements(stmt.catchStmts, childCtx);
  49946. }
  49947. };
  49948. StatementInterpreter.prototype.visitThrowStmt = function (stmt, ctx) {
  49949. throw stmt.error.visitExpression(this, ctx);
  49950. };
  49951. StatementInterpreter.prototype.visitCommentStmt = function (stmt, context) { return null; };
  49952. StatementInterpreter.prototype.visitInstantiateExpr = function (ast, ctx) {
  49953. var args = this.visitAllExpressions(ast.args, ctx);
  49954. var clazz = ast.classExpr.visitExpression(this, ctx);
  49955. return new (clazz.bind.apply(clazz, [void 0].concat(args)))();
  49956. };
  49957. StatementInterpreter.prototype.visitLiteralExpr = function (ast, ctx) { return ast.value; };
  49958. StatementInterpreter.prototype.visitExternalExpr = function (ast, ctx) {
  49959. return ast.value.reference;
  49960. };
  49961. StatementInterpreter.prototype.visitConditionalExpr = function (ast, ctx) {
  49962. if (ast.condition.visitExpression(this, ctx)) {
  49963. return ast.trueCase.visitExpression(this, ctx);
  49964. }
  49965. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(ast.falseCase)) {
  49966. return ast.falseCase.visitExpression(this, ctx);
  49967. }
  49968. return null;
  49969. };
  49970. StatementInterpreter.prototype.visitNotExpr = function (ast, ctx) {
  49971. return !ast.condition.visitExpression(this, ctx);
  49972. };
  49973. StatementInterpreter.prototype.visitCastExpr = function (ast, ctx) {
  49974. return ast.value.visitExpression(this, ctx);
  49975. };
  49976. StatementInterpreter.prototype.visitFunctionExpr = function (ast, ctx) {
  49977. var paramNames = ast.params.map(function (param) { return param.name; });
  49978. return _declareFn(paramNames, ast.statements, ctx, this);
  49979. };
  49980. StatementInterpreter.prototype.visitDeclareFunctionStmt = function (stmt, ctx) {
  49981. var paramNames = stmt.params.map(function (param) { return param.name; });
  49982. ctx.vars.set(stmt.name, _declareFn(paramNames, stmt.statements, ctx, this));
  49983. return null;
  49984. };
  49985. StatementInterpreter.prototype.visitBinaryOperatorExpr = function (ast, ctx) {
  49986. var _this = this;
  49987. var lhs = function () { return ast.lhs.visitExpression(_this, ctx); };
  49988. var rhs = function () { return ast.rhs.visitExpression(_this, ctx); };
  49989. switch (ast.operator) {
  49990. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].Equals:
  49991. return lhs() == rhs();
  49992. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].Identical:
  49993. return lhs() === rhs();
  49994. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].NotEquals:
  49995. return lhs() != rhs();
  49996. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].NotIdentical:
  49997. return lhs() !== rhs();
  49998. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].And:
  49999. return lhs() && rhs();
  50000. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].Or:
  50001. return lhs() || rhs();
  50002. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].Plus:
  50003. return lhs() + rhs();
  50004. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].Minus:
  50005. return lhs() - rhs();
  50006. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].Divide:
  50007. return lhs() / rhs();
  50008. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].Multiply:
  50009. return lhs() * rhs();
  50010. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].Modulo:
  50011. return lhs() % rhs();
  50012. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].Lower:
  50013. return lhs() < rhs();
  50014. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].LowerEquals:
  50015. return lhs() <= rhs();
  50016. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].Bigger:
  50017. return lhs() > rhs();
  50018. case __WEBPACK_IMPORTED_MODULE_2__output_ast__["y" /* BinaryOperator */].BiggerEquals:
  50019. return lhs() >= rhs();
  50020. default:
  50021. throw new Error("Unknown operator " + ast.operator);
  50022. }
  50023. };
  50024. StatementInterpreter.prototype.visitReadPropExpr = function (ast, ctx) {
  50025. var result;
  50026. var receiver = ast.receiver.visitExpression(this, ctx);
  50027. result = receiver[ast.name];
  50028. return result;
  50029. };
  50030. StatementInterpreter.prototype.visitReadKeyExpr = function (ast, ctx) {
  50031. var receiver = ast.receiver.visitExpression(this, ctx);
  50032. var prop = ast.index.visitExpression(this, ctx);
  50033. return receiver[prop];
  50034. };
  50035. StatementInterpreter.prototype.visitLiteralArrayExpr = function (ast, ctx) {
  50036. return this.visitAllExpressions(ast.entries, ctx);
  50037. };
  50038. StatementInterpreter.prototype.visitLiteralMapExpr = function (ast, ctx) {
  50039. var _this = this;
  50040. var result = {};
  50041. ast.entries.forEach(function (entry) { return result[entry[0]] =
  50042. entry[1].visitExpression(_this, ctx); });
  50043. return result;
  50044. };
  50045. StatementInterpreter.prototype.visitAllExpressions = function (expressions, ctx) {
  50046. var _this = this;
  50047. return expressions.map(function (expr) { return expr.visitExpression(_this, ctx); });
  50048. };
  50049. StatementInterpreter.prototype.visitAllStatements = function (statements, ctx) {
  50050. for (var i = 0; i < statements.length; i++) {
  50051. var stmt = statements[i];
  50052. var val = stmt.visitStatement(this, ctx);
  50053. if (val instanceof ReturnValue) {
  50054. return val;
  50055. }
  50056. }
  50057. return null;
  50058. };
  50059. return StatementInterpreter;
  50060. }());
  50061. function _declareFn(varNames, statements, ctx, visitor) {
  50062. return function () {
  50063. var args = [];
  50064. for (var _i = 0; _i < arguments.length; _i++) {
  50065. args[_i - 0] = arguments[_i];
  50066. }
  50067. return _executeFunctionStatements(varNames, args, statements, ctx, visitor);
  50068. };
  50069. }
  50070. var CATCH_ERROR_VAR = 'error';
  50071. var CATCH_STACK_VAR = 'stack';
  50072. //# sourceMappingURL=output_interpreter.js.map
  50073. /***/ },
  50074. /* 462 */
  50075. /***/ function(module, exports, __webpack_require__) {
  50076. "use strict";
  50077. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(4);
  50078. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(29);
  50079. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__abstract_emitter__ = __webpack_require__(192);
  50080. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__abstract_js_emitter__ = __webpack_require__(460);
  50081. /* harmony export (immutable) */ exports["a"] = jitStatements;
  50082. /**
  50083. * @license
  50084. * Copyright Google Inc. All Rights Reserved.
  50085. *
  50086. * Use of this source code is governed by an MIT-style license that can be
  50087. * found in the LICENSE file at https://angular.io/license
  50088. */
  50089. var __extends = (this && this.__extends) || function (d, b) {
  50090. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  50091. function __() { this.constructor = d; }
  50092. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  50093. };
  50094. function jitStatements(sourceUrl, statements, resultVar) {
  50095. var converter = new JitEmitterVisitor();
  50096. var ctx = __WEBPACK_IMPORTED_MODULE_2__abstract_emitter__["a" /* EmitterVisitorContext */].createRoot([resultVar]);
  50097. converter.visitAllStatements(statements, ctx);
  50098. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["r" /* evalExpression */])(sourceUrl, resultVar, ctx.toSource(), converter.getArgs());
  50099. }
  50100. var JitEmitterVisitor = (function (_super) {
  50101. __extends(JitEmitterVisitor, _super);
  50102. function JitEmitterVisitor() {
  50103. _super.apply(this, arguments);
  50104. this._evalArgNames = [];
  50105. this._evalArgValues = [];
  50106. }
  50107. JitEmitterVisitor.prototype.getArgs = function () {
  50108. var result = {};
  50109. for (var i = 0; i < this._evalArgNames.length; i++) {
  50110. result[this._evalArgNames[i]] = this._evalArgValues[i];
  50111. }
  50112. return result;
  50113. };
  50114. JitEmitterVisitor.prototype.visitExternalExpr = function (ast, ctx) {
  50115. var value = ast.value.reference;
  50116. var id = this._evalArgValues.indexOf(value);
  50117. if (id === -1) {
  50118. id = this._evalArgValues.length;
  50119. this._evalArgValues.push(value);
  50120. var name = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(ast.value.name) ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__["a" /* sanitizeIdentifier */])(ast.value.name) : 'val';
  50121. this._evalArgNames.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__["a" /* sanitizeIdentifier */])("jit_" + name + id));
  50122. }
  50123. ctx.print(this._evalArgNames[id]);
  50124. return null;
  50125. };
  50126. return JitEmitterVisitor;
  50127. }(__WEBPACK_IMPORTED_MODULE_3__abstract_js_emitter__["a" /* AbstractJsEmitterVisitor */]));
  50128. //# sourceMappingURL=output_jit.js.map
  50129. /***/ },
  50130. /* 463 */
  50131. /***/ function(module, exports, __webpack_require__) {
  50132. "use strict";
  50133. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return ImportGenerator; });
  50134. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AssetUrl; });
  50135. /**
  50136. * @license
  50137. * Copyright Google Inc. All Rights Reserved.
  50138. *
  50139. * Use of this source code is governed by an MIT-style license that can be
  50140. * found in the LICENSE file at https://angular.io/license
  50141. */
  50142. // asset:<package-name>/<realm>/<path-to-module>
  50143. var _ASSET_URL_RE = /asset:([^\/]+)\/([^\/]+)\/(.+)/;
  50144. /**
  50145. * Interface that defines how import statements should be generated.
  50146. */
  50147. var ImportGenerator = (function () {
  50148. function ImportGenerator() {
  50149. }
  50150. ImportGenerator.parseAssetUrl = function (url) { return AssetUrl.parse(url); };
  50151. return ImportGenerator;
  50152. }());
  50153. var AssetUrl = (function () {
  50154. function AssetUrl(packageName, firstLevelDir, modulePath) {
  50155. this.packageName = packageName;
  50156. this.firstLevelDir = firstLevelDir;
  50157. this.modulePath = modulePath;
  50158. }
  50159. AssetUrl.parse = function (url, allowNonMatching) {
  50160. if (allowNonMatching === void 0) { allowNonMatching = true; }
  50161. var match = url.match(_ASSET_URL_RE);
  50162. if (match !== null) {
  50163. return new AssetUrl(match[1], match[2], match[3]);
  50164. }
  50165. if (allowNonMatching) {
  50166. return null;
  50167. }
  50168. throw new Error("Url " + url + " is not a valid asset: url");
  50169. };
  50170. return AssetUrl;
  50171. }());
  50172. //# sourceMappingURL=path_util.js.map
  50173. /***/ },
  50174. /* 464 */
  50175. /***/ function(module, exports, __webpack_require__) {
  50176. "use strict";
  50177. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__directive_normalizer__ = __webpack_require__(183);
  50178. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__expression_parser_lexer__ = __webpack_require__(130);
  50179. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__expression_parser_parser__ = __webpack_require__(131);
  50180. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__metadata_resolver__ = __webpack_require__(188);
  50181. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__ml_parser_html_parser__ = __webpack_require__(132);
  50182. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ml_parser_interpolation_config__ = __webpack_require__(49);
  50183. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ng_module_compiler__ = __webpack_require__(190);
  50184. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__output_path_util__ = __webpack_require__(463);
  50185. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__output_ts_emitter__ = __webpack_require__(288);
  50186. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__parse_util__ = __webpack_require__(50);
  50187. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__schema_dom_element_schema_registry__ = __webpack_require__(292);
  50188. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__selector__ = __webpack_require__(195);
  50189. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__style_compiler__ = __webpack_require__(196);
  50190. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__template_parser_template_parser__ = __webpack_require__(133);
  50191. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__view_compiler_view_compiler__ = __webpack_require__(134);
  50192. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return __compiler_private__; });
  50193. /**
  50194. * @license
  50195. * Copyright Google Inc. All Rights Reserved.
  50196. *
  50197. * Use of this source code is governed by an MIT-style license that can be
  50198. * found in the LICENSE file at https://angular.io/license
  50199. */
  50200. var __compiler_private__ = {
  50201. SelectorMatcher: __WEBPACK_IMPORTED_MODULE_11__selector__["b" /* SelectorMatcher */],
  50202. CssSelector: __WEBPACK_IMPORTED_MODULE_11__selector__["a" /* CssSelector */],
  50203. AssetUrl: __WEBPACK_IMPORTED_MODULE_7__output_path_util__["a" /* AssetUrl */],
  50204. ImportGenerator: __WEBPACK_IMPORTED_MODULE_7__output_path_util__["b" /* ImportGenerator */],
  50205. CompileMetadataResolver: __WEBPACK_IMPORTED_MODULE_3__metadata_resolver__["a" /* CompileMetadataResolver */],
  50206. HtmlParser: __WEBPACK_IMPORTED_MODULE_4__ml_parser_html_parser__["b" /* HtmlParser */],
  50207. InterpolationConfig: __WEBPACK_IMPORTED_MODULE_5__ml_parser_interpolation_config__["b" /* InterpolationConfig */],
  50208. DirectiveNormalizer: __WEBPACK_IMPORTED_MODULE_0__directive_normalizer__["a" /* DirectiveNormalizer */],
  50209. Lexer: __WEBPACK_IMPORTED_MODULE_1__expression_parser_lexer__["c" /* Lexer */],
  50210. Parser: __WEBPACK_IMPORTED_MODULE_2__expression_parser_parser__["a" /* Parser */],
  50211. ParseLocation: __WEBPACK_IMPORTED_MODULE_9__parse_util__["c" /* ParseLocation */],
  50212. ParseError: __WEBPACK_IMPORTED_MODULE_9__parse_util__["a" /* ParseError */],
  50213. ParseErrorLevel: __WEBPACK_IMPORTED_MODULE_9__parse_util__["e" /* ParseErrorLevel */],
  50214. ParseSourceFile: __WEBPACK_IMPORTED_MODULE_9__parse_util__["b" /* ParseSourceFile */],
  50215. ParseSourceSpan: __WEBPACK_IMPORTED_MODULE_9__parse_util__["d" /* ParseSourceSpan */],
  50216. TemplateParser: __WEBPACK_IMPORTED_MODULE_13__template_parser_template_parser__["a" /* TemplateParser */],
  50217. DomElementSchemaRegistry: __WEBPACK_IMPORTED_MODULE_10__schema_dom_element_schema_registry__["a" /* DomElementSchemaRegistry */],
  50218. StyleCompiler: __WEBPACK_IMPORTED_MODULE_12__style_compiler__["a" /* StyleCompiler */],
  50219. ViewCompiler: __WEBPACK_IMPORTED_MODULE_14__view_compiler_view_compiler__["c" /* ViewCompiler */],
  50220. NgModuleCompiler: __WEBPACK_IMPORTED_MODULE_6__ng_module_compiler__["a" /* NgModuleCompiler */],
  50221. TypeScriptEmitter: __WEBPACK_IMPORTED_MODULE_8__output_ts_emitter__["b" /* TypeScriptEmitter */]
  50222. };
  50223. //# sourceMappingURL=private_export.js.map
  50224. /***/ },
  50225. /* 465 */
  50226. /***/ function(module, exports, __webpack_require__) {
  50227. "use strict";
  50228. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  50229. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return SECURITY_SCHEMA; });
  50230. /**
  50231. * @license
  50232. * Copyright Google Inc. All Rights Reserved.
  50233. *
  50234. * Use of this source code is governed by an MIT-style license that can be
  50235. * found in the LICENSE file at https://angular.io/license
  50236. */
  50237. // =================================================================================================
  50238. // =================================================================================================
  50239. // =========== S T O P - S T O P - S T O P - S T O P - S T O P - S T O P ===========
  50240. // =================================================================================================
  50241. // =================================================================================================
  50242. //
  50243. // DO NOT EDIT THIS LIST OF SECURITY SENSITIVE PROPERTIES WITHOUT A SECURITY REVIEW!
  50244. // Reach out to mprobst for details.
  50245. //
  50246. // =================================================================================================
  50247. /** Map from tagName|propertyName SecurityContext. Properties applying to all tags use '*'. */
  50248. var SECURITY_SCHEMA = {};
  50249. function registerContext(ctx, specs) {
  50250. for (var _i = 0, specs_1 = specs; _i < specs_1.length; _i++) {
  50251. var spec = specs_1[_i];
  50252. SECURITY_SCHEMA[spec.toLowerCase()] = ctx;
  50253. }
  50254. }
  50255. // Case is insignificant below, all element and attribute names are lower-cased for lookup.
  50256. registerContext(__WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].HTML, [
  50257. 'iframe|srcdoc',
  50258. '*|innerHTML',
  50259. '*|outerHTML',
  50260. ]);
  50261. registerContext(__WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].STYLE, ['*|style']);
  50262. // NB: no SCRIPT contexts here, they are never allowed due to the parser stripping them.
  50263. registerContext(__WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].URL, [
  50264. '*|formAction', 'area|href', 'area|ping', 'audio|src', 'a|href',
  50265. 'a|ping', 'blockquote|cite', 'body|background', 'del|cite', 'form|action',
  50266. 'img|src', 'img|srcset', 'input|src', 'ins|cite', 'q|cite',
  50267. 'source|src', 'source|srcset', 'track|src', 'video|poster', 'video|src',
  50268. ]);
  50269. registerContext(__WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].RESOURCE_URL, [
  50270. 'applet|code',
  50271. 'applet|codebase',
  50272. 'base|href',
  50273. 'embed|src',
  50274. 'frame|src',
  50275. 'head|profile',
  50276. 'html|manifest',
  50277. 'iframe|src',
  50278. 'link|href',
  50279. 'media|src',
  50280. 'object|codebase',
  50281. 'object|data',
  50282. 'script|src',
  50283. ]);
  50284. //# sourceMappingURL=dom_security_schema.js.map
  50285. /***/ },
  50286. /* 466 */
  50287. /***/ function(module, exports, __webpack_require__) {
  50288. "use strict";
  50289. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(4);
  50290. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ShadowCss; });
  50291. /* unused harmony export CssRule */
  50292. /* unused harmony export processRules */
  50293. /**
  50294. * @license
  50295. * Copyright Google Inc. All Rights Reserved.
  50296. *
  50297. * Use of this source code is governed by an MIT-style license that can be
  50298. * found in the LICENSE file at https://angular.io/license
  50299. */
  50300. /**
  50301. * This file is a port of shadowCSS from webcomponents.js to TypeScript.
  50302. *
  50303. * Please make sure to keep to edits in sync with the source file.
  50304. *
  50305. * Source:
  50306. * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js
  50307. *
  50308. * The original file level comment is reproduced below
  50309. */
  50310. /*
  50311. This is a limited shim for ShadowDOM css styling.
  50312. https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles
  50313. The intention here is to support only the styling features which can be
  50314. relatively simply implemented. The goal is to allow users to avoid the
  50315. most obvious pitfalls and do so without compromising performance significantly.
  50316. For ShadowDOM styling that's not covered here, a set of best practices
  50317. can be provided that should allow users to accomplish more complex styling.
  50318. The following is a list of specific ShadowDOM styling features and a brief
  50319. discussion of the approach used to shim.
  50320. Shimmed features:
  50321. * :host, :host-context: ShadowDOM allows styling of the shadowRoot's host
  50322. element using the :host rule. To shim this feature, the :host styles are
  50323. reformatted and prefixed with a given scope name and promoted to a
  50324. document level stylesheet.
  50325. For example, given a scope name of .foo, a rule like this:
  50326. :host {
  50327. background: red;
  50328. }
  50329. }
  50330. becomes:
  50331. .foo {
  50332. background: red;
  50333. }
  50334. * encapsulation: Styles defined within ShadowDOM, apply only to
  50335. dom inside the ShadowDOM. Polymer uses one of two techniques to implement
  50336. this feature.
  50337. By default, rules are prefixed with the host element tag name
  50338. as a descendant selector. This ensures styling does not leak out of the 'top'
  50339. of the element's ShadowDOM. For example,
  50340. div {
  50341. font-weight: bold;
  50342. }
  50343. becomes:
  50344. x-foo div {
  50345. font-weight: bold;
  50346. }
  50347. becomes:
  50348. Alternatively, if WebComponents.ShadowCSS.strictStyling is set to true then
  50349. selectors are scoped by adding an attribute selector suffix to each
  50350. simple selector that contains the host element tag name. Each element
  50351. in the element's ShadowDOM template is also given the scope attribute.
  50352. Thus, these rules match only elements that have the scope attribute.
  50353. For example, given a scope name of x-foo, a rule like this:
  50354. div {
  50355. font-weight: bold;
  50356. }
  50357. becomes:
  50358. div[x-foo] {
  50359. font-weight: bold;
  50360. }
  50361. Note that elements that are dynamically added to a scope must have the scope
  50362. selector added to them manually.
  50363. * upper/lower bound encapsulation: Styles which are defined outside a
  50364. shadowRoot should not cross the ShadowDOM boundary and should not apply
  50365. inside a shadowRoot.
  50366. This styling behavior is not emulated. Some possible ways to do this that
  50367. were rejected due to complexity and/or performance concerns include: (1) reset
  50368. every possible property for every possible selector for a given scope name;
  50369. (2) re-implement css in javascript.
  50370. As an alternative, users should make sure to use selectors
  50371. specific to the scope in which they are working.
  50372. * ::distributed: This behavior is not emulated. It's often not necessary
  50373. to style the contents of a specific insertion point and instead, descendants
  50374. of the host element can be styled selectively. Users can also create an
  50375. extra node around an insertion point and style that node's contents
  50376. via descendent selectors. For example, with a shadowRoot like this:
  50377. <style>
  50378. ::content(div) {
  50379. background: red;
  50380. }
  50381. </style>
  50382. <content></content>
  50383. could become:
  50384. <style>
  50385. / *@polyfill .content-container div * /
  50386. ::content(div) {
  50387. background: red;
  50388. }
  50389. </style>
  50390. <div class="content-container">
  50391. <content></content>
  50392. </div>
  50393. Note the use of @polyfill in the comment above a ShadowDOM specific style
  50394. declaration. This is a directive to the styling shim to use the selector
  50395. in comments in lieu of the next selector when running under polyfill.
  50396. */
  50397. var ShadowCss = (function () {
  50398. function ShadowCss() {
  50399. this.strictStyling = true;
  50400. }
  50401. /*
  50402. * Shim some cssText with the given selector. Returns cssText that can
  50403. * be included in the document via WebComponents.ShadowCSS.addCssToDocument(css).
  50404. *
  50405. * When strictStyling is true:
  50406. * - selector is the attribute added to all elements inside the host,
  50407. * - hostSelector is the attribute added to the host itself.
  50408. */
  50409. ShadowCss.prototype.shimCssText = function (cssText, selector, hostSelector) {
  50410. if (hostSelector === void 0) { hostSelector = ''; }
  50411. var sourceMappingUrl = extractSourceMappingUrl(cssText);
  50412. cssText = stripComments(cssText);
  50413. cssText = this._insertDirectives(cssText);
  50414. return this._scopeCssText(cssText, selector, hostSelector) + sourceMappingUrl;
  50415. };
  50416. ShadowCss.prototype._insertDirectives = function (cssText) {
  50417. cssText = this._insertPolyfillDirectivesInCssText(cssText);
  50418. return this._insertPolyfillRulesInCssText(cssText);
  50419. };
  50420. /*
  50421. * Process styles to convert native ShadowDOM rules that will trip
  50422. * up the css parser; we rely on decorating the stylesheet with inert rules.
  50423. *
  50424. * For example, we convert this rule:
  50425. *
  50426. * polyfill-next-selector { content: ':host menu-item'; }
  50427. * ::content menu-item {
  50428. *
  50429. * to this:
  50430. *
  50431. * scopeName menu-item {
  50432. *
  50433. **/
  50434. ShadowCss.prototype._insertPolyfillDirectivesInCssText = function (cssText) {
  50435. // Difference with webcomponents.js: does not handle comments
  50436. return __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replaceAllMapped(cssText, _cssContentNextSelectorRe, function (m /** TODO #9100 */) { return m[1] + '{'; });
  50437. };
  50438. /*
  50439. * Process styles to add rules which will only apply under the polyfill
  50440. *
  50441. * For example, we convert this rule:
  50442. *
  50443. * polyfill-rule {
  50444. * content: ':host menu-item';
  50445. * ...
  50446. * }
  50447. *
  50448. * to this:
  50449. *
  50450. * scopeName menu-item {...}
  50451. *
  50452. **/
  50453. ShadowCss.prototype._insertPolyfillRulesInCssText = function (cssText) {
  50454. // Difference with webcomponents.js: does not handle comments
  50455. return __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replaceAllMapped(cssText, _cssContentRuleRe, function (m /** TODO #9100 */) {
  50456. var rule = m[0];
  50457. rule = __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replace(rule, m[1], '');
  50458. rule = __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replace(rule, m[2], '');
  50459. return m[3] + rule;
  50460. });
  50461. };
  50462. /* Ensure styles are scoped. Pseudo-scoping takes a rule like:
  50463. *
  50464. * .foo {... }
  50465. *
  50466. * and converts this to
  50467. *
  50468. * scopeName .foo { ... }
  50469. */
  50470. ShadowCss.prototype._scopeCssText = function (cssText, scopeSelector, hostSelector) {
  50471. var unscoped = this._extractUnscopedRulesFromCssText(cssText);
  50472. cssText = this._insertPolyfillHostInCssText(cssText);
  50473. cssText = this._convertColonHost(cssText);
  50474. cssText = this._convertColonHostContext(cssText);
  50475. cssText = this._convertShadowDOMSelectors(cssText);
  50476. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(scopeSelector)) {
  50477. cssText = this._scopeSelectors(cssText, scopeSelector, hostSelector);
  50478. }
  50479. cssText = cssText + '\n' + unscoped;
  50480. return cssText.trim();
  50481. };
  50482. /*
  50483. * Process styles to add rules which will only apply under the polyfill
  50484. * and do not process via CSSOM. (CSSOM is destructive to rules on rare
  50485. * occasions, e.g. -webkit-calc on Safari.)
  50486. * For example, we convert this rule:
  50487. *
  50488. * @polyfill-unscoped-rule {
  50489. * content: 'menu-item';
  50490. * ... }
  50491. *
  50492. * to this:
  50493. *
  50494. * menu-item {...}
  50495. *
  50496. **/
  50497. ShadowCss.prototype._extractUnscopedRulesFromCssText = function (cssText) {
  50498. // Difference with webcomponents.js: does not handle comments
  50499. var r = '';
  50500. var m;
  50501. _cssContentUnscopedRuleRe.lastIndex = 0;
  50502. while ((m = _cssContentUnscopedRuleRe.exec(cssText)) !== null) {
  50503. var rule = m[0];
  50504. rule = __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replace(rule, m[2], '');
  50505. rule = __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replace(rule, m[1], m[3]);
  50506. r += rule + '\n\n';
  50507. }
  50508. return r;
  50509. };
  50510. /*
  50511. * convert a rule like :host(.foo) > .bar { }
  50512. *
  50513. * to
  50514. *
  50515. * scopeName.foo > .bar
  50516. */
  50517. ShadowCss.prototype._convertColonHost = function (cssText) {
  50518. return this._convertColonRule(cssText, _cssColonHostRe, this._colonHostPartReplacer);
  50519. };
  50520. /*
  50521. * convert a rule like :host-context(.foo) > .bar { }
  50522. *
  50523. * to
  50524. *
  50525. * scopeName.foo > .bar, .foo scopeName > .bar { }
  50526. *
  50527. * and
  50528. *
  50529. * :host-context(.foo:host) .bar { ... }
  50530. *
  50531. * to
  50532. *
  50533. * scopeName.foo .bar { ... }
  50534. */
  50535. ShadowCss.prototype._convertColonHostContext = function (cssText) {
  50536. return this._convertColonRule(cssText, _cssColonHostContextRe, this._colonHostContextPartReplacer);
  50537. };
  50538. ShadowCss.prototype._convertColonRule = function (cssText, regExp, partReplacer) {
  50539. // p1 = :host, p2 = contents of (), p3 rest of rule
  50540. return __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replaceAllMapped(cssText, regExp, function (m /** TODO #9100 */) {
  50541. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(m[2])) {
  50542. var parts = m[2].split(','), r = [];
  50543. for (var i = 0; i < parts.length; i++) {
  50544. var p = parts[i];
  50545. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(p))
  50546. break;
  50547. p = p.trim();
  50548. r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));
  50549. }
  50550. return r.join(',');
  50551. }
  50552. else {
  50553. return _polyfillHostNoCombinator + m[3];
  50554. }
  50555. });
  50556. };
  50557. ShadowCss.prototype._colonHostContextPartReplacer = function (host, part, suffix) {
  50558. if (__WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].contains(part, _polyfillHost)) {
  50559. return this._colonHostPartReplacer(host, part, suffix);
  50560. }
  50561. else {
  50562. return host + part + suffix + ', ' + part + ' ' + host + suffix;
  50563. }
  50564. };
  50565. ShadowCss.prototype._colonHostPartReplacer = function (host, part, suffix) {
  50566. return host + __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replace(part, _polyfillHost, '') + suffix;
  50567. };
  50568. /*
  50569. * Convert combinators like ::shadow and pseudo-elements like ::content
  50570. * by replacing with space.
  50571. */
  50572. ShadowCss.prototype._convertShadowDOMSelectors = function (cssText) {
  50573. return _shadowDOMSelectorsRe.reduce(function (result, pattern) { return __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replaceAll(result, pattern, ' '); }, cssText);
  50574. };
  50575. // change a selector like 'div' to 'name div'
  50576. ShadowCss.prototype._scopeSelectors = function (cssText, scopeSelector, hostSelector) {
  50577. var _this = this;
  50578. return processRules(cssText, function (rule) {
  50579. var selector = rule.selector;
  50580. var content = rule.content;
  50581. if (rule.selector[0] != '@' || rule.selector.startsWith('@page')) {
  50582. selector =
  50583. _this._scopeSelector(rule.selector, scopeSelector, hostSelector, _this.strictStyling);
  50584. }
  50585. else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports')) {
  50586. content = _this._scopeSelectors(rule.content, scopeSelector, hostSelector);
  50587. }
  50588. return new CssRule(selector, content);
  50589. });
  50590. };
  50591. ShadowCss.prototype._scopeSelector = function (selector, scopeSelector, hostSelector, strict) {
  50592. var _this = this;
  50593. return selector.split(',')
  50594. .map(function (part) { return part.trim().split(_shadowDeepSelectors); })
  50595. .map(function (deepParts) {
  50596. var shallowPart = deepParts[0], otherParts = deepParts.slice(1);
  50597. var applyScope = function (shallowPart) {
  50598. if (_this._selectorNeedsScoping(shallowPart, scopeSelector)) {
  50599. return strict ?
  50600. _this._applyStrictSelectorScope(shallowPart, scopeSelector, hostSelector) :
  50601. _this._applySelectorScope(shallowPart, scopeSelector, hostSelector);
  50602. }
  50603. else {
  50604. return shallowPart;
  50605. }
  50606. };
  50607. return [applyScope(shallowPart)].concat(otherParts).join(' ');
  50608. })
  50609. .join(', ');
  50610. };
  50611. ShadowCss.prototype._selectorNeedsScoping = function (selector, scopeSelector) {
  50612. var re = this._makeScopeMatcher(scopeSelector);
  50613. return !re.test(selector);
  50614. };
  50615. ShadowCss.prototype._makeScopeMatcher = function (scopeSelector) {
  50616. var lre = /\[/g;
  50617. var rre = /\]/g;
  50618. scopeSelector = __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replaceAll(scopeSelector, lre, '\\[');
  50619. scopeSelector = __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replaceAll(scopeSelector, rre, '\\]');
  50620. return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');
  50621. };
  50622. ShadowCss.prototype._applySelectorScope = function (selector, scopeSelector, hostSelector) {
  50623. // Difference from webcomponents.js: scopeSelector could not be an array
  50624. return this._applySimpleSelectorScope(selector, scopeSelector, hostSelector);
  50625. };
  50626. // scope via name and [is=name]
  50627. ShadowCss.prototype._applySimpleSelectorScope = function (selector, scopeSelector, hostSelector) {
  50628. // In Android browser, the lastIndex is not reset when the regex is used in String.replace()
  50629. _polyfillHostRe.lastIndex = 0;
  50630. if (_polyfillHostRe.test(selector)) {
  50631. var replaceBy = this.strictStyling ? "[" + hostSelector + "]" : scopeSelector;
  50632. selector = __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replace(selector, _polyfillHostNoCombinator, replaceBy);
  50633. return __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replaceAll(selector, _polyfillHostRe, replaceBy + ' ');
  50634. }
  50635. else {
  50636. return scopeSelector + ' ' + selector;
  50637. }
  50638. };
  50639. // return a selector with [name] suffix on each simple selector
  50640. // e.g. .foo.bar > .zot becomes .foo[name].bar[name] > .zot[name] /** @internal */
  50641. ShadowCss.prototype._applyStrictSelectorScope = function (selector, scopeSelector, hostSelector) {
  50642. var _this = this;
  50643. var isRe = /\[is=([^\]]*)\]/g;
  50644. scopeSelector = scopeSelector.replace(isRe, function (_) {
  50645. var parts = [];
  50646. for (var _i = 1; _i < arguments.length; _i++) {
  50647. parts[_i - 1] = arguments[_i];
  50648. }
  50649. return parts[0];
  50650. });
  50651. var attrName = '[' + scopeSelector + ']';
  50652. var _scopeSelectorPart = function (p) {
  50653. var scopedP = p.trim();
  50654. if (scopedP.length == 0) {
  50655. return '';
  50656. }
  50657. if (p.indexOf(_polyfillHostNoCombinator) > -1) {
  50658. scopedP = _this._applySimpleSelectorScope(p, scopeSelector, hostSelector);
  50659. }
  50660. else {
  50661. // remove :host since it should be unnecessary
  50662. var t = p.replace(_polyfillHostRe, '');
  50663. if (t.length > 0) {
  50664. var matches = t.match(/([^:]*)(:*)(.*)/);
  50665. if (matches !== null) {
  50666. scopedP = matches[1] + attrName + matches[2] + matches[3];
  50667. }
  50668. }
  50669. }
  50670. return scopedP;
  50671. };
  50672. var sep = /( |>|\+|~(?!=))\s*/g;
  50673. var scopeAfter = selector.indexOf(_polyfillHostNoCombinator);
  50674. var scoped = '';
  50675. var startIndex = 0;
  50676. var res;
  50677. while ((res = sep.exec(selector)) !== null) {
  50678. var separator = res[1];
  50679. var part = selector.slice(startIndex, res.index).trim();
  50680. // if a selector appears before :host-context it should not be shimmed as it
  50681. // matches on ancestor elements and not on elements in the host's shadow
  50682. var scopedPart = startIndex >= scopeAfter ? _scopeSelectorPart(part) : part;
  50683. scoped += scopedPart + " " + separator + " ";
  50684. startIndex = sep.lastIndex;
  50685. }
  50686. return scoped + _scopeSelectorPart(selector.substring(startIndex));
  50687. };
  50688. ShadowCss.prototype._insertPolyfillHostInCssText = function (selector) {
  50689. return selector.replace(_colonHostContextRe, _polyfillHostContext)
  50690. .replace(_colonHostRe, _polyfillHost);
  50691. };
  50692. return ShadowCss;
  50693. }());
  50694. var _cssContentNextSelectorRe = /polyfill-next-selector[^}]*content:[\s]*?['"](.*?)['"][;\s]*}([^{]*?){/gim;
  50695. var _cssContentRuleRe = /(polyfill-rule)[^}]*(content:[\s]*['"](.*?)['"])[;\s]*[^}]*}/gim;
  50696. var _cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content:[\s]*['"](.*?)['"])[;\s]*[^}]*}/gim;
  50697. var _polyfillHost = '-shadowcsshost';
  50698. // note: :host-context pre-processed to -shadowcsshostcontext.
  50699. var _polyfillHostContext = '-shadowcsscontext';
  50700. var _parenSuffix = ')(?:\\((' +
  50701. '(?:\\([^)(]*\\)|[^)(]*)+?' +
  50702. ')\\))?([^,{]*)';
  50703. var _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');
  50704. var _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');
  50705. var _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';
  50706. var _shadowDOMSelectorsRe = [
  50707. /::shadow/g,
  50708. /::content/g,
  50709. // Deprecated selectors
  50710. /\/shadow-deep\//g,
  50711. /\/shadow\//g,
  50712. ];
  50713. var _shadowDeepSelectors = /(?:>>>)|(?:\/deep\/)/g;
  50714. var _selectorReSuffix = '([>\\s~+\[.,{:][\\s\\S]*)?$';
  50715. var _polyfillHostRe = /-shadowcsshost/gim;
  50716. var _colonHostRe = /:host/gim;
  50717. var _colonHostContextRe = /:host-context/gim;
  50718. var _commentRe = /\/\*\s*[\s\S]*?\*\//g;
  50719. function stripComments(input) {
  50720. return __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replaceAllMapped(input, _commentRe, function (_ /** TODO #9100 */) { return ''; });
  50721. }
  50722. // all comments except inline source mapping
  50723. var _sourceMappingUrlRe = /\/\*\s*#\s*sourceMappingURL=[\s\S]+?\*\//;
  50724. function extractSourceMappingUrl(input) {
  50725. var matcher = input.match(_sourceMappingUrlRe);
  50726. return matcher ? matcher[0] : '';
  50727. }
  50728. var _ruleRe = /(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g;
  50729. var _curlyRe = /([{}])/g;
  50730. var OPEN_CURLY = '{';
  50731. var CLOSE_CURLY = '}';
  50732. var BLOCK_PLACEHOLDER = '%BLOCK%';
  50733. var CssRule = (function () {
  50734. function CssRule(selector, content) {
  50735. this.selector = selector;
  50736. this.content = content;
  50737. }
  50738. return CssRule;
  50739. }());
  50740. function processRules(input, ruleCallback) {
  50741. var inputWithEscapedBlocks = escapeBlocks(input);
  50742. var nextBlockIndex = 0;
  50743. return __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].replaceAllMapped(inputWithEscapedBlocks.escapedString, _ruleRe, function (m /** TODO #9100 */) {
  50744. var selector = m[2];
  50745. var content = '';
  50746. var suffix = m[4];
  50747. var contentPrefix = '';
  50748. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["a" /* isPresent */])(m[4]) && m[4].startsWith('{' + BLOCK_PLACEHOLDER)) {
  50749. content = inputWithEscapedBlocks.blocks[nextBlockIndex++];
  50750. suffix = m[4].substring(BLOCK_PLACEHOLDER.length + 1);
  50751. contentPrefix = '{';
  50752. }
  50753. var rule = ruleCallback(new CssRule(selector, content));
  50754. return "" + m[1] + rule.selector + m[3] + contentPrefix + rule.content + suffix;
  50755. });
  50756. }
  50757. var StringWithEscapedBlocks = (function () {
  50758. function StringWithEscapedBlocks(escapedString, blocks) {
  50759. this.escapedString = escapedString;
  50760. this.blocks = blocks;
  50761. }
  50762. return StringWithEscapedBlocks;
  50763. }());
  50764. function escapeBlocks(input) {
  50765. var inputParts = __WEBPACK_IMPORTED_MODULE_0__facade_lang__["f" /* StringWrapper */].split(input, _curlyRe);
  50766. var resultParts = [];
  50767. var escapedBlocks = [];
  50768. var bracketCount = 0;
  50769. var currentBlockParts = [];
  50770. for (var partIndex = 0; partIndex < inputParts.length; partIndex++) {
  50771. var part = inputParts[partIndex];
  50772. if (part == CLOSE_CURLY) {
  50773. bracketCount--;
  50774. }
  50775. if (bracketCount > 0) {
  50776. currentBlockParts.push(part);
  50777. }
  50778. else {
  50779. if (currentBlockParts.length > 0) {
  50780. escapedBlocks.push(currentBlockParts.join(''));
  50781. resultParts.push(BLOCK_PLACEHOLDER);
  50782. currentBlockParts = [];
  50783. }
  50784. resultParts.push(part);
  50785. }
  50786. if (part == OPEN_CURLY) {
  50787. bracketCount++;
  50788. }
  50789. }
  50790. if (currentBlockParts.length > 0) {
  50791. escapedBlocks.push(currentBlockParts.join(''));
  50792. resultParts.push(BLOCK_PLACEHOLDER);
  50793. }
  50794. return new StringWithEscapedBlocks(resultParts.join(''), escapedBlocks);
  50795. }
  50796. //# sourceMappingURL=shadow_css.js.map
  50797. /***/ },
  50798. /* 467 */
  50799. /***/ function(module, exports, __webpack_require__) {
  50800. "use strict";
  50801. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(4);
  50802. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__identifiers__ = __webpack_require__(19);
  50803. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__output_output_ast__ = __webpack_require__(12);
  50804. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(107);
  50805. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return CompilePipe; });
  50806. /**
  50807. * @license
  50808. * Copyright Google Inc. All Rights Reserved.
  50809. *
  50810. * Use of this source code is governed by an MIT-style license that can be
  50811. * found in the LICENSE file at https://angular.io/license
  50812. */
  50813. var CompilePipe = (function () {
  50814. function CompilePipe(view, meta) {
  50815. var _this = this;
  50816. this.view = view;
  50817. this.meta = meta;
  50818. this._purePipeProxyCount = 0;
  50819. this.instance = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["n" /* THIS_EXPR */].prop("_pipe_" + meta.name + "_" + view.pipeCount++);
  50820. var deps = this.meta.type.diDeps.map(function (diDep) {
  50821. if (diDep.token.reference ===
  50822. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__identifiers__["a" /* resolveIdentifierToken */])(__WEBPACK_IMPORTED_MODULE_1__identifiers__["b" /* Identifiers */].ChangeDetectorRef).reference) {
  50823. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["a" /* getPropertyInView */])(__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["n" /* THIS_EXPR */].prop('ref'), _this.view, _this.view.componentView);
  50824. }
  50825. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["b" /* injectFromViewParentInjector */])(diDep.token, false);
  50826. });
  50827. this.view.fields.push(new __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["s" /* ClassField */](this.instance.name, __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["c" /* importType */](this.meta.type)));
  50828. this.view.createMethod.resetDebugInfo(null, null);
  50829. this.view.createMethod.addStmt(__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["n" /* THIS_EXPR */].prop(this.instance.name)
  50830. .set(__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["b" /* importExpr */](this.meta.type).instantiate(deps))
  50831. .toStmt());
  50832. }
  50833. CompilePipe.call = function (view, name, args) {
  50834. var compView = view.componentView;
  50835. var meta = _findPipeMeta(compView, name);
  50836. var pipe;
  50837. if (meta.pure) {
  50838. // pure pipes live on the component view
  50839. pipe = compView.purePipes.get(name);
  50840. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(pipe)) {
  50841. pipe = new CompilePipe(compView, meta);
  50842. compView.purePipes.set(name, pipe);
  50843. compView.pipes.push(pipe);
  50844. }
  50845. }
  50846. else {
  50847. // Non pure pipes live on the view that called it
  50848. pipe = new CompilePipe(view, meta);
  50849. view.pipes.push(pipe);
  50850. }
  50851. return pipe._call(view, args);
  50852. };
  50853. Object.defineProperty(CompilePipe.prototype, "pure", {
  50854. get: function () { return this.meta.pure; },
  50855. enumerable: true,
  50856. configurable: true
  50857. });
  50858. CompilePipe.prototype._call = function (callingView, args) {
  50859. if (this.meta.pure) {
  50860. // PurePipeProxies live on the view that called them.
  50861. var purePipeProxyInstance = __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["n" /* THIS_EXPR */].prop(this.instance.name + "_" + this._purePipeProxyCount++);
  50862. var pipeInstanceSeenFromPureProxy = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["a" /* getPropertyInView */])(this.instance, callingView, this.view);
  50863. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["c" /* createPureProxy */])(pipeInstanceSeenFromPureProxy.prop('transform')
  50864. .callMethod(__WEBPACK_IMPORTED_MODULE_2__output_output_ast__["r" /* BuiltinMethod */].Bind, [pipeInstanceSeenFromPureProxy]), args.length, purePipeProxyInstance, callingView);
  50865. return __WEBPACK_IMPORTED_MODULE_2__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_1__identifiers__["b" /* Identifiers */].castByValue))
  50866. .callFn([purePipeProxyInstance, pipeInstanceSeenFromPureProxy.prop('transform')])
  50867. .callFn(args);
  50868. }
  50869. else {
  50870. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["a" /* getPropertyInView */])(this.instance, callingView, this.view).callMethod('transform', args);
  50871. }
  50872. };
  50873. return CompilePipe;
  50874. }());
  50875. function _findPipeMeta(view, name) {
  50876. var pipeMeta = null;
  50877. for (var i = view.pipeMetas.length - 1; i >= 0; i--) {
  50878. var localPipeMeta = view.pipeMetas[i];
  50879. if (localPipeMeta.name == name) {
  50880. pipeMeta = localPipeMeta;
  50881. break;
  50882. }
  50883. }
  50884. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["b" /* isBlank */])(pipeMeta)) {
  50885. throw new Error("Illegal state: Could not find pipe " + name + " although the parser should have detected this error!");
  50886. }
  50887. return pipeMeta;
  50888. }
  50889. //# sourceMappingURL=compile_pipe.js.map
  50890. /***/ },
  50891. /* 468 */
  50892. /***/ function(module, exports, __webpack_require__) {
  50893. "use strict";
  50894. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(13);
  50895. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(4);
  50896. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__identifiers__ = __webpack_require__(19);
  50897. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__output_output_ast__ = __webpack_require__(12);
  50898. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__compile_binding__ = __webpack_require__(295);
  50899. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__compile_method__ = __webpack_require__(197);
  50900. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__constants__ = __webpack_require__(88);
  50901. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__expression_converter__ = __webpack_require__(299);
  50902. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return CompileElementAnimationOutput; });
  50903. /* unused harmony export CompileEventListener */
  50904. /* harmony export (immutable) */ exports["a"] = collectEventListeners;
  50905. /* harmony export (immutable) */ exports["e"] = bindDirectiveOutputs;
  50906. /* harmony export (immutable) */ exports["d"] = bindRenderOutputs;
  50907. /* harmony export (immutable) */ exports["c"] = bindAnimationOutputs;
  50908. /**
  50909. * @license
  50910. * Copyright Google Inc. All Rights Reserved.
  50911. *
  50912. * Use of this source code is governed by an MIT-style license that can be
  50913. * found in the LICENSE file at https://angular.io/license
  50914. */
  50915. var CompileElementAnimationOutput = (function () {
  50916. function CompileElementAnimationOutput(listener, output) {
  50917. this.listener = listener;
  50918. this.output = output;
  50919. }
  50920. return CompileElementAnimationOutput;
  50921. }());
  50922. var CompileEventListener = (function () {
  50923. function CompileEventListener(compileElement, eventTarget, eventName, listenerIndex) {
  50924. this.compileElement = compileElement;
  50925. this.eventTarget = eventTarget;
  50926. this.eventName = eventName;
  50927. this._hasComponentHostListener = false;
  50928. this._actionResultExprs = [];
  50929. this._method = new __WEBPACK_IMPORTED_MODULE_5__compile_method__["a" /* CompileMethod */](compileElement.view);
  50930. this._methodName =
  50931. "_handle_" + santitizeEventName(eventName) + "_" + compileElement.nodeIndex + "_" + listenerIndex;
  50932. this._eventParam = new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["k" /* FnParam */](__WEBPACK_IMPORTED_MODULE_6__constants__["b" /* EventHandlerVars */].event.name, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["c" /* importType */](this.compileElement.view.genConfig.renderTypes.renderEvent));
  50933. }
  50934. CompileEventListener.getOrCreate = function (compileElement, eventTarget, eventName, targetEventListeners) {
  50935. var listener = targetEventListeners.find(function (listener) { return listener.eventTarget == eventTarget && listener.eventName == eventName; });
  50936. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(listener)) {
  50937. listener = new CompileEventListener(compileElement, eventTarget, eventName, targetEventListeners.length);
  50938. targetEventListeners.push(listener);
  50939. }
  50940. return listener;
  50941. };
  50942. Object.defineProperty(CompileEventListener.prototype, "methodName", {
  50943. get: function () { return this._methodName; },
  50944. enumerable: true,
  50945. configurable: true
  50946. });
  50947. CompileEventListener.prototype.addAction = function (hostEvent, directive, directiveInstance) {
  50948. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(directive) && directive.isComponent) {
  50949. this._hasComponentHostListener = true;
  50950. }
  50951. this._method.resetDebugInfo(this.compileElement.nodeIndex, hostEvent);
  50952. var context = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(directiveInstance) ? directiveInstance :
  50953. this.compileElement.view.componentContext;
  50954. var actionStmts = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__expression_converter__["a" /* convertCdStatementToIr */])(this.compileElement.view, context, hostEvent.handler, this.compileElement.nodeIndex);
  50955. var lastIndex = actionStmts.length - 1;
  50956. if (lastIndex >= 0) {
  50957. var lastStatement = actionStmts[lastIndex];
  50958. var returnExpr = convertStmtIntoExpression(lastStatement);
  50959. var preventDefaultVar = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]("pd_" + this._actionResultExprs.length);
  50960. this._actionResultExprs.push(preventDefaultVar);
  50961. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(returnExpr)) {
  50962. // Note: We need to cast the result of the method call to dynamic,
  50963. // as it might be a void method!
  50964. actionStmts[lastIndex] =
  50965. preventDefaultVar.set(returnExpr.cast(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["l" /* DYNAMIC_TYPE */]).notIdentical(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](false)))
  50966. .toDeclStmt(null, [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["u" /* StmtModifier */].Final]);
  50967. }
  50968. }
  50969. this._method.addStmts(actionStmts);
  50970. };
  50971. CompileEventListener.prototype.finishMethod = function () {
  50972. var markPathToRootStart = this._hasComponentHostListener ?
  50973. this.compileElement.appElement.prop('componentView') :
  50974. __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */];
  50975. var resultExpr = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](true);
  50976. this._actionResultExprs.forEach(function (expr) { resultExpr = resultExpr.and(expr); });
  50977. var stmts = [markPathToRootStart.callMethod('markPathToRootAsCheckOnce', []).toStmt()]
  50978. .concat(this._method.finish())
  50979. .concat([new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["t" /* ReturnStatement */](resultExpr)]);
  50980. // private is fine here as no child view will reference the event handler...
  50981. this.compileElement.view.eventHandlerMethods.push(new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["C" /* ClassMethod */](this._methodName, [this._eventParam], stmts, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["D" /* BOOL_TYPE */], [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["u" /* StmtModifier */].Private]));
  50982. };
  50983. CompileEventListener.prototype.listenToRenderer = function () {
  50984. var listenExpr;
  50985. var eventListener = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].callMethod('eventHandler', [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop(this._methodName).callMethod(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["r" /* BuiltinMethod */].Bind, [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */]])]);
  50986. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(this.eventTarget)) {
  50987. listenExpr = __WEBPACK_IMPORTED_MODULE_6__constants__["c" /* ViewProperties */].renderer.callMethod('listenGlobal', [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](this.eventTarget), __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](this.eventName), eventListener]);
  50988. }
  50989. else {
  50990. listenExpr = __WEBPACK_IMPORTED_MODULE_6__constants__["c" /* ViewProperties */].renderer.callMethod('listen', [this.compileElement.renderNode, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](this.eventName), eventListener]);
  50991. }
  50992. var disposable = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]("disposable_" + this.compileElement.view.disposables.length);
  50993. this.compileElement.view.disposables.push(disposable);
  50994. // private is fine here as no child view will reference the event handler...
  50995. this.compileElement.view.createMethod.addStmt(disposable.set(listenExpr).toDeclStmt(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["E" /* FUNCTION_TYPE */], [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["u" /* StmtModifier */].Private]));
  50996. };
  50997. CompileEventListener.prototype.listenToAnimation = function (output) {
  50998. var outputListener = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].callMethod('eventHandler', [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop(this._methodName).callMethod(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["r" /* BuiltinMethod */].Bind, [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */]])]);
  50999. // tie the property callback method to the view animations map
  51000. var stmt = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */]
  51001. .callMethod('registerAnimationOutput', [
  51002. this.compileElement.renderNode,
  51003. __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].AnimationOutput)).instantiate([
  51004. __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](output.name), __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](output.phase)
  51005. ]),
  51006. outputListener
  51007. ])
  51008. .toStmt();
  51009. this.compileElement.view.createMethod.addStmt(stmt);
  51010. };
  51011. CompileEventListener.prototype.listenToDirective = function (directiveInstance, observablePropName) {
  51012. var subscription = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]("subscription_" + this.compileElement.view.subscriptions.length);
  51013. this.compileElement.view.subscriptions.push(subscription);
  51014. var eventListener = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].callMethod('eventHandler', [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop(this._methodName).callMethod(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["r" /* BuiltinMethod */].Bind, [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */]])]);
  51015. this.compileElement.view.createMethod.addStmt(subscription
  51016. .set(directiveInstance.prop(observablePropName)
  51017. .callMethod(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["r" /* BuiltinMethod */].SubscribeObservable, [eventListener]))
  51018. .toDeclStmt(null, [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["u" /* StmtModifier */].Final]));
  51019. };
  51020. return CompileEventListener;
  51021. }());
  51022. function collectEventListeners(hostEvents, dirs, compileElement) {
  51023. var eventListeners = [];
  51024. hostEvents.forEach(function (hostEvent) {
  51025. compileElement.view.bindings.push(new __WEBPACK_IMPORTED_MODULE_4__compile_binding__["a" /* CompileBinding */](compileElement, hostEvent));
  51026. var listener = CompileEventListener.getOrCreate(compileElement, hostEvent.target, hostEvent.name, eventListeners);
  51027. listener.addAction(hostEvent, null, null);
  51028. });
  51029. dirs.forEach(function (directiveAst) {
  51030. var directiveInstance = compileElement.instances.get(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["c" /* identifierToken */])(directiveAst.directive.type).reference);
  51031. directiveAst.hostEvents.forEach(function (hostEvent) {
  51032. compileElement.view.bindings.push(new __WEBPACK_IMPORTED_MODULE_4__compile_binding__["a" /* CompileBinding */](compileElement, hostEvent));
  51033. var listener = CompileEventListener.getOrCreate(compileElement, hostEvent.target, hostEvent.name, eventListeners);
  51034. listener.addAction(hostEvent, directiveAst.directive, directiveInstance);
  51035. });
  51036. });
  51037. eventListeners.forEach(function (listener) { return listener.finishMethod(); });
  51038. return eventListeners;
  51039. }
  51040. function bindDirectiveOutputs(directiveAst, directiveInstance, eventListeners) {
  51041. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["b" /* StringMapWrapper */].forEach(directiveAst.directive.outputs, function (eventName /** TODO #9100 */, observablePropName /** TODO #9100 */) {
  51042. eventListeners.filter(function (listener) { return listener.eventName == eventName; }).forEach(function (listener) {
  51043. listener.listenToDirective(directiveInstance, observablePropName);
  51044. });
  51045. });
  51046. }
  51047. function bindRenderOutputs(eventListeners) {
  51048. eventListeners.forEach(function (listener) { return listener.listenToRenderer(); });
  51049. }
  51050. function bindAnimationOutputs(eventListeners) {
  51051. eventListeners.forEach(function (entry) { entry.listener.listenToAnimation(entry.output); });
  51052. }
  51053. function convertStmtIntoExpression(stmt) {
  51054. if (stmt instanceof __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["F" /* ExpressionStatement */]) {
  51055. return stmt.expr;
  51056. }
  51057. else if (stmt instanceof __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["t" /* ReturnStatement */]) {
  51058. return stmt.value;
  51059. }
  51060. return null;
  51061. }
  51062. function santitizeEventName(name) {
  51063. return __WEBPACK_IMPORTED_MODULE_1__facade_lang__["f" /* StringWrapper */].replaceAll(name, /[^a-zA-Z_]/g, '_');
  51064. }
  51065. //# sourceMappingURL=event_binder.js.map
  51066. /***/ },
  51067. /* 469 */
  51068. /***/ function(module, exports, __webpack_require__) {
  51069. "use strict";
  51070. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__output_output_ast__ = __webpack_require__(12);
  51071. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__private_import_core__ = __webpack_require__(20);
  51072. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(88);
  51073. /* harmony export (immutable) */ exports["b"] = bindDirectiveDetectChangesLifecycleCallbacks;
  51074. /* harmony export (immutable) */ exports["c"] = bindDirectiveAfterContentLifecycleCallbacks;
  51075. /* harmony export (immutable) */ exports["d"] = bindDirectiveAfterViewLifecycleCallbacks;
  51076. /* harmony export (immutable) */ exports["e"] = bindInjectableDestroyLifecycleCallbacks;
  51077. /* harmony export (immutable) */ exports["a"] = bindPipeDestroyLifecycleCallbacks;
  51078. /**
  51079. * @license
  51080. * Copyright Google Inc. All Rights Reserved.
  51081. *
  51082. * Use of this source code is governed by an MIT-style license that can be
  51083. * found in the LICENSE file at https://angular.io/license
  51084. */
  51085. var STATE_IS_NEVER_CHECKED = __WEBPACK_IMPORTED_MODULE_0__output_output_ast__["n" /* THIS_EXPR */].prop('numberOfChecks').identical(new __WEBPACK_IMPORTED_MODULE_0__output_output_ast__["G" /* LiteralExpr */](0));
  51086. var NOT_THROW_ON_CHANGES = __WEBPACK_IMPORTED_MODULE_0__output_output_ast__["A" /* not */](__WEBPACK_IMPORTED_MODULE_2__constants__["d" /* DetectChangesVars */].throwOnChange);
  51087. function bindDirectiveDetectChangesLifecycleCallbacks(directiveAst, directiveInstance, compileElement) {
  51088. var view = compileElement.view;
  51089. var detectChangesInInputsMethod = view.detectChangesInInputsMethod;
  51090. var lifecycleHooks = directiveAst.directive.type.lifecycleHooks;
  51091. if (lifecycleHooks.indexOf(__WEBPACK_IMPORTED_MODULE_1__private_import_core__["X" /* LifecycleHooks */].OnChanges) !== -1 && directiveAst.inputs.length > 0) {
  51092. detectChangesInInputsMethod.addStmt(new __WEBPACK_IMPORTED_MODULE_0__output_output_ast__["i" /* IfStmt */](__WEBPACK_IMPORTED_MODULE_2__constants__["d" /* DetectChangesVars */].changes.notIdentical(__WEBPACK_IMPORTED_MODULE_0__output_output_ast__["h" /* NULL_EXPR */]), [directiveInstance.callMethod('ngOnChanges', [__WEBPACK_IMPORTED_MODULE_2__constants__["d" /* DetectChangesVars */].changes]).toStmt()]));
  51093. }
  51094. if (lifecycleHooks.indexOf(__WEBPACK_IMPORTED_MODULE_1__private_import_core__["X" /* LifecycleHooks */].OnInit) !== -1) {
  51095. detectChangesInInputsMethod.addStmt(new __WEBPACK_IMPORTED_MODULE_0__output_output_ast__["i" /* IfStmt */](STATE_IS_NEVER_CHECKED.and(NOT_THROW_ON_CHANGES), [directiveInstance.callMethod('ngOnInit', []).toStmt()]));
  51096. }
  51097. if (lifecycleHooks.indexOf(__WEBPACK_IMPORTED_MODULE_1__private_import_core__["X" /* LifecycleHooks */].DoCheck) !== -1) {
  51098. detectChangesInInputsMethod.addStmt(new __WEBPACK_IMPORTED_MODULE_0__output_output_ast__["i" /* IfStmt */](NOT_THROW_ON_CHANGES, [directiveInstance.callMethod('ngDoCheck', []).toStmt()]));
  51099. }
  51100. }
  51101. function bindDirectiveAfterContentLifecycleCallbacks(directiveMeta, directiveInstance, compileElement) {
  51102. var view = compileElement.view;
  51103. var lifecycleHooks = directiveMeta.type.lifecycleHooks;
  51104. var afterContentLifecycleCallbacksMethod = view.afterContentLifecycleCallbacksMethod;
  51105. afterContentLifecycleCallbacksMethod.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);
  51106. if (lifecycleHooks.indexOf(__WEBPACK_IMPORTED_MODULE_1__private_import_core__["X" /* LifecycleHooks */].AfterContentInit) !== -1) {
  51107. afterContentLifecycleCallbacksMethod.addStmt(new __WEBPACK_IMPORTED_MODULE_0__output_output_ast__["i" /* IfStmt */](STATE_IS_NEVER_CHECKED, [directiveInstance.callMethod('ngAfterContentInit', []).toStmt()]));
  51108. }
  51109. if (lifecycleHooks.indexOf(__WEBPACK_IMPORTED_MODULE_1__private_import_core__["X" /* LifecycleHooks */].AfterContentChecked) !== -1) {
  51110. afterContentLifecycleCallbacksMethod.addStmt(directiveInstance.callMethod('ngAfterContentChecked', []).toStmt());
  51111. }
  51112. }
  51113. function bindDirectiveAfterViewLifecycleCallbacks(directiveMeta, directiveInstance, compileElement) {
  51114. var view = compileElement.view;
  51115. var lifecycleHooks = directiveMeta.type.lifecycleHooks;
  51116. var afterViewLifecycleCallbacksMethod = view.afterViewLifecycleCallbacksMethod;
  51117. afterViewLifecycleCallbacksMethod.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);
  51118. if (lifecycleHooks.indexOf(__WEBPACK_IMPORTED_MODULE_1__private_import_core__["X" /* LifecycleHooks */].AfterViewInit) !== -1) {
  51119. afterViewLifecycleCallbacksMethod.addStmt(new __WEBPACK_IMPORTED_MODULE_0__output_output_ast__["i" /* IfStmt */](STATE_IS_NEVER_CHECKED, [directiveInstance.callMethod('ngAfterViewInit', []).toStmt()]));
  51120. }
  51121. if (lifecycleHooks.indexOf(__WEBPACK_IMPORTED_MODULE_1__private_import_core__["X" /* LifecycleHooks */].AfterViewChecked) !== -1) {
  51122. afterViewLifecycleCallbacksMethod.addStmt(directiveInstance.callMethod('ngAfterViewChecked', []).toStmt());
  51123. }
  51124. }
  51125. function bindInjectableDestroyLifecycleCallbacks(provider, providerInstance, compileElement) {
  51126. var onDestroyMethod = compileElement.view.destroyMethod;
  51127. onDestroyMethod.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);
  51128. if (provider.lifecycleHooks.indexOf(__WEBPACK_IMPORTED_MODULE_1__private_import_core__["X" /* LifecycleHooks */].OnDestroy) !== -1) {
  51129. onDestroyMethod.addStmt(providerInstance.callMethod('ngOnDestroy', []).toStmt());
  51130. }
  51131. }
  51132. function bindPipeDestroyLifecycleCallbacks(pipeMeta, pipeInstance, view) {
  51133. var onDestroyMethod = view.destroyMethod;
  51134. if (pipeMeta.type.lifecycleHooks.indexOf(__WEBPACK_IMPORTED_MODULE_1__private_import_core__["X" /* LifecycleHooks */].OnDestroy) !== -1) {
  51135. onDestroyMethod.addStmt(pipeInstance.callMethod('ngOnDestroy', []).toStmt());
  51136. }
  51137. }
  51138. //# sourceMappingURL=lifecycle_binder.js.map
  51139. /***/ },
  51140. /* 470 */
  51141. /***/ function(module, exports, __webpack_require__) {
  51142. "use strict";
  51143. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  51144. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(4);
  51145. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__identifiers__ = __webpack_require__(19);
  51146. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__output_output_ast__ = __webpack_require__(12);
  51147. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__private_import_core__ = __webpack_require__(20);
  51148. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__ = __webpack_require__(51);
  51149. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util__ = __webpack_require__(29);
  51150. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__compile_binding__ = __webpack_require__(295);
  51151. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__constants__ = __webpack_require__(88);
  51152. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__expression_converter__ = __webpack_require__(299);
  51153. /* harmony export (immutable) */ exports["a"] = bindRenderText;
  51154. /* harmony export (immutable) */ exports["b"] = bindRenderInputs;
  51155. /* harmony export (immutable) */ exports["d"] = bindDirectiveHostProps;
  51156. /* harmony export (immutable) */ exports["c"] = bindDirectiveInputs;
  51157. /**
  51158. * @license
  51159. * Copyright Google Inc. All Rights Reserved.
  51160. *
  51161. * Use of this source code is governed by an MIT-style license that can be
  51162. * found in the LICENSE file at https://angular.io/license
  51163. */
  51164. function createBindFieldExpr(exprIndex) {
  51165. return __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop("_expr_" + exprIndex);
  51166. }
  51167. function createCurrValueExpr(exprIndex) {
  51168. return __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]("currVal_" + exprIndex); // fix syntax highlighting: `
  51169. }
  51170. var _animationViewCheckedFlagMap = new Map();
  51171. function bind(view, currValExpr, fieldExpr, parsedExpression, context, actions, method, bindingIndex) {
  51172. var checkExpression = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__expression_converter__["b" /* convertCdExpressionToIr */])(view, context, parsedExpression, __WEBPACK_IMPORTED_MODULE_8__constants__["d" /* DetectChangesVars */].valUnwrapper, bindingIndex);
  51173. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* isBlank */])(checkExpression.expression)) {
  51174. // e.g. an empty expression was given
  51175. return;
  51176. }
  51177. if (checkExpression.temporaryCount) {
  51178. for (var i = 0; i < checkExpression.temporaryCount; i++) {
  51179. method.addStmt(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__expression_converter__["c" /* temporaryDeclaration */])(bindingIndex, i));
  51180. }
  51181. }
  51182. // private is fine here as no child view will reference the cached value...
  51183. view.fields.push(new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["s" /* ClassField */](fieldExpr.name, null, [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["u" /* StmtModifier */].Private]));
  51184. view.createMethod.addStmt(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop(fieldExpr.name)
  51185. .set(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].UNINITIALIZED)))
  51186. .toStmt());
  51187. if (checkExpression.needsValueUnwrapper) {
  51188. var initValueUnwrapperStmt = __WEBPACK_IMPORTED_MODULE_8__constants__["d" /* DetectChangesVars */].valUnwrapper.callMethod('reset', []).toStmt();
  51189. method.addStmt(initValueUnwrapperStmt);
  51190. }
  51191. method.addStmt(currValExpr.set(checkExpression.expression).toDeclStmt(null, [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["u" /* StmtModifier */].Final]));
  51192. var condition = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].checkBinding)).callFn([
  51193. __WEBPACK_IMPORTED_MODULE_8__constants__["d" /* DetectChangesVars */].throwOnChange, fieldExpr, currValExpr
  51194. ]);
  51195. if (checkExpression.needsValueUnwrapper) {
  51196. condition = __WEBPACK_IMPORTED_MODULE_8__constants__["d" /* DetectChangesVars */].valUnwrapper.prop('hasWrappedValue').or(condition);
  51197. }
  51198. method.addStmt(new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["i" /* IfStmt */](condition, actions.concat([__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop(fieldExpr.name).set(currValExpr).toStmt()])));
  51199. }
  51200. function bindRenderText(boundText, compileNode, view) {
  51201. var bindingIndex = view.bindings.length;
  51202. view.bindings.push(new __WEBPACK_IMPORTED_MODULE_7__compile_binding__["a" /* CompileBinding */](compileNode, boundText));
  51203. var currValExpr = createCurrValueExpr(bindingIndex);
  51204. var valueField = createBindFieldExpr(bindingIndex);
  51205. view.detectChangesRenderPropertiesMethod.resetDebugInfo(compileNode.nodeIndex, boundText);
  51206. bind(view, currValExpr, valueField, boundText.value, view.componentContext, [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop('renderer')
  51207. .callMethod('setText', [compileNode.renderNode, currValExpr])
  51208. .toStmt()], view.detectChangesRenderPropertiesMethod, bindingIndex);
  51209. }
  51210. function bindAndWriteToRenderer(boundProps, context, compileElement, isHostProp) {
  51211. var view = compileElement.view;
  51212. var renderNode = compileElement.renderNode;
  51213. boundProps.forEach(function (boundProp) {
  51214. var bindingIndex = view.bindings.length;
  51215. view.bindings.push(new __WEBPACK_IMPORTED_MODULE_7__compile_binding__["a" /* CompileBinding */](compileElement, boundProp));
  51216. view.detectChangesRenderPropertiesMethod.resetDebugInfo(compileElement.nodeIndex, boundProp);
  51217. var fieldExpr = createBindFieldExpr(bindingIndex);
  51218. var currValExpr = createCurrValueExpr(bindingIndex);
  51219. var renderMethod;
  51220. var oldRenderValue = sanitizedValue(boundProp, fieldExpr);
  51221. var renderValue = sanitizedValue(boundProp, currValExpr);
  51222. var updateStmts = [];
  51223. var compileMethod = view.detectChangesRenderPropertiesMethod;
  51224. switch (boundProp.type) {
  51225. case __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["l" /* PropertyBindingType */].Property:
  51226. if (view.genConfig.logBindingUpdate) {
  51227. updateStmts.push(logBindingUpdateStmt(renderNode, boundProp.name, renderValue));
  51228. }
  51229. updateStmts.push(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop('renderer')
  51230. .callMethod('setElementProperty', [renderNode, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](boundProp.name), renderValue])
  51231. .toStmt());
  51232. break;
  51233. case __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["l" /* PropertyBindingType */].Attribute:
  51234. renderValue =
  51235. renderValue.isBlank().conditional(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["h" /* NULL_EXPR */], renderValue.callMethod('toString', []));
  51236. updateStmts.push(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop('renderer')
  51237. .callMethod('setElementAttribute', [renderNode, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](boundProp.name), renderValue])
  51238. .toStmt());
  51239. break;
  51240. case __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["l" /* PropertyBindingType */].Class:
  51241. updateStmts.push(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop('renderer')
  51242. .callMethod('setElementClass', [renderNode, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](boundProp.name), renderValue])
  51243. .toStmt());
  51244. break;
  51245. case __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["l" /* PropertyBindingType */].Style:
  51246. var strValue = renderValue.callMethod('toString', []);
  51247. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(boundProp.unit)) {
  51248. strValue = strValue.plus(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](boundProp.unit));
  51249. }
  51250. renderValue = renderValue.isBlank().conditional(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["h" /* NULL_EXPR */], strValue);
  51251. updateStmts.push(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop('renderer')
  51252. .callMethod('setElementStyle', [renderNode, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](boundProp.name), renderValue])
  51253. .toStmt());
  51254. break;
  51255. case __WEBPACK_IMPORTED_MODULE_5__template_parser_template_ast__["l" /* PropertyBindingType */].Animation:
  51256. var animationName = boundProp.name;
  51257. var targetViewExpr = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */];
  51258. if (isHostProp) {
  51259. targetViewExpr = compileElement.appElement.prop('componentView');
  51260. }
  51261. compileMethod = view.animationBindingsMethod;
  51262. var animationFnExpr = targetViewExpr.prop('componentType').prop('animations').key(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](animationName));
  51263. // it's important to normalize the void value as `void` explicitly
  51264. // so that the styles data can be obtained from the stringmap
  51265. var emptyStateValue = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](__WEBPACK_IMPORTED_MODULE_4__private_import_core__["W" /* EMPTY_STATE */]);
  51266. // void => ...
  51267. var oldRenderVar = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]('oldRenderVar');
  51268. updateStmts.push(oldRenderVar.set(oldRenderValue).toDeclStmt());
  51269. updateStmts.push(new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["i" /* IfStmt */](oldRenderVar.equals(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].UNINITIALIZED))), [oldRenderVar.set(emptyStateValue).toStmt()]));
  51270. // ... => void
  51271. var newRenderVar = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["e" /* variable */]('newRenderVar');
  51272. updateStmts.push(newRenderVar.set(renderValue).toDeclStmt());
  51273. updateStmts.push(new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["i" /* IfStmt */](newRenderVar.equals(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].UNINITIALIZED))), [newRenderVar.set(emptyStateValue).toStmt()]));
  51274. updateStmts.push(animationFnExpr.callFn([__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */], renderNode, oldRenderVar, newRenderVar]).toStmt());
  51275. view.detachMethod.addStmt(animationFnExpr.callFn([__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */], renderNode, oldRenderValue, emptyStateValue])
  51276. .toStmt());
  51277. break;
  51278. }
  51279. bind(view, currValExpr, fieldExpr, boundProp.value, context, updateStmts, compileMethod, view.bindings.length);
  51280. });
  51281. }
  51282. function sanitizedValue(boundProp, renderValue) {
  51283. var enumValue;
  51284. switch (boundProp.securityContext) {
  51285. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].NONE:
  51286. return renderValue; // No sanitization needed.
  51287. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].HTML:
  51288. enumValue = 'HTML';
  51289. break;
  51290. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].STYLE:
  51291. enumValue = 'STYLE';
  51292. break;
  51293. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].SCRIPT:
  51294. enumValue = 'SCRIPT';
  51295. break;
  51296. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].URL:
  51297. enumValue = 'URL';
  51298. break;
  51299. case __WEBPACK_IMPORTED_MODULE_0__angular_core__["SecurityContext"].RESOURCE_URL:
  51300. enumValue = 'RESOURCE_URL';
  51301. break;
  51302. default:
  51303. throw new Error("internal error, unexpected SecurityContext " + boundProp.securityContext + ".");
  51304. }
  51305. var ctx = __WEBPACK_IMPORTED_MODULE_8__constants__["c" /* ViewProperties */].viewUtils.prop('sanitizer');
  51306. var args = [__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].SecurityContext)).prop(enumValue), renderValue];
  51307. return ctx.callMethod('sanitize', args);
  51308. }
  51309. function bindRenderInputs(boundProps, compileElement) {
  51310. bindAndWriteToRenderer(boundProps, compileElement.view.componentContext, compileElement, false);
  51311. }
  51312. function bindDirectiveHostProps(directiveAst, directiveInstance, compileElement) {
  51313. bindAndWriteToRenderer(directiveAst.hostProperties, directiveInstance, compileElement, true);
  51314. }
  51315. function bindDirectiveInputs(directiveAst, directiveInstance, compileElement) {
  51316. if (directiveAst.inputs.length === 0) {
  51317. return;
  51318. }
  51319. var view = compileElement.view;
  51320. var detectChangesInInputsMethod = view.detectChangesInInputsMethod;
  51321. detectChangesInInputsMethod.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);
  51322. var lifecycleHooks = directiveAst.directive.type.lifecycleHooks;
  51323. var calcChangesMap = lifecycleHooks.indexOf(__WEBPACK_IMPORTED_MODULE_4__private_import_core__["X" /* LifecycleHooks */].OnChanges) !== -1;
  51324. var isOnPushComp = directiveAst.directive.isComponent &&
  51325. !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__private_import_core__["Y" /* isDefaultChangeDetectionStrategy */])(directiveAst.directive.changeDetection);
  51326. if (calcChangesMap) {
  51327. detectChangesInInputsMethod.addStmt(__WEBPACK_IMPORTED_MODULE_8__constants__["d" /* DetectChangesVars */].changes.set(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["h" /* NULL_EXPR */]).toStmt());
  51328. }
  51329. if (isOnPushComp) {
  51330. detectChangesInInputsMethod.addStmt(__WEBPACK_IMPORTED_MODULE_8__constants__["d" /* DetectChangesVars */].changed.set(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](false)).toStmt());
  51331. }
  51332. directiveAst.inputs.forEach(function (input) {
  51333. var bindingIndex = view.bindings.length;
  51334. view.bindings.push(new __WEBPACK_IMPORTED_MODULE_7__compile_binding__["a" /* CompileBinding */](compileElement, input));
  51335. detectChangesInInputsMethod.resetDebugInfo(compileElement.nodeIndex, input);
  51336. var fieldExpr = createBindFieldExpr(bindingIndex);
  51337. var currValExpr = createCurrValueExpr(bindingIndex);
  51338. var statements = [directiveInstance.prop(input.directiveName).set(currValExpr).toStmt()];
  51339. if (calcChangesMap) {
  51340. statements.push(new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["i" /* IfStmt */](__WEBPACK_IMPORTED_MODULE_8__constants__["d" /* DetectChangesVars */].changes.identical(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["h" /* NULL_EXPR */]), [__WEBPACK_IMPORTED_MODULE_8__constants__["d" /* DetectChangesVars */].changes
  51341. .set(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["f" /* literalMap */]([], new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["w" /* MapType */](__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["c" /* importType */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].SimpleChange)))))
  51342. .toStmt()]));
  51343. statements.push(__WEBPACK_IMPORTED_MODULE_8__constants__["d" /* DetectChangesVars */].changes.key(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](input.directiveName))
  51344. .set(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["b" /* importExpr */](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__identifiers__["d" /* resolveIdentifier */])(__WEBPACK_IMPORTED_MODULE_2__identifiers__["b" /* Identifiers */].SimpleChange))
  51345. .instantiate([fieldExpr, currValExpr]))
  51346. .toStmt());
  51347. }
  51348. if (isOnPushComp) {
  51349. statements.push(__WEBPACK_IMPORTED_MODULE_8__constants__["d" /* DetectChangesVars */].changed.set(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */](true)).toStmt());
  51350. }
  51351. if (view.genConfig.logBindingUpdate) {
  51352. statements.push(logBindingUpdateStmt(compileElement.renderNode, input.directiveName, currValExpr));
  51353. }
  51354. bind(view, currValExpr, fieldExpr, input.value, view.componentContext, statements, detectChangesInInputsMethod, bindingIndex);
  51355. });
  51356. if (isOnPushComp) {
  51357. detectChangesInInputsMethod.addStmt(new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["i" /* IfStmt */](__WEBPACK_IMPORTED_MODULE_8__constants__["d" /* DetectChangesVars */].changed, [
  51358. compileElement.appElement.prop('componentView').callMethod('markAsCheckOnce', []).toStmt()
  51359. ]));
  51360. }
  51361. }
  51362. function logBindingUpdateStmt(renderNode, propName, value) {
  51363. var tryStmt = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop('renderer')
  51364. .callMethod('setBindingDebugInfo', [
  51365. renderNode, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */]("ng-reflect-" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__util__["f" /* camelCaseToDashCase */])(propName)),
  51366. value.isBlank().conditional(__WEBPACK_IMPORTED_MODULE_3__output_output_ast__["h" /* NULL_EXPR */], value.callMethod('toString', []))
  51367. ])
  51368. .toStmt();
  51369. var catchStmt = __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["n" /* THIS_EXPR */].prop('renderer')
  51370. .callMethod('setBindingDebugInfo', [
  51371. renderNode, __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */]("ng-reflect-" + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__util__["f" /* camelCaseToDashCase */])(propName)),
  51372. __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["a" /* literal */]('[ERROR] Exception while trying to serialize the value')
  51373. ])
  51374. .toStmt();
  51375. return new __WEBPACK_IMPORTED_MODULE_3__output_output_ast__["H" /* TryCatchStmt */]([tryStmt], [catchStmt]);
  51376. }
  51377. //# sourceMappingURL=property_binder.js.map
  51378. /***/ },
  51379. /* 471 */
  51380. /***/ function(module, exports, __webpack_require__) {
  51381. "use strict";
  51382. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__template_parser_template_ast__ = __webpack_require__(51);
  51383. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__event_binder__ = __webpack_require__(468);
  51384. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lifecycle_binder__ = __webpack_require__(469);
  51385. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__property_binder__ = __webpack_require__(470);
  51386. /* harmony export (immutable) */ exports["a"] = bindView;
  51387. function bindView(view, parsedTemplate, animationOutputs) {
  51388. var visitor = new ViewBinderVisitor(view, animationOutputs);
  51389. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__template_parser_template_ast__["c" /* templateVisitAll */])(visitor, parsedTemplate);
  51390. view.pipes.forEach(function (pipe) { __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__lifecycle_binder__["a" /* bindPipeDestroyLifecycleCallbacks */])(pipe.meta, pipe.instance, pipe.view); });
  51391. }
  51392. var ViewBinderVisitor = (function () {
  51393. function ViewBinderVisitor(view, animationOutputs) {
  51394. var _this = this;
  51395. this.view = view;
  51396. this.animationOutputs = animationOutputs;
  51397. this._nodeIndex = 0;
  51398. this._animationOutputsMap = {};
  51399. animationOutputs.forEach(function (entry) { _this._animationOutputsMap[entry.fullPropertyName] = entry; });
  51400. }
  51401. ViewBinderVisitor.prototype.visitBoundText = function (ast, parent) {
  51402. var node = this.view.customNodesStorage[this._nodeIndex++];
  51403. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__property_binder__["a" /* bindRenderText */])(ast, node, this.view);
  51404. return null;
  51405. };
  51406. ViewBinderVisitor.prototype.visitText = function (ast, parent) {
  51407. this._nodeIndex++;
  51408. return null;
  51409. };
  51410. ViewBinderVisitor.prototype.visitNgContent = function (ast, parent) { return null; };
  51411. ViewBinderVisitor.prototype.visitElement = function (ast, parent) {
  51412. var _this = this;
  51413. var compileElement = this.view.customNodesStorage[this._nodeIndex++];
  51414. var eventListeners = [];
  51415. var animationEventListeners = [];
  51416. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__event_binder__["a" /* collectEventListeners */])(ast.outputs, ast.directives, compileElement).forEach(function (entry) {
  51417. // TODO: figure out how to abstract this `if` statement elsewhere
  51418. if (entry.eventName[0] == '@') {
  51419. var animationOutputName = entry.eventName.substr(1);
  51420. var output = _this._animationOutputsMap[animationOutputName];
  51421. // no need to report an error here since the parser will
  51422. // have caught the missing animation trigger definition
  51423. if (output) {
  51424. animationEventListeners.push(new __WEBPACK_IMPORTED_MODULE_1__event_binder__["b" /* CompileElementAnimationOutput */](entry, output));
  51425. }
  51426. }
  51427. else {
  51428. eventListeners.push(entry);
  51429. }
  51430. });
  51431. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__event_binder__["c" /* bindAnimationOutputs */])(animationEventListeners);
  51432. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__property_binder__["b" /* bindRenderInputs */])(ast.inputs, compileElement);
  51433. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__event_binder__["d" /* bindRenderOutputs */])(eventListeners);
  51434. ast.directives.forEach(function (directiveAst) {
  51435. var directiveInstance = compileElement.instances.get(directiveAst.directive.type.reference);
  51436. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__property_binder__["c" /* bindDirectiveInputs */])(directiveAst, directiveInstance, compileElement);
  51437. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__lifecycle_binder__["b" /* bindDirectiveDetectChangesLifecycleCallbacks */])(directiveAst, directiveInstance, compileElement);
  51438. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__property_binder__["d" /* bindDirectiveHostProps */])(directiveAst, directiveInstance, compileElement);
  51439. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__event_binder__["e" /* bindDirectiveOutputs */])(directiveAst, directiveInstance, eventListeners);
  51440. });
  51441. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__template_parser_template_ast__["c" /* templateVisitAll */])(this, ast.children, compileElement);
  51442. // afterContent and afterView lifecycles need to be called bottom up
  51443. // so that children are notified before parents
  51444. ast.directives.forEach(function (directiveAst) {
  51445. var directiveInstance = compileElement.instances.get(directiveAst.directive.type.reference);
  51446. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__lifecycle_binder__["c" /* bindDirectiveAfterContentLifecycleCallbacks */])(directiveAst.directive, directiveInstance, compileElement);
  51447. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__lifecycle_binder__["d" /* bindDirectiveAfterViewLifecycleCallbacks */])(directiveAst.directive, directiveInstance, compileElement);
  51448. });
  51449. ast.providers.forEach(function (providerAst) {
  51450. var providerInstance = compileElement.instances.get(providerAst.token.reference);
  51451. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__lifecycle_binder__["e" /* bindInjectableDestroyLifecycleCallbacks */])(providerAst, providerInstance, compileElement);
  51452. });
  51453. return null;
  51454. };
  51455. ViewBinderVisitor.prototype.visitEmbeddedTemplate = function (ast, parent) {
  51456. var compileElement = this.view.customNodesStorage[this._nodeIndex++];
  51457. var eventListeners = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__event_binder__["a" /* collectEventListeners */])(ast.outputs, ast.directives, compileElement);
  51458. ast.directives.forEach(function (directiveAst) {
  51459. var directiveInstance = compileElement.instances.get(directiveAst.directive.type.reference);
  51460. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__property_binder__["c" /* bindDirectiveInputs */])(directiveAst, directiveInstance, compileElement);
  51461. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__lifecycle_binder__["b" /* bindDirectiveDetectChangesLifecycleCallbacks */])(directiveAst, directiveInstance, compileElement);
  51462. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__event_binder__["e" /* bindDirectiveOutputs */])(directiveAst, directiveInstance, eventListeners);
  51463. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__lifecycle_binder__["c" /* bindDirectiveAfterContentLifecycleCallbacks */])(directiveAst.directive, directiveInstance, compileElement);
  51464. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__lifecycle_binder__["d" /* bindDirectiveAfterViewLifecycleCallbacks */])(directiveAst.directive, directiveInstance, compileElement);
  51465. });
  51466. ast.providers.forEach(function (providerAst) {
  51467. var providerInstance = compileElement.instances.get(providerAst.token.reference);
  51468. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__lifecycle_binder__["e" /* bindInjectableDestroyLifecycleCallbacks */])(providerAst, providerInstance, compileElement);
  51469. });
  51470. bindView(compileElement.embeddedView, ast.children, this.animationOutputs);
  51471. return null;
  51472. };
  51473. ViewBinderVisitor.prototype.visitAttr = function (ast, ctx) { return null; };
  51474. ViewBinderVisitor.prototype.visitDirective = function (ast, ctx) { return null; };
  51475. ViewBinderVisitor.prototype.visitEvent = function (ast, eventTargetAndNames) {
  51476. return null;
  51477. };
  51478. ViewBinderVisitor.prototype.visitReference = function (ast, ctx) { return null; };
  51479. ViewBinderVisitor.prototype.visitVariable = function (ast, ctx) { return null; };
  51480. ViewBinderVisitor.prototype.visitDirectiveProperty = function (ast, context) { return null; };
  51481. ViewBinderVisitor.prototype.visitElementProperty = function (ast, context) { return null; };
  51482. return ViewBinderVisitor;
  51483. }());
  51484. //# sourceMappingURL=view_binder.js.map
  51485. /***/ },
  51486. /* 472 */
  51487. /***/ function(module, exports, __webpack_require__) {
  51488. "use strict";
  51489. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AnimationKeyframe; });
  51490. /**
  51491. * @license
  51492. * Copyright Google Inc. All Rights Reserved.
  51493. *
  51494. * Use of this source code is governed by an MIT-style license that can be
  51495. * found in the LICENSE file at https://angular.io/license
  51496. */
  51497. var AnimationKeyframe = (function () {
  51498. function AnimationKeyframe(offset, styles) {
  51499. this.offset = offset;
  51500. this.styles = styles;
  51501. }
  51502. return AnimationKeyframe;
  51503. }());
  51504. //# sourceMappingURL=animation_keyframe.js.map
  51505. /***/ },
  51506. /* 473 */
  51507. /***/ function(module, exports, __webpack_require__) {
  51508. "use strict";
  51509. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AnimationOutput; });
  51510. /**
  51511. * @license
  51512. * Copyright Google Inc. All Rights Reserved.
  51513. *
  51514. * Use of this source code is governed by an MIT-style license that can be
  51515. * found in the LICENSE file at https://angular.io/license
  51516. */
  51517. var AnimationOutput = (function () {
  51518. function AnimationOutput(name, phase, fullPropertyName) {
  51519. this.name = name;
  51520. this.phase = phase;
  51521. this.fullPropertyName = fullPropertyName;
  51522. }
  51523. return AnimationOutput;
  51524. }());
  51525. //# sourceMappingURL=animation_output.js.map
  51526. /***/ },
  51527. /* 474 */
  51528. /***/ function(module, exports, __webpack_require__) {
  51529. "use strict";
  51530. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(5);
  51531. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__animation_player__ = __webpack_require__(198);
  51532. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AnimationSequencePlayer; });
  51533. /**
  51534. * @license
  51535. * Copyright Google Inc. All Rights Reserved.
  51536. *
  51537. * Use of this source code is governed by an MIT-style license that can be
  51538. * found in the LICENSE file at https://angular.io/license
  51539. */
  51540. var AnimationSequencePlayer = (function () {
  51541. function AnimationSequencePlayer(_players) {
  51542. var _this = this;
  51543. this._players = _players;
  51544. this._currentIndex = 0;
  51545. this._onDoneFns = [];
  51546. this._onStartFns = [];
  51547. this._finished = false;
  51548. this._started = false;
  51549. this.parentPlayer = null;
  51550. this._players.forEach(function (player) { player.parentPlayer = _this; });
  51551. this._onNext(false);
  51552. }
  51553. AnimationSequencePlayer.prototype._onNext = function (start) {
  51554. var _this = this;
  51555. if (this._finished)
  51556. return;
  51557. if (this._players.length == 0) {
  51558. this._activePlayer = new __WEBPACK_IMPORTED_MODULE_1__animation_player__["a" /* NoOpAnimationPlayer */]();
  51559. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["q" /* scheduleMicroTask */])(function () { return _this._onFinish(); });
  51560. }
  51561. else if (this._currentIndex >= this._players.length) {
  51562. this._activePlayer = new __WEBPACK_IMPORTED_MODULE_1__animation_player__["a" /* NoOpAnimationPlayer */]();
  51563. this._onFinish();
  51564. }
  51565. else {
  51566. var player = this._players[this._currentIndex++];
  51567. player.onDone(function () { return _this._onNext(true); });
  51568. this._activePlayer = player;
  51569. if (start) {
  51570. player.play();
  51571. }
  51572. }
  51573. };
  51574. AnimationSequencePlayer.prototype._onFinish = function () {
  51575. if (!this._finished) {
  51576. this._finished = true;
  51577. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(this.parentPlayer)) {
  51578. this.destroy();
  51579. }
  51580. this._onDoneFns.forEach(function (fn) { return fn(); });
  51581. this._onDoneFns = [];
  51582. }
  51583. };
  51584. AnimationSequencePlayer.prototype.init = function () { this._players.forEach(function (player) { return player.init(); }); };
  51585. AnimationSequencePlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };
  51586. AnimationSequencePlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };
  51587. AnimationSequencePlayer.prototype.hasStarted = function () { return this._started; };
  51588. AnimationSequencePlayer.prototype.play = function () {
  51589. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(this.parentPlayer)) {
  51590. this.init();
  51591. }
  51592. if (!this.hasStarted()) {
  51593. this._onStartFns.forEach(function (fn) { return fn(); });
  51594. this._onStartFns = [];
  51595. this._started = true;
  51596. }
  51597. this._activePlayer.play();
  51598. };
  51599. AnimationSequencePlayer.prototype.pause = function () { this._activePlayer.pause(); };
  51600. AnimationSequencePlayer.prototype.restart = function () {
  51601. if (this._players.length > 0) {
  51602. this.reset();
  51603. this._players[0].restart();
  51604. }
  51605. };
  51606. AnimationSequencePlayer.prototype.reset = function () { this._players.forEach(function (player) { return player.reset(); }); };
  51607. AnimationSequencePlayer.prototype.finish = function () {
  51608. this._onFinish();
  51609. this._players.forEach(function (player) { return player.finish(); });
  51610. };
  51611. AnimationSequencePlayer.prototype.destroy = function () {
  51612. this._onFinish();
  51613. this._players.forEach(function (player) { return player.destroy(); });
  51614. };
  51615. AnimationSequencePlayer.prototype.setPosition = function (p /** TODO #9100 */) { this._players[0].setPosition(p); };
  51616. AnimationSequencePlayer.prototype.getPosition = function () { return this._players[0].getPosition(); };
  51617. return AnimationSequencePlayer;
  51618. }());
  51619. //# sourceMappingURL=animation_sequence_player.js.map
  51620. /***/ },
  51621. /* 475 */
  51622. /***/ function(module, exports, __webpack_require__) {
  51623. "use strict";
  51624. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(16);
  51625. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(5);
  51626. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__animation_constants__ = __webpack_require__(301);
  51627. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__metadata__ = __webpack_require__(305);
  51628. /* harmony export (immutable) */ exports["a"] = prepareFinalAnimationStyles;
  51629. /* harmony export (immutable) */ exports["b"] = balanceAnimationKeyframes;
  51630. /* harmony export (immutable) */ exports["d"] = clearStyles;
  51631. /* harmony export (immutable) */ exports["f"] = collectAndResolveStyles;
  51632. /* harmony export (immutable) */ exports["e"] = renderStyles;
  51633. /* harmony export (immutable) */ exports["c"] = flattenStyles;
  51634. /**
  51635. * @license
  51636. * Copyright Google Inc. All Rights Reserved.
  51637. *
  51638. * Use of this source code is governed by an MIT-style license that can be
  51639. * found in the LICENSE file at https://angular.io/license
  51640. */
  51641. function prepareFinalAnimationStyles(previousStyles, newStyles, nullValue) {
  51642. if (nullValue === void 0) { nullValue = null; }
  51643. var finalStyles = {};
  51644. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].forEach(newStyles, function (value, prop) {
  51645. finalStyles[prop] = value == __WEBPACK_IMPORTED_MODULE_3__metadata__["a" /* AUTO_STYLE */] ? nullValue : value.toString();
  51646. });
  51647. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].forEach(previousStyles, function (value, prop) {
  51648. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(finalStyles[prop])) {
  51649. finalStyles[prop] = nullValue;
  51650. }
  51651. });
  51652. return finalStyles;
  51653. }
  51654. function balanceAnimationKeyframes(collectedStyles, finalStateStyles, keyframes) {
  51655. var limit = keyframes.length - 1;
  51656. var firstKeyframe = keyframes[0];
  51657. // phase 1: copy all the styles from the first keyframe into the lookup map
  51658. var flatenedFirstKeyframeStyles = flattenStyles(firstKeyframe.styles.styles);
  51659. var extraFirstKeyframeStyles = {};
  51660. var hasExtraFirstStyles = false;
  51661. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].forEach(collectedStyles, function (value, prop) {
  51662. // if the style is already defined in the first keyframe then
  51663. // we do not replace it.
  51664. if (!flatenedFirstKeyframeStyles[prop]) {
  51665. flatenedFirstKeyframeStyles[prop] = value;
  51666. extraFirstKeyframeStyles[prop] = value;
  51667. hasExtraFirstStyles = true;
  51668. }
  51669. });
  51670. var keyframeCollectedStyles = __WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].merge({}, flatenedFirstKeyframeStyles);
  51671. // phase 2: normalize the final keyframe
  51672. var finalKeyframe = keyframes[limit];
  51673. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].insert(finalKeyframe.styles.styles, 0, finalStateStyles);
  51674. var flatenedFinalKeyframeStyles = flattenStyles(finalKeyframe.styles.styles);
  51675. var extraFinalKeyframeStyles = {};
  51676. var hasExtraFinalStyles = false;
  51677. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].forEach(keyframeCollectedStyles, function (value, prop) {
  51678. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(flatenedFinalKeyframeStyles[prop])) {
  51679. extraFinalKeyframeStyles[prop] = __WEBPACK_IMPORTED_MODULE_3__metadata__["a" /* AUTO_STYLE */];
  51680. hasExtraFinalStyles = true;
  51681. }
  51682. });
  51683. if (hasExtraFinalStyles) {
  51684. finalKeyframe.styles.styles.push(extraFinalKeyframeStyles);
  51685. }
  51686. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].forEach(flatenedFinalKeyframeStyles, function (value, prop) {
  51687. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(flatenedFirstKeyframeStyles[prop])) {
  51688. extraFirstKeyframeStyles[prop] = __WEBPACK_IMPORTED_MODULE_3__metadata__["a" /* AUTO_STYLE */];
  51689. hasExtraFirstStyles = true;
  51690. }
  51691. });
  51692. if (hasExtraFirstStyles) {
  51693. firstKeyframe.styles.styles.push(extraFirstKeyframeStyles);
  51694. }
  51695. return keyframes;
  51696. }
  51697. function clearStyles(styles) {
  51698. var finalStyles = {};
  51699. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].keys(styles).forEach(function (key) { finalStyles[key] = null; });
  51700. return finalStyles;
  51701. }
  51702. function collectAndResolveStyles(collection, styles) {
  51703. return styles.map(function (entry) {
  51704. var stylesObj = {};
  51705. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].forEach(entry, function (value, prop) {
  51706. if (value == __WEBPACK_IMPORTED_MODULE_2__animation_constants__["a" /* FILL_STYLE_FLAG */]) {
  51707. value = collection[prop];
  51708. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(value)) {
  51709. value = __WEBPACK_IMPORTED_MODULE_3__metadata__["a" /* AUTO_STYLE */];
  51710. }
  51711. }
  51712. collection[prop] = value;
  51713. stylesObj[prop] = value;
  51714. });
  51715. return stylesObj;
  51716. });
  51717. }
  51718. function renderStyles(element, renderer, styles) {
  51719. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].forEach(styles, function (value, prop) { renderer.setElementStyle(element, prop, value); });
  51720. }
  51721. function flattenStyles(styles) {
  51722. var finalStyles = {};
  51723. styles.forEach(function (entry) {
  51724. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].forEach(entry, function (value, prop) { finalStyles[prop] = value; });
  51725. });
  51726. return finalStyles;
  51727. }
  51728. //# sourceMappingURL=animation_style_util.js.map
  51729. /***/ },
  51730. /* 476 */
  51731. /***/ function(module, exports, __webpack_require__) {
  51732. "use strict";
  51733. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AnimationStyles; });
  51734. /**
  51735. * @license
  51736. * Copyright Google Inc. All Rights Reserved.
  51737. *
  51738. * Use of this source code is governed by an MIT-style license that can be
  51739. * found in the LICENSE file at https://angular.io/license
  51740. */
  51741. var AnimationStyles = (function () {
  51742. function AnimationStyles(styles) {
  51743. this.styles = styles;
  51744. }
  51745. return AnimationStyles;
  51746. }());
  51747. //# sourceMappingURL=animation_styles.js.map
  51748. /***/ },
  51749. /* 477 */
  51750. /***/ function(module, exports, __webpack_require__) {
  51751. "use strict";
  51752. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(16);
  51753. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(5);
  51754. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ViewAnimationMap; });
  51755. /**
  51756. * @license
  51757. * Copyright Google Inc. All Rights Reserved.
  51758. *
  51759. * Use of this source code is governed by an MIT-style license that can be
  51760. * found in the LICENSE file at https://angular.io/license
  51761. */
  51762. var ViewAnimationMap = (function () {
  51763. function ViewAnimationMap() {
  51764. this._map = new Map();
  51765. this._allPlayers = [];
  51766. }
  51767. Object.defineProperty(ViewAnimationMap.prototype, "length", {
  51768. get: function () { return this.getAllPlayers().length; },
  51769. enumerable: true,
  51770. configurable: true
  51771. });
  51772. ViewAnimationMap.prototype.find = function (element, animationName) {
  51773. var playersByAnimation = this._map.get(element);
  51774. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(playersByAnimation)) {
  51775. return playersByAnimation[animationName];
  51776. }
  51777. };
  51778. ViewAnimationMap.prototype.findAllPlayersByElement = function (element) {
  51779. var el = this._map.get(element);
  51780. return el ? __WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].values(el) : [];
  51781. };
  51782. ViewAnimationMap.prototype.set = function (element, animationName, player) {
  51783. var playersByAnimation = this._map.get(element);
  51784. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(playersByAnimation)) {
  51785. playersByAnimation = {};
  51786. }
  51787. var existingEntry = playersByAnimation[animationName];
  51788. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["e" /* isPresent */])(existingEntry)) {
  51789. this.remove(element, animationName);
  51790. }
  51791. playersByAnimation[animationName] = player;
  51792. this._allPlayers.push(player);
  51793. this._map.set(element, playersByAnimation);
  51794. };
  51795. ViewAnimationMap.prototype.getAllPlayers = function () { return this._allPlayers; };
  51796. ViewAnimationMap.prototype.remove = function (element, animationName) {
  51797. var playersByAnimation = this._map.get(element);
  51798. if (playersByAnimation) {
  51799. var player = playersByAnimation[animationName];
  51800. delete playersByAnimation[animationName];
  51801. var index = this._allPlayers.indexOf(player);
  51802. this._allPlayers.splice(index, 1);
  51803. if (__WEBPACK_IMPORTED_MODULE_0__facade_collection__["d" /* StringMapWrapper */].isEmpty(playersByAnimation)) {
  51804. this._map.delete(element);
  51805. }
  51806. }
  51807. };
  51808. return ViewAnimationMap;
  51809. }());
  51810. //# sourceMappingURL=view_animation_map.js.map
  51811. /***/ },
  51812. /* 478 */
  51813. /***/ function(module, exports, __webpack_require__) {
  51814. "use strict";
  51815. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__application_init__ = __webpack_require__(199);
  51816. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__application_ref__ = __webpack_require__(200);
  51817. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__application_tokens__ = __webpack_require__(135);
  51818. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__change_detection_change_detection__ = __webpack_require__(136);
  51819. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__i18n_tokens__ = __webpack_require__(312);
  51820. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__linker_compiler__ = __webpack_require__(108);
  51821. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__linker_view_utils__ = __webpack_require__(143);
  51822. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__metadata__ = __webpack_require__(322);
  51823. /* unused harmony export _iterableDiffersFactory */
  51824. /* unused harmony export _keyValueDiffersFactory */
  51825. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ApplicationModule; });
  51826. /**
  51827. * @license
  51828. * Copyright Google Inc. All Rights Reserved.
  51829. *
  51830. * Use of this source code is governed by an MIT-style license that can be
  51831. * found in the LICENSE file at https://angular.io/license
  51832. */
  51833. function _iterableDiffersFactory() {
  51834. return __WEBPACK_IMPORTED_MODULE_3__change_detection_change_detection__["b" /* defaultIterableDiffers */];
  51835. }
  51836. function _keyValueDiffersFactory() {
  51837. return __WEBPACK_IMPORTED_MODULE_3__change_detection_change_detection__["c" /* defaultKeyValueDiffers */];
  51838. }
  51839. /**
  51840. * This module includes the providers of @angular/core that are needed
  51841. * to bootstrap components via `ApplicationRef`.
  51842. *
  51843. * @experimental
  51844. */
  51845. var ApplicationModule = (function () {
  51846. function ApplicationModule() {
  51847. }
  51848. ApplicationModule.decorators = [
  51849. { type: __WEBPACK_IMPORTED_MODULE_7__metadata__["a" /* NgModule */], args: [{
  51850. providers: [
  51851. __WEBPACK_IMPORTED_MODULE_1__application_ref__["d" /* ApplicationRef_ */],
  51852. { provide: __WEBPACK_IMPORTED_MODULE_1__application_ref__["e" /* ApplicationRef */], useExisting: __WEBPACK_IMPORTED_MODULE_1__application_ref__["d" /* ApplicationRef_ */] },
  51853. __WEBPACK_IMPORTED_MODULE_0__application_init__["a" /* ApplicationInitStatus */],
  51854. __WEBPACK_IMPORTED_MODULE_5__linker_compiler__["b" /* Compiler */],
  51855. __WEBPACK_IMPORTED_MODULE_2__application_tokens__["d" /* APP_ID_RANDOM_PROVIDER */],
  51856. __WEBPACK_IMPORTED_MODULE_6__linker_view_utils__["a" /* ViewUtils */],
  51857. { provide: __WEBPACK_IMPORTED_MODULE_3__change_detection_change_detection__["d" /* IterableDiffers */], useFactory: _iterableDiffersFactory },
  51858. { provide: __WEBPACK_IMPORTED_MODULE_3__change_detection_change_detection__["e" /* KeyValueDiffers */], useFactory: _keyValueDiffersFactory },
  51859. { provide: __WEBPACK_IMPORTED_MODULE_4__i18n_tokens__["a" /* LOCALE_ID */], useValue: 'en-US' },
  51860. ]
  51861. },] },
  51862. ];
  51863. /** @nocollapse */
  51864. ApplicationModule.ctorParameters = [];
  51865. return ApplicationModule;
  51866. }());
  51867. //# sourceMappingURL=application_module.js.map
  51868. /***/ },
  51869. /* 479 */
  51870. /***/ function(module, exports, __webpack_require__) {
  51871. "use strict";
  51872. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__change_detection_change_detection__ = __webpack_require__(136);
  51873. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__change_detection_change_detection__["g"]; });
  51874. /* harmony reexport (binding) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_0__change_detection_change_detection__["h"]; });
  51875. /* harmony reexport (binding) */ __webpack_require__.d(exports, "g", function() { return __WEBPACK_IMPORTED_MODULE_0__change_detection_change_detection__["k"]; });
  51876. /* harmony reexport (binding) */ __webpack_require__.d(exports, "h", function() { return __WEBPACK_IMPORTED_MODULE_0__change_detection_change_detection__["l"]; });
  51877. /* harmony reexport (binding) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_0__change_detection_change_detection__["d"]; });
  51878. /* harmony reexport (binding) */ __webpack_require__.d(exports, "i", function() { return __WEBPACK_IMPORTED_MODULE_0__change_detection_change_detection__["m"]; });
  51879. /* harmony reexport (binding) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_0__change_detection_change_detection__["e"]; });
  51880. /* harmony reexport (binding) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_0__change_detection_change_detection__["i"]; });
  51881. /* harmony reexport (binding) */ __webpack_require__.d(exports, "f", function() { return __WEBPACK_IMPORTED_MODULE_0__change_detection_change_detection__["j"]; });
  51882. /**
  51883. * @license
  51884. * Copyright Google Inc. All Rights Reserved.
  51885. *
  51886. * Use of this source code is governed by an MIT-style license that can be
  51887. * found in the LICENSE file at https://angular.io/license
  51888. */
  51889. /**
  51890. * @module
  51891. * @description
  51892. * Change detection enables data binding in Angular.
  51893. */
  51894. //# sourceMappingURL=change_detection.js.map
  51895. /***/ },
  51896. /* 480 */
  51897. /***/ function(module, exports, __webpack_require__) {
  51898. "use strict";
  51899. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ChangeDetectorRef; });
  51900. /**
  51901. * @license
  51902. * Copyright Google Inc. All Rights Reserved.
  51903. *
  51904. * Use of this source code is governed by an MIT-style license that can be
  51905. * found in the LICENSE file at https://angular.io/license
  51906. */
  51907. /**
  51908. * @stable
  51909. */
  51910. var ChangeDetectorRef = (function () {
  51911. function ChangeDetectorRef() {
  51912. }
  51913. return ChangeDetectorRef;
  51914. }());
  51915. //# sourceMappingURL=change_detector_ref.js.map
  51916. /***/ },
  51917. /* 481 */
  51918. /***/ function(module, exports, __webpack_require__) {
  51919. "use strict";
  51920. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__metadata__ = __webpack_require__(322);
  51921. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(497);
  51922. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__di__ = __webpack_require__(39);
  51923. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__application_ref__ = __webpack_require__(200);
  51924. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__application_tokens__ = __webpack_require__(135);
  51925. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__application_init__ = __webpack_require__(199);
  51926. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__zone__ = __webpack_require__(498);
  51927. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__render__ = __webpack_require__(496);
  51928. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__linker__ = __webpack_require__(486);
  51929. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__debug_debug_node__ = __webpack_require__(309);
  51930. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__testability_testability__ = __webpack_require__(212);
  51931. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__change_detection__ = __webpack_require__(479);
  51932. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__platform_core_providers__ = __webpack_require__(494);
  51933. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__i18n_tokens__ = __webpack_require__(312);
  51934. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__application_module__ = __webpack_require__(478);
  51935. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__profile_profile__ = __webpack_require__(144);
  51936. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__type__ = __webpack_require__(213);
  51937. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__facade_async__ = __webpack_require__(207);
  51938. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__error_handler__ = __webpack_require__(311);
  51939. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__core_private_export__ = __webpack_require__(482);
  51940. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__animation_metadata__ = __webpack_require__(305);
  51941. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__animation_animation_transition_event__ = __webpack_require__(304);
  51942. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__animation_animation_player__ = __webpack_require__(198);
  51943. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__security__ = __webpack_require__(327);
  51944. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["b"]; });
  51945. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "f", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["c"]; });
  51946. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "z", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["d"]; });
  51947. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "B", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["e"]; });
  51948. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "C", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["f"]; });
  51949. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "D", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["g"]; });
  51950. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "E", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["h"]; });
  51951. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "F", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["i"]; });
  51952. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "G", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["j"]; });
  51953. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "H", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["k"]; });
  51954. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "I", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["l"]; });
  51955. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "J", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["m"]; });
  51956. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "K", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["n"]; });
  51957. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "L", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["o"]; });
  51958. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "M", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["p"]; });
  51959. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "N", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["q"]; });
  51960. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "O", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["r"]; });
  51961. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "P", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["a"]; });
  51962. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "Q", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["s"]; });
  51963. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_1", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["t"]; });
  51964. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_5", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["u"]; });
  51965. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_6", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["v"]; });
  51966. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_49", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["w"]; });
  51967. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_50", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["x"]; });
  51968. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_51", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["y"]; });
  51969. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_52", function() { return __WEBPACK_IMPORTED_MODULE_0__metadata__["z"]; });
  51970. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_53", function() { return __WEBPACK_IMPORTED_MODULE_1__util__["a"]; });
  51971. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_2__di__["b"]; });
  51972. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "p", function() { return __WEBPACK_IMPORTED_MODULE_2__di__["g"]; });
  51973. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "v", function() { return __WEBPACK_IMPORTED_MODULE_2__di__["a"]; });
  51974. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "w", function() { return __WEBPACK_IMPORTED_MODULE_2__di__["d"]; });
  51975. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "x", function() { return __WEBPACK_IMPORTED_MODULE_2__di__["c"]; });
  51976. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "A", function() { return __WEBPACK_IMPORTED_MODULE_2__di__["h"]; });
  51977. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "Y", function() { return __WEBPACK_IMPORTED_MODULE_2__di__["i"]; });
  51978. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "Z", function() { return __WEBPACK_IMPORTED_MODULE_2__di__["j"]; });
  51979. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_0", function() { return __WEBPACK_IMPORTED_MODULE_2__di__["e"]; });
  51980. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_8", function() { return __WEBPACK_IMPORTED_MODULE_2__di__["f"]; });
  51981. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_28", function() { return __WEBPACK_IMPORTED_MODULE_2__di__["k"]; });
  51982. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_54", function() { return __WEBPACK_IMPORTED_MODULE_2__di__["l"]; });
  51983. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_55", function() { return __WEBPACK_IMPORTED_MODULE_2__di__["m"]; });
  51984. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_29", function() { return __WEBPACK_IMPORTED_MODULE_3__application_ref__["g"]; });
  51985. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_30", function() { return __WEBPACK_IMPORTED_MODULE_3__application_ref__["h"]; });
  51986. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_31", function() { return __WEBPACK_IMPORTED_MODULE_3__application_ref__["i"]; });
  51987. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_32", function() { return __WEBPACK_IMPORTED_MODULE_3__application_ref__["j"]; });
  51988. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_21", function() { return __WEBPACK_IMPORTED_MODULE_3__application_ref__["e"]; });
  51989. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_33", function() { return __WEBPACK_IMPORTED_MODULE_3__application_ref__["k"]; });
  51990. /* harmony reexport (binding) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_3__application_ref__["f"]; });
  51991. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_10", function() { return __WEBPACK_IMPORTED_MODULE_3__application_ref__["c"]; });
  51992. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_34", function() { return __WEBPACK_IMPORTED_MODULE_3__application_ref__["b"]; });
  51993. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_35", function() { return __WEBPACK_IMPORTED_MODULE_4__application_tokens__["a"]; });
  51994. /* harmony reexport (binding) */ __webpack_require__.d(exports, "y", function() { return __WEBPACK_IMPORTED_MODULE_4__application_tokens__["e"]; });
  51995. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_36", function() { return __WEBPACK_IMPORTED_MODULE_4__application_tokens__["c"]; });
  51996. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_13", function() { return __WEBPACK_IMPORTED_MODULE_4__application_tokens__["b"]; });
  51997. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_37", function() { return __WEBPACK_IMPORTED_MODULE_5__application_init__["a"]; });
  51998. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_38", function() { return __WEBPACK_IMPORTED_MODULE_5__application_init__["b"]; });
  51999. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_20", function() { return __WEBPACK_IMPORTED_MODULE_6__zone__["a"]; });
  52000. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "j", function() { return __WEBPACK_IMPORTED_MODULE_7__render__["a"]; });
  52001. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "q", function() { return __WEBPACK_IMPORTED_MODULE_7__render__["b"]; });
  52002. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_23", function() { return __WEBPACK_IMPORTED_MODULE_7__render__["c"]; });
  52003. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "g", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["a"]; });
  52004. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "h", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["b"]; });
  52005. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "k", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["c"]; });
  52006. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "l", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["d"]; });
  52007. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "m", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["e"]; });
  52008. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "n", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["f"]; });
  52009. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "o", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["g"]; });
  52010. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_3", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["h"]; });
  52011. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_4", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["i"]; });
  52012. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_9", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["j"]; });
  52013. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_12", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["k"]; });
  52014. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_56", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["l"]; });
  52015. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_57", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["m"]; });
  52016. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_58", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["n"]; });
  52017. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_59", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["o"]; });
  52018. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_60", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["p"]; });
  52019. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_61", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["q"]; });
  52020. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_62", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["r"]; });
  52021. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_63", function() { return __WEBPACK_IMPORTED_MODULE_8__linker__["s"]; });
  52022. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_39", function() { return __WEBPACK_IMPORTED_MODULE_9__debug_debug_node__["a"]; });
  52023. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_40", function() { return __WEBPACK_IMPORTED_MODULE_9__debug_debug_node__["d"]; });
  52024. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_41", function() { return __WEBPACK_IMPORTED_MODULE_9__debug_debug_node__["g"]; });
  52025. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_22", function() { return __WEBPACK_IMPORTED_MODULE_9__debug_debug_node__["c"]; });
  52026. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_26", function() { return __WEBPACK_IMPORTED_MODULE_10__testability_testability__["a"]; });
  52027. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_42", function() { return __WEBPACK_IMPORTED_MODULE_10__testability_testability__["b"]; });
  52028. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_19", function() { return __WEBPACK_IMPORTED_MODULE_10__testability_testability__["c"]; });
  52029. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_11__change_detection__["a"]; });
  52030. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "i", function() { return __WEBPACK_IMPORTED_MODULE_11__change_detection__["b"]; });
  52031. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "r", function() { return __WEBPACK_IMPORTED_MODULE_11__change_detection__["c"]; });
  52032. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_15", function() { return __WEBPACK_IMPORTED_MODULE_11__change_detection__["d"]; });
  52033. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_16", function() { return __WEBPACK_IMPORTED_MODULE_11__change_detection__["e"]; });
  52034. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_17", function() { return __WEBPACK_IMPORTED_MODULE_11__change_detection__["f"]; });
  52035. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_64", function() { return __WEBPACK_IMPORTED_MODULE_11__change_detection__["g"]; });
  52036. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_65", function() { return __WEBPACK_IMPORTED_MODULE_11__change_detection__["h"]; });
  52037. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_66", function() { return __WEBPACK_IMPORTED_MODULE_11__change_detection__["i"]; });
  52038. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_11", function() { return __WEBPACK_IMPORTED_MODULE_12__platform_core_providers__["a"]; });
  52039. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_7", function() { return __WEBPACK_IMPORTED_MODULE_13__i18n_tokens__["c"]; });
  52040. /* harmony reexport (binding) */ __webpack_require__.d(exports, "u", function() { return __WEBPACK_IMPORTED_MODULE_13__i18n_tokens__["b"]; });
  52041. /* harmony reexport (binding) */ __webpack_require__.d(exports, "t", function() { return __WEBPACK_IMPORTED_MODULE_13__i18n_tokens__["a"]; });
  52042. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_27", function() { return __WEBPACK_IMPORTED_MODULE_14__application_module__["a"]; });
  52043. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_43", function() { return __WEBPACK_IMPORTED_MODULE_15__profile_profile__["a"]; });
  52044. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_44", function() { return __WEBPACK_IMPORTED_MODULE_15__profile_profile__["b"]; });
  52045. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_45", function() { return __WEBPACK_IMPORTED_MODULE_15__profile_profile__["c"]; });
  52046. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_46", function() { return __WEBPACK_IMPORTED_MODULE_15__profile_profile__["d"]; });
  52047. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_2", function() { return __WEBPACK_IMPORTED_MODULE_16__type__["a"]; });
  52048. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_14", function() { return __WEBPACK_IMPORTED_MODULE_17__facade_async__["a"]; });
  52049. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_25", function() { return __WEBPACK_IMPORTED_MODULE_18__error_handler__["a"]; });
  52050. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_19__core_private_export__["a"]; });
  52051. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "R", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["b"]; });
  52052. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "S", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["c"]; });
  52053. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "T", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["d"]; });
  52054. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "U", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["e"]; });
  52055. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "V", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["f"]; });
  52056. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "W", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["g"]; });
  52057. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "X", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["h"]; });
  52058. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_18", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["a"]; });
  52059. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_67", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["i"]; });
  52060. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_68", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["j"]; });
  52061. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_69", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["k"]; });
  52062. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_70", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["l"]; });
  52063. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_71", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["m"]; });
  52064. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_72", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["n"]; });
  52065. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_73", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["o"]; });
  52066. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_74", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["p"]; });
  52067. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_75", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["q"]; });
  52068. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_76", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["r"]; });
  52069. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_77", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["s"]; });
  52070. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "_78", function() { return __WEBPACK_IMPORTED_MODULE_20__animation_metadata__["t"]; });
  52071. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_47", function() { return __WEBPACK_IMPORTED_MODULE_21__animation_animation_transition_event__["a"]; });
  52072. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_48", function() { return __WEBPACK_IMPORTED_MODULE_22__animation_animation_player__["b"]; });
  52073. /* harmony reexport (binding) */ __webpack_require__.d(exports, "_24", function() { return __WEBPACK_IMPORTED_MODULE_23__security__["a"]; });
  52074. /* harmony reexport (binding) */ __webpack_require__.d(exports, "s", function() { return __WEBPACK_IMPORTED_MODULE_23__security__["b"]; });
  52075. /**
  52076. * @license
  52077. * Copyright Google Inc. All Rights Reserved.
  52078. *
  52079. * Use of this source code is governed by an MIT-style license that can be
  52080. * found in the LICENSE file at https://angular.io/license
  52081. */
  52082. /**
  52083. * @module
  52084. * @description
  52085. * Entry point from which you should import all public core APIs.
  52086. */
  52087. //# sourceMappingURL=core.js.map
  52088. /***/ },
  52089. /* 482 */
  52090. /***/ function(module, exports, __webpack_require__) {
  52091. "use strict";
  52092. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__animation_animation_constants__ = __webpack_require__(301);
  52093. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__animation_animation_group_player__ = __webpack_require__(302);
  52094. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__animation_animation_keyframe__ = __webpack_require__(472);
  52095. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__animation_animation_output__ = __webpack_require__(473);
  52096. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__animation_animation_player__ = __webpack_require__(198);
  52097. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__animation_animation_sequence_player__ = __webpack_require__(474);
  52098. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__animation_animation_style_util__ = __webpack_require__(475);
  52099. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__animation_animation_styles__ = __webpack_require__(476);
  52100. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__change_detection_change_detection_util__ = __webpack_require__(137);
  52101. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__change_detection_constants__ = __webpack_require__(138);
  52102. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__console__ = __webpack_require__(202);
  52103. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__debug_debug_renderer__ = __webpack_require__(483);
  52104. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__di_reflective_provider__ = __webpack_require__(206);
  52105. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__linker_compiler__ = __webpack_require__(108);
  52106. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__linker_component_factory_resolver__ = __webpack_require__(141);
  52107. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__linker_debug_context__ = __webpack_require__(314);
  52108. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__linker_element__ = __webpack_require__(208);
  52109. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__linker_ng_module_factory__ = __webpack_require__(317);
  52110. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__linker_ng_module_factory_loader__ = __webpack_require__(318);
  52111. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__linker_template_ref__ = __webpack_require__(319);
  52112. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__linker_view__ = __webpack_require__(490);
  52113. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__linker_view_type__ = __webpack_require__(142);
  52114. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__ = __webpack_require__(143);
  52115. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__metadata_lifecycle_hooks__ = __webpack_require__(323);
  52116. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__metadata_view__ = __webpack_require__(324);
  52117. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__reflection_reflection__ = __webpack_require__(209);
  52118. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__reflection_reflection_capabilities__ = __webpack_require__(325);
  52119. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__reflection_reflector_reader__ = __webpack_require__(210);
  52120. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__render_api__ = __webpack_require__(211);
  52121. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__util_decorators__ = __webpack_require__(89);
  52122. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__util_lang__ = __webpack_require__(214);
  52123. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return __core_private__; });
  52124. /**
  52125. * @license
  52126. * Copyright Google Inc. All Rights Reserved.
  52127. *
  52128. * Use of this source code is governed by an MIT-style license that can be
  52129. * found in the LICENSE file at https://angular.io/license
  52130. */
  52131. var __core_private__ = {
  52132. isDefaultChangeDetectionStrategy: __WEBPACK_IMPORTED_MODULE_9__change_detection_constants__["c" /* isDefaultChangeDetectionStrategy */],
  52133. ChangeDetectorStatus: __WEBPACK_IMPORTED_MODULE_9__change_detection_constants__["b" /* ChangeDetectorStatus */],
  52134. CHANGE_DETECTION_STRATEGY_VALUES: __WEBPACK_IMPORTED_MODULE_9__change_detection_constants__["d" /* CHANGE_DETECTION_STRATEGY_VALUES */],
  52135. constructDependencies: __WEBPACK_IMPORTED_MODULE_12__di_reflective_provider__["b" /* constructDependencies */],
  52136. LifecycleHooks: __WEBPACK_IMPORTED_MODULE_23__metadata_lifecycle_hooks__["a" /* LifecycleHooks */],
  52137. LIFECYCLE_HOOKS_VALUES: __WEBPACK_IMPORTED_MODULE_23__metadata_lifecycle_hooks__["b" /* LIFECYCLE_HOOKS_VALUES */],
  52138. ReflectorReader: __WEBPACK_IMPORTED_MODULE_27__reflection_reflector_reader__["a" /* ReflectorReader */],
  52139. CodegenComponentFactoryResolver: __WEBPACK_IMPORTED_MODULE_14__linker_component_factory_resolver__["b" /* CodegenComponentFactoryResolver */],
  52140. AppElement: __WEBPACK_IMPORTED_MODULE_16__linker_element__["a" /* AppElement */],
  52141. AppView: __WEBPACK_IMPORTED_MODULE_20__linker_view__["a" /* AppView */],
  52142. DebugAppView: __WEBPACK_IMPORTED_MODULE_20__linker_view__["b" /* DebugAppView */],
  52143. NgModuleInjector: __WEBPACK_IMPORTED_MODULE_17__linker_ng_module_factory__["a" /* NgModuleInjector */],
  52144. registerModuleFactory: __WEBPACK_IMPORTED_MODULE_18__linker_ng_module_factory_loader__["a" /* registerModuleFactory */],
  52145. ViewType: __WEBPACK_IMPORTED_MODULE_21__linker_view_type__["a" /* ViewType */],
  52146. MAX_INTERPOLATION_VALUES: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["d" /* MAX_INTERPOLATION_VALUES */],
  52147. checkBinding: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["e" /* checkBinding */],
  52148. flattenNestedViewRenderNodes: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["c" /* flattenNestedViewRenderNodes */],
  52149. interpolate: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["f" /* interpolate */],
  52150. ViewUtils: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["a" /* ViewUtils */],
  52151. VIEW_ENCAPSULATION_VALUES: __WEBPACK_IMPORTED_MODULE_24__metadata_view__["a" /* VIEW_ENCAPSULATION_VALUES */],
  52152. ViewMetadata: __WEBPACK_IMPORTED_MODULE_24__metadata_view__["b" /* ViewMetadata */],
  52153. DebugContext: __WEBPACK_IMPORTED_MODULE_15__linker_debug_context__["a" /* DebugContext */],
  52154. StaticNodeDebugInfo: __WEBPACK_IMPORTED_MODULE_15__linker_debug_context__["b" /* StaticNodeDebugInfo */],
  52155. devModeEqual: __WEBPACK_IMPORTED_MODULE_8__change_detection_change_detection_util__["b" /* devModeEqual */],
  52156. UNINITIALIZED: __WEBPACK_IMPORTED_MODULE_8__change_detection_change_detection_util__["a" /* UNINITIALIZED */],
  52157. ValueUnwrapper: __WEBPACK_IMPORTED_MODULE_8__change_detection_change_detection_util__["c" /* ValueUnwrapper */],
  52158. RenderDebugInfo: __WEBPACK_IMPORTED_MODULE_28__render_api__["c" /* RenderDebugInfo */],
  52159. TemplateRef_: __WEBPACK_IMPORTED_MODULE_19__linker_template_ref__["a" /* TemplateRef_ */],
  52160. ReflectionCapabilities: __WEBPACK_IMPORTED_MODULE_26__reflection_reflection_capabilities__["a" /* ReflectionCapabilities */],
  52161. makeDecorator: __WEBPACK_IMPORTED_MODULE_29__util_decorators__["c" /* makeDecorator */],
  52162. DebugDomRootRenderer: __WEBPACK_IMPORTED_MODULE_11__debug_debug_renderer__["a" /* DebugDomRootRenderer */],
  52163. EMPTY_ARRAY: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["g" /* EMPTY_ARRAY */],
  52164. EMPTY_MAP: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["h" /* EMPTY_MAP */],
  52165. pureProxy1: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["i" /* pureProxy1 */],
  52166. pureProxy2: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["j" /* pureProxy2 */],
  52167. pureProxy3: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["k" /* pureProxy3 */],
  52168. pureProxy4: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["l" /* pureProxy4 */],
  52169. pureProxy5: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["m" /* pureProxy5 */],
  52170. pureProxy6: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["n" /* pureProxy6 */],
  52171. pureProxy7: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["o" /* pureProxy7 */],
  52172. pureProxy8: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["p" /* pureProxy8 */],
  52173. pureProxy9: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["q" /* pureProxy9 */],
  52174. pureProxy10: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["r" /* pureProxy10 */],
  52175. castByValue: __WEBPACK_IMPORTED_MODULE_22__linker_view_utils__["s" /* castByValue */],
  52176. Console: __WEBPACK_IMPORTED_MODULE_10__console__["a" /* Console */],
  52177. reflector: __WEBPACK_IMPORTED_MODULE_25__reflection_reflection__["a" /* reflector */],
  52178. Reflector: __WEBPACK_IMPORTED_MODULE_25__reflection_reflection__["b" /* Reflector */],
  52179. NoOpAnimationPlayer: __WEBPACK_IMPORTED_MODULE_4__animation_animation_player__["a" /* NoOpAnimationPlayer */],
  52180. AnimationPlayer: __WEBPACK_IMPORTED_MODULE_4__animation_animation_player__["b" /* AnimationPlayer */],
  52181. AnimationSequencePlayer: __WEBPACK_IMPORTED_MODULE_5__animation_animation_sequence_player__["a" /* AnimationSequencePlayer */],
  52182. AnimationGroupPlayer: __WEBPACK_IMPORTED_MODULE_1__animation_animation_group_player__["a" /* AnimationGroupPlayer */],
  52183. AnimationKeyframe: __WEBPACK_IMPORTED_MODULE_2__animation_animation_keyframe__["a" /* AnimationKeyframe */],
  52184. prepareFinalAnimationStyles: __WEBPACK_IMPORTED_MODULE_6__animation_animation_style_util__["a" /* prepareFinalAnimationStyles */],
  52185. balanceAnimationKeyframes: __WEBPACK_IMPORTED_MODULE_6__animation_animation_style_util__["b" /* balanceAnimationKeyframes */],
  52186. flattenStyles: __WEBPACK_IMPORTED_MODULE_6__animation_animation_style_util__["c" /* flattenStyles */],
  52187. clearStyles: __WEBPACK_IMPORTED_MODULE_6__animation_animation_style_util__["d" /* clearStyles */],
  52188. renderStyles: __WEBPACK_IMPORTED_MODULE_6__animation_animation_style_util__["e" /* renderStyles */],
  52189. collectAndResolveStyles: __WEBPACK_IMPORTED_MODULE_6__animation_animation_style_util__["f" /* collectAndResolveStyles */],
  52190. AnimationStyles: __WEBPACK_IMPORTED_MODULE_7__animation_animation_styles__["a" /* AnimationStyles */],
  52191. AnimationOutput: __WEBPACK_IMPORTED_MODULE_3__animation_animation_output__["a" /* AnimationOutput */],
  52192. ANY_STATE: __WEBPACK_IMPORTED_MODULE_0__animation_animation_constants__["b" /* ANY_STATE */],
  52193. DEFAULT_STATE: __WEBPACK_IMPORTED_MODULE_0__animation_animation_constants__["c" /* DEFAULT_STATE */],
  52194. EMPTY_STATE: __WEBPACK_IMPORTED_MODULE_0__animation_animation_constants__["d" /* EMPTY_STATE */],
  52195. FILL_STYLE_FLAG: __WEBPACK_IMPORTED_MODULE_0__animation_animation_constants__["a" /* FILL_STYLE_FLAG */],
  52196. ComponentStillLoadingError: __WEBPACK_IMPORTED_MODULE_13__linker_compiler__["c" /* ComponentStillLoadingError */],
  52197. isPromise: __WEBPACK_IMPORTED_MODULE_30__util_lang__["a" /* isPromise */]
  52198. };
  52199. //# sourceMappingURL=core_private_export.js.map
  52200. /***/ },
  52201. /* 483 */
  52202. /***/ function(module, exports, __webpack_require__) {
  52203. "use strict";
  52204. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(5);
  52205. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__debug_node__ = __webpack_require__(309);
  52206. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DebugDomRootRenderer; });
  52207. /* unused harmony export DebugDomRenderer */
  52208. /**
  52209. * @license
  52210. * Copyright Google Inc. All Rights Reserved.
  52211. *
  52212. * Use of this source code is governed by an MIT-style license that can be
  52213. * found in the LICENSE file at https://angular.io/license
  52214. */
  52215. var DebugDomRootRenderer = (function () {
  52216. function DebugDomRootRenderer(_delegate) {
  52217. this._delegate = _delegate;
  52218. }
  52219. DebugDomRootRenderer.prototype.renderComponent = function (componentProto) {
  52220. return new DebugDomRenderer(this._delegate.renderComponent(componentProto));
  52221. };
  52222. return DebugDomRootRenderer;
  52223. }());
  52224. var DebugDomRenderer = (function () {
  52225. function DebugDomRenderer(_delegate) {
  52226. this._delegate = _delegate;
  52227. }
  52228. DebugDomRenderer.prototype.selectRootElement = function (selectorOrNode, debugInfo) {
  52229. var nativeEl = this._delegate.selectRootElement(selectorOrNode, debugInfo);
  52230. var debugEl = new __WEBPACK_IMPORTED_MODULE_1__debug_node__["a" /* DebugElement */](nativeEl, null, debugInfo);
  52231. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["b" /* indexDebugNode */])(debugEl);
  52232. return nativeEl;
  52233. };
  52234. DebugDomRenderer.prototype.createElement = function (parentElement, name, debugInfo) {
  52235. var nativeEl = this._delegate.createElement(parentElement, name, debugInfo);
  52236. var debugEl = new __WEBPACK_IMPORTED_MODULE_1__debug_node__["a" /* DebugElement */](nativeEl, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["c" /* getDebugNode */])(parentElement), debugInfo);
  52237. debugEl.name = name;
  52238. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["b" /* indexDebugNode */])(debugEl);
  52239. return nativeEl;
  52240. };
  52241. DebugDomRenderer.prototype.createViewRoot = function (hostElement) { return this._delegate.createViewRoot(hostElement); };
  52242. DebugDomRenderer.prototype.createTemplateAnchor = function (parentElement, debugInfo) {
  52243. var comment = this._delegate.createTemplateAnchor(parentElement, debugInfo);
  52244. var debugEl = new __WEBPACK_IMPORTED_MODULE_1__debug_node__["d" /* DebugNode */](comment, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["c" /* getDebugNode */])(parentElement), debugInfo);
  52245. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["b" /* indexDebugNode */])(debugEl);
  52246. return comment;
  52247. };
  52248. DebugDomRenderer.prototype.createText = function (parentElement, value, debugInfo) {
  52249. var text = this._delegate.createText(parentElement, value, debugInfo);
  52250. var debugEl = new __WEBPACK_IMPORTED_MODULE_1__debug_node__["d" /* DebugNode */](text, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["c" /* getDebugNode */])(parentElement), debugInfo);
  52251. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["b" /* indexDebugNode */])(debugEl);
  52252. return text;
  52253. };
  52254. DebugDomRenderer.prototype.projectNodes = function (parentElement, nodes) {
  52255. var debugParent = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["c" /* getDebugNode */])(parentElement);
  52256. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(debugParent) && debugParent instanceof __WEBPACK_IMPORTED_MODULE_1__debug_node__["a" /* DebugElement */]) {
  52257. var debugElement_1 = debugParent;
  52258. nodes.forEach(function (node) { debugElement_1.addChild(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["c" /* getDebugNode */])(node)); });
  52259. }
  52260. this._delegate.projectNodes(parentElement, nodes);
  52261. };
  52262. DebugDomRenderer.prototype.attachViewAfter = function (node, viewRootNodes) {
  52263. var debugNode = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["c" /* getDebugNode */])(node);
  52264. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(debugNode)) {
  52265. var debugParent = debugNode.parent;
  52266. if (viewRootNodes.length > 0 && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(debugParent)) {
  52267. var debugViewRootNodes = [];
  52268. viewRootNodes.forEach(function (rootNode) { return debugViewRootNodes.push(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["c" /* getDebugNode */])(rootNode)); });
  52269. debugParent.insertChildrenAfter(debugNode, debugViewRootNodes);
  52270. }
  52271. }
  52272. this._delegate.attachViewAfter(node, viewRootNodes);
  52273. };
  52274. DebugDomRenderer.prototype.detachView = function (viewRootNodes) {
  52275. viewRootNodes.forEach(function (node) {
  52276. var debugNode = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["c" /* getDebugNode */])(node);
  52277. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(debugNode) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(debugNode.parent)) {
  52278. debugNode.parent.removeChild(debugNode);
  52279. }
  52280. });
  52281. this._delegate.detachView(viewRootNodes);
  52282. };
  52283. DebugDomRenderer.prototype.destroyView = function (hostElement, viewAllNodes) {
  52284. viewAllNodes.forEach(function (node) { __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["e" /* removeDebugNodeFromIndex */])(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["c" /* getDebugNode */])(node)); });
  52285. this._delegate.destroyView(hostElement, viewAllNodes);
  52286. };
  52287. DebugDomRenderer.prototype.listen = function (renderElement, name, callback) {
  52288. var debugEl = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["c" /* getDebugNode */])(renderElement);
  52289. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(debugEl)) {
  52290. debugEl.listeners.push(new __WEBPACK_IMPORTED_MODULE_1__debug_node__["f" /* EventListener */](name, callback));
  52291. }
  52292. return this._delegate.listen(renderElement, name, callback);
  52293. };
  52294. DebugDomRenderer.prototype.listenGlobal = function (target, name, callback) {
  52295. return this._delegate.listenGlobal(target, name, callback);
  52296. };
  52297. DebugDomRenderer.prototype.setElementProperty = function (renderElement, propertyName, propertyValue) {
  52298. var debugEl = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["c" /* getDebugNode */])(renderElement);
  52299. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(debugEl) && debugEl instanceof __WEBPACK_IMPORTED_MODULE_1__debug_node__["a" /* DebugElement */]) {
  52300. debugEl.properties[propertyName] = propertyValue;
  52301. }
  52302. this._delegate.setElementProperty(renderElement, propertyName, propertyValue);
  52303. };
  52304. DebugDomRenderer.prototype.setElementAttribute = function (renderElement, attributeName, attributeValue) {
  52305. var debugEl = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["c" /* getDebugNode */])(renderElement);
  52306. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(debugEl) && debugEl instanceof __WEBPACK_IMPORTED_MODULE_1__debug_node__["a" /* DebugElement */]) {
  52307. debugEl.attributes[attributeName] = attributeValue;
  52308. }
  52309. this._delegate.setElementAttribute(renderElement, attributeName, attributeValue);
  52310. };
  52311. DebugDomRenderer.prototype.setBindingDebugInfo = function (renderElement, propertyName, propertyValue) {
  52312. this._delegate.setBindingDebugInfo(renderElement, propertyName, propertyValue);
  52313. };
  52314. DebugDomRenderer.prototype.setElementClass = function (renderElement, className, isAdd) {
  52315. var debugEl = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["c" /* getDebugNode */])(renderElement);
  52316. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(debugEl) && debugEl instanceof __WEBPACK_IMPORTED_MODULE_1__debug_node__["a" /* DebugElement */]) {
  52317. debugEl.classes[className] = isAdd;
  52318. }
  52319. this._delegate.setElementClass(renderElement, className, isAdd);
  52320. };
  52321. DebugDomRenderer.prototype.setElementStyle = function (renderElement, styleName, styleValue) {
  52322. var debugEl = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__debug_node__["c" /* getDebugNode */])(renderElement);
  52323. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__facade_lang__["e" /* isPresent */])(debugEl) && debugEl instanceof __WEBPACK_IMPORTED_MODULE_1__debug_node__["a" /* DebugElement */]) {
  52324. debugEl.styles[styleName] = styleValue;
  52325. }
  52326. this._delegate.setElementStyle(renderElement, styleName, styleValue);
  52327. };
  52328. DebugDomRenderer.prototype.invokeElementMethod = function (renderElement, methodName, args) {
  52329. this._delegate.invokeElementMethod(renderElement, methodName, args);
  52330. };
  52331. DebugDomRenderer.prototype.setText = function (renderNode, text) { this._delegate.setText(renderNode, text); };
  52332. DebugDomRenderer.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing) {
  52333. return this._delegate.animate(element, startingStyles, keyframes, duration, delay, easing);
  52334. };
  52335. return DebugDomRenderer;
  52336. }());
  52337. //# sourceMappingURL=debug_renderer.js.map
  52338. /***/ },
  52339. /* 484 */
  52340. /***/ function(module, exports, __webpack_require__) {
  52341. "use strict";
  52342. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_collection__ = __webpack_require__(16);
  52343. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_errors__ = __webpack_require__(35);
  52344. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__injector__ = __webpack_require__(139);
  52345. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__metadata__ = __webpack_require__(140);
  52346. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__reflective_errors__ = __webpack_require__(310);
  52347. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__reflective_key__ = __webpack_require__(205);
  52348. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__reflective_provider__ = __webpack_require__(206);
  52349. /* unused harmony export ReflectiveProtoInjectorInlineStrategy */
  52350. /* unused harmony export ReflectiveProtoInjectorDynamicStrategy */
  52351. /* unused harmony export ReflectiveProtoInjector */
  52352. /* unused harmony export ReflectiveInjectorInlineStrategy */
  52353. /* unused harmony export ReflectiveInjectorDynamicStrategy */
  52354. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ReflectiveInjector; });
  52355. /* unused harmony export ReflectiveInjector_ */
  52356. /**
  52357. * @license
  52358. * Copyright Google Inc. All Rights Reserved.
  52359. *
  52360. * Use of this source code is governed by an MIT-style license that can be
  52361. * found in the LICENSE file at https://angular.io/license
  52362. */
  52363. var __unused; // avoid unused import when Type union types are erased
  52364. // Threshold for the dynamic version
  52365. var _MAX_CONSTRUCTION_COUNTER = 10;
  52366. var UNDEFINED = new Object();
  52367. var ReflectiveProtoInjectorInlineStrategy = (function () {
  52368. function ReflectiveProtoInjectorInlineStrategy(protoEI, providers) {
  52369. this.provider0 = null;
  52370. this.provider1 = null;
  52371. this.provider2 = null;
  52372. this.provider3 = null;
  52373. this.provider4 = null;
  52374. this.provider5 = null;
  52375. this.provider6 = null;
  52376. this.provider7 = null;
  52377. this.provider8 = null;
  52378. this.provider9 = null;
  52379. this.keyId0 = null;
  52380. this.keyId1 = null;
  52381. this.keyId2 = null;
  52382. this.keyId3 = null;
  52383. this.keyId4 = null;
  52384. this.keyId5 = null;
  52385. this.keyId6 = null;
  52386. this.keyId7 = null;
  52387. this.keyId8 = null;
  52388. this.keyId9 = null;
  52389. var length = providers.length;
  52390. if (length > 0) {
  52391. this.provider0 = providers[0];
  52392. this.keyId0 = providers[0].key.id;
  52393. }
  52394. if (length > 1) {
  52395. this.provider1 = providers[1];
  52396. this.keyId1 = providers[1].key.id;
  52397. }
  52398. if (length > 2) {
  52399. this.provider2 = providers[2];
  52400. this.keyId2 = providers[2].key.id;
  52401. }
  52402. if (length > 3) {
  52403. this.provider3 = providers[3];
  52404. this.keyId3 = providers[3].key.id;
  52405. }
  52406. if (length > 4) {
  52407. this.provider4 = providers[4];
  52408. this.keyId4 = providers[4].key.id;
  52409. }
  52410. if (length > 5) {
  52411. this.provider5 = providers[5];
  52412. this.keyId5 = providers[5].key.id;
  52413. }
  52414. if (length > 6) {
  52415. this.provider6 = providers[6];
  52416. this.keyId6 = providers[6].key.id;
  52417. }
  52418. if (length > 7) {
  52419. this.provider7 = providers[7];
  52420. this.keyId7 = providers[7].key.id;
  52421. }
  52422. if (length > 8) {
  52423. this.provider8 = providers[8];
  52424. this.keyId8 = providers[8].key.id;
  52425. }
  52426. if (length > 9) {
  52427. this.provider9 = providers[9];
  52428. this.keyId9 = providers[9].key.id;
  52429. }
  52430. }
  52431. ReflectiveProtoInjectorInlineStrategy.prototype.getProviderAtIndex = function (index) {
  52432. if (index == 0)
  52433. return this.provider0;
  52434. if (index == 1)
  52435. return this.provider1;
  52436. if (index == 2)
  52437. return this.provider2;
  52438. if (index == 3)
  52439. return this.provider3;
  52440. if (index == 4)
  52441. return this.provider4;
  52442. if (index == 5)
  52443. return this.provider5;
  52444. if (index == 6)
  52445. return this.provider6;
  52446. if (index == 7)
  52447. return this.provider7;
  52448. if (index == 8)
  52449. return this.provider8;
  52450. if (index == 9)
  52451. return this.provider9;
  52452. throw new __WEBPACK_IMPORTED_MODULE_4__reflective_errors__["d" /* OutOfBoundsError */](index);
  52453. };
  52454. ReflectiveProtoInjectorInlineStrategy.prototype.createInjectorStrategy = function (injector) {
  52455. return new ReflectiveInjectorInlineStrategy(injector, this);
  52456. };
  52457. return ReflectiveProtoInjectorInlineStrategy;
  52458. }());
  52459. var ReflectiveProtoInjectorDynamicStrategy = (function () {
  52460. function ReflectiveProtoInjectorDynamicStrategy(protoInj, providers) {
  52461. this.providers = providers;
  52462. var len = providers.length;
  52463. this.keyIds = new Array(len);
  52464. for (var i = 0; i < len; i++) {
  52465. this.keyIds[i] = providers[i].key.id;
  52466. }
  52467. }
  52468. ReflectiveProtoInjectorDynamicStrategy.prototype.getProviderAtIndex = function (index) {
  52469. if (index < 0 || index >= this.providers.length) {
  52470. throw new __WEBPACK_IMPORTED_MODULE_4__reflective_errors__["d" /* OutOfBoundsError */](index);
  52471. }
  52472. return this.providers[index];
  52473. };
  52474. ReflectiveProtoInjectorDynamicStrategy.prototype.createInjectorStrategy = function (ei) {
  52475. return new ReflectiveInjectorDynamicStrategy(this, ei);
  52476. };
  52477. return ReflectiveProtoInjectorDynamicStrategy;
  52478. }());
  52479. var ReflectiveProtoInjector = (function () {
  52480. function ReflectiveProtoInjector(providers) {
  52481. this.numberOfProviders = providers.length;
  52482. this._strategy = providers.length > _MAX_CONSTRUCTION_COUNTER ?
  52483. new ReflectiveProtoInjectorDynamicStrategy(this, providers) :
  52484. new ReflectiveProtoInjectorInlineStrategy(this, providers);
  52485. }
  52486. ReflectiveProtoInjector.fromResolvedProviders = function (providers) {
  52487. return new ReflectiveProtoInjector(providers);
  52488. };
  52489. ReflectiveProtoInjector.prototype.getProviderAtIndex = function (index) {
  52490. return this._strategy.getProviderAtIndex(index);
  52491. };
  52492. return ReflectiveProtoInjector;
  52493. }());
  52494. var ReflectiveInjectorInlineStrategy = (function () {
  52495. function ReflectiveInjectorInlineStrategy(injector, protoStrategy) {
  52496. this.injector = injector;
  52497. this.protoStrategy = protoStrategy;
  52498. this.obj0 = UNDEFINED;
  52499. this.obj1 = UNDEFINED;
  52500. this.obj2 = UNDEFINED;
  52501. this.obj3 = UNDEFINED;
  52502. this.obj4 = UNDEFINED;
  52503. this.obj5 = UNDEFINED;
  52504. this.obj6 = UNDEFINED;
  52505. this.obj7 = UNDEFINED;
  52506. this.obj8 = UNDEFINED;
  52507. this.obj9 = UNDEFINED;
  52508. }
  52509. ReflectiveInjectorInlineStrategy.prototype.resetConstructionCounter = function () { this.injector._constructionCounter = 0; };
  52510. ReflectiveInjectorInlineStrategy.prototype.instantiateProvider = function (provider) {
  52511. return this.injector._new(provider);
  52512. };
  52513. ReflectiveInjectorInlineStrategy.prototype.getObjByKeyId = function (keyId) {
  52514. var p = this.protoStrategy;
  52515. var inj = this.injector;
  52516. if (p.keyId0 === keyId) {
  52517. if (this.obj0 === UNDEFINED) {
  52518. this.obj0 = inj._new(p.provider0);
  52519. }
  52520. return this.obj0;
  52521. }
  52522. if (p.keyId1 === keyId) {
  52523. if (this.obj1 === UNDEFINED) {
  52524. this.obj1 = inj._new(p.provider1);
  52525. }
  52526. return this.obj1;
  52527. }
  52528. if (p.keyId2 === keyId) {
  52529. if (this.obj2 === UNDEFINED) {
  52530. this.obj2 = inj._new(p.provider2);
  52531. }
  52532. return this.obj2;
  52533. }
  52534. if (p.keyId3 === keyId) {
  52535. if (this.obj3 === UNDEFINED) {
  52536. this.obj3 = inj._new(p.provider3);
  52537. }
  52538. return this.obj3;
  52539. }
  52540. if (p.keyId4 === keyId) {
  52541. if (this.obj4 === UNDEFINED) {
  52542. this.obj4 = inj._new(p.provider4);
  52543. }
  52544. return this.obj4;
  52545. }
  52546. if (p.keyId5 === keyId) {
  52547. if (this.obj5 === UNDEFINED) {
  52548. this.obj5 = inj._new(p.provider5);
  52549. }
  52550. return this.obj5;
  52551. }
  52552. if (p.keyId6 === keyId) {
  52553. if (this.obj6 === UNDEFINED) {
  52554. this.obj6 = inj._new(p.provider6);
  52555. }
  52556. return this.obj6;
  52557. }
  52558. if (p.keyId7 === keyId) {
  52559. if (this.obj7 === UNDEFINED) {
  52560. this.obj7 = inj._new(p.provider7);
  52561. }
  52562. return this.obj7;
  52563. }
  52564. if (p.keyId8 === keyId) {
  52565. if (this.obj8 === UNDEFINED) {
  52566. this.obj8 = inj._new(p.provider8);
  52567. }
  52568. return this.obj8;
  52569. }
  52570. if (p.keyId9 === keyId) {
  52571. if (this.obj9 === UNDEFINED) {
  52572. this.obj9 = inj._new(p.provider9);
  52573. }
  52574. return this.obj9;
  52575. }
  52576. return UNDEFINED;
  52577. };
  52578. ReflectiveInjectorInlineStrategy.prototype.getObjAtIndex = function (index) {
  52579. if (index == 0)
  52580. return this.obj0;
  52581. if (index == 1)
  52582. return this.obj1;
  52583. if (index == 2)
  52584. return this.obj2;
  52585. if (index == 3)
  52586. return this.obj3;
  52587. if (index == 4)
  52588. return this.obj4;
  52589. if (index == 5)
  52590. return this.obj5;
  52591. if (index == 6)
  52592. return this.obj6;
  52593. if (index == 7)
  52594. return this.obj7;
  52595. if (index == 8)
  52596. return this.obj8;
  52597. if (index == 9)
  52598. return this.obj9;
  52599. throw new __WEBPACK_IMPORTED_MODULE_4__reflective_errors__["d" /* OutOfBoundsError */](index);
  52600. };
  52601. ReflectiveInjectorInlineStrategy.prototype.getMaxNumberOfObjects = function () { return _MAX_CONSTRUCTION_COUNTER; };
  52602. return ReflectiveInjectorInlineStrategy;
  52603. }());
  52604. var ReflectiveInjectorDynamicStrategy = (function () {
  52605. function ReflectiveInjectorDynamicStrategy(protoStrategy, injector) {
  52606. this.protoStrategy = protoStrategy;
  52607. this.injector = injector;
  52608. this.objs = new Array(protoStrategy.providers.length);
  52609. __WEBPACK_IMPORTED_MODULE_0__facade_collection__["a" /* ListWrapper */].fill(this.objs, UNDEFINED);
  52610. }
  52611. ReflectiveInjectorDynamicStrategy.prototype.resetConstructionCounter = function () { this.injector._constructionCounter = 0; };
  52612. ReflectiveInjectorDynamicStrategy.prototype.instantiateProvider = function (provider) {
  52613. return this.injector._new(provider);
  52614. };
  52615. ReflectiveInjectorDynamicStrategy.prototype.getObjByKeyId = function (keyId) {
  52616. var p = this.protoStrategy;
  52617. for (var i = 0; i < p.keyIds.length; i++) {
  52618. if (p.keyIds[i] === keyId) {
  52619. if (this.objs[i] === UNDEFINED) {
  52620. this.objs[i] = this.injector._new(p.providers[i]);
  52621. }
  52622. return this.objs[i];
  52623. }
  52624. }
  52625. return UNDEFINED;
  52626. };
  52627. ReflectiveInjectorDynamicStrategy.prototype.getObjAtIndex = function (index) {
  52628. if (index < 0 || index >= this.objs.length) {
  52629. throw new __WEBPACK_IMPORTED_MODULE_4__reflective_errors__["d" /* OutOfBoundsError */](index);
  52630. }
  52631. return this.objs[index];
  52632. };
  52633. ReflectiveInjectorDynamicStrategy.prototype.getMaxNumberOfObjects = function () { return this.objs.length; };
  52634. return ReflectiveInjectorDynamicStrategy;
  52635. }());
  52636. /**
  52637. * A ReflectiveDependency injection container used for instantiating objects and resolving
  52638. * dependencies.
  52639. *
  52640. * An `Injector` is a replacement for a `new` operator, which can automatically resolve the
  52641. * constructor dependencies.
  52642. *
  52643. * In typical use, application code asks for the dependencies in the constructor and they are
  52644. * resolved by the `Injector`.
  52645. *
  52646. * ### Example ([live demo](http://plnkr.co/edit/jzjec0?p=preview))
  52647. *
  52648. * The following example creates an `Injector` configured to create `Engine` and `Car`.
  52649. *
  52650. * ```typescript
  52651. * @Injectable()
  52652. * class Engine {
  52653. * }
  52654. *
  52655. * @Injectable()
  52656. * class Car {
  52657. * constructor(public engine:Engine) {}
  52658. * }
  52659. *
  52660. * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]);
  52661. * var car = injector.get(Car);
  52662. * expect(car instanceof Car).toBe(true);
  52663. * expect(car.engine instanceof Engine).toBe(true);
  52664. * ```
  52665. *
  52666. * Notice, we don't use the `new` operator because we explicitly want to have the `Injector`
  52667. * resolve all of the object's dependencies automatically.
  52668. *
  52669. * @stable
  52670. */
  52671. var ReflectiveInjector = (function () {
  52672. function ReflectiveInjector() {
  52673. }
  52674. /**
  52675. * Turns an array of provider definitions into an array of resolved providers.
  52676. *
  52677. * A resolution is a process of flattening multiple nested arrays and converting individual
  52678. * providers into an array of {@link ResolvedReflectiveProvider}s.
  52679. *
  52680. * ### Example ([live demo](http://plnkr.co/edit/AiXTHi?p=preview))
  52681. *
  52682. * ```typescript
  52683. * @Injectable()
  52684. * class Engine {
  52685. * }
  52686. *
  52687. * @Injectable()
  52688. * class Car {
  52689. * constructor(public engine:Engine) {}
  52690. * }
  52691. *
  52692. * var providers = ReflectiveInjector.resolve([Car, [[Engine]]]);
  52693. *
  52694. * expect(providers.length).toEqual(2);
  52695. *
  52696. * expect(providers[0] instanceof ResolvedReflectiveProvider).toBe(true);
  52697. * expect(providers[0].key.displayName).toBe("Car");
  52698. * expect(providers[0].dependencies.length).toEqual(1);
  52699. * expect(providers[0].factory).toBeDefined();
  52700. *
  52701. * expect(providers[1].key.displayName).toBe("Engine");
  52702. * });
  52703. * ```
  52704. *
  52705. * See {@link ReflectiveInjector#fromResolvedProviders} for more info.
  52706. */
  52707. ReflectiveInjector.resolve = function (providers) {
  52708. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__reflective_provider__["a" /* resolveReflectiveProviders */])(providers);
  52709. };
  52710. /**
  52711. * Resolves an array of providers and creates an injector from those providers.
  52712. *
  52713. * The passed-in providers can be an array of `Type`, {@link Provider},
  52714. * or a recursive array of more providers.
  52715. *
  52716. * ### Example ([live demo](http://plnkr.co/edit/ePOccA?p=preview))
  52717. *
  52718. * ```typescript
  52719. * @Injectable()
  52720. * class Engine {
  52721. * }
  52722. *
  52723. * @Injectable()
  52724. * class Car {
  52725. * constructor(public engine:Engine) {}
  52726. * }
  52727. *
  52728. * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]);
  52729. * expect(injector.get(Car) instanceof Car).toBe(true);
  52730. * ```
  52731. *
  52732. * This function is slower than the corresponding `fromResolvedProviders`
  52733. * because it needs to resolve the passed-in providers first.
  52734. * See {@link Injector#resolve} and {@link Injector#fromResolvedProviders}.
  52735. */
  52736. ReflectiveInjector.resolveAndCreate = function (providers, parent) {
  52737. if (parent === void 0) { parent = null; }
  52738. var ResolvedReflectiveProviders = ReflectiveInjector.resolve(providers);
  52739. return ReflectiveInjector.fromResolvedProviders(ResolvedReflectiveProviders, parent);
  52740. };
  52741. /**
  52742. * Creates an injector from previously resolved providers.
  52743. *
  52744. * This API is the recommended way to construct injectors in performance-sensitive parts.
  52745. *
  52746. * ### Example ([live demo](http://plnkr.co/edit/KrSMci?p=preview))
  52747. *
  52748. * ```typescript
  52749. * @Injectable()
  52750. * class Engine {
  52751. * }
  52752. *
  52753. * @Injectable()
  52754. * class Car {
  52755. * constructor(public engine:Engine) {}
  52756. * }
  52757. *
  52758. * var providers = ReflectiveInjector.resolve([Car, Engine]);
  52759. * var injector = ReflectiveInjector.fromResolvedProviders(providers);
  52760. * expect(injector.get(Car) instanceof Car).toBe(true);
  52761. * ```
  52762. * @experimental
  52763. */
  52764. ReflectiveInjector.fromResolvedProviders = function (providers, parent) {
  52765. if (parent === void 0) { parent = null; }
  52766. return new ReflectiveInjector_(ReflectiveProtoInjector.fromResolvedProviders(providers), parent);
  52767. };
  52768. Object.defineProperty(ReflectiveInjector.prototype, "parent", {
  52769. /**
  52770. * Parent of this injector.
  52771. *
  52772. * <!-- TODO: Add a link to the section of the user guide talking about hierarchical injection.
  52773. * -->
  52774. *
  52775. * ### Example ([live demo](http://plnkr.co/edit/eosMGo?p=preview))
  52776. *
  52777. * ```typescript
  52778. * var parent = ReflectiveInjector.resolveAndCreate([]);
  52779. * var child = parent.resolveAndCreateChild([]);
  52780. * expect(child.parent).toBe(parent);
  52781. * ```
  52782. */
  52783. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["a" /* unimplemented */])(); },
  52784. enumerable: true,
  52785. configurable: true
  52786. });
  52787. /**
  52788. * Resolves an array of providers and creates a child injector from those providers.
  52789. *
  52790. * <!-- TODO: Add a link to the section of the user guide talking about hierarchical injection.
  52791. * -->
  52792. *
  52793. * The passed-in providers can be an array of `Type`, {@link Provider},
  52794. * or a recursive array of more providers.
  52795. *
  52796. * ### Example ([live demo](http://plnkr.co/edit/opB3T4?p=preview))
  52797. *
  52798. * ```typescript
  52799. * class ParentProvider {}
  52800. * class ChildProvider {}
  52801. *
  52802. * var parent = ReflectiveInjector.resolveAndCreate([ParentProvider]);
  52803. * var child = parent.resolveAndCreateChild([ChildProvider]);
  52804. *
  52805. * expect(child.get(ParentProvider) instanceof ParentProvider).toBe(true);
  52806. * expect(child.get(ChildProvider) instanceof ChildProvider).toBe(true);
  52807. * expect(child.get(ParentProvider)).toBe(parent.get(ParentProvider));
  52808. * ```
  52809. *
  52810. * This function is slower than the corresponding `createChildFromResolved`
  52811. * because it needs to resolve the passed-in providers first.
  52812. * See {@link Injector#resolve} and {@link Injector#createChildFromResolved}.
  52813. */
  52814. ReflectiveInjector.prototype.resolveAndCreateChild = function (providers) { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["a" /* unimplemented */])(); };
  52815. /**
  52816. * Creates a child injector from previously resolved providers.
  52817. *
  52818. * <!-- TODO: Add a link to the section of the user guide talking about hierarchical injection.
  52819. * -->
  52820. *
  52821. * This API is the recommended way to construct injectors in performance-sensitive parts.
  52822. *
  52823. * ### Example ([live demo](http://plnkr.co/edit/VhyfjN?p=preview))
  52824. *
  52825. * ```typescript
  52826. * class ParentProvider {}
  52827. * class ChildProvider {}
  52828. *
  52829. * var parentProviders = ReflectiveInjector.resolve([ParentProvider]);
  52830. * var childProviders = ReflectiveInjector.resolve([ChildProvider]);
  52831. *
  52832. * var parent = ReflectiveInjector.fromResolvedProviders(parentProviders);
  52833. * var child = parent.createChildFromResolved(childProviders);
  52834. *
  52835. * expect(child.get(ParentProvider) instanceof ParentProvider).toBe(true);
  52836. * expect(child.get(ChildProvider) instanceof ChildProvider).toBe(true);
  52837. * expect(child.get(ParentProvider)).toBe(parent.get(ParentProvider));
  52838. * ```
  52839. */
  52840. ReflectiveInjector.prototype.createChildFromResolved = function (providers) {
  52841. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["a" /* unimplemented */])();
  52842. };
  52843. /**
  52844. * Resolves a provider and instantiates an object in the context of the injector.
  52845. *
  52846. * The created object does not get cached by the injector.
  52847. *
  52848. * ### Example ([live demo](http://plnkr.co/edit/yvVXoB?p=preview))
  52849. *
  52850. * ```typescript
  52851. * @Injectable()
  52852. * class Engine {
  52853. * }
  52854. *
  52855. * @Injectable()
  52856. * class Car {
  52857. * constructor(public engine:Engine) {}
  52858. * }
  52859. *
  52860. * var injector = ReflectiveInjector.resolveAndCreate([Engine]);
  52861. *
  52862. * var car = injector.resolveAndInstantiate(Car);
  52863. * expect(car.engine).toBe(injector.get(Engine));
  52864. * expect(car).not.toBe(injector.resolveAndInstantiate(Car));
  52865. * ```
  52866. */
  52867. ReflectiveInjector.prototype.resolveAndInstantiate = function (provider) { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["a" /* unimplemented */])(); };
  52868. /**
  52869. * Instantiates an object using a resolved provider in the context of the injector.
  52870. *
  52871. * The created object does not get cached by the injector.
  52872. *
  52873. * ### Example ([live demo](http://plnkr.co/edit/ptCImQ?p=preview))
  52874. *
  52875. * ```typescript
  52876. * @Injectable()
  52877. * class Engine {
  52878. * }
  52879. *
  52880. * @Injectable()
  52881. * class Car {
  52882. * constructor(public engine:Engine) {}
  52883. * }
  52884. *
  52885. * var injector = ReflectiveInjector.resolveAndCreate([Engine]);
  52886. * var carProvider = ReflectiveInjector.resolve([Car])[0];
  52887. * var car = injector.instantiateResolved(carProvider);
  52888. * expect(car.engine).toBe(injector.get(Engine));
  52889. * expect(car).not.toBe(injector.instantiateResolved(carProvider));
  52890. * ```
  52891. */
  52892. ReflectiveInjector.prototype.instantiateResolved = function (provider) { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_errors__["a" /* unimplemented */])(); };
  52893. return ReflectiveInjector;
  52894. }());
  52895. var ReflectiveInjector_ = (function () {
  52896. /**
  52897. * Private
  52898. */
  52899. function ReflectiveInjector_(_proto /* ProtoInjector */, _parent) {
  52900. if (_parent === void 0) { _parent = null; }
  52901. /** @internal */
  52902. this._constructionCounter = 0;
  52903. this._proto = _proto;
  52904. this._parent = _parent;
  52905. this._strategy = _proto._strategy.createInjectorStrategy(this);
  52906. }
  52907. ReflectiveInjector_.prototype.get = function (token, notFoundValue) {
  52908. if (notFoundValue === void 0) { notFoundValue = __WEBPACK_IMPORTED_MODULE_2__injector__["a" /* THROW_IF_NOT_FOUND */]; }
  52909. return this._getByKey(__WEBPACK_IMPORTED_MODULE_5__reflective_key__["a" /* ReflectiveKey */].get(token), null, null, notFoundValue);
  52910. };
  52911. ReflectiveInjector_.prototype.getAt = function (index) { return this._strategy.getObjAtIndex(index); };
  52912. Object.defineProperty(ReflectiveInjector_.prototype, "parent", {
  52913. get: function () { return this._parent; },
  52914. enumerable: true,
  52915. configurable: true
  52916. });
  52917. Object.defineProperty(ReflectiveInjector_.prototype, "internalStrategy", {
  52918. /**
  52919. * @internal
  52920. * Internal. Do not use.
  52921. * We return `any` not to export the InjectorStrategy type.
  52922. */
  52923. get: function () { return this._strategy; },
  52924. enumerable: true,
  52925. configurable: true
  52926. });
  52927. ReflectiveInjector_.prototype.resolveAndCreateChild = function (providers) {
  52928. var ResolvedReflectiveProviders = ReflectiveInjector.resolve(providers);
  52929. return this.createChildFromResolved(ResolvedReflectiveProviders);
  52930. };
  52931. ReflectiveInjector_.prototype.createChildFromResolved = function (providers) {
  52932. var proto = new ReflectiveProtoInjector(providers);
  52933. var inj = new ReflectiveInjector_(proto);
  52934. inj._parent = this;
  52935. return inj;
  52936. };
  52937. ReflectiveInjector_.prototype.resolveAndInstantiate = function (provider) {
  52938. return this.instantiateResolved(ReflectiveInjector.resolve([provider])[0]);
  52939. };
  52940. ReflectiveInjector_.prototype.instantiateResolved = function (provider) {
  52941. return this._instantiateProvider(provider);
  52942. };
  52943. /** @internal */
  52944. ReflectiveInjector_.prototype._new = function (provider) {
  52945. if (this._constructionCounter++ > this._strategy.getMaxNumberOfObjects()) {
  52946. throw new __WEBPACK_IMPORTED_MODULE_4__reflective_errors__["e" /* CyclicDependencyError */](this, provider.key);
  52947. }
  52948. return this._instantiateProvider(provider);
  52949. };
  52950. ReflectiveInjector_.prototype._instantiateProvider = function (provider) {
  52951. if (provider.multiProvider) {
  52952. var res = new Array(provider.resolvedFactories.length);
  52953. for (var i = 0; i < provider.resolvedFactories.length; ++i) {
  52954. res[i] = this._instantiate(provider, provider.resolvedFactories[i]);
  52955. }
  52956. return res;
  52957. }
  52958. else {
  52959. return this._instantiate(provider, provider.resolvedFactories[0]);
  52960. }
  52961. };
  52962. ReflectiveInjector_.prototype._instantiate = function (provider, ResolvedReflectiveFactory) {
  52963. var factory = ResolvedReflectiveFactory.factory;
  52964. var deps = ResolvedReflectiveFactory.dependencies;
  52965. var length = deps.length;
  52966. var d0;
  52967. var d1;
  52968. var d2;
  52969. var d3;
  52970. var d4;
  52971. var d5;
  52972. var d6;
  52973. var d7;
  52974. var d8;
  52975. var d9;
  52976. var d10;
  52977. var d11;
  52978. var d12;
  52979. var d13;
  52980. var d14;
  52981. var d15;
  52982. var d16;
  52983. var d17;
  52984. var d18;
  52985. var d19;
  52986. try {
  52987. d0 = length > 0 ? this._getByReflectiveDependency(provider, deps[0]) : null;
  52988. d1 = length > 1 ? this._getByReflectiveDependency(provider, deps[1]) : null;
  52989. d2 = length > 2 ? this._getByReflectiveDependency(provider, deps[2]) : null;
  52990. d3 = length > 3 ? this._getByReflectiveDependency(provider, deps[3]) : null;
  52991. d4 = length > 4 ? this._getByReflectiveDependency(provider, deps[4]) : null;
  52992. d5 = length > 5 ? this._getByReflectiveDependency(provider, deps[5]) : null;
  52993. d6 = length > 6 ? this._getByReflectiveDependency(provider, deps[6]) : null;
  52994. d7 = length > 7 ? this._getByReflectiveDependency(provider, deps[7]) : null;
  52995. d8 = length > 8 ? this._getByReflectiveDependency(provider, deps[8]) : null;
  52996. d9 = length > 9 ? this._getByReflectiveDependency(provider, deps[9]) : null;
  52997. d10 = length > 10 ? this._getByReflectiveDependency(provider, deps[10]) : null;
  52998. d11 = length > 11 ? this._getByReflectiveDependency(provider, deps[11]) : null;
  52999. d12 = length > 12 ? this._getByReflectiveDependency(provider, deps[12]) : null;
  53000. d13 = length > 13 ? this._getByReflectiveDependency(provider, deps[13]) : null;
  53001. d14 = length > 14 ? this._getByReflectiveDependency(provider, deps[14]) : null;
  53002. d15 = length > 15 ? this._getByReflectiveDependency(provider, deps[15]) : null;
  53003. d16 = length > 16 ? this._getByReflectiveDependency(provider, deps[16]) : null;
  53004. d17 = length > 17 ? this._getByReflectiveDependency(provider, deps[17]) : null;
  53005. d18 = length > 18 ? this._getByReflectiveDependency(provider, deps[18]) : null;
  53006. d19 = length > 19 ? this._getByReflectiveDependency(provider, deps[19]) : null;
  53007. }
  53008. catch (e) {
  53009. if (e instanceof __WEBPACK_IMPORTED_MODULE_4__reflective_errors__["f" /* AbstractProviderError */] || e instanceof __WEBPACK_IMPORTED_MODULE_4__reflective_errors__["g" /* InstantiationError */]) {
  53010. e.addKey(this, provider.key);
  53011. }
  53012. throw e;
  53013. }
  53014. var obj;
  53015. try {
  53016. switch (length) {
  53017. case 0:
  53018. obj = factory();
  53019. break;
  53020. case 1:
  53021. obj = factory(d0);
  53022. break;
  53023. case 2:
  53024. obj = factory(d0, d1);
  53025. break;
  53026. case 3:
  53027. obj = factory(d0, d1, d2);
  53028. break;
  53029. case 4:
  53030. obj = factory(d0, d1, d2, d3);
  53031. break;
  53032. case 5:
  53033. obj = factory(d0, d1, d2, d3, d4);
  53034. break;
  53035. case 6:
  53036. obj = factory(d0, d1, d2, d3, d4, d5);
  53037. break;
  53038. case 7:
  53039. obj = factory(d0, d1, d2, d3, d4, d5, d6);
  53040. break;
  53041. case 8:
  53042. obj = factory(d0, d1, d2, d3, d4, d5, d6, d7);
  53043. break;
  53044. case 9:
  53045. obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8);
  53046. break;
  53047. case 10:
  53048. obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9);
  53049. break;
  53050. case 11:
  53051. obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10);
  53052. break;
  53053. case 12:
  53054. obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11);
  53055. break;
  53056. case 13:
  53057. obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12);
  53058. break;
  53059. case 14:
  53060. obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13);
  53061. break;
  53062. case 15:
  53063. obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14);
  53064. break;
  53065. case 16:
  53066. obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15);
  53067. break;
  53068. case 17:
  53069. obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16);
  53070. break;
  53071. case 18:
  53072. obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17);
  53073. break;
  53074. case 19:
  53075. obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18);
  53076. break;
  53077. case 20:
  53078. obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19);
  53079. break;
  53080. default:
  53081. throw new Error("Cannot instantiate '" + provider.key.displayName + "' because it has more than 20 dependencies");
  53082. }
  53083. }
  53084. catch (e) {
  53085. throw new __WEBPACK_IMPORTED_MODULE_4__reflective_errors__["g" /* InstantiationError */](this, e, e.stack, provider.key);
  53086. }
  53087. return obj;
  53088. };
  53089. ReflectiveInjector_.prototype._getByReflectiveDependency = function (provider, dep) {
  53090. return this._getByKey(dep.key, dep.lowerBoundVisibility, dep.upperBoundVisibility, dep.optional ? null : __WEBPACK_IMPORTED_MODULE_2__injector__["a" /* THROW_IF_NOT_FOUND */]);
  53091. };
  53092. ReflectiveInjector_.prototype._getByKey = function (key, lowerBoundVisibility, upperBoundVisibility, notFoundValue) {
  53093. if (key === INJECTOR_KEY) {
  53094. return this;
  53095. }
  53096. if (upperBoundVisibility instanceof __WEBPACK_IMPORTED_MODULE_3__metadata__["d" /* Self */]) {
  53097. return this._getByKeySelf(key, notFoundValue);
  53098. }
  53099. else {
  53100. return this._getByKeyDefault(key, notFoundValue, lowerBoundVisibility);
  53101. }
  53102. };
  53103. /** @internal */
  53104. ReflectiveInjector_.prototype._throwOrNull = function (key, notFoundValue) {
  53105. if (notFoundValue !== __WEBPACK_IMPORTED_MODULE_2__injector__["a" /* THROW_IF_NOT_FOUND */]) {
  53106. return notFoundValue;
  53107. }
  53108. else {
  53109. throw new __WEBPACK_IMPORTED_MODULE_4__reflective_errors__["h" /* NoProviderError */](this, key);
  53110. }
  53111. };
  53112. /** @internal */
  53113. ReflectiveInjector_.prototype._getByKeySelf = function (key, notFoundValue) {
  53114. var obj = this._strategy.getObjByKeyId(key.id);
  53115. return (obj !== UNDEFINED) ? obj : this._throwOrNull(key, notFoundValue);
  53116. };
  53117. /** @internal */
  53118. ReflectiveInjector_.prototype._getByKeyDefault = function (key, notFoundValue, lowerBoundVisibility) {
  53119. var inj;
  53120. if (lowerBoundVisibility instanceof __WEBPACK_IMPORTED_MODULE_3__metadata__["f" /* SkipSelf */]) {
  53121. inj = this._parent;
  53122. }
  53123. else {
  53124. inj = this;
  53125. }
  53126. while (inj instanceof ReflectiveInjector_) {
  53127. var inj_ = inj;
  53128. var obj = inj_._strategy.getObjByKeyId(key.id);
  53129. if (obj !== UNDEFINED)
  53130. return obj;
  53131. inj = inj_._parent;
  53132. }
  53133. if (inj !== null) {
  53134. return inj.get(key.token, notFoundValue);
  53135. }
  53136. else {
  53137. return this._throwOrNull(key, notFoundValue);
  53138. }
  53139. };
  53140. Object.defineProperty(ReflectiveInjector_.prototype, "displayName", {
  53141. get: function () {
  53142. var providers = _mapProviders(this, function (b) { return ' "' + b.key.displayName + '" '; })
  53143. .join(', ');
  53144. return "ReflectiveInjector(providers: [" + providers + "])";
  53145. },
  53146. enumerable: true,
  53147. configurable: true
  53148. });
  53149. ReflectiveInjector_.prototype.toString = function () { return this.displayName; };
  53150. return ReflectiveInjector_;
  53151. }());
  53152. var INJECTOR_KEY = __WEBPACK_IMPORTED_MODULE_5__reflective_key__["a" /* ReflectiveKey */].get(__WEBPACK_IMPORTED_MODULE_2__injector__["b" /* Injector */]);
  53153. function _mapProviders(injector, fn) {
  53154. var res = new Array(injector._proto.numberOfProviders);
  53155. for (var i = 0; i < injector._proto.numberOfProviders; ++i) {
  53156. res[i] = fn(injector._proto.getProviderAtIndex(i));
  53157. }
  53158. return res;
  53159. }
  53160. //# sourceMappingURL=reflective_injector.js.map
  53161. /***/ },
  53162. /* 485 */
  53163. /***/ function(module, exports, __webpack_require__) {
  53164. "use strict";
  53165. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lang__ = __webpack_require__(5);
  53166. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Math; });
  53167. /* unused harmony export NaN */
  53168. /**
  53169. * @license
  53170. * Copyright Google Inc. All Rights Reserved.
  53171. *
  53172. * Use of this source code is governed by an MIT-style license that can be
  53173. * found in the LICENSE file at https://angular.io/license
  53174. */
  53175. var Math = __WEBPACK_IMPORTED_MODULE_0__lang__["c" /* global */].Math;
  53176. var NaN = typeof NaN;
  53177. //# sourceMappingURL=math.js.map
  53178. /***/ },
  53179. /* 486 */
  53180. /***/ function(module, exports, __webpack_require__) {
  53181. "use strict";
  53182. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__linker_compiler__ = __webpack_require__(108);
  53183. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__linker_component_factory__ = __webpack_require__(313);
  53184. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__linker_component_factory_resolver__ = __webpack_require__(141);
  53185. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__linker_element_ref__ = __webpack_require__(315);
  53186. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__linker_ng_module_factory__ = __webpack_require__(317);
  53187. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__linker_ng_module_factory_loader__ = __webpack_require__(318);
  53188. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__linker_query_list__ = __webpack_require__(488);
  53189. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__linker_system_js_ng_module_factory_loader__ = __webpack_require__(489);
  53190. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__linker_template_ref__ = __webpack_require__(319);
  53191. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__linker_view_container_ref__ = __webpack_require__(320);
  53192. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__linker_view_ref__ = __webpack_require__(321);
  53193. /* harmony reexport (binding) */ __webpack_require__.d(exports, "j", function() { return __WEBPACK_IMPORTED_MODULE_0__linker_compiler__["e"]; });
  53194. /* harmony reexport (binding) */ __webpack_require__.d(exports, "k", function() { return __WEBPACK_IMPORTED_MODULE_0__linker_compiler__["a"]; });
  53195. /* harmony reexport (binding) */ __webpack_require__.d(exports, "h", function() { return __WEBPACK_IMPORTED_MODULE_0__linker_compiler__["d"]; });
  53196. /* harmony reexport (binding) */ __webpack_require__.d(exports, "i", function() { return __WEBPACK_IMPORTED_MODULE_0__linker_compiler__["b"]; });
  53197. /* harmony reexport (binding) */ __webpack_require__.d(exports, "f", function() { return __WEBPACK_IMPORTED_MODULE_1__linker_component_factory__["a"]; });
  53198. /* harmony reexport (binding) */ __webpack_require__.d(exports, "l", function() { return __WEBPACK_IMPORTED_MODULE_1__linker_component_factory__["b"]; });
  53199. /* harmony reexport (binding) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_2__linker_component_factory_resolver__["a"]; });
  53200. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_3__linker_element_ref__["a"]; });
  53201. /* harmony reexport (binding) */ __webpack_require__.d(exports, "g", function() { return __WEBPACK_IMPORTED_MODULE_4__linker_ng_module_factory__["b"]; });
  53202. /* harmony reexport (binding) */ __webpack_require__.d(exports, "m", function() { return __WEBPACK_IMPORTED_MODULE_4__linker_ng_module_factory__["c"]; });
  53203. /* harmony reexport (binding) */ __webpack_require__.d(exports, "n", function() { return __WEBPACK_IMPORTED_MODULE_5__linker_ng_module_factory_loader__["b"]; });
  53204. /* harmony reexport (binding) */ __webpack_require__.d(exports, "o", function() { return __WEBPACK_IMPORTED_MODULE_5__linker_ng_module_factory_loader__["c"]; });
  53205. /* harmony reexport (binding) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_6__linker_query_list__["a"]; });
  53206. /* harmony reexport (binding) */ __webpack_require__.d(exports, "p", function() { return __WEBPACK_IMPORTED_MODULE_7__linker_system_js_ng_module_factory_loader__["a"]; });
  53207. /* harmony reexport (binding) */ __webpack_require__.d(exports, "q", function() { return __WEBPACK_IMPORTED_MODULE_7__linker_system_js_ng_module_factory_loader__["b"]; });
  53208. /* harmony reexport (binding) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_8__linker_template_ref__["b"]; });
  53209. /* harmony reexport (binding) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_9__linker_view_container_ref__["b"]; });
  53210. /* harmony reexport (binding) */ __webpack_require__.d(exports, "r", function() { return __WEBPACK_IMPORTED_MODULE_10__linker_view_ref__["b"]; });
  53211. /* harmony reexport (binding) */ __webpack_require__.d(exports, "s", function() { return __WEBPACK_IMPORTED_MODULE_10__linker_view_ref__["c"]; });
  53212. /**
  53213. * @license
  53214. * Copyright Google Inc. All Rights Reserved.
  53215. *
  53216. * Use of this source code is governed by an MIT-style license that can be
  53217. * found in the LICENSE file at https://angular.io/license
  53218. */
  53219. // Public API for compiler
  53220. //# sourceMappingURL=linker.js.map
  53221. /***/ },
  53222. /* 487 */
  53223. /***/ function(module, exports, __webpack_require__) {
  53224. "use strict";
  53225. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__di_injector__ = __webpack_require__(139);
  53226. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ElementInjector; });
  53227. /**
  53228. * @license
  53229. * Copyright Google Inc. All Rights Reserved.
  53230. *
  53231. * Use of this source code is governed by an MIT-style license that can be
  53232. * found in the LICENSE file at https://angular.io/license
  53233. */
  53234. var __extends = (this && this.__extends) || function (d, b) {
  53235. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  53236. function __() { this.constructor = d; }
  53237. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  53238. };
  53239. var _UNDEFINED = new Object();
  53240. var ElementInjector = (function (_super) {
  53241. __extends(ElementInjector, _super);
  53242. function ElementInjector(_view, _nodeIndex) {
  53243. _super.call(this);
  53244. this._view = _view;
  53245. this._nodeIndex = _nodeIndex;
  53246. }
  53247. ElementInjector.prototype.get = function (token, notFoundValue) {
  53248. if (notFoundValue === void 0) { notFoundValue = __WEBPACK_IMPORTED_MODULE_0__di_injector__["a" /* THROW_IF_NOT_FOUND */]; }
  53249. var result = _UNDEFINED;
  53250. if (result === _UNDEFINED) {
  53251. result = this._view.injectorGet(token, this._nodeIndex, _UNDEFINED);
  53252. }
  53253. if (result === _UNDEFINED) {
  53254. result = this._view.parentInjector.get(token, notFoundValue);
  53255. }
  53256. return result;
  53257. };
  53258. return ElementInjector;
  53259. }(__WEBPACK_IMPORTED_MODULE_0__di_injector__["b" /* Injector */]));
  53260. //# sourceMappingURL=element_injector.js.map
  53261. /***/ },
  53262. /* 488 */
  53263. /***/ function(module, exports, __webpack_require__) {
  53264. "use strict";
  53265. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_async__ = __webpack_require__(207);
  53266. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(16);
  53267. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(5);
  53268. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return QueryList; });
  53269. /**
  53270. * @license
  53271. * Copyright Google Inc. All Rights Reserved.
  53272. *
  53273. * Use of this source code is governed by an MIT-style license that can be
  53274. * found in the LICENSE file at https://angular.io/license
  53275. */
  53276. /**
  53277. * An unmodifiable list of items that Angular keeps up to date when the state
  53278. * of the application changes.
  53279. *
  53280. * The type of object that {@link Query} and {@link ViewQueryMetadata} provide.
  53281. *
  53282. * Implements an iterable interface, therefore it can be used in both ES6
  53283. * javascript `for (var i of items)` loops as well as in Angular templates with
  53284. * `*ngFor="let i of myList"`.
  53285. *
  53286. * Changes can be observed by subscribing to the changes `Observable`.
  53287. *
  53288. * NOTE: In the future this class will implement an `Observable` interface.
  53289. *
  53290. * ### Example ([live demo](http://plnkr.co/edit/RX8sJnQYl9FWuSCWme5z?p=preview))
  53291. * ```typescript
  53292. * @Component({...})
  53293. * class Container {
  53294. * @ViewChildren(Item) items:QueryList<Item>;
  53295. * }
  53296. * ```
  53297. * @stable
  53298. */
  53299. var QueryList = (function () {
  53300. function QueryList() {
  53301. this._dirty = true;
  53302. this._results = [];
  53303. this._emitter = new __WEBPACK_IMPORTED_MODULE_0__facade_async__["a" /* EventEmitter */]();
  53304. }
  53305. Object.defineProperty(QueryList.prototype, "changes", {
  53306. get: function () { return this._emitter; },
  53307. enumerable: true,
  53308. configurable: true
  53309. });
  53310. Object.defineProperty(QueryList.prototype, "length", {
  53311. get: function () { return this._results.length; },
  53312. enumerable: true,
  53313. configurable: true
  53314. });
  53315. Object.defineProperty(QueryList.prototype, "first", {
  53316. get: function () { return this._results[0]; },
  53317. enumerable: true,
  53318. configurable: true
  53319. });
  53320. Object.defineProperty(QueryList.prototype, "last", {
  53321. get: function () { return this._results[this.length - 1]; },
  53322. enumerable: true,
  53323. configurable: true
  53324. });
  53325. /**
  53326. * See
  53327. * [Array.map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)
  53328. */
  53329. QueryList.prototype.map = function (fn) { return this._results.map(fn); };
  53330. /**
  53331. * See
  53332. * [Array.filter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)
  53333. */
  53334. QueryList.prototype.filter = function (fn) {
  53335. return this._results.filter(fn);
  53336. };
  53337. /**
  53338. * See
  53339. * [Array.reduce](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)
  53340. */
  53341. QueryList.prototype.reduce = function (fn, init) {
  53342. return this._results.reduce(fn, init);
  53343. };
  53344. /**
  53345. * See
  53346. * [Array.forEach](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)
  53347. */
  53348. QueryList.prototype.forEach = function (fn) { this._results.forEach(fn); };
  53349. /**
  53350. * See
  53351. * [Array.some](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some)
  53352. */
  53353. QueryList.prototype.some = function (fn) {
  53354. return this._results.some(fn);
  53355. };
  53356. QueryList.prototype.toArray = function () { return this._results.slice(); };
  53357. QueryList.prototype[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["h" /* getSymbolIterator */])()] = function () { return this._results[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["h" /* getSymbolIterator */])()](); };
  53358. QueryList.prototype.toString = function () { return this._results.toString(); };
  53359. QueryList.prototype.reset = function (res) {
  53360. this._results = __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* ListWrapper */].flatten(res);
  53361. this._dirty = false;
  53362. };
  53363. QueryList.prototype.notifyOnChanges = function () { this._emitter.emit(this); };
  53364. /** internal */
  53365. QueryList.prototype.setDirty = function () { this._dirty = true; };
  53366. Object.defineProperty(QueryList.prototype, "dirty", {
  53367. /** internal */
  53368. get: function () { return this._dirty; },
  53369. enumerable: true,
  53370. configurable: true
  53371. });
  53372. return QueryList;
  53373. }());
  53374. //# sourceMappingURL=query_list.js.map
  53375. /***/ },
  53376. /* 489 */
  53377. /***/ function(module, exports, __webpack_require__) {
  53378. "use strict";
  53379. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__di__ = __webpack_require__(39);
  53380. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__compiler__ = __webpack_require__(108);
  53381. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return SystemJsNgModuleLoaderConfig; });
  53382. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return SystemJsNgModuleLoader; });
  53383. /**
  53384. * @license
  53385. * Copyright Google Inc. All Rights Reserved.
  53386. *
  53387. * Use of this source code is governed by an MIT-style license that can be
  53388. * found in the LICENSE file at https://angular.io/license
  53389. */
  53390. var _SEPARATOR = '#';
  53391. var FACTORY_CLASS_SUFFIX = 'NgFactory';
  53392. /**
  53393. * Configuration for SystemJsNgModuleLoader.
  53394. * token.
  53395. *
  53396. * @experimental
  53397. */
  53398. var SystemJsNgModuleLoaderConfig = (function () {
  53399. function SystemJsNgModuleLoaderConfig() {
  53400. }
  53401. return SystemJsNgModuleLoaderConfig;
  53402. }());
  53403. var DEFAULT_CONFIG = {
  53404. factoryPathPrefix: '',
  53405. factoryPathSuffix: '.ngfactory',
  53406. };
  53407. /**
  53408. * NgModuleFactoryLoader that uses SystemJS to load NgModuleFactory
  53409. * @experimental
  53410. */
  53411. var SystemJsNgModuleLoader = (function () {
  53412. function SystemJsNgModuleLoader(_compiler, config) {
  53413. this._compiler = _compiler;
  53414. this._config = config || DEFAULT_CONFIG;
  53415. }
  53416. SystemJsNgModuleLoader.prototype.load = function (path) {
  53417. var offlineMode = this._compiler instanceof __WEBPACK_IMPORTED_MODULE_1__compiler__["b" /* Compiler */];
  53418. return offlineMode ? this.loadFactory(path) : this.loadAndCompile(path);
  53419. };
  53420. SystemJsNgModuleLoader.prototype.loadAndCompile = function (path) {
  53421. var _this = this;
  53422. var _a = path.split(_SEPARATOR), module = _a[0], exportName = _a[1];
  53423. if (exportName === undefined)
  53424. exportName = 'default';
  53425. return __webpack_require__(268)(module)
  53426. .then(function (module) { return module[exportName]; })
  53427. .then(function (type) { return checkNotEmpty(type, module, exportName); })
  53428. .then(function (type) { return _this._compiler.compileModuleAsync(type); });
  53429. };
  53430. SystemJsNgModuleLoader.prototype.loadFactory = function (path) {
  53431. var _a = path.split(_SEPARATOR), module = _a[0], exportName = _a[1];
  53432. var factoryClassSuffix = FACTORY_CLASS_SUFFIX;
  53433. if (exportName === undefined) {
  53434. exportName = 'default';
  53435. factoryClassSuffix = '';
  53436. }
  53437. return __webpack_require__(268)(this._config.factoryPathPrefix + module + this._config.factoryPathSuffix)
  53438. .then(function (module) { return module[exportName + factoryClassSuffix]; })
  53439. .then(function (factory) { return checkNotEmpty(factory, module, exportName); });
  53440. };
  53441. SystemJsNgModuleLoader.decorators = [
  53442. { type: __WEBPACK_IMPORTED_MODULE_0__di__["b" /* Injectable */] },
  53443. ];
  53444. /** @nocollapse */
  53445. SystemJsNgModuleLoader.ctorParameters = [
  53446. { type: __WEBPACK_IMPORTED_MODULE_1__compiler__["b" /* Compiler */], },
  53447. { type: SystemJsNgModuleLoaderConfig, decorators: [{ type: __WEBPACK_IMPORTED_MODULE_0__di__["d" /* Optional */] },] },
  53448. ];
  53449. return SystemJsNgModuleLoader;
  53450. }());
  53451. function checkNotEmpty(value, modulePath, exportName) {
  53452. if (!value) {
  53453. throw new Error("Cannot find '" + exportName + "' in '" + modulePath + "'");
  53454. }
  53455. return value;
  53456. }
  53457. //# sourceMappingURL=system_js_ng_module_factory_loader.js.map
  53458. /***/ },
  53459. /* 490 */
  53460. /***/ function(module, exports, __webpack_require__) {
  53461. "use strict";
  53462. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__animation_animation_group_player__ = __webpack_require__(302);
  53463. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__animation_animation_queue__ = __webpack_require__(303);
  53464. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__animation_animation_transition_event__ = __webpack_require__(304);
  53465. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__animation_view_animation_map__ = __webpack_require__(477);
  53466. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__ = __webpack_require__(136);
  53467. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__facade_collection__ = __webpack_require__(16);
  53468. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__facade_lang__ = __webpack_require__(5);
  53469. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__profile_profile__ = __webpack_require__(144);
  53470. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__debug_context__ = __webpack_require__(314);
  53471. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__element__ = __webpack_require__(208);
  53472. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__element_injector__ = __webpack_require__(487);
  53473. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__errors__ = __webpack_require__(316);
  53474. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__view_ref__ = __webpack_require__(321);
  53475. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__view_type__ = __webpack_require__(142);
  53476. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__view_utils__ = __webpack_require__(143);
  53477. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AppView; });
  53478. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return DebugAppView; });
  53479. /**
  53480. * @license
  53481. * Copyright Google Inc. All Rights Reserved.
  53482. *
  53483. * Use of this source code is governed by an MIT-style license that can be
  53484. * found in the LICENSE file at https://angular.io/license
  53485. */
  53486. var __extends = (this && this.__extends) || function (d, b) {
  53487. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  53488. function __() { this.constructor = d; }
  53489. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  53490. };
  53491. var _scope_check = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__profile_profile__["a" /* wtfCreateScope */])("AppView#check(ascii id)");
  53492. /**
  53493. * Cost of making objects: http://jsperf.com/instantiate-size-of-object
  53494. *
  53495. */
  53496. var AppView = (function () {
  53497. function AppView(clazz, componentType, type, viewUtils, parentInjector, declarationAppElement, cdMode) {
  53498. this.clazz = clazz;
  53499. this.componentType = componentType;
  53500. this.type = type;
  53501. this.viewUtils = viewUtils;
  53502. this.parentInjector = parentInjector;
  53503. this.declarationAppElement = declarationAppElement;
  53504. this.cdMode = cdMode;
  53505. this.contentChildren = [];
  53506. this.viewChildren = [];
  53507. this.viewContainerElement = null;
  53508. this.numberOfChecks = 0;
  53509. this.animationPlayers = new __WEBPACK_IMPORTED_MODULE_3__animation_view_animation_map__["a" /* ViewAnimationMap */]();
  53510. this._animationListeners = new Map();
  53511. this.ref = new __WEBPACK_IMPORTED_MODULE_12__view_ref__["a" /* ViewRef_ */](this);
  53512. if (type === __WEBPACK_IMPORTED_MODULE_13__view_type__["a" /* ViewType */].COMPONENT || type === __WEBPACK_IMPORTED_MODULE_13__view_type__["a" /* ViewType */].HOST) {
  53513. this.renderer = viewUtils.renderComponent(componentType);
  53514. }
  53515. else {
  53516. this.renderer = declarationAppElement.parentView.renderer;
  53517. }
  53518. }
  53519. Object.defineProperty(AppView.prototype, "destroyed", {
  53520. get: function () { return this.cdMode === __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].Destroyed; },
  53521. enumerable: true,
  53522. configurable: true
  53523. });
  53524. AppView.prototype.cancelActiveAnimation = function (element, animationName, removeAllAnimations) {
  53525. if (removeAllAnimations === void 0) { removeAllAnimations = false; }
  53526. if (removeAllAnimations) {
  53527. this.animationPlayers.findAllPlayersByElement(element).forEach(function (player) { return player.destroy(); });
  53528. }
  53529. else {
  53530. var player = this.animationPlayers.find(element, animationName);
  53531. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__facade_lang__["e" /* isPresent */])(player)) {
  53532. player.destroy();
  53533. }
  53534. }
  53535. };
  53536. AppView.prototype.queueAnimation = function (element, animationName, player, totalTime, fromState, toState) {
  53537. var _this = this;
  53538. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__animation_animation_queue__["b" /* queueAnimation */])(player);
  53539. var event = new __WEBPACK_IMPORTED_MODULE_2__animation_animation_transition_event__["a" /* AnimationTransitionEvent */]({ 'fromState': fromState, 'toState': toState, 'totalTime': totalTime });
  53540. this.animationPlayers.set(element, animationName, player);
  53541. player.onDone(function () {
  53542. // TODO: make this into a datastructure for done|start
  53543. _this.triggerAnimationOutput(element, animationName, 'done', event);
  53544. _this.animationPlayers.remove(element, animationName);
  53545. });
  53546. player.onStart(function () { _this.triggerAnimationOutput(element, animationName, 'start', event); });
  53547. };
  53548. AppView.prototype.triggerAnimationOutput = function (element, animationName, phase, event) {
  53549. var listeners = this._animationListeners.get(element);
  53550. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__facade_lang__["e" /* isPresent */])(listeners) && listeners.length) {
  53551. for (var i = 0; i < listeners.length; i++) {
  53552. var listener = listeners[i];
  53553. // we check for both the name in addition to the phase in the event
  53554. // that there may be more than one @trigger on the same element
  53555. if (listener.output.name == animationName && listener.output.phase == phase) {
  53556. listener.handler(event);
  53557. break;
  53558. }
  53559. }
  53560. }
  53561. };
  53562. AppView.prototype.registerAnimationOutput = function (element, outputEvent, eventHandler) {
  53563. var entry = new _AnimationOutputWithHandler(outputEvent, eventHandler);
  53564. var animations = this._animationListeners.get(element);
  53565. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__facade_lang__["e" /* isPresent */])(animations)) {
  53566. this._animationListeners.set(element, animations = []);
  53567. }
  53568. animations.push(entry);
  53569. };
  53570. AppView.prototype.create = function (context, givenProjectableNodes, rootSelectorOrNode) {
  53571. this.context = context;
  53572. var projectableNodes;
  53573. switch (this.type) {
  53574. case __WEBPACK_IMPORTED_MODULE_13__view_type__["a" /* ViewType */].COMPONENT:
  53575. projectableNodes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_14__view_utils__["b" /* ensureSlotCount */])(givenProjectableNodes, this.componentType.slotCount);
  53576. break;
  53577. case __WEBPACK_IMPORTED_MODULE_13__view_type__["a" /* ViewType */].EMBEDDED:
  53578. projectableNodes = this.declarationAppElement.parentView.projectableNodes;
  53579. break;
  53580. case __WEBPACK_IMPORTED_MODULE_13__view_type__["a" /* ViewType */].HOST:
  53581. // Note: Don't ensure the slot count for the projectableNodes as we store
  53582. // them only for the contained component view (which will later check the slot count...)
  53583. projectableNodes = givenProjectableNodes;
  53584. break;
  53585. }
  53586. this._hasExternalHostElement = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__facade_lang__["e" /* isPresent */])(rootSelectorOrNode);
  53587. this.projectableNodes = projectableNodes;
  53588. return this.createInternal(rootSelectorOrNode);
  53589. };
  53590. /**
  53591. * Overwritten by implementations.
  53592. * Returns the AppElement for the host element for ViewType.HOST.
  53593. */
  53594. AppView.prototype.createInternal = function (rootSelectorOrNode) { return null; };
  53595. AppView.prototype.init = function (rootNodesOrAppElements, allNodes, disposables, subscriptions) {
  53596. this.rootNodesOrAppElements = rootNodesOrAppElements;
  53597. this.allNodes = allNodes;
  53598. this.disposables = disposables;
  53599. this.subscriptions = subscriptions;
  53600. if (this.type === __WEBPACK_IMPORTED_MODULE_13__view_type__["a" /* ViewType */].COMPONENT) {
  53601. // Note: the render node have been attached to their host element
  53602. // in the ViewFactory already.
  53603. this.declarationAppElement.parentView.viewChildren.push(this);
  53604. this.dirtyParentQueriesInternal();
  53605. }
  53606. };
  53607. AppView.prototype.selectOrCreateHostElement = function (elementName, rootSelectorOrNode, debugInfo) {
  53608. var hostElement;
  53609. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__facade_lang__["e" /* isPresent */])(rootSelectorOrNode)) {
  53610. hostElement = this.renderer.selectRootElement(rootSelectorOrNode, debugInfo);
  53611. }
  53612. else {
  53613. hostElement = this.renderer.createElement(null, elementName, debugInfo);
  53614. }
  53615. return hostElement;
  53616. };
  53617. AppView.prototype.injectorGet = function (token, nodeIndex, notFoundResult) {
  53618. return this.injectorGetInternal(token, nodeIndex, notFoundResult);
  53619. };
  53620. /**
  53621. * Overwritten by implementations
  53622. */
  53623. AppView.prototype.injectorGetInternal = function (token, nodeIndex, notFoundResult) {
  53624. return notFoundResult;
  53625. };
  53626. AppView.prototype.injector = function (nodeIndex) {
  53627. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__facade_lang__["e" /* isPresent */])(nodeIndex)) {
  53628. return new __WEBPACK_IMPORTED_MODULE_10__element_injector__["a" /* ElementInjector */](this, nodeIndex);
  53629. }
  53630. else {
  53631. return this.parentInjector;
  53632. }
  53633. };
  53634. AppView.prototype.destroy = function () {
  53635. if (this._hasExternalHostElement) {
  53636. this.renderer.detachView(this.flatRootNodes);
  53637. }
  53638. else if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__facade_lang__["e" /* isPresent */])(this.viewContainerElement)) {
  53639. this.viewContainerElement.detachView(this.viewContainerElement.nestedViews.indexOf(this));
  53640. }
  53641. this._destroyRecurse();
  53642. };
  53643. AppView.prototype._destroyRecurse = function () {
  53644. if (this.cdMode === __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].Destroyed) {
  53645. return;
  53646. }
  53647. var children = this.contentChildren;
  53648. for (var i = 0; i < children.length; i++) {
  53649. children[i]._destroyRecurse();
  53650. }
  53651. children = this.viewChildren;
  53652. for (var i = 0; i < children.length; i++) {
  53653. children[i]._destroyRecurse();
  53654. }
  53655. this.destroyLocal();
  53656. this.cdMode = __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].Destroyed;
  53657. };
  53658. AppView.prototype.destroyLocal = function () {
  53659. var _this = this;
  53660. var hostElement = this.type === __WEBPACK_IMPORTED_MODULE_13__view_type__["a" /* ViewType */].COMPONENT ? this.declarationAppElement.nativeElement : null;
  53661. for (var i = 0; i < this.disposables.length; i++) {
  53662. this.disposables[i]();
  53663. }
  53664. for (var i = 0; i < this.subscriptions.length; i++) {
  53665. this.subscriptions[i].unsubscribe();
  53666. }
  53667. this.destroyInternal();
  53668. this.dirtyParentQueriesInternal();
  53669. if (this.animationPlayers.length == 0) {
  53670. this.renderer.destroyView(hostElement, this.allNodes);
  53671. }
  53672. else {
  53673. var player = new __WEBPACK_IMPORTED_MODULE_0__animation_animation_group_player__["a" /* AnimationGroupPlayer */](this.animationPlayers.getAllPlayers());
  53674. player.onDone(function () { _this.renderer.destroyView(hostElement, _this.allNodes); });
  53675. }
  53676. };
  53677. /**
  53678. * Overwritten by implementations
  53679. */
  53680. AppView.prototype.destroyInternal = function () { };
  53681. /**
  53682. * Overwritten by implementations
  53683. */
  53684. AppView.prototype.detachInternal = function () { };
  53685. AppView.prototype.detach = function () {
  53686. var _this = this;
  53687. this.detachInternal();
  53688. if (this.animationPlayers.length == 0) {
  53689. this.renderer.detachView(this.flatRootNodes);
  53690. }
  53691. else {
  53692. var player = new __WEBPACK_IMPORTED_MODULE_0__animation_animation_group_player__["a" /* AnimationGroupPlayer */](this.animationPlayers.getAllPlayers());
  53693. player.onDone(function () { _this.renderer.detachView(_this.flatRootNodes); });
  53694. }
  53695. };
  53696. Object.defineProperty(AppView.prototype, "changeDetectorRef", {
  53697. get: function () { return this.ref; },
  53698. enumerable: true,
  53699. configurable: true
  53700. });
  53701. Object.defineProperty(AppView.prototype, "parent", {
  53702. get: function () {
  53703. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__facade_lang__["e" /* isPresent */])(this.declarationAppElement) ? this.declarationAppElement.parentView : null;
  53704. },
  53705. enumerable: true,
  53706. configurable: true
  53707. });
  53708. Object.defineProperty(AppView.prototype, "flatRootNodes", {
  53709. get: function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_14__view_utils__["c" /* flattenNestedViewRenderNodes */])(this.rootNodesOrAppElements); },
  53710. enumerable: true,
  53711. configurable: true
  53712. });
  53713. Object.defineProperty(AppView.prototype, "lastRootNode", {
  53714. get: function () {
  53715. var lastNode = this.rootNodesOrAppElements.length > 0 ?
  53716. this.rootNodesOrAppElements[this.rootNodesOrAppElements.length - 1] :
  53717. null;
  53718. return _findLastRenderNode(lastNode);
  53719. },
  53720. enumerable: true,
  53721. configurable: true
  53722. });
  53723. /**
  53724. * Overwritten by implementations
  53725. */
  53726. AppView.prototype.dirtyParentQueriesInternal = function () { };
  53727. AppView.prototype.detectChanges = function (throwOnChange) {
  53728. var s = _scope_check(this.clazz);
  53729. if (this.cdMode === __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].Checked ||
  53730. this.cdMode === __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].Errored)
  53731. return;
  53732. if (this.cdMode === __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].Destroyed) {
  53733. this.throwDestroyedError('detectChanges');
  53734. }
  53735. this.detectChangesInternal(throwOnChange);
  53736. if (this.cdMode === __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].CheckOnce)
  53737. this.cdMode = __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].Checked;
  53738. this.numberOfChecks++;
  53739. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__profile_profile__["b" /* wtfLeave */])(s);
  53740. };
  53741. /**
  53742. * Overwritten by implementations
  53743. */
  53744. AppView.prototype.detectChangesInternal = function (throwOnChange) {
  53745. this.detectContentChildrenChanges(throwOnChange);
  53746. this.detectViewChildrenChanges(throwOnChange);
  53747. };
  53748. AppView.prototype.detectContentChildrenChanges = function (throwOnChange) {
  53749. for (var i = 0; i < this.contentChildren.length; ++i) {
  53750. var child = this.contentChildren[i];
  53751. if (child.cdMode === __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].Detached)
  53752. continue;
  53753. child.detectChanges(throwOnChange);
  53754. }
  53755. };
  53756. AppView.prototype.detectViewChildrenChanges = function (throwOnChange) {
  53757. for (var i = 0; i < this.viewChildren.length; ++i) {
  53758. var child = this.viewChildren[i];
  53759. if (child.cdMode === __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].Detached)
  53760. continue;
  53761. child.detectChanges(throwOnChange);
  53762. }
  53763. };
  53764. AppView.prototype.markContentChildAsMoved = function (renderAppElement) { this.dirtyParentQueriesInternal(); };
  53765. AppView.prototype.addToContentChildren = function (renderAppElement) {
  53766. renderAppElement.parentView.contentChildren.push(this);
  53767. this.viewContainerElement = renderAppElement;
  53768. this.dirtyParentQueriesInternal();
  53769. };
  53770. AppView.prototype.removeFromContentChildren = function (renderAppElement) {
  53771. __WEBPACK_IMPORTED_MODULE_5__facade_collection__["a" /* ListWrapper */].remove(renderAppElement.parentView.contentChildren, this);
  53772. this.dirtyParentQueriesInternal();
  53773. this.viewContainerElement = null;
  53774. };
  53775. AppView.prototype.markAsCheckOnce = function () { this.cdMode = __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].CheckOnce; };
  53776. AppView.prototype.markPathToRootAsCheckOnce = function () {
  53777. var c = this;
  53778. while (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__facade_lang__["e" /* isPresent */])(c) && c.cdMode !== __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].Detached) {
  53779. if (c.cdMode === __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].Checked) {
  53780. c.cdMode = __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].CheckOnce;
  53781. }
  53782. var parentEl = c.type === __WEBPACK_IMPORTED_MODULE_13__view_type__["a" /* ViewType */].COMPONENT ? c.declarationAppElement : c.viewContainerElement;
  53783. c = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__facade_lang__["e" /* isPresent */])(parentEl) ? parentEl.parentView : null;
  53784. }
  53785. };
  53786. AppView.prototype.eventHandler = function (cb) { return cb; };
  53787. AppView.prototype.throwDestroyedError = function (details) { throw new __WEBPACK_IMPORTED_MODULE_11__errors__["b" /* ViewDestroyedError */](details); };
  53788. return AppView;
  53789. }());
  53790. var DebugAppView = (function (_super) {
  53791. __extends(DebugAppView, _super);
  53792. function DebugAppView(clazz, componentType, type, viewUtils, parentInjector, declarationAppElement, cdMode, staticNodeDebugInfos) {
  53793. _super.call(this, clazz, componentType, type, viewUtils, parentInjector, declarationAppElement, cdMode);
  53794. this.staticNodeDebugInfos = staticNodeDebugInfos;
  53795. this._currentDebugContext = null;
  53796. }
  53797. DebugAppView.prototype.create = function (context, givenProjectableNodes, rootSelectorOrNode) {
  53798. this._resetDebug();
  53799. try {
  53800. return _super.prototype.create.call(this, context, givenProjectableNodes, rootSelectorOrNode);
  53801. }
  53802. catch (e) {
  53803. this._rethrowWithContext(e);
  53804. throw e;
  53805. }
  53806. };
  53807. DebugAppView.prototype.injectorGet = function (token, nodeIndex, notFoundResult) {
  53808. this._resetDebug();
  53809. try {
  53810. return _super.prototype.injectorGet.call(this, token, nodeIndex, notFoundResult);
  53811. }
  53812. catch (e) {
  53813. this._rethrowWithContext(e);
  53814. throw e;
  53815. }
  53816. };
  53817. DebugAppView.prototype.detach = function () {
  53818. this._resetDebug();
  53819. try {
  53820. _super.prototype.detach.call(this);
  53821. }
  53822. catch (e) {
  53823. this._rethrowWithContext(e);
  53824. throw e;
  53825. }
  53826. };
  53827. DebugAppView.prototype.destroyLocal = function () {
  53828. this._resetDebug();
  53829. try {
  53830. _super.prototype.destroyLocal.call(this);
  53831. }
  53832. catch (e) {
  53833. this._rethrowWithContext(e);
  53834. throw e;
  53835. }
  53836. };
  53837. DebugAppView.prototype.detectChanges = function (throwOnChange) {
  53838. this._resetDebug();
  53839. try {
  53840. _super.prototype.detectChanges.call(this, throwOnChange);
  53841. }
  53842. catch (e) {
  53843. this._rethrowWithContext(e);
  53844. throw e;
  53845. }
  53846. };
  53847. DebugAppView.prototype._resetDebug = function () { this._currentDebugContext = null; };
  53848. DebugAppView.prototype.debug = function (nodeIndex, rowNum, colNum) {
  53849. return this._currentDebugContext = new __WEBPACK_IMPORTED_MODULE_8__debug_context__["a" /* DebugContext */](this, nodeIndex, rowNum, colNum);
  53850. };
  53851. DebugAppView.prototype._rethrowWithContext = function (e) {
  53852. if (!(e instanceof __WEBPACK_IMPORTED_MODULE_11__errors__["c" /* ViewWrappedError */])) {
  53853. if (!(e instanceof __WEBPACK_IMPORTED_MODULE_11__errors__["a" /* ExpressionChangedAfterItHasBeenCheckedError */])) {
  53854. this.cdMode = __WEBPACK_IMPORTED_MODULE_4__change_detection_change_detection__["f" /* ChangeDetectorStatus */].Errored;
  53855. }
  53856. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__facade_lang__["e" /* isPresent */])(this._currentDebugContext)) {
  53857. throw new __WEBPACK_IMPORTED_MODULE_11__errors__["c" /* ViewWrappedError */](e, this._currentDebugContext);
  53858. }
  53859. }
  53860. };
  53861. DebugAppView.prototype.eventHandler = function (cb) {
  53862. var _this = this;
  53863. var superHandler = _super.prototype.eventHandler.call(this, cb);
  53864. return function (event) {
  53865. _this._resetDebug();
  53866. try {
  53867. return superHandler(event);
  53868. }
  53869. catch (e) {
  53870. _this._rethrowWithContext(e);
  53871. throw e;
  53872. }
  53873. };
  53874. };
  53875. return DebugAppView;
  53876. }(AppView));
  53877. function _findLastRenderNode(node) {
  53878. var lastNode;
  53879. if (node instanceof __WEBPACK_IMPORTED_MODULE_9__element__["a" /* AppElement */]) {
  53880. var appEl = node;
  53881. lastNode = appEl.nativeElement;
  53882. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__facade_lang__["e" /* isPresent */])(appEl.nestedViews)) {
  53883. // Note: Views might have no root node at all!
  53884. for (var i = appEl.nestedViews.length - 1; i >= 0; i--) {
  53885. var nestedView = appEl.nestedViews[i];
  53886. if (nestedView.rootNodesOrAppElements.length > 0) {
  53887. lastNode = _findLastRenderNode(nestedView.rootNodesOrAppElements[nestedView.rootNodesOrAppElements.length - 1]);
  53888. }
  53889. }
  53890. }
  53891. }
  53892. else {
  53893. lastNode = node;
  53894. }
  53895. return lastNode;
  53896. }
  53897. var _AnimationOutputWithHandler = (function () {
  53898. function _AnimationOutputWithHandler(output, handler) {
  53899. this.output = output;
  53900. this.handler = handler;
  53901. }
  53902. return _AnimationOutputWithHandler;
  53903. }());
  53904. //# sourceMappingURL=view.js.map
  53905. /***/ },
  53906. /* 491 */
  53907. /***/ function(module, exports, __webpack_require__) {
  53908. "use strict";
  53909. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__di_opaque_token__ = __webpack_require__(204);
  53910. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_decorators__ = __webpack_require__(89);
  53911. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return ANALYZE_FOR_ENTRY_COMPONENTS; });
  53912. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return Attribute; });
  53913. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return Query; });
  53914. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return ContentChildren; });
  53915. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return ContentChild; });
  53916. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return ViewChildren; });
  53917. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return ViewChild; });
  53918. /**
  53919. * @license
  53920. * Copyright Google Inc. All Rights Reserved.
  53921. *
  53922. * Use of this source code is governed by an MIT-style license that can be
  53923. * found in the LICENSE file at https://angular.io/license
  53924. */
  53925. /**
  53926. * This token can be used to create a virtual provider that will populate the
  53927. * `entryComponents` fields of components and ng modules based on its `useValue`.
  53928. * All components that are referenced in the `useValue` value (either directly
  53929. * or in a nested array or map) will be added to the `entryComponents` property.
  53930. *
  53931. * ### Example
  53932. * The following example shows how the router can populate the `entryComponents`
  53933. * field of an NgModule based on the router configuration which refers
  53934. * to components.
  53935. *
  53936. * ```typescript
  53937. * // helper function inside the router
  53938. * function provideRoutes(routes) {
  53939. * return [
  53940. * {provide: ROUTES, useValue: routes},
  53941. * {provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: routes, multi: true}
  53942. * ];
  53943. * }
  53944. *
  53945. * // user code
  53946. * let routes = [
  53947. * {path: '/root', component: RootComp},
  53948. * {path: '/teams', component: TeamsComp}
  53949. * ];
  53950. *
  53951. * @NgModule({
  53952. * providers: [provideRoutes(routes)]
  53953. * })
  53954. * class ModuleWithRoutes {}
  53955. * ```
  53956. *
  53957. * @experimental
  53958. */
  53959. var ANALYZE_FOR_ENTRY_COMPONENTS = new __WEBPACK_IMPORTED_MODULE_0__di_opaque_token__["a" /* OpaqueToken */]('AnalyzeForEntryComponents');
  53960. /**
  53961. * Attribute decorator and metadata.
  53962. *
  53963. * @stable
  53964. * @Annotation
  53965. */
  53966. var Attribute = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_decorators__["a" /* makeParamDecorator */])('Attribute', [['attributeName', undefined]]);
  53967. /**
  53968. * Base class for query metadata.
  53969. *
  53970. * See {@link ContentChildren}, {@link ContentChild}, {@link ViewChildren}, {@link ViewChild} for
  53971. * more information.
  53972. *
  53973. * @stable
  53974. */
  53975. var Query = (function () {
  53976. function Query() {
  53977. }
  53978. return Query;
  53979. }());
  53980. /**
  53981. * ContentChildren decorator and metadata.
  53982. *
  53983. * @stable
  53984. * @Annotation
  53985. */
  53986. var ContentChildren = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_decorators__["b" /* makePropDecorator */])('ContentChildren', [
  53987. ['selector', undefined], {
  53988. first: false,
  53989. isViewQuery: false,
  53990. descendants: false,
  53991. read: undefined,
  53992. }
  53993. ], Query);
  53994. /**
  53995. * @whatItDoes Configures a content query.
  53996. *
  53997. * @howToUse
  53998. *
  53999. * {@example core/di/ts/contentChild/content_child_howto.ts region='HowTo'}
  54000. *
  54001. * @description
  54002. *
  54003. * You can use ContentChild to get the first element or the directive matching the selector from the
  54004. * content DOM. If the content DOM changes, and a new child matches the selector,
  54005. * the property will be updated.
  54006. *
  54007. * Content queries are set before the `ngAfterContentInit` callback is called.
  54008. *
  54009. * **Metadata Properties**:
  54010. *
  54011. * * **selector** - the directive type or the name used for querying.
  54012. * * **read** - read a different token from the queried element.
  54013. *
  54014. * Let's look at an example:
  54015. *
  54016. * {@example core/di/ts/contentChild/content_child_example.ts region='Component'}
  54017. *
  54018. * **npm package**: `@angular/core`
  54019. *
  54020. * @stable
  54021. * @Annotation
  54022. */
  54023. var ContentChild = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_decorators__["b" /* makePropDecorator */])('ContentChild', [
  54024. ['selector', undefined], {
  54025. first: true,
  54026. isViewQuery: false,
  54027. descendants: true,
  54028. read: undefined,
  54029. }
  54030. ], Query);
  54031. /**
  54032. * @whatItDoes Configures a view query.
  54033. *
  54034. * @howToUse
  54035. *
  54036. * {@example core/di/ts/viewChildren/view_children_howto.ts region='HowTo'}
  54037. *
  54038. * @description
  54039. *
  54040. * You can use ViewChildren to get the {@link QueryList} of elements or directives from the
  54041. * view DOM. Any time a child element is added, removed, or moved, the query list will be updated,
  54042. * and the changes observable of the query list will emit a new value.
  54043. *
  54044. * View queries are set before the `ngAfterViewInit` callback is called.
  54045. *
  54046. * **Metadata Properties**:
  54047. *
  54048. * * **selector** - the directive type or the name used for querying.
  54049. * * **read** - read a different token from the queried elements.
  54050. *
  54051. * Let's look at an example:
  54052. *
  54053. * {@example core/di/ts/viewChildren/view_children_example.ts region='Component'}
  54054. *
  54055. * **npm package**: `@angular/core`
  54056. *
  54057. * @stable
  54058. * @Annotation
  54059. */
  54060. var ViewChildren = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_decorators__["b" /* makePropDecorator */])('ViewChildren', [
  54061. ['selector', undefined], {
  54062. first: false,
  54063. isViewQuery: true,
  54064. descendants: true,
  54065. read: undefined,
  54066. }
  54067. ], Query);
  54068. /**
  54069. * ViewChild decorator and metadata.
  54070. *
  54071. * @stable
  54072. * @Annotation
  54073. */
  54074. var ViewChild = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_decorators__["b" /* makePropDecorator */])('ViewChild', [
  54075. ['selector', undefined], {
  54076. first: true,
  54077. isViewQuery: true,
  54078. descendants: true,
  54079. read: undefined,
  54080. }
  54081. ], Query);
  54082. //# sourceMappingURL=di.js.map
  54083. /***/ },
  54084. /* 492 */
  54085. /***/ function(module, exports, __webpack_require__) {
  54086. "use strict";
  54087. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__change_detection_constants__ = __webpack_require__(138);
  54088. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_decorators__ = __webpack_require__(89);
  54089. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return Directive; });
  54090. /* harmony export (binding) */ __webpack_require__.d(exports, "f", function() { return Component; });
  54091. /* harmony export (binding) */ __webpack_require__.d(exports, "g", function() { return Pipe; });
  54092. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return Input; });
  54093. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return Output; });
  54094. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return HostBinding; });
  54095. /* harmony export (binding) */ __webpack_require__.d(exports, "e", function() { return HostListener; });
  54096. /**
  54097. * @license
  54098. * Copyright Google Inc. All Rights Reserved.
  54099. *
  54100. * Use of this source code is governed by an MIT-style license that can be
  54101. * found in the LICENSE file at https://angular.io/license
  54102. */
  54103. /**
  54104. * Directive decorator and metadata.
  54105. *
  54106. * @stable
  54107. * @Annotation
  54108. */
  54109. var Directive = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_decorators__["c" /* makeDecorator */])('Directive', {
  54110. selector: undefined,
  54111. inputs: undefined,
  54112. outputs: undefined,
  54113. host: undefined,
  54114. providers: undefined,
  54115. exportAs: undefined,
  54116. queries: undefined
  54117. });
  54118. /**
  54119. * Component decorator and metadata.
  54120. *
  54121. * @stable
  54122. * @Annotation
  54123. */
  54124. var Component = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_decorators__["c" /* makeDecorator */])('Component', {
  54125. selector: undefined,
  54126. inputs: undefined,
  54127. outputs: undefined,
  54128. host: undefined,
  54129. exportAs: undefined,
  54130. moduleId: undefined,
  54131. providers: undefined,
  54132. viewProviders: undefined,
  54133. changeDetection: __WEBPACK_IMPORTED_MODULE_0__change_detection_constants__["a" /* ChangeDetectionStrategy */].Default,
  54134. queries: undefined,
  54135. templateUrl: undefined,
  54136. template: undefined,
  54137. styleUrls: undefined,
  54138. styles: undefined,
  54139. animations: undefined,
  54140. encapsulation: undefined,
  54141. interpolation: undefined,
  54142. entryComponents: undefined
  54143. }, Directive);
  54144. /**
  54145. * Pipe decorator and metadata.
  54146. *
  54147. * @stable
  54148. * @Annotation
  54149. */
  54150. var Pipe = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_decorators__["c" /* makeDecorator */])('Pipe', {
  54151. name: undefined,
  54152. pure: true,
  54153. });
  54154. /**
  54155. * Input decorator and metadata.
  54156. *
  54157. * @stable
  54158. * @Annotation
  54159. */
  54160. var Input = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_decorators__["b" /* makePropDecorator */])('Input', [['bindingPropertyName', undefined]]);
  54161. /**
  54162. * Output decorator and metadata.
  54163. *
  54164. * @stable
  54165. * @Annotation
  54166. */
  54167. var Output = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_decorators__["b" /* makePropDecorator */])('Output', [['bindingPropertyName', undefined]]);
  54168. /**
  54169. * HostBinding decorator and metadata.
  54170. *
  54171. * @stable
  54172. * @Annotation
  54173. */
  54174. var HostBinding = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_decorators__["b" /* makePropDecorator */])('HostBinding', [['hostPropertyName', undefined]]);
  54175. /**
  54176. * HostBinding decorator and metadata.
  54177. *
  54178. * @stable
  54179. * @Annotation
  54180. */
  54181. var HostListener = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_decorators__["b" /* makePropDecorator */])('HostListener', [['eventName', undefined], ['args', []]]);
  54182. //# sourceMappingURL=directives.js.map
  54183. /***/ },
  54184. /* 493 */
  54185. /***/ function(module, exports, __webpack_require__) {
  54186. "use strict";
  54187. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_decorators__ = __webpack_require__(89);
  54188. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return CUSTOM_ELEMENTS_SCHEMA; });
  54189. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return NO_ERRORS_SCHEMA; });
  54190. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NgModule; });
  54191. /**
  54192. * @license
  54193. * Copyright Google Inc. All Rights Reserved.
  54194. *
  54195. * Use of this source code is governed by an MIT-style license that can be
  54196. * found in the LICENSE file at https://angular.io/license
  54197. */
  54198. /**
  54199. * Defines a schema that will allow:
  54200. * - any non-angular elements with a `-` in their name,
  54201. * - any properties on elements with a `-` in their name which is the common rule for custom
  54202. * elements.
  54203. *
  54204. * @stable
  54205. */
  54206. var CUSTOM_ELEMENTS_SCHEMA = {
  54207. name: 'custom-elements'
  54208. };
  54209. /**
  54210. * Defines a schema that will allow any property on any element.
  54211. *
  54212. * @experimental
  54213. */
  54214. var NO_ERRORS_SCHEMA = {
  54215. name: 'no-errors-schema'
  54216. };
  54217. /**
  54218. * NgModule decorator and metadata
  54219. *
  54220. * @stable
  54221. * @Annotation
  54222. */
  54223. var NgModule = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__util_decorators__["c" /* makeDecorator */])('NgModule', {
  54224. providers: undefined,
  54225. declarations: undefined,
  54226. imports: undefined,
  54227. exports: undefined,
  54228. entryComponents: undefined,
  54229. bootstrap: undefined,
  54230. schemas: undefined,
  54231. id: undefined,
  54232. });
  54233. //# sourceMappingURL=ng_module.js.map
  54234. /***/ },
  54235. /* 494 */
  54236. /***/ function(module, exports, __webpack_require__) {
  54237. "use strict";
  54238. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__application_ref__ = __webpack_require__(200);
  54239. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__console__ = __webpack_require__(202);
  54240. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__reflection_reflection__ = __webpack_require__(209);
  54241. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__reflection_reflector_reader__ = __webpack_require__(210);
  54242. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__testability_testability__ = __webpack_require__(212);
  54243. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return platformCore; });
  54244. /**
  54245. * @license
  54246. * Copyright Google Inc. All Rights Reserved.
  54247. *
  54248. * Use of this source code is governed by an MIT-style license that can be
  54249. * found in the LICENSE file at https://angular.io/license
  54250. */
  54251. function _reflector() {
  54252. return __WEBPACK_IMPORTED_MODULE_2__reflection_reflection__["a" /* reflector */];
  54253. }
  54254. var _CORE_PLATFORM_PROVIDERS = [
  54255. __WEBPACK_IMPORTED_MODULE_0__application_ref__["a" /* PlatformRef_ */],
  54256. { provide: __WEBPACK_IMPORTED_MODULE_0__application_ref__["b" /* PlatformRef */], useExisting: __WEBPACK_IMPORTED_MODULE_0__application_ref__["a" /* PlatformRef_ */] },
  54257. { provide: __WEBPACK_IMPORTED_MODULE_2__reflection_reflection__["b" /* Reflector */], useFactory: _reflector, deps: [] },
  54258. { provide: __WEBPACK_IMPORTED_MODULE_3__reflection_reflector_reader__["a" /* ReflectorReader */], useExisting: __WEBPACK_IMPORTED_MODULE_2__reflection_reflection__["b" /* Reflector */] },
  54259. __WEBPACK_IMPORTED_MODULE_4__testability_testability__["b" /* TestabilityRegistry */],
  54260. __WEBPACK_IMPORTED_MODULE_1__console__["a" /* Console */],
  54261. ];
  54262. /**
  54263. * This platform has to be included in any other platform
  54264. *
  54265. * @experimental
  54266. */
  54267. var platformCore = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__application_ref__["c" /* createPlatformFactory */])(null, 'core', _CORE_PLATFORM_PROVIDERS);
  54268. //# sourceMappingURL=platform_core_providers.js.map
  54269. /***/ },
  54270. /* 495 */
  54271. /***/ function(module, exports, __webpack_require__) {
  54272. "use strict";
  54273. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(5);
  54274. /* harmony export (immutable) */ exports["a"] = detectWTF;
  54275. /* harmony export (immutable) */ exports["b"] = createScope;
  54276. /* harmony export (immutable) */ exports["c"] = leave;
  54277. /* harmony export (immutable) */ exports["d"] = startTimeRange;
  54278. /* harmony export (immutable) */ exports["e"] = endTimeRange;
  54279. /**
  54280. * @license
  54281. * Copyright Google Inc. All Rights Reserved.
  54282. *
  54283. * Use of this source code is governed by an MIT-style license that can be
  54284. * found in the LICENSE file at https://angular.io/license
  54285. */
  54286. var trace;
  54287. var events;
  54288. function detectWTF() {
  54289. var wtf = __WEBPACK_IMPORTED_MODULE_0__facade_lang__["c" /* global */]['wtf'];
  54290. if (wtf) {
  54291. trace = wtf['trace'];
  54292. if (trace) {
  54293. events = trace['events'];
  54294. return true;
  54295. }
  54296. }
  54297. return false;
  54298. }
  54299. function createScope(signature, flags) {
  54300. if (flags === void 0) { flags = null; }
  54301. return events.createScope(signature, flags);
  54302. }
  54303. function leave(scope, returnValue) {
  54304. trace.leaveScope(scope, returnValue);
  54305. return returnValue;
  54306. }
  54307. function startTimeRange(rangeType, action) {
  54308. return trace.beginTimeRange(rangeType, action);
  54309. }
  54310. function endTimeRange(range) {
  54311. trace.endTimeRange(range);
  54312. }
  54313. //# sourceMappingURL=wtf_impl.js.map
  54314. /***/ },
  54315. /* 496 */
  54316. /***/ function(module, exports, __webpack_require__) {
  54317. "use strict";
  54318. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__render_api__ = __webpack_require__(211);
  54319. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__render_api__["a"]; });
  54320. /* harmony reexport (binding) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_0__render_api__["d"]; });
  54321. /* harmony reexport (binding) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_0__render_api__["b"]; });
  54322. /**
  54323. * @license
  54324. * Copyright Google Inc. All Rights Reserved.
  54325. *
  54326. * Use of this source code is governed by an MIT-style license that can be
  54327. * found in the LICENSE file at https://angular.io/license
  54328. */
  54329. // Public API for render
  54330. //# sourceMappingURL=render.js.map
  54331. /***/ },
  54332. /* 497 */
  54333. /***/ function(module, exports, __webpack_require__) {
  54334. "use strict";
  54335. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_decorators__ = __webpack_require__(89);
  54336. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__util_decorators__["d"]; });
  54337. /**
  54338. * @license
  54339. * Copyright Google Inc. All Rights Reserved.
  54340. *
  54341. * Use of this source code is governed by an MIT-style license that can be
  54342. * found in the LICENSE file at https://angular.io/license
  54343. */
  54344. // Public API for util
  54345. //# sourceMappingURL=util.js.map
  54346. /***/ },
  54347. /* 498 */
  54348. /***/ function(module, exports, __webpack_require__) {
  54349. "use strict";
  54350. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__zone_ng_zone__ = __webpack_require__(215);
  54351. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__zone_ng_zone__["a"]; });
  54352. /**
  54353. * @license
  54354. * Copyright Google Inc. All Rights Reserved.
  54355. *
  54356. * Use of this source code is governed by an MIT-style license that can be
  54357. * found in the LICENSE file at https://angular.io/license
  54358. */
  54359. // Public API for Zone
  54360. //# sourceMappingURL=zone.js.map
  54361. /***/ },
  54362. /* 499 */
  54363. /***/ function(module, exports, __webpack_require__) {
  54364. "use strict";
  54365. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return NgZoneImpl; });
  54366. /**
  54367. * @license
  54368. * Copyright Google Inc. All Rights Reserved.
  54369. *
  54370. * Use of this source code is governed by an MIT-style license that can be
  54371. * found in the LICENSE file at https://angular.io/license
  54372. */
  54373. var NgZoneImpl = (function () {
  54374. function NgZoneImpl(_a) {
  54375. var _this = this;
  54376. var trace = _a.trace, onEnter = _a.onEnter, onLeave = _a.onLeave, setMicrotask = _a.setMicrotask, setMacrotask = _a.setMacrotask, onError = _a.onError;
  54377. this.onEnter = onEnter;
  54378. this.onLeave = onLeave;
  54379. this.setMicrotask = setMicrotask;
  54380. this.setMacrotask = setMacrotask;
  54381. this.onError = onError;
  54382. if (typeof Zone == 'undefined') {
  54383. throw new Error('Angular requires Zone.js prolyfill.');
  54384. }
  54385. Zone.assertZonePatched();
  54386. this.outer = this.inner = Zone.current;
  54387. if (Zone['wtfZoneSpec']) {
  54388. this.inner = this.inner.fork(Zone['wtfZoneSpec']);
  54389. }
  54390. if (trace && Zone['longStackTraceZoneSpec']) {
  54391. this.inner = this.inner.fork(Zone['longStackTraceZoneSpec']);
  54392. }
  54393. this.inner = this.inner.fork({
  54394. name: 'angular',
  54395. properties: { 'isAngularZone': true },
  54396. onInvokeTask: function (delegate, current, target, task, applyThis, applyArgs) {
  54397. try {
  54398. _this.onEnter();
  54399. return delegate.invokeTask(target, task, applyThis, applyArgs);
  54400. }
  54401. finally {
  54402. _this.onLeave();
  54403. }
  54404. },
  54405. onInvoke: function (delegate, current, target, callback, applyThis, applyArgs, source) {
  54406. try {
  54407. _this.onEnter();
  54408. return delegate.invoke(target, callback, applyThis, applyArgs, source);
  54409. }
  54410. finally {
  54411. _this.onLeave();
  54412. }
  54413. },
  54414. onHasTask: function (delegate, current, target, hasTaskState) {
  54415. delegate.hasTask(target, hasTaskState);
  54416. if (current === target) {
  54417. // We are only interested in hasTask events which originate from our zone
  54418. // (A child hasTask event is not interesting to us)
  54419. if (hasTaskState.change == 'microTask') {
  54420. _this.setMicrotask(hasTaskState.microTask);
  54421. }
  54422. else if (hasTaskState.change == 'macroTask') {
  54423. _this.setMacrotask(hasTaskState.macroTask);
  54424. }
  54425. }
  54426. },
  54427. onHandleError: function (delegate, current, target, error) {
  54428. delegate.handleError(target, error);
  54429. _this.onError(error);
  54430. return false;
  54431. }
  54432. });
  54433. }
  54434. NgZoneImpl.isInAngularZone = function () { return Zone.current.get('isAngularZone') === true; };
  54435. NgZoneImpl.prototype.runInner = function (fn) { return this.inner.run(fn); };
  54436. ;
  54437. NgZoneImpl.prototype.runInnerGuarded = function (fn) { return this.inner.runGuarded(fn); };
  54438. ;
  54439. NgZoneImpl.prototype.runOuter = function (fn) { return this.outer.run(fn); };
  54440. ;
  54441. return NgZoneImpl;
  54442. }());
  54443. //# sourceMappingURL=ng_zone_impl.js.map
  54444. /***/ },
  54445. /* 500 */,
  54446. /* 501 */,
  54447. /* 502 */,
  54448. /* 503 */,
  54449. /* 504 */,
  54450. /* 505 */
  54451. /***/ function(module, exports, __webpack_require__) {
  54452. "use strict";
  54453. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lang__ = __webpack_require__(36);
  54454. /* harmony export (binding) */ __webpack_require__.d(exports, "d", function() { return MapWrapper; });
  54455. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return StringMapWrapper; });
  54456. /* harmony export (binding) */ __webpack_require__.d(exports, "c", function() { return ListWrapper; });
  54457. /* harmony export (immutable) */ exports["b"] = isListLikeIterable;
  54458. /* unused harmony export areIterablesEqual */
  54459. /* harmony export (immutable) */ exports["e"] = iterateListLike;
  54460. /* unused harmony export SetWrapper */
  54461. /**
  54462. * @license
  54463. * Copyright Google Inc. All Rights Reserved.
  54464. *
  54465. * Use of this source code is governed by an MIT-style license that can be
  54466. * found in the LICENSE file at https://angular.io/license
  54467. */
  54468. // Safari and Internet Explorer do not support the iterable parameter to the
  54469. // Map constructor. We work around that by manually adding the items.
  54470. var createMapFromPairs = (function () {
  54471. try {
  54472. if (new Map([[1, 2]]).size === 1) {
  54473. return function createMapFromPairs(pairs) { return new Map(pairs); };
  54474. }
  54475. }
  54476. catch (e) {
  54477. }
  54478. return function createMapAndPopulateFromPairs(pairs) {
  54479. var map = new Map();
  54480. for (var i = 0; i < pairs.length; i++) {
  54481. var pair = pairs[i];
  54482. map.set(pair[0], pair[1]);
  54483. }
  54484. return map;
  54485. };
  54486. })();
  54487. var createMapFromMap = (function () {
  54488. try {
  54489. if (new Map(new Map())) {
  54490. return function createMapFromMap(m) { return new Map(m); };
  54491. }
  54492. }
  54493. catch (e) {
  54494. }
  54495. return function createMapAndPopulateFromMap(m) {
  54496. var map = new Map();
  54497. m.forEach(function (v, k) { map.set(k, v); });
  54498. return map;
  54499. };
  54500. })();
  54501. var _clearValues = (function () {
  54502. if ((new Map()).keys().next) {
  54503. return function _clearValues(m) {
  54504. var keyIterator = m.keys();
  54505. var k;
  54506. while (!((k = keyIterator.next()).done)) {
  54507. m.set(k.value, null);
  54508. }
  54509. };
  54510. }
  54511. else {
  54512. return function _clearValuesWithForeEach(m) {
  54513. m.forEach(function (v, k) { m.set(k, null); });
  54514. };
  54515. }
  54516. })();
  54517. // Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from
  54518. // TODO(mlaval): remove the work around once we have a working polyfill of Array.from
  54519. var _arrayFromMap = (function () {
  54520. try {
  54521. if ((new Map()).values().next) {
  54522. return function createArrayFromMap(m, getValues) {
  54523. return getValues ? Array.from(m.values()) : Array.from(m.keys());
  54524. };
  54525. }
  54526. }
  54527. catch (e) {
  54528. }
  54529. return function createArrayFromMapWithForeach(m, getValues) {
  54530. var res = new Array(m.size), i = 0;
  54531. m.forEach(function (v, k) {
  54532. res[i] = getValues ? v : k;
  54533. i++;
  54534. });
  54535. return res;
  54536. };
  54537. })();
  54538. var MapWrapper = (function () {
  54539. function MapWrapper() {
  54540. }
  54541. MapWrapper.createFromStringMap = function (stringMap) {
  54542. var result = new Map();
  54543. for (var prop in stringMap) {
  54544. result.set(prop, stringMap[prop]);
  54545. }
  54546. return result;
  54547. };
  54548. MapWrapper.toStringMap = function (m) {
  54549. var r = {};
  54550. m.forEach(function (v, k) { return r[k] = v; });
  54551. return r;
  54552. };
  54553. MapWrapper.createFromPairs = function (pairs) { return createMapFromPairs(pairs); };
  54554. MapWrapper.iterable = function (m) { return m; };
  54555. MapWrapper.keys = function (m) { return _arrayFromMap(m, false); };
  54556. MapWrapper.values = function (m) { return _arrayFromMap(m, true); };
  54557. return MapWrapper;
  54558. }());
  54559. /**
  54560. * Wraps Javascript Objects
  54561. */
  54562. var StringMapWrapper = (function () {
  54563. function StringMapWrapper() {
  54564. }
  54565. StringMapWrapper.get = function (map, key) {
  54566. return map.hasOwnProperty(key) ? map[key] : undefined;
  54567. };
  54568. StringMapWrapper.set = function (map, key, value) { map[key] = value; };
  54569. StringMapWrapper.keys = function (map) { return Object.keys(map); };
  54570. StringMapWrapper.values = function (map) {
  54571. return Object.keys(map).map(function (k) { return map[k]; });
  54572. };
  54573. StringMapWrapper.isEmpty = function (map) {
  54574. for (var prop in map) {
  54575. return false;
  54576. }
  54577. return true;
  54578. };
  54579. StringMapWrapper.forEach = function (map, callback) {
  54580. for (var _i = 0, _a = Object.keys(map); _i < _a.length; _i++) {
  54581. var k = _a[_i];
  54582. callback(map[k], k);
  54583. }
  54584. };
  54585. StringMapWrapper.merge = function (m1, m2) {
  54586. var m = {};
  54587. for (var _i = 0, _a = Object.keys(m1); _i < _a.length; _i++) {
  54588. var k = _a[_i];
  54589. m[k] = m1[k];
  54590. }
  54591. for (var _b = 0, _c = Object.keys(m2); _b < _c.length; _b++) {
  54592. var k = _c[_b];
  54593. m[k] = m2[k];
  54594. }
  54595. return m;
  54596. };
  54597. StringMapWrapper.equals = function (m1, m2) {
  54598. var k1 = Object.keys(m1);
  54599. var k2 = Object.keys(m2);
  54600. if (k1.length != k2.length) {
  54601. return false;
  54602. }
  54603. for (var i = 0; i < k1.length; i++) {
  54604. var key = k1[i];
  54605. if (m1[key] !== m2[key]) {
  54606. return false;
  54607. }
  54608. }
  54609. return true;
  54610. };
  54611. return StringMapWrapper;
  54612. }());
  54613. var ListWrapper = (function () {
  54614. function ListWrapper() {
  54615. }
  54616. // JS has no way to express a statically fixed size list, but dart does so we
  54617. // keep both methods.
  54618. ListWrapper.createFixedSize = function (size) { return new Array(size); };
  54619. ListWrapper.createGrowableSize = function (size) { return new Array(size); };
  54620. ListWrapper.clone = function (array) { return array.slice(0); };
  54621. ListWrapper.forEachWithIndex = function (array, fn) {
  54622. for (var i = 0; i < array.length; i++) {
  54623. fn(array[i], i);
  54624. }
  54625. };
  54626. ListWrapper.first = function (array) {
  54627. if (!array)
  54628. return null;
  54629. return array[0];
  54630. };
  54631. ListWrapper.last = function (array) {
  54632. if (!array || array.length == 0)
  54633. return null;
  54634. return array[array.length - 1];
  54635. };
  54636. ListWrapper.indexOf = function (array, value, startIndex) {
  54637. if (startIndex === void 0) { startIndex = 0; }
  54638. return array.indexOf(value, startIndex);
  54639. };
  54640. ListWrapper.contains = function (list, el) { return list.indexOf(el) !== -1; };
  54641. ListWrapper.reversed = function (array) {
  54642. var a = ListWrapper.clone(array);
  54643. return a.reverse();
  54644. };
  54645. ListWrapper.concat = function (a, b) { return a.concat(b); };
  54646. ListWrapper.insert = function (list, index, value) { list.splice(index, 0, value); };
  54647. ListWrapper.removeAt = function (list, index) {
  54648. var res = list[index];
  54649. list.splice(index, 1);
  54650. return res;
  54651. };
  54652. ListWrapper.removeAll = function (list, items) {
  54653. for (var i = 0; i < items.length; ++i) {
  54654. var index = list.indexOf(items[i]);
  54655. list.splice(index, 1);
  54656. }
  54657. };
  54658. ListWrapper.remove = function (list, el) {
  54659. var index = list.indexOf(el);
  54660. if (index > -1) {
  54661. list.splice(index, 1);
  54662. return true;
  54663. }
  54664. return false;
  54665. };
  54666. ListWrapper.clear = function (list) { list.length = 0; };
  54667. ListWrapper.isEmpty = function (list) { return list.length == 0; };
  54668. ListWrapper.fill = function (list, value, start, end) {
  54669. if (start === void 0) { start = 0; }
  54670. if (end === void 0) { end = null; }
  54671. list.fill(value, start, end === null ? list.length : end);
  54672. };
  54673. ListWrapper.equals = function (a, b) {
  54674. if (a.length != b.length)
  54675. return false;
  54676. for (var i = 0; i < a.length; ++i) {
  54677. if (a[i] !== b[i])
  54678. return false;
  54679. }
  54680. return true;
  54681. };
  54682. ListWrapper.slice = function (l, from, to) {
  54683. if (from === void 0) { from = 0; }
  54684. if (to === void 0) { to = null; }
  54685. return l.slice(from, to === null ? undefined : to);
  54686. };
  54687. ListWrapper.splice = function (l, from, length) { return l.splice(from, length); };
  54688. ListWrapper.sort = function (l, compareFn) {
  54689. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["a" /* isPresent */])(compareFn)) {
  54690. l.sort(compareFn);
  54691. }
  54692. else {
  54693. l.sort();
  54694. }
  54695. };
  54696. ListWrapper.toString = function (l) { return l.toString(); };
  54697. ListWrapper.toJSON = function (l) { return JSON.stringify(l); };
  54698. ListWrapper.maximum = function (list, predicate) {
  54699. if (list.length == 0) {
  54700. return null;
  54701. }
  54702. var solution = null;
  54703. var maxValue = -Infinity;
  54704. for (var index = 0; index < list.length; index++) {
  54705. var candidate = list[index];
  54706. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["b" /* isBlank */])(candidate)) {
  54707. continue;
  54708. }
  54709. var candidateValue = predicate(candidate);
  54710. if (candidateValue > maxValue) {
  54711. solution = candidate;
  54712. maxValue = candidateValue;
  54713. }
  54714. }
  54715. return solution;
  54716. };
  54717. ListWrapper.flatten = function (list) {
  54718. var target = [];
  54719. _flattenArray(list, target);
  54720. return target;
  54721. };
  54722. ListWrapper.addAll = function (list, source) {
  54723. for (var i = 0; i < source.length; i++) {
  54724. list.push(source[i]);
  54725. }
  54726. };
  54727. return ListWrapper;
  54728. }());
  54729. function _flattenArray(source, target) {
  54730. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["a" /* isPresent */])(source)) {
  54731. for (var i = 0; i < source.length; i++) {
  54732. var item = source[i];
  54733. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["c" /* isArray */])(item)) {
  54734. _flattenArray(item, target);
  54735. }
  54736. else {
  54737. target.push(item);
  54738. }
  54739. }
  54740. }
  54741. return target;
  54742. }
  54743. function isListLikeIterable(obj) {
  54744. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["d" /* isJsObject */])(obj))
  54745. return false;
  54746. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["c" /* isArray */])(obj) ||
  54747. (!(obj instanceof Map) &&
  54748. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])() in obj); // JS Iterable have a Symbol.iterator prop
  54749. }
  54750. function areIterablesEqual(a, b, comparator) {
  54751. var iterator1 = a[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])()]();
  54752. var iterator2 = b[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])()]();
  54753. while (true) {
  54754. var item1 = iterator1.next();
  54755. var item2 = iterator2.next();
  54756. if (item1.done && item2.done)
  54757. return true;
  54758. if (item1.done || item2.done)
  54759. return false;
  54760. if (!comparator(item1.value, item2.value))
  54761. return false;
  54762. }
  54763. }
  54764. function iterateListLike(obj, fn) {
  54765. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["c" /* isArray */])(obj)) {
  54766. for (var i = 0; i < obj.length; i++) {
  54767. fn(obj[i]);
  54768. }
  54769. }
  54770. else {
  54771. var iterator = obj[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__lang__["e" /* getSymbolIterator */])()]();
  54772. var item;
  54773. while (!((item = iterator.next()).done)) {
  54774. fn(item.value);
  54775. }
  54776. }
  54777. }
  54778. // Safari and Internet Explorer do not support the iterable parameter to the
  54779. // Set constructor. We work around that by manually adding the items.
  54780. var createSetFromList = (function () {
  54781. var test = new Set([1, 2, 3]);
  54782. if (test.size === 3) {
  54783. return function createSetFromList(lst) { return new Set(lst); };
  54784. }
  54785. else {
  54786. return function createSetAndPopulateFromList(lst) {
  54787. var res = new Set(lst);
  54788. if (res.size !== lst.length) {
  54789. for (var i = 0; i < lst.length; i++) {
  54790. res.add(lst[i]);
  54791. }
  54792. }
  54793. return res;
  54794. };
  54795. }
  54796. })();
  54797. var SetWrapper = (function () {
  54798. function SetWrapper() {
  54799. }
  54800. SetWrapper.createFromList = function (lst) { return createSetFromList(lst); };
  54801. SetWrapper.has = function (s, key) { return s.has(key); };
  54802. SetWrapper.delete = function (m, k) { m.delete(k); };
  54803. return SetWrapper;
  54804. }());
  54805. //# sourceMappingURL=collection.js.map
  54806. /***/ },
  54807. /* 506 */
  54808. /***/ function(module, exports, __webpack_require__) {
  54809. "use strict";
  54810. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  54811. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__backends_browser_jsonp__ = __webpack_require__(332);
  54812. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__backends_browser_xhr__ = __webpack_require__(223);
  54813. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__backends_jsonp_backend__ = __webpack_require__(333);
  54814. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__backends_xhr_backend__ = __webpack_require__(334);
  54815. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__base_request_options__ = __webpack_require__(224);
  54816. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__base_response_options__ = __webpack_require__(152);
  54817. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__http__ = __webpack_require__(336);
  54818. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__interfaces__ = __webpack_require__(115);
  54819. /* unused harmony export _createDefaultCookieXSRFStrategy */
  54820. /* unused harmony export httpFactory */
  54821. /* unused harmony export jsonpFactory */
  54822. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return HttpModule; });
  54823. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return JsonpModule; });
  54824. /**
  54825. * @license
  54826. * Copyright Google Inc. All Rights Reserved.
  54827. *
  54828. * Use of this source code is governed by an MIT-style license that can be
  54829. * found in the LICENSE file at https://angular.io/license
  54830. */
  54831. function _createDefaultCookieXSRFStrategy() {
  54832. return new __WEBPACK_IMPORTED_MODULE_4__backends_xhr_backend__["a" /* CookieXSRFStrategy */]();
  54833. }
  54834. function httpFactory(xhrBackend, requestOptions) {
  54835. return new __WEBPACK_IMPORTED_MODULE_7__http__["a" /* Http */](xhrBackend, requestOptions);
  54836. }
  54837. function jsonpFactory(jsonpBackend, requestOptions) {
  54838. return new __WEBPACK_IMPORTED_MODULE_7__http__["b" /* Jsonp */](jsonpBackend, requestOptions);
  54839. }
  54840. /**
  54841. * The module that includes http's providers
  54842. *
  54843. * @experimental
  54844. */
  54845. var HttpModule = (function () {
  54846. function HttpModule() {
  54847. }
  54848. HttpModule.decorators = [
  54849. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["NgModule"], args: [{
  54850. providers: [
  54851. // TODO(pascal): use factory type annotations once supported in DI
  54852. // issue: https://github.com/angular/angular/issues/3183
  54853. { provide: __WEBPACK_IMPORTED_MODULE_7__http__["a" /* Http */], useFactory: httpFactory, deps: [__WEBPACK_IMPORTED_MODULE_4__backends_xhr_backend__["b" /* XHRBackend */], __WEBPACK_IMPORTED_MODULE_5__base_request_options__["a" /* RequestOptions */]] },
  54854. __WEBPACK_IMPORTED_MODULE_2__backends_browser_xhr__["a" /* BrowserXhr */],
  54855. { provide: __WEBPACK_IMPORTED_MODULE_5__base_request_options__["a" /* RequestOptions */], useClass: __WEBPACK_IMPORTED_MODULE_5__base_request_options__["b" /* BaseRequestOptions */] },
  54856. { provide: __WEBPACK_IMPORTED_MODULE_6__base_response_options__["a" /* ResponseOptions */], useClass: __WEBPACK_IMPORTED_MODULE_6__base_response_options__["b" /* BaseResponseOptions */] },
  54857. __WEBPACK_IMPORTED_MODULE_4__backends_xhr_backend__["b" /* XHRBackend */],
  54858. { provide: __WEBPACK_IMPORTED_MODULE_8__interfaces__["b" /* XSRFStrategy */], useFactory: _createDefaultCookieXSRFStrategy },
  54859. ],
  54860. },] },
  54861. ];
  54862. /** @nocollapse */
  54863. HttpModule.ctorParameters = [];
  54864. return HttpModule;
  54865. }());
  54866. /**
  54867. * The module that includes jsonp's providers
  54868. *
  54869. * @experimental
  54870. */
  54871. var JsonpModule = (function () {
  54872. function JsonpModule() {
  54873. }
  54874. JsonpModule.decorators = [
  54875. { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["NgModule"], args: [{
  54876. providers: [
  54877. // TODO(pascal): use factory type annotations once supported in DI
  54878. // issue: https://github.com/angular/angular/issues/3183
  54879. { provide: __WEBPACK_IMPORTED_MODULE_7__http__["b" /* Jsonp */], useFactory: jsonpFactory, deps: [__WEBPACK_IMPORTED_MODULE_3__backends_jsonp_backend__["a" /* JSONPBackend */], __WEBPACK_IMPORTED_MODULE_5__base_request_options__["a" /* RequestOptions */]] },
  54880. __WEBPACK_IMPORTED_MODULE_1__backends_browser_jsonp__["a" /* BrowserJsonp */],
  54881. { provide: __WEBPACK_IMPORTED_MODULE_5__base_request_options__["a" /* RequestOptions */], useClass: __WEBPACK_IMPORTED_MODULE_5__base_request_options__["b" /* BaseRequestOptions */] },
  54882. { provide: __WEBPACK_IMPORTED_MODULE_6__base_response_options__["a" /* ResponseOptions */], useClass: __WEBPACK_IMPORTED_MODULE_6__base_response_options__["b" /* BaseResponseOptions */] },
  54883. { provide: __WEBPACK_IMPORTED_MODULE_3__backends_jsonp_backend__["a" /* JSONPBackend */], useClass: __WEBPACK_IMPORTED_MODULE_3__backends_jsonp_backend__["b" /* JSONPBackend_ */] },
  54884. ],
  54885. },] },
  54886. ];
  54887. /** @nocollapse */
  54888. JsonpModule.ctorParameters = [];
  54889. return JsonpModule;
  54890. }());
  54891. //# sourceMappingURL=http_module.js.map
  54892. /***/ },
  54893. /* 507 */
  54894. /***/ function(module, exports, __webpack_require__) {
  54895. "use strict";
  54896. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__backends_browser_xhr__ = __webpack_require__(223);
  54897. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__backends_jsonp_backend__ = __webpack_require__(333);
  54898. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__backends_xhr_backend__ = __webpack_require__(334);
  54899. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__base_request_options__ = __webpack_require__(224);
  54900. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__base_response_options__ = __webpack_require__(152);
  54901. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__enums__ = __webpack_require__(68);
  54902. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__headers__ = __webpack_require__(114);
  54903. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__http__ = __webpack_require__(336);
  54904. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__http_module__ = __webpack_require__(506);
  54905. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__interfaces__ = __webpack_require__(115);
  54906. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__static_request__ = __webpack_require__(337);
  54907. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__static_response__ = __webpack_require__(225);
  54908. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__url_search_params__ = __webpack_require__(154);
  54909. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__backends_browser_xhr__["a"]; });
  54910. /* harmony reexport (binding) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__backends_jsonp_backend__["a"]; });
  54911. /* harmony reexport (binding) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_1__backends_jsonp_backend__["c"]; });
  54912. /* harmony reexport (binding) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_2__backends_xhr_backend__["a"]; });
  54913. /* harmony reexport (binding) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_2__backends_xhr_backend__["b"]; });
  54914. /* harmony reexport (binding) */ __webpack_require__.d(exports, "f", function() { return __WEBPACK_IMPORTED_MODULE_2__backends_xhr_backend__["c"]; });
  54915. /* harmony reexport (binding) */ __webpack_require__.d(exports, "g", function() { return __WEBPACK_IMPORTED_MODULE_3__base_request_options__["b"]; });
  54916. /* harmony reexport (binding) */ __webpack_require__.d(exports, "h", function() { return __WEBPACK_IMPORTED_MODULE_3__base_request_options__["a"]; });
  54917. /* harmony reexport (binding) */ __webpack_require__.d(exports, "i", function() { return __WEBPACK_IMPORTED_MODULE_4__base_response_options__["b"]; });
  54918. /* harmony reexport (binding) */ __webpack_require__.d(exports, "j", function() { return __WEBPACK_IMPORTED_MODULE_4__base_response_options__["a"]; });
  54919. /* harmony reexport (binding) */ __webpack_require__.d(exports, "k", function() { return __WEBPACK_IMPORTED_MODULE_5__enums__["c"]; });
  54920. /* harmony reexport (binding) */ __webpack_require__.d(exports, "l", function() { return __WEBPACK_IMPORTED_MODULE_5__enums__["b"]; });
  54921. /* harmony reexport (binding) */ __webpack_require__.d(exports, "m", function() { return __WEBPACK_IMPORTED_MODULE_5__enums__["d"]; });
  54922. /* harmony reexport (binding) */ __webpack_require__.d(exports, "n", function() { return __WEBPACK_IMPORTED_MODULE_5__enums__["a"]; });
  54923. /* harmony reexport (binding) */ __webpack_require__.d(exports, "o", function() { return __WEBPACK_IMPORTED_MODULE_6__headers__["a"]; });
  54924. /* harmony reexport (binding) */ __webpack_require__.d(exports, "p", function() { return __WEBPACK_IMPORTED_MODULE_7__http__["a"]; });
  54925. /* harmony reexport (binding) */ __webpack_require__.d(exports, "q", function() { return __WEBPACK_IMPORTED_MODULE_7__http__["b"]; });
  54926. /* harmony reexport (binding) */ __webpack_require__.d(exports, "r", function() { return __WEBPACK_IMPORTED_MODULE_8__http_module__["a"]; });
  54927. /* harmony reexport (binding) */ __webpack_require__.d(exports, "s", function() { return __WEBPACK_IMPORTED_MODULE_8__http_module__["b"]; });
  54928. /* harmony reexport (binding) */ __webpack_require__.d(exports, "t", function() { return __WEBPACK_IMPORTED_MODULE_9__interfaces__["c"]; });
  54929. /* harmony reexport (binding) */ __webpack_require__.d(exports, "u", function() { return __WEBPACK_IMPORTED_MODULE_9__interfaces__["a"]; });
  54930. /* harmony reexport (binding) */ __webpack_require__.d(exports, "v", function() { return __WEBPACK_IMPORTED_MODULE_9__interfaces__["b"]; });
  54931. /* harmony reexport (binding) */ __webpack_require__.d(exports, "w", function() { return __WEBPACK_IMPORTED_MODULE_10__static_request__["a"]; });
  54932. /* harmony reexport (binding) */ __webpack_require__.d(exports, "x", function() { return __WEBPACK_IMPORTED_MODULE_11__static_response__["a"]; });
  54933. /* harmony reexport (binding) */ __webpack_require__.d(exports, "y", function() { return __WEBPACK_IMPORTED_MODULE_12__url_search_params__["b"]; });
  54934. /* harmony reexport (binding) */ __webpack_require__.d(exports, "z", function() { return __WEBPACK_IMPORTED_MODULE_12__url_search_params__["a"]; });
  54935. /**
  54936. * @license
  54937. * Copyright Google Inc. All Rights Reserved.
  54938. *
  54939. * Use of this source code is governed by an MIT-style license that can be
  54940. * found in the LICENSE file at https://angular.io/license
  54941. */
  54942. //# sourceMappingURL=index.js.map
  54943. /***/ },
  54944. /* 508 */
  54945. /***/ function(module, exports, __webpack_require__) {
  54946. "use strict";
  54947. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_compiler__ = __webpack_require__(85);
  54948. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(1);
  54949. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__platform_providers__ = __webpack_require__(339);
  54950. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__resource_loader_resource_loader_cache__ = __webpack_require__(511);
  54951. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__private_export__ = __webpack_require__(509);
  54952. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return RESOURCE_CACHE_PROVIDER; });
  54953. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return platformBrowserDynamic; });
  54954. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_4__private_export__["a"]; });
  54955. /**
  54956. * @license
  54957. * Copyright Google Inc. All Rights Reserved.
  54958. *
  54959. * Use of this source code is governed by an MIT-style license that can be
  54960. * found in the LICENSE file at https://angular.io/license
  54961. */
  54962. /**
  54963. * @experimental
  54964. */
  54965. var RESOURCE_CACHE_PROVIDER = [{ provide: __WEBPACK_IMPORTED_MODULE_0__angular_compiler__["ResourceLoader"], useClass: __WEBPACK_IMPORTED_MODULE_3__resource_loader_resource_loader_cache__["a" /* CachedResourceLoader */] }];
  54966. /**
  54967. * @experimental API related to bootstrapping are still under review.
  54968. */
  54969. var platformBrowserDynamic = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__angular_core__["createPlatformFactory"])(__WEBPACK_IMPORTED_MODULE_0__angular_compiler__["platformCoreDynamic"], 'browserDynamic', __WEBPACK_IMPORTED_MODULE_2__platform_providers__["a" /* INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS */]);
  54970. //# sourceMappingURL=platform-browser-dynamic.js.map
  54971. /***/ },
  54972. /* 509 */
  54973. /***/ function(module, exports, __webpack_require__) {
  54974. "use strict";
  54975. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__platform_providers__ = __webpack_require__(339);
  54976. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__resource_loader_resource_loader_impl__ = __webpack_require__(340);
  54977. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return __platform_browser_dynamic_private__; });
  54978. var __platform_browser_dynamic_private__ = {
  54979. INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS: __WEBPACK_IMPORTED_MODULE_0__platform_providers__["a" /* INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS */],
  54980. ResourceLoaderImpl: __WEBPACK_IMPORTED_MODULE_1__resource_loader_resource_loader_impl__["a" /* ResourceLoaderImpl */]
  54981. };
  54982. //# sourceMappingURL=private_export.js.map
  54983. /***/ },
  54984. /* 510 */
  54985. /***/ function(module, exports, __webpack_require__) {
  54986. "use strict";
  54987. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__ = __webpack_require__(126);
  54988. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return INTERNAL_BROWSER_PLATFORM_PROVIDERS; });
  54989. /* unused harmony export getDOM */
  54990. /**
  54991. * @license
  54992. * Copyright Google Inc. All Rights Reserved.
  54993. *
  54994. * Use of this source code is governed by an MIT-style license that can be
  54995. * found in the LICENSE file at https://angular.io/license
  54996. */
  54997. var INTERNAL_BROWSER_PLATFORM_PROVIDERS = __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__["__platform_browser_private__"].INTERNAL_BROWSER_PLATFORM_PROVIDERS;
  54998. var getDOM = __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__["__platform_browser_private__"].getDOM;
  54999. //# sourceMappingURL=private_import_platform-browser.js.map
  55000. /***/ },
  55001. /* 511 */
  55002. /***/ function(module, exports, __webpack_require__) {
  55003. "use strict";
  55004. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_compiler__ = __webpack_require__(85);
  55005. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(338);
  55006. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return CachedResourceLoader; });
  55007. /**
  55008. * @license
  55009. * Copyright Google Inc. All Rights Reserved.
  55010. *
  55011. * Use of this source code is governed by an MIT-style license that can be
  55012. * found in the LICENSE file at https://angular.io/license
  55013. */
  55014. var __extends = (this && this.__extends) || function (d, b) {
  55015. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  55016. function __() { this.constructor = d; }
  55017. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  55018. };
  55019. /**
  55020. * An implementation of ResourceLoader that uses a template cache to avoid doing an actual
  55021. * ResourceLoader.
  55022. *
  55023. * The template cache needs to be built and loaded into window.$templateCache
  55024. * via a separate mechanism.
  55025. */
  55026. var CachedResourceLoader = (function (_super) {
  55027. __extends(CachedResourceLoader, _super);
  55028. function CachedResourceLoader() {
  55029. _super.call(this);
  55030. this._cache = __WEBPACK_IMPORTED_MODULE_1__facade_lang__["b" /* global */].$templateCache;
  55031. if (this._cache == null) {
  55032. throw new Error('CachedResourceLoader: Template cache was not found in $templateCache.');
  55033. }
  55034. }
  55035. CachedResourceLoader.prototype.get = function (url) {
  55036. if (this._cache.hasOwnProperty(url)) {
  55037. return Promise.resolve(this._cache[url]);
  55038. }
  55039. else {
  55040. return Promise.reject('CachedResourceLoader: Did not find cached template for ' + url);
  55041. }
  55042. };
  55043. return CachedResourceLoader;
  55044. }(__WEBPACK_IMPORTED_MODULE_0__angular_compiler__["ResourceLoader"]));
  55045. //# sourceMappingURL=resource_loader_cache.js.map
  55046. /***/ },
  55047. /* 512 */
  55048. /***/ function(module, exports, __webpack_require__) {
  55049. "use strict";
  55050. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dom_dom_adapter__ = __webpack_require__(18);
  55051. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(92);
  55052. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(31);
  55053. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return GenericBrowserDomAdapter; });
  55054. /**
  55055. * @license
  55056. * Copyright Google Inc. All Rights Reserved.
  55057. *
  55058. * Use of this source code is governed by an MIT-style license that can be
  55059. * found in the LICENSE file at https://angular.io/license
  55060. */
  55061. var __extends = (this && this.__extends) || function (d, b) {
  55062. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  55063. function __() { this.constructor = d; }
  55064. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  55065. };
  55066. /**
  55067. * Provides DOM operations in any browser environment.
  55068. *
  55069. * @security Tread carefully! Interacting with the DOM directly is dangerous and
  55070. * can introduce XSS risks.
  55071. */
  55072. var GenericBrowserDomAdapter = (function (_super) {
  55073. __extends(GenericBrowserDomAdapter, _super);
  55074. function GenericBrowserDomAdapter() {
  55075. var _this = this;
  55076. _super.call(this);
  55077. this._animationPrefix = null;
  55078. this._transitionEnd = null;
  55079. try {
  55080. var element = this.createElement('div', this.defaultDoc());
  55081. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this.getStyle(element, 'animationName'))) {
  55082. this._animationPrefix = '';
  55083. }
  55084. else {
  55085. var domPrefixes = ['Webkit', 'Moz', 'O', 'ms'];
  55086. for (var i = 0; i < domPrefixes.length; i++) {
  55087. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this.getStyle(element, domPrefixes[i] + 'AnimationName'))) {
  55088. this._animationPrefix = '-' + domPrefixes[i].toLowerCase() + '-';
  55089. break;
  55090. }
  55091. }
  55092. }
  55093. var transEndEventNames = {
  55094. WebkitTransition: 'webkitTransitionEnd',
  55095. MozTransition: 'transitionend',
  55096. OTransition: 'oTransitionEnd otransitionend',
  55097. transition: 'transitionend'
  55098. };
  55099. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* StringMapWrapper */].forEach(transEndEventNames, function (value, key) {
  55100. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(_this.getStyle(element, key))) {
  55101. _this._transitionEnd = value;
  55102. }
  55103. });
  55104. }
  55105. catch (e) {
  55106. this._animationPrefix = null;
  55107. this._transitionEnd = null;
  55108. }
  55109. }
  55110. GenericBrowserDomAdapter.prototype.getDistributedNodes = function (el) { return el.getDistributedNodes(); };
  55111. GenericBrowserDomAdapter.prototype.resolveAndSetHref = function (el, baseUrl, href) {
  55112. el.href = href == null ? baseUrl : baseUrl + '/../' + href;
  55113. };
  55114. GenericBrowserDomAdapter.prototype.supportsDOMEvents = function () { return true; };
  55115. GenericBrowserDomAdapter.prototype.supportsNativeShadowDOM = function () {
  55116. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["h" /* isFunction */])(this.defaultDoc().body.createShadowRoot);
  55117. };
  55118. GenericBrowserDomAdapter.prototype.getAnimationPrefix = function () {
  55119. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this._animationPrefix) ? this._animationPrefix : '';
  55120. };
  55121. GenericBrowserDomAdapter.prototype.getTransitionEnd = function () { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this._transitionEnd) ? this._transitionEnd : ''; };
  55122. GenericBrowserDomAdapter.prototype.supportsAnimation = function () {
  55123. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this._animationPrefix) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this._transitionEnd);
  55124. };
  55125. return GenericBrowserDomAdapter;
  55126. }(__WEBPACK_IMPORTED_MODULE_0__dom_dom_adapter__["b" /* DomAdapter */]));
  55127. //# sourceMappingURL=generic_browser_adapter.js.map
  55128. /***/ },
  55129. /* 513 */
  55130. /***/ function(module, exports, __webpack_require__) {
  55131. "use strict";
  55132. /* harmony export (immutable) */ exports["a"] = supportsState;
  55133. /**
  55134. * @license
  55135. * Copyright Google Inc. All Rights Reserved.
  55136. *
  55137. * Use of this source code is governed by an MIT-style license that can be
  55138. * found in the LICENSE file at https://angular.io/license
  55139. */
  55140. function supportsState() {
  55141. return !!window.history.pushState;
  55142. }
  55143. //# sourceMappingURL=history.js.map
  55144. /***/ },
  55145. /* 514 */
  55146. /***/ function(module, exports, __webpack_require__) {
  55147. "use strict";
  55148. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  55149. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__dom_dom_adapter__ = __webpack_require__(18);
  55150. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_browser__ = __webpack_require__(520);
  55151. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__facade_lang__ = __webpack_require__(31);
  55152. /* unused harmony export ChangeDetectionPerfRecord */
  55153. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return AngularTools; });
  55154. /* unused harmony export AngularProfiler */
  55155. /**
  55156. * @license
  55157. * Copyright Google Inc. All Rights Reserved.
  55158. *
  55159. * Use of this source code is governed by an MIT-style license that can be
  55160. * found in the LICENSE file at https://angular.io/license
  55161. */
  55162. var ChangeDetectionPerfRecord = (function () {
  55163. function ChangeDetectionPerfRecord(msPerTick, numTicks) {
  55164. this.msPerTick = msPerTick;
  55165. this.numTicks = numTicks;
  55166. }
  55167. return ChangeDetectionPerfRecord;
  55168. }());
  55169. /**
  55170. * Entry point for all Angular debug tools. This object corresponds to the `ng`
  55171. * global variable accessible in the dev console.
  55172. */
  55173. var AngularTools = (function () {
  55174. function AngularTools(ref) {
  55175. this.profiler = new AngularProfiler(ref);
  55176. }
  55177. return AngularTools;
  55178. }());
  55179. /**
  55180. * Entry point for all Angular profiling-related debug tools. This object
  55181. * corresponds to the `ng.profiler` in the dev console.
  55182. */
  55183. var AngularProfiler = (function () {
  55184. function AngularProfiler(ref) {
  55185. this.appRef = ref.injector.get(__WEBPACK_IMPORTED_MODULE_0__angular_core__["ApplicationRef"]);
  55186. }
  55187. /**
  55188. * Exercises change detection in a loop and then prints the average amount of
  55189. * time in milliseconds how long a single round of change detection takes for
  55190. * the current state of the UI. It runs a minimum of 5 rounds for a minimum
  55191. * of 500 milliseconds.
  55192. *
  55193. * Optionally, a user may pass a `config` parameter containing a map of
  55194. * options. Supported options are:
  55195. *
  55196. * `record` (boolean) - causes the profiler to record a CPU profile while
  55197. * it exercises the change detector. Example:
  55198. *
  55199. * ```
  55200. * ng.profiler.timeChangeDetection({record: true})
  55201. * ```
  55202. */
  55203. AngularProfiler.prototype.timeChangeDetection = function (config) {
  55204. var record = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__facade_lang__["a" /* isPresent */])(config) && config['record'];
  55205. var profileName = 'Change Detection';
  55206. // Profiler is not available in Android browsers, nor in IE 9 without dev tools opened
  55207. var isProfilerAvailable = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__facade_lang__["a" /* isPresent */])(__WEBPACK_IMPORTED_MODULE_2__facade_browser__["a" /* window */].console.profile);
  55208. if (record && isProfilerAvailable) {
  55209. __WEBPACK_IMPORTED_MODULE_2__facade_browser__["a" /* window */].console.profile(profileName);
  55210. }
  55211. var start = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__dom_dom_adapter__["a" /* getDOM */])().performanceNow();
  55212. var numTicks = 0;
  55213. while (numTicks < 5 || (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__dom_dom_adapter__["a" /* getDOM */])().performanceNow() - start) < 500) {
  55214. this.appRef.tick();
  55215. numTicks++;
  55216. }
  55217. var end = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__dom_dom_adapter__["a" /* getDOM */])().performanceNow();
  55218. if (record && isProfilerAvailable) {
  55219. // need to cast to <any> because type checker thinks there's no argument
  55220. // while in fact there is:
  55221. //
  55222. // https://developer.mozilla.org/en-US/docs/Web/API/Console/profileEnd
  55223. __WEBPACK_IMPORTED_MODULE_2__facade_browser__["a" /* window */].console.profileEnd(profileName);
  55224. }
  55225. var msPerTick = (end - start) / numTicks;
  55226. __WEBPACK_IMPORTED_MODULE_2__facade_browser__["a" /* window */].console.log("ran " + numTicks + " change detection cycles");
  55227. __WEBPACK_IMPORTED_MODULE_2__facade_browser__["a" /* window */].console.log(__WEBPACK_IMPORTED_MODULE_3__facade_lang__["o" /* NumberWrapper */].toFixed(msPerTick, 2) + " ms per check");
  55228. return new ChangeDetectionPerfRecord(msPerTick, numTicks);
  55229. };
  55230. return AngularProfiler;
  55231. }());
  55232. //# sourceMappingURL=common_tools.js.map
  55233. /***/ },
  55234. /* 515 */
  55235. /***/ function(module, exports, __webpack_require__) {
  55236. "use strict";
  55237. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__facade_lang__ = __webpack_require__(31);
  55238. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_tools__ = __webpack_require__(514);
  55239. /* harmony export (immutable) */ exports["b"] = enableDebugTools;
  55240. /* harmony export (immutable) */ exports["a"] = disableDebugTools;
  55241. /**
  55242. * @license
  55243. * Copyright Google Inc. All Rights Reserved.
  55244. *
  55245. * Use of this source code is governed by an MIT-style license that can be
  55246. * found in the LICENSE file at https://angular.io/license
  55247. */
  55248. var context = __WEBPACK_IMPORTED_MODULE_0__facade_lang__["j" /* global */];
  55249. /**
  55250. * Enabled Angular 2 debug tools that are accessible via your browser's
  55251. * developer console.
  55252. *
  55253. * Usage:
  55254. *
  55255. * 1. Open developer console (e.g. in Chrome Ctrl + Shift + j)
  55256. * 1. Type `ng.` (usually the console will show auto-complete suggestion)
  55257. * 1. Try the change detection profiler `ng.profiler.timeChangeDetection()`
  55258. * then hit Enter.
  55259. *
  55260. * @experimental All debugging apis are currently experimental.
  55261. */
  55262. function enableDebugTools(ref) {
  55263. context.ng = new __WEBPACK_IMPORTED_MODULE_1__common_tools__["a" /* AngularTools */](ref);
  55264. return ref;
  55265. }
  55266. /**
  55267. * Disables Angular 2 tools.
  55268. *
  55269. * @experimental All debugging apis are currently experimental.
  55270. */
  55271. function disableDebugTools() {
  55272. delete context.ng;
  55273. }
  55274. //# sourceMappingURL=tools.js.map
  55275. /***/ },
  55276. /* 516 */
  55277. /***/ function(module, exports, __webpack_require__) {
  55278. "use strict";
  55279. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dom_dom_adapter__ = __webpack_require__(18);
  55280. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_lang__ = __webpack_require__(31);
  55281. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return By; });
  55282. /**
  55283. * @license
  55284. * Copyright Google Inc. All Rights Reserved.
  55285. *
  55286. * Use of this source code is governed by an MIT-style license that can be
  55287. * found in the LICENSE file at https://angular.io/license
  55288. */
  55289. /**
  55290. * Predicates for use with {@link DebugElement}'s query functions.
  55291. *
  55292. * @experimental All debugging apis are currently experimental.
  55293. */
  55294. var By = (function () {
  55295. function By() {
  55296. }
  55297. /**
  55298. * Match all elements.
  55299. *
  55300. * ## Example
  55301. *
  55302. * {@example platform-browser/dom/debug/ts/by/by.ts region='by_all'}
  55303. */
  55304. By.all = function () { return function (debugElement) { return true; }; };
  55305. /**
  55306. * Match elements by the given CSS selector.
  55307. *
  55308. * ## Example
  55309. *
  55310. * {@example platform-browser/dom/debug/ts/by/by.ts region='by_css'}
  55311. */
  55312. By.css = function (selector) {
  55313. return function (debugElement) {
  55314. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__facade_lang__["a" /* isPresent */])(debugElement.nativeElement) ?
  55315. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__dom_dom_adapter__["a" /* getDOM */])().elementMatches(debugElement.nativeElement, selector) :
  55316. false;
  55317. };
  55318. };
  55319. /**
  55320. * Match elements that have the given directive present.
  55321. *
  55322. * ## Example
  55323. *
  55324. * {@example platform-browser/dom/debug/ts/by/by.ts region='by_directive'}
  55325. */
  55326. By.directive = function (type) {
  55327. return function (debugElement) { return debugElement.providerTokens.indexOf(type) !== -1; };
  55328. };
  55329. return By;
  55330. }());
  55331. //# sourceMappingURL=by.js.map
  55332. /***/ },
  55333. /* 517 */
  55334. /***/ function(module, exports, __webpack_require__) {
  55335. "use strict";
  55336. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__event_manager__ = __webpack_require__(91);
  55337. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return HammerGesturesPluginCommon; });
  55338. /**
  55339. * @license
  55340. * Copyright Google Inc. All Rights Reserved.
  55341. *
  55342. * Use of this source code is governed by an MIT-style license that can be
  55343. * found in the LICENSE file at https://angular.io/license
  55344. */
  55345. var __extends = (this && this.__extends) || function (d, b) {
  55346. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  55347. function __() { this.constructor = d; }
  55348. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  55349. };
  55350. var _eventNames = {
  55351. // pan
  55352. 'pan': true,
  55353. 'panstart': true,
  55354. 'panmove': true,
  55355. 'panend': true,
  55356. 'pancancel': true,
  55357. 'panleft': true,
  55358. 'panright': true,
  55359. 'panup': true,
  55360. 'pandown': true,
  55361. // pinch
  55362. 'pinch': true,
  55363. 'pinchstart': true,
  55364. 'pinchmove': true,
  55365. 'pinchend': true,
  55366. 'pinchcancel': true,
  55367. 'pinchin': true,
  55368. 'pinchout': true,
  55369. // press
  55370. 'press': true,
  55371. 'pressup': true,
  55372. // rotate
  55373. 'rotate': true,
  55374. 'rotatestart': true,
  55375. 'rotatemove': true,
  55376. 'rotateend': true,
  55377. 'rotatecancel': true,
  55378. // swipe
  55379. 'swipe': true,
  55380. 'swipeleft': true,
  55381. 'swiperight': true,
  55382. 'swipeup': true,
  55383. 'swipedown': true,
  55384. // tap
  55385. 'tap': true,
  55386. };
  55387. var HammerGesturesPluginCommon = (function (_super) {
  55388. __extends(HammerGesturesPluginCommon, _super);
  55389. function HammerGesturesPluginCommon() {
  55390. _super.call(this);
  55391. }
  55392. HammerGesturesPluginCommon.prototype.supports = function (eventName) {
  55393. return _eventNames.hasOwnProperty(eventName.toLowerCase());
  55394. };
  55395. return HammerGesturesPluginCommon;
  55396. }(__WEBPACK_IMPORTED_MODULE_0__event_manager__["b" /* EventManagerPlugin */]));
  55397. //# sourceMappingURL=hammer_common.js.map
  55398. /***/ },
  55399. /* 518 */
  55400. /***/ function(module, exports, __webpack_require__) {
  55401. "use strict";
  55402. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  55403. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(92);
  55404. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(31);
  55405. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(348);
  55406. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__web_animations_player__ = __webpack_require__(519);
  55407. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return WebAnimationsDriver; });
  55408. /**
  55409. * @license
  55410. * Copyright Google Inc. All Rights Reserved.
  55411. *
  55412. * Use of this source code is governed by an MIT-style license that can be
  55413. * found in the LICENSE file at https://angular.io/license
  55414. */
  55415. var WebAnimationsDriver = (function () {
  55416. function WebAnimationsDriver() {
  55417. }
  55418. WebAnimationsDriver.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing) {
  55419. var formattedSteps = [];
  55420. var startingStyleLookup = {};
  55421. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(startingStyles) && startingStyles.styles.length > 0) {
  55422. startingStyleLookup = _populateStyles(element, startingStyles, {});
  55423. startingStyleLookup['offset'] = 0;
  55424. formattedSteps.push(startingStyleLookup);
  55425. }
  55426. keyframes.forEach(function (keyframe) {
  55427. var data = _populateStyles(element, keyframe.styles, startingStyleLookup);
  55428. data['offset'] = keyframe.offset;
  55429. formattedSteps.push(data);
  55430. });
  55431. // this is a special case when only styles are applied as an
  55432. // animation. When this occurs we want to animate from start to
  55433. // end with the same values. Removing the offset and having only
  55434. // start/end values is suitable enough for the web-animations API
  55435. if (formattedSteps.length == 1) {
  55436. var start = formattedSteps[0];
  55437. start['offset'] = null;
  55438. formattedSteps = [start, start];
  55439. }
  55440. var playerOptions = {
  55441. 'duration': duration,
  55442. 'delay': delay,
  55443. 'fill': 'both' // we use `both` because it allows for styling at 0% to work with `delay`
  55444. };
  55445. // we check for this to avoid having a null|undefined value be present
  55446. // for the easing (which results in an error for certain browsers #9752)
  55447. if (easing) {
  55448. playerOptions['easing'] = easing;
  55449. }
  55450. return new __WEBPACK_IMPORTED_MODULE_4__web_animations_player__["a" /* WebAnimationsPlayer */](element, formattedSteps, playerOptions);
  55451. };
  55452. return WebAnimationsDriver;
  55453. }());
  55454. function _populateStyles(element, styles, defaultStyles) {
  55455. var data = {};
  55456. styles.styles.forEach(function (entry) {
  55457. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* StringMapWrapper */].forEach(entry, function (val, prop) {
  55458. var formattedProp = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["a" /* dashCaseToCamelCase */])(prop);
  55459. data[formattedProp] =
  55460. val == __WEBPACK_IMPORTED_MODULE_0__angular_core__["AUTO_STYLE"] ? val : val.toString() + _resolveStyleUnit(val, prop, formattedProp);
  55461. });
  55462. });
  55463. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* StringMapWrapper */].forEach(defaultStyles, function (value, prop) {
  55464. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(data[prop])) {
  55465. data[prop] = value;
  55466. }
  55467. });
  55468. return data;
  55469. }
  55470. function _resolveStyleUnit(val, userProvidedProp, formattedProp) {
  55471. var unit = '';
  55472. if (_isPixelDimensionStyle(formattedProp) && val != 0 && val != '0') {
  55473. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["g" /* isNumber */])(val)) {
  55474. unit = 'px';
  55475. }
  55476. else if (_findDimensionalSuffix(val.toString()).length == 0) {
  55477. throw new Error('Please provide a CSS unit value for ' + userProvidedProp + ':' + val);
  55478. }
  55479. }
  55480. return unit;
  55481. }
  55482. var _$0 = 48;
  55483. var _$9 = 57;
  55484. var _$PERIOD = 46;
  55485. function _findDimensionalSuffix(value) {
  55486. for (var i = 0; i < value.length; i++) {
  55487. var c = __WEBPACK_IMPORTED_MODULE_2__facade_lang__["f" /* StringWrapper */].charCodeAt(value, i);
  55488. if ((c >= _$0 && c <= _$9) || c == _$PERIOD)
  55489. continue;
  55490. return value.substring(i, value.length);
  55491. }
  55492. return '';
  55493. }
  55494. function _isPixelDimensionStyle(prop) {
  55495. switch (prop) {
  55496. case 'width':
  55497. case 'height':
  55498. case 'minWidth':
  55499. case 'minHeight':
  55500. case 'maxWidth':
  55501. case 'maxHeight':
  55502. case 'left':
  55503. case 'top':
  55504. case 'bottom':
  55505. case 'right':
  55506. case 'fontSize':
  55507. case 'outlineWidth':
  55508. case 'outlineOffset':
  55509. case 'paddingTop':
  55510. case 'paddingLeft':
  55511. case 'paddingBottom':
  55512. case 'paddingRight':
  55513. case 'marginTop':
  55514. case 'marginLeft':
  55515. case 'marginBottom':
  55516. case 'marginRight':
  55517. case 'borderRadius':
  55518. case 'borderWidth':
  55519. case 'borderTopWidth':
  55520. case 'borderLeftWidth':
  55521. case 'borderRightWidth':
  55522. case 'borderBottomWidth':
  55523. case 'textIndent':
  55524. return true;
  55525. default:
  55526. return false;
  55527. }
  55528. }
  55529. //# sourceMappingURL=web_animations_driver.js.map
  55530. /***/ },
  55531. /* 519 */
  55532. /***/ function(module, exports, __webpack_require__) {
  55533. "use strict";
  55534. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  55535. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__facade_collection__ = __webpack_require__(92);
  55536. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__facade_lang__ = __webpack_require__(31);
  55537. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__dom_adapter__ = __webpack_require__(18);
  55538. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return WebAnimationsPlayer; });
  55539. /**
  55540. * @license
  55541. * Copyright Google Inc. All Rights Reserved.
  55542. *
  55543. * Use of this source code is governed by an MIT-style license that can be
  55544. * found in the LICENSE file at https://angular.io/license
  55545. */
  55546. var WebAnimationsPlayer = (function () {
  55547. function WebAnimationsPlayer(element, keyframes, options) {
  55548. this.element = element;
  55549. this.keyframes = keyframes;
  55550. this.options = options;
  55551. this._onDoneFns = [];
  55552. this._onStartFns = [];
  55553. this._finished = false;
  55554. this._initialized = false;
  55555. this._started = false;
  55556. this.parentPlayer = null;
  55557. this._duration = options['duration'];
  55558. }
  55559. WebAnimationsPlayer.prototype._onFinish = function () {
  55560. if (!this._finished) {
  55561. this._finished = true;
  55562. if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__facade_lang__["a" /* isPresent */])(this.parentPlayer)) {
  55563. this.destroy();
  55564. }
  55565. this._onDoneFns.forEach(function (fn) { return fn(); });
  55566. this._onDoneFns = [];
  55567. }
  55568. };
  55569. WebAnimationsPlayer.prototype.init = function () {
  55570. var _this = this;
  55571. if (this._initialized)
  55572. return;
  55573. this._initialized = true;
  55574. var keyframes = this.keyframes.map(function (styles) {
  55575. var formattedKeyframe = {};
  55576. __WEBPACK_IMPORTED_MODULE_1__facade_collection__["a" /* StringMapWrapper */].forEach(styles, function (value, prop) {
  55577. formattedKeyframe[prop] = value == __WEBPACK_IMPORTED_MODULE_0__angular_core__["AUTO_STYLE"] ? _computeStyle(_this.element, prop) : value;
  55578. });
  55579. return formattedKeyframe;
  55580. });
  55581. this._player = this._triggerWebAnimation(this.element, keyframes, this.options);
  55582. // this is required so that the player doesn't start to animate right away
  55583. this.reset();
  55584. this._player.onfinish = function () { return _this._onFinish(); };
  55585. };
  55586. /** @internal */
  55587. WebAnimationsPlayer.prototype._triggerWebAnimation = function (element, keyframes, options) {
  55588. return element.animate(keyframes, options);
  55589. };
  55590. WebAnimationsPlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };
  55591. WebAnimationsPlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };
  55592. WebAnimationsPlayer.prototype.play = function () {
  55593. this.init();
  55594. if (!this.hasStarted()) {
  55595. this._onStartFns.forEach(function (fn) { return fn(); });
  55596. this._onStartFns = [];
  55597. this._started = true;
  55598. }
  55599. this._player.play();
  55600. };
  55601. WebAnimationsPlayer.prototype.pause = function () {
  55602. this.init();
  55603. this._player.pause();
  55604. };
  55605. WebAnimationsPlayer.prototype.finish = function () {
  55606. this.init();
  55607. this._onFinish();
  55608. this._player.finish();
  55609. };
  55610. WebAnimationsPlayer.prototype.reset = function () { this._player.cancel(); };
  55611. WebAnimationsPlayer.prototype.restart = function () {
  55612. this.reset();
  55613. this.play();
  55614. };
  55615. WebAnimationsPlayer.prototype.hasStarted = function () { return this._started; };
  55616. WebAnimationsPlayer.prototype.destroy = function () {
  55617. this.reset();
  55618. this._onFinish();
  55619. };
  55620. Object.defineProperty(WebAnimationsPlayer.prototype, "totalTime", {
  55621. get: function () { return this._duration; },
  55622. enumerable: true,
  55623. configurable: true
  55624. });
  55625. WebAnimationsPlayer.prototype.setPosition = function (p) { this._player.currentTime = p * this.totalTime; };
  55626. WebAnimationsPlayer.prototype.getPosition = function () { return this._player.currentTime / this.totalTime; };
  55627. return WebAnimationsPlayer;
  55628. }());
  55629. function _computeStyle(element, prop) {
  55630. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__dom_adapter__["a" /* getDOM */])().getComputedStyle(element)[prop];
  55631. }
  55632. //# sourceMappingURL=web_animations_player.js.map
  55633. /***/ },
  55634. /* 520 */
  55635. /***/ function(module, exports, __webpack_require__) {
  55636. "use strict";
  55637. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return win; });
  55638. /* unused harmony export document */
  55639. /* unused harmony export location */
  55640. /* unused harmony export gc */
  55641. /* unused harmony export performance */
  55642. /* unused harmony export Event */
  55643. /* unused harmony export MouseEvent */
  55644. /* unused harmony export KeyboardEvent */
  55645. /* unused harmony export EventTarget */
  55646. /* unused harmony export History */
  55647. /* unused harmony export Location */
  55648. /* unused harmony export EventListener */
  55649. /**
  55650. * @license
  55651. * Copyright Google Inc. All Rights Reserved.
  55652. *
  55653. * Use of this source code is governed by an MIT-style license that can be
  55654. * found in the LICENSE file at https://angular.io/license
  55655. */
  55656. /**
  55657. * JS version of browser APIs. This library can only run in the browser.
  55658. */
  55659. var win = typeof window !== 'undefined' && window || {};
  55660. var document = win.document;
  55661. var location = win.location;
  55662. var gc = win['gc'] ? function () { return win['gc'](); } : function () { return null; };
  55663. var performance = win['performance'] ? win['performance'] : null;
  55664. var Event = win['Event'];
  55665. var MouseEvent = win['MouseEvent'];
  55666. var KeyboardEvent = win['KeyboardEvent'];
  55667. var EventTarget = win['EventTarget'];
  55668. var History = win['History'];
  55669. var Location = win['Location'];
  55670. var EventListener = win['EventListener'];
  55671. //# sourceMappingURL=browser.js.map
  55672. /***/ },
  55673. /* 521 */
  55674. /***/ function(module, exports, __webpack_require__) {
  55675. "use strict";
  55676. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__browser__ = __webpack_require__(341);
  55677. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__browser_title__ = __webpack_require__(345);
  55678. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__browser_tools_tools__ = __webpack_require__(515);
  55679. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__dom_animation_driver__ = __webpack_require__(226);
  55680. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__dom_debug_by__ = __webpack_require__(516);
  55681. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__dom_debug_ng_probe__ = __webpack_require__(227);
  55682. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__dom_dom_tokens__ = __webpack_require__(155);
  55683. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__dom_events_event_manager__ = __webpack_require__(91);
  55684. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__dom_events_hammer_gestures__ = __webpack_require__(229);
  55685. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__security_dom_sanitization_service__ = __webpack_require__(350);
  55686. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__private_export__ = __webpack_require__(522);
  55687. /* harmony reexport (binding) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_0__browser__["d"]; });
  55688. /* harmony reexport (binding) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_0__browser__["e"]; });
  55689. /* harmony reexport (binding) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_1__browser_title__["a"]; });
  55690. /* harmony reexport (binding) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_2__browser_tools_tools__["a"]; });
  55691. /* harmony reexport (binding) */ __webpack_require__.d(exports, "f", function() { return __WEBPACK_IMPORTED_MODULE_2__browser_tools_tools__["b"]; });
  55692. /* harmony reexport (binding) */ __webpack_require__.d(exports, "g", function() { return __WEBPACK_IMPORTED_MODULE_3__dom_animation_driver__["a"]; });
  55693. /* harmony reexport (binding) */ __webpack_require__.d(exports, "h", function() { return __WEBPACK_IMPORTED_MODULE_4__dom_debug_by__["a"]; });
  55694. /* harmony reexport (binding) */ __webpack_require__.d(exports, "i", function() { return __WEBPACK_IMPORTED_MODULE_5__dom_debug_ng_probe__["b"]; });
  55695. /* harmony reexport (binding) */ __webpack_require__.d(exports, "j", function() { return __WEBPACK_IMPORTED_MODULE_6__dom_dom_tokens__["a"]; });
  55696. /* harmony reexport (binding) */ __webpack_require__.d(exports, "k", function() { return __WEBPACK_IMPORTED_MODULE_7__dom_events_event_manager__["c"]; });
  55697. /* harmony reexport (binding) */ __webpack_require__.d(exports, "l", function() { return __WEBPACK_IMPORTED_MODULE_7__dom_events_event_manager__["a"]; });
  55698. /* harmony reexport (binding) */ __webpack_require__.d(exports, "m", function() { return __WEBPACK_IMPORTED_MODULE_8__dom_events_hammer_gestures__["b"]; });
  55699. /* harmony reexport (binding) */ __webpack_require__.d(exports, "n", function() { return __WEBPACK_IMPORTED_MODULE_8__dom_events_hammer_gestures__["c"]; });
  55700. /* harmony reexport (binding) */ __webpack_require__.d(exports, "o", function() { return __WEBPACK_IMPORTED_MODULE_9__security_dom_sanitization_service__["a"]; });
  55701. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_10__private_export__["a"]; });
  55702. /**
  55703. * @license
  55704. * Copyright Google Inc. All Rights Reserved.
  55705. *
  55706. * Use of this source code is governed by an MIT-style license that can be
  55707. * found in the LICENSE file at https://angular.io/license
  55708. */
  55709. //# sourceMappingURL=platform-browser.js.map
  55710. /***/ },
  55711. /* 522 */
  55712. /***/ function(module, exports, __webpack_require__) {
  55713. "use strict";
  55714. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__browser__ = __webpack_require__(341);
  55715. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__browser_browser_adapter__ = __webpack_require__(342);
  55716. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__browser_location_browser_platform_location__ = __webpack_require__(343);
  55717. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__browser_testability__ = __webpack_require__(344);
  55718. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__dom_debug_ng_probe__ = __webpack_require__(227);
  55719. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__dom_dom_adapter__ = __webpack_require__(18);
  55720. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__dom_dom_renderer__ = __webpack_require__(228);
  55721. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__dom_events_dom_events__ = __webpack_require__(346);
  55722. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__dom_events_hammer_gestures__ = __webpack_require__(229);
  55723. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__dom_events_key_events__ = __webpack_require__(347);
  55724. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__dom_shared_styles_host__ = __webpack_require__(230);
  55725. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return __platform_browser_private__; });
  55726. var __platform_browser_private__ = {
  55727. BrowserPlatformLocation: __WEBPACK_IMPORTED_MODULE_2__browser_location_browser_platform_location__["a" /* BrowserPlatformLocation */],
  55728. DomAdapter: __WEBPACK_IMPORTED_MODULE_5__dom_dom_adapter__["b" /* DomAdapter */],
  55729. BrowserDomAdapter: __WEBPACK_IMPORTED_MODULE_1__browser_browser_adapter__["a" /* BrowserDomAdapter */],
  55730. BrowserGetTestability: __WEBPACK_IMPORTED_MODULE_3__browser_testability__["a" /* BrowserGetTestability */],
  55731. getDOM: __WEBPACK_IMPORTED_MODULE_5__dom_dom_adapter__["a" /* getDOM */],
  55732. setRootDomAdapter: __WEBPACK_IMPORTED_MODULE_5__dom_dom_adapter__["c" /* setRootDomAdapter */],
  55733. DomRootRenderer_: __WEBPACK_IMPORTED_MODULE_6__dom_dom_renderer__["b" /* DomRootRenderer_ */],
  55734. DomRootRenderer: __WEBPACK_IMPORTED_MODULE_6__dom_dom_renderer__["a" /* DomRootRenderer */],
  55735. DomSharedStylesHost: __WEBPACK_IMPORTED_MODULE_10__dom_shared_styles_host__["a" /* DomSharedStylesHost */],
  55736. SharedStylesHost: __WEBPACK_IMPORTED_MODULE_10__dom_shared_styles_host__["b" /* SharedStylesHost */],
  55737. ELEMENT_PROBE_PROVIDERS: __WEBPACK_IMPORTED_MODULE_4__dom_debug_ng_probe__["a" /* ELEMENT_PROBE_PROVIDERS */],
  55738. DomEventsPlugin: __WEBPACK_IMPORTED_MODULE_7__dom_events_dom_events__["a" /* DomEventsPlugin */],
  55739. KeyEventsPlugin: __WEBPACK_IMPORTED_MODULE_9__dom_events_key_events__["a" /* KeyEventsPlugin */],
  55740. HammerGesturesPlugin: __WEBPACK_IMPORTED_MODULE_8__dom_events_hammer_gestures__["a" /* HammerGesturesPlugin */],
  55741. initDomAdapter: __WEBPACK_IMPORTED_MODULE_0__browser__["a" /* initDomAdapter */],
  55742. INTERNAL_BROWSER_PLATFORM_PROVIDERS: __WEBPACK_IMPORTED_MODULE_0__browser__["b" /* INTERNAL_BROWSER_PLATFORM_PROVIDERS */],
  55743. BROWSER_SANITIZATION_PROVIDERS: __WEBPACK_IMPORTED_MODULE_0__browser__["c" /* BROWSER_SANITIZATION_PROVIDERS */]
  55744. };
  55745. //# sourceMappingURL=private_export.js.map
  55746. /***/ },
  55747. /* 523 */
  55748. /***/ function(module, exports, __webpack_require__) {
  55749. "use strict";
  55750. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  55751. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__dom_dom_adapter__ = __webpack_require__(18);
  55752. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__url_sanitizer__ = __webpack_require__(231);
  55753. /* harmony export (immutable) */ exports["a"] = sanitizeHtml;
  55754. /**
  55755. * @license
  55756. * Copyright Google Inc. All Rights Reserved.
  55757. *
  55758. * Use of this source code is governed by an MIT-style license that can be
  55759. * found in the LICENSE file at https://angular.io/license
  55760. */
  55761. /** A <body> element that can be safely used to parse untrusted HTML. Lazily initialized below. */
  55762. var inertElement = null;
  55763. /** Lazily initialized to make sure the DOM adapter gets set before use. */
  55764. var DOM = null;
  55765. /** Returns an HTML element that is guaranteed to not execute code when creating elements in it. */
  55766. function getInertElement() {
  55767. if (inertElement)
  55768. return inertElement;
  55769. DOM = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__dom_dom_adapter__["a" /* getDOM */])();
  55770. // Prefer using <template> element if supported.
  55771. var templateEl = DOM.createElement('template');
  55772. if ('content' in templateEl)
  55773. return templateEl;
  55774. var doc = DOM.createHtmlDocument();
  55775. inertElement = DOM.querySelector(doc, 'body');
  55776. if (inertElement == null) {
  55777. // usually there should be only one body element in the document, but IE doesn't have any, so we
  55778. // need to create one.
  55779. var html = DOM.createElement('html', doc);
  55780. inertElement = DOM.createElement('body', doc);
  55781. DOM.appendChild(html, inertElement);
  55782. DOM.appendChild(doc, html);
  55783. }
  55784. return inertElement;
  55785. }
  55786. function tagSet(tags) {
  55787. var res = {};
  55788. for (var _i = 0, _a = tags.split(','); _i < _a.length; _i++) {
  55789. var t = _a[_i];
  55790. res[t] = true;
  55791. }
  55792. return res;
  55793. }
  55794. function merge() {
  55795. var sets = [];
  55796. for (var _i = 0; _i < arguments.length; _i++) {
  55797. sets[_i - 0] = arguments[_i];
  55798. }
  55799. var res = {};
  55800. for (var _a = 0, sets_1 = sets; _a < sets_1.length; _a++) {
  55801. var s = sets_1[_a];
  55802. for (var v in s) {
  55803. if (s.hasOwnProperty(v))
  55804. res[v] = true;
  55805. }
  55806. }
  55807. return res;
  55808. }
  55809. // Good source of info about elements and attributes
  55810. // http://dev.w3.org/html5/spec/Overview.html#semantics
  55811. // http://simon.html5.org/html-elements
  55812. // Safe Void Elements - HTML5
  55813. // http://dev.w3.org/html5/spec/Overview.html#void-elements
  55814. var VOID_ELEMENTS = tagSet('area,br,col,hr,img,wbr');
  55815. // Elements that you can, intentionally, leave open (and which close themselves)
  55816. // http://dev.w3.org/html5/spec/Overview.html#optional-tags
  55817. var OPTIONAL_END_TAG_BLOCK_ELEMENTS = tagSet('colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr');
  55818. var OPTIONAL_END_TAG_INLINE_ELEMENTS = tagSet('rp,rt');
  55819. var OPTIONAL_END_TAG_ELEMENTS = merge(OPTIONAL_END_TAG_INLINE_ELEMENTS, OPTIONAL_END_TAG_BLOCK_ELEMENTS);
  55820. // Safe Block Elements - HTML5
  55821. var BLOCK_ELEMENTS = merge(OPTIONAL_END_TAG_BLOCK_ELEMENTS, tagSet('address,article,' +
  55822. 'aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,' +
  55823. 'h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul'));
  55824. // Inline Elements - HTML5
  55825. var INLINE_ELEMENTS = merge(OPTIONAL_END_TAG_INLINE_ELEMENTS, tagSet('a,abbr,acronym,audio,b,' +
  55826. 'bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,' +
  55827. 'samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video'));
  55828. var VALID_ELEMENTS = merge(VOID_ELEMENTS, BLOCK_ELEMENTS, INLINE_ELEMENTS, OPTIONAL_END_TAG_ELEMENTS);
  55829. // Attributes that have href and hence need to be sanitized
  55830. var URI_ATTRS = tagSet('background,cite,href,itemtype,longdesc,poster,src,xlink:href');
  55831. // Attributes that have special href set hence need to be sanitized
  55832. var SRCSET_ATTRS = tagSet('srcset');
  55833. var HTML_ATTRS = tagSet('abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,' +
  55834. 'compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,' +
  55835. 'ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,' +
  55836. 'scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,' +
  55837. 'valign,value,vspace,width');
  55838. // NB: This currently conciously doesn't support SVG. SVG sanitization has had several security
  55839. // issues in the past, so it seems safer to leave it out if possible. If support for binding SVG via
  55840. // innerHTML is required, SVG attributes should be added here.
  55841. // NB: Sanitization does not allow <form> elements or other active elements (<button> etc). Those
  55842. // can be sanitized, but they increase security surface area without a legitimate use case, so they
  55843. // are left out here.
  55844. var VALID_ATTRS = merge(URI_ATTRS, SRCSET_ATTRS, HTML_ATTRS);
  55845. /**
  55846. * SanitizingHtmlSerializer serializes a DOM fragment, stripping out any unsafe elements and unsafe
  55847. * attributes.
  55848. */
  55849. var SanitizingHtmlSerializer = (function () {
  55850. function SanitizingHtmlSerializer() {
  55851. // Explicitly track if something was stripped, to avoid accidentally warning of sanitization just
  55852. // because characters were re-encoded.
  55853. this.sanitizedSomething = false;
  55854. this.buf = [];
  55855. }
  55856. SanitizingHtmlSerializer.prototype.sanitizeChildren = function (el) {
  55857. // This cannot use a TreeWalker, as it has to run on Angular's various DOM adapters.
  55858. // However this code never accesses properties off of `document` before deleting its contents
  55859. // again, so it shouldn't be vulnerable to DOM clobbering.
  55860. var current = el.firstChild;
  55861. while (current) {
  55862. if (DOM.isElementNode(current)) {
  55863. this.startElement(current);
  55864. }
  55865. else if (DOM.isTextNode(current)) {
  55866. this.chars(DOM.nodeValue(current));
  55867. }
  55868. else {
  55869. // Strip non-element, non-text node.
  55870. this.sanitizedSomething = true;
  55871. }
  55872. if (DOM.firstChild(current)) {
  55873. current = DOM.firstChild(current);
  55874. continue;
  55875. }
  55876. while (current) {
  55877. // Leaving the element. Walk up and to the right, closing tags as we go.
  55878. if (DOM.isElementNode(current)) {
  55879. this.endElement(current);
  55880. }
  55881. if (DOM.nextSibling(current)) {
  55882. current = DOM.nextSibling(current);
  55883. break;
  55884. }
  55885. current = DOM.parentElement(current);
  55886. }
  55887. }
  55888. return this.buf.join('');
  55889. };
  55890. SanitizingHtmlSerializer.prototype.startElement = function (element) {
  55891. var _this = this;
  55892. var tagName = DOM.nodeName(element).toLowerCase();
  55893. if (!VALID_ELEMENTS.hasOwnProperty(tagName)) {
  55894. this.sanitizedSomething = true;
  55895. return;
  55896. }
  55897. this.buf.push('<');
  55898. this.buf.push(tagName);
  55899. DOM.attributeMap(element).forEach(function (value, attrName) {
  55900. var lower = attrName.toLowerCase();
  55901. if (!VALID_ATTRS.hasOwnProperty(lower)) {
  55902. _this.sanitizedSomething = true;
  55903. return;
  55904. }
  55905. // TODO(martinprobst): Special case image URIs for data:image/...
  55906. if (URI_ATTRS[lower])
  55907. value = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__url_sanitizer__["a" /* sanitizeUrl */])(value);
  55908. if (SRCSET_ATTRS[lower])
  55909. value = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__url_sanitizer__["b" /* sanitizeSrcset */])(value);
  55910. _this.buf.push(' ');
  55911. _this.buf.push(attrName);
  55912. _this.buf.push('="');
  55913. _this.buf.push(encodeEntities(value));
  55914. _this.buf.push('"');
  55915. });
  55916. this.buf.push('>');
  55917. };
  55918. SanitizingHtmlSerializer.prototype.endElement = function (current) {
  55919. var tagName = DOM.nodeName(current).toLowerCase();
  55920. if (VALID_ELEMENTS.hasOwnProperty(tagName) && !VOID_ELEMENTS.hasOwnProperty(tagName)) {
  55921. this.buf.push('</');
  55922. this.buf.push(tagName);
  55923. this.buf.push('>');
  55924. }
  55925. };
  55926. SanitizingHtmlSerializer.prototype.chars = function (chars /** TODO #9100 */) { this.buf.push(encodeEntities(chars)); };
  55927. return SanitizingHtmlSerializer;
  55928. }());
  55929. // Regular Expressions for parsing tags and attributes
  55930. var SURROGATE_PAIR_REGEXP = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
  55931. // ! to ~ is the ASCII range.
  55932. var NON_ALPHANUMERIC_REGEXP = /([^\#-~ |!])/g;
  55933. /**
  55934. * Escapes all potentially dangerous characters, so that the
  55935. * resulting string can be safely inserted into attribute or
  55936. * element text.
  55937. * @param value
  55938. * @returns {string} escaped text
  55939. */
  55940. function encodeEntities(value) {
  55941. return value.replace(/&/g, '&amp;')
  55942. .replace(SURROGATE_PAIR_REGEXP, function (match) {
  55943. var hi = match.charCodeAt(0);
  55944. var low = match.charCodeAt(1);
  55945. return '&#' + (((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000) + ';';
  55946. })
  55947. .replace(NON_ALPHANUMERIC_REGEXP, function (match) { return '&#' + match.charCodeAt(0) + ';'; })
  55948. .replace(/</g, '&lt;')
  55949. .replace(/>/g, '&gt;');
  55950. }
  55951. /**
  55952. * When IE9-11 comes across an unknown namespaced attribute e.g. 'xlink:foo' it adds 'xmlns:ns1'
  55953. * attribute to declare ns1 namespace and prefixes the attribute with 'ns1' (e.g. 'ns1:xlink:foo').
  55954. *
  55955. * This is undesirable since we don't want to allow any of these custom attributes. This method
  55956. * strips them all.
  55957. */
  55958. function stripCustomNsAttrs(el) {
  55959. DOM.attributeMap(el).forEach(function (_, attrName) {
  55960. if (attrName === 'xmlns:ns1' || attrName.indexOf('ns1:') === 0) {
  55961. DOM.removeAttribute(el, attrName);
  55962. }
  55963. });
  55964. for (var _i = 0, _a = DOM.childNodesAsList(el); _i < _a.length; _i++) {
  55965. var n = _a[_i];
  55966. if (DOM.isElementNode(n))
  55967. stripCustomNsAttrs(n);
  55968. }
  55969. }
  55970. /**
  55971. * Sanitizes the given unsafe, untrusted HTML fragment, and returns HTML text that is safe to add to
  55972. * the DOM in a browser environment.
  55973. */
  55974. function sanitizeHtml(unsafeHtmlInput) {
  55975. try {
  55976. var containerEl = getInertElement();
  55977. // Make sure unsafeHtml is actually a string (TypeScript types are not enforced at runtime).
  55978. var unsafeHtml = unsafeHtmlInput ? String(unsafeHtmlInput) : '';
  55979. // mXSS protection. Repeatedly parse the document to make sure it stabilizes, so that a browser
  55980. // trying to auto-correct incorrect HTML cannot cause formerly inert HTML to become dangerous.
  55981. var mXSSAttempts = 5;
  55982. var parsedHtml = unsafeHtml;
  55983. do {
  55984. if (mXSSAttempts === 0) {
  55985. throw new Error('Failed to sanitize html because the input is unstable');
  55986. }
  55987. mXSSAttempts--;
  55988. unsafeHtml = parsedHtml;
  55989. DOM.setInnerHTML(containerEl, unsafeHtml);
  55990. if (DOM.defaultDoc().documentMode) {
  55991. // strip custom-namespaced attributes on IE<=11
  55992. stripCustomNsAttrs(containerEl);
  55993. }
  55994. parsedHtml = DOM.getInnerHTML(containerEl);
  55995. } while (unsafeHtml !== parsedHtml);
  55996. var sanitizer = new SanitizingHtmlSerializer();
  55997. var safeHtml = sanitizer.sanitizeChildren(DOM.getTemplateContent(containerEl) || containerEl);
  55998. // Clear out the body element.
  55999. var parent_1 = DOM.getTemplateContent(containerEl) || containerEl;
  56000. for (var _i = 0, _a = DOM.childNodesAsList(parent_1); _i < _a.length; _i++) {
  56001. var child = _a[_i];
  56002. DOM.removeChild(parent_1, child);
  56003. }
  56004. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["isDevMode"])() && sanitizer.sanitizedSomething) {
  56005. DOM.log('WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss).');
  56006. }
  56007. return safeHtml;
  56008. }
  56009. catch (e) {
  56010. // In case anything goes wrong, clear out inertElement to reset the entire DOM structure.
  56011. inertElement = null;
  56012. throw e;
  56013. }
  56014. }
  56015. //# sourceMappingURL=html_sanitizer.js.map
  56016. /***/ },
  56017. /* 524 */
  56018. /***/ function(module, exports, __webpack_require__) {
  56019. "use strict";
  56020. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  56021. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__dom_dom_adapter__ = __webpack_require__(18);
  56022. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__url_sanitizer__ = __webpack_require__(231);
  56023. /* harmony export (immutable) */ exports["a"] = sanitizeStyle;
  56024. /**
  56025. * @license
  56026. * Copyright Google Inc. All Rights Reserved.
  56027. *
  56028. * Use of this source code is governed by an MIT-style license that can be
  56029. * found in the LICENSE file at https://angular.io/license
  56030. */
  56031. /**
  56032. * Regular expression for safe style values.
  56033. *
  56034. * Quotes (" and ') are allowed, but a check must be done elsewhere to ensure they're balanced.
  56035. *
  56036. * ',' allows multiple values to be assigned to the same property (e.g. background-attachment or
  56037. * font-family) and hence could allow multiple values to get injected, but that should pose no risk
  56038. * of XSS.
  56039. *
  56040. * The function expression checks only for XSS safety, not for CSS validity.
  56041. *
  56042. * This regular expression was taken from the Closure sanitization library, and augmented for
  56043. * transformation values.
  56044. */
  56045. var VALUES = '[-,."\'%_!# a-zA-Z0-9]+';
  56046. var TRANSFORMATION_FNS = '(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|3d)?';
  56047. var COLOR_FNS = '(?:rgb|hsl)a?';
  56048. var FN_ARGS = '\\([-0-9.%, a-zA-Z]+\\)';
  56049. var SAFE_STYLE_VALUE = new RegExp("^(" + VALUES + "|(?:" + TRANSFORMATION_FNS + "|" + COLOR_FNS + ")" + FN_ARGS + ")$", 'g');
  56050. /**
  56051. * Matches a `url(...)` value with an arbitrary argument as long as it does
  56052. * not contain parentheses.
  56053. *
  56054. * The URL value still needs to be sanitized separately.
  56055. *
  56056. * `url(...)` values are a very common use case, e.g. for `background-image`. With carefully crafted
  56057. * CSS style rules, it is possible to construct an information leak with `url` values in CSS, e.g.
  56058. * by observing whether scroll bars are displayed, or character ranges used by a font face
  56059. * definition.
  56060. *
  56061. * Angular only allows binding CSS values (as opposed to entire CSS rules), so it is unlikely that
  56062. * binding a URL value without further cooperation from the page will cause an information leak, and
  56063. * if so, it is just a leak, not a full blown XSS vulnerability.
  56064. *
  56065. * Given the common use case, low likelihood of attack vector, and low impact of an attack, this
  56066. * code is permissive and allows URLs that sanitize otherwise.
  56067. */
  56068. var URL_RE = /^url\(([^)]+)\)$/;
  56069. /**
  56070. * Checks that quotes (" and ') are properly balanced inside a string. Assumes
  56071. * that neither escape (\) nor any other character that could result in
  56072. * breaking out of a string parsing context are allowed;
  56073. * see http://www.w3.org/TR/css3-syntax/#string-token-diagram.
  56074. *
  56075. * This code was taken from the Closure sanitization library.
  56076. */
  56077. function hasBalancedQuotes(value) {
  56078. var outsideSingle = true;
  56079. var outsideDouble = true;
  56080. for (var i = 0; i < value.length; i++) {
  56081. var c = value.charAt(i);
  56082. if (c === '\'' && outsideDouble) {
  56083. outsideSingle = !outsideSingle;
  56084. }
  56085. else if (c === '"' && outsideSingle) {
  56086. outsideDouble = !outsideDouble;
  56087. }
  56088. }
  56089. return outsideSingle && outsideDouble;
  56090. }
  56091. /**
  56092. * Sanitizes the given untrusted CSS style property value (i.e. not an entire object, just a single
  56093. * value) and returns a value that is safe to use in a browser environment.
  56094. */
  56095. function sanitizeStyle(value) {
  56096. value = String(value).trim(); // Make sure it's actually a string.
  56097. if (!value)
  56098. return '';
  56099. // Single url(...) values are supported, but only for URLs that sanitize cleanly. See above for
  56100. // reasoning behind this.
  56101. var urlMatch = value.match(URL_RE);
  56102. if ((urlMatch && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__url_sanitizer__["a" /* sanitizeUrl */])(urlMatch[1]) === urlMatch[1]) ||
  56103. value.match(SAFE_STYLE_VALUE) && hasBalancedQuotes(value)) {
  56104. return value; // Safe style values.
  56105. }
  56106. if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["isDevMode"])()) {
  56107. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__dom_dom_adapter__["a" /* getDOM */])().log("WARNING: sanitizing unsafe style value " + value + " (see http://g.co/ng/security#xss).");
  56108. }
  56109. return 'unsafe';
  56110. }
  56111. //# sourceMappingURL=style_sanitizer.js.map
  56112. /***/ },
  56113. /* 525 */
  56114. /***/ function(module, exports, __webpack_require__) {
  56115. "use strict";
  56116. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__ = __webpack_require__(0);
  56117. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__);
  56118. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_observable_from__ = __webpack_require__(258);
  56119. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_observable_from___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_rxjs_observable_from__);
  56120. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__ = __webpack_require__(100);
  56121. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__);
  56122. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_catch__ = __webpack_require__(397);
  56123. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_catch___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_operator_catch__);
  56124. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_concatAll__ = __webpack_require__(261);
  56125. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_concatAll___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_operator_concatAll__);
  56126. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_first__ = __webpack_require__(402);
  56127. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_first___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_rxjs_operator_first__);
  56128. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__ = __webpack_require__(82);
  56129. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__);
  56130. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeMap__ = __webpack_require__(121);
  56131. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeMap___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeMap__);
  56132. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rxjs_util_EmptyError__ = __webpack_require__(125);
  56133. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rxjs_util_EmptyError___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_rxjs_util_EmptyError__);
  56134. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__router_config_loader__ = __webpack_require__(157);
  56135. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__shared__ = __webpack_require__(54);
  56136. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__url_tree__ = __webpack_require__(77);
  56137. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__utils_collection__ = __webpack_require__(55);
  56138. /* harmony export (immutable) */ exports["a"] = applyRedirects;
  56139. /**
  56140. * @license
  56141. * Copyright Google Inc. All Rights Reserved.
  56142. *
  56143. * Use of this source code is governed by an MIT-style license that can be
  56144. * found in the LICENSE file at https://angular.io/license
  56145. */
  56146. var NoMatch = (function () {
  56147. function NoMatch(segmentGroup) {
  56148. if (segmentGroup === void 0) { segmentGroup = null; }
  56149. this.segmentGroup = segmentGroup;
  56150. }
  56151. return NoMatch;
  56152. }());
  56153. var AbsoluteRedirect = (function () {
  56154. function AbsoluteRedirect(segments) {
  56155. this.segments = segments;
  56156. }
  56157. return AbsoluteRedirect;
  56158. }());
  56159. function noMatch(segmentGroup) {
  56160. return new __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__["Observable"](function (obs) { return obs.error(new NoMatch(segmentGroup)); });
  56161. }
  56162. function absoluteRedirect(segments) {
  56163. return new __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__["Observable"](function (obs) { return obs.error(new AbsoluteRedirect(segments)); });
  56164. }
  56165. function canLoadFails(route) {
  56166. return new __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__["Observable"](function (obs) { return obs.error(new __WEBPACK_IMPORTED_MODULE_10__shared__["b" /* NavigationCancelingError */]("Cannot load children because the guard of the route \"path: '" + route.path + "'\" returned false")); });
  56167. }
  56168. function applyRedirects(injector, configLoader, urlTree, config) {
  56169. return new ApplyRedirects(injector, configLoader, urlTree, config).apply();
  56170. }
  56171. var ApplyRedirects = (function () {
  56172. function ApplyRedirects(injector, configLoader, urlTree, config) {
  56173. this.injector = injector;
  56174. this.configLoader = configLoader;
  56175. this.urlTree = urlTree;
  56176. this.config = config;
  56177. this.allowRedirects = true;
  56178. }
  56179. ApplyRedirects.prototype.apply = function () {
  56180. var _this = this;
  56181. var expanded$ = this.expandSegmentGroup(this.injector, this.config, this.urlTree.root, __WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]);
  56182. var urlTrees$ = __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(expanded$, function (rootSegmentGroup) { return _this.createUrlTree(rootSegmentGroup); });
  56183. return __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_catch__["_catch"].call(urlTrees$, function (e) {
  56184. if (e instanceof AbsoluteRedirect) {
  56185. // after an absolute redirect we do not apply any more redirects!
  56186. _this.allowRedirects = false;
  56187. var group = new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */]([], (_a = {}, _a[__WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]] = new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */](e.segments, {}), _a));
  56188. // we need to run matching, so we can fetch all lazy-loaded modules
  56189. return _this.match(group);
  56190. }
  56191. else if (e instanceof NoMatch) {
  56192. throw _this.noMatchError(e);
  56193. }
  56194. else {
  56195. throw e;
  56196. }
  56197. var _a;
  56198. });
  56199. };
  56200. ApplyRedirects.prototype.match = function (segmentGroup) {
  56201. var _this = this;
  56202. var expanded$ = this.expandSegmentGroup(this.injector, this.config, segmentGroup, __WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]);
  56203. var mapped$ = __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(expanded$, function (rootSegmentGroup) { return _this.createUrlTree(rootSegmentGroup); });
  56204. return __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_catch__["_catch"].call(mapped$, function (e) {
  56205. if (e instanceof NoMatch) {
  56206. throw _this.noMatchError(e);
  56207. }
  56208. else {
  56209. throw e;
  56210. }
  56211. });
  56212. };
  56213. ApplyRedirects.prototype.noMatchError = function (e) {
  56214. return new Error("Cannot match any routes: '" + e.segmentGroup + "'");
  56215. };
  56216. ApplyRedirects.prototype.createUrlTree = function (rootCandidate) {
  56217. var root = rootCandidate.segments.length > 0 ?
  56218. new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */]([], (_a = {}, _a[__WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]] = rootCandidate, _a)) :
  56219. rootCandidate;
  56220. return new __WEBPACK_IMPORTED_MODULE_11__url_tree__["b" /* UrlTree */](root, this.urlTree.queryParams, this.urlTree.fragment);
  56221. var _a;
  56222. };
  56223. ApplyRedirects.prototype.expandSegmentGroup = function (injector, routes, segmentGroup, outlet) {
  56224. if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {
  56225. return __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(this.expandChildren(injector, routes, segmentGroup), function (children) { return new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */]([], children); });
  56226. }
  56227. else {
  56228. return this.expandSegment(injector, segmentGroup, routes, segmentGroup.segments, outlet, true);
  56229. }
  56230. };
  56231. ApplyRedirects.prototype.expandChildren = function (injector, routes, segmentGroup) {
  56232. var _this = this;
  56233. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__utils_collection__["e" /* waitForMap */])(segmentGroup.children, function (childOutlet, child) { return _this.expandSegmentGroup(injector, routes, child, childOutlet); });
  56234. };
  56235. ApplyRedirects.prototype.expandSegment = function (injector, segmentGroup, routes, segments, outlet, allowRedirects) {
  56236. var _this = this;
  56237. var routes$ = __WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"].apply(void 0, routes);
  56238. var processedRoutes$ = __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(routes$, function (r) {
  56239. var expanded$ = _this.expandSegmentAgainstRoute(injector, segmentGroup, routes, r, segments, outlet, allowRedirects);
  56240. return __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_catch__["_catch"].call(expanded$, function (e) {
  56241. if (e instanceof NoMatch)
  56242. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"])(null);
  56243. else
  56244. throw e;
  56245. });
  56246. });
  56247. var concattedProcessedRoutes$ = __WEBPACK_IMPORTED_MODULE_4_rxjs_operator_concatAll__["concatAll"].call(processedRoutes$);
  56248. var first$ = __WEBPACK_IMPORTED_MODULE_5_rxjs_operator_first__["first"].call(concattedProcessedRoutes$, function (s) { return !!s; });
  56249. return __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_catch__["_catch"].call(first$, function (e, _) {
  56250. if (e instanceof __WEBPACK_IMPORTED_MODULE_8_rxjs_util_EmptyError__["EmptyError"]) {
  56251. throw new NoMatch(segmentGroup);
  56252. }
  56253. else {
  56254. throw e;
  56255. }
  56256. });
  56257. };
  56258. ApplyRedirects.prototype.expandSegmentAgainstRoute = function (injector, segmentGroup, routes, route, paths, outlet, allowRedirects) {
  56259. if (getOutlet(route) !== outlet)
  56260. return noMatch(segmentGroup);
  56261. if (route.redirectTo !== undefined && !(allowRedirects && this.allowRedirects))
  56262. return noMatch(segmentGroup);
  56263. if (route.redirectTo === undefined) {
  56264. return this.matchSegmentAgainstRoute(injector, segmentGroup, route, paths);
  56265. }
  56266. else {
  56267. return this.expandSegmentAgainstRouteUsingRedirect(injector, segmentGroup, routes, route, paths, outlet);
  56268. }
  56269. };
  56270. ApplyRedirects.prototype.expandSegmentAgainstRouteUsingRedirect = function (injector, segmentGroup, routes, route, segments, outlet) {
  56271. if (route.path === '**') {
  56272. return this.expandWildCardWithParamsAgainstRouteUsingRedirect(route);
  56273. }
  56274. else {
  56275. return this.expandRegularSegmentAgainstRouteUsingRedirect(injector, segmentGroup, routes, route, segments, outlet);
  56276. }
  56277. };
  56278. ApplyRedirects.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect = function (route) {
  56279. var newSegments = applyRedirectCommands([], route.redirectTo, {});
  56280. if (route.redirectTo.startsWith('/')) {
  56281. return absoluteRedirect(newSegments);
  56282. }
  56283. else {
  56284. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"])(new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */](newSegments, {}));
  56285. }
  56286. };
  56287. ApplyRedirects.prototype.expandRegularSegmentAgainstRouteUsingRedirect = function (injector, segmentGroup, routes, route, segments, outlet) {
  56288. var _a = match(segmentGroup, route, segments), matched = _a.matched, consumedSegments = _a.consumedSegments, lastChild = _a.lastChild, positionalParamSegments = _a.positionalParamSegments;
  56289. if (!matched)
  56290. return noMatch(segmentGroup);
  56291. var newSegments = applyRedirectCommands(consumedSegments, route.redirectTo, positionalParamSegments);
  56292. if (route.redirectTo.startsWith('/')) {
  56293. return absoluteRedirect(newSegments);
  56294. }
  56295. else {
  56296. return this.expandSegment(injector, segmentGroup, routes, newSegments.concat(segments.slice(lastChild)), outlet, false);
  56297. }
  56298. };
  56299. ApplyRedirects.prototype.matchSegmentAgainstRoute = function (injector, rawSegmentGroup, route, segments) {
  56300. var _this = this;
  56301. if (route.path === '**') {
  56302. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"])(new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */](segments, {}));
  56303. }
  56304. else {
  56305. var _a = match(rawSegmentGroup, route, segments), matched = _a.matched, consumedSegments_1 = _a.consumedSegments, lastChild = _a.lastChild;
  56306. if (!matched)
  56307. return noMatch(rawSegmentGroup);
  56308. var rawSlicedSegments_1 = segments.slice(lastChild);
  56309. var childConfig$ = this.getChildConfig(injector, route);
  56310. return __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeMap__["mergeMap"].call(childConfig$, function (routerConfig) {
  56311. var childInjector = routerConfig.injector;
  56312. var childConfig = routerConfig.routes;
  56313. var _a = split(rawSegmentGroup, consumedSegments_1, rawSlicedSegments_1, childConfig), segmentGroup = _a.segmentGroup, slicedSegments = _a.slicedSegments;
  56314. if (slicedSegments.length === 0 && segmentGroup.hasChildren()) {
  56315. var expanded$ = _this.expandChildren(childInjector, childConfig, segmentGroup);
  56316. return __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(expanded$, function (children) { return new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */](consumedSegments_1, children); });
  56317. }
  56318. else if (childConfig.length === 0 && slicedSegments.length === 0) {
  56319. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"])(new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */](consumedSegments_1, {}));
  56320. }
  56321. else {
  56322. var expanded$ = _this.expandSegment(childInjector, segmentGroup, childConfig, slicedSegments, __WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */], true);
  56323. return __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(expanded$, function (cs) { return new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */](consumedSegments_1.concat(cs.segments), cs.children); });
  56324. }
  56325. });
  56326. }
  56327. };
  56328. ApplyRedirects.prototype.getChildConfig = function (injector, route) {
  56329. var _this = this;
  56330. if (route.children) {
  56331. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"])(new __WEBPACK_IMPORTED_MODULE_9__router_config_loader__["a" /* LoadedRouterConfig */](route.children, injector, null));
  56332. }
  56333. else if (route.loadChildren) {
  56334. return __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeMap__["mergeMap"].call(runGuards(injector, route), function (shouldLoad) {
  56335. if (shouldLoad) {
  56336. if (route._loadedConfig) {
  56337. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"])(route._loadedConfig);
  56338. }
  56339. else {
  56340. return __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(_this.configLoader.load(injector, route.loadChildren), function (r) {
  56341. route._loadedConfig = r;
  56342. return r;
  56343. });
  56344. }
  56345. }
  56346. else {
  56347. return canLoadFails(route);
  56348. }
  56349. });
  56350. }
  56351. else {
  56352. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"])(new __WEBPACK_IMPORTED_MODULE_9__router_config_loader__["a" /* LoadedRouterConfig */]([], injector, null));
  56353. }
  56354. };
  56355. return ApplyRedirects;
  56356. }());
  56357. function runGuards(injector, route) {
  56358. var canLoad = route.canLoad;
  56359. if (!canLoad || canLoad.length === 0)
  56360. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"])(true);
  56361. var obs = __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_rxjs_observable_from__["from"])(canLoad), function (c) {
  56362. var guard = injector.get(c);
  56363. if (guard.canLoad) {
  56364. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__utils_collection__["b" /* wrapIntoObservable */])(guard.canLoad(route));
  56365. }
  56366. else {
  56367. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__utils_collection__["b" /* wrapIntoObservable */])(guard(route));
  56368. }
  56369. });
  56370. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__utils_collection__["f" /* andObservables */])(obs);
  56371. }
  56372. function match(segmentGroup, route, segments) {
  56373. var noMatch = { matched: false, consumedSegments: [], lastChild: 0, positionalParamSegments: {} };
  56374. if (route.path === '') {
  56375. if ((route.pathMatch === 'full') && (segmentGroup.hasChildren() || segments.length > 0)) {
  56376. return { matched: false, consumedSegments: [], lastChild: 0, positionalParamSegments: {} };
  56377. }
  56378. else {
  56379. return { matched: true, consumedSegments: [], lastChild: 0, positionalParamSegments: {} };
  56380. }
  56381. }
  56382. var path = route.path;
  56383. var parts = path.split('/');
  56384. var positionalParamSegments = {};
  56385. var consumedSegments = [];
  56386. var currentIndex = 0;
  56387. for (var i = 0; i < parts.length; ++i) {
  56388. if (currentIndex >= segments.length)
  56389. return noMatch;
  56390. var current = segments[currentIndex];
  56391. var p = parts[i];
  56392. var isPosParam = p.startsWith(':');
  56393. if (!isPosParam && p !== current.path)
  56394. return noMatch;
  56395. if (isPosParam) {
  56396. positionalParamSegments[p.substring(1)] = current;
  56397. }
  56398. consumedSegments.push(current);
  56399. currentIndex++;
  56400. }
  56401. if (route.pathMatch === 'full' &&
  56402. (segmentGroup.hasChildren() || currentIndex < segments.length)) {
  56403. return { matched: false, consumedSegments: [], lastChild: 0, positionalParamSegments: {} };
  56404. }
  56405. return { matched: true, consumedSegments: consumedSegments, lastChild: currentIndex, positionalParamSegments: positionalParamSegments };
  56406. }
  56407. function applyRedirectCommands(segments, redirectTo, posParams) {
  56408. var r = redirectTo.startsWith('/') ? redirectTo.substring(1) : redirectTo;
  56409. if (r === '') {
  56410. return [];
  56411. }
  56412. else {
  56413. return createSegments(redirectTo, r.split('/'), segments, posParams);
  56414. }
  56415. }
  56416. function createSegments(redirectTo, parts, segments, posParams) {
  56417. return parts.map(function (p) { return p.startsWith(':') ? findPosParam(p, posParams, redirectTo) :
  56418. findOrCreateSegment(p, segments); });
  56419. }
  56420. function findPosParam(part, posParams, redirectTo) {
  56421. var paramName = part.substring(1);
  56422. var pos = posParams[paramName];
  56423. if (!pos)
  56424. throw new Error("Cannot redirect to '" + redirectTo + "'. Cannot find '" + part + "'.");
  56425. return pos;
  56426. }
  56427. function findOrCreateSegment(part, segments) {
  56428. var idx = 0;
  56429. for (var _i = 0, segments_1 = segments; _i < segments_1.length; _i++) {
  56430. var s = segments_1[_i];
  56431. if (s.path === part) {
  56432. segments.splice(idx);
  56433. return s;
  56434. }
  56435. idx++;
  56436. }
  56437. return new __WEBPACK_IMPORTED_MODULE_11__url_tree__["c" /* UrlSegment */](part, {});
  56438. }
  56439. function split(segmentGroup, consumedSegments, slicedSegments, config) {
  56440. if (slicedSegments.length > 0 &&
  56441. containsEmptyPathRedirectsWithNamedOutlets(segmentGroup, slicedSegments, config)) {
  56442. var s = new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */](consumedSegments, createChildrenForEmptySegments(config, new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */](slicedSegments, segmentGroup.children)));
  56443. return { segmentGroup: mergeTrivialChildren(s), slicedSegments: [] };
  56444. }
  56445. else if (slicedSegments.length === 0 &&
  56446. containsEmptyPathRedirects(segmentGroup, slicedSegments, config)) {
  56447. var s = new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */](segmentGroup.segments, addEmptySegmentsToChildrenIfNeeded(segmentGroup, slicedSegments, config, segmentGroup.children));
  56448. return { segmentGroup: mergeTrivialChildren(s), slicedSegments: slicedSegments };
  56449. }
  56450. else {
  56451. return { segmentGroup: segmentGroup, slicedSegments: slicedSegments };
  56452. }
  56453. }
  56454. function mergeTrivialChildren(s) {
  56455. if (s.numberOfChildren === 1 && s.children[__WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]]) {
  56456. var c = s.children[__WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]];
  56457. return new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */](s.segments.concat(c.segments), c.children);
  56458. }
  56459. else {
  56460. return s;
  56461. }
  56462. }
  56463. function addEmptySegmentsToChildrenIfNeeded(segmentGroup, slicedSegments, routes, children) {
  56464. var res = {};
  56465. for (var _i = 0, routes_1 = routes; _i < routes_1.length; _i++) {
  56466. var r = routes_1[_i];
  56467. if (emptyPathRedirect(segmentGroup, slicedSegments, r) && !children[getOutlet(r)]) {
  56468. res[getOutlet(r)] = new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */]([], {});
  56469. }
  56470. }
  56471. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__utils_collection__["g" /* merge */])(children, res);
  56472. }
  56473. function createChildrenForEmptySegments(routes, primarySegmentGroup) {
  56474. var res = {};
  56475. res[__WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]] = primarySegmentGroup;
  56476. for (var _i = 0, routes_2 = routes; _i < routes_2.length; _i++) {
  56477. var r = routes_2[_i];
  56478. if (r.path === '' && getOutlet(r) !== __WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]) {
  56479. res[getOutlet(r)] = new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */]([], {});
  56480. }
  56481. }
  56482. return res;
  56483. }
  56484. function containsEmptyPathRedirectsWithNamedOutlets(segmentGroup, slicedSegments, routes) {
  56485. return routes
  56486. .filter(function (r) { return emptyPathRedirect(segmentGroup, slicedSegments, r) &&
  56487. getOutlet(r) !== __WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]; })
  56488. .length > 0;
  56489. }
  56490. function containsEmptyPathRedirects(segmentGroup, slicedSegments, routes) {
  56491. return routes.filter(function (r) { return emptyPathRedirect(segmentGroup, slicedSegments, r); }).length > 0;
  56492. }
  56493. function emptyPathRedirect(segmentGroup, slicedSegments, r) {
  56494. if ((segmentGroup.hasChildren() || slicedSegments.length > 0) && r.pathMatch === 'full')
  56495. return false;
  56496. return r.path === '' && r.redirectTo !== undefined;
  56497. }
  56498. function getOutlet(route) {
  56499. return route.outlet ? route.outlet : __WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */];
  56500. }
  56501. //# sourceMappingURL=apply_redirects.js.map
  56502. /***/ },
  56503. /* 526 */
  56504. /***/ function(module, exports, __webpack_require__) {
  56505. "use strict";
  56506. /* harmony export (immutable) */ exports["a"] = validateConfig;
  56507. /**
  56508. * @license
  56509. * Copyright Google Inc. All Rights Reserved.
  56510. *
  56511. * Use of this source code is governed by an MIT-style license that can be
  56512. * found in the LICENSE file at https://angular.io/license
  56513. */
  56514. function validateConfig(config) {
  56515. config.forEach(validateNode);
  56516. }
  56517. function validateNode(route) {
  56518. if (Array.isArray(route)) {
  56519. throw new Error("Invalid route configuration: Array cannot be specified");
  56520. }
  56521. if (!!route.redirectTo && !!route.children) {
  56522. throw new Error("Invalid configuration of route '" + route.path + "': redirectTo and children cannot be used together");
  56523. }
  56524. if (!!route.redirectTo && !!route.loadChildren) {
  56525. throw new Error("Invalid configuration of route '" + route.path + "': redirectTo and loadChildren cannot be used together");
  56526. }
  56527. if (!!route.children && !!route.loadChildren) {
  56528. throw new Error("Invalid configuration of route '" + route.path + "': children and loadChildren cannot be used together");
  56529. }
  56530. if (!!route.redirectTo && !!route.component) {
  56531. throw new Error("Invalid configuration of route '" + route.path + "': redirectTo and component cannot be used together");
  56532. }
  56533. if (route.redirectTo === undefined && !route.component && !route.children &&
  56534. !route.loadChildren) {
  56535. throw new Error("Invalid configuration of route '" + route.path + "': one of the following must be provided (component or redirectTo or children or loadChildren)");
  56536. }
  56537. if (route.path === undefined) {
  56538. throw new Error("Invalid route configuration: routes must have path specified");
  56539. }
  56540. if (route.path.startsWith('/')) {
  56541. throw new Error("Invalid route configuration of route '" + route.path + "': path cannot start with a slash");
  56542. }
  56543. if (route.path === '' && route.redirectTo !== undefined && route.pathMatch === undefined) {
  56544. var exp = "The default value of 'pathMatch' is 'prefix', but often the intent is to use 'full'.";
  56545. throw new Error("Invalid route configuration of route '{path: \"" + route.path + "\", redirectTo: \"" + route.redirectTo + "\"}': please provide 'pathMatch'. " + exp);
  56546. }
  56547. if (route.pathMatch !== undefined && route.pathMatch !== 'full' && route.pathMatch !== 'prefix') {
  56548. throw new Error("Invalid configuration of route '" + route.path + "': pathMatch can only be set to 'prefix' or 'full'");
  56549. }
  56550. }
  56551. //# sourceMappingURL=config.js.map
  56552. /***/ },
  56553. /* 527 */
  56554. /***/ function(module, exports, __webpack_require__) {
  56555. "use strict";
  56556. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject__ = __webpack_require__(169);
  56557. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject__);
  56558. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__router_state__ = __webpack_require__(93);
  56559. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_tree__ = __webpack_require__(233);
  56560. /* harmony export (immutable) */ exports["a"] = createRouterState;
  56561. /**
  56562. * @license
  56563. * Copyright Google Inc. All Rights Reserved.
  56564. *
  56565. * Use of this source code is governed by an MIT-style license that can be
  56566. * found in the LICENSE file at https://angular.io/license
  56567. */
  56568. function createRouterState(curr, prevState) {
  56569. var root = createNode(curr._root, prevState ? prevState._root : undefined);
  56570. return new __WEBPACK_IMPORTED_MODULE_1__router_state__["a" /* RouterState */](root, curr);
  56571. }
  56572. function createNode(curr, prevState) {
  56573. if (prevState && equalRouteSnapshots(prevState.value.snapshot, curr.value)) {
  56574. var value = prevState.value;
  56575. value._futureSnapshot = curr.value;
  56576. var children = createOrReuseChildren(curr, prevState);
  56577. return new __WEBPACK_IMPORTED_MODULE_2__utils_tree__["b" /* TreeNode */](value, children);
  56578. }
  56579. else {
  56580. var value = createActivatedRoute(curr.value);
  56581. var children = curr.children.map(function (c) { return createNode(c); });
  56582. return new __WEBPACK_IMPORTED_MODULE_2__utils_tree__["b" /* TreeNode */](value, children);
  56583. }
  56584. }
  56585. function createOrReuseChildren(curr, prevState) {
  56586. return curr.children.map(function (child) {
  56587. for (var _i = 0, _a = prevState.children; _i < _a.length; _i++) {
  56588. var p = _a[_i];
  56589. if (equalRouteSnapshots(p.value.snapshot, child.value)) {
  56590. return createNode(child, p);
  56591. }
  56592. }
  56593. return createNode(child);
  56594. });
  56595. }
  56596. function createActivatedRoute(c) {
  56597. return new __WEBPACK_IMPORTED_MODULE_1__router_state__["b" /* ActivatedRoute */](new __WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject__["BehaviorSubject"](c.url), new __WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject__["BehaviorSubject"](c.params), new __WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject__["BehaviorSubject"](c.queryParams), new __WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject__["BehaviorSubject"](c.fragment), new __WEBPACK_IMPORTED_MODULE_0_rxjs_BehaviorSubject__["BehaviorSubject"](c.data), c.outlet, c.component, c);
  56598. }
  56599. function equalRouteSnapshots(a, b) {
  56600. return a._routeConfig === b._routeConfig;
  56601. }
  56602. //# sourceMappingURL=create_router_state.js.map
  56603. /***/ },
  56604. /* 528 */
  56605. /***/ function(module, exports, __webpack_require__) {
  56606. "use strict";
  56607. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__shared__ = __webpack_require__(54);
  56608. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__url_tree__ = __webpack_require__(77);
  56609. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_collection__ = __webpack_require__(55);
  56610. /* harmony export (immutable) */ exports["a"] = createUrlTree;
  56611. /**
  56612. * @license
  56613. * Copyright Google Inc. All Rights Reserved.
  56614. *
  56615. * Use of this source code is governed by an MIT-style license that can be
  56616. * found in the LICENSE file at https://angular.io/license
  56617. */
  56618. function createUrlTree(route, urlTree, commands, queryParams, fragment) {
  56619. if (commands.length === 0) {
  56620. return tree(urlTree.root, urlTree.root, urlTree, queryParams, fragment);
  56621. }
  56622. var normalizedCommands = normalizeCommands(commands);
  56623. validateCommands(normalizedCommands);
  56624. if (navigateToRoot(normalizedCommands)) {
  56625. return tree(urlTree.root, new __WEBPACK_IMPORTED_MODULE_1__url_tree__["a" /* UrlSegmentGroup */]([], {}), urlTree, queryParams, fragment);
  56626. }
  56627. var startingPosition = findStartingPosition(normalizedCommands, urlTree, route);
  56628. var segmentGroup = startingPosition.processChildren ?
  56629. updateSegmentGroupChildren(startingPosition.segmentGroup, startingPosition.index, normalizedCommands.commands) :
  56630. updateSegmentGroup(startingPosition.segmentGroup, startingPosition.index, normalizedCommands.commands);
  56631. return tree(startingPosition.segmentGroup, segmentGroup, urlTree, queryParams, fragment);
  56632. }
  56633. function validateCommands(n) {
  56634. if (n.isAbsolute && n.commands.length > 0 && isMatrixParams(n.commands[0])) {
  56635. throw new Error('Root segment cannot have matrix parameters');
  56636. }
  56637. var c = n.commands.filter(function (c) { return typeof c === 'object' && c.outlets !== undefined; });
  56638. if (c.length > 0 && c[0] !== n.commands[n.commands.length - 1]) {
  56639. throw new Error('{outlets:{}} has to be the last command');
  56640. }
  56641. }
  56642. function isMatrixParams(command) {
  56643. return typeof command === 'object' && command.outlets === undefined &&
  56644. command.segmentPath === undefined;
  56645. }
  56646. function tree(oldSegmentGroup, newSegmentGroup, urlTree, queryParams, fragment) {
  56647. if (urlTree.root === oldSegmentGroup) {
  56648. return new __WEBPACK_IMPORTED_MODULE_1__url_tree__["b" /* UrlTree */](newSegmentGroup, stringify(queryParams), fragment);
  56649. }
  56650. else {
  56651. return new __WEBPACK_IMPORTED_MODULE_1__url_tree__["b" /* UrlTree */](replaceSegment(urlTree.root, oldSegmentGroup, newSegmentGroup), stringify(queryParams), fragment);
  56652. }
  56653. }
  56654. function replaceSegment(current, oldSegment, newSegment) {
  56655. var children = {};
  56656. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__utils_collection__["c" /* forEach */])(current.children, function (c, outletName) {
  56657. if (c === oldSegment) {
  56658. children[outletName] = newSegment;
  56659. }
  56660. else {
  56661. children[outletName] = replaceSegment(c, oldSegment, newSegment);
  56662. }
  56663. });
  56664. return new __WEBPACK_IMPORTED_MODULE_1__url_tree__["a" /* UrlSegmentGroup */](current.segments, children);
  56665. }
  56666. function navigateToRoot(normalizedChange) {
  56667. return normalizedChange.isAbsolute && normalizedChange.commands.length === 1 &&
  56668. normalizedChange.commands[0] == '/';
  56669. }
  56670. var NormalizedNavigationCommands = (function () {
  56671. function NormalizedNavigationCommands(isAbsolute, numberOfDoubleDots, commands) {
  56672. this.isAbsolute = isAbsolute;
  56673. this.numberOfDoubleDots = numberOfDoubleDots;
  56674. this.commands = commands;
  56675. }
  56676. return NormalizedNavigationCommands;
  56677. }());
  56678. function normalizeCommands(commands) {
  56679. if ((typeof commands[0] === 'string') && commands.length === 1 && commands[0] == '/') {
  56680. return new NormalizedNavigationCommands(true, 0, commands);
  56681. }
  56682. var numberOfDoubleDots = 0;
  56683. var isAbsolute = false;
  56684. var res = [];
  56685. var _loop_1 = function(i) {
  56686. var c = commands[i];
  56687. if (typeof c === 'object' && c.outlets !== undefined) {
  56688. var r_1 = {};
  56689. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__utils_collection__["c" /* forEach */])(c.outlets, function (commands, name) {
  56690. if (typeof commands === 'string') {
  56691. r_1[name] = commands.split('/');
  56692. }
  56693. else {
  56694. r_1[name] = commands;
  56695. }
  56696. });
  56697. res.push({ outlets: r_1 });
  56698. return "continue";
  56699. }
  56700. if (typeof c === 'object' && c.segmentPath !== undefined) {
  56701. res.push(c.segmentPath);
  56702. return "continue";
  56703. }
  56704. if (!(typeof c === 'string')) {
  56705. res.push(c);
  56706. return "continue";
  56707. }
  56708. if (i === 0) {
  56709. var parts = c.split('/');
  56710. for (var j = 0; j < parts.length; ++j) {
  56711. var cc = parts[j];
  56712. if (j == 0 && cc == '.') {
  56713. }
  56714. else if (j == 0 && cc == '') {
  56715. isAbsolute = true;
  56716. }
  56717. else if (cc == '..') {
  56718. numberOfDoubleDots++;
  56719. }
  56720. else if (cc != '') {
  56721. res.push(cc);
  56722. }
  56723. }
  56724. }
  56725. else {
  56726. res.push(c);
  56727. }
  56728. };
  56729. for (var i = 0; i < commands.length; ++i) {
  56730. _loop_1(i);
  56731. }
  56732. return new NormalizedNavigationCommands(isAbsolute, numberOfDoubleDots, res);
  56733. }
  56734. var Position = (function () {
  56735. function Position(segmentGroup, processChildren, index) {
  56736. this.segmentGroup = segmentGroup;
  56737. this.processChildren = processChildren;
  56738. this.index = index;
  56739. }
  56740. return Position;
  56741. }());
  56742. function findStartingPosition(normalizedChange, urlTree, route) {
  56743. if (normalizedChange.isAbsolute) {
  56744. return new Position(urlTree.root, true, 0);
  56745. }
  56746. else if (route.snapshot._lastPathIndex === -1) {
  56747. return new Position(route.snapshot._urlSegment, true, 0);
  56748. }
  56749. else {
  56750. var modifier = isMatrixParams(normalizedChange.commands[0]) ? 0 : 1;
  56751. var index = route.snapshot._lastPathIndex + modifier;
  56752. return createPositionApplyingDoubleDots(route.snapshot._urlSegment, index, normalizedChange.numberOfDoubleDots);
  56753. }
  56754. }
  56755. function createPositionApplyingDoubleDots(group, index, numberOfDoubleDots) {
  56756. var g = group;
  56757. var ci = index;
  56758. var dd = numberOfDoubleDots;
  56759. while (dd > ci) {
  56760. dd -= ci;
  56761. g = g.parent;
  56762. if (!g) {
  56763. throw new Error('Invalid number of \'../\'');
  56764. }
  56765. ci = g.segments.length;
  56766. }
  56767. return new Position(g, false, ci - dd);
  56768. }
  56769. function getPath(command) {
  56770. return "" + command;
  56771. }
  56772. function getOutlets(commands) {
  56773. if (!(typeof commands[0] === 'object'))
  56774. return (_a = {}, _a[__WEBPACK_IMPORTED_MODULE_0__shared__["a" /* PRIMARY_OUTLET */]] = commands, _a);
  56775. if (commands[0].outlets === undefined)
  56776. return (_b = {}, _b[__WEBPACK_IMPORTED_MODULE_0__shared__["a" /* PRIMARY_OUTLET */]] = commands, _b);
  56777. return commands[0].outlets;
  56778. var _a, _b;
  56779. }
  56780. function updateSegmentGroup(segmentGroup, startIndex, commands) {
  56781. if (!segmentGroup) {
  56782. segmentGroup = new __WEBPACK_IMPORTED_MODULE_1__url_tree__["a" /* UrlSegmentGroup */]([], {});
  56783. }
  56784. if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {
  56785. return updateSegmentGroupChildren(segmentGroup, startIndex, commands);
  56786. }
  56787. var m = prefixedWith(segmentGroup, startIndex, commands);
  56788. var slicedCommands = commands.slice(m.lastIndex);
  56789. if (m.match && slicedCommands.length === 0) {
  56790. return new __WEBPACK_IMPORTED_MODULE_1__url_tree__["a" /* UrlSegmentGroup */](segmentGroup.segments, {});
  56791. }
  56792. else if (m.match && !segmentGroup.hasChildren()) {
  56793. return createNewSegmentGroup(segmentGroup, startIndex, commands);
  56794. }
  56795. else if (m.match) {
  56796. return updateSegmentGroupChildren(segmentGroup, 0, slicedCommands);
  56797. }
  56798. else {
  56799. return createNewSegmentGroup(segmentGroup, startIndex, commands);
  56800. }
  56801. }
  56802. function updateSegmentGroupChildren(segmentGroup, startIndex, commands) {
  56803. if (commands.length === 0) {
  56804. return new __WEBPACK_IMPORTED_MODULE_1__url_tree__["a" /* UrlSegmentGroup */](segmentGroup.segments, {});
  56805. }
  56806. else {
  56807. var outlets_1 = getOutlets(commands);
  56808. var children_1 = {};
  56809. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__utils_collection__["c" /* forEach */])(outlets_1, function (commands, outlet) {
  56810. if (commands !== null) {
  56811. children_1[outlet] = updateSegmentGroup(segmentGroup.children[outlet], startIndex, commands);
  56812. }
  56813. });
  56814. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__utils_collection__["c" /* forEach */])(segmentGroup.children, function (child, childOutlet) {
  56815. if (outlets_1[childOutlet] === undefined) {
  56816. children_1[childOutlet] = child;
  56817. }
  56818. });
  56819. return new __WEBPACK_IMPORTED_MODULE_1__url_tree__["a" /* UrlSegmentGroup */](segmentGroup.segments, children_1);
  56820. }
  56821. }
  56822. function prefixedWith(segmentGroup, startIndex, commands) {
  56823. var currentCommandIndex = 0;
  56824. var currentPathIndex = startIndex;
  56825. var noMatch = { match: false, lastIndex: 0 };
  56826. while (currentPathIndex < segmentGroup.segments.length) {
  56827. if (currentCommandIndex >= commands.length)
  56828. return noMatch;
  56829. var path = segmentGroup.segments[currentPathIndex];
  56830. var curr = getPath(commands[currentCommandIndex]);
  56831. var next = currentCommandIndex < commands.length - 1 ? commands[currentCommandIndex + 1] : null;
  56832. if (curr && next && (typeof next === 'object') && next.outlets === undefined) {
  56833. if (!compare(curr, next, path))
  56834. return noMatch;
  56835. currentCommandIndex += 2;
  56836. }
  56837. else {
  56838. if (!compare(curr, {}, path))
  56839. return noMatch;
  56840. currentCommandIndex++;
  56841. }
  56842. currentPathIndex++;
  56843. }
  56844. return { match: true, lastIndex: currentCommandIndex };
  56845. }
  56846. function createNewSegmentGroup(segmentGroup, startIndex, commands) {
  56847. var paths = segmentGroup.segments.slice(0, startIndex);
  56848. var i = 0;
  56849. while (i < commands.length) {
  56850. if (typeof commands[i] === 'object' && commands[i].outlets !== undefined) {
  56851. var children = createNewSegmentChldren(commands[i].outlets);
  56852. return new __WEBPACK_IMPORTED_MODULE_1__url_tree__["a" /* UrlSegmentGroup */](paths, children);
  56853. }
  56854. // if we start with an object literal, we need to reuse the path part from the segment
  56855. if (i === 0 && isMatrixParams(commands[0])) {
  56856. var p = segmentGroup.segments[startIndex];
  56857. paths.push(new __WEBPACK_IMPORTED_MODULE_1__url_tree__["c" /* UrlSegment */](p.path, commands[0]));
  56858. i++;
  56859. continue;
  56860. }
  56861. var curr = getPath(commands[i]);
  56862. var next = (i < commands.length - 1) ? commands[i + 1] : null;
  56863. if (curr && next && isMatrixParams(next)) {
  56864. paths.push(new __WEBPACK_IMPORTED_MODULE_1__url_tree__["c" /* UrlSegment */](curr, stringify(next)));
  56865. i += 2;
  56866. }
  56867. else {
  56868. paths.push(new __WEBPACK_IMPORTED_MODULE_1__url_tree__["c" /* UrlSegment */](curr, {}));
  56869. i++;
  56870. }
  56871. }
  56872. return new __WEBPACK_IMPORTED_MODULE_1__url_tree__["a" /* UrlSegmentGroup */](paths, {});
  56873. }
  56874. function createNewSegmentChldren(outlets) {
  56875. var children = {};
  56876. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__utils_collection__["c" /* forEach */])(outlets, function (commands, outlet) {
  56877. if (commands !== null) {
  56878. children[outlet] = createNewSegmentGroup(new __WEBPACK_IMPORTED_MODULE_1__url_tree__["a" /* UrlSegmentGroup */]([], {}), 0, commands);
  56879. }
  56880. });
  56881. return children;
  56882. }
  56883. function stringify(params) {
  56884. var res = {};
  56885. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__utils_collection__["c" /* forEach */])(params, function (v, k) { return res[k] = "" + v; });
  56886. return res;
  56887. }
  56888. function compare(path, params, segment) {
  56889. return path == segment.path && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__utils_collection__["d" /* shallowEqual */])(params, segment.parameters);
  56890. }
  56891. //# sourceMappingURL=create_url_tree.js.map
  56892. /***/ },
  56893. /* 529 */
  56894. /***/ function(module, exports, __webpack_require__) {
  56895. "use strict";
  56896. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__directives_router_link__ = __webpack_require__(232);
  56897. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__directives_router_link_active__ = __webpack_require__(351);
  56898. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__directives_router_outlet__ = __webpack_require__(352);
  56899. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__router__ = __webpack_require__(156);
  56900. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__router_module__ = __webpack_require__(353);
  56901. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__router_outlet_map__ = __webpack_require__(158);
  56902. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__router_state__ = __webpack_require__(93);
  56903. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__shared__ = __webpack_require__(54);
  56904. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__url_tree__ = __webpack_require__(77);
  56905. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__private_export__ = __webpack_require__(530);
  56906. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__directives_router_link__["a"]; });
  56907. /* harmony reexport (binding) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_0__directives_router_link__["b"]; });
  56908. /* harmony reexport (binding) */ __webpack_require__.d(exports, "c", function() { return __WEBPACK_IMPORTED_MODULE_1__directives_router_link_active__["a"]; });
  56909. /* harmony reexport (binding) */ __webpack_require__.d(exports, "d", function() { return __WEBPACK_IMPORTED_MODULE_2__directives_router_outlet__["a"]; });
  56910. /* harmony reexport (binding) */ __webpack_require__.d(exports, "e", function() { return __WEBPACK_IMPORTED_MODULE_3__router__["c"]; });
  56911. /* harmony reexport (binding) */ __webpack_require__.d(exports, "f", function() { return __WEBPACK_IMPORTED_MODULE_3__router__["d"]; });
  56912. /* harmony reexport (binding) */ __webpack_require__.d(exports, "g", function() { return __WEBPACK_IMPORTED_MODULE_3__router__["e"]; });
  56913. /* harmony reexport (binding) */ __webpack_require__.d(exports, "h", function() { return __WEBPACK_IMPORTED_MODULE_3__router__["a"]; });
  56914. /* harmony reexport (binding) */ __webpack_require__.d(exports, "i", function() { return __WEBPACK_IMPORTED_MODULE_3__router__["f"]; });
  56915. /* harmony reexport (binding) */ __webpack_require__.d(exports, "j", function() { return __WEBPACK_IMPORTED_MODULE_3__router__["b"]; });
  56916. /* harmony reexport (binding) */ __webpack_require__.d(exports, "k", function() { return __WEBPACK_IMPORTED_MODULE_4__router_module__["b"]; });
  56917. /* harmony reexport (binding) */ __webpack_require__.d(exports, "l", function() { return __WEBPACK_IMPORTED_MODULE_4__router_module__["c"]; });
  56918. /* harmony reexport (binding) */ __webpack_require__.d(exports, "m", function() { return __WEBPACK_IMPORTED_MODULE_5__router_outlet_map__["a"]; });
  56919. /* harmony reexport (binding) */ __webpack_require__.d(exports, "n", function() { return __WEBPACK_IMPORTED_MODULE_6__router_state__["b"]; });
  56920. /* harmony reexport (binding) */ __webpack_require__.d(exports, "o", function() { return __WEBPACK_IMPORTED_MODULE_6__router_state__["d"]; });
  56921. /* harmony reexport (binding) */ __webpack_require__.d(exports, "p", function() { return __WEBPACK_IMPORTED_MODULE_6__router_state__["a"]; });
  56922. /* harmony reexport (binding) */ __webpack_require__.d(exports, "q", function() { return __WEBPACK_IMPORTED_MODULE_6__router_state__["e"]; });
  56923. /* harmony reexport (binding) */ __webpack_require__.d(exports, "r", function() { return __WEBPACK_IMPORTED_MODULE_7__shared__["a"]; });
  56924. /* harmony reexport (binding) */ __webpack_require__.d(exports, "s", function() { return __WEBPACK_IMPORTED_MODULE_8__url_tree__["h"]; });
  56925. /* harmony reexport (binding) */ __webpack_require__.d(exports, "t", function() { return __WEBPACK_IMPORTED_MODULE_8__url_tree__["c"]; });
  56926. /* harmony reexport (binding) */ __webpack_require__.d(exports, "u", function() { return __WEBPACK_IMPORTED_MODULE_8__url_tree__["g"]; });
  56927. /* harmony reexport (binding) */ __webpack_require__.d(exports, "v", function() { return __WEBPACK_IMPORTED_MODULE_8__url_tree__["b"]; });
  56928. /* harmony namespace reexport (by used) */ __webpack_require__.d(exports, "w", function() { return __WEBPACK_IMPORTED_MODULE_9__private_export__["a"]; });
  56929. /**
  56930. * @license
  56931. * Copyright Google Inc. All Rights Reserved.
  56932. *
  56933. * Use of this source code is governed by an MIT-style license that can be
  56934. * found in the LICENSE file at https://angular.io/license
  56935. */
  56936. //# sourceMappingURL=index.js.map
  56937. /***/ },
  56938. /* 530 */
  56939. /***/ function(module, exports, __webpack_require__) {
  56940. "use strict";
  56941. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__router_config_loader__ = __webpack_require__(157);
  56942. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__router_module__ = __webpack_require__(353);
  56943. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_collection__ = __webpack_require__(55);
  56944. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return __router_private__; });
  56945. /**
  56946. * @license
  56947. * Copyright Google Inc. All Rights Reserved.
  56948. *
  56949. * Use of this source code is governed by an MIT-style license that can be
  56950. * found in the LICENSE file at https://angular.io/license
  56951. */
  56952. var __router_private__ = {
  56953. ROUTER_PROVIDERS: __WEBPACK_IMPORTED_MODULE_1__router_module__["a" /* ROUTER_PROVIDERS */],
  56954. ROUTES: __WEBPACK_IMPORTED_MODULE_0__router_config_loader__["c" /* ROUTES */],
  56955. flatten: __WEBPACK_IMPORTED_MODULE_2__utils_collection__["a" /* flatten */]
  56956. };
  56957. //# sourceMappingURL=private_export.js.map
  56958. /***/ },
  56959. /* 531 */
  56960. /***/ function(module, exports, __webpack_require__) {
  56961. "use strict";
  56962. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__ = __webpack_require__(0);
  56963. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__);
  56964. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_observable_of__ = __webpack_require__(100);
  56965. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_observable_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_rxjs_observable_of__);
  56966. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__router_state__ = __webpack_require__(93);
  56967. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__shared__ = __webpack_require__(54);
  56968. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__url_tree__ = __webpack_require__(77);
  56969. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_collection__ = __webpack_require__(55);
  56970. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_tree__ = __webpack_require__(233);
  56971. /* harmony export (immutable) */ exports["a"] = recognize;
  56972. /**
  56973. * @license
  56974. * Copyright Google Inc. All Rights Reserved.
  56975. *
  56976. * Use of this source code is governed by an MIT-style license that can be
  56977. * found in the LICENSE file at https://angular.io/license
  56978. */
  56979. var NoMatch = (function () {
  56980. function NoMatch() {
  56981. }
  56982. return NoMatch;
  56983. }());
  56984. var InheritedFromParent = (function () {
  56985. function InheritedFromParent(parent, snapshot, params, data, resolve) {
  56986. this.parent = parent;
  56987. this.snapshot = snapshot;
  56988. this.params = params;
  56989. this.data = data;
  56990. this.resolve = resolve;
  56991. }
  56992. Object.defineProperty(InheritedFromParent.prototype, "allParams", {
  56993. get: function () {
  56994. return this.parent ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__utils_collection__["g" /* merge */])(this.parent.allParams, this.params) : this.params;
  56995. },
  56996. enumerable: true,
  56997. configurable: true
  56998. });
  56999. Object.defineProperty(InheritedFromParent.prototype, "allData", {
  57000. get: function () { return this.parent ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__utils_collection__["g" /* merge */])(this.parent.allData, this.data) : this.data; },
  57001. enumerable: true,
  57002. configurable: true
  57003. });
  57004. InheritedFromParent.empty = function (snapshot) {
  57005. return new InheritedFromParent(null, snapshot, {}, {}, new __WEBPACK_IMPORTED_MODULE_2__router_state__["c" /* InheritedResolve */](null, {}));
  57006. };
  57007. return InheritedFromParent;
  57008. }());
  57009. function recognize(rootComponentType, config, urlTree, url) {
  57010. return new Recognizer(rootComponentType, config, urlTree, url).recognize();
  57011. }
  57012. var Recognizer = (function () {
  57013. function Recognizer(rootComponentType, config, urlTree, url) {
  57014. this.rootComponentType = rootComponentType;
  57015. this.config = config;
  57016. this.urlTree = urlTree;
  57017. this.url = url;
  57018. }
  57019. Recognizer.prototype.recognize = function () {
  57020. try {
  57021. var rootSegmentGroup = split(this.urlTree.root, [], [], this.config).segmentGroup;
  57022. var children = this.processSegmentGroup(this.config, rootSegmentGroup, InheritedFromParent.empty(null), __WEBPACK_IMPORTED_MODULE_3__shared__["a" /* PRIMARY_OUTLET */]);
  57023. var root = new __WEBPACK_IMPORTED_MODULE_2__router_state__["d" /* ActivatedRouteSnapshot */]([], Object.freeze({}), Object.freeze(this.urlTree.queryParams), this.urlTree.fragment, {}, __WEBPACK_IMPORTED_MODULE_3__shared__["a" /* PRIMARY_OUTLET */], this.rootComponentType, null, this.urlTree.root, -1, __WEBPACK_IMPORTED_MODULE_2__router_state__["c" /* InheritedResolve */].empty);
  57024. var rootNode = new __WEBPACK_IMPORTED_MODULE_6__utils_tree__["b" /* TreeNode */](root, children);
  57025. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_rxjs_observable_of__["of"])(new __WEBPACK_IMPORTED_MODULE_2__router_state__["e" /* RouterStateSnapshot */](this.url, rootNode));
  57026. }
  57027. catch (e) {
  57028. return new __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__["Observable"](function (obs) { return obs.error(e); });
  57029. }
  57030. };
  57031. Recognizer.prototype.processSegmentGroup = function (config, segmentGroup, inherited, outlet) {
  57032. if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {
  57033. return this.processChildren(config, segmentGroup, inherited);
  57034. }
  57035. else {
  57036. return this.processSegment(config, segmentGroup, 0, segmentGroup.segments, inherited, outlet);
  57037. }
  57038. };
  57039. Recognizer.prototype.processChildren = function (config, segmentGroup, inherited) {
  57040. var _this = this;
  57041. var children = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__url_tree__["d" /* mapChildrenIntoArray */])(segmentGroup, function (child, childOutlet) { return _this.processSegmentGroup(config, child, inherited, childOutlet); });
  57042. checkOutletNameUniqueness(children);
  57043. sortActivatedRouteSnapshots(children);
  57044. return children;
  57045. };
  57046. Recognizer.prototype.processSegment = function (config, segmentGroup, pathIndex, segments, inherited, outlet) {
  57047. for (var _i = 0, config_1 = config; _i < config_1.length; _i++) {
  57048. var r = config_1[_i];
  57049. try {
  57050. return this.processSegmentAgainstRoute(r, segmentGroup, pathIndex, segments, inherited, outlet);
  57051. }
  57052. catch (e) {
  57053. if (!(e instanceof NoMatch))
  57054. throw e;
  57055. }
  57056. }
  57057. throw new NoMatch();
  57058. };
  57059. Recognizer.prototype.processSegmentAgainstRoute = function (route, rawSegment, pathIndex, segments, inherited, outlet) {
  57060. if (route.redirectTo)
  57061. throw new NoMatch();
  57062. if ((route.outlet ? route.outlet : __WEBPACK_IMPORTED_MODULE_3__shared__["a" /* PRIMARY_OUTLET */]) !== outlet)
  57063. throw new NoMatch();
  57064. var newInheritedResolve = new __WEBPACK_IMPORTED_MODULE_2__router_state__["c" /* InheritedResolve */](inherited.resolve, getResolve(route));
  57065. if (route.path === '**') {
  57066. var params = segments.length > 0 ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__utils_collection__["i" /* last */])(segments).parameters : {};
  57067. var snapshot_1 = new __WEBPACK_IMPORTED_MODULE_2__router_state__["d" /* ActivatedRouteSnapshot */](segments, Object.freeze(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__utils_collection__["g" /* merge */])(inherited.allParams, params)), Object.freeze(this.urlTree.queryParams), this.urlTree.fragment, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__utils_collection__["g" /* merge */])(inherited.allData, getData(route)), outlet, route.component, route, getSourceSegmentGroup(rawSegment), getPathIndexShift(rawSegment) + segments.length, newInheritedResolve);
  57068. return [new __WEBPACK_IMPORTED_MODULE_6__utils_tree__["b" /* TreeNode */](snapshot_1, [])];
  57069. }
  57070. var _a = match(rawSegment, route, segments, inherited.snapshot), consumedSegments = _a.consumedSegments, parameters = _a.parameters, lastChild = _a.lastChild;
  57071. var rawSlicedSegments = segments.slice(lastChild);
  57072. var childConfig = getChildConfig(route);
  57073. var _b = split(rawSegment, consumedSegments, rawSlicedSegments, childConfig), segmentGroup = _b.segmentGroup, slicedSegments = _b.slicedSegments;
  57074. var snapshot = new __WEBPACK_IMPORTED_MODULE_2__router_state__["d" /* ActivatedRouteSnapshot */](consumedSegments, Object.freeze(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__utils_collection__["g" /* merge */])(inherited.allParams, parameters)), Object.freeze(this.urlTree.queryParams), this.urlTree.fragment, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__utils_collection__["g" /* merge */])(inherited.allData, getData(route)), outlet, route.component, route, getSourceSegmentGroup(rawSegment), getPathIndexShift(rawSegment) + consumedSegments.length, newInheritedResolve);
  57075. var newInherited = route.component ?
  57076. InheritedFromParent.empty(snapshot) :
  57077. new InheritedFromParent(inherited, snapshot, parameters, getData(route), newInheritedResolve);
  57078. if (slicedSegments.length === 0 && segmentGroup.hasChildren()) {
  57079. var children = this.processChildren(childConfig, segmentGroup, newInherited);
  57080. return [new __WEBPACK_IMPORTED_MODULE_6__utils_tree__["b" /* TreeNode */](snapshot, children)];
  57081. }
  57082. else if (childConfig.length === 0 && slicedSegments.length === 0) {
  57083. return [new __WEBPACK_IMPORTED_MODULE_6__utils_tree__["b" /* TreeNode */](snapshot, [])];
  57084. }
  57085. else {
  57086. var children = this.processSegment(childConfig, segmentGroup, pathIndex + lastChild, slicedSegments, newInherited, __WEBPACK_IMPORTED_MODULE_3__shared__["a" /* PRIMARY_OUTLET */]);
  57087. return [new __WEBPACK_IMPORTED_MODULE_6__utils_tree__["b" /* TreeNode */](snapshot, children)];
  57088. }
  57089. };
  57090. return Recognizer;
  57091. }());
  57092. function sortActivatedRouteSnapshots(nodes) {
  57093. nodes.sort(function (a, b) {
  57094. if (a.value.outlet === __WEBPACK_IMPORTED_MODULE_3__shared__["a" /* PRIMARY_OUTLET */])
  57095. return -1;
  57096. if (b.value.outlet === __WEBPACK_IMPORTED_MODULE_3__shared__["a" /* PRIMARY_OUTLET */])
  57097. return 1;
  57098. return a.value.outlet.localeCompare(b.value.outlet);
  57099. });
  57100. }
  57101. function getChildConfig(route) {
  57102. if (route.children) {
  57103. return route.children;
  57104. }
  57105. else if (route.loadChildren) {
  57106. return route._loadedConfig.routes;
  57107. }
  57108. else {
  57109. return [];
  57110. }
  57111. }
  57112. function match(segmentGroup, route, segments, parent) {
  57113. if (route.path === '') {
  57114. if (route.pathMatch === 'full' && (segmentGroup.hasChildren() || segments.length > 0)) {
  57115. throw new NoMatch();
  57116. }
  57117. else {
  57118. var params = parent ? parent.params : {};
  57119. return { consumedSegments: [], lastChild: 0, parameters: params };
  57120. }
  57121. }
  57122. var path = route.path;
  57123. var parts = path.split('/');
  57124. var posParameters = {};
  57125. var consumedSegments = [];
  57126. var currentIndex = 0;
  57127. for (var i = 0; i < parts.length; ++i) {
  57128. if (currentIndex >= segments.length)
  57129. throw new NoMatch();
  57130. var current = segments[currentIndex];
  57131. var p = parts[i];
  57132. var isPosParam = p.startsWith(':');
  57133. if (!isPosParam && p !== current.path)
  57134. throw new NoMatch();
  57135. if (isPosParam) {
  57136. posParameters[p.substring(1)] = current.path;
  57137. }
  57138. consumedSegments.push(current);
  57139. currentIndex++;
  57140. }
  57141. if (route.pathMatch === 'full' &&
  57142. (segmentGroup.hasChildren() || currentIndex < segments.length)) {
  57143. throw new NoMatch();
  57144. }
  57145. var parameters = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__utils_collection__["g" /* merge */])(posParameters, consumedSegments[consumedSegments.length - 1].parameters);
  57146. return { consumedSegments: consumedSegments, lastChild: currentIndex, parameters: parameters };
  57147. }
  57148. function checkOutletNameUniqueness(nodes) {
  57149. var names = {};
  57150. nodes.forEach(function (n) {
  57151. var routeWithSameOutletName = names[n.value.outlet];
  57152. if (routeWithSameOutletName) {
  57153. var p = routeWithSameOutletName.url.map(function (s) { return s.toString(); }).join('/');
  57154. var c = n.value.url.map(function (s) { return s.toString(); }).join('/');
  57155. throw new Error("Two segments cannot have the same outlet name: '" + p + "' and '" + c + "'.");
  57156. }
  57157. names[n.value.outlet] = n.value;
  57158. });
  57159. }
  57160. function getSourceSegmentGroup(segmentGroup) {
  57161. var s = segmentGroup;
  57162. while (s._sourceSegment) {
  57163. s = s._sourceSegment;
  57164. }
  57165. return s;
  57166. }
  57167. function getPathIndexShift(segmentGroup) {
  57168. var s = segmentGroup;
  57169. var res = (s._segmentIndexShift ? s._segmentIndexShift : 0);
  57170. while (s._sourceSegment) {
  57171. s = s._sourceSegment;
  57172. res += (s._segmentIndexShift ? s._segmentIndexShift : 0);
  57173. }
  57174. return res - 1;
  57175. }
  57176. function split(segmentGroup, consumedSegments, slicedSegments, config) {
  57177. if (slicedSegments.length > 0 &&
  57178. containsEmptyPathMatchesWithNamedOutlets(segmentGroup, slicedSegments, config)) {
  57179. var s = new __WEBPACK_IMPORTED_MODULE_4__url_tree__["a" /* UrlSegmentGroup */](consumedSegments, createChildrenForEmptyPaths(segmentGroup, consumedSegments, config, new __WEBPACK_IMPORTED_MODULE_4__url_tree__["a" /* UrlSegmentGroup */](slicedSegments, segmentGroup.children)));
  57180. s._sourceSegment = segmentGroup;
  57181. s._segmentIndexShift = consumedSegments.length;
  57182. return { segmentGroup: s, slicedSegments: [] };
  57183. }
  57184. else if (slicedSegments.length === 0 &&
  57185. containsEmptyPathMatches(segmentGroup, slicedSegments, config)) {
  57186. var s = new __WEBPACK_IMPORTED_MODULE_4__url_tree__["a" /* UrlSegmentGroup */](segmentGroup.segments, addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, config, segmentGroup.children));
  57187. s._sourceSegment = segmentGroup;
  57188. s._segmentIndexShift = consumedSegments.length;
  57189. return { segmentGroup: s, slicedSegments: slicedSegments };
  57190. }
  57191. else {
  57192. var s = new __WEBPACK_IMPORTED_MODULE_4__url_tree__["a" /* UrlSegmentGroup */](segmentGroup.segments, segmentGroup.children);
  57193. s._sourceSegment = segmentGroup;
  57194. s._segmentIndexShift = consumedSegments.length;
  57195. return { segmentGroup: s, slicedSegments: slicedSegments };
  57196. }
  57197. }
  57198. function addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, routes, children) {
  57199. var res = {};
  57200. for (var _i = 0, routes_1 = routes; _i < routes_1.length; _i++) {
  57201. var r = routes_1[_i];
  57202. if (emptyPathMatch(segmentGroup, slicedSegments, r) && !children[getOutlet(r)]) {
  57203. var s = new __WEBPACK_IMPORTED_MODULE_4__url_tree__["a" /* UrlSegmentGroup */]([], {});
  57204. s._sourceSegment = segmentGroup;
  57205. s._segmentIndexShift = segmentGroup.segments.length;
  57206. res[getOutlet(r)] = s;
  57207. }
  57208. }
  57209. return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__utils_collection__["g" /* merge */])(children, res);
  57210. }
  57211. function createChildrenForEmptyPaths(segmentGroup, consumedSegments, routes, primarySegment) {
  57212. var res = {};
  57213. res[__WEBPACK_IMPORTED_MODULE_3__shared__["a" /* PRIMARY_OUTLET */]] = primarySegment;
  57214. primarySegment._sourceSegment = segmentGroup;
  57215. primarySegment._segmentIndexShift = consumedSegments.length;
  57216. for (var _i = 0, routes_2 = routes; _i < routes_2.length; _i++) {
  57217. var r = routes_2[_i];
  57218. if (r.path === '' && getOutlet(r) !== __WEBPACK_IMPORTED_MODULE_3__shared__["a" /* PRIMARY_OUTLET */]) {
  57219. var s = new __WEBPACK_IMPORTED_MODULE_4__url_tree__["a" /* UrlSegmentGroup */]([], {});
  57220. s._sourceSegment = segmentGroup;
  57221. s._segmentIndexShift = consumedSegments.length;
  57222. res[getOutlet(r)] = s;
  57223. }
  57224. }
  57225. return res;
  57226. }
  57227. function containsEmptyPathMatchesWithNamedOutlets(segmentGroup, slicedSegments, routes) {
  57228. return routes
  57229. .filter(function (r) { return emptyPathMatch(segmentGroup, slicedSegments, r) &&
  57230. getOutlet(r) !== __WEBPACK_IMPORTED_MODULE_3__shared__["a" /* PRIMARY_OUTLET */]; })
  57231. .length > 0;
  57232. }
  57233. function containsEmptyPathMatches(segmentGroup, slicedSegments, routes) {
  57234. return routes.filter(function (r) { return emptyPathMatch(segmentGroup, slicedSegments, r); }).length > 0;
  57235. }
  57236. function emptyPathMatch(segmentGroup, slicedSegments, r) {
  57237. if ((segmentGroup.hasChildren() || slicedSegments.length > 0) && r.pathMatch === 'full')
  57238. return false;
  57239. return r.path === '' && r.redirectTo === undefined;
  57240. }
  57241. function getOutlet(route) {
  57242. return route.outlet ? route.outlet : __WEBPACK_IMPORTED_MODULE_3__shared__["a" /* PRIMARY_OUTLET */];
  57243. }
  57244. function getData(route) {
  57245. return route.data ? route.data : {};
  57246. }
  57247. function getResolve(route) {
  57248. return route.resolve ? route.resolve : {};
  57249. }
  57250. //# sourceMappingURL=recognize.js.map
  57251. /***/ },
  57252. /* 532 */
  57253. /***/ function(module, exports, __webpack_require__) {
  57254. "use strict";
  57255. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  57256. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(234);
  57257. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return DowngradeNg2ComponentAdapter; });
  57258. /**
  57259. * @license
  57260. * Copyright Google Inc. All Rights Reserved.
  57261. *
  57262. * Use of this source code is governed by an MIT-style license that can be
  57263. * found in the LICENSE file at https://angular.io/license
  57264. */
  57265. var INITIAL_VALUE = {
  57266. __UNINITIALIZED__: true
  57267. };
  57268. var DowngradeNg2ComponentAdapter = (function () {
  57269. function DowngradeNg2ComponentAdapter(id, info, element, attrs, scope, parentInjector, parse, componentFactory) {
  57270. this.id = id;
  57271. this.info = info;
  57272. this.element = element;
  57273. this.attrs = attrs;
  57274. this.scope = scope;
  57275. this.parentInjector = parentInjector;
  57276. this.parse = parse;
  57277. this.componentFactory = componentFactory;
  57278. this.component = null;
  57279. this.inputChangeCount = 0;
  57280. this.inputChanges = null;
  57281. this.componentRef = null;
  57282. this.changeDetector = null;
  57283. this.contentInsertionPoint = null;
  57284. this.element[0].id = id;
  57285. this.componentScope = scope.$new();
  57286. this.childNodes = element.contents();
  57287. }
  57288. DowngradeNg2ComponentAdapter.prototype.bootstrapNg2 = function () {
  57289. var childInjector = __WEBPACK_IMPORTED_MODULE_0__angular_core__["ReflectiveInjector"].resolveAndCreate([{ provide: __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* NG1_SCOPE */], useValue: this.componentScope }], this.parentInjector);
  57290. this.contentInsertionPoint = document.createComment('ng1 insertion point');
  57291. this.componentRef = this.componentFactory.create(childInjector, [[this.contentInsertionPoint]], this.element[0]);
  57292. this.changeDetector = this.componentRef.changeDetectorRef;
  57293. this.component = this.componentRef.instance;
  57294. };
  57295. DowngradeNg2ComponentAdapter.prototype.setupInputs = function () {
  57296. var _this = this;
  57297. var attrs = this.attrs;
  57298. var inputs = this.info.inputs;
  57299. for (var i = 0; i < inputs.length; i++) {
  57300. var input = inputs[i];
  57301. var expr = null;
  57302. if (attrs.hasOwnProperty(input.attr)) {
  57303. var observeFn = (function (prop /** TODO #9100 */) {
  57304. var prevValue = INITIAL_VALUE;
  57305. return function (value /** TODO #9100 */) {
  57306. if (_this.inputChanges !== null) {
  57307. _this.inputChangeCount++;
  57308. _this.inputChanges[prop] =
  57309. new Ng1Change(value, prevValue === INITIAL_VALUE ? value : prevValue);
  57310. prevValue = value;
  57311. }
  57312. _this.component[prop] = value;
  57313. };
  57314. })(input.prop);
  57315. attrs.$observe(input.attr, observeFn);
  57316. }
  57317. else if (attrs.hasOwnProperty(input.bindAttr)) {
  57318. expr = attrs[input.bindAttr];
  57319. }
  57320. else if (attrs.hasOwnProperty(input.bracketAttr)) {
  57321. expr = attrs[input.bracketAttr];
  57322. }
  57323. else if (attrs.hasOwnProperty(input.bindonAttr)) {
  57324. expr = attrs[input.bindonAttr];
  57325. }
  57326. else if (attrs.hasOwnProperty(input.bracketParenAttr)) {
  57327. expr = attrs[input.bracketParenAttr];
  57328. }
  57329. if (expr != null) {
  57330. var watchFn = (function (prop /** TODO #9100 */) {
  57331. return function (value /** TODO #9100 */, prevValue /** TODO #9100 */) {
  57332. if (_this.inputChanges != null) {
  57333. _this.inputChangeCount++;
  57334. _this.inputChanges[prop] = new Ng1Change(prevValue, value);
  57335. }
  57336. _this.component[prop] = value;
  57337. };
  57338. })(input.prop);
  57339. this.componentScope.$watch(expr, watchFn);
  57340. }
  57341. }
  57342. var prototype = this.info.type.prototype;
  57343. if (prototype && prototype.ngOnChanges) {
  57344. // Detect: OnChanges interface
  57345. this.inputChanges = {};
  57346. this.componentScope.$watch(function () { return _this.inputChangeCount; }, function () {
  57347. var inputChanges = _this.inputChanges;
  57348. _this.inputChanges = {};
  57349. _this.component.ngOnChanges(inputChanges);
  57350. });
  57351. }
  57352. this.componentScope.$watch(function () { return _this.changeDetector && _this.changeDetector.detectChanges(); });
  57353. };
  57354. DowngradeNg2ComponentAdapter.prototype.projectContent = function () {
  57355. var childNodes = this.childNodes;
  57356. var parent = this.contentInsertionPoint.parentNode;
  57357. if (parent) {
  57358. for (var i = 0, ii = childNodes.length; i < ii; i++) {
  57359. parent.insertBefore(childNodes[i], this.contentInsertionPoint);
  57360. }
  57361. }
  57362. };
  57363. DowngradeNg2ComponentAdapter.prototype.setupOutputs = function () {
  57364. var _this = this;
  57365. var attrs = this.attrs;
  57366. var outputs = this.info.outputs;
  57367. for (var j = 0; j < outputs.length; j++) {
  57368. var output = outputs[j];
  57369. var expr = null;
  57370. var assignExpr = false;
  57371. var bindonAttr = output.bindonAttr ? output.bindonAttr.substring(0, output.bindonAttr.length - 6) : null;
  57372. var bracketParenAttr = output.bracketParenAttr ?
  57373. "[(" + output.bracketParenAttr.substring(2, output.bracketParenAttr.length - 8) + ")]" :
  57374. null;
  57375. if (attrs.hasOwnProperty(output.onAttr)) {
  57376. expr = attrs[output.onAttr];
  57377. }
  57378. else if (attrs.hasOwnProperty(output.parenAttr)) {
  57379. expr = attrs[output.parenAttr];
  57380. }
  57381. else if (attrs.hasOwnProperty(bindonAttr)) {
  57382. expr = attrs[bindonAttr];
  57383. assignExpr = true;
  57384. }
  57385. else if (attrs.hasOwnProperty(bracketParenAttr)) {
  57386. expr = attrs[bracketParenAttr];
  57387. assignExpr = true;
  57388. }
  57389. if (expr != null && assignExpr != null) {
  57390. var getter = this.parse(expr);
  57391. var setter = getter.assign;
  57392. if (assignExpr && !setter) {
  57393. throw new Error("Expression '" + expr + "' is not assignable!");
  57394. }
  57395. var emitter = this.component[output.prop];
  57396. if (emitter) {
  57397. emitter.subscribe({
  57398. next: assignExpr ?
  57399. (function (setter) { return function (v /** TODO #9100 */) { return setter(_this.scope, v); }; })(setter) :
  57400. (function (getter) { return function (v /** TODO #9100 */) {
  57401. return getter(_this.scope, { $event: v });
  57402. }; })(getter)
  57403. });
  57404. }
  57405. else {
  57406. throw new Error("Missing emitter '" + output.prop + "' on component '" + this.info.selector + "'!");
  57407. }
  57408. }
  57409. }
  57410. };
  57411. DowngradeNg2ComponentAdapter.prototype.registerCleanup = function () {
  57412. var _this = this;
  57413. this.element.bind('$destroy', function () {
  57414. _this.componentScope.$destroy();
  57415. _this.componentRef.destroy();
  57416. });
  57417. };
  57418. return DowngradeNg2ComponentAdapter;
  57419. }());
  57420. var Ng1Change = (function () {
  57421. function Ng1Change(previousValue, currentValue) {
  57422. this.previousValue = previousValue;
  57423. this.currentValue = currentValue;
  57424. }
  57425. Ng1Change.prototype.isFirstChange = function () { return this.previousValue === this.currentValue; };
  57426. return Ng1Change;
  57427. }());
  57428. //# sourceMappingURL=downgrade_ng2_adapter.js.map
  57429. /***/ },
  57430. /* 533 */
  57431. /***/ function(module, exports, __webpack_require__) {
  57432. "use strict";
  57433. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_compiler__ = __webpack_require__(85);
  57434. /* harmony export (immutable) */ exports["a"] = getComponentInfo;
  57435. /* unused harmony export parseFields */
  57436. /**
  57437. * @license
  57438. * Copyright Google Inc. All Rights Reserved.
  57439. *
  57440. * Use of this source code is governed by an MIT-style license that can be
  57441. * found in the LICENSE file at https://angular.io/license
  57442. */
  57443. var COMPONENT_SELECTOR = /^[\w|-]*$/;
  57444. var SKEWER_CASE = /-(\w)/g;
  57445. var directiveResolver = new __WEBPACK_IMPORTED_MODULE_0__angular_compiler__["DirectiveResolver"]();
  57446. function getComponentInfo(type) {
  57447. var resolvedMetadata = directiveResolver.resolve(type);
  57448. var selector = resolvedMetadata.selector;
  57449. if (!selector.match(COMPONENT_SELECTOR)) {
  57450. throw new Error('Only selectors matching element names are supported, got: ' + selector);
  57451. }
  57452. selector = selector.replace(SKEWER_CASE, function (all /** TODO #9100 */, letter) { return letter.toUpperCase(); });
  57453. return {
  57454. type: type,
  57455. selector: selector,
  57456. inputs: parseFields(resolvedMetadata.inputs),
  57457. outputs: parseFields(resolvedMetadata.outputs)
  57458. };
  57459. }
  57460. function parseFields(names) {
  57461. var attrProps = [];
  57462. if (names) {
  57463. for (var i = 0; i < names.length; i++) {
  57464. var parts = names[i].split(':');
  57465. var prop = parts[0].trim();
  57466. var attr = (parts[1] || parts[0]).trim();
  57467. var capitalAttr = attr.charAt(0).toUpperCase() + attr.substr(1);
  57468. attrProps.push({
  57469. prop: prop,
  57470. attr: attr,
  57471. bracketAttr: "[" + attr + "]",
  57472. parenAttr: "(" + attr + ")",
  57473. bracketParenAttr: "[(" + attr + ")]",
  57474. onAttr: "on" + capitalAttr,
  57475. bindAttr: "bind" + capitalAttr,
  57476. bindonAttr: "bindon" + capitalAttr
  57477. });
  57478. }
  57479. }
  57480. return attrProps;
  57481. }
  57482. //# sourceMappingURL=metadata.js.map
  57483. /***/ },
  57484. /* 534 */
  57485. /***/ function(module, exports, __webpack_require__) {
  57486. "use strict";
  57487. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__upgrade_adapter__ = __webpack_require__(535);
  57488. /* harmony reexport (binding) */ __webpack_require__.d(exports, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__upgrade_adapter__["a"]; });
  57489. /* harmony reexport (binding) */ __webpack_require__.d(exports, "b", function() { return __WEBPACK_IMPORTED_MODULE_0__upgrade_adapter__["b"]; });
  57490. /**
  57491. * @license
  57492. * Copyright Google Inc. All Rights Reserved.
  57493. *
  57494. * Use of this source code is governed by an MIT-style license that can be
  57495. * found in the LICENSE file at https://angular.io/license
  57496. */
  57497. /**
  57498. * @module
  57499. * @description
  57500. * Adapter allowing AngularJS v1 and Angular v2 to run side by side in the same application.
  57501. */
  57502. //# sourceMappingURL=upgrade.js.map
  57503. /***/ },
  57504. /* 535 */
  57505. /***/ function(module, exports, __webpack_require__) {
  57506. "use strict";
  57507. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  57508. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_platform_browser_dynamic__ = __webpack_require__(127);
  57509. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_js__ = __webpack_require__(354);
  57510. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__constants__ = __webpack_require__(234);
  57511. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__downgrade_ng2_adapter__ = __webpack_require__(532);
  57512. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__metadata__ = __webpack_require__(533);
  57513. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__upgrade_ng1_adapter__ = __webpack_require__(536);
  57514. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util__ = __webpack_require__(355);
  57515. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return UpgradeAdapter; });
  57516. /* harmony export (binding) */ __webpack_require__.d(exports, "b", function() { return UpgradeAdapterRef; });
  57517. /**
  57518. * @license
  57519. * Copyright Google Inc. All Rights Reserved.
  57520. *
  57521. * Use of this source code is governed by an MIT-style license that can be
  57522. * found in the LICENSE file at https://angular.io/license
  57523. */
  57524. var upgradeCount = 0;
  57525. /**
  57526. * Use `UpgradeAdapter` to allow AngularJS v1 and Angular v2 to coexist in a single application.
  57527. *
  57528. * The `UpgradeAdapter` allows:
  57529. * 1. creation of Angular v2 component from AngularJS v1 component directive
  57530. * (See [UpgradeAdapter#upgradeNg1Component()])
  57531. * 2. creation of AngularJS v1 directive from Angular v2 component.
  57532. * (See [UpgradeAdapter#downgradeNg2Component()])
  57533. * 3. Bootstrapping of a hybrid Angular application which contains both of the frameworks
  57534. * coexisting in a single application.
  57535. *
  57536. * ## Mental Model
  57537. *
  57538. * When reasoning about how a hybrid application works it is useful to have a mental model which
  57539. * describes what is happening and explains what is happening at the lowest level.
  57540. *
  57541. * 1. There are two independent frameworks running in a single application, each framework treats
  57542. * the other as a black box.
  57543. * 2. Each DOM element on the page is owned exactly by one framework. Whichever framework
  57544. * instantiated the element is the owner. Each framework only updates/interacts with its own
  57545. * DOM elements and ignores others.
  57546. * 3. AngularJS v1 directives always execute inside AngularJS v1 framework codebase regardless of
  57547. * where they are instantiated.
  57548. * 4. Angular v2 components always execute inside Angular v2 framework codebase regardless of
  57549. * where they are instantiated.
  57550. * 5. An AngularJS v1 component can be upgraded to an Angular v2 component. This creates an
  57551. * Angular v2 directive, which bootstraps the AngularJS v1 component directive in that location.
  57552. * 6. An Angular v2 component can be downgraded to an AngularJS v1 component directive. This creates
  57553. * an AngularJS v1 directive, which bootstraps the Angular v2 component in that location.
  57554. * 7. Whenever an adapter component is instantiated the host element is owned by the framework
  57555. * doing the instantiation. The other framework then instantiates and owns the view for that
  57556. * component. This implies that component bindings will always follow the semantics of the
  57557. * instantiation framework. The syntax is always that of Angular v2 syntax.
  57558. * 8. AngularJS v1 is always bootstrapped first and owns the bottom most view.
  57559. * 9. The new application is running in Angular v2 zone, and therefore it no longer needs calls to
  57560. * `$apply()`.
  57561. *
  57562. * ### Example
  57563. *
  57564. * ```
  57565. * var adapter = new UpgradeAdapter(forwardRef(() => MyNg2Module));
  57566. * var module = angular.module('myExample', []);
  57567. * module.directive('ng2Comp', adapter.downgradeNg2Component(Ng2));
  57568. *
  57569. * module.directive('ng1Hello', function() {
  57570. * return {
  57571. * scope: { title: '=' },
  57572. * template: 'ng1[Hello {{title}}!](<span ng-transclude></span>)'
  57573. * };
  57574. * });
  57575. *
  57576. *
  57577. * @Component({
  57578. * selector: 'ng2-comp',
  57579. * inputs: ['name'],
  57580. * template: 'ng2[<ng1-hello [title]="name">transclude</ng1-hello>](<ng-content></ng-content>)',
  57581. * directives:
  57582. * })
  57583. * class Ng2Component {
  57584. * }
  57585. *
  57586. * @NgModule({
  57587. * declarations: [Ng2Component, adapter.upgradeNg1Component('ng1Hello')],
  57588. * imports: [BrowserModule]
  57589. * })
  57590. * class MyNg2Module {}
  57591. *
  57592. *
  57593. * document.body.innerHTML = '<ng2-comp name="World">project</ng2-comp>';
  57594. *
  57595. * adapter.bootstrap(document.body, ['myExample']).ready(function() {
  57596. * expect(document.body.textContent).toEqual(
  57597. * "ng2[ng1[Hello World!](transclude)](project)");
  57598. * });
  57599. *
  57600. * ```
  57601. *
  57602. * @stable
  57603. */
  57604. var UpgradeAdapter = (function () {
  57605. function UpgradeAdapter(ng2AppModule) {
  57606. this.ng2AppModule = ng2AppModule;
  57607. /* @internal */
  57608. this.idPrefix = "NG2_UPGRADE_" + upgradeCount++ + "_";
  57609. /* @internal */
  57610. this.upgradedComponents = [];
  57611. /**
  57612. * An internal map of ng1 components which need to up upgraded to ng2.
  57613. *
  57614. * We can't upgrade until injector is instantiated and we can retrieve the component metadata.
  57615. * For this reason we keep a list of components to upgrade until ng1 injector is bootstrapped.
  57616. *
  57617. * @internal
  57618. */
  57619. this.ng1ComponentsToBeUpgraded = {};
  57620. /* @internal */
  57621. this.providers = [];
  57622. if (!ng2AppModule) {
  57623. throw new Error('UpgradeAdapter cannot be instantiated without an NgModule of the Angular 2 app.');
  57624. }
  57625. }
  57626. /**
  57627. * Allows Angular v2 Component to be used from AngularJS v1.
  57628. *
  57629. * Use `downgradeNg2Component` to create an AngularJS v1 Directive Definition Factory from
  57630. * Angular v2 Component. The adapter will bootstrap Angular v2 component from within the
  57631. * AngularJS v1 template.
  57632. *
  57633. * ## Mental Model
  57634. *
  57635. * 1. The component is instantiated by being listed in AngularJS v1 template. This means that the
  57636. * host element is controlled by AngularJS v1, but the component's view will be controlled by
  57637. * Angular v2.
  57638. * 2. Even thought the component is instantiated in AngularJS v1, it will be using Angular v2
  57639. * syntax. This has to be done, this way because we must follow Angular v2 components do not
  57640. * declare how the attributes should be interpreted.
  57641. *
  57642. * ## Supported Features
  57643. *
  57644. * - Bindings:
  57645. * - Attribute: `<comp name="World">`
  57646. * - Interpolation: `<comp greeting="Hello {{name}}!">`
  57647. * - Expression: `<comp [name]="username">`
  57648. * - Event: `<comp (close)="doSomething()">`
  57649. * - Content projection: yes
  57650. *
  57651. * ### Example
  57652. *
  57653. * ```
  57654. * var adapter = new UpgradeAdapter(forwardRef(() => MyNg2Module));
  57655. * var module = angular.module('myExample', []);
  57656. * module.directive('greet', adapter.downgradeNg2Component(Greeter));
  57657. *
  57658. * @Component({
  57659. * selector: 'greet',
  57660. * template: '{{salutation}} {{name}}! - <ng-content></ng-content>'
  57661. * })
  57662. * class Greeter {
  57663. * @Input() salutation: string;
  57664. * @Input() name: string;
  57665. * }
  57666. *
  57667. * @NgModule({
  57668. * declarations: [Greeter],
  57669. * imports: [BrowserModule]
  57670. * })
  57671. * class MyNg2Module {}
  57672. *
  57673. * document.body.innerHTML =
  57674. * 'ng1 template: <greet salutation="Hello" [name]="world">text</greet>';
  57675. *
  57676. * adapter.bootstrap(document.body, ['myExample']).ready(function() {
  57677. * expect(document.body.textContent).toEqual("ng1 template: Hello world! - text");
  57678. * });
  57679. * ```
  57680. */
  57681. UpgradeAdapter.prototype.downgradeNg2Component = function (type) {
  57682. this.upgradedComponents.push(type);
  57683. var info = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__metadata__["a" /* getComponentInfo */])(type);
  57684. return ng1ComponentDirective(info, "" + this.idPrefix + info.selector + "_c");
  57685. };
  57686. /**
  57687. * Allows AngularJS v1 Component to be used from Angular v2.
  57688. *
  57689. * Use `upgradeNg1Component` to create an Angular v2 component from AngularJS v1 Component
  57690. * directive. The adapter will bootstrap AngularJS v1 component from within the Angular v2
  57691. * template.
  57692. *
  57693. * ## Mental Model
  57694. *
  57695. * 1. The component is instantiated by being listed in Angular v2 template. This means that the
  57696. * host element is controlled by Angular v2, but the component's view will be controlled by
  57697. * AngularJS v1.
  57698. *
  57699. * ## Supported Features
  57700. *
  57701. * - Bindings:
  57702. * - Attribute: `<comp name="World">`
  57703. * - Interpolation: `<comp greeting="Hello {{name}}!">`
  57704. * - Expression: `<comp [name]="username">`
  57705. * - Event: `<comp (close)="doSomething()">`
  57706. * - Transclusion: yes
  57707. * - Only some of the features of
  57708. * [Directive Definition Object](https://docs.angularjs.org/api/ng/service/$compile) are
  57709. * supported:
  57710. * - `compile`: not supported because the host element is owned by Angular v2, which does
  57711. * not allow modifying DOM structure during compilation.
  57712. * - `controller`: supported. (NOTE: injection of `$attrs` and `$transclude` is not supported.)
  57713. * - `controllerAs': supported.
  57714. * - `bindToController': supported.
  57715. * - `link': supported. (NOTE: only pre-link function is supported.)
  57716. * - `name': supported.
  57717. * - `priority': ignored.
  57718. * - `replace': not supported.
  57719. * - `require`: supported.
  57720. * - `restrict`: must be set to 'E'.
  57721. * - `scope`: supported.
  57722. * - `template`: supported.
  57723. * - `templateUrl`: supported.
  57724. * - `terminal`: ignored.
  57725. * - `transclude`: supported.
  57726. *
  57727. *
  57728. * ### Example
  57729. *
  57730. * ```
  57731. * var adapter = new UpgradeAdapter(forwardRef(() => MyNg2Module));
  57732. * var module = angular.module('myExample', []);
  57733. *
  57734. * module.directive('greet', function() {
  57735. * return {
  57736. * scope: {salutation: '=', name: '=' },
  57737. * template: '{{salutation}} {{name}}! - <span ng-transclude></span>'
  57738. * };
  57739. * });
  57740. *
  57741. * module.directive('ng2', adapter.downgradeNg2Component(Ng2));
  57742. *
  57743. * @Component({
  57744. * selector: 'ng2',
  57745. * template: 'ng2 template: <greet salutation="Hello" [name]="world">text</greet>'
  57746. * })
  57747. * class Ng2 {
  57748. * }
  57749. *
  57750. * @NgModule({
  57751. * declarations: [Ng2, adapter.upgradeNg1Component('greet')],
  57752. * imports: [BrowserModule]
  57753. * })
  57754. * class MyNg2Module {}
  57755. *
  57756. * document.body.innerHTML = '<ng2></ng2>';
  57757. *
  57758. * adapter.bootstrap(document.body, ['myExample']).ready(function() {
  57759. * expect(document.body.textContent).toEqual("ng2 template: Hello world! - text");
  57760. * });
  57761. * ```
  57762. */
  57763. UpgradeAdapter.prototype.upgradeNg1Component = function (name) {
  57764. if (this.ng1ComponentsToBeUpgraded.hasOwnProperty(name)) {
  57765. return this.ng1ComponentsToBeUpgraded[name].type;
  57766. }
  57767. else {
  57768. return (this.ng1ComponentsToBeUpgraded[name] = new __WEBPACK_IMPORTED_MODULE_6__upgrade_ng1_adapter__["a" /* UpgradeNg1ComponentAdapterBuilder */](name))
  57769. .type;
  57770. }
  57771. };
  57772. /**
  57773. * Bootstrap a hybrid AngularJS v1 / Angular v2 application.
  57774. *
  57775. * This `bootstrap` method is a direct replacement (takes same arguments) for AngularJS v1
  57776. * [`bootstrap`](https://docs.angularjs.org/api/ng/function/angular.bootstrap) method. Unlike
  57777. * AngularJS v1, this bootstrap is asynchronous.
  57778. *
  57779. * ### Example
  57780. *
  57781. * ```
  57782. * var adapter = new UpgradeAdapter();
  57783. * var module = angular.module('myExample', []);
  57784. * module.directive('ng2', adapter.downgradeNg2Component(Ng2));
  57785. *
  57786. * module.directive('ng1', function() {
  57787. * return {
  57788. * scope: { title: '=' },
  57789. * template: 'ng1[Hello {{title}}!](<span ng-transclude></span>)'
  57790. * };
  57791. * });
  57792. *
  57793. *
  57794. * @Component({
  57795. * selector: 'ng2',
  57796. * inputs: ['name'],
  57797. * template: 'ng2[<ng1 [title]="name">transclude</ng1>](<ng-content></ng-content>)'
  57798. * })
  57799. * class Ng2 {
  57800. * }
  57801. *
  57802. * @NgModule({
  57803. * declarations: [Ng2, adapter.upgradeNg1Component('ng1')],
  57804. * imports: [BrowserModule]
  57805. * })
  57806. * class MyNg2Module {}
  57807. *
  57808. * document.body.innerHTML = '<ng2 name="World">project</ng2>';
  57809. *
  57810. * adapter.bootstrap(document.body, ['myExample']).ready(function() {
  57811. * expect(document.body.textContent).toEqual(
  57812. * "ng2[ng1[Hello World!](transclude)](project)");
  57813. * });
  57814. * ```
  57815. */
  57816. UpgradeAdapter.prototype.bootstrap = function (element, modules, config) {
  57817. var _this = this;
  57818. var ngZone = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["NgZone"]({ enableLongStackTrace: Zone.hasOwnProperty('longStackTraceZoneSpec') });
  57819. var upgrade = new UpgradeAdapterRef();
  57820. var ng1Injector = null;
  57821. var moduleRef = null;
  57822. var delayApplyExps = [];
  57823. var original$applyFn;
  57824. var rootScopePrototype;
  57825. var rootScope;
  57826. var componentFactoryRefMap = {};
  57827. var ng1Module = __WEBPACK_IMPORTED_MODULE_2__angular_js__["b" /* module */](this.idPrefix, modules);
  57828. var ng1BootstrapPromise;
  57829. var ng1compilePromise;
  57830. ng1Module.factory(__WEBPACK_IMPORTED_MODULE_3__constants__["f" /* NG2_INJECTOR */], function () { return moduleRef.injector.get(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Injector"]); })
  57831. .value(__WEBPACK_IMPORTED_MODULE_3__constants__["g" /* NG2_ZONE */], ngZone)
  57832. .factory(__WEBPACK_IMPORTED_MODULE_3__constants__["h" /* NG2_COMPILER */], function () { return moduleRef.injector.get(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Compiler"]); })
  57833. .value(__WEBPACK_IMPORTED_MODULE_3__constants__["i" /* NG2_COMPONENT_FACTORY_REF_MAP */], componentFactoryRefMap)
  57834. .config([
  57835. '$provide', '$injector',
  57836. function (provide /** TODO #???? */, ng1Injector) {
  57837. provide.decorator(__WEBPACK_IMPORTED_MODULE_3__constants__["j" /* NG1_ROOT_SCOPE */], [
  57838. '$delegate',
  57839. function (rootScopeDelegate) {
  57840. // Capture the root apply so that we can delay first call to $apply until we
  57841. // bootstrap Angular 2 and then we replay and restore the $apply.
  57842. rootScopePrototype = rootScopeDelegate.constructor.prototype;
  57843. if (rootScopePrototype.hasOwnProperty('$apply')) {
  57844. original$applyFn = rootScopePrototype.$apply;
  57845. rootScopePrototype.$apply = function (exp) { return delayApplyExps.push(exp); };
  57846. }
  57847. else {
  57848. throw new Error('Failed to find \'$apply\' on \'$rootScope\'!');
  57849. }
  57850. return rootScope = rootScopeDelegate;
  57851. }
  57852. ]);
  57853. if (ng1Injector.has(__WEBPACK_IMPORTED_MODULE_3__constants__["k" /* NG1_TESTABILITY */])) {
  57854. provide.decorator(__WEBPACK_IMPORTED_MODULE_3__constants__["k" /* NG1_TESTABILITY */], [
  57855. '$delegate',
  57856. function (testabilityDelegate) {
  57857. var _this = this;
  57858. var originalWhenStable = testabilityDelegate.whenStable;
  57859. var newWhenStable = function (callback) {
  57860. var whenStableContext = _this;
  57861. originalWhenStable.call(_this, function () {
  57862. var ng2Testability = moduleRef.injector.get(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Testability"]);
  57863. if (ng2Testability.isStable()) {
  57864. callback.apply(this, arguments);
  57865. }
  57866. else {
  57867. ng2Testability.whenStable(newWhenStable.bind(whenStableContext, callback));
  57868. }
  57869. });
  57870. };
  57871. testabilityDelegate.whenStable = newWhenStable;
  57872. return testabilityDelegate;
  57873. }
  57874. ]);
  57875. }
  57876. }
  57877. ]);
  57878. ng1compilePromise = new Promise(function (resolve, reject) {
  57879. ng1Module.run([
  57880. '$injector', '$rootScope',
  57881. function (injector, rootScope) {
  57882. ng1Injector = injector;
  57883. __WEBPACK_IMPORTED_MODULE_6__upgrade_ng1_adapter__["a" /* UpgradeNg1ComponentAdapterBuilder */].resolve(_this.ng1ComponentsToBeUpgraded, injector)
  57884. .then(function () {
  57885. // At this point we have ng1 injector and we have lifted ng1 components into ng2, we
  57886. // now can bootstrap ng2.
  57887. var DynamicNgUpgradeModule = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["NgModule"])({
  57888. providers: [
  57889. { provide: __WEBPACK_IMPORTED_MODULE_3__constants__["l" /* NG1_INJECTOR */], useFactory: function () { return ng1Injector; } },
  57890. { provide: __WEBPACK_IMPORTED_MODULE_3__constants__["b" /* NG1_COMPILE */], useFactory: function () { return ng1Injector.get(__WEBPACK_IMPORTED_MODULE_3__constants__["b" /* NG1_COMPILE */]); } },
  57891. _this.providers
  57892. ],
  57893. imports: [_this.ng2AppModule]
  57894. }).Class({
  57895. constructor: function DynamicNgUpgradeModule() { },
  57896. ngDoBootstrap: function () { }
  57897. });
  57898. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__angular_platform_browser_dynamic__["platformBrowserDynamic"])()
  57899. ._bootstrapModuleWithZone(DynamicNgUpgradeModule, undefined, ngZone, function (componentFactories) {
  57900. componentFactories.forEach(function (componentFactory) {
  57901. var type = componentFactory.componentType;
  57902. if (_this.upgradedComponents.indexOf(type) !== -1) {
  57903. componentFactoryRefMap[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__metadata__["a" /* getComponentInfo */])(type).selector] =
  57904. componentFactory;
  57905. }
  57906. });
  57907. })
  57908. .then(function (ref) {
  57909. moduleRef = ref;
  57910. __WEBPACK_IMPORTED_MODULE_2__angular_js__["a" /* element */](element).data(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__util__["a" /* controllerKey */])(__WEBPACK_IMPORTED_MODULE_3__constants__["f" /* NG2_INJECTOR */]), moduleRef.injector);
  57911. ngZone.onMicrotaskEmpty.subscribe({
  57912. next: function (_) { return ngZone.runOutsideAngular(function () { return rootScope.$evalAsync(); }); }
  57913. });
  57914. })
  57915. .then(resolve, reject);
  57916. });
  57917. }
  57918. ]);
  57919. });
  57920. // Make sure resumeBootstrap() only exists if the current bootstrap is deferred
  57921. var windowAngular = window['angular'];
  57922. windowAngular.resumeBootstrap = undefined;
  57923. ngZone.run(function () { __WEBPACK_IMPORTED_MODULE_2__angular_js__["c" /* bootstrap */](element, [_this.idPrefix], config); });
  57924. ng1BootstrapPromise = new Promise(function (resolve) {
  57925. if (windowAngular.resumeBootstrap) {
  57926. var originalResumeBootstrap = windowAngular.resumeBootstrap;
  57927. windowAngular.resumeBootstrap = function () {
  57928. windowAngular.resumeBootstrap = originalResumeBootstrap;
  57929. windowAngular.resumeBootstrap.apply(this, arguments);
  57930. resolve();
  57931. };
  57932. }
  57933. else {
  57934. resolve();
  57935. }
  57936. });
  57937. Promise.all([ng1BootstrapPromise, ng1compilePromise]).then(function () {
  57938. moduleRef.injector.get(__WEBPACK_IMPORTED_MODULE_0__angular_core__["NgZone"]).run(function () {
  57939. if (rootScopePrototype) {
  57940. rootScopePrototype.$apply = original$applyFn; // restore original $apply
  57941. while (delayApplyExps.length) {
  57942. rootScope.$apply(delayApplyExps.shift());
  57943. }
  57944. upgrade._bootstrapDone(moduleRef, ng1Injector);
  57945. rootScopePrototype = null;
  57946. }
  57947. });
  57948. }, __WEBPACK_IMPORTED_MODULE_7__util__["b" /* onError */]);
  57949. return upgrade;
  57950. };
  57951. /**
  57952. * Allows AngularJS v1 service to be accessible from Angular v2.
  57953. *
  57954. *
  57955. * ### Example
  57956. *
  57957. * ```
  57958. * class Login { ... }
  57959. * class Server { ... }
  57960. *
  57961. * @Injectable()
  57962. * class Example {
  57963. * constructor(@Inject('server') server, login: Login) {
  57964. * ...
  57965. * }
  57966. * }
  57967. *
  57968. * var module = angular.module('myExample', []);
  57969. * module.service('server', Server);
  57970. * module.service('login', Login);
  57971. *
  57972. * var adapter = new UpgradeAdapter();
  57973. * adapter.upgradeNg1Provider('server');
  57974. * adapter.upgradeNg1Provider('login', {asToken: Login});
  57975. * adapter.addProvider(Example);
  57976. *
  57977. * adapter.bootstrap(document.body, ['myExample']).ready((ref) => {
  57978. * var example: Example = ref.ng2Injector.get(Example);
  57979. * });
  57980. *
  57981. * ```
  57982. */
  57983. UpgradeAdapter.prototype.upgradeNg1Provider = function (name, options) {
  57984. var token = options && options.asToken || name;
  57985. this.providers.push({
  57986. provide: token,
  57987. useFactory: function (ng1Injector) { return ng1Injector.get(name); },
  57988. deps: [__WEBPACK_IMPORTED_MODULE_3__constants__["l" /* NG1_INJECTOR */]]
  57989. });
  57990. };
  57991. /**
  57992. * Allows Angular v2 service to be accessible from AngularJS v1.
  57993. *
  57994. *
  57995. * ### Example
  57996. *
  57997. * ```
  57998. * class Example {
  57999. * }
  58000. *
  58001. * var adapter = new UpgradeAdapter();
  58002. * adapter.addProvider(Example);
  58003. *
  58004. * var module = angular.module('myExample', []);
  58005. * module.factory('example', adapter.downgradeNg2Provider(Example));
  58006. *
  58007. * adapter.bootstrap(document.body, ['myExample']).ready((ref) => {
  58008. * var example: Example = ref.ng1Injector.get('example');
  58009. * });
  58010. *
  58011. * ```
  58012. */
  58013. UpgradeAdapter.prototype.downgradeNg2Provider = function (token) {
  58014. var factory = function (injector) { return injector.get(token); };
  58015. factory.$inject = [__WEBPACK_IMPORTED_MODULE_3__constants__["f" /* NG2_INJECTOR */]];
  58016. return factory;
  58017. };
  58018. return UpgradeAdapter;
  58019. }());
  58020. function ng1ComponentDirective(info, idPrefix) {
  58021. directiveFactory.$inject = [__WEBPACK_IMPORTED_MODULE_3__constants__["l" /* NG1_INJECTOR */], __WEBPACK_IMPORTED_MODULE_3__constants__["i" /* NG2_COMPONENT_FACTORY_REF_MAP */], __WEBPACK_IMPORTED_MODULE_3__constants__["m" /* NG1_PARSE */]];
  58022. function directiveFactory(ng1Injector, componentFactoryRefMap, parse) {
  58023. var idCount = 0;
  58024. return {
  58025. restrict: 'E',
  58026. require: __WEBPACK_IMPORTED_MODULE_3__constants__["n" /* REQUIRE_INJECTOR */],
  58027. link: {
  58028. post: function (scope, element, attrs, parentInjector, transclude) {
  58029. var componentFactory = componentFactoryRefMap[info.selector];
  58030. if (!componentFactory)
  58031. throw new Error('Expecting ComponentFactory for: ' + info.selector);
  58032. if (parentInjector === null) {
  58033. parentInjector = ng1Injector.get(__WEBPACK_IMPORTED_MODULE_3__constants__["f" /* NG2_INJECTOR */]);
  58034. }
  58035. var facade = new __WEBPACK_IMPORTED_MODULE_4__downgrade_ng2_adapter__["a" /* DowngradeNg2ComponentAdapter */](idPrefix + (idCount++), info, element, attrs, scope, parentInjector, parse, componentFactory);
  58036. facade.setupInputs();
  58037. facade.bootstrapNg2();
  58038. facade.projectContent();
  58039. facade.setupOutputs();
  58040. facade.registerCleanup();
  58041. }
  58042. }
  58043. };
  58044. }
  58045. return directiveFactory;
  58046. }
  58047. /**
  58048. * Use `UpgradeAdapterRef` to control a hybrid AngularJS v1 / Angular v2 application.
  58049. *
  58050. * @stable
  58051. */
  58052. var UpgradeAdapterRef = (function () {
  58053. function UpgradeAdapterRef() {
  58054. /* @internal */
  58055. this._readyFn = null;
  58056. this.ng1RootScope = null;
  58057. this.ng1Injector = null;
  58058. this.ng2ModuleRef = null;
  58059. this.ng2Injector = null;
  58060. }
  58061. /* @internal */
  58062. UpgradeAdapterRef.prototype._bootstrapDone = function (ngModuleRef, ng1Injector) {
  58063. this.ng2ModuleRef = ngModuleRef;
  58064. this.ng2Injector = ngModuleRef.injector;
  58065. this.ng1Injector = ng1Injector;
  58066. this.ng1RootScope = ng1Injector.get(__WEBPACK_IMPORTED_MODULE_3__constants__["j" /* NG1_ROOT_SCOPE */]);
  58067. this._readyFn && this._readyFn(this);
  58068. };
  58069. /**
  58070. * Register a callback function which is notified upon successful hybrid AngularJS v1 / Angular v2
  58071. * application has been bootstrapped.
  58072. *
  58073. * The `ready` callback function is invoked inside the Angular v2 zone, therefore it does not
  58074. * require a call to `$apply()`.
  58075. */
  58076. UpgradeAdapterRef.prototype.ready = function (fn) { this._readyFn = fn; };
  58077. /**
  58078. * Dispose of running hybrid AngularJS v1 / Angular v2 application.
  58079. */
  58080. UpgradeAdapterRef.prototype.dispose = function () {
  58081. this.ng1Injector.get(__WEBPACK_IMPORTED_MODULE_3__constants__["j" /* NG1_ROOT_SCOPE */]).$destroy();
  58082. this.ng2ModuleRef.destroy();
  58083. };
  58084. return UpgradeAdapterRef;
  58085. }());
  58086. //# sourceMappingURL=upgrade_adapter.js.map
  58087. /***/ },
  58088. /* 536 */
  58089. /***/ function(module, exports, __webpack_require__) {
  58090. "use strict";
  58091. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
  58092. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_js__ = __webpack_require__(354);
  58093. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(234);
  58094. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(355);
  58095. /* harmony export (binding) */ __webpack_require__.d(exports, "a", function() { return UpgradeNg1ComponentAdapterBuilder; });
  58096. /**
  58097. * @license
  58098. * Copyright Google Inc. All Rights Reserved.
  58099. *
  58100. * Use of this source code is governed by an MIT-style license that can be
  58101. * found in the LICENSE file at https://angular.io/license
  58102. */
  58103. var CAMEL_CASE = /([A-Z])/g;
  58104. var INITIAL_VALUE = {
  58105. __UNINITIALIZED__: true
  58106. };
  58107. var NOT_SUPPORTED = 'NOT_SUPPORTED';
  58108. var UpgradeNg1ComponentAdapterBuilder = (function () {
  58109. function UpgradeNg1ComponentAdapterBuilder(name) {
  58110. this.name = name;
  58111. this.inputs = [];
  58112. this.inputsRename = [];
  58113. this.outputs = [];
  58114. this.outputsRename = [];
  58115. this.propertyOutputs = [];
  58116. this.checkProperties = [];
  58117. this.propertyMap = {};
  58118. this.linkFn = null;
  58119. this.directive = null;
  58120. this.$controller = null;
  58121. var selector = name.replace(CAMEL_CASE, function (all /** TODO #9100 */, next) { return '-' + next.toLowerCase(); });
  58122. var self = this;
  58123. this.type =
  58124. __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Directive"])({ selector: selector, inputs: this.inputsRename, outputs: this.outputsRename })
  58125. .Class({
  58126. constructor: [
  58127. new __WEBPACK_IMPORTED_MODULE_0__angular_core__["Inject"](__WEBPACK_IMPORTED_MODULE_2__constants__["a" /* NG1_SCOPE */]), __WEBPACK_IMPORTED_MODULE_0__angular_core__["ElementRef"],
  58128. function (scope, elementRef) {
  58129. return new UpgradeNg1ComponentAdapter(self.linkFn, scope, self.directive, elementRef, self.$controller, self.inputs, self.outputs, self.propertyOutputs, self.checkProperties, self.propertyMap);
  58130. }
  58131. ],
  58132. ngOnInit: function () { },
  58133. ngOnChanges: function () { },
  58134. ngDoCheck: function () { }
  58135. });
  58136. }
  58137. UpgradeNg1ComponentAdapterBuilder.prototype.extractDirective = function (injector) {
  58138. var directives = injector.get(this.name + 'Directive');
  58139. if (directives.length > 1) {
  58140. throw new Error('Only support single directive definition for: ' + this.name);
  58141. }
  58142. var directive = directives[0];
  58143. if (directive.replace)
  58144. this.notSupported('replace');
  58145. if (directive.terminal)
  58146. this.notSupported('terminal');
  58147. var link = directive.link;
  58148. if (typeof link == 'object') {
  58149. if (link.post)
  58150. this.notSupported('link.post');
  58151. }
  58152. return directive;
  58153. };
  58154. UpgradeNg1ComponentAdapterBuilder.prototype.notSupported = function (feature) {
  58155. throw new Error("Upgraded directive '" + this.name + "' does not support '" + feature + "'.");
  58156. };
  58157. UpgradeNg1ComponentAdapterBuilder.prototype.extractBindings = function () {
  58158. var btcIsObject = typeof this.directive.bindToController === 'object';
  58159. if (btcIsObject && Object.keys(this.directive.scope).length) {
  58160. throw new Error("Binding definitions on scope and controller at the same time are not supported.");
  58161. }
  58162. var context = (btcIsObject) ? this.directive.bindToController : this.directive.scope;
  58163. if (typeof context == 'object') {
  58164. for (var name in context) {
  58165. if (context.hasOwnProperty(name)) {
  58166. var localName = context[name];
  58167. var type = localName.charAt(0);
  58168. localName = localName.substr(1) || name;
  58169. var outputName = 'output_' + name;
  58170. var outputNameRename = outputName + ': ' + name;
  58171. var outputNameRenameChange = outputName + ': ' + name + 'Change';
  58172. var inputName = 'input_' + name;
  58173. var inputNameRename = inputName + ': ' + name;
  58174. switch (type) {
  58175. case '=':
  58176. this.propertyOutputs.push(outputName);
  58177. this.checkProperties.push(localName);
  58178. this.outputs.push(outputName);
  58179. this.outputsRename.push(outputNameRenameChange);
  58180. this.propertyMap[outputName] = localName;
  58181. this.inputs.push(inputName);
  58182. this.inputsRename.push(inputNameRename);
  58183. this.propertyMap[inputName] = localName;
  58184. break;
  58185. case '@':
  58186. // handle the '<' binding of angular 1.5 components
  58187. case '<':
  58188. this.inputs.push(inputName);
  58189. this.inputsRename.push(inputNameRename);
  58190. this.propertyMap[inputName] = localName;
  58191. break;
  58192. case '&':
  58193. this.outputs.push(outputName);
  58194. this.outputsRename.push(outputNameRename);
  58195. this.propertyMap[outputName] = localName;
  58196. break;
  58197. default:
  58198. var json = JSON.stringify(context);
  58199. throw new Error("Unexpected mapping '" + type + "' in '" + json + "' in '" + this.name + "' directive.");
  58200. }
  58201. }
  58202. }
  58203. }
  58204. };
  58205. UpgradeNg1ComponentAdapterBuilder.prototype.compileTemplate = function (compile, templateCache, httpBackend) {
  58206. var _this = this;
  58207. if (this.directive.template !== undefined) {
  58208. this.linkFn = compileHtml(typeof this.directive.template === 'function' ? this.directive.template() :
  58209. this.directive.template);
  58210. }
  58211. else if (this.directive.templateUrl) {
  58212. var url = typeof this.directive.templateUrl === 'function' ? this.directive.templateUrl() :
  58213. this.directive.templateUrl;
  58214. var html = templateCache.get(url);
  58215. if (html !== undefined) {
  58216. this.linkFn = compileHtml(html);
  58217. }
  58218. else {
  58219. return new Promise(function (resolve, err) {
  58220. httpBackend('GET', url, null, function (status /** TODO #9100 */, response /** TODO #9100 */) {
  58221. if (status == 200) {
  58222. resolve(_this.linkFn = compileHtml(templateCache.put(url, response)));
  58223. }
  58224. else {
  58225. err("GET " + url + " returned " + status + ": " + response);
  58226. }
  58227. });
  58228. });
  58229. }
  58230. }
  58231. else {
  58232. throw new Error("Directive '" + this.name + "' is not a component, it is missing template.");
  58233. }
  58234. return null;
  58235. function compileHtml(html /** TODO #9100 */) {
  58236. var div = document.createElement('div');
  58237. div.innerHTML = html;
  58238. return compile(div.childNodes);
  58239. }
  58240. };
  58241. /**
  58242. * Upgrade ng1 components into Angular 2.
  58243. */
  58244. UpgradeNg1ComponentAdapterBuilder.resolve = function (exportedComponents, injector) {
  58245. var promises = [];
  58246. var compile = injector.get(__WEBPACK_IMPORTED_MODULE_2__constants__["b" /* NG1_COMPILE */]);
  58247. var templateCache = injector.get(__WEBPACK_IMPORTED_MODULE_2__constants__["c" /* NG1_TEMPLATE_CACHE */]);
  58248. var httpBackend = injector.get(__WEBPACK_IMPORTED_MODULE_2__constants__["d" /* NG1_HTTP_BACKEND */]);
  58249. var $controller = injector.get(__WEBPACK_IMPORTED_MODULE_2__constants__["e" /* NG1_CONTROLLER */]);
  58250. for (var name in exportedComponents) {
  58251. if (exportedComponents.hasOwnProperty(name)) {
  58252. var exportedComponent = exportedComponents[name];
  58253. exportedComponent.directive = exportedComponent.extractDirective(injector);
  58254. exportedComponent.$controller = $controller;
  58255. exportedComponent.extractBindings();
  58256. var promise = exportedComponent.compileTemplate(compile, templateCache, httpBackend);
  58257. if (promise)
  58258. promises.push(promise);
  58259. }
  58260. }
  58261. return Promise.all(promises);
  58262. };
  58263. return UpgradeNg1ComponentAdapterBuilder;
  58264. }());
  58265. var UpgradeNg1ComponentAdapter = (function () {
  58266. function UpgradeNg1ComponentAdapter(linkFn, scope, directive, elementRef, $controller, inputs, outputs, propOuts, checkProperties, propertyMap) {
  58267. this.linkFn = linkFn;
  58268. this.directive = directive;
  58269. this.$controller = $controller;
  58270. this.inputs = inputs;
  58271. this.outputs = outputs;
  58272. this.propOuts = propOuts;
  58273. this.checkProperties = checkProperties;
  58274. this.propertyMap = propertyMap;
  58275. this.destinationObj = null;
  58276. this.checkLastValues = [];
  58277. this.$element = null;
  58278. this.element = elementRef.nativeElement;
  58279. this.componentScope = scope.$new(!!directive.scope);
  58280. this.$element = __WEBPACK_IMPORTED_MODULE_1__angular_js__["a" /* element */](this.element);
  58281. var controllerType = directive.controller;
  58282. if (directive.bindToController && controllerType) {
  58283. this.destinationObj = this.buildController(controllerType);
  58284. }
  58285. else {
  58286. this.destinationObj = this.componentScope;
  58287. }
  58288. for (var i = 0; i < inputs.length; i++) {
  58289. this[inputs[i]] = null;
  58290. }
  58291. for (var j = 0; j < outputs.length; j++) {
  58292. var emitter = this[outputs[j]] = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["EventEmitter"]();
  58293. this.setComponentProperty(outputs[j], (function (emitter /** TODO #9100 */) { return function (value /** TODO #9100 */) {
  58294. return emitter.emit(value);
  58295. }; })(emitter));
  58296. }
  58297. for (var k = 0; k < propOuts.length; k++) {
  58298. this[propOuts[k]] = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["EventEmitter"]();
  58299. this.checkLastValues.push(INITIAL_VALUE);
  58300. }
  58301. }
  58302. UpgradeNg1ComponentAdapter.prototype.ngOnInit = function () {
  58303. var _this = this;
  58304. if (!this.directive.bindToController && this.directive.controller) {
  58305. this.buildController(this.directive.controller);
  58306. }
  58307. var link = this.directive.link;
  58308. if (typeof link == 'object')
  58309. link = link.pre;
  58310. if (link) {
  58311. var attrs = NOT_SUPPORTED;
  58312. var transcludeFn = NOT_SUPPORTED;
  58313. var linkController = this.resolveRequired(this.$element, this.directive.require);
  58314. this.directive.link(this.componentScope, this.$element, attrs, linkController, transcludeFn);
  58315. }
  58316. var childNodes = [];
  58317. var childNode;
  58318. while (childNode = this.element.firstChild) {
  58319. this.element.removeChild(childNode);
  58320. childNodes.push(childNode);
  58321. }
  58322. this.linkFn(this.componentScope, function (clonedElement, scope) {
  58323. for (var i = 0, ii = clonedElement.length; i < ii; i++) {
  58324. _this.element.appendChild(clonedElement[i]);
  58325. }
  58326. }, {
  58327. parentBoundTranscludeFn: function (scope /** TODO #9100 */, cloneAttach /** TODO #9100 */) { cloneAttach(childNodes); }
  58328. });
  58329. if (this.destinationObj.$onInit) {
  58330. this.destinationObj.$onInit();
  58331. }
  58332. };
  58333. UpgradeNg1ComponentAdapter.prototype.ngOnChanges = function (changes) {
  58334. for (var name in changes) {
  58335. if (changes.hasOwnProperty(name)) {
  58336. var change = changes[name];
  58337. this.setComponentProperty(name, change.currentValue);
  58338. }
  58339. }
  58340. };
  58341. UpgradeNg1ComponentAdapter.prototype.ngDoCheck = function () {
  58342. var count = 0;
  58343. var destinationObj = this.destinationObj;
  58344. var lastValues = this.checkLastValues;
  58345. var checkProperties = this.checkProperties;
  58346. for (var i = 0; i < checkProperties.length; i++) {
  58347. var value = destinationObj[checkProperties[i]];
  58348. var last = lastValues[i];
  58349. if (value !== last) {
  58350. if (typeof value == 'number' && isNaN(value) && typeof last == 'number' && isNaN(last)) {
  58351. }
  58352. else {
  58353. var eventEmitter = this[this.propOuts[i]];
  58354. eventEmitter.emit(lastValues[i] = value);
  58355. }
  58356. }
  58357. }
  58358. return count;
  58359. };
  58360. UpgradeNg1ComponentAdapter.prototype.setComponentProperty = function (name, value) {
  58361. this.destinationObj[this.propertyMap[name]] = value;
  58362. };
  58363. UpgradeNg1ComponentAdapter.prototype.buildController = function (controllerType /** TODO #9100 */) {
  58364. var locals = { $scope: this.componentScope, $element: this.$element };
  58365. var controller = this.$controller(controllerType, locals, null, this.directive.controllerAs);
  58366. this.$element.data(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["a" /* controllerKey */])(this.directive.name), controller);
  58367. return controller;
  58368. };
  58369. UpgradeNg1ComponentAdapter.prototype.resolveRequired = function ($element, require) {
  58370. if (!require) {
  58371. return undefined;
  58372. }
  58373. else if (typeof require == 'string') {
  58374. var name = require;
  58375. var isOptional = false;
  58376. var startParent = false;
  58377. var searchParents = false;
  58378. var ch;
  58379. if (name.charAt(0) == '?') {
  58380. isOptional = true;
  58381. name = name.substr(1);
  58382. }
  58383. if (name.charAt(0) == '^') {
  58384. searchParents = true;
  58385. name = name.substr(1);
  58386. }
  58387. if (name.charAt(0) == '^') {
  58388. startParent = true;
  58389. name = name.substr(1);
  58390. }
  58391. var key = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util__["a" /* controllerKey */])(name);
  58392. if (startParent)
  58393. $element = $element.parent();
  58394. var dep = searchParents ? $element.inheritedData(key) : $element.data(key);
  58395. if (!dep && !isOptional) {
  58396. throw new Error("Can not locate '" + require + "' in '" + this.directive.name + "'.");
  58397. }
  58398. return dep;
  58399. }
  58400. else if (require instanceof Array) {
  58401. var deps = [];
  58402. for (var i = 0; i < require.length; i++) {
  58403. deps.push(this.resolveRequired($element, require[i]));
  58404. }
  58405. return deps;
  58406. }
  58407. throw new Error("Directive '" + this.directive.name + "' require syntax unrecognized: " + this.directive.require);
  58408. };
  58409. return UpgradeNg1ComponentAdapter;
  58410. }());
  58411. //# sourceMappingURL=upgrade_ng1_adapter.js.map
  58412. /***/ },
  58413. /* 537 */,
  58414. /* 538 */,
  58415. /* 539 */,
  58416. /* 540 */
  58417. /***/ function(module, exports, __webpack_require__) {
  58418. var forOf = __webpack_require__(117);
  58419. module.exports = function(iter, ITERATOR){
  58420. var result = [];
  58421. forOf(iter, false, result.push, result, ITERATOR);
  58422. return result;
  58423. };
  58424. /***/ },
  58425. /* 541 */
  58426. /***/ function(module, exports, __webpack_require__) {
  58427. var isObject = __webpack_require__(10)
  58428. , isArray = __webpack_require__(244)
  58429. , SPECIES = __webpack_require__(14)('species');
  58430. module.exports = function(original){
  58431. var C;
  58432. if(isArray(original)){
  58433. C = original.constructor;
  58434. // cross-realm fallback
  58435. if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;
  58436. if(isObject(C)){
  58437. C = C[SPECIES];
  58438. if(C === null)C = undefined;
  58439. }
  58440. } return C === undefined ? Array : C;
  58441. };
  58442. /***/ },
  58443. /* 542 */
  58444. /***/ function(module, exports, __webpack_require__) {
  58445. // 9.4.2.3 ArraySpeciesCreate(originalArray, length)
  58446. var speciesConstructor = __webpack_require__(541);
  58447. module.exports = function(original, length){
  58448. return new (speciesConstructor(original))(length);
  58449. };
  58450. /***/ },
  58451. /* 543 */
  58452. /***/ function(module, exports, __webpack_require__) {
  58453. "use strict";
  58454. 'use strict';
  58455. var anObject = __webpack_require__(8)
  58456. , toPrimitive = __webpack_require__(73)
  58457. , NUMBER = 'number';
  58458. module.exports = function(hint){
  58459. if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint');
  58460. return toPrimitive(anObject(this), hint != NUMBER);
  58461. };
  58462. /***/ },
  58463. /* 544 */
  58464. /***/ function(module, exports, __webpack_require__) {
  58465. // all enumerable object keys, includes symbols
  58466. var getKeys = __webpack_require__(96)
  58467. , gOPS = __webpack_require__(163)
  58468. , pIE = __webpack_require__(164);
  58469. module.exports = function(it){
  58470. var result = getKeys(it)
  58471. , getSymbols = gOPS.f;
  58472. if(getSymbols){
  58473. var symbols = getSymbols(it)
  58474. , isEnum = pIE.f
  58475. , i = 0
  58476. , key;
  58477. while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);
  58478. } return result;
  58479. };
  58480. /***/ },
  58481. /* 545 */
  58482. /***/ function(module, exports, __webpack_require__) {
  58483. var getKeys = __webpack_require__(96)
  58484. , toIObject = __webpack_require__(42);
  58485. module.exports = function(object, el){
  58486. var O = toIObject(object)
  58487. , keys = getKeys(O)
  58488. , length = keys.length
  58489. , index = 0
  58490. , key;
  58491. while(length > index)if(O[key = keys[index++]] === el)return key;
  58492. };
  58493. /***/ },
  58494. /* 546 */
  58495. /***/ function(module, exports, __webpack_require__) {
  58496. var global = __webpack_require__(11)
  58497. , macrotask = __webpack_require__(383).set
  58498. , Observer = global.MutationObserver || global.WebKitMutationObserver
  58499. , process = global.process
  58500. , Promise = global.Promise
  58501. , isNode = __webpack_require__(57)(process) == 'process';
  58502. module.exports = function(){
  58503. var head, last, notify;
  58504. var flush = function(){
  58505. var parent, fn;
  58506. if(isNode && (parent = process.domain))parent.exit();
  58507. while(head){
  58508. fn = head.fn;
  58509. head = head.next;
  58510. try {
  58511. fn();
  58512. } catch(e){
  58513. if(head)notify();
  58514. else last = undefined;
  58515. throw e;
  58516. }
  58517. } last = undefined;
  58518. if(parent)parent.enter();
  58519. };
  58520. // Node.js
  58521. if(isNode){
  58522. notify = function(){
  58523. process.nextTick(flush);
  58524. };
  58525. // browsers with MutationObserver
  58526. } else if(Observer){
  58527. var toggle = true
  58528. , node = document.createTextNode('');
  58529. new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new
  58530. notify = function(){
  58531. node.data = toggle = !toggle;
  58532. };
  58533. // environments with maybe non-completely correct, but existent Promise
  58534. } else if(Promise && Promise.resolve){
  58535. var promise = Promise.resolve();
  58536. notify = function(){
  58537. promise.then(flush);
  58538. };
  58539. // for other environments - macrotask based on:
  58540. // - setImmediate
  58541. // - MessageChannel
  58542. // - window.postMessag
  58543. // - onreadystatechange
  58544. // - setTimeout
  58545. } else {
  58546. notify = function(){
  58547. // strange IE + webpack dev server bug - use .call(global)
  58548. macrotask.call(global, flush);
  58549. };
  58550. }
  58551. return function(fn){
  58552. var task = {fn: fn, next: undefined};
  58553. if(last)last.next = task;
  58554. if(!head){
  58555. head = task;
  58556. notify();
  58557. } last = task;
  58558. };
  58559. };
  58560. /***/ },
  58561. /* 547 */
  58562. /***/ function(module, exports, __webpack_require__) {
  58563. // all object keys, includes non-enumerable and symbols
  58564. var gOPN = __webpack_require__(79)
  58565. , gOPS = __webpack_require__(163)
  58566. , anObject = __webpack_require__(8)
  58567. , Reflect = __webpack_require__(11).Reflect;
  58568. module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){
  58569. var keys = gOPN.f(anObject(it))
  58570. , getSymbols = gOPS.f;
  58571. return getSymbols ? keys.concat(getSymbols(it)) : keys;
  58572. };
  58573. /***/ },
  58574. /* 548 */
  58575. /***/ function(module, exports, __webpack_require__) {
  58576. var global = __webpack_require__(11)
  58577. , core = __webpack_require__(69)
  58578. , LIBRARY = __webpack_require__(95)
  58579. , wksExt = __webpack_require__(384)
  58580. , defineProperty = __webpack_require__(17).f;
  58581. module.exports = function(name){
  58582. var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
  58583. if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});
  58584. };
  58585. /***/ },
  58586. /* 549 */
  58587. /***/ function(module, exports, __webpack_require__) {
  58588. // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
  58589. var $export = __webpack_require__(2);
  58590. $export($export.P, 'Array', {copyWithin: __webpack_require__(361)});
  58591. __webpack_require__(116)('copyWithin');
  58592. /***/ },
  58593. /* 550 */
  58594. /***/ function(module, exports, __webpack_require__) {
  58595. "use strict";
  58596. 'use strict';
  58597. var $export = __webpack_require__(2)
  58598. , $every = __webpack_require__(45)(4);
  58599. $export($export.P + $export.F * !__webpack_require__(41)([].every, true), 'Array', {
  58600. // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
  58601. every: function every(callbackfn /* , thisArg */){
  58602. return $every(this, callbackfn, arguments[1]);
  58603. }
  58604. });
  58605. /***/ },
  58606. /* 551 */
  58607. /***/ function(module, exports, __webpack_require__) {
  58608. // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
  58609. var $export = __webpack_require__(2);
  58610. $export($export.P, 'Array', {fill: __webpack_require__(235)});
  58611. __webpack_require__(116)('fill');
  58612. /***/ },
  58613. /* 552 */
  58614. /***/ function(module, exports, __webpack_require__) {
  58615. "use strict";
  58616. 'use strict';
  58617. var $export = __webpack_require__(2)
  58618. , $filter = __webpack_require__(45)(2);
  58619. $export($export.P + $export.F * !__webpack_require__(41)([].filter, true), 'Array', {
  58620. // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
  58621. filter: function filter(callbackfn /* , thisArg */){
  58622. return $filter(this, callbackfn, arguments[1]);
  58623. }
  58624. });
  58625. /***/ },
  58626. /* 553 */
  58627. /***/ function(module, exports, __webpack_require__) {
  58628. "use strict";
  58629. 'use strict';
  58630. // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
  58631. var $export = __webpack_require__(2)
  58632. , $find = __webpack_require__(45)(6)
  58633. , KEY = 'findIndex'
  58634. , forced = true;
  58635. // Shouldn't skip holes
  58636. if(KEY in [])Array(1)[KEY](function(){ forced = false; });
  58637. $export($export.P + $export.F * forced, 'Array', {
  58638. findIndex: function findIndex(callbackfn/*, that = undefined */){
  58639. return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  58640. }
  58641. });
  58642. __webpack_require__(116)(KEY);
  58643. /***/ },
  58644. /* 554 */
  58645. /***/ function(module, exports, __webpack_require__) {
  58646. "use strict";
  58647. 'use strict';
  58648. // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
  58649. var $export = __webpack_require__(2)
  58650. , $find = __webpack_require__(45)(5)
  58651. , KEY = 'find'
  58652. , forced = true;
  58653. // Shouldn't skip holes
  58654. if(KEY in [])Array(1)[KEY](function(){ forced = false; });
  58655. $export($export.P + $export.F * forced, 'Array', {
  58656. find: function find(callbackfn/*, that = undefined */){
  58657. return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  58658. }
  58659. });
  58660. __webpack_require__(116)(KEY);
  58661. /***/ },
  58662. /* 555 */
  58663. /***/ function(module, exports, __webpack_require__) {
  58664. "use strict";
  58665. 'use strict';
  58666. var $export = __webpack_require__(2)
  58667. , $forEach = __webpack_require__(45)(0)
  58668. , STRICT = __webpack_require__(41)([].forEach, true);
  58669. $export($export.P + $export.F * !STRICT, 'Array', {
  58670. // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
  58671. forEach: function forEach(callbackfn /* , thisArg */){
  58672. return $forEach(this, callbackfn, arguments[1]);
  58673. }
  58674. });
  58675. /***/ },
  58676. /* 556 */
  58677. /***/ function(module, exports, __webpack_require__) {
  58678. "use strict";
  58679. 'use strict';
  58680. var ctx = __webpack_require__(58)
  58681. , $export = __webpack_require__(2)
  58682. , toObject = __webpack_require__(38)
  58683. , call = __webpack_require__(370)
  58684. , isArrayIter = __webpack_require__(243)
  58685. , toLength = __webpack_require__(26)
  58686. , createProperty = __webpack_require__(366)
  58687. , getIterFn = __webpack_require__(255);
  58688. $export($export.S + $export.F * !__webpack_require__(162)(function(iter){ Array.from(iter); }), 'Array', {
  58689. // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
  58690. from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){
  58691. var O = toObject(arrayLike)
  58692. , C = typeof this == 'function' ? this : Array
  58693. , aLen = arguments.length
  58694. , mapfn = aLen > 1 ? arguments[1] : undefined
  58695. , mapping = mapfn !== undefined
  58696. , index = 0
  58697. , iterFn = getIterFn(O)
  58698. , length, result, step, iterator;
  58699. if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
  58700. // if object isn't iterable or it's array with default iterator - use simple case
  58701. if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){
  58702. for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){
  58703. createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
  58704. }
  58705. } else {
  58706. length = toLength(O.length);
  58707. for(result = new C(length); length > index; index++){
  58708. createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
  58709. }
  58710. }
  58711. result.length = index;
  58712. return result;
  58713. }
  58714. });
  58715. /***/ },
  58716. /* 557 */
  58717. /***/ function(module, exports, __webpack_require__) {
  58718. "use strict";
  58719. 'use strict';
  58720. var $export = __webpack_require__(2)
  58721. , $indexOf = __webpack_require__(236)(false)
  58722. , $native = [].indexOf
  58723. , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;
  58724. $export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(41)($native)), 'Array', {
  58725. // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
  58726. indexOf: function indexOf(searchElement /*, fromIndex = 0 */){
  58727. return NEGATIVE_ZERO
  58728. // convert -0 to +0
  58729. ? $native.apply(this, arguments) || 0
  58730. : $indexOf(this, searchElement, arguments[1]);
  58731. }
  58732. });
  58733. /***/ },
  58734. /* 558 */
  58735. /***/ function(module, exports, __webpack_require__) {
  58736. // 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
  58737. var $export = __webpack_require__(2);
  58738. $export($export.S, 'Array', {isArray: __webpack_require__(244)});
  58739. /***/ },
  58740. /* 559 */
  58741. /***/ function(module, exports, __webpack_require__) {
  58742. "use strict";
  58743. 'use strict';
  58744. // 22.1.3.13 Array.prototype.join(separator)
  58745. var $export = __webpack_require__(2)
  58746. , toIObject = __webpack_require__(42)
  58747. , arrayJoin = [].join;
  58748. // fallback for not array-like strings
  58749. $export($export.P + $export.F * (__webpack_require__(118) != Object || !__webpack_require__(41)(arrayJoin)), 'Array', {
  58750. join: function join(separator){
  58751. return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);
  58752. }
  58753. });
  58754. /***/ },
  58755. /* 560 */
  58756. /***/ function(module, exports, __webpack_require__) {
  58757. "use strict";
  58758. 'use strict';
  58759. var $export = __webpack_require__(2)
  58760. , toIObject = __webpack_require__(42)
  58761. , toInteger = __webpack_require__(72)
  58762. , toLength = __webpack_require__(26)
  58763. , $native = [].lastIndexOf
  58764. , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;
  58765. $export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(41)($native)), 'Array', {
  58766. // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
  58767. lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){
  58768. // convert -0 to +0
  58769. if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0;
  58770. var O = toIObject(this)
  58771. , length = toLength(O.length)
  58772. , index = length - 1;
  58773. if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1]));
  58774. if(index < 0)index = length + index;
  58775. for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0;
  58776. return -1;
  58777. }
  58778. });
  58779. /***/ },
  58780. /* 561 */
  58781. /***/ function(module, exports, __webpack_require__) {
  58782. "use strict";
  58783. 'use strict';
  58784. var $export = __webpack_require__(2)
  58785. , $map = __webpack_require__(45)(1);
  58786. $export($export.P + $export.F * !__webpack_require__(41)([].map, true), 'Array', {
  58787. // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
  58788. map: function map(callbackfn /* , thisArg */){
  58789. return $map(this, callbackfn, arguments[1]);
  58790. }
  58791. });
  58792. /***/ },
  58793. /* 562 */
  58794. /***/ function(module, exports, __webpack_require__) {
  58795. "use strict";
  58796. 'use strict';
  58797. var $export = __webpack_require__(2)
  58798. , createProperty = __webpack_require__(366);
  58799. // WebKit Array.of isn't generic
  58800. $export($export.S + $export.F * __webpack_require__(9)(function(){
  58801. function F(){}
  58802. return !(Array.of.call(F) instanceof F);
  58803. }), 'Array', {
  58804. // 22.1.2.3 Array.of( ...items)
  58805. of: function of(/* ...args */){
  58806. var index = 0
  58807. , aLen = arguments.length
  58808. , result = new (typeof this == 'function' ? this : Array)(aLen);
  58809. while(aLen > index)createProperty(result, index, arguments[index++]);
  58810. result.length = aLen;
  58811. return result;
  58812. }
  58813. });
  58814. /***/ },
  58815. /* 563 */
  58816. /***/ function(module, exports, __webpack_require__) {
  58817. "use strict";
  58818. 'use strict';
  58819. var $export = __webpack_require__(2)
  58820. , $reduce = __webpack_require__(362);
  58821. $export($export.P + $export.F * !__webpack_require__(41)([].reduceRight, true), 'Array', {
  58822. // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
  58823. reduceRight: function reduceRight(callbackfn /* , initialValue */){
  58824. return $reduce(this, callbackfn, arguments.length, arguments[1], true);
  58825. }
  58826. });
  58827. /***/ },
  58828. /* 564 */
  58829. /***/ function(module, exports, __webpack_require__) {
  58830. "use strict";
  58831. 'use strict';
  58832. var $export = __webpack_require__(2)
  58833. , $reduce = __webpack_require__(362);
  58834. $export($export.P + $export.F * !__webpack_require__(41)([].reduce, true), 'Array', {
  58835. // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
  58836. reduce: function reduce(callbackfn /* , initialValue */){
  58837. return $reduce(this, callbackfn, arguments.length, arguments[1], false);
  58838. }
  58839. });
  58840. /***/ },
  58841. /* 565 */
  58842. /***/ function(module, exports, __webpack_require__) {
  58843. "use strict";
  58844. 'use strict';
  58845. var $export = __webpack_require__(2)
  58846. , html = __webpack_require__(241)
  58847. , cof = __webpack_require__(57)
  58848. , toIndex = __webpack_require__(80)
  58849. , toLength = __webpack_require__(26)
  58850. , arraySlice = [].slice;
  58851. // fallback for not array-like ES3 strings and DOM objects
  58852. $export($export.P + $export.F * __webpack_require__(9)(function(){
  58853. if(html)arraySlice.call(html);
  58854. }), 'Array', {
  58855. slice: function slice(begin, end){
  58856. var len = toLength(this.length)
  58857. , klass = cof(this);
  58858. end = end === undefined ? len : end;
  58859. if(klass == 'Array')return arraySlice.call(this, begin, end);
  58860. var start = toIndex(begin, len)
  58861. , upTo = toIndex(end, len)
  58862. , size = toLength(upTo - start)
  58863. , cloned = Array(size)
  58864. , i = 0;
  58865. for(; i < size; i++)cloned[i] = klass == 'String'
  58866. ? this.charAt(start + i)
  58867. : this[start + i];
  58868. return cloned;
  58869. }
  58870. });
  58871. /***/ },
  58872. /* 566 */
  58873. /***/ function(module, exports, __webpack_require__) {
  58874. "use strict";
  58875. 'use strict';
  58876. var $export = __webpack_require__(2)
  58877. , $some = __webpack_require__(45)(3);
  58878. $export($export.P + $export.F * !__webpack_require__(41)([].some, true), 'Array', {
  58879. // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
  58880. some: function some(callbackfn /* , thisArg */){
  58881. return $some(this, callbackfn, arguments[1]);
  58882. }
  58883. });
  58884. /***/ },
  58885. /* 567 */
  58886. /***/ function(module, exports, __webpack_require__) {
  58887. "use strict";
  58888. 'use strict';
  58889. var $export = __webpack_require__(2)
  58890. , aFunction = __webpack_require__(56)
  58891. , toObject = __webpack_require__(38)
  58892. , fails = __webpack_require__(9)
  58893. , $sort = [].sort
  58894. , test = [1, 2, 3];
  58895. $export($export.P + $export.F * (fails(function(){
  58896. // IE8-
  58897. test.sort(undefined);
  58898. }) || !fails(function(){
  58899. // V8 bug
  58900. test.sort(null);
  58901. // Old WebKit
  58902. }) || !__webpack_require__(41)($sort)), 'Array', {
  58903. // 22.1.3.25 Array.prototype.sort(comparefn)
  58904. sort: function sort(comparefn){
  58905. return comparefn === undefined
  58906. ? $sort.call(toObject(this))
  58907. : $sort.call(toObject(this), aFunction(comparefn));
  58908. }
  58909. });
  58910. /***/ },
  58911. /* 568 */
  58912. /***/ function(module, exports, __webpack_require__) {
  58913. __webpack_require__(98)('Array');
  58914. /***/ },
  58915. /* 569 */
  58916. /***/ function(module, exports, __webpack_require__) {
  58917. // 20.3.3.1 / 15.9.4.4 Date.now()
  58918. var $export = __webpack_require__(2);
  58919. $export($export.S, 'Date', {now: function(){ return new Date().getTime(); }});
  58920. /***/ },
  58921. /* 570 */
  58922. /***/ function(module, exports, __webpack_require__) {
  58923. "use strict";
  58924. 'use strict';
  58925. // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
  58926. var $export = __webpack_require__(2)
  58927. , fails = __webpack_require__(9)
  58928. , getTime = Date.prototype.getTime;
  58929. var lz = function(num){
  58930. return num > 9 ? num : '0' + num;
  58931. };
  58932. // PhantomJS / old WebKit has a broken implementations
  58933. $export($export.P + $export.F * (fails(function(){
  58934. return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';
  58935. }) || !fails(function(){
  58936. new Date(NaN).toISOString();
  58937. })), 'Date', {
  58938. toISOString: function toISOString(){
  58939. if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value');
  58940. var d = this
  58941. , y = d.getUTCFullYear()
  58942. , m = d.getUTCMilliseconds()
  58943. , s = y < 0 ? '-' : y > 9999 ? '+' : '';
  58944. return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
  58945. '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
  58946. 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
  58947. ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
  58948. }
  58949. });
  58950. /***/ },
  58951. /* 571 */
  58952. /***/ function(module, exports, __webpack_require__) {
  58953. "use strict";
  58954. 'use strict';
  58955. var $export = __webpack_require__(2)
  58956. , toObject = __webpack_require__(38)
  58957. , toPrimitive = __webpack_require__(73);
  58958. $export($export.P + $export.F * __webpack_require__(9)(function(){
  58959. return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1;
  58960. }), 'Date', {
  58961. toJSON: function toJSON(key){
  58962. var O = toObject(this)
  58963. , pv = toPrimitive(O);
  58964. return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
  58965. }
  58966. });
  58967. /***/ },
  58968. /* 572 */
  58969. /***/ function(module, exports, __webpack_require__) {
  58970. var TO_PRIMITIVE = __webpack_require__(14)('toPrimitive')
  58971. , proto = Date.prototype;
  58972. if(!(TO_PRIMITIVE in proto))__webpack_require__(40)(proto, TO_PRIMITIVE, __webpack_require__(543));
  58973. /***/ },
  58974. /* 573 */
  58975. /***/ function(module, exports, __webpack_require__) {
  58976. var DateProto = Date.prototype
  58977. , INVALID_DATE = 'Invalid Date'
  58978. , TO_STRING = 'toString'
  58979. , $toString = DateProto[TO_STRING]
  58980. , getTime = DateProto.getTime;
  58981. if(new Date(NaN) + '' != INVALID_DATE){
  58982. __webpack_require__(37)(DateProto, TO_STRING, function toString(){
  58983. var value = getTime.call(this);
  58984. return value === value ? $toString.call(this) : INVALID_DATE;
  58985. });
  58986. }
  58987. /***/ },
  58988. /* 574 */
  58989. /***/ function(module, exports, __webpack_require__) {
  58990. // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
  58991. var $export = __webpack_require__(2);
  58992. $export($export.P, 'Function', {bind: __webpack_require__(363)});
  58993. /***/ },
  58994. /* 575 */
  58995. /***/ function(module, exports, __webpack_require__) {
  58996. "use strict";
  58997. 'use strict';
  58998. var isObject = __webpack_require__(10)
  58999. , getPrototypeOf = __webpack_require__(46)
  59000. , HAS_INSTANCE = __webpack_require__(14)('hasInstance')
  59001. , FunctionProto = Function.prototype;
  59002. // 19.2.3.6 Function.prototype[@@hasInstance](V)
  59003. if(!(HAS_INSTANCE in FunctionProto))__webpack_require__(17).f(FunctionProto, HAS_INSTANCE, {value: function(O){
  59004. if(typeof this != 'function' || !isObject(O))return false;
  59005. if(!isObject(this.prototype))return O instanceof this;
  59006. // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
  59007. while(O = getPrototypeOf(O))if(this.prototype === O)return true;
  59008. return false;
  59009. }});
  59010. /***/ },
  59011. /* 576 */
  59012. /***/ function(module, exports, __webpack_require__) {
  59013. var dP = __webpack_require__(17).f
  59014. , createDesc = __webpack_require__(71)
  59015. , has = __webpack_require__(32)
  59016. , FProto = Function.prototype
  59017. , nameRE = /^\s*function ([^ (]*)/
  59018. , NAME = 'name';
  59019. var isExtensible = Object.isExtensible || function(){
  59020. return true;
  59021. };
  59022. // 19.2.4.2 name
  59023. NAME in FProto || __webpack_require__(21) && dP(FProto, NAME, {
  59024. configurable: true,
  59025. get: function(){
  59026. try {
  59027. var that = this
  59028. , name = ('' + that).match(nameRE)[1];
  59029. has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));
  59030. return name;
  59031. } catch(e){
  59032. return '';
  59033. }
  59034. }
  59035. });
  59036. /***/ },
  59037. /* 577 */
  59038. /***/ function(module, exports, __webpack_require__) {
  59039. // 20.2.2.3 Math.acosh(x)
  59040. var $export = __webpack_require__(2)
  59041. , log1p = __webpack_require__(373)
  59042. , sqrt = Math.sqrt
  59043. , $acosh = Math.acosh;
  59044. $export($export.S + $export.F * !($acosh
  59045. // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
  59046. && Math.floor($acosh(Number.MAX_VALUE)) == 710
  59047. // Tor Browser bug: Math.acosh(Infinity) -> NaN
  59048. && $acosh(Infinity) == Infinity
  59049. ), 'Math', {
  59050. acosh: function acosh(x){
  59051. return (x = +x) < 1 ? NaN : x > 94906265.62425156
  59052. ? Math.log(x) + Math.LN2
  59053. : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
  59054. }
  59055. });
  59056. /***/ },
  59057. /* 578 */
  59058. /***/ function(module, exports, __webpack_require__) {
  59059. // 20.2.2.5 Math.asinh(x)
  59060. var $export = __webpack_require__(2)
  59061. , $asinh = Math.asinh;
  59062. function asinh(x){
  59063. return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));
  59064. }
  59065. // Tor Browser bug: Math.asinh(0) -> -0
  59066. $export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh});
  59067. /***/ },
  59068. /* 579 */
  59069. /***/ function(module, exports, __webpack_require__) {
  59070. // 20.2.2.7 Math.atanh(x)
  59071. var $export = __webpack_require__(2)
  59072. , $atanh = Math.atanh;
  59073. // Tor Browser bug: Math.atanh(-0) -> 0
  59074. $export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {
  59075. atanh: function atanh(x){
  59076. return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
  59077. }
  59078. });
  59079. /***/ },
  59080. /* 580 */
  59081. /***/ function(module, exports, __webpack_require__) {
  59082. // 20.2.2.9 Math.cbrt(x)
  59083. var $export = __webpack_require__(2)
  59084. , sign = __webpack_require__(248);
  59085. $export($export.S, 'Math', {
  59086. cbrt: function cbrt(x){
  59087. return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);
  59088. }
  59089. });
  59090. /***/ },
  59091. /* 581 */
  59092. /***/ function(module, exports, __webpack_require__) {
  59093. // 20.2.2.11 Math.clz32(x)
  59094. var $export = __webpack_require__(2);
  59095. $export($export.S, 'Math', {
  59096. clz32: function clz32(x){
  59097. return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;
  59098. }
  59099. });
  59100. /***/ },
  59101. /* 582 */
  59102. /***/ function(module, exports, __webpack_require__) {
  59103. // 20.2.2.12 Math.cosh(x)
  59104. var $export = __webpack_require__(2)
  59105. , exp = Math.exp;
  59106. $export($export.S, 'Math', {
  59107. cosh: function cosh(x){
  59108. return (exp(x = +x) + exp(-x)) / 2;
  59109. }
  59110. });
  59111. /***/ },
  59112. /* 583 */
  59113. /***/ function(module, exports, __webpack_require__) {
  59114. // 20.2.2.14 Math.expm1(x)
  59115. var $export = __webpack_require__(2)
  59116. , $expm1 = __webpack_require__(247);
  59117. $export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1});
  59118. /***/ },
  59119. /* 584 */
  59120. /***/ function(module, exports, __webpack_require__) {
  59121. // 20.2.2.16 Math.fround(x)
  59122. var $export = __webpack_require__(2)
  59123. , sign = __webpack_require__(248)
  59124. , pow = Math.pow
  59125. , EPSILON = pow(2, -52)
  59126. , EPSILON32 = pow(2, -23)
  59127. , MAX32 = pow(2, 127) * (2 - EPSILON32)
  59128. , MIN32 = pow(2, -126);
  59129. var roundTiesToEven = function(n){
  59130. return n + 1 / EPSILON - 1 / EPSILON;
  59131. };
  59132. $export($export.S, 'Math', {
  59133. fround: function fround(x){
  59134. var $abs = Math.abs(x)
  59135. , $sign = sign(x)
  59136. , a, result;
  59137. if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
  59138. a = (1 + EPSILON32 / EPSILON) * $abs;
  59139. result = a - (a - $abs);
  59140. if(result > MAX32 || result != result)return $sign * Infinity;
  59141. return $sign * result;
  59142. }
  59143. });
  59144. /***/ },
  59145. /* 585 */
  59146. /***/ function(module, exports, __webpack_require__) {
  59147. // 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
  59148. var $export = __webpack_require__(2)
  59149. , abs = Math.abs;
  59150. $export($export.S, 'Math', {
  59151. hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars
  59152. var sum = 0
  59153. , i = 0
  59154. , aLen = arguments.length
  59155. , larg = 0
  59156. , arg, div;
  59157. while(i < aLen){
  59158. arg = abs(arguments[i++]);
  59159. if(larg < arg){
  59160. div = larg / arg;
  59161. sum = sum * div * div + 1;
  59162. larg = arg;
  59163. } else if(arg > 0){
  59164. div = arg / larg;
  59165. sum += div * div;
  59166. } else sum += arg;
  59167. }
  59168. return larg === Infinity ? Infinity : larg * Math.sqrt(sum);
  59169. }
  59170. });
  59171. /***/ },
  59172. /* 586 */
  59173. /***/ function(module, exports, __webpack_require__) {
  59174. // 20.2.2.18 Math.imul(x, y)
  59175. var $export = __webpack_require__(2)
  59176. , $imul = Math.imul;
  59177. // some WebKit versions fails with big numbers, some has wrong arity
  59178. $export($export.S + $export.F * __webpack_require__(9)(function(){
  59179. return $imul(0xffffffff, 5) != -5 || $imul.length != 2;
  59180. }), 'Math', {
  59181. imul: function imul(x, y){
  59182. var UINT16 = 0xffff
  59183. , xn = +x
  59184. , yn = +y
  59185. , xl = UINT16 & xn
  59186. , yl = UINT16 & yn;
  59187. return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
  59188. }
  59189. });
  59190. /***/ },
  59191. /* 587 */
  59192. /***/ function(module, exports, __webpack_require__) {
  59193. // 20.2.2.21 Math.log10(x)
  59194. var $export = __webpack_require__(2);
  59195. $export($export.S, 'Math', {
  59196. log10: function log10(x){
  59197. return Math.log(x) / Math.LN10;
  59198. }
  59199. });
  59200. /***/ },
  59201. /* 588 */
  59202. /***/ function(module, exports, __webpack_require__) {
  59203. // 20.2.2.20 Math.log1p(x)
  59204. var $export = __webpack_require__(2);
  59205. $export($export.S, 'Math', {log1p: __webpack_require__(373)});
  59206. /***/ },
  59207. /* 589 */
  59208. /***/ function(module, exports, __webpack_require__) {
  59209. // 20.2.2.22 Math.log2(x)
  59210. var $export = __webpack_require__(2);
  59211. $export($export.S, 'Math', {
  59212. log2: function log2(x){
  59213. return Math.log(x) / Math.LN2;
  59214. }
  59215. });
  59216. /***/ },
  59217. /* 590 */
  59218. /***/ function(module, exports, __webpack_require__) {
  59219. // 20.2.2.28 Math.sign(x)
  59220. var $export = __webpack_require__(2);
  59221. $export($export.S, 'Math', {sign: __webpack_require__(248)});
  59222. /***/ },
  59223. /* 591 */
  59224. /***/ function(module, exports, __webpack_require__) {
  59225. // 20.2.2.30 Math.sinh(x)
  59226. var $export = __webpack_require__(2)
  59227. , expm1 = __webpack_require__(247)
  59228. , exp = Math.exp;
  59229. // V8 near Chromium 38 has a problem with very small numbers
  59230. $export($export.S + $export.F * __webpack_require__(9)(function(){
  59231. return !Math.sinh(-2e-17) != -2e-17;
  59232. }), 'Math', {
  59233. sinh: function sinh(x){
  59234. return Math.abs(x = +x) < 1
  59235. ? (expm1(x) - expm1(-x)) / 2
  59236. : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);
  59237. }
  59238. });
  59239. /***/ },
  59240. /* 592 */
  59241. /***/ function(module, exports, __webpack_require__) {
  59242. // 20.2.2.33 Math.tanh(x)
  59243. var $export = __webpack_require__(2)
  59244. , expm1 = __webpack_require__(247)
  59245. , exp = Math.exp;
  59246. $export($export.S, 'Math', {
  59247. tanh: function tanh(x){
  59248. var a = expm1(x = +x)
  59249. , b = expm1(-x);
  59250. return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
  59251. }
  59252. });
  59253. /***/ },
  59254. /* 593 */
  59255. /***/ function(module, exports, __webpack_require__) {
  59256. // 20.2.2.34 Math.trunc(x)
  59257. var $export = __webpack_require__(2);
  59258. $export($export.S, 'Math', {
  59259. trunc: function trunc(it){
  59260. return (it > 0 ? Math.floor : Math.ceil)(it);
  59261. }
  59262. });
  59263. /***/ },
  59264. /* 594 */
  59265. /***/ function(module, exports, __webpack_require__) {
  59266. "use strict";
  59267. 'use strict';
  59268. var global = __webpack_require__(11)
  59269. , has = __webpack_require__(32)
  59270. , cof = __webpack_require__(57)
  59271. , inheritIfRequired = __webpack_require__(242)
  59272. , toPrimitive = __webpack_require__(73)
  59273. , fails = __webpack_require__(9)
  59274. , gOPN = __webpack_require__(79).f
  59275. , gOPD = __webpack_require__(61).f
  59276. , dP = __webpack_require__(17).f
  59277. , $trim = __webpack_require__(166).trim
  59278. , NUMBER = 'Number'
  59279. , $Number = global[NUMBER]
  59280. , Base = $Number
  59281. , proto = $Number.prototype
  59282. // Opera ~12 has broken Object#toString
  59283. , BROKEN_COF = cof(__webpack_require__(78)(proto)) == NUMBER
  59284. , TRIM = 'trim' in String.prototype;
  59285. // 7.1.3 ToNumber(argument)
  59286. var toNumber = function(argument){
  59287. var it = toPrimitive(argument, false);
  59288. if(typeof it == 'string' && it.length > 2){
  59289. it = TRIM ? it.trim() : $trim(it, 3);
  59290. var first = it.charCodeAt(0)
  59291. , third, radix, maxCode;
  59292. if(first === 43 || first === 45){
  59293. third = it.charCodeAt(2);
  59294. if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix
  59295. } else if(first === 48){
  59296. switch(it.charCodeAt(1)){
  59297. case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i
  59298. case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i
  59299. default : return +it;
  59300. }
  59301. for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){
  59302. code = digits.charCodeAt(i);
  59303. // parseInt parses a string to a first unavailable symbol
  59304. // but ToNumber should return NaN if a string contains unavailable symbols
  59305. if(code < 48 || code > maxCode)return NaN;
  59306. } return parseInt(digits, radix);
  59307. }
  59308. } return +it;
  59309. };
  59310. if(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){
  59311. $Number = function Number(value){
  59312. var it = arguments.length < 1 ? 0 : value
  59313. , that = this;
  59314. return that instanceof $Number
  59315. // check on 1..constructor(foo) case
  59316. && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)
  59317. ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);
  59318. };
  59319. for(var keys = __webpack_require__(21) ? gOPN(Base) : (
  59320. // ES3:
  59321. 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
  59322. // ES6 (in case, if modules with ES6 Number statics required before):
  59323. 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
  59324. 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
  59325. ).split(','), j = 0, key; keys.length > j; j++){
  59326. if(has(Base, key = keys[j]) && !has($Number, key)){
  59327. dP($Number, key, gOPD(Base, key));
  59328. }
  59329. }
  59330. $Number.prototype = proto;
  59331. proto.constructor = $Number;
  59332. __webpack_require__(37)(global, NUMBER, $Number);
  59333. }
  59334. /***/ },
  59335. /* 595 */
  59336. /***/ function(module, exports, __webpack_require__) {
  59337. // 20.1.2.1 Number.EPSILON
  59338. var $export = __webpack_require__(2);
  59339. $export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});
  59340. /***/ },
  59341. /* 596 */
  59342. /***/ function(module, exports, __webpack_require__) {
  59343. // 20.1.2.2 Number.isFinite(number)
  59344. var $export = __webpack_require__(2)
  59345. , _isFinite = __webpack_require__(11).isFinite;
  59346. $export($export.S, 'Number', {
  59347. isFinite: function isFinite(it){
  59348. return typeof it == 'number' && _isFinite(it);
  59349. }
  59350. });
  59351. /***/ },
  59352. /* 597 */
  59353. /***/ function(module, exports, __webpack_require__) {
  59354. // 20.1.2.3 Number.isInteger(number)
  59355. var $export = __webpack_require__(2);
  59356. $export($export.S, 'Number', {isInteger: __webpack_require__(369)});
  59357. /***/ },
  59358. /* 598 */
  59359. /***/ function(module, exports, __webpack_require__) {
  59360. // 20.1.2.4 Number.isNaN(number)
  59361. var $export = __webpack_require__(2);
  59362. $export($export.S, 'Number', {
  59363. isNaN: function isNaN(number){
  59364. return number != number;
  59365. }
  59366. });
  59367. /***/ },
  59368. /* 599 */
  59369. /***/ function(module, exports, __webpack_require__) {
  59370. // 20.1.2.5 Number.isSafeInteger(number)
  59371. var $export = __webpack_require__(2)
  59372. , isInteger = __webpack_require__(369)
  59373. , abs = Math.abs;
  59374. $export($export.S, 'Number', {
  59375. isSafeInteger: function isSafeInteger(number){
  59376. return isInteger(number) && abs(number) <= 0x1fffffffffffff;
  59377. }
  59378. });
  59379. /***/ },
  59380. /* 600 */
  59381. /***/ function(module, exports, __webpack_require__) {
  59382. // 20.1.2.6 Number.MAX_SAFE_INTEGER
  59383. var $export = __webpack_require__(2);
  59384. $export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});
  59385. /***/ },
  59386. /* 601 */
  59387. /***/ function(module, exports, __webpack_require__) {
  59388. // 20.1.2.10 Number.MIN_SAFE_INTEGER
  59389. var $export = __webpack_require__(2);
  59390. $export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});
  59391. /***/ },
  59392. /* 602 */
  59393. /***/ function(module, exports, __webpack_require__) {
  59394. var $export = __webpack_require__(2)
  59395. , $parseFloat = __webpack_require__(378);
  59396. // 20.1.2.12 Number.parseFloat(string)
  59397. $export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat});
  59398. /***/ },
  59399. /* 603 */
  59400. /***/ function(module, exports, __webpack_require__) {
  59401. var $export = __webpack_require__(2)
  59402. , $parseInt = __webpack_require__(379);
  59403. // 20.1.2.13 Number.parseInt(string, radix)
  59404. $export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt});
  59405. /***/ },
  59406. /* 604 */
  59407. /***/ function(module, exports, __webpack_require__) {
  59408. "use strict";
  59409. 'use strict';
  59410. var $export = __webpack_require__(2)
  59411. , toInteger = __webpack_require__(72)
  59412. , aNumberValue = __webpack_require__(360)
  59413. , repeat = __webpack_require__(382)
  59414. , $toFixed = 1..toFixed
  59415. , floor = Math.floor
  59416. , data = [0, 0, 0, 0, 0, 0]
  59417. , ERROR = 'Number.toFixed: incorrect invocation!'
  59418. , ZERO = '0';
  59419. var multiply = function(n, c){
  59420. var i = -1
  59421. , c2 = c;
  59422. while(++i < 6){
  59423. c2 += n * data[i];
  59424. data[i] = c2 % 1e7;
  59425. c2 = floor(c2 / 1e7);
  59426. }
  59427. };
  59428. var divide = function(n){
  59429. var i = 6
  59430. , c = 0;
  59431. while(--i >= 0){
  59432. c += data[i];
  59433. data[i] = floor(c / n);
  59434. c = (c % n) * 1e7;
  59435. }
  59436. };
  59437. var numToString = function(){
  59438. var i = 6
  59439. , s = '';
  59440. while(--i >= 0){
  59441. if(s !== '' || i === 0 || data[i] !== 0){
  59442. var t = String(data[i]);
  59443. s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;
  59444. }
  59445. } return s;
  59446. };
  59447. var pow = function(x, n, acc){
  59448. return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
  59449. };
  59450. var log = function(x){
  59451. var n = 0
  59452. , x2 = x;
  59453. while(x2 >= 4096){
  59454. n += 12;
  59455. x2 /= 4096;
  59456. }
  59457. while(x2 >= 2){
  59458. n += 1;
  59459. x2 /= 2;
  59460. } return n;
  59461. };
  59462. $export($export.P + $export.F * (!!$toFixed && (
  59463. 0.00008.toFixed(3) !== '0.000' ||
  59464. 0.9.toFixed(0) !== '1' ||
  59465. 1.255.toFixed(2) !== '1.25' ||
  59466. 1000000000000000128..toFixed(0) !== '1000000000000000128'
  59467. ) || !__webpack_require__(9)(function(){
  59468. // V8 ~ Android 4.3-
  59469. $toFixed.call({});
  59470. })), 'Number', {
  59471. toFixed: function toFixed(fractionDigits){
  59472. var x = aNumberValue(this, ERROR)
  59473. , f = toInteger(fractionDigits)
  59474. , s = ''
  59475. , m = ZERO
  59476. , e, z, j, k;
  59477. if(f < 0 || f > 20)throw RangeError(ERROR);
  59478. if(x != x)return 'NaN';
  59479. if(x <= -1e21 || x >= 1e21)return String(x);
  59480. if(x < 0){
  59481. s = '-';
  59482. x = -x;
  59483. }
  59484. if(x > 1e-21){
  59485. e = log(x * pow(2, 69, 1)) - 69;
  59486. z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);
  59487. z *= 0x10000000000000;
  59488. e = 52 - e;
  59489. if(e > 0){
  59490. multiply(0, z);
  59491. j = f;
  59492. while(j >= 7){
  59493. multiply(1e7, 0);
  59494. j -= 7;
  59495. }
  59496. multiply(pow(10, j, 1), 0);
  59497. j = e - 1;
  59498. while(j >= 23){
  59499. divide(1 << 23);
  59500. j -= 23;
  59501. }
  59502. divide(1 << j);
  59503. multiply(1, 1);
  59504. divide(2);
  59505. m = numToString();
  59506. } else {
  59507. multiply(0, z);
  59508. multiply(1 << -e, 0);
  59509. m = numToString() + repeat.call(ZERO, f);
  59510. }
  59511. }
  59512. if(f > 0){
  59513. k = m.length;
  59514. m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));
  59515. } else {
  59516. m = s + m;
  59517. } return m;
  59518. }
  59519. });
  59520. /***/ },
  59521. /* 605 */
  59522. /***/ function(module, exports, __webpack_require__) {
  59523. "use strict";
  59524. 'use strict';
  59525. var $export = __webpack_require__(2)
  59526. , $fails = __webpack_require__(9)
  59527. , aNumberValue = __webpack_require__(360)
  59528. , $toPrecision = 1..toPrecision;
  59529. $export($export.P + $export.F * ($fails(function(){
  59530. // IE7-
  59531. return $toPrecision.call(1, undefined) !== '1';
  59532. }) || !$fails(function(){
  59533. // V8 ~ Android 4.3-
  59534. $toPrecision.call({});
  59535. })), 'Number', {
  59536. toPrecision: function toPrecision(precision){
  59537. var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');
  59538. return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);
  59539. }
  59540. });
  59541. /***/ },
  59542. /* 606 */
  59543. /***/ function(module, exports, __webpack_require__) {
  59544. // 19.1.3.1 Object.assign(target, source)
  59545. var $export = __webpack_require__(2);
  59546. $export($export.S + $export.F, 'Object', {assign: __webpack_require__(374)});
  59547. /***/ },
  59548. /* 607 */
  59549. /***/ function(module, exports, __webpack_require__) {
  59550. var $export = __webpack_require__(2)
  59551. // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
  59552. $export($export.S, 'Object', {create: __webpack_require__(78)});
  59553. /***/ },
  59554. /* 608 */
  59555. /***/ function(module, exports, __webpack_require__) {
  59556. var $export = __webpack_require__(2);
  59557. // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
  59558. $export($export.S + $export.F * !__webpack_require__(21), 'Object', {defineProperties: __webpack_require__(375)});
  59559. /***/ },
  59560. /* 609 */
  59561. /***/ function(module, exports, __webpack_require__) {
  59562. var $export = __webpack_require__(2);
  59563. // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
  59564. $export($export.S + $export.F * !__webpack_require__(21), 'Object', {defineProperty: __webpack_require__(17).f});
  59565. /***/ },
  59566. /* 610 */
  59567. /***/ function(module, exports, __webpack_require__) {
  59568. // 19.1.2.5 Object.freeze(O)
  59569. var isObject = __webpack_require__(10)
  59570. , meta = __webpack_require__(70).onFreeze;
  59571. __webpack_require__(47)('freeze', function($freeze){
  59572. return function freeze(it){
  59573. return $freeze && isObject(it) ? $freeze(meta(it)) : it;
  59574. };
  59575. });
  59576. /***/ },
  59577. /* 611 */
  59578. /***/ function(module, exports, __webpack_require__) {
  59579. // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
  59580. var toIObject = __webpack_require__(42)
  59581. , $getOwnPropertyDescriptor = __webpack_require__(61).f;
  59582. __webpack_require__(47)('getOwnPropertyDescriptor', function(){
  59583. return function getOwnPropertyDescriptor(it, key){
  59584. return $getOwnPropertyDescriptor(toIObject(it), key);
  59585. };
  59586. });
  59587. /***/ },
  59588. /* 612 */
  59589. /***/ function(module, exports, __webpack_require__) {
  59590. // 19.1.2.7 Object.getOwnPropertyNames(O)
  59591. __webpack_require__(47)('getOwnPropertyNames', function(){
  59592. return __webpack_require__(376).f;
  59593. });
  59594. /***/ },
  59595. /* 613 */
  59596. /***/ function(module, exports, __webpack_require__) {
  59597. // 19.1.2.9 Object.getPrototypeOf(O)
  59598. var toObject = __webpack_require__(38)
  59599. , $getPrototypeOf = __webpack_require__(46);
  59600. __webpack_require__(47)('getPrototypeOf', function(){
  59601. return function getPrototypeOf(it){
  59602. return $getPrototypeOf(toObject(it));
  59603. };
  59604. });
  59605. /***/ },
  59606. /* 614 */
  59607. /***/ function(module, exports, __webpack_require__) {
  59608. // 19.1.2.11 Object.isExtensible(O)
  59609. var isObject = __webpack_require__(10);
  59610. __webpack_require__(47)('isExtensible', function($isExtensible){
  59611. return function isExtensible(it){
  59612. return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
  59613. };
  59614. });
  59615. /***/ },
  59616. /* 615 */
  59617. /***/ function(module, exports, __webpack_require__) {
  59618. // 19.1.2.12 Object.isFrozen(O)
  59619. var isObject = __webpack_require__(10);
  59620. __webpack_require__(47)('isFrozen', function($isFrozen){
  59621. return function isFrozen(it){
  59622. return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
  59623. };
  59624. });
  59625. /***/ },
  59626. /* 616 */
  59627. /***/ function(module, exports, __webpack_require__) {
  59628. // 19.1.2.13 Object.isSealed(O)
  59629. var isObject = __webpack_require__(10);
  59630. __webpack_require__(47)('isSealed', function($isSealed){
  59631. return function isSealed(it){
  59632. return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
  59633. };
  59634. });
  59635. /***/ },
  59636. /* 617 */
  59637. /***/ function(module, exports, __webpack_require__) {
  59638. // 19.1.3.10 Object.is(value1, value2)
  59639. var $export = __webpack_require__(2);
  59640. $export($export.S, 'Object', {is: __webpack_require__(380)});
  59641. /***/ },
  59642. /* 618 */
  59643. /***/ function(module, exports, __webpack_require__) {
  59644. // 19.1.2.14 Object.keys(O)
  59645. var toObject = __webpack_require__(38)
  59646. , $keys = __webpack_require__(96);
  59647. __webpack_require__(47)('keys', function(){
  59648. return function keys(it){
  59649. return $keys(toObject(it));
  59650. };
  59651. });
  59652. /***/ },
  59653. /* 619 */
  59654. /***/ function(module, exports, __webpack_require__) {
  59655. // 19.1.2.15 Object.preventExtensions(O)
  59656. var isObject = __webpack_require__(10)
  59657. , meta = __webpack_require__(70).onFreeze;
  59658. __webpack_require__(47)('preventExtensions', function($preventExtensions){
  59659. return function preventExtensions(it){
  59660. return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;
  59661. };
  59662. });
  59663. /***/ },
  59664. /* 620 */
  59665. /***/ function(module, exports, __webpack_require__) {
  59666. // 19.1.2.17 Object.seal(O)
  59667. var isObject = __webpack_require__(10)
  59668. , meta = __webpack_require__(70).onFreeze;
  59669. __webpack_require__(47)('seal', function($seal){
  59670. return function seal(it){
  59671. return $seal && isObject(it) ? $seal(meta(it)) : it;
  59672. };
  59673. });
  59674. /***/ },
  59675. /* 621 */
  59676. /***/ function(module, exports, __webpack_require__) {
  59677. // 19.1.3.19 Object.setPrototypeOf(O, proto)
  59678. var $export = __webpack_require__(2);
  59679. $export($export.S, 'Object', {setPrototypeOf: __webpack_require__(249).set});
  59680. /***/ },
  59681. /* 622 */
  59682. /***/ function(module, exports, __webpack_require__) {
  59683. "use strict";
  59684. 'use strict';
  59685. // 19.1.3.6 Object.prototype.toString()
  59686. var classof = __webpack_require__(159)
  59687. , test = {};
  59688. test[__webpack_require__(14)('toStringTag')] = 'z';
  59689. if(test + '' != '[object z]'){
  59690. __webpack_require__(37)(Object.prototype, 'toString', function toString(){
  59691. return '[object ' + classof(this) + ']';
  59692. }, true);
  59693. }
  59694. /***/ },
  59695. /* 623 */
  59696. /***/ function(module, exports, __webpack_require__) {
  59697. var $export = __webpack_require__(2)
  59698. , $parseFloat = __webpack_require__(378);
  59699. // 18.2.4 parseFloat(string)
  59700. $export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat});
  59701. /***/ },
  59702. /* 624 */
  59703. /***/ function(module, exports, __webpack_require__) {
  59704. var $export = __webpack_require__(2)
  59705. , $parseInt = __webpack_require__(379);
  59706. // 18.2.5 parseInt(string, radix)
  59707. $export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt});
  59708. /***/ },
  59709. /* 625 */
  59710. /***/ function(module, exports, __webpack_require__) {
  59711. "use strict";
  59712. 'use strict';
  59713. var LIBRARY = __webpack_require__(95)
  59714. , global = __webpack_require__(11)
  59715. , ctx = __webpack_require__(58)
  59716. , classof = __webpack_require__(159)
  59717. , $export = __webpack_require__(2)
  59718. , isObject = __webpack_require__(10)
  59719. , aFunction = __webpack_require__(56)
  59720. , anInstance = __webpack_require__(94)
  59721. , forOf = __webpack_require__(117)
  59722. , speciesConstructor = __webpack_require__(251)
  59723. , task = __webpack_require__(383).set
  59724. , microtask = __webpack_require__(546)()
  59725. , PROMISE = 'Promise'
  59726. , TypeError = global.TypeError
  59727. , process = global.process
  59728. , $Promise = global[PROMISE]
  59729. , process = global.process
  59730. , isNode = classof(process) == 'process'
  59731. , empty = function(){ /* empty */ }
  59732. , Internal, GenericPromiseCapability, Wrapper;
  59733. var USE_NATIVE = !!function(){
  59734. try {
  59735. // correct subclassing with @@species support
  59736. var promise = $Promise.resolve(1)
  59737. , FakePromise = (promise.constructor = {})[__webpack_require__(14)('species')] = function(exec){ exec(empty, empty); };
  59738. // unhandled rejections tracking support, NodeJS Promise without it fails @@species test
  59739. return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;
  59740. } catch(e){ /* empty */ }
  59741. }();
  59742. // helpers
  59743. var sameConstructor = function(a, b){
  59744. // with library wrapper special case
  59745. return a === b || a === $Promise && b === Wrapper;
  59746. };
  59747. var isThenable = function(it){
  59748. var then;
  59749. return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
  59750. };
  59751. var newPromiseCapability = function(C){
  59752. return sameConstructor($Promise, C)
  59753. ? new PromiseCapability(C)
  59754. : new GenericPromiseCapability(C);
  59755. };
  59756. var PromiseCapability = GenericPromiseCapability = function(C){
  59757. var resolve, reject;
  59758. this.promise = new C(function($$resolve, $$reject){
  59759. if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');
  59760. resolve = $$resolve;
  59761. reject = $$reject;
  59762. });
  59763. this.resolve = aFunction(resolve);
  59764. this.reject = aFunction(reject);
  59765. };
  59766. var perform = function(exec){
  59767. try {
  59768. exec();
  59769. } catch(e){
  59770. return {error: e};
  59771. }
  59772. };
  59773. var notify = function(promise, isReject){
  59774. if(promise._n)return;
  59775. promise._n = true;
  59776. var chain = promise._c;
  59777. microtask(function(){
  59778. var value = promise._v
  59779. , ok = promise._s == 1
  59780. , i = 0;
  59781. var run = function(reaction){
  59782. var handler = ok ? reaction.ok : reaction.fail
  59783. , resolve = reaction.resolve
  59784. , reject = reaction.reject
  59785. , domain = reaction.domain
  59786. , result, then;
  59787. try {
  59788. if(handler){
  59789. if(!ok){
  59790. if(promise._h == 2)onHandleUnhandled(promise);
  59791. promise._h = 1;
  59792. }
  59793. if(handler === true)result = value;
  59794. else {
  59795. if(domain)domain.enter();
  59796. result = handler(value);
  59797. if(domain)domain.exit();
  59798. }
  59799. if(result === reaction.promise){
  59800. reject(TypeError('Promise-chain cycle'));
  59801. } else if(then = isThenable(result)){
  59802. then.call(result, resolve, reject);
  59803. } else resolve(result);
  59804. } else reject(value);
  59805. } catch(e){
  59806. reject(e);
  59807. }
  59808. };
  59809. while(chain.length > i)run(chain[i++]); // variable length - can't use forEach
  59810. promise._c = [];
  59811. promise._n = false;
  59812. if(isReject && !promise._h)onUnhandled(promise);
  59813. });
  59814. };
  59815. var onUnhandled = function(promise){
  59816. task.call(global, function(){
  59817. var value = promise._v
  59818. , abrupt, handler, console;
  59819. if(isUnhandled(promise)){
  59820. abrupt = perform(function(){
  59821. if(isNode){
  59822. process.emit('unhandledRejection', value, promise);
  59823. } else if(handler = global.onunhandledrejection){
  59824. handler({promise: promise, reason: value});
  59825. } else if((console = global.console) && console.error){
  59826. console.error('Unhandled promise rejection', value);
  59827. }
  59828. });
  59829. // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
  59830. promise._h = isNode || isUnhandled(promise) ? 2 : 1;
  59831. } promise._a = undefined;
  59832. if(abrupt)throw abrupt.error;
  59833. });
  59834. };
  59835. var isUnhandled = function(promise){
  59836. if(promise._h == 1)return false;
  59837. var chain = promise._a || promise._c
  59838. , i = 0
  59839. , reaction;
  59840. while(chain.length > i){
  59841. reaction = chain[i++];
  59842. if(reaction.fail || !isUnhandled(reaction.promise))return false;
  59843. } return true;
  59844. };
  59845. var onHandleUnhandled = function(promise){
  59846. task.call(global, function(){
  59847. var handler;
  59848. if(isNode){
  59849. process.emit('rejectionHandled', promise);
  59850. } else if(handler = global.onrejectionhandled){
  59851. handler({promise: promise, reason: promise._v});
  59852. }
  59853. });
  59854. };
  59855. var $reject = function(value){
  59856. var promise = this;
  59857. if(promise._d)return;
  59858. promise._d = true;
  59859. promise = promise._w || promise; // unwrap
  59860. promise._v = value;
  59861. promise._s = 2;
  59862. if(!promise._a)promise._a = promise._c.slice();
  59863. notify(promise, true);
  59864. };
  59865. var $resolve = function(value){
  59866. var promise = this
  59867. , then;
  59868. if(promise._d)return;
  59869. promise._d = true;
  59870. promise = promise._w || promise; // unwrap
  59871. try {
  59872. if(promise === value)throw TypeError("Promise can't be resolved itself");
  59873. if(then = isThenable(value)){
  59874. microtask(function(){
  59875. var wrapper = {_w: promise, _d: false}; // wrap
  59876. try {
  59877. then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
  59878. } catch(e){
  59879. $reject.call(wrapper, e);
  59880. }
  59881. });
  59882. } else {
  59883. promise._v = value;
  59884. promise._s = 1;
  59885. notify(promise, false);
  59886. }
  59887. } catch(e){
  59888. $reject.call({_w: promise, _d: false}, e); // wrap
  59889. }
  59890. };
  59891. // constructor polyfill
  59892. if(!USE_NATIVE){
  59893. // 25.4.3.1 Promise(executor)
  59894. $Promise = function Promise(executor){
  59895. anInstance(this, $Promise, PROMISE, '_h');
  59896. aFunction(executor);
  59897. Internal.call(this);
  59898. try {
  59899. executor(ctx($resolve, this, 1), ctx($reject, this, 1));
  59900. } catch(err){
  59901. $reject.call(this, err);
  59902. }
  59903. };
  59904. Internal = function Promise(executor){
  59905. this._c = []; // <- awaiting reactions
  59906. this._a = undefined; // <- checked in isUnhandled reactions
  59907. this._s = 0; // <- state
  59908. this._d = false; // <- done
  59909. this._v = undefined; // <- value
  59910. this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
  59911. this._n = false; // <- notify
  59912. };
  59913. Internal.prototype = __webpack_require__(97)($Promise.prototype, {
  59914. // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
  59915. then: function then(onFulfilled, onRejected){
  59916. var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
  59917. reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
  59918. reaction.fail = typeof onRejected == 'function' && onRejected;
  59919. reaction.domain = isNode ? process.domain : undefined;
  59920. this._c.push(reaction);
  59921. if(this._a)this._a.push(reaction);
  59922. if(this._s)notify(this, false);
  59923. return reaction.promise;
  59924. },
  59925. // 25.4.5.1 Promise.prototype.catch(onRejected)
  59926. 'catch': function(onRejected){
  59927. return this.then(undefined, onRejected);
  59928. }
  59929. });
  59930. PromiseCapability = function(){
  59931. var promise = new Internal;
  59932. this.promise = promise;
  59933. this.resolve = ctx($resolve, promise, 1);
  59934. this.reject = ctx($reject, promise, 1);
  59935. };
  59936. }
  59937. $export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise});
  59938. __webpack_require__(99)($Promise, PROMISE);
  59939. __webpack_require__(98)(PROMISE);
  59940. Wrapper = __webpack_require__(69)[PROMISE];
  59941. // statics
  59942. $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
  59943. // 25.4.4.5 Promise.reject(r)
  59944. reject: function reject(r){
  59945. var capability = newPromiseCapability(this)
  59946. , $$reject = capability.reject;
  59947. $$reject(r);
  59948. return capability.promise;
  59949. }
  59950. });
  59951. $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
  59952. // 25.4.4.6 Promise.resolve(x)
  59953. resolve: function resolve(x){
  59954. // instanceof instead of internal slot check because we should fix it without replacement native Promise core
  59955. if(x instanceof $Promise && sameConstructor(x.constructor, this))return x;
  59956. var capability = newPromiseCapability(this)
  59957. , $$resolve = capability.resolve;
  59958. $$resolve(x);
  59959. return capability.promise;
  59960. }
  59961. });
  59962. $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(162)(function(iter){
  59963. $Promise.all(iter)['catch'](empty);
  59964. })), PROMISE, {
  59965. // 25.4.4.1 Promise.all(iterable)
  59966. all: function all(iterable){
  59967. var C = this
  59968. , capability = newPromiseCapability(C)
  59969. , resolve = capability.resolve
  59970. , reject = capability.reject;
  59971. var abrupt = perform(function(){
  59972. var values = []
  59973. , index = 0
  59974. , remaining = 1;
  59975. forOf(iterable, false, function(promise){
  59976. var $index = index++
  59977. , alreadyCalled = false;
  59978. values.push(undefined);
  59979. remaining++;
  59980. C.resolve(promise).then(function(value){
  59981. if(alreadyCalled)return;
  59982. alreadyCalled = true;
  59983. values[$index] = value;
  59984. --remaining || resolve(values);
  59985. }, reject);
  59986. });
  59987. --remaining || resolve(values);
  59988. });
  59989. if(abrupt)reject(abrupt.error);
  59990. return capability.promise;
  59991. },
  59992. // 25.4.4.4 Promise.race(iterable)
  59993. race: function race(iterable){
  59994. var C = this
  59995. , capability = newPromiseCapability(C)
  59996. , reject = capability.reject;
  59997. var abrupt = perform(function(){
  59998. forOf(iterable, false, function(promise){
  59999. C.resolve(promise).then(capability.resolve, reject);
  60000. });
  60001. });
  60002. if(abrupt)reject(abrupt.error);
  60003. return capability.promise;
  60004. }
  60005. });
  60006. /***/ },
  60007. /* 626 */
  60008. /***/ function(module, exports, __webpack_require__) {
  60009. // 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
  60010. var $export = __webpack_require__(2)
  60011. , aFunction = __webpack_require__(56)
  60012. , anObject = __webpack_require__(8)
  60013. , rApply = (__webpack_require__(11).Reflect || {}).apply
  60014. , fApply = Function.apply;
  60015. // MS Edge argumentsList argument is optional
  60016. $export($export.S + $export.F * !__webpack_require__(9)(function(){
  60017. rApply(function(){});
  60018. }), 'Reflect', {
  60019. apply: function apply(target, thisArgument, argumentsList){
  60020. var T = aFunction(target)
  60021. , L = anObject(argumentsList);
  60022. return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);
  60023. }
  60024. });
  60025. /***/ },
  60026. /* 627 */
  60027. /***/ function(module, exports, __webpack_require__) {
  60028. // 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
  60029. var $export = __webpack_require__(2)
  60030. , create = __webpack_require__(78)
  60031. , aFunction = __webpack_require__(56)
  60032. , anObject = __webpack_require__(8)
  60033. , isObject = __webpack_require__(10)
  60034. , fails = __webpack_require__(9)
  60035. , bind = __webpack_require__(363)
  60036. , rConstruct = (__webpack_require__(11).Reflect || {}).construct;
  60037. // MS Edge supports only 2 arguments and argumentsList argument is optional
  60038. // FF Nightly sets third argument as `new.target`, but does not create `this` from it
  60039. var NEW_TARGET_BUG = fails(function(){
  60040. function F(){}
  60041. return !(rConstruct(function(){}, [], F) instanceof F);
  60042. });
  60043. var ARGS_BUG = !fails(function(){
  60044. rConstruct(function(){});
  60045. });
  60046. $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {
  60047. construct: function construct(Target, args /*, newTarget*/){
  60048. aFunction(Target);
  60049. anObject(args);
  60050. var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
  60051. if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget);
  60052. if(Target == newTarget){
  60053. // w/o altered newTarget, optimization for 0-4 arguments
  60054. switch(args.length){
  60055. case 0: return new Target;
  60056. case 1: return new Target(args[0]);
  60057. case 2: return new Target(args[0], args[1]);
  60058. case 3: return new Target(args[0], args[1], args[2]);
  60059. case 4: return new Target(args[0], args[1], args[2], args[3]);
  60060. }
  60061. // w/o altered newTarget, lot of arguments case
  60062. var $args = [null];
  60063. $args.push.apply($args, args);
  60064. return new (bind.apply(Target, $args));
  60065. }
  60066. // with altered newTarget, not support built-in constructors
  60067. var proto = newTarget.prototype
  60068. , instance = create(isObject(proto) ? proto : Object.prototype)
  60069. , result = Function.apply.call(Target, instance, args);
  60070. return isObject(result) ? result : instance;
  60071. }
  60072. });
  60073. /***/ },
  60074. /* 628 */
  60075. /***/ function(module, exports, __webpack_require__) {
  60076. // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
  60077. var dP = __webpack_require__(17)
  60078. , $export = __webpack_require__(2)
  60079. , anObject = __webpack_require__(8)
  60080. , toPrimitive = __webpack_require__(73);
  60081. // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
  60082. $export($export.S + $export.F * __webpack_require__(9)(function(){
  60083. Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2});
  60084. }), 'Reflect', {
  60085. defineProperty: function defineProperty(target, propertyKey, attributes){
  60086. anObject(target);
  60087. propertyKey = toPrimitive(propertyKey, true);
  60088. anObject(attributes);
  60089. try {
  60090. dP.f(target, propertyKey, attributes);
  60091. return true;
  60092. } catch(e){
  60093. return false;
  60094. }
  60095. }
  60096. });
  60097. /***/ },
  60098. /* 629 */
  60099. /***/ function(module, exports, __webpack_require__) {
  60100. // 26.1.4 Reflect.deleteProperty(target, propertyKey)
  60101. var $export = __webpack_require__(2)
  60102. , gOPD = __webpack_require__(61).f
  60103. , anObject = __webpack_require__(8);
  60104. $export($export.S, 'Reflect', {
  60105. deleteProperty: function deleteProperty(target, propertyKey){
  60106. var desc = gOPD(anObject(target), propertyKey);
  60107. return desc && !desc.configurable ? false : delete target[propertyKey];
  60108. }
  60109. });
  60110. /***/ },
  60111. /* 630 */
  60112. /***/ function(module, exports, __webpack_require__) {
  60113. "use strict";
  60114. 'use strict';
  60115. // 26.1.5 Reflect.enumerate(target)
  60116. var $export = __webpack_require__(2)
  60117. , anObject = __webpack_require__(8);
  60118. var Enumerate = function(iterated){
  60119. this._t = anObject(iterated); // target
  60120. this._i = 0; // next index
  60121. var keys = this._k = [] // keys
  60122. , key;
  60123. for(key in iterated)keys.push(key);
  60124. };
  60125. __webpack_require__(371)(Enumerate, 'Object', function(){
  60126. var that = this
  60127. , keys = that._k
  60128. , key;
  60129. do {
  60130. if(that._i >= keys.length)return {value: undefined, done: true};
  60131. } while(!((key = keys[that._i++]) in that._t));
  60132. return {value: key, done: false};
  60133. });
  60134. $export($export.S, 'Reflect', {
  60135. enumerate: function enumerate(target){
  60136. return new Enumerate(target);
  60137. }
  60138. });
  60139. /***/ },
  60140. /* 631 */
  60141. /***/ function(module, exports, __webpack_require__) {
  60142. // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
  60143. var gOPD = __webpack_require__(61)
  60144. , $export = __webpack_require__(2)
  60145. , anObject = __webpack_require__(8);
  60146. $export($export.S, 'Reflect', {
  60147. getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){
  60148. return gOPD.f(anObject(target), propertyKey);
  60149. }
  60150. });
  60151. /***/ },
  60152. /* 632 */
  60153. /***/ function(module, exports, __webpack_require__) {
  60154. // 26.1.8 Reflect.getPrototypeOf(target)
  60155. var $export = __webpack_require__(2)
  60156. , getProto = __webpack_require__(46)
  60157. , anObject = __webpack_require__(8);
  60158. $export($export.S, 'Reflect', {
  60159. getPrototypeOf: function getPrototypeOf(target){
  60160. return getProto(anObject(target));
  60161. }
  60162. });
  60163. /***/ },
  60164. /* 633 */
  60165. /***/ function(module, exports, __webpack_require__) {
  60166. // 26.1.6 Reflect.get(target, propertyKey [, receiver])
  60167. var gOPD = __webpack_require__(61)
  60168. , getPrototypeOf = __webpack_require__(46)
  60169. , has = __webpack_require__(32)
  60170. , $export = __webpack_require__(2)
  60171. , isObject = __webpack_require__(10)
  60172. , anObject = __webpack_require__(8);
  60173. function get(target, propertyKey/*, receiver*/){
  60174. var receiver = arguments.length < 3 ? target : arguments[2]
  60175. , desc, proto;
  60176. if(anObject(target) === receiver)return target[propertyKey];
  60177. if(desc = gOPD.f(target, propertyKey))return has(desc, 'value')
  60178. ? desc.value
  60179. : desc.get !== undefined
  60180. ? desc.get.call(receiver)
  60181. : undefined;
  60182. if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver);
  60183. }
  60184. $export($export.S, 'Reflect', {get: get});
  60185. /***/ },
  60186. /* 634 */
  60187. /***/ function(module, exports, __webpack_require__) {
  60188. // 26.1.9 Reflect.has(target, propertyKey)
  60189. var $export = __webpack_require__(2);
  60190. $export($export.S, 'Reflect', {
  60191. has: function has(target, propertyKey){
  60192. return propertyKey in target;
  60193. }
  60194. });
  60195. /***/ },
  60196. /* 635 */
  60197. /***/ function(module, exports, __webpack_require__) {
  60198. // 26.1.10 Reflect.isExtensible(target)
  60199. var $export = __webpack_require__(2)
  60200. , anObject = __webpack_require__(8)
  60201. , $isExtensible = Object.isExtensible;
  60202. $export($export.S, 'Reflect', {
  60203. isExtensible: function isExtensible(target){
  60204. anObject(target);
  60205. return $isExtensible ? $isExtensible(target) : true;
  60206. }
  60207. });
  60208. /***/ },
  60209. /* 636 */
  60210. /***/ function(module, exports, __webpack_require__) {
  60211. // 26.1.11 Reflect.ownKeys(target)
  60212. var $export = __webpack_require__(2);
  60213. $export($export.S, 'Reflect', {ownKeys: __webpack_require__(547)});
  60214. /***/ },
  60215. /* 637 */
  60216. /***/ function(module, exports, __webpack_require__) {
  60217. // 26.1.12 Reflect.preventExtensions(target)
  60218. var $export = __webpack_require__(2)
  60219. , anObject = __webpack_require__(8)
  60220. , $preventExtensions = Object.preventExtensions;
  60221. $export($export.S, 'Reflect', {
  60222. preventExtensions: function preventExtensions(target){
  60223. anObject(target);
  60224. try {
  60225. if($preventExtensions)$preventExtensions(target);
  60226. return true;
  60227. } catch(e){
  60228. return false;
  60229. }
  60230. }
  60231. });
  60232. /***/ },
  60233. /* 638 */
  60234. /***/ function(module, exports, __webpack_require__) {
  60235. // 26.1.14 Reflect.setPrototypeOf(target, proto)
  60236. var $export = __webpack_require__(2)
  60237. , setProto = __webpack_require__(249);
  60238. if(setProto)$export($export.S, 'Reflect', {
  60239. setPrototypeOf: function setPrototypeOf(target, proto){
  60240. setProto.check(target, proto);
  60241. try {
  60242. setProto.set(target, proto);
  60243. return true;
  60244. } catch(e){
  60245. return false;
  60246. }
  60247. }
  60248. });
  60249. /***/ },
  60250. /* 639 */
  60251. /***/ function(module, exports, __webpack_require__) {
  60252. // 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
  60253. var dP = __webpack_require__(17)
  60254. , gOPD = __webpack_require__(61)
  60255. , getPrototypeOf = __webpack_require__(46)
  60256. , has = __webpack_require__(32)
  60257. , $export = __webpack_require__(2)
  60258. , createDesc = __webpack_require__(71)
  60259. , anObject = __webpack_require__(8)
  60260. , isObject = __webpack_require__(10);
  60261. function set(target, propertyKey, V/*, receiver*/){
  60262. var receiver = arguments.length < 4 ? target : arguments[3]
  60263. , ownDesc = gOPD.f(anObject(target), propertyKey)
  60264. , existingDescriptor, proto;
  60265. if(!ownDesc){
  60266. if(isObject(proto = getPrototypeOf(target))){
  60267. return set(proto, propertyKey, V, receiver);
  60268. }
  60269. ownDesc = createDesc(0);
  60270. }
  60271. if(has(ownDesc, 'value')){
  60272. if(ownDesc.writable === false || !isObject(receiver))return false;
  60273. existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);
  60274. existingDescriptor.value = V;
  60275. dP.f(receiver, propertyKey, existingDescriptor);
  60276. return true;
  60277. }
  60278. return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
  60279. }
  60280. $export($export.S, 'Reflect', {set: set});
  60281. /***/ },
  60282. /* 640 */
  60283. /***/ function(module, exports, __webpack_require__) {
  60284. var global = __webpack_require__(11)
  60285. , inheritIfRequired = __webpack_require__(242)
  60286. , dP = __webpack_require__(17).f
  60287. , gOPN = __webpack_require__(79).f
  60288. , isRegExp = __webpack_require__(245)
  60289. , $flags = __webpack_require__(240)
  60290. , $RegExp = global.RegExp
  60291. , Base = $RegExp
  60292. , proto = $RegExp.prototype
  60293. , re1 = /a/g
  60294. , re2 = /a/g
  60295. // "new" creates a new object, old webkit buggy here
  60296. , CORRECT_NEW = new $RegExp(re1) !== re1;
  60297. if(__webpack_require__(21) && (!CORRECT_NEW || __webpack_require__(9)(function(){
  60298. re2[__webpack_require__(14)('match')] = false;
  60299. // RegExp constructor can alter flags and IsRegExp works correct with @@match
  60300. return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';
  60301. }))){
  60302. $RegExp = function RegExp(p, f){
  60303. var tiRE = this instanceof $RegExp
  60304. , piRE = isRegExp(p)
  60305. , fiU = f === undefined;
  60306. return !tiRE && piRE && p.constructor === $RegExp && fiU ? p
  60307. : inheritIfRequired(CORRECT_NEW
  60308. ? new Base(piRE && !fiU ? p.source : p, f)
  60309. : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)
  60310. , tiRE ? this : proto, $RegExp);
  60311. };
  60312. var proxy = function(key){
  60313. key in $RegExp || dP($RegExp, key, {
  60314. configurable: true,
  60315. get: function(){ return Base[key]; },
  60316. set: function(it){ Base[key] = it; }
  60317. });
  60318. };
  60319. for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]);
  60320. proto.constructor = $RegExp;
  60321. $RegExp.prototype = proto;
  60322. __webpack_require__(37)(global, 'RegExp', $RegExp);
  60323. }
  60324. __webpack_require__(98)('RegExp');
  60325. /***/ },
  60326. /* 641 */
  60327. /***/ function(module, exports, __webpack_require__) {
  60328. // @@match logic
  60329. __webpack_require__(161)('match', 1, function(defined, MATCH, $match){
  60330. // 21.1.3.11 String.prototype.match(regexp)
  60331. return [function match(regexp){
  60332. 'use strict';
  60333. var O = defined(this)
  60334. , fn = regexp == undefined ? undefined : regexp[MATCH];
  60335. return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
  60336. }, $match];
  60337. });
  60338. /***/ },
  60339. /* 642 */
  60340. /***/ function(module, exports, __webpack_require__) {
  60341. // @@replace logic
  60342. __webpack_require__(161)('replace', 2, function(defined, REPLACE, $replace){
  60343. // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)
  60344. return [function replace(searchValue, replaceValue){
  60345. 'use strict';
  60346. var O = defined(this)
  60347. , fn = searchValue == undefined ? undefined : searchValue[REPLACE];
  60348. return fn !== undefined
  60349. ? fn.call(searchValue, O, replaceValue)
  60350. : $replace.call(String(O), searchValue, replaceValue);
  60351. }, $replace];
  60352. });
  60353. /***/ },
  60354. /* 643 */
  60355. /***/ function(module, exports, __webpack_require__) {
  60356. // @@search logic
  60357. __webpack_require__(161)('search', 1, function(defined, SEARCH, $search){
  60358. // 21.1.3.15 String.prototype.search(regexp)
  60359. return [function search(regexp){
  60360. 'use strict';
  60361. var O = defined(this)
  60362. , fn = regexp == undefined ? undefined : regexp[SEARCH];
  60363. return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
  60364. }, $search];
  60365. });
  60366. /***/ },
  60367. /* 644 */
  60368. /***/ function(module, exports, __webpack_require__) {
  60369. // @@split logic
  60370. __webpack_require__(161)('split', 2, function(defined, SPLIT, $split){
  60371. 'use strict';
  60372. var isRegExp = __webpack_require__(245)
  60373. , _split = $split
  60374. , $push = [].push
  60375. , $SPLIT = 'split'
  60376. , LENGTH = 'length'
  60377. , LAST_INDEX = 'lastIndex';
  60378. if(
  60379. 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||
  60380. 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||
  60381. 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||
  60382. '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||
  60383. '.'[$SPLIT](/()()/)[LENGTH] > 1 ||
  60384. ''[$SPLIT](/.?/)[LENGTH]
  60385. ){
  60386. var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group
  60387. // based on es5-shim implementation, need to rework it
  60388. $split = function(separator, limit){
  60389. var string = String(this);
  60390. if(separator === undefined && limit === 0)return [];
  60391. // If `separator` is not a regex, use native split
  60392. if(!isRegExp(separator))return _split.call(string, separator, limit);
  60393. var output = [];
  60394. var flags = (separator.ignoreCase ? 'i' : '') +
  60395. (separator.multiline ? 'm' : '') +
  60396. (separator.unicode ? 'u' : '') +
  60397. (separator.sticky ? 'y' : '');
  60398. var lastLastIndex = 0;
  60399. var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;
  60400. // Make `global` and avoid `lastIndex` issues by working with a copy
  60401. var separatorCopy = new RegExp(separator.source, flags + 'g');
  60402. var separator2, match, lastIndex, lastLength, i;
  60403. // Doesn't need flags gy, but they don't hurt
  60404. if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags);
  60405. while(match = separatorCopy.exec(string)){
  60406. // `separatorCopy.lastIndex` is not reliable cross-browser
  60407. lastIndex = match.index + match[0][LENGTH];
  60408. if(lastIndex > lastLastIndex){
  60409. output.push(string.slice(lastLastIndex, match.index));
  60410. // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG
  60411. if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){
  60412. for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined;
  60413. });
  60414. if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1));
  60415. lastLength = match[0][LENGTH];
  60416. lastLastIndex = lastIndex;
  60417. if(output[LENGTH] >= splitLimit)break;
  60418. }
  60419. if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop
  60420. }
  60421. if(lastLastIndex === string[LENGTH]){
  60422. if(lastLength || !separatorCopy.test(''))output.push('');
  60423. } else output.push(string.slice(lastLastIndex));
  60424. return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;
  60425. };
  60426. // Chakra, V8
  60427. } else if('0'[$SPLIT](undefined, 0)[LENGTH]){
  60428. $split = function(separator, limit){
  60429. return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);
  60430. };
  60431. }
  60432. // 21.1.3.17 String.prototype.split(separator, limit)
  60433. return [function split(separator, limit){
  60434. var O = defined(this)
  60435. , fn = separator == undefined ? undefined : separator[SPLIT];
  60436. return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);
  60437. }, $split];
  60438. });
  60439. /***/ },
  60440. /* 645 */
  60441. /***/ function(module, exports, __webpack_require__) {
  60442. "use strict";
  60443. 'use strict';
  60444. __webpack_require__(387);
  60445. var anObject = __webpack_require__(8)
  60446. , $flags = __webpack_require__(240)
  60447. , DESCRIPTORS = __webpack_require__(21)
  60448. , TO_STRING = 'toString'
  60449. , $toString = /./[TO_STRING];
  60450. var define = function(fn){
  60451. __webpack_require__(37)(RegExp.prototype, TO_STRING, fn, true);
  60452. };
  60453. // 21.2.5.14 RegExp.prototype.toString()
  60454. if(__webpack_require__(9)(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){
  60455. define(function toString(){
  60456. var R = anObject(this);
  60457. return '/'.concat(R.source, '/',
  60458. 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);
  60459. });
  60460. // FF44- RegExp#toString has a wrong name
  60461. } else if($toString.name != TO_STRING){
  60462. define(function toString(){
  60463. return $toString.call(this);
  60464. });
  60465. }
  60466. /***/ },
  60467. /* 646 */
  60468. /***/ function(module, exports, __webpack_require__) {
  60469. "use strict";
  60470. 'use strict';
  60471. // B.2.3.2 String.prototype.anchor(name)
  60472. __webpack_require__(34)('anchor', function(createHTML){
  60473. return function anchor(name){
  60474. return createHTML(this, 'a', 'name', name);
  60475. }
  60476. });
  60477. /***/ },
  60478. /* 647 */
  60479. /***/ function(module, exports, __webpack_require__) {
  60480. "use strict";
  60481. 'use strict';
  60482. // B.2.3.3 String.prototype.big()
  60483. __webpack_require__(34)('big', function(createHTML){
  60484. return function big(){
  60485. return createHTML(this, 'big', '', '');
  60486. }
  60487. });
  60488. /***/ },
  60489. /* 648 */
  60490. /***/ function(module, exports, __webpack_require__) {
  60491. "use strict";
  60492. 'use strict';
  60493. // B.2.3.4 String.prototype.blink()
  60494. __webpack_require__(34)('blink', function(createHTML){
  60495. return function blink(){
  60496. return createHTML(this, 'blink', '', '');
  60497. }
  60498. });
  60499. /***/ },
  60500. /* 649 */
  60501. /***/ function(module, exports, __webpack_require__) {
  60502. "use strict";
  60503. 'use strict';
  60504. // B.2.3.5 String.prototype.bold()
  60505. __webpack_require__(34)('bold', function(createHTML){
  60506. return function bold(){
  60507. return createHTML(this, 'b', '', '');
  60508. }
  60509. });
  60510. /***/ },
  60511. /* 650 */
  60512. /***/ function(module, exports, __webpack_require__) {
  60513. "use strict";
  60514. 'use strict';
  60515. var $export = __webpack_require__(2)
  60516. , $at = __webpack_require__(381)(false);
  60517. $export($export.P, 'String', {
  60518. // 21.1.3.3 String.prototype.codePointAt(pos)
  60519. codePointAt: function codePointAt(pos){
  60520. return $at(this, pos);
  60521. }
  60522. });
  60523. /***/ },
  60524. /* 651 */
  60525. /***/ function(module, exports, __webpack_require__) {
  60526. "use strict";
  60527. // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
  60528. 'use strict';
  60529. var $export = __webpack_require__(2)
  60530. , toLength = __webpack_require__(26)
  60531. , context = __webpack_require__(252)
  60532. , ENDS_WITH = 'endsWith'
  60533. , $endsWith = ''[ENDS_WITH];
  60534. $export($export.P + $export.F * __webpack_require__(239)(ENDS_WITH), 'String', {
  60535. endsWith: function endsWith(searchString /*, endPosition = @length */){
  60536. var that = context(this, searchString, ENDS_WITH)
  60537. , endPosition = arguments.length > 1 ? arguments[1] : undefined
  60538. , len = toLength(that.length)
  60539. , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)
  60540. , search = String(searchString);
  60541. return $endsWith
  60542. ? $endsWith.call(that, search, end)
  60543. : that.slice(end - search.length, end) === search;
  60544. }
  60545. });
  60546. /***/ },
  60547. /* 652 */
  60548. /***/ function(module, exports, __webpack_require__) {
  60549. "use strict";
  60550. 'use strict';
  60551. // B.2.3.6 String.prototype.fixed()
  60552. __webpack_require__(34)('fixed', function(createHTML){
  60553. return function fixed(){
  60554. return createHTML(this, 'tt', '', '');
  60555. }
  60556. });
  60557. /***/ },
  60558. /* 653 */
  60559. /***/ function(module, exports, __webpack_require__) {
  60560. "use strict";
  60561. 'use strict';
  60562. // B.2.3.7 String.prototype.fontcolor(color)
  60563. __webpack_require__(34)('fontcolor', function(createHTML){
  60564. return function fontcolor(color){
  60565. return createHTML(this, 'font', 'color', color);
  60566. }
  60567. });
  60568. /***/ },
  60569. /* 654 */
  60570. /***/ function(module, exports, __webpack_require__) {
  60571. "use strict";
  60572. 'use strict';
  60573. // B.2.3.8 String.prototype.fontsize(size)
  60574. __webpack_require__(34)('fontsize', function(createHTML){
  60575. return function fontsize(size){
  60576. return createHTML(this, 'font', 'size', size);
  60577. }
  60578. });
  60579. /***/ },
  60580. /* 655 */
  60581. /***/ function(module, exports, __webpack_require__) {
  60582. var $export = __webpack_require__(2)
  60583. , toIndex = __webpack_require__(80)
  60584. , fromCharCode = String.fromCharCode
  60585. , $fromCodePoint = String.fromCodePoint;
  60586. // length should be 1, old FF problem
  60587. $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {
  60588. // 21.1.2.2 String.fromCodePoint(...codePoints)
  60589. fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars
  60590. var res = []
  60591. , aLen = arguments.length
  60592. , i = 0
  60593. , code;
  60594. while(aLen > i){
  60595. code = +arguments[i++];
  60596. if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');
  60597. res.push(code < 0x10000
  60598. ? fromCharCode(code)
  60599. : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)
  60600. );
  60601. } return res.join('');
  60602. }
  60603. });
  60604. /***/ },
  60605. /* 656 */
  60606. /***/ function(module, exports, __webpack_require__) {
  60607. "use strict";
  60608. // 21.1.3.7 String.prototype.includes(searchString, position = 0)
  60609. 'use strict';
  60610. var $export = __webpack_require__(2)
  60611. , context = __webpack_require__(252)
  60612. , INCLUDES = 'includes';
  60613. $export($export.P + $export.F * __webpack_require__(239)(INCLUDES), 'String', {
  60614. includes: function includes(searchString /*, position = 0 */){
  60615. return !!~context(this, searchString, INCLUDES)
  60616. .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
  60617. }
  60618. });
  60619. /***/ },
  60620. /* 657 */
  60621. /***/ function(module, exports, __webpack_require__) {
  60622. "use strict";
  60623. 'use strict';
  60624. // B.2.3.9 String.prototype.italics()
  60625. __webpack_require__(34)('italics', function(createHTML){
  60626. return function italics(){
  60627. return createHTML(this, 'i', '', '');
  60628. }
  60629. });
  60630. /***/ },
  60631. /* 658 */
  60632. /***/ function(module, exports, __webpack_require__) {
  60633. "use strict";
  60634. 'use strict';
  60635. var $at = __webpack_require__(381)(true);
  60636. // 21.1.3.27 String.prototype[@@iterator]()
  60637. __webpack_require__(246)(String, 'String', function(iterated){
  60638. this._t = String(iterated); // target
  60639. this._i = 0; // next index
  60640. // 21.1.5.2.1 %StringIteratorPrototype%.next()
  60641. }, function(){
  60642. var O = this._t
  60643. , index = this._i
  60644. , point;
  60645. if(index >= O.length)return {value: undefined, done: true};
  60646. point = $at(O, index);
  60647. this._i += point.length;
  60648. return {value: point, done: false};
  60649. });
  60650. /***/ },
  60651. /* 659 */
  60652. /***/ function(module, exports, __webpack_require__) {
  60653. "use strict";
  60654. 'use strict';
  60655. // B.2.3.10 String.prototype.link(url)
  60656. __webpack_require__(34)('link', function(createHTML){
  60657. return function link(url){
  60658. return createHTML(this, 'a', 'href', url);
  60659. }
  60660. });
  60661. /***/ },
  60662. /* 660 */
  60663. /***/ function(module, exports, __webpack_require__) {
  60664. var $export = __webpack_require__(2)
  60665. , toIObject = __webpack_require__(42)
  60666. , toLength = __webpack_require__(26);
  60667. $export($export.S, 'String', {
  60668. // 21.1.2.4 String.raw(callSite, ...substitutions)
  60669. raw: function raw(callSite){
  60670. var tpl = toIObject(callSite.raw)
  60671. , len = toLength(tpl.length)
  60672. , aLen = arguments.length
  60673. , res = []
  60674. , i = 0;
  60675. while(len > i){
  60676. res.push(String(tpl[i++]));
  60677. if(i < aLen)res.push(String(arguments[i]));
  60678. } return res.join('');
  60679. }
  60680. });
  60681. /***/ },
  60682. /* 661 */
  60683. /***/ function(module, exports, __webpack_require__) {
  60684. var $export = __webpack_require__(2);
  60685. $export($export.P, 'String', {
  60686. // 21.1.3.13 String.prototype.repeat(count)
  60687. repeat: __webpack_require__(382)
  60688. });
  60689. /***/ },
  60690. /* 662 */
  60691. /***/ function(module, exports, __webpack_require__) {
  60692. "use strict";
  60693. 'use strict';
  60694. // B.2.3.11 String.prototype.small()
  60695. __webpack_require__(34)('small', function(createHTML){
  60696. return function small(){
  60697. return createHTML(this, 'small', '', '');
  60698. }
  60699. });
  60700. /***/ },
  60701. /* 663 */
  60702. /***/ function(module, exports, __webpack_require__) {
  60703. "use strict";
  60704. // 21.1.3.18 String.prototype.startsWith(searchString [, position ])
  60705. 'use strict';
  60706. var $export = __webpack_require__(2)
  60707. , toLength = __webpack_require__(26)
  60708. , context = __webpack_require__(252)
  60709. , STARTS_WITH = 'startsWith'
  60710. , $startsWith = ''[STARTS_WITH];
  60711. $export($export.P + $export.F * __webpack_require__(239)(STARTS_WITH), 'String', {
  60712. startsWith: function startsWith(searchString /*, position = 0 */){
  60713. var that = context(this, searchString, STARTS_WITH)
  60714. , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length))
  60715. , search = String(searchString);
  60716. return $startsWith
  60717. ? $startsWith.call(that, search, index)
  60718. : that.slice(index, index + search.length) === search;
  60719. }
  60720. });
  60721. /***/ },
  60722. /* 664 */
  60723. /***/ function(module, exports, __webpack_require__) {
  60724. "use strict";
  60725. 'use strict';
  60726. // B.2.3.12 String.prototype.strike()
  60727. __webpack_require__(34)('strike', function(createHTML){
  60728. return function strike(){
  60729. return createHTML(this, 'strike', '', '');
  60730. }
  60731. });
  60732. /***/ },
  60733. /* 665 */
  60734. /***/ function(module, exports, __webpack_require__) {
  60735. "use strict";
  60736. 'use strict';
  60737. // B.2.3.13 String.prototype.sub()
  60738. __webpack_require__(34)('sub', function(createHTML){
  60739. return function sub(){
  60740. return createHTML(this, 'sub', '', '');
  60741. }
  60742. });
  60743. /***/ },
  60744. /* 666 */
  60745. /***/ function(module, exports, __webpack_require__) {
  60746. "use strict";
  60747. 'use strict';
  60748. // B.2.3.14 String.prototype.sup()
  60749. __webpack_require__(34)('sup', function(createHTML){
  60750. return function sup(){
  60751. return createHTML(this, 'sup', '', '');
  60752. }
  60753. });
  60754. /***/ },
  60755. /* 667 */
  60756. /***/ function(module, exports, __webpack_require__) {
  60757. "use strict";
  60758. 'use strict';
  60759. // 21.1.3.25 String.prototype.trim()
  60760. __webpack_require__(166)('trim', function($trim){
  60761. return function trim(){
  60762. return $trim(this, 3);
  60763. };
  60764. });
  60765. /***/ },
  60766. /* 668 */
  60767. /***/ function(module, exports, __webpack_require__) {
  60768. "use strict";
  60769. 'use strict';
  60770. // ECMAScript 6 symbols shim
  60771. var global = __webpack_require__(11)
  60772. , has = __webpack_require__(32)
  60773. , DESCRIPTORS = __webpack_require__(21)
  60774. , $export = __webpack_require__(2)
  60775. , redefine = __webpack_require__(37)
  60776. , META = __webpack_require__(70).KEY
  60777. , $fails = __webpack_require__(9)
  60778. , shared = __webpack_require__(165)
  60779. , setToStringTag = __webpack_require__(99)
  60780. , uid = __webpack_require__(81)
  60781. , wks = __webpack_require__(14)
  60782. , wksExt = __webpack_require__(384)
  60783. , wksDefine = __webpack_require__(548)
  60784. , keyOf = __webpack_require__(545)
  60785. , enumKeys = __webpack_require__(544)
  60786. , isArray = __webpack_require__(244)
  60787. , anObject = __webpack_require__(8)
  60788. , toIObject = __webpack_require__(42)
  60789. , toPrimitive = __webpack_require__(73)
  60790. , createDesc = __webpack_require__(71)
  60791. , _create = __webpack_require__(78)
  60792. , gOPNExt = __webpack_require__(376)
  60793. , $GOPD = __webpack_require__(61)
  60794. , $DP = __webpack_require__(17)
  60795. , $keys = __webpack_require__(96)
  60796. , gOPD = $GOPD.f
  60797. , dP = $DP.f
  60798. , gOPN = gOPNExt.f
  60799. , $Symbol = global.Symbol
  60800. , $JSON = global.JSON
  60801. , _stringify = $JSON && $JSON.stringify
  60802. , PROTOTYPE = 'prototype'
  60803. , HIDDEN = wks('_hidden')
  60804. , TO_PRIMITIVE = wks('toPrimitive')
  60805. , isEnum = {}.propertyIsEnumerable
  60806. , SymbolRegistry = shared('symbol-registry')
  60807. , AllSymbols = shared('symbols')
  60808. , OPSymbols = shared('op-symbols')
  60809. , ObjectProto = Object[PROTOTYPE]
  60810. , USE_NATIVE = typeof $Symbol == 'function'
  60811. , QObject = global.QObject;
  60812. // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
  60813. var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
  60814. // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
  60815. var setSymbolDesc = DESCRIPTORS && $fails(function(){
  60816. return _create(dP({}, 'a', {
  60817. get: function(){ return dP(this, 'a', {value: 7}).a; }
  60818. })).a != 7;
  60819. }) ? function(it, key, D){
  60820. var protoDesc = gOPD(ObjectProto, key);
  60821. if(protoDesc)delete ObjectProto[key];
  60822. dP(it, key, D);
  60823. if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);
  60824. } : dP;
  60825. var wrap = function(tag){
  60826. var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
  60827. sym._k = tag;
  60828. return sym;
  60829. };
  60830. var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){
  60831. return typeof it == 'symbol';
  60832. } : function(it){
  60833. return it instanceof $Symbol;
  60834. };
  60835. var $defineProperty = function defineProperty(it, key, D){
  60836. if(it === ObjectProto)$defineProperty(OPSymbols, key, D);
  60837. anObject(it);
  60838. key = toPrimitive(key, true);
  60839. anObject(D);
  60840. if(has(AllSymbols, key)){
  60841. if(!D.enumerable){
  60842. if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));
  60843. it[HIDDEN][key] = true;
  60844. } else {
  60845. if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;
  60846. D = _create(D, {enumerable: createDesc(0, false)});
  60847. } return setSymbolDesc(it, key, D);
  60848. } return dP(it, key, D);
  60849. };
  60850. var $defineProperties = function defineProperties(it, P){
  60851. anObject(it);
  60852. var keys = enumKeys(P = toIObject(P))
  60853. , i = 0
  60854. , l = keys.length
  60855. , key;
  60856. while(l > i)$defineProperty(it, key = keys[i++], P[key]);
  60857. return it;
  60858. };
  60859. var $create = function create(it, P){
  60860. return P === undefined ? _create(it) : $defineProperties(_create(it), P);
  60861. };
  60862. var $propertyIsEnumerable = function propertyIsEnumerable(key){
  60863. var E = isEnum.call(this, key = toPrimitive(key, true));
  60864. if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;
  60865. return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
  60866. };
  60867. var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){
  60868. it = toIObject(it);
  60869. key = toPrimitive(key, true);
  60870. if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;
  60871. var D = gOPD(it, key);
  60872. if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;
  60873. return D;
  60874. };
  60875. var $getOwnPropertyNames = function getOwnPropertyNames(it){
  60876. var names = gOPN(toIObject(it))
  60877. , result = []
  60878. , i = 0
  60879. , key;
  60880. while(names.length > i){
  60881. if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);
  60882. } return result;
  60883. };
  60884. var $getOwnPropertySymbols = function getOwnPropertySymbols(it){
  60885. var IS_OP = it === ObjectProto
  60886. , names = gOPN(IS_OP ? OPSymbols : toIObject(it))
  60887. , result = []
  60888. , i = 0
  60889. , key;
  60890. while(names.length > i){
  60891. if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);
  60892. } return result;
  60893. };
  60894. // 19.4.1.1 Symbol([description])
  60895. if(!USE_NATIVE){
  60896. $Symbol = function Symbol(){
  60897. if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');
  60898. var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
  60899. var $set = function(value){
  60900. if(this === ObjectProto)$set.call(OPSymbols, value);
  60901. if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;
  60902. setSymbolDesc(this, tag, createDesc(1, value));
  60903. };
  60904. if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});
  60905. return wrap(tag);
  60906. };
  60907. redefine($Symbol[PROTOTYPE], 'toString', function toString(){
  60908. return this._k;
  60909. });
  60910. $GOPD.f = $getOwnPropertyDescriptor;
  60911. $DP.f = $defineProperty;
  60912. __webpack_require__(79).f = gOPNExt.f = $getOwnPropertyNames;
  60913. __webpack_require__(164).f = $propertyIsEnumerable;
  60914. __webpack_require__(163).f = $getOwnPropertySymbols;
  60915. if(DESCRIPTORS && !__webpack_require__(95)){
  60916. redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
  60917. }
  60918. wksExt.f = function(name){
  60919. return wrap(wks(name));
  60920. }
  60921. }
  60922. $export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});
  60923. for(var symbols = (
  60924. // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
  60925. 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
  60926. ).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);
  60927. for(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);
  60928. $export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
  60929. // 19.4.2.1 Symbol.for(key)
  60930. 'for': function(key){
  60931. return has(SymbolRegistry, key += '')
  60932. ? SymbolRegistry[key]
  60933. : SymbolRegistry[key] = $Symbol(key);
  60934. },
  60935. // 19.4.2.5 Symbol.keyFor(sym)
  60936. keyFor: function keyFor(key){
  60937. if(isSymbol(key))return keyOf(SymbolRegistry, key);
  60938. throw TypeError(key + ' is not a symbol!');
  60939. },
  60940. useSetter: function(){ setter = true; },
  60941. useSimple: function(){ setter = false; }
  60942. });
  60943. $export($export.S + $export.F * !USE_NATIVE, 'Object', {
  60944. // 19.1.2.2 Object.create(O [, Properties])
  60945. create: $create,
  60946. // 19.1.2.4 Object.defineProperty(O, P, Attributes)
  60947. defineProperty: $defineProperty,
  60948. // 19.1.2.3 Object.defineProperties(O, Properties)
  60949. defineProperties: $defineProperties,
  60950. // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
  60951. getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
  60952. // 19.1.2.7 Object.getOwnPropertyNames(O)
  60953. getOwnPropertyNames: $getOwnPropertyNames,
  60954. // 19.1.2.8 Object.getOwnPropertySymbols(O)
  60955. getOwnPropertySymbols: $getOwnPropertySymbols
  60956. });
  60957. // 24.3.2 JSON.stringify(value [, replacer [, space]])
  60958. $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){
  60959. var S = $Symbol();
  60960. // MS Edge converts symbol values to JSON as {}
  60961. // WebKit converts symbol values to JSON as null
  60962. // V8 throws on boxed symbols
  60963. return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';
  60964. })), 'JSON', {
  60965. stringify: function stringify(it){
  60966. if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined
  60967. var args = [it]
  60968. , i = 1
  60969. , replacer, $replacer;
  60970. while(arguments.length > i)args.push(arguments[i++]);
  60971. replacer = args[1];
  60972. if(typeof replacer == 'function')$replacer = replacer;
  60973. if($replacer || !isArray(replacer))replacer = function(key, value){
  60974. if($replacer)value = $replacer.call(this, key, value);
  60975. if(!isSymbol(value))return value;
  60976. };
  60977. args[1] = replacer;
  60978. return _stringify.apply($JSON, args);
  60979. }
  60980. });
  60981. // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
  60982. $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(40)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
  60983. // 19.4.3.5 Symbol.prototype[@@toStringTag]
  60984. setToStringTag($Symbol, 'Symbol');
  60985. // 20.2.1.9 Math[@@toStringTag]
  60986. setToStringTag(Math, 'Math', true);
  60987. // 24.3.3 JSON[@@toStringTag]
  60988. setToStringTag(global.JSON, 'JSON', true);
  60989. /***/ },
  60990. /* 669 */
  60991. /***/ function(module, exports, __webpack_require__) {
  60992. "use strict";
  60993. 'use strict';
  60994. var $export = __webpack_require__(2)
  60995. , $typed = __webpack_require__(167)
  60996. , buffer = __webpack_require__(254)
  60997. , anObject = __webpack_require__(8)
  60998. , toIndex = __webpack_require__(80)
  60999. , toLength = __webpack_require__(26)
  61000. , isObject = __webpack_require__(10)
  61001. , ArrayBuffer = __webpack_require__(11).ArrayBuffer
  61002. , speciesConstructor = __webpack_require__(251)
  61003. , $ArrayBuffer = buffer.ArrayBuffer
  61004. , $DataView = buffer.DataView
  61005. , $isView = $typed.ABV && ArrayBuffer.isView
  61006. , $slice = $ArrayBuffer.prototype.slice
  61007. , VIEW = $typed.VIEW
  61008. , ARRAY_BUFFER = 'ArrayBuffer';
  61009. $export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer});
  61010. $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {
  61011. // 24.1.3.1 ArrayBuffer.isView(arg)
  61012. isView: function isView(it){
  61013. return $isView && $isView(it) || isObject(it) && VIEW in it;
  61014. }
  61015. });
  61016. $export($export.P + $export.U + $export.F * __webpack_require__(9)(function(){
  61017. return !new $ArrayBuffer(2).slice(1, undefined).byteLength;
  61018. }), ARRAY_BUFFER, {
  61019. // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)
  61020. slice: function slice(start, end){
  61021. if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix
  61022. var len = anObject(this).byteLength
  61023. , first = toIndex(start, len)
  61024. , final = toIndex(end === undefined ? len : end, len)
  61025. , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first))
  61026. , viewS = new $DataView(this)
  61027. , viewT = new $DataView(result)
  61028. , index = 0;
  61029. while(first < final){
  61030. viewT.setUint8(index++, viewS.getUint8(first++));
  61031. } return result;
  61032. }
  61033. });
  61034. __webpack_require__(98)(ARRAY_BUFFER);
  61035. /***/ },
  61036. /* 670 */
  61037. /***/ function(module, exports, __webpack_require__) {
  61038. var $export = __webpack_require__(2);
  61039. $export($export.G + $export.W + $export.F * !__webpack_require__(167).ABV, {
  61040. DataView: __webpack_require__(254).DataView
  61041. });
  61042. /***/ },
  61043. /* 671 */
  61044. /***/ function(module, exports, __webpack_require__) {
  61045. __webpack_require__(62)('Float32', 4, function(init){
  61046. return function Float32Array(data, byteOffset, length){
  61047. return init(this, data, byteOffset, length);
  61048. };
  61049. });
  61050. /***/ },
  61051. /* 672 */
  61052. /***/ function(module, exports, __webpack_require__) {
  61053. __webpack_require__(62)('Float64', 8, function(init){
  61054. return function Float64Array(data, byteOffset, length){
  61055. return init(this, data, byteOffset, length);
  61056. };
  61057. });
  61058. /***/ },
  61059. /* 673 */
  61060. /***/ function(module, exports, __webpack_require__) {
  61061. __webpack_require__(62)('Int16', 2, function(init){
  61062. return function Int16Array(data, byteOffset, length){
  61063. return init(this, data, byteOffset, length);
  61064. };
  61065. });
  61066. /***/ },
  61067. /* 674 */
  61068. /***/ function(module, exports, __webpack_require__) {
  61069. __webpack_require__(62)('Int32', 4, function(init){
  61070. return function Int32Array(data, byteOffset, length){
  61071. return init(this, data, byteOffset, length);
  61072. };
  61073. });
  61074. /***/ },
  61075. /* 675 */
  61076. /***/ function(module, exports, __webpack_require__) {
  61077. __webpack_require__(62)('Int8', 1, function(init){
  61078. return function Int8Array(data, byteOffset, length){
  61079. return init(this, data, byteOffset, length);
  61080. };
  61081. });
  61082. /***/ },
  61083. /* 676 */
  61084. /***/ function(module, exports, __webpack_require__) {
  61085. __webpack_require__(62)('Uint16', 2, function(init){
  61086. return function Uint16Array(data, byteOffset, length){
  61087. return init(this, data, byteOffset, length);
  61088. };
  61089. });
  61090. /***/ },
  61091. /* 677 */
  61092. /***/ function(module, exports, __webpack_require__) {
  61093. __webpack_require__(62)('Uint32', 4, function(init){
  61094. return function Uint32Array(data, byteOffset, length){
  61095. return init(this, data, byteOffset, length);
  61096. };
  61097. });
  61098. /***/ },
  61099. /* 678 */
  61100. /***/ function(module, exports, __webpack_require__) {
  61101. __webpack_require__(62)('Uint8', 1, function(init){
  61102. return function Uint8Array(data, byteOffset, length){
  61103. return init(this, data, byteOffset, length);
  61104. };
  61105. });
  61106. /***/ },
  61107. /* 679 */
  61108. /***/ function(module, exports, __webpack_require__) {
  61109. __webpack_require__(62)('Uint8', 1, function(init){
  61110. return function Uint8ClampedArray(data, byteOffset, length){
  61111. return init(this, data, byteOffset, length);
  61112. };
  61113. }, true);
  61114. /***/ },
  61115. /* 680 */
  61116. /***/ function(module, exports, __webpack_require__) {
  61117. "use strict";
  61118. 'use strict';
  61119. var weak = __webpack_require__(365);
  61120. // 23.4 WeakSet Objects
  61121. __webpack_require__(160)('WeakSet', function(get){
  61122. return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
  61123. }, {
  61124. // 23.4.3.1 WeakSet.prototype.add(value)
  61125. add: function add(value){
  61126. return weak.def(this, value, true);
  61127. }
  61128. }, weak, false, true);
  61129. /***/ },
  61130. /* 681 */
  61131. /***/ function(module, exports, __webpack_require__) {
  61132. var metadata = __webpack_require__(60)
  61133. , anObject = __webpack_require__(8)
  61134. , toMetaKey = metadata.key
  61135. , ordinaryDefineOwnMetadata = metadata.set;
  61136. metadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){
  61137. ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));
  61138. }});
  61139. /***/ },
  61140. /* 682 */
  61141. /***/ function(module, exports, __webpack_require__) {
  61142. var metadata = __webpack_require__(60)
  61143. , anObject = __webpack_require__(8)
  61144. , toMetaKey = metadata.key
  61145. , getOrCreateMetadataMap = metadata.map
  61146. , store = metadata.store;
  61147. metadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){
  61148. var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2])
  61149. , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);
  61150. if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false;
  61151. if(metadataMap.size)return true;
  61152. var targetMetadata = store.get(target);
  61153. targetMetadata['delete'](targetKey);
  61154. return !!targetMetadata.size || store['delete'](target);
  61155. }});
  61156. /***/ },
  61157. /* 683 */
  61158. /***/ function(module, exports, __webpack_require__) {
  61159. var Set = __webpack_require__(388)
  61160. , from = __webpack_require__(540)
  61161. , metadata = __webpack_require__(60)
  61162. , anObject = __webpack_require__(8)
  61163. , getPrototypeOf = __webpack_require__(46)
  61164. , ordinaryOwnMetadataKeys = metadata.keys
  61165. , toMetaKey = metadata.key;
  61166. var ordinaryMetadataKeys = function(O, P){
  61167. var oKeys = ordinaryOwnMetadataKeys(O, P)
  61168. , parent = getPrototypeOf(O);
  61169. if(parent === null)return oKeys;
  61170. var pKeys = ordinaryMetadataKeys(parent, P);
  61171. return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;
  61172. };
  61173. metadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){
  61174. return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));
  61175. }});
  61176. /***/ },
  61177. /* 684 */
  61178. /***/ function(module, exports, __webpack_require__) {
  61179. var metadata = __webpack_require__(60)
  61180. , anObject = __webpack_require__(8)
  61181. , getPrototypeOf = __webpack_require__(46)
  61182. , ordinaryHasOwnMetadata = metadata.has
  61183. , ordinaryGetOwnMetadata = metadata.get
  61184. , toMetaKey = metadata.key;
  61185. var ordinaryGetMetadata = function(MetadataKey, O, P){
  61186. var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
  61187. if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P);
  61188. var parent = getPrototypeOf(O);
  61189. return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;
  61190. };
  61191. metadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){
  61192. return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
  61193. }});
  61194. /***/ },
  61195. /* 685 */
  61196. /***/ function(module, exports, __webpack_require__) {
  61197. var metadata = __webpack_require__(60)
  61198. , anObject = __webpack_require__(8)
  61199. , ordinaryOwnMetadataKeys = metadata.keys
  61200. , toMetaKey = metadata.key;
  61201. metadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){
  61202. return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));
  61203. }});
  61204. /***/ },
  61205. /* 686 */
  61206. /***/ function(module, exports, __webpack_require__) {
  61207. var metadata = __webpack_require__(60)
  61208. , anObject = __webpack_require__(8)
  61209. , ordinaryGetOwnMetadata = metadata.get
  61210. , toMetaKey = metadata.key;
  61211. metadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){
  61212. return ordinaryGetOwnMetadata(metadataKey, anObject(target)
  61213. , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
  61214. }});
  61215. /***/ },
  61216. /* 687 */
  61217. /***/ function(module, exports, __webpack_require__) {
  61218. var metadata = __webpack_require__(60)
  61219. , anObject = __webpack_require__(8)
  61220. , getPrototypeOf = __webpack_require__(46)
  61221. , ordinaryHasOwnMetadata = metadata.has
  61222. , toMetaKey = metadata.key;
  61223. var ordinaryHasMetadata = function(MetadataKey, O, P){
  61224. var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
  61225. if(hasOwn)return true;
  61226. var parent = getPrototypeOf(O);
  61227. return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;
  61228. };
  61229. metadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){
  61230. return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
  61231. }});
  61232. /***/ },
  61233. /* 688 */
  61234. /***/ function(module, exports, __webpack_require__) {
  61235. var metadata = __webpack_require__(60)
  61236. , anObject = __webpack_require__(8)
  61237. , ordinaryHasOwnMetadata = metadata.has
  61238. , toMetaKey = metadata.key;
  61239. metadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){
  61240. return ordinaryHasOwnMetadata(metadataKey, anObject(target)
  61241. , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
  61242. }});
  61243. /***/ },
  61244. /* 689 */
  61245. /***/ function(module, exports, __webpack_require__) {
  61246. var metadata = __webpack_require__(60)
  61247. , anObject = __webpack_require__(8)
  61248. , aFunction = __webpack_require__(56)
  61249. , toMetaKey = metadata.key
  61250. , ordinaryDefineOwnMetadata = metadata.set;
  61251. metadata.exp({metadata: function metadata(metadataKey, metadataValue){
  61252. return function decorator(target, targetKey){
  61253. ordinaryDefineOwnMetadata(
  61254. metadataKey, metadataValue,
  61255. (targetKey !== undefined ? anObject : aFunction)(target),
  61256. toMetaKey(targetKey)
  61257. );
  61258. };
  61259. }});
  61260. /***/ },
  61261. /* 690 */,
  61262. /* 691 */,
  61263. /* 692 */,
  61264. /* 693 */,
  61265. /* 694 */
  61266. /***/ function(module, exports, __webpack_require__) {
  61267. "use strict";
  61268. "use strict";
  61269. var __extends = (this && this.__extends) || function (d, b) {
  61270. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  61271. function __() { this.constructor = d; }
  61272. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  61273. };
  61274. var Subscriber_1 = __webpack_require__(3);
  61275. /**
  61276. * We need this JSDoc comment for affecting ESDoc.
  61277. * @ignore
  61278. * @extends {Ignored}
  61279. */
  61280. var InnerSubscriber = (function (_super) {
  61281. __extends(InnerSubscriber, _super);
  61282. function InnerSubscriber(parent, outerValue, outerIndex) {
  61283. _super.call(this);
  61284. this.parent = parent;
  61285. this.outerValue = outerValue;
  61286. this.outerIndex = outerIndex;
  61287. this.index = 0;
  61288. }
  61289. InnerSubscriber.prototype._next = function (value) {
  61290. this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);
  61291. };
  61292. InnerSubscriber.prototype._error = function (error) {
  61293. this.parent.notifyError(error, this);
  61294. this.unsubscribe();
  61295. };
  61296. InnerSubscriber.prototype._complete = function () {
  61297. this.parent.notifyComplete(this);
  61298. this.unsubscribe();
  61299. };
  61300. return InnerSubscriber;
  61301. }(Subscriber_1.Subscriber));
  61302. exports.InnerSubscriber = InnerSubscriber;
  61303. //# sourceMappingURL=InnerSubscriber.js.map
  61304. /***/ },
  61305. /* 695 */
  61306. /***/ function(module, exports) {
  61307. "use strict";
  61308. "use strict";
  61309. exports.empty = {
  61310. closed: true,
  61311. next: function (value) { },
  61312. error: function (err) { throw err; },
  61313. complete: function () { }
  61314. };
  61315. //# sourceMappingURL=Observer.js.map
  61316. /***/ },
  61317. /* 696 */
  61318. /***/ function(module, exports) {
  61319. "use strict";
  61320. "use strict";
  61321. /**
  61322. * An execution context and a data structure to order tasks and schedule their
  61323. * execution. Provides a notion of (potentially virtual) time, through the
  61324. * `now()` getter method.
  61325. *
  61326. * Each unit of work in a Scheduler is called an {@link Action}.
  61327. *
  61328. * ```ts
  61329. * class Scheduler {
  61330. * now(): number;
  61331. * schedule(work, delay?, state?): Subscription;
  61332. * }
  61333. * ```
  61334. *
  61335. * @class Scheduler
  61336. */
  61337. var Scheduler = (function () {
  61338. function Scheduler(SchedulerAction, now) {
  61339. if (now === void 0) { now = Scheduler.now; }
  61340. this.SchedulerAction = SchedulerAction;
  61341. this.now = now;
  61342. }
  61343. /**
  61344. * Schedules a function, `work`, for execution. May happen at some point in
  61345. * the future, according to the `delay` parameter, if specified. May be passed
  61346. * some context object, `state`, which will be passed to the `work` function.
  61347. *
  61348. * The given arguments will be processed an stored as an Action object in a
  61349. * queue of actions.
  61350. *
  61351. * @param {function(state: ?T): ?Subscription} work A function representing a
  61352. * task, or some unit of work to be executed by the Scheduler.
  61353. * @param {number} [delay] Time to wait before executing the work, where the
  61354. * time unit is implicit and defined by the Scheduler itself.
  61355. * @param {T} [state] Some contextual data that the `work` function uses when
  61356. * called by the Scheduler.
  61357. * @return {Subscription} A subscription in order to be able to unsubscribe
  61358. * the scheduled work.
  61359. */
  61360. Scheduler.prototype.schedule = function (work, delay, state) {
  61361. if (delay === void 0) { delay = 0; }
  61362. return new this.SchedulerAction(this, work).schedule(state, delay);
  61363. };
  61364. Scheduler.now = Date.now ? Date.now : function () { return +new Date(); };
  61365. return Scheduler;
  61366. }());
  61367. exports.Scheduler = Scheduler;
  61368. //# sourceMappingURL=Scheduler.js.map
  61369. /***/ },
  61370. /* 697 */
  61371. /***/ function(module, exports, __webpack_require__) {
  61372. "use strict";
  61373. "use strict";
  61374. var __extends = (this && this.__extends) || function (d, b) {
  61375. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  61376. function __() { this.constructor = d; }
  61377. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  61378. };
  61379. var Subscription_1 = __webpack_require__(22);
  61380. /**
  61381. * We need this JSDoc comment for affecting ESDoc.
  61382. * @ignore
  61383. * @extends {Ignored}
  61384. */
  61385. var SubjectSubscription = (function (_super) {
  61386. __extends(SubjectSubscription, _super);
  61387. function SubjectSubscription(subject, subscriber) {
  61388. _super.call(this);
  61389. this.subject = subject;
  61390. this.subscriber = subscriber;
  61391. this.closed = false;
  61392. }
  61393. SubjectSubscription.prototype.unsubscribe = function () {
  61394. if (this.closed) {
  61395. return;
  61396. }
  61397. this.closed = true;
  61398. var subject = this.subject;
  61399. var observers = subject.observers;
  61400. this.subject = null;
  61401. if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {
  61402. return;
  61403. }
  61404. var subscriberIndex = observers.indexOf(this.subscriber);
  61405. if (subscriberIndex !== -1) {
  61406. observers.splice(subscriberIndex, 1);
  61407. }
  61408. };
  61409. return SubjectSubscription;
  61410. }(Subscription_1.Subscription));
  61411. exports.SubjectSubscription = SubjectSubscription;
  61412. //# sourceMappingURL=SubjectSubscription.js.map
  61413. /***/ },
  61414. /* 698 */
  61415. /***/ function(module, exports, __webpack_require__) {
  61416. "use strict";
  61417. "use strict";
  61418. var Observable_1 = __webpack_require__(0);
  61419. var bindCallback_1 = __webpack_require__(843);
  61420. Observable_1.Observable.bindCallback = bindCallback_1.bindCallback;
  61421. //# sourceMappingURL=bindCallback.js.map
  61422. /***/ },
  61423. /* 699 */
  61424. /***/ function(module, exports, __webpack_require__) {
  61425. "use strict";
  61426. "use strict";
  61427. var Observable_1 = __webpack_require__(0);
  61428. var bindNodeCallback_1 = __webpack_require__(844);
  61429. Observable_1.Observable.bindNodeCallback = bindNodeCallback_1.bindNodeCallback;
  61430. //# sourceMappingURL=bindNodeCallback.js.map
  61431. /***/ },
  61432. /* 700 */
  61433. /***/ function(module, exports, __webpack_require__) {
  61434. "use strict";
  61435. "use strict";
  61436. var Observable_1 = __webpack_require__(0);
  61437. var combineLatest_1 = __webpack_require__(845);
  61438. Observable_1.Observable.combineLatest = combineLatest_1.combineLatest;
  61439. //# sourceMappingURL=combineLatest.js.map
  61440. /***/ },
  61441. /* 701 */
  61442. /***/ function(module, exports, __webpack_require__) {
  61443. "use strict";
  61444. "use strict";
  61445. var Observable_1 = __webpack_require__(0);
  61446. var concat_1 = __webpack_require__(846);
  61447. Observable_1.Observable.concat = concat_1.concat;
  61448. //# sourceMappingURL=concat.js.map
  61449. /***/ },
  61450. /* 702 */
  61451. /***/ function(module, exports, __webpack_require__) {
  61452. "use strict";
  61453. "use strict";
  61454. var Observable_1 = __webpack_require__(0);
  61455. var defer_1 = __webpack_require__(847);
  61456. Observable_1.Observable.defer = defer_1.defer;
  61457. //# sourceMappingURL=defer.js.map
  61458. /***/ },
  61459. /* 703 */
  61460. /***/ function(module, exports, __webpack_require__) {
  61461. "use strict";
  61462. "use strict";
  61463. var Observable_1 = __webpack_require__(0);
  61464. var ajax_1 = __webpack_require__(849);
  61465. Observable_1.Observable.ajax = ajax_1.ajax;
  61466. //# sourceMappingURL=ajax.js.map
  61467. /***/ },
  61468. /* 704 */
  61469. /***/ function(module, exports, __webpack_require__) {
  61470. "use strict";
  61471. "use strict";
  61472. var Observable_1 = __webpack_require__(0);
  61473. var webSocket_1 = __webpack_require__(850);
  61474. Observable_1.Observable.webSocket = webSocket_1.webSocket;
  61475. //# sourceMappingURL=webSocket.js.map
  61476. /***/ },
  61477. /* 705 */
  61478. /***/ function(module, exports, __webpack_require__) {
  61479. "use strict";
  61480. "use strict";
  61481. var Observable_1 = __webpack_require__(0);
  61482. var empty_1 = __webpack_require__(851);
  61483. Observable_1.Observable.empty = empty_1.empty;
  61484. //# sourceMappingURL=empty.js.map
  61485. /***/ },
  61486. /* 706 */
  61487. /***/ function(module, exports, __webpack_require__) {
  61488. "use strict";
  61489. "use strict";
  61490. var Observable_1 = __webpack_require__(0);
  61491. var forkJoin_1 = __webpack_require__(852);
  61492. Observable_1.Observable.forkJoin = forkJoin_1.forkJoin;
  61493. //# sourceMappingURL=forkJoin.js.map
  61494. /***/ },
  61495. /* 707 */
  61496. /***/ function(module, exports, __webpack_require__) {
  61497. "use strict";
  61498. "use strict";
  61499. var Observable_1 = __webpack_require__(0);
  61500. var from_1 = __webpack_require__(258);
  61501. Observable_1.Observable.from = from_1.from;
  61502. //# sourceMappingURL=from.js.map
  61503. /***/ },
  61504. /* 708 */
  61505. /***/ function(module, exports, __webpack_require__) {
  61506. "use strict";
  61507. "use strict";
  61508. var Observable_1 = __webpack_require__(0);
  61509. var fromEvent_1 = __webpack_require__(853);
  61510. Observable_1.Observable.fromEvent = fromEvent_1.fromEvent;
  61511. //# sourceMappingURL=fromEvent.js.map
  61512. /***/ },
  61513. /* 709 */
  61514. /***/ function(module, exports, __webpack_require__) {
  61515. "use strict";
  61516. "use strict";
  61517. var Observable_1 = __webpack_require__(0);
  61518. var fromEventPattern_1 = __webpack_require__(854);
  61519. Observable_1.Observable.fromEventPattern = fromEventPattern_1.fromEventPattern;
  61520. //# sourceMappingURL=fromEventPattern.js.map
  61521. /***/ },
  61522. /* 710 */
  61523. /***/ function(module, exports, __webpack_require__) {
  61524. "use strict";
  61525. "use strict";
  61526. var Observable_1 = __webpack_require__(0);
  61527. var fromPromise_1 = __webpack_require__(171);
  61528. Observable_1.Observable.fromPromise = fromPromise_1.fromPromise;
  61529. //# sourceMappingURL=fromPromise.js.map
  61530. /***/ },
  61531. /* 711 */
  61532. /***/ function(module, exports, __webpack_require__) {
  61533. "use strict";
  61534. "use strict";
  61535. var Observable_1 = __webpack_require__(0);
  61536. var GenerateObservable_1 = __webpack_require__(833);
  61537. Observable_1.Observable.generate = GenerateObservable_1.GenerateObservable.create;
  61538. //# sourceMappingURL=generate.js.map
  61539. /***/ },
  61540. /* 712 */
  61541. /***/ function(module, exports, __webpack_require__) {
  61542. "use strict";
  61543. "use strict";
  61544. var Observable_1 = __webpack_require__(0);
  61545. var if_1 = __webpack_require__(855);
  61546. Observable_1.Observable.if = if_1._if;
  61547. //# sourceMappingURL=if.js.map
  61548. /***/ },
  61549. /* 713 */
  61550. /***/ function(module, exports, __webpack_require__) {
  61551. "use strict";
  61552. "use strict";
  61553. var Observable_1 = __webpack_require__(0);
  61554. var interval_1 = __webpack_require__(856);
  61555. Observable_1.Observable.interval = interval_1.interval;
  61556. //# sourceMappingURL=interval.js.map
  61557. /***/ },
  61558. /* 714 */
  61559. /***/ function(module, exports, __webpack_require__) {
  61560. "use strict";
  61561. "use strict";
  61562. var Observable_1 = __webpack_require__(0);
  61563. var merge_1 = __webpack_require__(857);
  61564. Observable_1.Observable.merge = merge_1.merge;
  61565. //# sourceMappingURL=merge.js.map
  61566. /***/ },
  61567. /* 715 */
  61568. /***/ function(module, exports, __webpack_require__) {
  61569. "use strict";
  61570. "use strict";
  61571. var Observable_1 = __webpack_require__(0);
  61572. var never_1 = __webpack_require__(858);
  61573. Observable_1.Observable.never = never_1.never;
  61574. //# sourceMappingURL=never.js.map
  61575. /***/ },
  61576. /* 716 */
  61577. /***/ function(module, exports, __webpack_require__) {
  61578. "use strict";
  61579. "use strict";
  61580. var Observable_1 = __webpack_require__(0);
  61581. var of_1 = __webpack_require__(100);
  61582. Observable_1.Observable.of = of_1.of;
  61583. //# sourceMappingURL=of.js.map
  61584. /***/ },
  61585. /* 717 */
  61586. /***/ function(module, exports, __webpack_require__) {
  61587. "use strict";
  61588. "use strict";
  61589. var Observable_1 = __webpack_require__(0);
  61590. var onErrorResumeNext_1 = __webpack_require__(406);
  61591. Observable_1.Observable.onErrorResumeNext = onErrorResumeNext_1.onErrorResumeNextStatic;
  61592. //# sourceMappingURL=onErrorResumeNext.js.map
  61593. /***/ },
  61594. /* 718 */
  61595. /***/ function(module, exports, __webpack_require__) {
  61596. "use strict";
  61597. "use strict";
  61598. var Observable_1 = __webpack_require__(0);
  61599. var pairs_1 = __webpack_require__(859);
  61600. Observable_1.Observable.pairs = pairs_1.pairs;
  61601. //# sourceMappingURL=pairs.js.map
  61602. /***/ },
  61603. /* 719 */
  61604. /***/ function(module, exports, __webpack_require__) {
  61605. "use strict";
  61606. "use strict";
  61607. var Observable_1 = __webpack_require__(0);
  61608. var race_1 = __webpack_require__(407);
  61609. Observable_1.Observable.race = race_1.raceStatic;
  61610. //# sourceMappingURL=race.js.map
  61611. /***/ },
  61612. /* 720 */
  61613. /***/ function(module, exports, __webpack_require__) {
  61614. "use strict";
  61615. "use strict";
  61616. var Observable_1 = __webpack_require__(0);
  61617. var range_1 = __webpack_require__(860);
  61618. Observable_1.Observable.range = range_1.range;
  61619. //# sourceMappingURL=range.js.map
  61620. /***/ },
  61621. /* 721 */
  61622. /***/ function(module, exports, __webpack_require__) {
  61623. "use strict";
  61624. "use strict";
  61625. var Observable_1 = __webpack_require__(0);
  61626. var throw_1 = __webpack_require__(861);
  61627. Observable_1.Observable.throw = throw_1._throw;
  61628. //# sourceMappingURL=throw.js.map
  61629. /***/ },
  61630. /* 722 */
  61631. /***/ function(module, exports, __webpack_require__) {
  61632. "use strict";
  61633. "use strict";
  61634. var Observable_1 = __webpack_require__(0);
  61635. var timer_1 = __webpack_require__(862);
  61636. Observable_1.Observable.timer = timer_1.timer;
  61637. //# sourceMappingURL=timer.js.map
  61638. /***/ },
  61639. /* 723 */
  61640. /***/ function(module, exports, __webpack_require__) {
  61641. "use strict";
  61642. "use strict";
  61643. var Observable_1 = __webpack_require__(0);
  61644. var using_1 = __webpack_require__(863);
  61645. Observable_1.Observable.using = using_1.using;
  61646. //# sourceMappingURL=using.js.map
  61647. /***/ },
  61648. /* 724 */
  61649. /***/ function(module, exports, __webpack_require__) {
  61650. "use strict";
  61651. "use strict";
  61652. var Observable_1 = __webpack_require__(0);
  61653. var zip_1 = __webpack_require__(864);
  61654. Observable_1.Observable.zip = zip_1.zip;
  61655. //# sourceMappingURL=zip.js.map
  61656. /***/ },
  61657. /* 725 */
  61658. /***/ function(module, exports, __webpack_require__) {
  61659. "use strict";
  61660. "use strict";
  61661. var Observable_1 = __webpack_require__(0);
  61662. var audit_1 = __webpack_require__(865);
  61663. Observable_1.Observable.prototype.audit = audit_1.audit;
  61664. //# sourceMappingURL=audit.js.map
  61665. /***/ },
  61666. /* 726 */
  61667. /***/ function(module, exports, __webpack_require__) {
  61668. "use strict";
  61669. "use strict";
  61670. var Observable_1 = __webpack_require__(0);
  61671. var auditTime_1 = __webpack_require__(866);
  61672. Observable_1.Observable.prototype.auditTime = auditTime_1.auditTime;
  61673. //# sourceMappingURL=auditTime.js.map
  61674. /***/ },
  61675. /* 727 */
  61676. /***/ function(module, exports, __webpack_require__) {
  61677. "use strict";
  61678. "use strict";
  61679. var Observable_1 = __webpack_require__(0);
  61680. var buffer_1 = __webpack_require__(867);
  61681. Observable_1.Observable.prototype.buffer = buffer_1.buffer;
  61682. //# sourceMappingURL=buffer.js.map
  61683. /***/ },
  61684. /* 728 */
  61685. /***/ function(module, exports, __webpack_require__) {
  61686. "use strict";
  61687. "use strict";
  61688. var Observable_1 = __webpack_require__(0);
  61689. var bufferCount_1 = __webpack_require__(868);
  61690. Observable_1.Observable.prototype.bufferCount = bufferCount_1.bufferCount;
  61691. //# sourceMappingURL=bufferCount.js.map
  61692. /***/ },
  61693. /* 729 */
  61694. /***/ function(module, exports, __webpack_require__) {
  61695. "use strict";
  61696. "use strict";
  61697. var Observable_1 = __webpack_require__(0);
  61698. var bufferTime_1 = __webpack_require__(869);
  61699. Observable_1.Observable.prototype.bufferTime = bufferTime_1.bufferTime;
  61700. //# sourceMappingURL=bufferTime.js.map
  61701. /***/ },
  61702. /* 730 */
  61703. /***/ function(module, exports, __webpack_require__) {
  61704. "use strict";
  61705. "use strict";
  61706. var Observable_1 = __webpack_require__(0);
  61707. var bufferToggle_1 = __webpack_require__(870);
  61708. Observable_1.Observable.prototype.bufferToggle = bufferToggle_1.bufferToggle;
  61709. //# sourceMappingURL=bufferToggle.js.map
  61710. /***/ },
  61711. /* 731 */
  61712. /***/ function(module, exports, __webpack_require__) {
  61713. "use strict";
  61714. "use strict";
  61715. var Observable_1 = __webpack_require__(0);
  61716. var bufferWhen_1 = __webpack_require__(871);
  61717. Observable_1.Observable.prototype.bufferWhen = bufferWhen_1.bufferWhen;
  61718. //# sourceMappingURL=bufferWhen.js.map
  61719. /***/ },
  61720. /* 732 */
  61721. /***/ function(module, exports, __webpack_require__) {
  61722. "use strict";
  61723. "use strict";
  61724. var Observable_1 = __webpack_require__(0);
  61725. var cache_1 = __webpack_require__(872);
  61726. Observable_1.Observable.prototype.cache = cache_1.cache;
  61727. //# sourceMappingURL=cache.js.map
  61728. /***/ },
  61729. /* 733 */
  61730. /***/ function(module, exports, __webpack_require__) {
  61731. "use strict";
  61732. "use strict";
  61733. var Observable_1 = __webpack_require__(0);
  61734. var combineAll_1 = __webpack_require__(873);
  61735. Observable_1.Observable.prototype.combineAll = combineAll_1.combineAll;
  61736. //# sourceMappingURL=combineAll.js.map
  61737. /***/ },
  61738. /* 734 */
  61739. /***/ function(module, exports, __webpack_require__) {
  61740. "use strict";
  61741. "use strict";
  61742. var Observable_1 = __webpack_require__(0);
  61743. var combineLatest_1 = __webpack_require__(259);
  61744. Observable_1.Observable.prototype.combineLatest = combineLatest_1.combineLatest;
  61745. //# sourceMappingURL=combineLatest.js.map
  61746. /***/ },
  61747. /* 735 */
  61748. /***/ function(module, exports, __webpack_require__) {
  61749. "use strict";
  61750. "use strict";
  61751. var Observable_1 = __webpack_require__(0);
  61752. var concat_1 = __webpack_require__(260);
  61753. Observable_1.Observable.prototype.concat = concat_1.concat;
  61754. //# sourceMappingURL=concat.js.map
  61755. /***/ },
  61756. /* 736 */
  61757. /***/ function(module, exports, __webpack_require__) {
  61758. "use strict";
  61759. "use strict";
  61760. var Observable_1 = __webpack_require__(0);
  61761. var concatAll_1 = __webpack_require__(261);
  61762. Observable_1.Observable.prototype.concatAll = concatAll_1.concatAll;
  61763. //# sourceMappingURL=concatAll.js.map
  61764. /***/ },
  61765. /* 737 */
  61766. /***/ function(module, exports, __webpack_require__) {
  61767. "use strict";
  61768. "use strict";
  61769. var Observable_1 = __webpack_require__(0);
  61770. var concatMap_1 = __webpack_require__(874);
  61771. Observable_1.Observable.prototype.concatMap = concatMap_1.concatMap;
  61772. //# sourceMappingURL=concatMap.js.map
  61773. /***/ },
  61774. /* 738 */
  61775. /***/ function(module, exports, __webpack_require__) {
  61776. "use strict";
  61777. "use strict";
  61778. var Observable_1 = __webpack_require__(0);
  61779. var concatMapTo_1 = __webpack_require__(875);
  61780. Observable_1.Observable.prototype.concatMapTo = concatMapTo_1.concatMapTo;
  61781. //# sourceMappingURL=concatMapTo.js.map
  61782. /***/ },
  61783. /* 739 */
  61784. /***/ function(module, exports, __webpack_require__) {
  61785. "use strict";
  61786. "use strict";
  61787. var Observable_1 = __webpack_require__(0);
  61788. var count_1 = __webpack_require__(876);
  61789. Observable_1.Observable.prototype.count = count_1.count;
  61790. //# sourceMappingURL=count.js.map
  61791. /***/ },
  61792. /* 740 */
  61793. /***/ function(module, exports, __webpack_require__) {
  61794. "use strict";
  61795. "use strict";
  61796. var Observable_1 = __webpack_require__(0);
  61797. var debounce_1 = __webpack_require__(877);
  61798. Observable_1.Observable.prototype.debounce = debounce_1.debounce;
  61799. //# sourceMappingURL=debounce.js.map
  61800. /***/ },
  61801. /* 741 */
  61802. /***/ function(module, exports, __webpack_require__) {
  61803. "use strict";
  61804. "use strict";
  61805. var Observable_1 = __webpack_require__(0);
  61806. var debounceTime_1 = __webpack_require__(878);
  61807. Observable_1.Observable.prototype.debounceTime = debounceTime_1.debounceTime;
  61808. //# sourceMappingURL=debounceTime.js.map
  61809. /***/ },
  61810. /* 742 */
  61811. /***/ function(module, exports, __webpack_require__) {
  61812. "use strict";
  61813. "use strict";
  61814. var Observable_1 = __webpack_require__(0);
  61815. var defaultIfEmpty_1 = __webpack_require__(879);
  61816. Observable_1.Observable.prototype.defaultIfEmpty = defaultIfEmpty_1.defaultIfEmpty;
  61817. //# sourceMappingURL=defaultIfEmpty.js.map
  61818. /***/ },
  61819. /* 743 */
  61820. /***/ function(module, exports, __webpack_require__) {
  61821. "use strict";
  61822. "use strict";
  61823. var Observable_1 = __webpack_require__(0);
  61824. var delayWhen_1 = __webpack_require__(881);
  61825. Observable_1.Observable.prototype.delayWhen = delayWhen_1.delayWhen;
  61826. //# sourceMappingURL=delayWhen.js.map
  61827. /***/ },
  61828. /* 744 */
  61829. /***/ function(module, exports, __webpack_require__) {
  61830. "use strict";
  61831. "use strict";
  61832. var Observable_1 = __webpack_require__(0);
  61833. var dematerialize_1 = __webpack_require__(882);
  61834. Observable_1.Observable.prototype.dematerialize = dematerialize_1.dematerialize;
  61835. //# sourceMappingURL=dematerialize.js.map
  61836. /***/ },
  61837. /* 745 */
  61838. /***/ function(module, exports, __webpack_require__) {
  61839. "use strict";
  61840. "use strict";
  61841. var Observable_1 = __webpack_require__(0);
  61842. var distinct_1 = __webpack_require__(398);
  61843. Observable_1.Observable.prototype.distinct = distinct_1.distinct;
  61844. //# sourceMappingURL=distinct.js.map
  61845. /***/ },
  61846. /* 746 */
  61847. /***/ function(module, exports, __webpack_require__) {
  61848. "use strict";
  61849. "use strict";
  61850. var Observable_1 = __webpack_require__(0);
  61851. var distinctKey_1 = __webpack_require__(883);
  61852. Observable_1.Observable.prototype.distinctKey = distinctKey_1.distinctKey;
  61853. //# sourceMappingURL=distinctKey.js.map
  61854. /***/ },
  61855. /* 747 */
  61856. /***/ function(module, exports, __webpack_require__) {
  61857. "use strict";
  61858. "use strict";
  61859. var Observable_1 = __webpack_require__(0);
  61860. var distinctUntilChanged_1 = __webpack_require__(399);
  61861. Observable_1.Observable.prototype.distinctUntilChanged = distinctUntilChanged_1.distinctUntilChanged;
  61862. //# sourceMappingURL=distinctUntilChanged.js.map
  61863. /***/ },
  61864. /* 748 */
  61865. /***/ function(module, exports, __webpack_require__) {
  61866. "use strict";
  61867. "use strict";
  61868. var Observable_1 = __webpack_require__(0);
  61869. var distinctUntilKeyChanged_1 = __webpack_require__(884);
  61870. Observable_1.Observable.prototype.distinctUntilKeyChanged = distinctUntilKeyChanged_1.distinctUntilKeyChanged;
  61871. //# sourceMappingURL=distinctUntilKeyChanged.js.map
  61872. /***/ },
  61873. /* 749 */
  61874. /***/ function(module, exports, __webpack_require__) {
  61875. "use strict";
  61876. "use strict";
  61877. var Observable_1 = __webpack_require__(0);
  61878. var do_1 = __webpack_require__(885);
  61879. Observable_1.Observable.prototype.do = do_1._do;
  61880. Observable_1.Observable.prototype._do = do_1._do;
  61881. //# sourceMappingURL=do.js.map
  61882. /***/ },
  61883. /* 750 */
  61884. /***/ function(module, exports, __webpack_require__) {
  61885. "use strict";
  61886. "use strict";
  61887. var Observable_1 = __webpack_require__(0);
  61888. var elementAt_1 = __webpack_require__(886);
  61889. Observable_1.Observable.prototype.elementAt = elementAt_1.elementAt;
  61890. //# sourceMappingURL=elementAt.js.map
  61891. /***/ },
  61892. /* 751 */
  61893. /***/ function(module, exports, __webpack_require__) {
  61894. "use strict";
  61895. "use strict";
  61896. var Observable_1 = __webpack_require__(0);
  61897. var every_1 = __webpack_require__(262);
  61898. Observable_1.Observable.prototype.every = every_1.every;
  61899. //# sourceMappingURL=every.js.map
  61900. /***/ },
  61901. /* 752 */
  61902. /***/ function(module, exports, __webpack_require__) {
  61903. "use strict";
  61904. "use strict";
  61905. var Observable_1 = __webpack_require__(0);
  61906. var exhaust_1 = __webpack_require__(887);
  61907. Observable_1.Observable.prototype.exhaust = exhaust_1.exhaust;
  61908. //# sourceMappingURL=exhaust.js.map
  61909. /***/ },
  61910. /* 753 */
  61911. /***/ function(module, exports, __webpack_require__) {
  61912. "use strict";
  61913. "use strict";
  61914. var Observable_1 = __webpack_require__(0);
  61915. var exhaustMap_1 = __webpack_require__(888);
  61916. Observable_1.Observable.prototype.exhaustMap = exhaustMap_1.exhaustMap;
  61917. //# sourceMappingURL=exhaustMap.js.map
  61918. /***/ },
  61919. /* 754 */
  61920. /***/ function(module, exports, __webpack_require__) {
  61921. "use strict";
  61922. "use strict";
  61923. var Observable_1 = __webpack_require__(0);
  61924. var expand_1 = __webpack_require__(889);
  61925. Observable_1.Observable.prototype.expand = expand_1.expand;
  61926. //# sourceMappingURL=expand.js.map
  61927. /***/ },
  61928. /* 755 */
  61929. /***/ function(module, exports, __webpack_require__) {
  61930. "use strict";
  61931. "use strict";
  61932. var Observable_1 = __webpack_require__(0);
  61933. var filter_1 = __webpack_require__(400);
  61934. Observable_1.Observable.prototype.filter = filter_1.filter;
  61935. //# sourceMappingURL=filter.js.map
  61936. /***/ },
  61937. /* 756 */
  61938. /***/ function(module, exports, __webpack_require__) {
  61939. "use strict";
  61940. "use strict";
  61941. var Observable_1 = __webpack_require__(0);
  61942. var finally_1 = __webpack_require__(890);
  61943. Observable_1.Observable.prototype.finally = finally_1._finally;
  61944. Observable_1.Observable.prototype._finally = finally_1._finally;
  61945. //# sourceMappingURL=finally.js.map
  61946. /***/ },
  61947. /* 757 */
  61948. /***/ function(module, exports, __webpack_require__) {
  61949. "use strict";
  61950. "use strict";
  61951. var Observable_1 = __webpack_require__(0);
  61952. var find_1 = __webpack_require__(401);
  61953. Observable_1.Observable.prototype.find = find_1.find;
  61954. //# sourceMappingURL=find.js.map
  61955. /***/ },
  61956. /* 758 */
  61957. /***/ function(module, exports, __webpack_require__) {
  61958. "use strict";
  61959. "use strict";
  61960. var Observable_1 = __webpack_require__(0);
  61961. var findIndex_1 = __webpack_require__(891);
  61962. Observable_1.Observable.prototype.findIndex = findIndex_1.findIndex;
  61963. //# sourceMappingURL=findIndex.js.map
  61964. /***/ },
  61965. /* 759 */
  61966. /***/ function(module, exports, __webpack_require__) {
  61967. "use strict";
  61968. "use strict";
  61969. var Observable_1 = __webpack_require__(0);
  61970. var first_1 = __webpack_require__(402);
  61971. Observable_1.Observable.prototype.first = first_1.first;
  61972. //# sourceMappingURL=first.js.map
  61973. /***/ },
  61974. /* 760 */
  61975. /***/ function(module, exports, __webpack_require__) {
  61976. "use strict";
  61977. "use strict";
  61978. var Observable_1 = __webpack_require__(0);
  61979. var groupBy_1 = __webpack_require__(892);
  61980. Observable_1.Observable.prototype.groupBy = groupBy_1.groupBy;
  61981. //# sourceMappingURL=groupBy.js.map
  61982. /***/ },
  61983. /* 761 */
  61984. /***/ function(module, exports, __webpack_require__) {
  61985. "use strict";
  61986. "use strict";
  61987. var Observable_1 = __webpack_require__(0);
  61988. var ignoreElements_1 = __webpack_require__(893);
  61989. Observable_1.Observable.prototype.ignoreElements = ignoreElements_1.ignoreElements;
  61990. //# sourceMappingURL=ignoreElements.js.map
  61991. /***/ },
  61992. /* 762 */
  61993. /***/ function(module, exports, __webpack_require__) {
  61994. "use strict";
  61995. "use strict";
  61996. var Observable_1 = __webpack_require__(0);
  61997. var isEmpty_1 = __webpack_require__(894);
  61998. Observable_1.Observable.prototype.isEmpty = isEmpty_1.isEmpty;
  61999. //# sourceMappingURL=isEmpty.js.map
  62000. /***/ },
  62001. /* 763 */
  62002. /***/ function(module, exports, __webpack_require__) {
  62003. "use strict";
  62004. "use strict";
  62005. var Observable_1 = __webpack_require__(0);
  62006. var last_1 = __webpack_require__(403);
  62007. Observable_1.Observable.prototype.last = last_1.last;
  62008. //# sourceMappingURL=last.js.map
  62009. /***/ },
  62010. /* 764 */
  62011. /***/ function(module, exports, __webpack_require__) {
  62012. "use strict";
  62013. "use strict";
  62014. var Observable_1 = __webpack_require__(0);
  62015. var let_1 = __webpack_require__(895);
  62016. Observable_1.Observable.prototype.let = let_1.letProto;
  62017. Observable_1.Observable.prototype.letBind = let_1.letProto;
  62018. //# sourceMappingURL=let.js.map
  62019. /***/ },
  62020. /* 765 */
  62021. /***/ function(module, exports, __webpack_require__) {
  62022. "use strict";
  62023. "use strict";
  62024. var Observable_1 = __webpack_require__(0);
  62025. var map_1 = __webpack_require__(82);
  62026. Observable_1.Observable.prototype.map = map_1.map;
  62027. //# sourceMappingURL=map.js.map
  62028. /***/ },
  62029. /* 766 */
  62030. /***/ function(module, exports, __webpack_require__) {
  62031. "use strict";
  62032. "use strict";
  62033. var Observable_1 = __webpack_require__(0);
  62034. var mapTo_1 = __webpack_require__(896);
  62035. Observable_1.Observable.prototype.mapTo = mapTo_1.mapTo;
  62036. //# sourceMappingURL=mapTo.js.map
  62037. /***/ },
  62038. /* 767 */
  62039. /***/ function(module, exports, __webpack_require__) {
  62040. "use strict";
  62041. "use strict";
  62042. var Observable_1 = __webpack_require__(0);
  62043. var materialize_1 = __webpack_require__(897);
  62044. Observable_1.Observable.prototype.materialize = materialize_1.materialize;
  62045. //# sourceMappingURL=materialize.js.map
  62046. /***/ },
  62047. /* 768 */
  62048. /***/ function(module, exports, __webpack_require__) {
  62049. "use strict";
  62050. "use strict";
  62051. var Observable_1 = __webpack_require__(0);
  62052. var max_1 = __webpack_require__(898);
  62053. Observable_1.Observable.prototype.max = max_1.max;
  62054. //# sourceMappingURL=max.js.map
  62055. /***/ },
  62056. /* 769 */
  62057. /***/ function(module, exports, __webpack_require__) {
  62058. "use strict";
  62059. "use strict";
  62060. var Observable_1 = __webpack_require__(0);
  62061. var merge_1 = __webpack_require__(404);
  62062. Observable_1.Observable.prototype.merge = merge_1.merge;
  62063. //# sourceMappingURL=merge.js.map
  62064. /***/ },
  62065. /* 770 */
  62066. /***/ function(module, exports, __webpack_require__) {
  62067. "use strict";
  62068. "use strict";
  62069. var Observable_1 = __webpack_require__(0);
  62070. var mergeAll_1 = __webpack_require__(101);
  62071. Observable_1.Observable.prototype.mergeAll = mergeAll_1.mergeAll;
  62072. //# sourceMappingURL=mergeAll.js.map
  62073. /***/ },
  62074. /* 771 */
  62075. /***/ function(module, exports, __webpack_require__) {
  62076. "use strict";
  62077. "use strict";
  62078. var Observable_1 = __webpack_require__(0);
  62079. var mergeMap_1 = __webpack_require__(121);
  62080. Observable_1.Observable.prototype.mergeMap = mergeMap_1.mergeMap;
  62081. Observable_1.Observable.prototype.flatMap = mergeMap_1.mergeMap;
  62082. //# sourceMappingURL=mergeMap.js.map
  62083. /***/ },
  62084. /* 772 */
  62085. /***/ function(module, exports, __webpack_require__) {
  62086. "use strict";
  62087. "use strict";
  62088. var Observable_1 = __webpack_require__(0);
  62089. var mergeMapTo_1 = __webpack_require__(405);
  62090. Observable_1.Observable.prototype.flatMapTo = mergeMapTo_1.mergeMapTo;
  62091. Observable_1.Observable.prototype.mergeMapTo = mergeMapTo_1.mergeMapTo;
  62092. //# sourceMappingURL=mergeMapTo.js.map
  62093. /***/ },
  62094. /* 773 */
  62095. /***/ function(module, exports, __webpack_require__) {
  62096. "use strict";
  62097. "use strict";
  62098. var Observable_1 = __webpack_require__(0);
  62099. var mergeScan_1 = __webpack_require__(899);
  62100. Observable_1.Observable.prototype.mergeScan = mergeScan_1.mergeScan;
  62101. //# sourceMappingURL=mergeScan.js.map
  62102. /***/ },
  62103. /* 774 */
  62104. /***/ function(module, exports, __webpack_require__) {
  62105. "use strict";
  62106. "use strict";
  62107. var Observable_1 = __webpack_require__(0);
  62108. var min_1 = __webpack_require__(900);
  62109. Observable_1.Observable.prototype.min = min_1.min;
  62110. //# sourceMappingURL=min.js.map
  62111. /***/ },
  62112. /* 775 */
  62113. /***/ function(module, exports, __webpack_require__) {
  62114. "use strict";
  62115. "use strict";
  62116. var Observable_1 = __webpack_require__(0);
  62117. var multicast_1 = __webpack_require__(102);
  62118. Observable_1.Observable.prototype.multicast = multicast_1.multicast;
  62119. //# sourceMappingURL=multicast.js.map
  62120. /***/ },
  62121. /* 776 */
  62122. /***/ function(module, exports, __webpack_require__) {
  62123. "use strict";
  62124. "use strict";
  62125. var Observable_1 = __webpack_require__(0);
  62126. var observeOn_1 = __webpack_require__(263);
  62127. Observable_1.Observable.prototype.observeOn = observeOn_1.observeOn;
  62128. //# sourceMappingURL=observeOn.js.map
  62129. /***/ },
  62130. /* 777 */
  62131. /***/ function(module, exports, __webpack_require__) {
  62132. "use strict";
  62133. "use strict";
  62134. var Observable_1 = __webpack_require__(0);
  62135. var onErrorResumeNext_1 = __webpack_require__(406);
  62136. Observable_1.Observable.prototype.onErrorResumeNext = onErrorResumeNext_1.onErrorResumeNext;
  62137. //# sourceMappingURL=onErrorResumeNext.js.map
  62138. /***/ },
  62139. /* 778 */
  62140. /***/ function(module, exports, __webpack_require__) {
  62141. "use strict";
  62142. "use strict";
  62143. var Observable_1 = __webpack_require__(0);
  62144. var pairwise_1 = __webpack_require__(901);
  62145. Observable_1.Observable.prototype.pairwise = pairwise_1.pairwise;
  62146. //# sourceMappingURL=pairwise.js.map
  62147. /***/ },
  62148. /* 779 */
  62149. /***/ function(module, exports, __webpack_require__) {
  62150. "use strict";
  62151. "use strict";
  62152. var Observable_1 = __webpack_require__(0);
  62153. var partition_1 = __webpack_require__(902);
  62154. Observable_1.Observable.prototype.partition = partition_1.partition;
  62155. //# sourceMappingURL=partition.js.map
  62156. /***/ },
  62157. /* 780 */
  62158. /***/ function(module, exports, __webpack_require__) {
  62159. "use strict";
  62160. "use strict";
  62161. var Observable_1 = __webpack_require__(0);
  62162. var pluck_1 = __webpack_require__(903);
  62163. Observable_1.Observable.prototype.pluck = pluck_1.pluck;
  62164. //# sourceMappingURL=pluck.js.map
  62165. /***/ },
  62166. /* 781 */
  62167. /***/ function(module, exports, __webpack_require__) {
  62168. "use strict";
  62169. "use strict";
  62170. var Observable_1 = __webpack_require__(0);
  62171. var publish_1 = __webpack_require__(904);
  62172. Observable_1.Observable.prototype.publish = publish_1.publish;
  62173. //# sourceMappingURL=publish.js.map
  62174. /***/ },
  62175. /* 782 */
  62176. /***/ function(module, exports, __webpack_require__) {
  62177. "use strict";
  62178. "use strict";
  62179. var Observable_1 = __webpack_require__(0);
  62180. var publishBehavior_1 = __webpack_require__(905);
  62181. Observable_1.Observable.prototype.publishBehavior = publishBehavior_1.publishBehavior;
  62182. //# sourceMappingURL=publishBehavior.js.map
  62183. /***/ },
  62184. /* 783 */
  62185. /***/ function(module, exports, __webpack_require__) {
  62186. "use strict";
  62187. "use strict";
  62188. var Observable_1 = __webpack_require__(0);
  62189. var publishLast_1 = __webpack_require__(906);
  62190. Observable_1.Observable.prototype.publishLast = publishLast_1.publishLast;
  62191. //# sourceMappingURL=publishLast.js.map
  62192. /***/ },
  62193. /* 784 */
  62194. /***/ function(module, exports, __webpack_require__) {
  62195. "use strict";
  62196. "use strict";
  62197. var Observable_1 = __webpack_require__(0);
  62198. var publishReplay_1 = __webpack_require__(907);
  62199. Observable_1.Observable.prototype.publishReplay = publishReplay_1.publishReplay;
  62200. //# sourceMappingURL=publishReplay.js.map
  62201. /***/ },
  62202. /* 785 */
  62203. /***/ function(module, exports, __webpack_require__) {
  62204. "use strict";
  62205. "use strict";
  62206. var Observable_1 = __webpack_require__(0);
  62207. var race_1 = __webpack_require__(407);
  62208. Observable_1.Observable.prototype.race = race_1.race;
  62209. //# sourceMappingURL=race.js.map
  62210. /***/ },
  62211. /* 786 */
  62212. /***/ function(module, exports, __webpack_require__) {
  62213. "use strict";
  62214. "use strict";
  62215. var Observable_1 = __webpack_require__(0);
  62216. var reduce_1 = __webpack_require__(172);
  62217. Observable_1.Observable.prototype.reduce = reduce_1.reduce;
  62218. //# sourceMappingURL=reduce.js.map
  62219. /***/ },
  62220. /* 787 */
  62221. /***/ function(module, exports, __webpack_require__) {
  62222. "use strict";
  62223. "use strict";
  62224. var Observable_1 = __webpack_require__(0);
  62225. var repeat_1 = __webpack_require__(908);
  62226. Observable_1.Observable.prototype.repeat = repeat_1.repeat;
  62227. //# sourceMappingURL=repeat.js.map
  62228. /***/ },
  62229. /* 788 */
  62230. /***/ function(module, exports, __webpack_require__) {
  62231. "use strict";
  62232. "use strict";
  62233. var Observable_1 = __webpack_require__(0);
  62234. var repeatWhen_1 = __webpack_require__(909);
  62235. Observable_1.Observable.prototype.repeatWhen = repeatWhen_1.repeatWhen;
  62236. //# sourceMappingURL=repeatWhen.js.map
  62237. /***/ },
  62238. /* 789 */
  62239. /***/ function(module, exports, __webpack_require__) {
  62240. "use strict";
  62241. "use strict";
  62242. var Observable_1 = __webpack_require__(0);
  62243. var retry_1 = __webpack_require__(910);
  62244. Observable_1.Observable.prototype.retry = retry_1.retry;
  62245. //# sourceMappingURL=retry.js.map
  62246. /***/ },
  62247. /* 790 */
  62248. /***/ function(module, exports, __webpack_require__) {
  62249. "use strict";
  62250. "use strict";
  62251. var Observable_1 = __webpack_require__(0);
  62252. var retryWhen_1 = __webpack_require__(911);
  62253. Observable_1.Observable.prototype.retryWhen = retryWhen_1.retryWhen;
  62254. //# sourceMappingURL=retryWhen.js.map
  62255. /***/ },
  62256. /* 791 */
  62257. /***/ function(module, exports, __webpack_require__) {
  62258. "use strict";
  62259. "use strict";
  62260. var Observable_1 = __webpack_require__(0);
  62261. var sample_1 = __webpack_require__(912);
  62262. Observable_1.Observable.prototype.sample = sample_1.sample;
  62263. //# sourceMappingURL=sample.js.map
  62264. /***/ },
  62265. /* 792 */
  62266. /***/ function(module, exports, __webpack_require__) {
  62267. "use strict";
  62268. "use strict";
  62269. var Observable_1 = __webpack_require__(0);
  62270. var sampleTime_1 = __webpack_require__(913);
  62271. Observable_1.Observable.prototype.sampleTime = sampleTime_1.sampleTime;
  62272. //# sourceMappingURL=sampleTime.js.map
  62273. /***/ },
  62274. /* 793 */
  62275. /***/ function(module, exports, __webpack_require__) {
  62276. "use strict";
  62277. "use strict";
  62278. var Observable_1 = __webpack_require__(0);
  62279. var scan_1 = __webpack_require__(914);
  62280. Observable_1.Observable.prototype.scan = scan_1.scan;
  62281. //# sourceMappingURL=scan.js.map
  62282. /***/ },
  62283. /* 794 */
  62284. /***/ function(module, exports, __webpack_require__) {
  62285. "use strict";
  62286. "use strict";
  62287. var Observable_1 = __webpack_require__(0);
  62288. var sequenceEqual_1 = __webpack_require__(915);
  62289. Observable_1.Observable.prototype.sequenceEqual = sequenceEqual_1.sequenceEqual;
  62290. //# sourceMappingURL=sequenceEqual.js.map
  62291. /***/ },
  62292. /* 795 */
  62293. /***/ function(module, exports, __webpack_require__) {
  62294. "use strict";
  62295. "use strict";
  62296. var Observable_1 = __webpack_require__(0);
  62297. var share_1 = __webpack_require__(916);
  62298. Observable_1.Observable.prototype.share = share_1.share;
  62299. //# sourceMappingURL=share.js.map
  62300. /***/ },
  62301. /* 796 */
  62302. /***/ function(module, exports, __webpack_require__) {
  62303. "use strict";
  62304. "use strict";
  62305. var Observable_1 = __webpack_require__(0);
  62306. var single_1 = __webpack_require__(917);
  62307. Observable_1.Observable.prototype.single = single_1.single;
  62308. //# sourceMappingURL=single.js.map
  62309. /***/ },
  62310. /* 797 */
  62311. /***/ function(module, exports, __webpack_require__) {
  62312. "use strict";
  62313. "use strict";
  62314. var Observable_1 = __webpack_require__(0);
  62315. var skip_1 = __webpack_require__(918);
  62316. Observable_1.Observable.prototype.skip = skip_1.skip;
  62317. //# sourceMappingURL=skip.js.map
  62318. /***/ },
  62319. /* 798 */
  62320. /***/ function(module, exports, __webpack_require__) {
  62321. "use strict";
  62322. "use strict";
  62323. var Observable_1 = __webpack_require__(0);
  62324. var skipUntil_1 = __webpack_require__(919);
  62325. Observable_1.Observable.prototype.skipUntil = skipUntil_1.skipUntil;
  62326. //# sourceMappingURL=skipUntil.js.map
  62327. /***/ },
  62328. /* 799 */
  62329. /***/ function(module, exports, __webpack_require__) {
  62330. "use strict";
  62331. "use strict";
  62332. var Observable_1 = __webpack_require__(0);
  62333. var skipWhile_1 = __webpack_require__(920);
  62334. Observable_1.Observable.prototype.skipWhile = skipWhile_1.skipWhile;
  62335. //# sourceMappingURL=skipWhile.js.map
  62336. /***/ },
  62337. /* 800 */
  62338. /***/ function(module, exports, __webpack_require__) {
  62339. "use strict";
  62340. "use strict";
  62341. var Observable_1 = __webpack_require__(0);
  62342. var startWith_1 = __webpack_require__(921);
  62343. Observable_1.Observable.prototype.startWith = startWith_1.startWith;
  62344. //# sourceMappingURL=startWith.js.map
  62345. /***/ },
  62346. /* 801 */
  62347. /***/ function(module, exports, __webpack_require__) {
  62348. "use strict";
  62349. "use strict";
  62350. var Observable_1 = __webpack_require__(0);
  62351. var subscribeOn_1 = __webpack_require__(922);
  62352. Observable_1.Observable.prototype.subscribeOn = subscribeOn_1.subscribeOn;
  62353. //# sourceMappingURL=subscribeOn.js.map
  62354. /***/ },
  62355. /* 802 */
  62356. /***/ function(module, exports, __webpack_require__) {
  62357. "use strict";
  62358. "use strict";
  62359. var Observable_1 = __webpack_require__(0);
  62360. var switch_1 = __webpack_require__(923);
  62361. Observable_1.Observable.prototype.switch = switch_1._switch;
  62362. Observable_1.Observable.prototype._switch = switch_1._switch;
  62363. //# sourceMappingURL=switch.js.map
  62364. /***/ },
  62365. /* 803 */
  62366. /***/ function(module, exports, __webpack_require__) {
  62367. "use strict";
  62368. "use strict";
  62369. var Observable_1 = __webpack_require__(0);
  62370. var switchMap_1 = __webpack_require__(924);
  62371. Observable_1.Observable.prototype.switchMap = switchMap_1.switchMap;
  62372. //# sourceMappingURL=switchMap.js.map
  62373. /***/ },
  62374. /* 804 */
  62375. /***/ function(module, exports, __webpack_require__) {
  62376. "use strict";
  62377. "use strict";
  62378. var Observable_1 = __webpack_require__(0);
  62379. var switchMapTo_1 = __webpack_require__(925);
  62380. Observable_1.Observable.prototype.switchMapTo = switchMapTo_1.switchMapTo;
  62381. //# sourceMappingURL=switchMapTo.js.map
  62382. /***/ },
  62383. /* 805 */
  62384. /***/ function(module, exports, __webpack_require__) {
  62385. "use strict";
  62386. "use strict";
  62387. var Observable_1 = __webpack_require__(0);
  62388. var take_1 = __webpack_require__(926);
  62389. Observable_1.Observable.prototype.take = take_1.take;
  62390. //# sourceMappingURL=take.js.map
  62391. /***/ },
  62392. /* 806 */
  62393. /***/ function(module, exports, __webpack_require__) {
  62394. "use strict";
  62395. "use strict";
  62396. var Observable_1 = __webpack_require__(0);
  62397. var takeLast_1 = __webpack_require__(927);
  62398. Observable_1.Observable.prototype.takeLast = takeLast_1.takeLast;
  62399. //# sourceMappingURL=takeLast.js.map
  62400. /***/ },
  62401. /* 807 */
  62402. /***/ function(module, exports, __webpack_require__) {
  62403. "use strict";
  62404. "use strict";
  62405. var Observable_1 = __webpack_require__(0);
  62406. var takeUntil_1 = __webpack_require__(928);
  62407. Observable_1.Observable.prototype.takeUntil = takeUntil_1.takeUntil;
  62408. //# sourceMappingURL=takeUntil.js.map
  62409. /***/ },
  62410. /* 808 */
  62411. /***/ function(module, exports, __webpack_require__) {
  62412. "use strict";
  62413. "use strict";
  62414. var Observable_1 = __webpack_require__(0);
  62415. var takeWhile_1 = __webpack_require__(929);
  62416. Observable_1.Observable.prototype.takeWhile = takeWhile_1.takeWhile;
  62417. //# sourceMappingURL=takeWhile.js.map
  62418. /***/ },
  62419. /* 809 */
  62420. /***/ function(module, exports, __webpack_require__) {
  62421. "use strict";
  62422. "use strict";
  62423. var Observable_1 = __webpack_require__(0);
  62424. var throttle_1 = __webpack_require__(930);
  62425. Observable_1.Observable.prototype.throttle = throttle_1.throttle;
  62426. //# sourceMappingURL=throttle.js.map
  62427. /***/ },
  62428. /* 810 */
  62429. /***/ function(module, exports, __webpack_require__) {
  62430. "use strict";
  62431. "use strict";
  62432. var Observable_1 = __webpack_require__(0);
  62433. var throttleTime_1 = __webpack_require__(931);
  62434. Observable_1.Observable.prototype.throttleTime = throttleTime_1.throttleTime;
  62435. //# sourceMappingURL=throttleTime.js.map
  62436. /***/ },
  62437. /* 811 */
  62438. /***/ function(module, exports, __webpack_require__) {
  62439. "use strict";
  62440. "use strict";
  62441. var Observable_1 = __webpack_require__(0);
  62442. var timeInterval_1 = __webpack_require__(408);
  62443. Observable_1.Observable.prototype.timeInterval = timeInterval_1.timeInterval;
  62444. //# sourceMappingURL=timeInterval.js.map
  62445. /***/ },
  62446. /* 812 */
  62447. /***/ function(module, exports, __webpack_require__) {
  62448. "use strict";
  62449. "use strict";
  62450. var Observable_1 = __webpack_require__(0);
  62451. var timeout_1 = __webpack_require__(932);
  62452. Observable_1.Observable.prototype.timeout = timeout_1.timeout;
  62453. //# sourceMappingURL=timeout.js.map
  62454. /***/ },
  62455. /* 813 */
  62456. /***/ function(module, exports, __webpack_require__) {
  62457. "use strict";
  62458. "use strict";
  62459. var Observable_1 = __webpack_require__(0);
  62460. var timeoutWith_1 = __webpack_require__(933);
  62461. Observable_1.Observable.prototype.timeoutWith = timeoutWith_1.timeoutWith;
  62462. //# sourceMappingURL=timeoutWith.js.map
  62463. /***/ },
  62464. /* 814 */
  62465. /***/ function(module, exports, __webpack_require__) {
  62466. "use strict";
  62467. "use strict";
  62468. var Observable_1 = __webpack_require__(0);
  62469. var timestamp_1 = __webpack_require__(409);
  62470. Observable_1.Observable.prototype.timestamp = timestamp_1.timestamp;
  62471. //# sourceMappingURL=timestamp.js.map
  62472. /***/ },
  62473. /* 815 */
  62474. /***/ function(module, exports, __webpack_require__) {
  62475. "use strict";
  62476. "use strict";
  62477. var Observable_1 = __webpack_require__(0);
  62478. var toArray_1 = __webpack_require__(934);
  62479. Observable_1.Observable.prototype.toArray = toArray_1.toArray;
  62480. //# sourceMappingURL=toArray.js.map
  62481. /***/ },
  62482. /* 816 */
  62483. /***/ function(module, exports, __webpack_require__) {
  62484. "use strict";
  62485. "use strict";
  62486. var Observable_1 = __webpack_require__(0);
  62487. var toPromise_1 = __webpack_require__(410);
  62488. Observable_1.Observable.prototype.toPromise = toPromise_1.toPromise;
  62489. //# sourceMappingURL=toPromise.js.map
  62490. /***/ },
  62491. /* 817 */
  62492. /***/ function(module, exports, __webpack_require__) {
  62493. "use strict";
  62494. "use strict";
  62495. var Observable_1 = __webpack_require__(0);
  62496. var window_1 = __webpack_require__(935);
  62497. Observable_1.Observable.prototype.window = window_1.window;
  62498. //# sourceMappingURL=window.js.map
  62499. /***/ },
  62500. /* 818 */
  62501. /***/ function(module, exports, __webpack_require__) {
  62502. "use strict";
  62503. "use strict";
  62504. var Observable_1 = __webpack_require__(0);
  62505. var windowCount_1 = __webpack_require__(936);
  62506. Observable_1.Observable.prototype.windowCount = windowCount_1.windowCount;
  62507. //# sourceMappingURL=windowCount.js.map
  62508. /***/ },
  62509. /* 819 */
  62510. /***/ function(module, exports, __webpack_require__) {
  62511. "use strict";
  62512. "use strict";
  62513. var Observable_1 = __webpack_require__(0);
  62514. var windowTime_1 = __webpack_require__(937);
  62515. Observable_1.Observable.prototype.windowTime = windowTime_1.windowTime;
  62516. //# sourceMappingURL=windowTime.js.map
  62517. /***/ },
  62518. /* 820 */
  62519. /***/ function(module, exports, __webpack_require__) {
  62520. "use strict";
  62521. "use strict";
  62522. var Observable_1 = __webpack_require__(0);
  62523. var windowToggle_1 = __webpack_require__(938);
  62524. Observable_1.Observable.prototype.windowToggle = windowToggle_1.windowToggle;
  62525. //# sourceMappingURL=windowToggle.js.map
  62526. /***/ },
  62527. /* 821 */
  62528. /***/ function(module, exports, __webpack_require__) {
  62529. "use strict";
  62530. "use strict";
  62531. var Observable_1 = __webpack_require__(0);
  62532. var windowWhen_1 = __webpack_require__(939);
  62533. Observable_1.Observable.prototype.windowWhen = windowWhen_1.windowWhen;
  62534. //# sourceMappingURL=windowWhen.js.map
  62535. /***/ },
  62536. /* 822 */
  62537. /***/ function(module, exports, __webpack_require__) {
  62538. "use strict";
  62539. "use strict";
  62540. var Observable_1 = __webpack_require__(0);
  62541. var withLatestFrom_1 = __webpack_require__(940);
  62542. Observable_1.Observable.prototype.withLatestFrom = withLatestFrom_1.withLatestFrom;
  62543. //# sourceMappingURL=withLatestFrom.js.map
  62544. /***/ },
  62545. /* 823 */
  62546. /***/ function(module, exports, __webpack_require__) {
  62547. "use strict";
  62548. "use strict";
  62549. var Observable_1 = __webpack_require__(0);
  62550. var zip_1 = __webpack_require__(264);
  62551. Observable_1.Observable.prototype.zip = zip_1.zipProto;
  62552. //# sourceMappingURL=zip.js.map
  62553. /***/ },
  62554. /* 824 */
  62555. /***/ function(module, exports, __webpack_require__) {
  62556. "use strict";
  62557. "use strict";
  62558. var Observable_1 = __webpack_require__(0);
  62559. var zipAll_1 = __webpack_require__(941);
  62560. Observable_1.Observable.prototype.zipAll = zipAll_1.zipAll;
  62561. //# sourceMappingURL=zipAll.js.map
  62562. /***/ },
  62563. /* 825 */
  62564. /***/ function(module, exports, __webpack_require__) {
  62565. "use strict";
  62566. "use strict";
  62567. var __extends = (this && this.__extends) || function (d, b) {
  62568. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  62569. function __() { this.constructor = d; }
  62570. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  62571. };
  62572. var Observable_1 = __webpack_require__(0);
  62573. var ScalarObservable_1 = __webpack_require__(257);
  62574. var EmptyObservable_1 = __webpack_require__(74);
  62575. /**
  62576. * We need this JSDoc comment for affecting ESDoc.
  62577. * @extends {Ignored}
  62578. * @hide true
  62579. */
  62580. var ArrayLikeObservable = (function (_super) {
  62581. __extends(ArrayLikeObservable, _super);
  62582. function ArrayLikeObservable(arrayLike, scheduler) {
  62583. _super.call(this);
  62584. this.arrayLike = arrayLike;
  62585. this.scheduler = scheduler;
  62586. if (!scheduler && arrayLike.length === 1) {
  62587. this._isScalar = true;
  62588. this.value = arrayLike[0];
  62589. }
  62590. }
  62591. ArrayLikeObservable.create = function (arrayLike, scheduler) {
  62592. var length = arrayLike.length;
  62593. if (length === 0) {
  62594. return new EmptyObservable_1.EmptyObservable();
  62595. }
  62596. else if (length === 1) {
  62597. return new ScalarObservable_1.ScalarObservable(arrayLike[0], scheduler);
  62598. }
  62599. else {
  62600. return new ArrayLikeObservable(arrayLike, scheduler);
  62601. }
  62602. };
  62603. ArrayLikeObservable.dispatch = function (state) {
  62604. var arrayLike = state.arrayLike, index = state.index, length = state.length, subscriber = state.subscriber;
  62605. if (subscriber.closed) {
  62606. return;
  62607. }
  62608. if (index >= length) {
  62609. subscriber.complete();
  62610. return;
  62611. }
  62612. subscriber.next(arrayLike[index]);
  62613. state.index = index + 1;
  62614. this.schedule(state);
  62615. };
  62616. ArrayLikeObservable.prototype._subscribe = function (subscriber) {
  62617. var index = 0;
  62618. var _a = this, arrayLike = _a.arrayLike, scheduler = _a.scheduler;
  62619. var length = arrayLike.length;
  62620. if (scheduler) {
  62621. return scheduler.schedule(ArrayLikeObservable.dispatch, 0, {
  62622. arrayLike: arrayLike, index: index, length: length, subscriber: subscriber
  62623. });
  62624. }
  62625. else {
  62626. for (var i = 0; i < length && !subscriber.closed; i++) {
  62627. subscriber.next(arrayLike[i]);
  62628. }
  62629. subscriber.complete();
  62630. }
  62631. };
  62632. return ArrayLikeObservable;
  62633. }(Observable_1.Observable));
  62634. exports.ArrayLikeObservable = ArrayLikeObservable;
  62635. //# sourceMappingURL=ArrayLikeObservable.js.map
  62636. /***/ },
  62637. /* 826 */
  62638. /***/ function(module, exports, __webpack_require__) {
  62639. "use strict";
  62640. "use strict";
  62641. var __extends = (this && this.__extends) || function (d, b) {
  62642. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  62643. function __() { this.constructor = d; }
  62644. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  62645. };
  62646. var Observable_1 = __webpack_require__(0);
  62647. var tryCatch_1 = __webpack_require__(24);
  62648. var errorObject_1 = __webpack_require__(23);
  62649. var AsyncSubject_1 = __webpack_require__(168);
  62650. /**
  62651. * We need this JSDoc comment for affecting ESDoc.
  62652. * @extends {Ignored}
  62653. * @hide true
  62654. */
  62655. var BoundCallbackObservable = (function (_super) {
  62656. __extends(BoundCallbackObservable, _super);
  62657. function BoundCallbackObservable(callbackFunc, selector, args, scheduler) {
  62658. _super.call(this);
  62659. this.callbackFunc = callbackFunc;
  62660. this.selector = selector;
  62661. this.args = args;
  62662. this.scheduler = scheduler;
  62663. }
  62664. /* tslint:enable:max-line-length */
  62665. /**
  62666. * Converts a callback API to a function that returns an Observable.
  62667. *
  62668. * <span class="informal">Give it a function `f` of type `f(x, callback)` and
  62669. * it will return a function `g` that when called as `g(x)` will output an
  62670. * Observable.</span>
  62671. *
  62672. * `bindCallback` is not an operator because its input and output are not
  62673. * Observables. The input is a function `func` with some parameters, but the
  62674. * last parameter must be a callback function that `func` calls when it is
  62675. * done. The output of `bindCallback` is a function that takes the same
  62676. * parameters as `func`, except the last one (the callback). When the output
  62677. * function is called with arguments, it will return an Observable where the
  62678. * results will be delivered to.
  62679. *
  62680. * @example <caption>Convert jQuery's getJSON to an Observable API</caption>
  62681. * // Suppose we have jQuery.getJSON('/my/url', callback)
  62682. * var getJSONAsObservable = Rx.Observable.bindCallback(jQuery.getJSON);
  62683. * var result = getJSONAsObservable('/my/url');
  62684. * result.subscribe(x => console.log(x), e => console.error(e));
  62685. *
  62686. * @see {@link bindNodeCallback}
  62687. * @see {@link from}
  62688. * @see {@link fromPromise}
  62689. *
  62690. * @param {function} func Function with a callback as the last parameter.
  62691. * @param {function} selector A function which takes the arguments from the
  62692. * callback and maps those a value to emit on the output Observable.
  62693. * @param {Scheduler} [scheduler] The scheduler on which to schedule the
  62694. * callbacks.
  62695. * @return {function(...params: *): Observable} A function which returns the
  62696. * Observable that delivers the same values the callback would deliver.
  62697. * @static true
  62698. * @name bindCallback
  62699. * @owner Observable
  62700. */
  62701. BoundCallbackObservable.create = function (func, selector, scheduler) {
  62702. if (selector === void 0) { selector = undefined; }
  62703. return function () {
  62704. var args = [];
  62705. for (var _i = 0; _i < arguments.length; _i++) {
  62706. args[_i - 0] = arguments[_i];
  62707. }
  62708. return new BoundCallbackObservable(func, selector, args, scheduler);
  62709. };
  62710. };
  62711. BoundCallbackObservable.prototype._subscribe = function (subscriber) {
  62712. var callbackFunc = this.callbackFunc;
  62713. var args = this.args;
  62714. var scheduler = this.scheduler;
  62715. var subject = this.subject;
  62716. if (!scheduler) {
  62717. if (!subject) {
  62718. subject = this.subject = new AsyncSubject_1.AsyncSubject();
  62719. var handler = function handlerFn() {
  62720. var innerArgs = [];
  62721. for (var _i = 0; _i < arguments.length; _i++) {
  62722. innerArgs[_i - 0] = arguments[_i];
  62723. }
  62724. var source = handlerFn.source;
  62725. var selector = source.selector, subject = source.subject;
  62726. if (selector) {
  62727. var result_1 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);
  62728. if (result_1 === errorObject_1.errorObject) {
  62729. subject.error(errorObject_1.errorObject.e);
  62730. }
  62731. else {
  62732. subject.next(result_1);
  62733. subject.complete();
  62734. }
  62735. }
  62736. else {
  62737. subject.next(innerArgs.length === 1 ? innerArgs[0] : innerArgs);
  62738. subject.complete();
  62739. }
  62740. };
  62741. // use named function instance to avoid closure.
  62742. handler.source = this;
  62743. var result = tryCatch_1.tryCatch(callbackFunc).apply(this, args.concat(handler));
  62744. if (result === errorObject_1.errorObject) {
  62745. subject.error(errorObject_1.errorObject.e);
  62746. }
  62747. }
  62748. return subject.subscribe(subscriber);
  62749. }
  62750. else {
  62751. return scheduler.schedule(BoundCallbackObservable.dispatch, 0, { source: this, subscriber: subscriber });
  62752. }
  62753. };
  62754. BoundCallbackObservable.dispatch = function (state) {
  62755. var self = this;
  62756. var source = state.source, subscriber = state.subscriber;
  62757. var callbackFunc = source.callbackFunc, args = source.args, scheduler = source.scheduler;
  62758. var subject = source.subject;
  62759. if (!subject) {
  62760. subject = source.subject = new AsyncSubject_1.AsyncSubject();
  62761. var handler = function handlerFn() {
  62762. var innerArgs = [];
  62763. for (var _i = 0; _i < arguments.length; _i++) {
  62764. innerArgs[_i - 0] = arguments[_i];
  62765. }
  62766. var source = handlerFn.source;
  62767. var selector = source.selector, subject = source.subject;
  62768. if (selector) {
  62769. var result_2 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);
  62770. if (result_2 === errorObject_1.errorObject) {
  62771. self.add(scheduler.schedule(dispatchError, 0, { err: errorObject_1.errorObject.e, subject: subject }));
  62772. }
  62773. else {
  62774. self.add(scheduler.schedule(dispatchNext, 0, { value: result_2, subject: subject }));
  62775. }
  62776. }
  62777. else {
  62778. var value = innerArgs.length === 1 ? innerArgs[0] : innerArgs;
  62779. self.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));
  62780. }
  62781. };
  62782. // use named function to pass values in without closure
  62783. handler.source = source;
  62784. var result = tryCatch_1.tryCatch(callbackFunc).apply(this, args.concat(handler));
  62785. if (result === errorObject_1.errorObject) {
  62786. subject.error(errorObject_1.errorObject.e);
  62787. }
  62788. }
  62789. self.add(subject.subscribe(subscriber));
  62790. };
  62791. return BoundCallbackObservable;
  62792. }(Observable_1.Observable));
  62793. exports.BoundCallbackObservable = BoundCallbackObservable;
  62794. function dispatchNext(arg) {
  62795. var value = arg.value, subject = arg.subject;
  62796. subject.next(value);
  62797. subject.complete();
  62798. }
  62799. function dispatchError(arg) {
  62800. var err = arg.err, subject = arg.subject;
  62801. subject.error(err);
  62802. }
  62803. //# sourceMappingURL=BoundCallbackObservable.js.map
  62804. /***/ },
  62805. /* 827 */
  62806. /***/ function(module, exports, __webpack_require__) {
  62807. "use strict";
  62808. "use strict";
  62809. var __extends = (this && this.__extends) || function (d, b) {
  62810. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  62811. function __() { this.constructor = d; }
  62812. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  62813. };
  62814. var Observable_1 = __webpack_require__(0);
  62815. var tryCatch_1 = __webpack_require__(24);
  62816. var errorObject_1 = __webpack_require__(23);
  62817. var AsyncSubject_1 = __webpack_require__(168);
  62818. /**
  62819. * We need this JSDoc comment for affecting ESDoc.
  62820. * @extends {Ignored}
  62821. * @hide true
  62822. */
  62823. var BoundNodeCallbackObservable = (function (_super) {
  62824. __extends(BoundNodeCallbackObservable, _super);
  62825. function BoundNodeCallbackObservable(callbackFunc, selector, args, scheduler) {
  62826. _super.call(this);
  62827. this.callbackFunc = callbackFunc;
  62828. this.selector = selector;
  62829. this.args = args;
  62830. this.scheduler = scheduler;
  62831. }
  62832. /* tslint:enable:max-line-length */
  62833. /**
  62834. * Converts a Node.js-style callback API to a function that returns an
  62835. * Observable.
  62836. *
  62837. * <span class="informal">It's just like {@link bindCallback}, but the
  62838. * callback is expected to be of type `callback(error, result)`.</span>
  62839. *
  62840. * `bindNodeCallback` is not an operator because its input and output are not
  62841. * Observables. The input is a function `func` with some parameters, but the
  62842. * last parameter must be a callback function that `func` calls when it is
  62843. * done. The callback function is expected to follow Node.js conventions,
  62844. * where the first argument to the callback is an error, while remaining
  62845. * arguments are the callback result. The output of `bindNodeCallback` is a
  62846. * function that takes the same parameters as `func`, except the last one (the
  62847. * callback). When the output function is called with arguments, it will
  62848. * return an Observable where the results will be delivered to.
  62849. *
  62850. * @example <caption>Read a file from the filesystem and get the data as an Observable</caption>
  62851. * import * as fs from 'fs';
  62852. * var readFileAsObservable = Rx.Observable.bindNodeCallback(fs.readFile);
  62853. * var result = readFileAsObservable('./roadNames.txt', 'utf8');
  62854. * result.subscribe(x => console.log(x), e => console.error(e));
  62855. *
  62856. * @see {@link bindCallback}
  62857. * @see {@link from}
  62858. * @see {@link fromPromise}
  62859. *
  62860. * @param {function} func Function with a callback as the last parameter.
  62861. * @param {function} selector A function which takes the arguments from the
  62862. * callback and maps those a value to emit on the output Observable.
  62863. * @param {Scheduler} [scheduler] The scheduler on which to schedule the
  62864. * callbacks.
  62865. * @return {function(...params: *): Observable} A function which returns the
  62866. * Observable that delivers the same values the Node.js callback would
  62867. * deliver.
  62868. * @static true
  62869. * @name bindNodeCallback
  62870. * @owner Observable
  62871. */
  62872. BoundNodeCallbackObservable.create = function (func, selector, scheduler) {
  62873. if (selector === void 0) { selector = undefined; }
  62874. return function () {
  62875. var args = [];
  62876. for (var _i = 0; _i < arguments.length; _i++) {
  62877. args[_i - 0] = arguments[_i];
  62878. }
  62879. return new BoundNodeCallbackObservable(func, selector, args, scheduler);
  62880. };
  62881. };
  62882. BoundNodeCallbackObservable.prototype._subscribe = function (subscriber) {
  62883. var callbackFunc = this.callbackFunc;
  62884. var args = this.args;
  62885. var scheduler = this.scheduler;
  62886. var subject = this.subject;
  62887. if (!scheduler) {
  62888. if (!subject) {
  62889. subject = this.subject = new AsyncSubject_1.AsyncSubject();
  62890. var handler = function handlerFn() {
  62891. var innerArgs = [];
  62892. for (var _i = 0; _i < arguments.length; _i++) {
  62893. innerArgs[_i - 0] = arguments[_i];
  62894. }
  62895. var source = handlerFn.source;
  62896. var selector = source.selector, subject = source.subject;
  62897. var err = innerArgs.shift();
  62898. if (err) {
  62899. subject.error(err);
  62900. }
  62901. else if (selector) {
  62902. var result_1 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);
  62903. if (result_1 === errorObject_1.errorObject) {
  62904. subject.error(errorObject_1.errorObject.e);
  62905. }
  62906. else {
  62907. subject.next(result_1);
  62908. subject.complete();
  62909. }
  62910. }
  62911. else {
  62912. subject.next(innerArgs.length === 1 ? innerArgs[0] : innerArgs);
  62913. subject.complete();
  62914. }
  62915. };
  62916. // use named function instance to avoid closure.
  62917. handler.source = this;
  62918. var result = tryCatch_1.tryCatch(callbackFunc).apply(this, args.concat(handler));
  62919. if (result === errorObject_1.errorObject) {
  62920. subject.error(errorObject_1.errorObject.e);
  62921. }
  62922. }
  62923. return subject.subscribe(subscriber);
  62924. }
  62925. else {
  62926. return scheduler.schedule(dispatch, 0, { source: this, subscriber: subscriber });
  62927. }
  62928. };
  62929. return BoundNodeCallbackObservable;
  62930. }(Observable_1.Observable));
  62931. exports.BoundNodeCallbackObservable = BoundNodeCallbackObservable;
  62932. function dispatch(state) {
  62933. var self = this;
  62934. var source = state.source, subscriber = state.subscriber;
  62935. // XXX: cast to `any` to access to the private field in `source`.
  62936. var _a = source, callbackFunc = _a.callbackFunc, args = _a.args, scheduler = _a.scheduler;
  62937. var subject = source.subject;
  62938. if (!subject) {
  62939. subject = source.subject = new AsyncSubject_1.AsyncSubject();
  62940. var handler = function handlerFn() {
  62941. var innerArgs = [];
  62942. for (var _i = 0; _i < arguments.length; _i++) {
  62943. innerArgs[_i - 0] = arguments[_i];
  62944. }
  62945. var source = handlerFn.source;
  62946. var selector = source.selector, subject = source.subject;
  62947. var err = innerArgs.shift();
  62948. if (err) {
  62949. subject.error(err);
  62950. }
  62951. else if (selector) {
  62952. var result_2 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);
  62953. if (result_2 === errorObject_1.errorObject) {
  62954. self.add(scheduler.schedule(dispatchError, 0, { err: errorObject_1.errorObject.e, subject: subject }));
  62955. }
  62956. else {
  62957. self.add(scheduler.schedule(dispatchNext, 0, { value: result_2, subject: subject }));
  62958. }
  62959. }
  62960. else {
  62961. var value = innerArgs.length === 1 ? innerArgs[0] : innerArgs;
  62962. self.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));
  62963. }
  62964. };
  62965. // use named function to pass values in without closure
  62966. handler.source = source;
  62967. var result = tryCatch_1.tryCatch(callbackFunc).apply(this, args.concat(handler));
  62968. if (result === errorObject_1.errorObject) {
  62969. subject.error(errorObject_1.errorObject.e);
  62970. }
  62971. }
  62972. self.add(subject.subscribe(subscriber));
  62973. }
  62974. function dispatchNext(arg) {
  62975. var value = arg.value, subject = arg.subject;
  62976. subject.next(value);
  62977. subject.complete();
  62978. }
  62979. function dispatchError(arg) {
  62980. var err = arg.err, subject = arg.subject;
  62981. subject.error(err);
  62982. }
  62983. //# sourceMappingURL=BoundNodeCallbackObservable.js.map
  62984. /***/ },
  62985. /* 828 */
  62986. /***/ function(module, exports, __webpack_require__) {
  62987. "use strict";
  62988. "use strict";
  62989. var __extends = (this && this.__extends) || function (d, b) {
  62990. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  62991. function __() { this.constructor = d; }
  62992. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  62993. };
  62994. var Observable_1 = __webpack_require__(0);
  62995. var subscribeToResult_1 = __webpack_require__(7);
  62996. var OuterSubscriber_1 = __webpack_require__(6);
  62997. /**
  62998. * We need this JSDoc comment for affecting ESDoc.
  62999. * @extends {Ignored}
  63000. * @hide true
  63001. */
  63002. var DeferObservable = (function (_super) {
  63003. __extends(DeferObservable, _super);
  63004. function DeferObservable(observableFactory) {
  63005. _super.call(this);
  63006. this.observableFactory = observableFactory;
  63007. }
  63008. /**
  63009. * Creates an Observable that, on subscribe, calls an Observable factory to
  63010. * make an Observable for each new Observer.
  63011. *
  63012. * <span class="informal">Creates the Observable lazily, that is, only when it
  63013. * is subscribed.
  63014. * </span>
  63015. *
  63016. * <img src="./img/defer.png" width="100%">
  63017. *
  63018. * `defer` allows you to create the Observable only when the Observer
  63019. * subscribes, and create a fresh Observable for each Observer. It waits until
  63020. * an Observer subscribes to it, and then it generates an Observable,
  63021. * typically with an Observable factory function. It does this afresh for each
  63022. * subscriber, so although each subscriber may think it is subscribing to the
  63023. * same Observable, in fact each subscriber gets its own individual
  63024. * Observable.
  63025. *
  63026. * @example <caption>Subscribe to either an Observable of clicks or an Observable of interval, at random</caption>
  63027. * var clicksOrInterval = Rx.Observable.defer(function () {
  63028. * if (Math.random() > 0.5) {
  63029. * return Rx.Observable.fromEvent(document, 'click');
  63030. * } else {
  63031. * return Rx.Observable.interval(1000);
  63032. * }
  63033. * });
  63034. * clicksOrInterval.subscribe(x => console.log(x));
  63035. *
  63036. * @see {@link create}
  63037. *
  63038. * @param {function(): Observable|Promise} observableFactory The Observable
  63039. * factory function to invoke for each Observer that subscribes to the output
  63040. * Observable. May also return a Promise, which will be converted on the fly
  63041. * to an Observable.
  63042. * @return {Observable} An Observable whose Observers' subscriptions trigger
  63043. * an invocation of the given Observable factory function.
  63044. * @static true
  63045. * @name defer
  63046. * @owner Observable
  63047. */
  63048. DeferObservable.create = function (observableFactory) {
  63049. return new DeferObservable(observableFactory);
  63050. };
  63051. DeferObservable.prototype._subscribe = function (subscriber) {
  63052. return new DeferSubscriber(subscriber, this.observableFactory);
  63053. };
  63054. return DeferObservable;
  63055. }(Observable_1.Observable));
  63056. exports.DeferObservable = DeferObservable;
  63057. var DeferSubscriber = (function (_super) {
  63058. __extends(DeferSubscriber, _super);
  63059. function DeferSubscriber(destination, factory) {
  63060. _super.call(this, destination);
  63061. this.factory = factory;
  63062. this.tryDefer();
  63063. }
  63064. DeferSubscriber.prototype.tryDefer = function () {
  63065. try {
  63066. this._callFactory();
  63067. }
  63068. catch (err) {
  63069. this._error(err);
  63070. }
  63071. };
  63072. DeferSubscriber.prototype._callFactory = function () {
  63073. var result = this.factory();
  63074. if (result) {
  63075. this.add(subscribeToResult_1.subscribeToResult(this, result));
  63076. }
  63077. };
  63078. return DeferSubscriber;
  63079. }(OuterSubscriber_1.OuterSubscriber));
  63080. //# sourceMappingURL=DeferObservable.js.map
  63081. /***/ },
  63082. /* 829 */
  63083. /***/ function(module, exports, __webpack_require__) {
  63084. "use strict";
  63085. "use strict";
  63086. var __extends = (this && this.__extends) || function (d, b) {
  63087. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  63088. function __() { this.constructor = d; }
  63089. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  63090. };
  63091. var Observable_1 = __webpack_require__(0);
  63092. /**
  63093. * We need this JSDoc comment for affecting ESDoc.
  63094. * @extends {Ignored}
  63095. * @hide true
  63096. */
  63097. var ErrorObservable = (function (_super) {
  63098. __extends(ErrorObservable, _super);
  63099. function ErrorObservable(error, scheduler) {
  63100. _super.call(this);
  63101. this.error = error;
  63102. this.scheduler = scheduler;
  63103. }
  63104. /**
  63105. * Creates an Observable that emits no items to the Observer and immediately
  63106. * emits an error notification.
  63107. *
  63108. * <span class="informal">Just emits 'error', and nothing else.
  63109. * </span>
  63110. *
  63111. * <img src="./img/throw.png" width="100%">
  63112. *
  63113. * This static operator is useful for creating a simple Observable that only
  63114. * emits the error notification. It can be used for composing with other
  63115. * Observables, such as in a {@link mergeMap}.
  63116. *
  63117. * @example <caption>Emit the number 7, then emit an error.</caption>
  63118. * var result = Rx.Observable.throw(new Error('oops!')).startWith(7);
  63119. * result.subscribe(x => console.log(x), e => console.error(e));
  63120. *
  63121. * @example <caption>Map and flattens numbers to the sequence 'a', 'b', 'c', but throw an error for 13</caption>
  63122. * var interval = Rx.Observable.interval(1000);
  63123. * var result = interval.mergeMap(x =>
  63124. * x === 13 ?
  63125. * Rx.Observable.throw('Thirteens are bad') :
  63126. * Rx.Observable.of('a', 'b', 'c')
  63127. * );
  63128. * result.subscribe(x => console.log(x), e => console.error(e));
  63129. *
  63130. * @see {@link create}
  63131. * @see {@link empty}
  63132. * @see {@link never}
  63133. * @see {@link of}
  63134. *
  63135. * @param {any} error The particular Error to pass to the error notification.
  63136. * @param {Scheduler} [scheduler] A {@link Scheduler} to use for scheduling
  63137. * the emission of the error notification.
  63138. * @return {Observable} An error Observable: emits only the error notification
  63139. * using the given error argument.
  63140. * @static true
  63141. * @name throw
  63142. * @owner Observable
  63143. */
  63144. ErrorObservable.create = function (error, scheduler) {
  63145. return new ErrorObservable(error, scheduler);
  63146. };
  63147. ErrorObservable.dispatch = function (arg) {
  63148. var error = arg.error, subscriber = arg.subscriber;
  63149. subscriber.error(error);
  63150. };
  63151. ErrorObservable.prototype._subscribe = function (subscriber) {
  63152. var error = this.error;
  63153. var scheduler = this.scheduler;
  63154. if (scheduler) {
  63155. return scheduler.schedule(ErrorObservable.dispatch, 0, {
  63156. error: error, subscriber: subscriber
  63157. });
  63158. }
  63159. else {
  63160. subscriber.error(error);
  63161. }
  63162. };
  63163. return ErrorObservable;
  63164. }(Observable_1.Observable));
  63165. exports.ErrorObservable = ErrorObservable;
  63166. //# sourceMappingURL=ErrorObservable.js.map
  63167. /***/ },
  63168. /* 830 */
  63169. /***/ function(module, exports, __webpack_require__) {
  63170. "use strict";
  63171. "use strict";
  63172. var __extends = (this && this.__extends) || function (d, b) {
  63173. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  63174. function __() { this.constructor = d; }
  63175. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  63176. };
  63177. var Observable_1 = __webpack_require__(0);
  63178. var EmptyObservable_1 = __webpack_require__(74);
  63179. var isArray_1 = __webpack_require__(48);
  63180. var subscribeToResult_1 = __webpack_require__(7);
  63181. var OuterSubscriber_1 = __webpack_require__(6);
  63182. /**
  63183. * We need this JSDoc comment for affecting ESDoc.
  63184. * @extends {Ignored}
  63185. * @hide true
  63186. */
  63187. var ForkJoinObservable = (function (_super) {
  63188. __extends(ForkJoinObservable, _super);
  63189. function ForkJoinObservable(sources, resultSelector) {
  63190. _super.call(this);
  63191. this.sources = sources;
  63192. this.resultSelector = resultSelector;
  63193. }
  63194. /* tslint:enable:max-line-length */
  63195. /**
  63196. * @param sources
  63197. * @return {any}
  63198. * @static true
  63199. * @name forkJoin
  63200. * @owner Observable
  63201. */
  63202. ForkJoinObservable.create = function () {
  63203. var sources = [];
  63204. for (var _i = 0; _i < arguments.length; _i++) {
  63205. sources[_i - 0] = arguments[_i];
  63206. }
  63207. if (sources === null || arguments.length === 0) {
  63208. return new EmptyObservable_1.EmptyObservable();
  63209. }
  63210. var resultSelector = null;
  63211. if (typeof sources[sources.length - 1] === 'function') {
  63212. resultSelector = sources.pop();
  63213. }
  63214. // if the first and only other argument besides the resultSelector is an array
  63215. // assume it's been called with `forkJoin([obs1, obs2, obs3], resultSelector)`
  63216. if (sources.length === 1 && isArray_1.isArray(sources[0])) {
  63217. sources = sources[0];
  63218. }
  63219. if (sources.length === 0) {
  63220. return new EmptyObservable_1.EmptyObservable();
  63221. }
  63222. return new ForkJoinObservable(sources, resultSelector);
  63223. };
  63224. ForkJoinObservable.prototype._subscribe = function (subscriber) {
  63225. return new ForkJoinSubscriber(subscriber, this.sources, this.resultSelector);
  63226. };
  63227. return ForkJoinObservable;
  63228. }(Observable_1.Observable));
  63229. exports.ForkJoinObservable = ForkJoinObservable;
  63230. /**
  63231. * We need this JSDoc comment for affecting ESDoc.
  63232. * @ignore
  63233. * @extends {Ignored}
  63234. */
  63235. var ForkJoinSubscriber = (function (_super) {
  63236. __extends(ForkJoinSubscriber, _super);
  63237. function ForkJoinSubscriber(destination, sources, resultSelector) {
  63238. _super.call(this, destination);
  63239. this.sources = sources;
  63240. this.resultSelector = resultSelector;
  63241. this.completed = 0;
  63242. this.haveValues = 0;
  63243. var len = sources.length;
  63244. this.total = len;
  63245. this.values = new Array(len);
  63246. for (var i = 0; i < len; i++) {
  63247. var source = sources[i];
  63248. var innerSubscription = subscribeToResult_1.subscribeToResult(this, source, null, i);
  63249. if (innerSubscription) {
  63250. innerSubscription.outerIndex = i;
  63251. this.add(innerSubscription);
  63252. }
  63253. }
  63254. }
  63255. ForkJoinSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  63256. this.values[outerIndex] = innerValue;
  63257. if (!innerSub._hasValue) {
  63258. innerSub._hasValue = true;
  63259. this.haveValues++;
  63260. }
  63261. };
  63262. ForkJoinSubscriber.prototype.notifyComplete = function (innerSub) {
  63263. var destination = this.destination;
  63264. var _a = this, haveValues = _a.haveValues, resultSelector = _a.resultSelector, values = _a.values;
  63265. var len = values.length;
  63266. if (!innerSub._hasValue) {
  63267. destination.complete();
  63268. return;
  63269. }
  63270. this.completed++;
  63271. if (this.completed !== len) {
  63272. return;
  63273. }
  63274. if (haveValues === len) {
  63275. var value = resultSelector ? resultSelector.apply(this, values) : values;
  63276. destination.next(value);
  63277. }
  63278. destination.complete();
  63279. };
  63280. return ForkJoinSubscriber;
  63281. }(OuterSubscriber_1.OuterSubscriber));
  63282. //# sourceMappingURL=ForkJoinObservable.js.map
  63283. /***/ },
  63284. /* 831 */
  63285. /***/ function(module, exports, __webpack_require__) {
  63286. "use strict";
  63287. "use strict";
  63288. var __extends = (this && this.__extends) || function (d, b) {
  63289. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  63290. function __() { this.constructor = d; }
  63291. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  63292. };
  63293. var Observable_1 = __webpack_require__(0);
  63294. var tryCatch_1 = __webpack_require__(24);
  63295. var isFunction_1 = __webpack_require__(266);
  63296. var errorObject_1 = __webpack_require__(23);
  63297. var Subscription_1 = __webpack_require__(22);
  63298. function isNodeStyleEventEmmitter(sourceObj) {
  63299. return !!sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';
  63300. }
  63301. function isJQueryStyleEventEmitter(sourceObj) {
  63302. return !!sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';
  63303. }
  63304. function isNodeList(sourceObj) {
  63305. return !!sourceObj && sourceObj.toString() === '[object NodeList]';
  63306. }
  63307. function isHTMLCollection(sourceObj) {
  63308. return !!sourceObj && sourceObj.toString() === '[object HTMLCollection]';
  63309. }
  63310. function isEventTarget(sourceObj) {
  63311. return !!sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';
  63312. }
  63313. /**
  63314. * We need this JSDoc comment for affecting ESDoc.
  63315. * @extends {Ignored}
  63316. * @hide true
  63317. */
  63318. var FromEventObservable = (function (_super) {
  63319. __extends(FromEventObservable, _super);
  63320. function FromEventObservable(sourceObj, eventName, selector, options) {
  63321. _super.call(this);
  63322. this.sourceObj = sourceObj;
  63323. this.eventName = eventName;
  63324. this.selector = selector;
  63325. this.options = options;
  63326. }
  63327. /* tslint:enable:max-line-length */
  63328. /**
  63329. * Creates an Observable that emits events of a specific type coming from the
  63330. * given event target.
  63331. *
  63332. * <span class="informal">Creates an Observable from DOM events, or Node
  63333. * EventEmitter events or others.</span>
  63334. *
  63335. * <img src="./img/fromEvent.png" width="100%">
  63336. *
  63337. * Creates an Observable by attaching an event listener to an "event target",
  63338. * which may be an object with `addEventListener` and `removeEventListener`,
  63339. * a Node.js EventEmitter, a jQuery style EventEmitter, a NodeList from the
  63340. * DOM, or an HTMLCollection from the DOM. The event handler is attached when
  63341. * the output Observable is subscribed, and removed when the Subscription is
  63342. * unsubscribed.
  63343. *
  63344. * @example <caption>Emits clicks happening on the DOM document</caption>
  63345. * var clicks = Rx.Observable.fromEvent(document, 'click');
  63346. * clicks.subscribe(x => console.log(x));
  63347. *
  63348. * @see {@link from}
  63349. * @see {@link fromEventPattern}
  63350. *
  63351. * @param {EventTargetLike} target The DOMElement, event target, Node.js
  63352. * EventEmitter, NodeList or HTMLCollection to attach the event handler to.
  63353. * @param {string} eventName The event name of interest, being emitted by the
  63354. * `target`.
  63355. * @parm {EventListenerOptions} [options] Options to pass through to addEventListener
  63356. * @param {SelectorMethodSignature<T>} [selector] An optional function to
  63357. * post-process results. It takes the arguments from the event handler and
  63358. * should return a single value.
  63359. * @return {Observable<T>}
  63360. * @static true
  63361. * @name fromEvent
  63362. * @owner Observable
  63363. */
  63364. FromEventObservable.create = function (target, eventName, options, selector) {
  63365. if (isFunction_1.isFunction(options)) {
  63366. selector = options;
  63367. options = undefined;
  63368. }
  63369. return new FromEventObservable(target, eventName, selector, options);
  63370. };
  63371. FromEventObservable.setupSubscription = function (sourceObj, eventName, handler, subscriber, options) {
  63372. var unsubscribe;
  63373. if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) {
  63374. for (var i = 0, len = sourceObj.length; i < len; i++) {
  63375. FromEventObservable.setupSubscription(sourceObj[i], eventName, handler, subscriber, options);
  63376. }
  63377. }
  63378. else if (isEventTarget(sourceObj)) {
  63379. var source_1 = sourceObj;
  63380. sourceObj.addEventListener(eventName, handler, options);
  63381. unsubscribe = function () { return source_1.removeEventListener(eventName, handler); };
  63382. }
  63383. else if (isJQueryStyleEventEmitter(sourceObj)) {
  63384. var source_2 = sourceObj;
  63385. sourceObj.on(eventName, handler);
  63386. unsubscribe = function () { return source_2.off(eventName, handler); };
  63387. }
  63388. else if (isNodeStyleEventEmmitter(sourceObj)) {
  63389. var source_3 = sourceObj;
  63390. sourceObj.addListener(eventName, handler);
  63391. unsubscribe = function () { return source_3.removeListener(eventName, handler); };
  63392. }
  63393. subscriber.add(new Subscription_1.Subscription(unsubscribe));
  63394. };
  63395. FromEventObservable.prototype._subscribe = function (subscriber) {
  63396. var sourceObj = this.sourceObj;
  63397. var eventName = this.eventName;
  63398. var options = this.options;
  63399. var selector = this.selector;
  63400. var handler = selector ? function () {
  63401. var args = [];
  63402. for (var _i = 0; _i < arguments.length; _i++) {
  63403. args[_i - 0] = arguments[_i];
  63404. }
  63405. var result = tryCatch_1.tryCatch(selector).apply(void 0, args);
  63406. if (result === errorObject_1.errorObject) {
  63407. subscriber.error(errorObject_1.errorObject.e);
  63408. }
  63409. else {
  63410. subscriber.next(result);
  63411. }
  63412. } : function (e) { return subscriber.next(e); };
  63413. FromEventObservable.setupSubscription(sourceObj, eventName, handler, subscriber, options);
  63414. };
  63415. return FromEventObservable;
  63416. }(Observable_1.Observable));
  63417. exports.FromEventObservable = FromEventObservable;
  63418. //# sourceMappingURL=FromEventObservable.js.map
  63419. /***/ },
  63420. /* 832 */
  63421. /***/ function(module, exports, __webpack_require__) {
  63422. "use strict";
  63423. "use strict";
  63424. var __extends = (this && this.__extends) || function (d, b) {
  63425. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  63426. function __() { this.constructor = d; }
  63427. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  63428. };
  63429. var Observable_1 = __webpack_require__(0);
  63430. var Subscription_1 = __webpack_require__(22);
  63431. /**
  63432. * We need this JSDoc comment for affecting ESDoc.
  63433. * @extends {Ignored}
  63434. * @hide true
  63435. */
  63436. var FromEventPatternObservable = (function (_super) {
  63437. __extends(FromEventPatternObservable, _super);
  63438. function FromEventPatternObservable(addHandler, removeHandler, selector) {
  63439. _super.call(this);
  63440. this.addHandler = addHandler;
  63441. this.removeHandler = removeHandler;
  63442. this.selector = selector;
  63443. }
  63444. /**
  63445. * Creates an Observable from an API based on addHandler/removeHandler
  63446. * functions.
  63447. *
  63448. * <span class="informal">Converts any addHandler/removeHandler API to an
  63449. * Observable.</span>
  63450. *
  63451. * <img src="./img/fromEventPattern.png" width="100%">
  63452. *
  63453. * Creates an Observable by using the `addHandler` and `removeHandler`
  63454. * functions to add and remove the handlers, with an optional selector
  63455. * function to project the event arguments to a result. The `addHandler` is
  63456. * called when the output Observable is subscribed, and `removeHandler` is
  63457. * called when the Subscription is unsubscribed.
  63458. *
  63459. * @example <caption>Emits clicks happening on the DOM document</caption>
  63460. * function addClickHandler(handler) {
  63461. * document.addEventListener('click', handler);
  63462. * }
  63463. *
  63464. * function removeClickHandler(handler) {
  63465. * document.removeEventListener('click', handler);
  63466. * }
  63467. *
  63468. * var clicks = Rx.Observable.fromEventPattern(
  63469. * addClickHandler,
  63470. * removeClickHandler
  63471. * );
  63472. * clicks.subscribe(x => console.log(x));
  63473. *
  63474. * @see {@link from}
  63475. * @see {@link fromEvent}
  63476. *
  63477. * @param {function(handler: Function): any} addHandler A function that takes
  63478. * a `handler` function as argument and attaches it somehow to the actual
  63479. * source of events.
  63480. * @param {function(handler: Function): void} removeHandler A function that
  63481. * takes a `handler` function as argument and removes it in case it was
  63482. * previously attached using `addHandler`.
  63483. * @param {function(...args: any): T} [selector] An optional function to
  63484. * post-process results. It takes the arguments from the event handler and
  63485. * should return a single value.
  63486. * @return {Observable<T>}
  63487. * @static true
  63488. * @name fromEventPattern
  63489. * @owner Observable
  63490. */
  63491. FromEventPatternObservable.create = function (addHandler, removeHandler, selector) {
  63492. return new FromEventPatternObservable(addHandler, removeHandler, selector);
  63493. };
  63494. FromEventPatternObservable.prototype._subscribe = function (subscriber) {
  63495. var _this = this;
  63496. var removeHandler = this.removeHandler;
  63497. var handler = !!this.selector ? function () {
  63498. var args = [];
  63499. for (var _i = 0; _i < arguments.length; _i++) {
  63500. args[_i - 0] = arguments[_i];
  63501. }
  63502. _this._callSelector(subscriber, args);
  63503. } : function (e) { subscriber.next(e); };
  63504. this._callAddHandler(handler, subscriber);
  63505. subscriber.add(new Subscription_1.Subscription(function () {
  63506. //TODO: determine whether or not to forward to error handler
  63507. removeHandler(handler);
  63508. }));
  63509. };
  63510. FromEventPatternObservable.prototype._callSelector = function (subscriber, args) {
  63511. try {
  63512. var result = this.selector.apply(this, args);
  63513. subscriber.next(result);
  63514. }
  63515. catch (e) {
  63516. subscriber.error(e);
  63517. }
  63518. };
  63519. FromEventPatternObservable.prototype._callAddHandler = function (handler, errorSubscriber) {
  63520. try {
  63521. this.addHandler(handler);
  63522. }
  63523. catch (e) {
  63524. errorSubscriber.error(e);
  63525. }
  63526. };
  63527. return FromEventPatternObservable;
  63528. }(Observable_1.Observable));
  63529. exports.FromEventPatternObservable = FromEventPatternObservable;
  63530. //# sourceMappingURL=FromEventPatternObservable.js.map
  63531. /***/ },
  63532. /* 833 */
  63533. /***/ function(module, exports, __webpack_require__) {
  63534. "use strict";
  63535. "use strict";
  63536. var __extends = (this && this.__extends) || function (d, b) {
  63537. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  63538. function __() { this.constructor = d; }
  63539. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  63540. };
  63541. var Observable_1 = __webpack_require__(0);
  63542. var isScheduler_1 = __webpack_require__(75);
  63543. var selfSelector = function (value) { return value; };
  63544. /**
  63545. * We need this JSDoc comment for affecting ESDoc.
  63546. * @extends {Ignored}
  63547. * @hide true
  63548. */
  63549. var GenerateObservable = (function (_super) {
  63550. __extends(GenerateObservable, _super);
  63551. function GenerateObservable(initialState, condition, iterate, resultSelector, scheduler) {
  63552. _super.call(this);
  63553. this.initialState = initialState;
  63554. this.condition = condition;
  63555. this.iterate = iterate;
  63556. this.resultSelector = resultSelector;
  63557. this.scheduler = scheduler;
  63558. }
  63559. GenerateObservable.create = function (initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler) {
  63560. if (arguments.length == 1) {
  63561. return new GenerateObservable(initialStateOrOptions.initialState, initialStateOrOptions.condition, initialStateOrOptions.iterate, initialStateOrOptions.resultSelector || selfSelector, initialStateOrOptions.scheduler);
  63562. }
  63563. if (resultSelectorOrObservable === undefined || isScheduler_1.isScheduler(resultSelectorOrObservable)) {
  63564. return new GenerateObservable(initialStateOrOptions, condition, iterate, selfSelector, resultSelectorOrObservable);
  63565. }
  63566. return new GenerateObservable(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler);
  63567. };
  63568. GenerateObservable.prototype._subscribe = function (subscriber) {
  63569. var state = this.initialState;
  63570. if (this.scheduler) {
  63571. return this.scheduler.schedule(GenerateObservable.dispatch, 0, {
  63572. subscriber: subscriber,
  63573. iterate: this.iterate,
  63574. condition: this.condition,
  63575. resultSelector: this.resultSelector,
  63576. state: state });
  63577. }
  63578. var _a = this, condition = _a.condition, resultSelector = _a.resultSelector, iterate = _a.iterate;
  63579. do {
  63580. if (condition) {
  63581. var conditionResult = void 0;
  63582. try {
  63583. conditionResult = condition(state);
  63584. }
  63585. catch (err) {
  63586. subscriber.error(err);
  63587. return;
  63588. }
  63589. if (!conditionResult) {
  63590. subscriber.complete();
  63591. break;
  63592. }
  63593. }
  63594. var value = void 0;
  63595. try {
  63596. value = resultSelector(state);
  63597. }
  63598. catch (err) {
  63599. subscriber.error(err);
  63600. return;
  63601. }
  63602. subscriber.next(value);
  63603. if (subscriber.closed) {
  63604. break;
  63605. }
  63606. try {
  63607. state = iterate(state);
  63608. }
  63609. catch (err) {
  63610. subscriber.error(err);
  63611. return;
  63612. }
  63613. } while (true);
  63614. };
  63615. GenerateObservable.dispatch = function (state) {
  63616. var subscriber = state.subscriber, condition = state.condition;
  63617. if (subscriber.closed) {
  63618. return;
  63619. }
  63620. if (state.needIterate) {
  63621. try {
  63622. state.state = state.iterate(state.state);
  63623. }
  63624. catch (err) {
  63625. subscriber.error(err);
  63626. return;
  63627. }
  63628. }
  63629. else {
  63630. state.needIterate = true;
  63631. }
  63632. if (condition) {
  63633. var conditionResult = void 0;
  63634. try {
  63635. conditionResult = condition(state.state);
  63636. }
  63637. catch (err) {
  63638. subscriber.error(err);
  63639. return;
  63640. }
  63641. if (!conditionResult) {
  63642. subscriber.complete();
  63643. return;
  63644. }
  63645. if (subscriber.closed) {
  63646. return;
  63647. }
  63648. }
  63649. var value;
  63650. try {
  63651. value = state.resultSelector(state.state);
  63652. }
  63653. catch (err) {
  63654. subscriber.error(err);
  63655. return;
  63656. }
  63657. if (subscriber.closed) {
  63658. return;
  63659. }
  63660. subscriber.next(value);
  63661. if (subscriber.closed) {
  63662. return;
  63663. }
  63664. return this.schedule(state);
  63665. };
  63666. return GenerateObservable;
  63667. }(Observable_1.Observable));
  63668. exports.GenerateObservable = GenerateObservable;
  63669. //# sourceMappingURL=GenerateObservable.js.map
  63670. /***/ },
  63671. /* 834 */
  63672. /***/ function(module, exports, __webpack_require__) {
  63673. "use strict";
  63674. "use strict";
  63675. var __extends = (this && this.__extends) || function (d, b) {
  63676. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  63677. function __() { this.constructor = d; }
  63678. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  63679. };
  63680. var Observable_1 = __webpack_require__(0);
  63681. var subscribeToResult_1 = __webpack_require__(7);
  63682. var OuterSubscriber_1 = __webpack_require__(6);
  63683. /**
  63684. * We need this JSDoc comment for affecting ESDoc.
  63685. * @extends {Ignored}
  63686. * @hide true
  63687. */
  63688. var IfObservable = (function (_super) {
  63689. __extends(IfObservable, _super);
  63690. function IfObservable(condition, thenSource, elseSource) {
  63691. _super.call(this);
  63692. this.condition = condition;
  63693. this.thenSource = thenSource;
  63694. this.elseSource = elseSource;
  63695. }
  63696. IfObservable.create = function (condition, thenSource, elseSource) {
  63697. return new IfObservable(condition, thenSource, elseSource);
  63698. };
  63699. IfObservable.prototype._subscribe = function (subscriber) {
  63700. var _a = this, condition = _a.condition, thenSource = _a.thenSource, elseSource = _a.elseSource;
  63701. return new IfSubscriber(subscriber, condition, thenSource, elseSource);
  63702. };
  63703. return IfObservable;
  63704. }(Observable_1.Observable));
  63705. exports.IfObservable = IfObservable;
  63706. var IfSubscriber = (function (_super) {
  63707. __extends(IfSubscriber, _super);
  63708. function IfSubscriber(destination, condition, thenSource, elseSource) {
  63709. _super.call(this, destination);
  63710. this.condition = condition;
  63711. this.thenSource = thenSource;
  63712. this.elseSource = elseSource;
  63713. this.tryIf();
  63714. }
  63715. IfSubscriber.prototype.tryIf = function () {
  63716. var _a = this, condition = _a.condition, thenSource = _a.thenSource, elseSource = _a.elseSource;
  63717. var result;
  63718. try {
  63719. result = condition();
  63720. var source = result ? thenSource : elseSource;
  63721. if (source) {
  63722. this.add(subscribeToResult_1.subscribeToResult(this, source));
  63723. }
  63724. else {
  63725. this._complete();
  63726. }
  63727. }
  63728. catch (err) {
  63729. this._error(err);
  63730. }
  63731. };
  63732. return IfSubscriber;
  63733. }(OuterSubscriber_1.OuterSubscriber));
  63734. //# sourceMappingURL=IfObservable.js.map
  63735. /***/ },
  63736. /* 835 */
  63737. /***/ function(module, exports, __webpack_require__) {
  63738. "use strict";
  63739. "use strict";
  63740. var __extends = (this && this.__extends) || function (d, b) {
  63741. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  63742. function __() { this.constructor = d; }
  63743. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  63744. };
  63745. var isNumeric_1 = __webpack_require__(267);
  63746. var Observable_1 = __webpack_require__(0);
  63747. var async_1 = __webpack_require__(33);
  63748. /**
  63749. * We need this JSDoc comment for affecting ESDoc.
  63750. * @extends {Ignored}
  63751. * @hide true
  63752. */
  63753. var IntervalObservable = (function (_super) {
  63754. __extends(IntervalObservable, _super);
  63755. function IntervalObservable(period, scheduler) {
  63756. if (period === void 0) { period = 0; }
  63757. if (scheduler === void 0) { scheduler = async_1.async; }
  63758. _super.call(this);
  63759. this.period = period;
  63760. this.scheduler = scheduler;
  63761. if (!isNumeric_1.isNumeric(period) || period < 0) {
  63762. this.period = 0;
  63763. }
  63764. if (!scheduler || typeof scheduler.schedule !== 'function') {
  63765. this.scheduler = async_1.async;
  63766. }
  63767. }
  63768. /**
  63769. * Creates an Observable that emits sequential numbers every specified
  63770. * interval of time, on a specified Scheduler.
  63771. *
  63772. * <span class="informal">Emits incremental numbers periodically in time.
  63773. * </span>
  63774. *
  63775. * <img src="./img/interval.png" width="100%">
  63776. *
  63777. * `interval` returns an Observable that emits an infinite sequence of
  63778. * ascending integers, with a constant interval of time of your choosing
  63779. * between those emissions. The first emission is not sent immediately, but
  63780. * only after the first period has passed. By default, this operator uses the
  63781. * `async` Scheduler to provide a notion of time, but you may pass any
  63782. * Scheduler to it.
  63783. *
  63784. * @example <caption>Emits ascending numbers, one every second (1000ms)</caption>
  63785. * var numbers = Rx.Observable.interval(1000);
  63786. * numbers.subscribe(x => console.log(x));
  63787. *
  63788. * @see {@link timer}
  63789. * @see {@link delay}
  63790. *
  63791. * @param {number} [period=0] The interval size in milliseconds (by default)
  63792. * or the time unit determined by the scheduler's clock.
  63793. * @param {Scheduler} [scheduler=async] The Scheduler to use for scheduling
  63794. * the emission of values, and providing a notion of "time".
  63795. * @return {Observable} An Observable that emits a sequential number each time
  63796. * interval.
  63797. * @static true
  63798. * @name interval
  63799. * @owner Observable
  63800. */
  63801. IntervalObservable.create = function (period, scheduler) {
  63802. if (period === void 0) { period = 0; }
  63803. if (scheduler === void 0) { scheduler = async_1.async; }
  63804. return new IntervalObservable(period, scheduler);
  63805. };
  63806. IntervalObservable.dispatch = function (state) {
  63807. var index = state.index, subscriber = state.subscriber, period = state.period;
  63808. subscriber.next(index);
  63809. if (subscriber.closed) {
  63810. return;
  63811. }
  63812. state.index += 1;
  63813. this.schedule(state, period);
  63814. };
  63815. IntervalObservable.prototype._subscribe = function (subscriber) {
  63816. var index = 0;
  63817. var period = this.period;
  63818. var scheduler = this.scheduler;
  63819. subscriber.add(scheduler.schedule(IntervalObservable.dispatch, period, {
  63820. index: index, subscriber: subscriber, period: period
  63821. }));
  63822. };
  63823. return IntervalObservable;
  63824. }(Observable_1.Observable));
  63825. exports.IntervalObservable = IntervalObservable;
  63826. //# sourceMappingURL=IntervalObservable.js.map
  63827. /***/ },
  63828. /* 836 */
  63829. /***/ function(module, exports, __webpack_require__) {
  63830. "use strict";
  63831. "use strict";
  63832. var __extends = (this && this.__extends) || function (d, b) {
  63833. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  63834. function __() { this.constructor = d; }
  63835. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  63836. };
  63837. var root_1 = __webpack_require__(27);
  63838. var Observable_1 = __webpack_require__(0);
  63839. var iterator_1 = __webpack_require__(124);
  63840. /**
  63841. * We need this JSDoc comment for affecting ESDoc.
  63842. * @extends {Ignored}
  63843. * @hide true
  63844. */
  63845. var IteratorObservable = (function (_super) {
  63846. __extends(IteratorObservable, _super);
  63847. function IteratorObservable(iterator, scheduler) {
  63848. _super.call(this);
  63849. this.scheduler = scheduler;
  63850. if (iterator == null) {
  63851. throw new Error('iterator cannot be null.');
  63852. }
  63853. this.iterator = getIterator(iterator);
  63854. }
  63855. IteratorObservable.create = function (iterator, scheduler) {
  63856. return new IteratorObservable(iterator, scheduler);
  63857. };
  63858. IteratorObservable.dispatch = function (state) {
  63859. var index = state.index, hasError = state.hasError, iterator = state.iterator, subscriber = state.subscriber;
  63860. if (hasError) {
  63861. subscriber.error(state.error);
  63862. return;
  63863. }
  63864. var result = iterator.next();
  63865. if (result.done) {
  63866. subscriber.complete();
  63867. return;
  63868. }
  63869. subscriber.next(result.value);
  63870. state.index = index + 1;
  63871. if (subscriber.closed) {
  63872. return;
  63873. }
  63874. this.schedule(state);
  63875. };
  63876. IteratorObservable.prototype._subscribe = function (subscriber) {
  63877. var index = 0;
  63878. var _a = this, iterator = _a.iterator, scheduler = _a.scheduler;
  63879. if (scheduler) {
  63880. return scheduler.schedule(IteratorObservable.dispatch, 0, {
  63881. index: index, iterator: iterator, subscriber: subscriber
  63882. });
  63883. }
  63884. else {
  63885. do {
  63886. var result = iterator.next();
  63887. if (result.done) {
  63888. subscriber.complete();
  63889. break;
  63890. }
  63891. else {
  63892. subscriber.next(result.value);
  63893. }
  63894. if (subscriber.closed) {
  63895. break;
  63896. }
  63897. } while (true);
  63898. }
  63899. };
  63900. return IteratorObservable;
  63901. }(Observable_1.Observable));
  63902. exports.IteratorObservable = IteratorObservable;
  63903. var StringIterator = (function () {
  63904. function StringIterator(str, idx, len) {
  63905. if (idx === void 0) { idx = 0; }
  63906. if (len === void 0) { len = str.length; }
  63907. this.str = str;
  63908. this.idx = idx;
  63909. this.len = len;
  63910. }
  63911. StringIterator.prototype[iterator_1.$$iterator] = function () { return (this); };
  63912. StringIterator.prototype.next = function () {
  63913. return this.idx < this.len ? {
  63914. done: false,
  63915. value: this.str.charAt(this.idx++)
  63916. } : {
  63917. done: true,
  63918. value: undefined
  63919. };
  63920. };
  63921. return StringIterator;
  63922. }());
  63923. var ArrayIterator = (function () {
  63924. function ArrayIterator(arr, idx, len) {
  63925. if (idx === void 0) { idx = 0; }
  63926. if (len === void 0) { len = toLength(arr); }
  63927. this.arr = arr;
  63928. this.idx = idx;
  63929. this.len = len;
  63930. }
  63931. ArrayIterator.prototype[iterator_1.$$iterator] = function () { return this; };
  63932. ArrayIterator.prototype.next = function () {
  63933. return this.idx < this.len ? {
  63934. done: false,
  63935. value: this.arr[this.idx++]
  63936. } : {
  63937. done: true,
  63938. value: undefined
  63939. };
  63940. };
  63941. return ArrayIterator;
  63942. }());
  63943. function getIterator(obj) {
  63944. var i = obj[iterator_1.$$iterator];
  63945. if (!i && typeof obj === 'string') {
  63946. return new StringIterator(obj);
  63947. }
  63948. if (!i && obj.length !== undefined) {
  63949. return new ArrayIterator(obj);
  63950. }
  63951. if (!i) {
  63952. throw new TypeError('object is not iterable');
  63953. }
  63954. return obj[iterator_1.$$iterator]();
  63955. }
  63956. var maxSafeInteger = Math.pow(2, 53) - 1;
  63957. function toLength(o) {
  63958. var len = +o.length;
  63959. if (isNaN(len)) {
  63960. return 0;
  63961. }
  63962. if (len === 0 || !numberIsFinite(len)) {
  63963. return len;
  63964. }
  63965. len = sign(len) * Math.floor(Math.abs(len));
  63966. if (len <= 0) {
  63967. return 0;
  63968. }
  63969. if (len > maxSafeInteger) {
  63970. return maxSafeInteger;
  63971. }
  63972. return len;
  63973. }
  63974. function numberIsFinite(value) {
  63975. return typeof value === 'number' && root_1.root.isFinite(value);
  63976. }
  63977. function sign(value) {
  63978. var valueAsNumber = +value;
  63979. if (valueAsNumber === 0) {
  63980. return valueAsNumber;
  63981. }
  63982. if (isNaN(valueAsNumber)) {
  63983. return valueAsNumber;
  63984. }
  63985. return valueAsNumber < 0 ? -1 : 1;
  63986. }
  63987. //# sourceMappingURL=IteratorObservable.js.map
  63988. /***/ },
  63989. /* 837 */
  63990. /***/ function(module, exports, __webpack_require__) {
  63991. "use strict";
  63992. "use strict";
  63993. var __extends = (this && this.__extends) || function (d, b) {
  63994. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  63995. function __() { this.constructor = d; }
  63996. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  63997. };
  63998. var Observable_1 = __webpack_require__(0);
  63999. var noop_1 = __webpack_require__(419);
  64000. /**
  64001. * We need this JSDoc comment for affecting ESDoc.
  64002. * @extends {Ignored}
  64003. * @hide true
  64004. */
  64005. var NeverObservable = (function (_super) {
  64006. __extends(NeverObservable, _super);
  64007. function NeverObservable() {
  64008. _super.call(this);
  64009. }
  64010. /**
  64011. * Creates an Observable that emits no items to the Observer.
  64012. *
  64013. * <span class="informal">An Observable that never emits anything.</span>
  64014. *
  64015. * <img src="./img/never.png" width="100%">
  64016. *
  64017. * This static operator is useful for creating a simple Observable that emits
  64018. * neither values nor errors nor the completion notification. It can be used
  64019. * for testing purposes or for composing with other Observables. Please not
  64020. * that by never emitting a complete notification, this Observable keeps the
  64021. * subscription from being disposed automatically. Subscriptions need to be
  64022. * manually disposed.
  64023. *
  64024. * @example <caption>Emit the number 7, then never emit anything else (not even complete).</caption>
  64025. * function info() {
  64026. * console.log('Will not be called');
  64027. * }
  64028. * var result = Rx.Observable.never().startWith(7);
  64029. * result.subscribe(x => console.log(x), info, info);
  64030. *
  64031. * @see {@link create}
  64032. * @see {@link empty}
  64033. * @see {@link of}
  64034. * @see {@link throw}
  64035. *
  64036. * @return {Observable} A "never" Observable: never emits anything.
  64037. * @static true
  64038. * @name never
  64039. * @owner Observable
  64040. */
  64041. NeverObservable.create = function () {
  64042. return new NeverObservable();
  64043. };
  64044. NeverObservable.prototype._subscribe = function (subscriber) {
  64045. noop_1.noop();
  64046. };
  64047. return NeverObservable;
  64048. }(Observable_1.Observable));
  64049. exports.NeverObservable = NeverObservable;
  64050. //# sourceMappingURL=NeverObservable.js.map
  64051. /***/ },
  64052. /* 838 */
  64053. /***/ function(module, exports, __webpack_require__) {
  64054. "use strict";
  64055. "use strict";
  64056. var __extends = (this && this.__extends) || function (d, b) {
  64057. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  64058. function __() { this.constructor = d; }
  64059. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  64060. };
  64061. var Observable_1 = __webpack_require__(0);
  64062. function dispatch(state) {
  64063. var obj = state.obj, keys = state.keys, length = state.length, index = state.index, subscriber = state.subscriber;
  64064. if (index === length) {
  64065. subscriber.complete();
  64066. return;
  64067. }
  64068. var key = keys[index];
  64069. subscriber.next([key, obj[key]]);
  64070. state.index = index + 1;
  64071. this.schedule(state);
  64072. }
  64073. /**
  64074. * We need this JSDoc comment for affecting ESDoc.
  64075. * @extends {Ignored}
  64076. * @hide true
  64077. */
  64078. var PairsObservable = (function (_super) {
  64079. __extends(PairsObservable, _super);
  64080. function PairsObservable(obj, scheduler) {
  64081. _super.call(this);
  64082. this.obj = obj;
  64083. this.scheduler = scheduler;
  64084. this.keys = Object.keys(obj);
  64085. }
  64086. /**
  64087. * Convert an object into an observable sequence of [key, value] pairs
  64088. * using an optional Scheduler to enumerate the object.
  64089. *
  64090. * @example <caption>Converts a javascript object to an Observable</caption>
  64091. * var obj = {
  64092. * foo: 42,
  64093. * bar: 56,
  64094. * baz: 78
  64095. * };
  64096. *
  64097. * var source = Rx.Observable.pairs(obj);
  64098. *
  64099. * var subscription = source.subscribe(
  64100. * function (x) {
  64101. * console.log('Next: %s', x);
  64102. * },
  64103. * function (err) {
  64104. * console.log('Error: %s', err);
  64105. * },
  64106. * function () {
  64107. * console.log('Completed');
  64108. * });
  64109. *
  64110. * @param {Object} obj The object to inspect and turn into an
  64111. * Observable sequence.
  64112. * @param {Scheduler} [scheduler] An optional Scheduler to run the
  64113. * enumeration of the input sequence on.
  64114. * @returns {(Observable<Array<string | T>>)} An observable sequence of
  64115. * [key, value] pairs from the object.
  64116. */
  64117. PairsObservable.create = function (obj, scheduler) {
  64118. return new PairsObservable(obj, scheduler);
  64119. };
  64120. PairsObservable.prototype._subscribe = function (subscriber) {
  64121. var _a = this, keys = _a.keys, scheduler = _a.scheduler;
  64122. var length = keys.length;
  64123. if (scheduler) {
  64124. return scheduler.schedule(dispatch, 0, {
  64125. obj: this.obj, keys: keys, length: length, index: 0, subscriber: subscriber
  64126. });
  64127. }
  64128. else {
  64129. for (var idx = 0; idx < length; idx++) {
  64130. var key = keys[idx];
  64131. subscriber.next([key, this.obj[key]]);
  64132. }
  64133. subscriber.complete();
  64134. }
  64135. };
  64136. return PairsObservable;
  64137. }(Observable_1.Observable));
  64138. exports.PairsObservable = PairsObservable;
  64139. //# sourceMappingURL=PairsObservable.js.map
  64140. /***/ },
  64141. /* 839 */
  64142. /***/ function(module, exports, __webpack_require__) {
  64143. "use strict";
  64144. "use strict";
  64145. var __extends = (this && this.__extends) || function (d, b) {
  64146. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  64147. function __() { this.constructor = d; }
  64148. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  64149. };
  64150. var Observable_1 = __webpack_require__(0);
  64151. /**
  64152. * We need this JSDoc comment for affecting ESDoc.
  64153. * @extends {Ignored}
  64154. * @hide true
  64155. */
  64156. var RangeObservable = (function (_super) {
  64157. __extends(RangeObservable, _super);
  64158. function RangeObservable(start, count, scheduler) {
  64159. _super.call(this);
  64160. this.start = start;
  64161. this._count = count;
  64162. this.scheduler = scheduler;
  64163. }
  64164. /**
  64165. * Creates an Observable that emits a sequence of numbers within a specified
  64166. * range.
  64167. *
  64168. * <span class="informal">Emits a sequence of numbers in a range.</span>
  64169. *
  64170. * <img src="./img/range.png" width="100%">
  64171. *
  64172. * `range` operator emits a range of sequential integers, in order, where you
  64173. * select the `start` of the range and its `length`. By default, uses no
  64174. * Scheduler and just delivers the notifications synchronously, but may use
  64175. * an optional Scheduler to regulate those deliveries.
  64176. *
  64177. * @example <caption>Emits the numbers 1 to 10</caption>
  64178. * var numbers = Rx.Observable.range(1, 10);
  64179. * numbers.subscribe(x => console.log(x));
  64180. *
  64181. * @see {@link timer}
  64182. * @see {@link interval}
  64183. *
  64184. * @param {number} [start=0] The value of the first integer in the sequence.
  64185. * @param {number} [count=0] The number of sequential integers to generate.
  64186. * @param {Scheduler} [scheduler] A {@link Scheduler} to use for scheduling
  64187. * the emissions of the notifications.
  64188. * @return {Observable} An Observable of numbers that emits a finite range of
  64189. * sequential integers.
  64190. * @static true
  64191. * @name range
  64192. * @owner Observable
  64193. */
  64194. RangeObservable.create = function (start, count, scheduler) {
  64195. if (start === void 0) { start = 0; }
  64196. if (count === void 0) { count = 0; }
  64197. return new RangeObservable(start, count, scheduler);
  64198. };
  64199. RangeObservable.dispatch = function (state) {
  64200. var start = state.start, index = state.index, count = state.count, subscriber = state.subscriber;
  64201. if (index >= count) {
  64202. subscriber.complete();
  64203. return;
  64204. }
  64205. subscriber.next(start);
  64206. if (subscriber.closed) {
  64207. return;
  64208. }
  64209. state.index = index + 1;
  64210. state.start = start + 1;
  64211. this.schedule(state);
  64212. };
  64213. RangeObservable.prototype._subscribe = function (subscriber) {
  64214. var index = 0;
  64215. var start = this.start;
  64216. var count = this._count;
  64217. var scheduler = this.scheduler;
  64218. if (scheduler) {
  64219. return scheduler.schedule(RangeObservable.dispatch, 0, {
  64220. index: index, count: count, start: start, subscriber: subscriber
  64221. });
  64222. }
  64223. else {
  64224. do {
  64225. if (index++ >= count) {
  64226. subscriber.complete();
  64227. break;
  64228. }
  64229. subscriber.next(start++);
  64230. if (subscriber.closed) {
  64231. break;
  64232. }
  64233. } while (true);
  64234. }
  64235. };
  64236. return RangeObservable;
  64237. }(Observable_1.Observable));
  64238. exports.RangeObservable = RangeObservable;
  64239. //# sourceMappingURL=RangeObservable.js.map
  64240. /***/ },
  64241. /* 840 */
  64242. /***/ function(module, exports, __webpack_require__) {
  64243. "use strict";
  64244. "use strict";
  64245. var __extends = (this && this.__extends) || function (d, b) {
  64246. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  64247. function __() { this.constructor = d; }
  64248. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  64249. };
  64250. var Observable_1 = __webpack_require__(0);
  64251. var asap_1 = __webpack_require__(412);
  64252. var isNumeric_1 = __webpack_require__(267);
  64253. /**
  64254. * We need this JSDoc comment for affecting ESDoc.
  64255. * @extends {Ignored}
  64256. * @hide true
  64257. */
  64258. var SubscribeOnObservable = (function (_super) {
  64259. __extends(SubscribeOnObservable, _super);
  64260. function SubscribeOnObservable(source, delayTime, scheduler) {
  64261. if (delayTime === void 0) { delayTime = 0; }
  64262. if (scheduler === void 0) { scheduler = asap_1.asap; }
  64263. _super.call(this);
  64264. this.source = source;
  64265. this.delayTime = delayTime;
  64266. this.scheduler = scheduler;
  64267. if (!isNumeric_1.isNumeric(delayTime) || delayTime < 0) {
  64268. this.delayTime = 0;
  64269. }
  64270. if (!scheduler || typeof scheduler.schedule !== 'function') {
  64271. this.scheduler = asap_1.asap;
  64272. }
  64273. }
  64274. SubscribeOnObservable.create = function (source, delay, scheduler) {
  64275. if (delay === void 0) { delay = 0; }
  64276. if (scheduler === void 0) { scheduler = asap_1.asap; }
  64277. return new SubscribeOnObservable(source, delay, scheduler);
  64278. };
  64279. SubscribeOnObservable.dispatch = function (arg) {
  64280. var source = arg.source, subscriber = arg.subscriber;
  64281. return source.subscribe(subscriber);
  64282. };
  64283. SubscribeOnObservable.prototype._subscribe = function (subscriber) {
  64284. var delay = this.delayTime;
  64285. var source = this.source;
  64286. var scheduler = this.scheduler;
  64287. return scheduler.schedule(SubscribeOnObservable.dispatch, delay, {
  64288. source: source, subscriber: subscriber
  64289. });
  64290. };
  64291. return SubscribeOnObservable;
  64292. }(Observable_1.Observable));
  64293. exports.SubscribeOnObservable = SubscribeOnObservable;
  64294. //# sourceMappingURL=SubscribeOnObservable.js.map
  64295. /***/ },
  64296. /* 841 */
  64297. /***/ function(module, exports, __webpack_require__) {
  64298. "use strict";
  64299. "use strict";
  64300. var __extends = (this && this.__extends) || function (d, b) {
  64301. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  64302. function __() { this.constructor = d; }
  64303. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  64304. };
  64305. var isNumeric_1 = __webpack_require__(267);
  64306. var Observable_1 = __webpack_require__(0);
  64307. var async_1 = __webpack_require__(33);
  64308. var isScheduler_1 = __webpack_require__(75);
  64309. var isDate_1 = __webpack_require__(176);
  64310. /**
  64311. * We need this JSDoc comment for affecting ESDoc.
  64312. * @extends {Ignored}
  64313. * @hide true
  64314. */
  64315. var TimerObservable = (function (_super) {
  64316. __extends(TimerObservable, _super);
  64317. function TimerObservable(dueTime, period, scheduler) {
  64318. if (dueTime === void 0) { dueTime = 0; }
  64319. _super.call(this);
  64320. this.period = -1;
  64321. this.dueTime = 0;
  64322. if (isNumeric_1.isNumeric(period)) {
  64323. this.period = Number(period) < 1 && 1 || Number(period);
  64324. }
  64325. else if (isScheduler_1.isScheduler(period)) {
  64326. scheduler = period;
  64327. }
  64328. if (!isScheduler_1.isScheduler(scheduler)) {
  64329. scheduler = async_1.async;
  64330. }
  64331. this.scheduler = scheduler;
  64332. this.dueTime = isDate_1.isDate(dueTime) ?
  64333. (+dueTime - this.scheduler.now()) :
  64334. dueTime;
  64335. }
  64336. /**
  64337. * Creates an Observable that starts emitting after an `initialDelay` and
  64338. * emits ever increasing numbers after each `period` of time thereafter.
  64339. *
  64340. * <span class="informal">Its like {@link interval}, but you can specify when
  64341. * should the emissions start.</span>
  64342. *
  64343. * <img src="./img/timer.png" width="100%">
  64344. *
  64345. * `timer` returns an Observable that emits an infinite sequence of ascending
  64346. * integers, with a constant interval of time, `period` of your choosing
  64347. * between those emissions. The first emission happens after the specified
  64348. * `initialDelay`. The initial delay may be a {@link Date}. By default, this
  64349. * operator uses the `async` Scheduler to provide a notion of time, but you
  64350. * may pass any Scheduler to it. If `period` is not specified, the output
  64351. * Observable emits only one value, `0`. Otherwise, it emits an infinite
  64352. * sequence.
  64353. *
  64354. * @example <caption>Emits ascending numbers, one every second (1000ms), starting after 3 seconds</caption>
  64355. * var numbers = Rx.Observable.timer(3000, 1000);
  64356. * numbers.subscribe(x => console.log(x));
  64357. *
  64358. * @example <caption>Emits one number after five seconds</caption>
  64359. * var numbers = Rx.Observable.timer(5000);
  64360. * numbers.subscribe(x => console.log(x));
  64361. *
  64362. * @see {@link interval}
  64363. * @see {@link delay}
  64364. *
  64365. * @param {number|Date} initialDelay The initial delay time to wait before
  64366. * emitting the first value of `0`.
  64367. * @param {number} [period] The period of time between emissions of the
  64368. * subsequent numbers.
  64369. * @param {Scheduler} [scheduler=async] The Scheduler to use for scheduling
  64370. * the emission of values, and providing a notion of "time".
  64371. * @return {Observable} An Observable that emits a `0` after the
  64372. * `initialDelay` and ever increasing numbers after each `period` of time
  64373. * thereafter.
  64374. * @static true
  64375. * @name timer
  64376. * @owner Observable
  64377. */
  64378. TimerObservable.create = function (initialDelay, period, scheduler) {
  64379. if (initialDelay === void 0) { initialDelay = 0; }
  64380. return new TimerObservable(initialDelay, period, scheduler);
  64381. };
  64382. TimerObservable.dispatch = function (state) {
  64383. var index = state.index, period = state.period, subscriber = state.subscriber;
  64384. var action = this;
  64385. subscriber.next(index);
  64386. if (subscriber.closed) {
  64387. return;
  64388. }
  64389. else if (period === -1) {
  64390. return subscriber.complete();
  64391. }
  64392. state.index = index + 1;
  64393. action.schedule(state, period);
  64394. };
  64395. TimerObservable.prototype._subscribe = function (subscriber) {
  64396. var index = 0;
  64397. var _a = this, period = _a.period, dueTime = _a.dueTime, scheduler = _a.scheduler;
  64398. return scheduler.schedule(TimerObservable.dispatch, dueTime, {
  64399. index: index, period: period, subscriber: subscriber
  64400. });
  64401. };
  64402. return TimerObservable;
  64403. }(Observable_1.Observable));
  64404. exports.TimerObservable = TimerObservable;
  64405. //# sourceMappingURL=TimerObservable.js.map
  64406. /***/ },
  64407. /* 842 */
  64408. /***/ function(module, exports, __webpack_require__) {
  64409. "use strict";
  64410. "use strict";
  64411. var __extends = (this && this.__extends) || function (d, b) {
  64412. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  64413. function __() { this.constructor = d; }
  64414. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  64415. };
  64416. var Observable_1 = __webpack_require__(0);
  64417. var subscribeToResult_1 = __webpack_require__(7);
  64418. var OuterSubscriber_1 = __webpack_require__(6);
  64419. /**
  64420. * We need this JSDoc comment for affecting ESDoc.
  64421. * @extends {Ignored}
  64422. * @hide true
  64423. */
  64424. var UsingObservable = (function (_super) {
  64425. __extends(UsingObservable, _super);
  64426. function UsingObservable(resourceFactory, observableFactory) {
  64427. _super.call(this);
  64428. this.resourceFactory = resourceFactory;
  64429. this.observableFactory = observableFactory;
  64430. }
  64431. UsingObservable.create = function (resourceFactory, observableFactory) {
  64432. return new UsingObservable(resourceFactory, observableFactory);
  64433. };
  64434. UsingObservable.prototype._subscribe = function (subscriber) {
  64435. var _a = this, resourceFactory = _a.resourceFactory, observableFactory = _a.observableFactory;
  64436. var resource;
  64437. try {
  64438. resource = resourceFactory();
  64439. return new UsingSubscriber(subscriber, resource, observableFactory);
  64440. }
  64441. catch (err) {
  64442. subscriber.error(err);
  64443. }
  64444. };
  64445. return UsingObservable;
  64446. }(Observable_1.Observable));
  64447. exports.UsingObservable = UsingObservable;
  64448. var UsingSubscriber = (function (_super) {
  64449. __extends(UsingSubscriber, _super);
  64450. function UsingSubscriber(destination, resource, observableFactory) {
  64451. _super.call(this, destination);
  64452. this.resource = resource;
  64453. this.observableFactory = observableFactory;
  64454. destination.add(resource);
  64455. this.tryUse();
  64456. }
  64457. UsingSubscriber.prototype.tryUse = function () {
  64458. try {
  64459. var source = this.observableFactory.call(this, this.resource);
  64460. if (source) {
  64461. this.add(subscribeToResult_1.subscribeToResult(this, source));
  64462. }
  64463. }
  64464. catch (err) {
  64465. this._error(err);
  64466. }
  64467. };
  64468. return UsingSubscriber;
  64469. }(OuterSubscriber_1.OuterSubscriber));
  64470. //# sourceMappingURL=UsingObservable.js.map
  64471. /***/ },
  64472. /* 843 */
  64473. /***/ function(module, exports, __webpack_require__) {
  64474. "use strict";
  64475. "use strict";
  64476. var BoundCallbackObservable_1 = __webpack_require__(826);
  64477. exports.bindCallback = BoundCallbackObservable_1.BoundCallbackObservable.create;
  64478. //# sourceMappingURL=bindCallback.js.map
  64479. /***/ },
  64480. /* 844 */
  64481. /***/ function(module, exports, __webpack_require__) {
  64482. "use strict";
  64483. "use strict";
  64484. var BoundNodeCallbackObservable_1 = __webpack_require__(827);
  64485. exports.bindNodeCallback = BoundNodeCallbackObservable_1.BoundNodeCallbackObservable.create;
  64486. //# sourceMappingURL=bindNodeCallback.js.map
  64487. /***/ },
  64488. /* 845 */
  64489. /***/ function(module, exports, __webpack_require__) {
  64490. "use strict";
  64491. "use strict";
  64492. var isScheduler_1 = __webpack_require__(75);
  64493. var isArray_1 = __webpack_require__(48);
  64494. var ArrayObservable_1 = __webpack_require__(63);
  64495. var combineLatest_1 = __webpack_require__(259);
  64496. /* tslint:enable:max-line-length */
  64497. /**
  64498. * Combines multiple Observables to create an Observable whose values are
  64499. * calculated from the latest values of each of its input Observables.
  64500. *
  64501. * <span class="informal">Whenever any input Observable emits a value, it
  64502. * computes a formula using the latest values from all the inputs, then emits
  64503. * the output of that formula.</span>
  64504. *
  64505. * <img src="./img/combineLatest.png" width="100%">
  64506. *
  64507. * `combineLatest` combines the values from all the Observables passed as
  64508. * arguments. This is done by subscribing to each Observable, in order, and
  64509. * collecting an array of each of the most recent values any time any of the
  64510. * input Observables emits, then either taking that array and passing it as
  64511. * arguments to an optional `project` function and emitting the return value of
  64512. * that, or just emitting the array of recent values directly if there is no
  64513. * `project` function.
  64514. *
  64515. * @example <caption>Dynamically calculate the Body-Mass Index from an Observable of weight and one for height</caption>
  64516. * var weight = Rx.Observable.of(70, 72, 76, 79, 75);
  64517. * var height = Rx.Observable.of(1.76, 1.77, 1.78);
  64518. * var bmi = Rx.Observable.combineLatest(weight, height, (w, h) => w / (h * h));
  64519. * bmi.subscribe(x => console.log('BMI is ' + x));
  64520. *
  64521. * @see {@link combineAll}
  64522. * @see {@link merge}
  64523. * @see {@link withLatestFrom}
  64524. *
  64525. * @param {Observable} observable1 An input Observable to combine with the
  64526. * source Observable.
  64527. * @param {Observable} observable2 An input Observable to combine with the
  64528. * source Observable. More than one input Observables may be given as argument.
  64529. * @param {function} [project] An optional function to project the values from
  64530. * the combined latest values into a new value on the output Observable.
  64531. * @param {Scheduler} [scheduler=null] The Scheduler to use for subscribing to
  64532. * each input Observable.
  64533. * @return {Observable} An Observable of projected values from the most recent
  64534. * values from each input Observable, or an array of the most recent values from
  64535. * each input Observable.
  64536. * @static true
  64537. * @name combineLatest
  64538. * @owner Observable
  64539. */
  64540. function combineLatest() {
  64541. var observables = [];
  64542. for (var _i = 0; _i < arguments.length; _i++) {
  64543. observables[_i - 0] = arguments[_i];
  64544. }
  64545. var project = null;
  64546. var scheduler = null;
  64547. if (isScheduler_1.isScheduler(observables[observables.length - 1])) {
  64548. scheduler = observables.pop();
  64549. }
  64550. if (typeof observables[observables.length - 1] === 'function') {
  64551. project = observables.pop();
  64552. }
  64553. // if the first and only other argument besides the resultSelector is an array
  64554. // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`
  64555. if (observables.length === 1 && isArray_1.isArray(observables[0])) {
  64556. observables = observables[0];
  64557. }
  64558. return new ArrayObservable_1.ArrayObservable(observables, scheduler).lift(new combineLatest_1.CombineLatestOperator(project));
  64559. }
  64560. exports.combineLatest = combineLatest;
  64561. //# sourceMappingURL=combineLatest.js.map
  64562. /***/ },
  64563. /* 846 */
  64564. /***/ function(module, exports, __webpack_require__) {
  64565. "use strict";
  64566. "use strict";
  64567. var concat_1 = __webpack_require__(260);
  64568. exports.concat = concat_1.concatStatic;
  64569. //# sourceMappingURL=concat.js.map
  64570. /***/ },
  64571. /* 847 */
  64572. /***/ function(module, exports, __webpack_require__) {
  64573. "use strict";
  64574. "use strict";
  64575. var DeferObservable_1 = __webpack_require__(828);
  64576. exports.defer = DeferObservable_1.DeferObservable.create;
  64577. //# sourceMappingURL=defer.js.map
  64578. /***/ },
  64579. /* 848 */
  64580. /***/ function(module, exports, __webpack_require__) {
  64581. "use strict";
  64582. "use strict";
  64583. var __extends = (this && this.__extends) || function (d, b) {
  64584. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  64585. function __() { this.constructor = d; }
  64586. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  64587. };
  64588. var Subject_1 = __webpack_require__(15);
  64589. var Subscriber_1 = __webpack_require__(3);
  64590. var Observable_1 = __webpack_require__(0);
  64591. var Subscription_1 = __webpack_require__(22);
  64592. var root_1 = __webpack_require__(27);
  64593. var ReplaySubject_1 = __webpack_require__(170);
  64594. var tryCatch_1 = __webpack_require__(24);
  64595. var errorObject_1 = __webpack_require__(23);
  64596. var assign_1 = __webpack_require__(958);
  64597. /**
  64598. * We need this JSDoc comment for affecting ESDoc.
  64599. * @extends {Ignored}
  64600. * @hide true
  64601. */
  64602. var WebSocketSubject = (function (_super) {
  64603. __extends(WebSocketSubject, _super);
  64604. function WebSocketSubject(urlConfigOrSource, destination) {
  64605. if (urlConfigOrSource instanceof Observable_1.Observable) {
  64606. _super.call(this, destination, urlConfigOrSource);
  64607. }
  64608. else {
  64609. _super.call(this);
  64610. this.WebSocketCtor = root_1.root.WebSocket;
  64611. this._output = new Subject_1.Subject();
  64612. if (typeof urlConfigOrSource === 'string') {
  64613. this.url = urlConfigOrSource;
  64614. }
  64615. else {
  64616. // WARNING: config object could override important members here.
  64617. assign_1.assign(this, urlConfigOrSource);
  64618. }
  64619. if (!this.WebSocketCtor) {
  64620. throw new Error('no WebSocket constructor can be found');
  64621. }
  64622. this.destination = new ReplaySubject_1.ReplaySubject();
  64623. }
  64624. }
  64625. WebSocketSubject.prototype.resultSelector = function (e) {
  64626. return JSON.parse(e.data);
  64627. };
  64628. /**
  64629. * @param urlConfigOrSource
  64630. * @return {WebSocketSubject}
  64631. * @static true
  64632. * @name webSocket
  64633. * @owner Observable
  64634. */
  64635. WebSocketSubject.create = function (urlConfigOrSource) {
  64636. return new WebSocketSubject(urlConfigOrSource);
  64637. };
  64638. WebSocketSubject.prototype.lift = function (operator) {
  64639. var sock = new WebSocketSubject(this, this.destination);
  64640. sock.operator = operator;
  64641. return sock;
  64642. };
  64643. // TODO: factor this out to be a proper Operator/Subscriber implementation and eliminate closures
  64644. WebSocketSubject.prototype.multiplex = function (subMsg, unsubMsg, messageFilter) {
  64645. var self = this;
  64646. return new Observable_1.Observable(function (observer) {
  64647. var result = tryCatch_1.tryCatch(subMsg)();
  64648. if (result === errorObject_1.errorObject) {
  64649. observer.error(errorObject_1.errorObject.e);
  64650. }
  64651. else {
  64652. self.next(result);
  64653. }
  64654. var subscription = self.subscribe(function (x) {
  64655. var result = tryCatch_1.tryCatch(messageFilter)(x);
  64656. if (result === errorObject_1.errorObject) {
  64657. observer.error(errorObject_1.errorObject.e);
  64658. }
  64659. else if (result) {
  64660. observer.next(x);
  64661. }
  64662. }, function (err) { return observer.error(err); }, function () { return observer.complete(); });
  64663. return function () {
  64664. var result = tryCatch_1.tryCatch(unsubMsg)();
  64665. if (result === errorObject_1.errorObject) {
  64666. observer.error(errorObject_1.errorObject.e);
  64667. }
  64668. else {
  64669. self.next(result);
  64670. }
  64671. subscription.unsubscribe();
  64672. };
  64673. });
  64674. };
  64675. WebSocketSubject.prototype._connectSocket = function () {
  64676. var _this = this;
  64677. var WebSocketCtor = this.WebSocketCtor;
  64678. var observer = this._output;
  64679. var socket = null;
  64680. try {
  64681. socket = this.protocol ?
  64682. new WebSocketCtor(this.url, this.protocol) :
  64683. new WebSocketCtor(this.url);
  64684. this.socket = socket;
  64685. }
  64686. catch (e) {
  64687. observer.error(e);
  64688. return;
  64689. }
  64690. var subscription = new Subscription_1.Subscription(function () {
  64691. _this.socket = null;
  64692. if (socket && socket.readyState === 1) {
  64693. socket.close();
  64694. }
  64695. });
  64696. socket.onopen = function (e) {
  64697. var openObserver = _this.openObserver;
  64698. if (openObserver) {
  64699. openObserver.next(e);
  64700. }
  64701. var queue = _this.destination;
  64702. _this.destination = Subscriber_1.Subscriber.create(function (x) { return socket.readyState === 1 && socket.send(x); }, function (e) {
  64703. var closingObserver = _this.closingObserver;
  64704. if (closingObserver) {
  64705. closingObserver.next(undefined);
  64706. }
  64707. if (e && e.code) {
  64708. socket.close(e.code, e.reason);
  64709. }
  64710. else {
  64711. observer.error(new TypeError('WebSocketSubject.error must be called with an object with an error code, ' +
  64712. 'and an optional reason: { code: number, reason: string }'));
  64713. }
  64714. _this.destination = new ReplaySubject_1.ReplaySubject();
  64715. _this.socket = null;
  64716. }, function () {
  64717. var closingObserver = _this.closingObserver;
  64718. if (closingObserver) {
  64719. closingObserver.next(undefined);
  64720. }
  64721. socket.close();
  64722. _this.destination = new ReplaySubject_1.ReplaySubject();
  64723. _this.socket = null;
  64724. });
  64725. if (queue && queue instanceof ReplaySubject_1.ReplaySubject) {
  64726. subscription.add(queue.subscribe(_this.destination));
  64727. }
  64728. };
  64729. socket.onerror = function (e) { return observer.error(e); };
  64730. socket.onclose = function (e) {
  64731. var closeObserver = _this.closeObserver;
  64732. if (closeObserver) {
  64733. closeObserver.next(e);
  64734. }
  64735. if (e.wasClean) {
  64736. observer.complete();
  64737. }
  64738. else {
  64739. observer.error(e);
  64740. }
  64741. };
  64742. socket.onmessage = function (e) {
  64743. var result = tryCatch_1.tryCatch(_this.resultSelector)(e);
  64744. if (result === errorObject_1.errorObject) {
  64745. observer.error(errorObject_1.errorObject.e);
  64746. }
  64747. else {
  64748. observer.next(result);
  64749. }
  64750. };
  64751. };
  64752. WebSocketSubject.prototype._subscribe = function (subscriber) {
  64753. var _this = this;
  64754. var source = this.source;
  64755. if (source) {
  64756. return source.subscribe(subscriber);
  64757. }
  64758. if (!this.socket) {
  64759. this._connectSocket();
  64760. }
  64761. var subscription = new Subscription_1.Subscription();
  64762. subscription.add(this._output.subscribe(subscriber));
  64763. subscription.add(function () {
  64764. var socket = _this.socket;
  64765. if (_this._output.observers.length === 0 && socket && socket.readyState === 1) {
  64766. socket.close();
  64767. _this.socket = null;
  64768. }
  64769. });
  64770. return subscription;
  64771. };
  64772. WebSocketSubject.prototype.unsubscribe = function () {
  64773. var _a = this, source = _a.source, socket = _a.socket;
  64774. if (socket && socket.readyState === 1) {
  64775. socket.close();
  64776. this.socket = null;
  64777. }
  64778. _super.prototype.unsubscribe.call(this);
  64779. if (!source) {
  64780. this.destination = new ReplaySubject_1.ReplaySubject();
  64781. }
  64782. };
  64783. return WebSocketSubject;
  64784. }(Subject_1.AnonymousSubject));
  64785. exports.WebSocketSubject = WebSocketSubject;
  64786. //# sourceMappingURL=WebSocketSubject.js.map
  64787. /***/ },
  64788. /* 849 */
  64789. /***/ function(module, exports, __webpack_require__) {
  64790. "use strict";
  64791. "use strict";
  64792. var AjaxObservable_1 = __webpack_require__(396);
  64793. exports.ajax = AjaxObservable_1.AjaxObservable.create;
  64794. //# sourceMappingURL=ajax.js.map
  64795. /***/ },
  64796. /* 850 */
  64797. /***/ function(module, exports, __webpack_require__) {
  64798. "use strict";
  64799. "use strict";
  64800. var WebSocketSubject_1 = __webpack_require__(848);
  64801. exports.webSocket = WebSocketSubject_1.WebSocketSubject.create;
  64802. //# sourceMappingURL=webSocket.js.map
  64803. /***/ },
  64804. /* 851 */
  64805. /***/ function(module, exports, __webpack_require__) {
  64806. "use strict";
  64807. "use strict";
  64808. var EmptyObservable_1 = __webpack_require__(74);
  64809. exports.empty = EmptyObservable_1.EmptyObservable.create;
  64810. //# sourceMappingURL=empty.js.map
  64811. /***/ },
  64812. /* 852 */
  64813. /***/ function(module, exports, __webpack_require__) {
  64814. "use strict";
  64815. "use strict";
  64816. var ForkJoinObservable_1 = __webpack_require__(830);
  64817. exports.forkJoin = ForkJoinObservable_1.ForkJoinObservable.create;
  64818. //# sourceMappingURL=forkJoin.js.map
  64819. /***/ },
  64820. /* 853 */
  64821. /***/ function(module, exports, __webpack_require__) {
  64822. "use strict";
  64823. "use strict";
  64824. var FromEventObservable_1 = __webpack_require__(831);
  64825. exports.fromEvent = FromEventObservable_1.FromEventObservable.create;
  64826. //# sourceMappingURL=fromEvent.js.map
  64827. /***/ },
  64828. /* 854 */
  64829. /***/ function(module, exports, __webpack_require__) {
  64830. "use strict";
  64831. "use strict";
  64832. var FromEventPatternObservable_1 = __webpack_require__(832);
  64833. exports.fromEventPattern = FromEventPatternObservable_1.FromEventPatternObservable.create;
  64834. //# sourceMappingURL=fromEventPattern.js.map
  64835. /***/ },
  64836. /* 855 */
  64837. /***/ function(module, exports, __webpack_require__) {
  64838. "use strict";
  64839. "use strict";
  64840. var IfObservable_1 = __webpack_require__(834);
  64841. exports._if = IfObservable_1.IfObservable.create;
  64842. //# sourceMappingURL=if.js.map
  64843. /***/ },
  64844. /* 856 */
  64845. /***/ function(module, exports, __webpack_require__) {
  64846. "use strict";
  64847. "use strict";
  64848. var IntervalObservable_1 = __webpack_require__(835);
  64849. exports.interval = IntervalObservable_1.IntervalObservable.create;
  64850. //# sourceMappingURL=interval.js.map
  64851. /***/ },
  64852. /* 857 */
  64853. /***/ function(module, exports, __webpack_require__) {
  64854. "use strict";
  64855. "use strict";
  64856. var merge_1 = __webpack_require__(404);
  64857. exports.merge = merge_1.mergeStatic;
  64858. //# sourceMappingURL=merge.js.map
  64859. /***/ },
  64860. /* 858 */
  64861. /***/ function(module, exports, __webpack_require__) {
  64862. "use strict";
  64863. "use strict";
  64864. var NeverObservable_1 = __webpack_require__(837);
  64865. exports.never = NeverObservable_1.NeverObservable.create;
  64866. //# sourceMappingURL=never.js.map
  64867. /***/ },
  64868. /* 859 */
  64869. /***/ function(module, exports, __webpack_require__) {
  64870. "use strict";
  64871. "use strict";
  64872. var PairsObservable_1 = __webpack_require__(838);
  64873. exports.pairs = PairsObservable_1.PairsObservable.create;
  64874. //# sourceMappingURL=pairs.js.map
  64875. /***/ },
  64876. /* 860 */
  64877. /***/ function(module, exports, __webpack_require__) {
  64878. "use strict";
  64879. "use strict";
  64880. var RangeObservable_1 = __webpack_require__(839);
  64881. exports.range = RangeObservable_1.RangeObservable.create;
  64882. //# sourceMappingURL=range.js.map
  64883. /***/ },
  64884. /* 861 */
  64885. /***/ function(module, exports, __webpack_require__) {
  64886. "use strict";
  64887. "use strict";
  64888. var ErrorObservable_1 = __webpack_require__(829);
  64889. exports._throw = ErrorObservable_1.ErrorObservable.create;
  64890. //# sourceMappingURL=throw.js.map
  64891. /***/ },
  64892. /* 862 */
  64893. /***/ function(module, exports, __webpack_require__) {
  64894. "use strict";
  64895. "use strict";
  64896. var TimerObservable_1 = __webpack_require__(841);
  64897. exports.timer = TimerObservable_1.TimerObservable.create;
  64898. //# sourceMappingURL=timer.js.map
  64899. /***/ },
  64900. /* 863 */
  64901. /***/ function(module, exports, __webpack_require__) {
  64902. "use strict";
  64903. "use strict";
  64904. var UsingObservable_1 = __webpack_require__(842);
  64905. exports.using = UsingObservable_1.UsingObservable.create;
  64906. //# sourceMappingURL=using.js.map
  64907. /***/ },
  64908. /* 864 */
  64909. /***/ function(module, exports, __webpack_require__) {
  64910. "use strict";
  64911. "use strict";
  64912. var zip_1 = __webpack_require__(264);
  64913. exports.zip = zip_1.zipStatic;
  64914. //# sourceMappingURL=zip.js.map
  64915. /***/ },
  64916. /* 865 */
  64917. /***/ function(module, exports, __webpack_require__) {
  64918. "use strict";
  64919. "use strict";
  64920. var __extends = (this && this.__extends) || function (d, b) {
  64921. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  64922. function __() { this.constructor = d; }
  64923. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  64924. };
  64925. var tryCatch_1 = __webpack_require__(24);
  64926. var errorObject_1 = __webpack_require__(23);
  64927. var OuterSubscriber_1 = __webpack_require__(6);
  64928. var subscribeToResult_1 = __webpack_require__(7);
  64929. /**
  64930. * Ignores source values for a duration determined by another Observable, then
  64931. * emits the most recent value from the source Observable, then repeats this
  64932. * process.
  64933. *
  64934. * <span class="informal">It's like {@link auditTime}, but the silencing
  64935. * duration is determined by a second Observable.</span>
  64936. *
  64937. * <img src="./img/audit.png" width="100%">
  64938. *
  64939. * `audit` is similar to `throttle`, but emits the last value from the silenced
  64940. * time window, instead of the first value. `audit` emits the most recent value
  64941. * from the source Observable on the output Observable as soon as its internal
  64942. * timer becomes disabled, and ignores source values while the timer is enabled.
  64943. * Initially, the timer is disabled. As soon as the first source value arrives,
  64944. * the timer is enabled by calling the `durationSelector` function with the
  64945. * source value, which returns the "duration" Observable. When the duration
  64946. * Observable emits a value or completes, the timer is disabled, then the most
  64947. * recent source value is emitted on the output Observable, and this process
  64948. * repeats for the next source value.
  64949. *
  64950. * @example <caption>Emit clicks at a rate of at most one click per second</caption>
  64951. * var clicks = Rx.Observable.fromEvent(document, 'click');
  64952. * var result = clicks.audit(ev => Rx.Observable.interval(1000));
  64953. * result.subscribe(x => console.log(x));
  64954. *
  64955. * @see {@link auditTime}
  64956. * @see {@link debounce}
  64957. * @see {@link delayWhen}
  64958. * @see {@link sample}
  64959. * @see {@link throttle}
  64960. *
  64961. * @param {function(value: T): Observable|Promise} durationSelector A function
  64962. * that receives a value from the source Observable, for computing the silencing
  64963. * duration, returned as an Observable or a Promise.
  64964. * @return {Observable<T>} An Observable that performs rate-limiting of
  64965. * emissions from the source Observable.
  64966. * @method audit
  64967. * @owner Observable
  64968. */
  64969. function audit(durationSelector) {
  64970. return this.lift(new AuditOperator(durationSelector));
  64971. }
  64972. exports.audit = audit;
  64973. var AuditOperator = (function () {
  64974. function AuditOperator(durationSelector) {
  64975. this.durationSelector = durationSelector;
  64976. }
  64977. AuditOperator.prototype.call = function (subscriber, source) {
  64978. return source._subscribe(new AuditSubscriber(subscriber, this.durationSelector));
  64979. };
  64980. return AuditOperator;
  64981. }());
  64982. /**
  64983. * We need this JSDoc comment for affecting ESDoc.
  64984. * @ignore
  64985. * @extends {Ignored}
  64986. */
  64987. var AuditSubscriber = (function (_super) {
  64988. __extends(AuditSubscriber, _super);
  64989. function AuditSubscriber(destination, durationSelector) {
  64990. _super.call(this, destination);
  64991. this.durationSelector = durationSelector;
  64992. this.hasValue = false;
  64993. }
  64994. AuditSubscriber.prototype._next = function (value) {
  64995. this.value = value;
  64996. this.hasValue = true;
  64997. if (!this.throttled) {
  64998. var duration = tryCatch_1.tryCatch(this.durationSelector)(value);
  64999. if (duration === errorObject_1.errorObject) {
  65000. this.destination.error(errorObject_1.errorObject.e);
  65001. }
  65002. else {
  65003. this.add(this.throttled = subscribeToResult_1.subscribeToResult(this, duration));
  65004. }
  65005. }
  65006. };
  65007. AuditSubscriber.prototype.clearThrottle = function () {
  65008. var _a = this, value = _a.value, hasValue = _a.hasValue, throttled = _a.throttled;
  65009. if (throttled) {
  65010. this.remove(throttled);
  65011. this.throttled = null;
  65012. throttled.unsubscribe();
  65013. }
  65014. if (hasValue) {
  65015. this.value = null;
  65016. this.hasValue = false;
  65017. this.destination.next(value);
  65018. }
  65019. };
  65020. AuditSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {
  65021. this.clearThrottle();
  65022. };
  65023. AuditSubscriber.prototype.notifyComplete = function () {
  65024. this.clearThrottle();
  65025. };
  65026. return AuditSubscriber;
  65027. }(OuterSubscriber_1.OuterSubscriber));
  65028. //# sourceMappingURL=audit.js.map
  65029. /***/ },
  65030. /* 866 */
  65031. /***/ function(module, exports, __webpack_require__) {
  65032. "use strict";
  65033. "use strict";
  65034. var __extends = (this && this.__extends) || function (d, b) {
  65035. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  65036. function __() { this.constructor = d; }
  65037. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  65038. };
  65039. var async_1 = __webpack_require__(33);
  65040. var Subscriber_1 = __webpack_require__(3);
  65041. /**
  65042. * Ignores source values for `duration` milliseconds, then emits the most recent
  65043. * value from the source Observable, then repeats this process.
  65044. *
  65045. * <span class="informal">When it sees a source values, it ignores that plus
  65046. * the next ones for `duration` milliseconds, and then it emits the most recent
  65047. * value from the source.</span>
  65048. *
  65049. * <img src="./img/auditTime.png" width="100%">
  65050. *
  65051. * `auditTime` is similar to `throttleTime`, but emits the last value from the
  65052. * silenced time window, instead of the first value. `auditTime` emits the most
  65053. * recent value from the source Observable on the output Observable as soon as
  65054. * its internal timer becomes disabled, and ignores source values while the
  65055. * timer is enabled. Initially, the timer is disabled. As soon as the first
  65056. * source value arrives, the timer is enabled. After `duration` milliseconds (or
  65057. * the time unit determined internally by the optional `scheduler`) has passed,
  65058. * the timer is disabled, then the most recent source value is emitted on the
  65059. * output Observable, and this process repeats for the next source value.
  65060. * Optionally takes a {@link Scheduler} for managing timers.
  65061. *
  65062. * @example <caption>Emit clicks at a rate of at most one click per second</caption>
  65063. * var clicks = Rx.Observable.fromEvent(document, 'click');
  65064. * var result = clicks.auditTime(1000);
  65065. * result.subscribe(x => console.log(x));
  65066. *
  65067. * @see {@link audit}
  65068. * @see {@link debounceTime}
  65069. * @see {@link delay}
  65070. * @see {@link sampleTime}
  65071. * @see {@link throttleTime}
  65072. *
  65073. * @param {number} duration Time to wait before emitting the most recent source
  65074. * value, measured in milliseconds or the time unit determined internally
  65075. * by the optional `scheduler`.
  65076. * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for
  65077. * managing the timers that handle the rate-limiting behavior.
  65078. * @return {Observable<T>} An Observable that performs rate-limiting of
  65079. * emissions from the source Observable.
  65080. * @method auditTime
  65081. * @owner Observable
  65082. */
  65083. function auditTime(duration, scheduler) {
  65084. if (scheduler === void 0) { scheduler = async_1.async; }
  65085. return this.lift(new AuditTimeOperator(duration, scheduler));
  65086. }
  65087. exports.auditTime = auditTime;
  65088. var AuditTimeOperator = (function () {
  65089. function AuditTimeOperator(duration, scheduler) {
  65090. this.duration = duration;
  65091. this.scheduler = scheduler;
  65092. }
  65093. AuditTimeOperator.prototype.call = function (subscriber, source) {
  65094. return source._subscribe(new AuditTimeSubscriber(subscriber, this.duration, this.scheduler));
  65095. };
  65096. return AuditTimeOperator;
  65097. }());
  65098. /**
  65099. * We need this JSDoc comment for affecting ESDoc.
  65100. * @ignore
  65101. * @extends {Ignored}
  65102. */
  65103. var AuditTimeSubscriber = (function (_super) {
  65104. __extends(AuditTimeSubscriber, _super);
  65105. function AuditTimeSubscriber(destination, duration, scheduler) {
  65106. _super.call(this, destination);
  65107. this.duration = duration;
  65108. this.scheduler = scheduler;
  65109. this.hasValue = false;
  65110. }
  65111. AuditTimeSubscriber.prototype._next = function (value) {
  65112. this.value = value;
  65113. this.hasValue = true;
  65114. if (!this.throttled) {
  65115. this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, this));
  65116. }
  65117. };
  65118. AuditTimeSubscriber.prototype.clearThrottle = function () {
  65119. var _a = this, value = _a.value, hasValue = _a.hasValue, throttled = _a.throttled;
  65120. if (throttled) {
  65121. this.remove(throttled);
  65122. this.throttled = null;
  65123. throttled.unsubscribe();
  65124. }
  65125. if (hasValue) {
  65126. this.value = null;
  65127. this.hasValue = false;
  65128. this.destination.next(value);
  65129. }
  65130. };
  65131. return AuditTimeSubscriber;
  65132. }(Subscriber_1.Subscriber));
  65133. function dispatchNext(subscriber) {
  65134. subscriber.clearThrottle();
  65135. }
  65136. //# sourceMappingURL=auditTime.js.map
  65137. /***/ },
  65138. /* 867 */
  65139. /***/ function(module, exports, __webpack_require__) {
  65140. "use strict";
  65141. "use strict";
  65142. var __extends = (this && this.__extends) || function (d, b) {
  65143. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  65144. function __() { this.constructor = d; }
  65145. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  65146. };
  65147. var OuterSubscriber_1 = __webpack_require__(6);
  65148. var subscribeToResult_1 = __webpack_require__(7);
  65149. /**
  65150. * Buffers the source Observable values until `closingNotifier` emits.
  65151. *
  65152. * <span class="informal">Collects values from the past as an array, and emits
  65153. * that array only when another Observable emits.</span>
  65154. *
  65155. * <img src="./img/buffer.png" width="100%">
  65156. *
  65157. * Buffers the incoming Observable values until the given `closingNotifier`
  65158. * Observable emits a value, at which point it emits the buffer on the output
  65159. * Observable and starts a new buffer internally, awaiting the next time
  65160. * `closingNotifier` emits.
  65161. *
  65162. * @example <caption>On every click, emit array of most recent interval events</caption>
  65163. * var clicks = Rx.Observable.fromEvent(document, 'click');
  65164. * var interval = Rx.Observable.interval(1000);
  65165. * var buffered = interval.buffer(clicks);
  65166. * buffered.subscribe(x => console.log(x));
  65167. *
  65168. * @see {@link bufferCount}
  65169. * @see {@link bufferTime}
  65170. * @see {@link bufferToggle}
  65171. * @see {@link bufferWhen}
  65172. * @see {@link window}
  65173. *
  65174. * @param {Observable<any>} closingNotifier An Observable that signals the
  65175. * buffer to be emitted on the output Observable.
  65176. * @return {Observable<T[]>} An Observable of buffers, which are arrays of
  65177. * values.
  65178. * @method buffer
  65179. * @owner Observable
  65180. */
  65181. function buffer(closingNotifier) {
  65182. return this.lift(new BufferOperator(closingNotifier));
  65183. }
  65184. exports.buffer = buffer;
  65185. var BufferOperator = (function () {
  65186. function BufferOperator(closingNotifier) {
  65187. this.closingNotifier = closingNotifier;
  65188. }
  65189. BufferOperator.prototype.call = function (subscriber, source) {
  65190. return source._subscribe(new BufferSubscriber(subscriber, this.closingNotifier));
  65191. };
  65192. return BufferOperator;
  65193. }());
  65194. /**
  65195. * We need this JSDoc comment for affecting ESDoc.
  65196. * @ignore
  65197. * @extends {Ignored}
  65198. */
  65199. var BufferSubscriber = (function (_super) {
  65200. __extends(BufferSubscriber, _super);
  65201. function BufferSubscriber(destination, closingNotifier) {
  65202. _super.call(this, destination);
  65203. this.buffer = [];
  65204. this.add(subscribeToResult_1.subscribeToResult(this, closingNotifier));
  65205. }
  65206. BufferSubscriber.prototype._next = function (value) {
  65207. this.buffer.push(value);
  65208. };
  65209. BufferSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  65210. var buffer = this.buffer;
  65211. this.buffer = [];
  65212. this.destination.next(buffer);
  65213. };
  65214. return BufferSubscriber;
  65215. }(OuterSubscriber_1.OuterSubscriber));
  65216. //# sourceMappingURL=buffer.js.map
  65217. /***/ },
  65218. /* 868 */
  65219. /***/ function(module, exports, __webpack_require__) {
  65220. "use strict";
  65221. "use strict";
  65222. var __extends = (this && this.__extends) || function (d, b) {
  65223. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  65224. function __() { this.constructor = d; }
  65225. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  65226. };
  65227. var Subscriber_1 = __webpack_require__(3);
  65228. /**
  65229. * Buffers the source Observable values until the size hits the maximum
  65230. * `bufferSize` given.
  65231. *
  65232. * <span class="informal">Collects values from the past as an array, and emits
  65233. * that array only when its size reaches `bufferSize`.</span>
  65234. *
  65235. * <img src="./img/bufferCount.png" width="100%">
  65236. *
  65237. * Buffers a number of values from the source Observable by `bufferSize` then
  65238. * emits the buffer and clears it, and starts a new buffer each
  65239. * `startBufferEvery` values. If `startBufferEvery` is not provided or is
  65240. * `null`, then new buffers are started immediately at the start of the source
  65241. * and when each buffer closes and is emitted.
  65242. *
  65243. * @example <caption>Emit the last two click events as an array</caption>
  65244. * var clicks = Rx.Observable.fromEvent(document, 'click');
  65245. * var buffered = clicks.bufferCount(2);
  65246. * buffered.subscribe(x => console.log(x));
  65247. *
  65248. * @example <caption>On every click, emit the last two click events as an array</caption>
  65249. * var clicks = Rx.Observable.fromEvent(document, 'click');
  65250. * var buffered = clicks.bufferCount(2, 1);
  65251. * buffered.subscribe(x => console.log(x));
  65252. *
  65253. * @see {@link buffer}
  65254. * @see {@link bufferTime}
  65255. * @see {@link bufferToggle}
  65256. * @see {@link bufferWhen}
  65257. * @see {@link pairwise}
  65258. * @see {@link windowCount}
  65259. *
  65260. * @param {number} bufferSize The maximum size of the buffer emitted.
  65261. * @param {number} [startBufferEvery] Interval at which to start a new buffer.
  65262. * For example if `startBufferEvery` is `2`, then a new buffer will be started
  65263. * on every other value from the source. A new buffer is started at the
  65264. * beginning of the source by default.
  65265. * @return {Observable<T[]>} An Observable of arrays of buffered values.
  65266. * @method bufferCount
  65267. * @owner Observable
  65268. */
  65269. function bufferCount(bufferSize, startBufferEvery) {
  65270. if (startBufferEvery === void 0) { startBufferEvery = null; }
  65271. return this.lift(new BufferCountOperator(bufferSize, startBufferEvery));
  65272. }
  65273. exports.bufferCount = bufferCount;
  65274. var BufferCountOperator = (function () {
  65275. function BufferCountOperator(bufferSize, startBufferEvery) {
  65276. this.bufferSize = bufferSize;
  65277. this.startBufferEvery = startBufferEvery;
  65278. }
  65279. BufferCountOperator.prototype.call = function (subscriber, source) {
  65280. return source._subscribe(new BufferCountSubscriber(subscriber, this.bufferSize, this.startBufferEvery));
  65281. };
  65282. return BufferCountOperator;
  65283. }());
  65284. /**
  65285. * We need this JSDoc comment for affecting ESDoc.
  65286. * @ignore
  65287. * @extends {Ignored}
  65288. */
  65289. var BufferCountSubscriber = (function (_super) {
  65290. __extends(BufferCountSubscriber, _super);
  65291. function BufferCountSubscriber(destination, bufferSize, startBufferEvery) {
  65292. _super.call(this, destination);
  65293. this.bufferSize = bufferSize;
  65294. this.startBufferEvery = startBufferEvery;
  65295. this.buffers = [[]];
  65296. this.count = 0;
  65297. }
  65298. BufferCountSubscriber.prototype._next = function (value) {
  65299. var count = (this.count += 1);
  65300. var destination = this.destination;
  65301. var bufferSize = this.bufferSize;
  65302. var startBufferEvery = (this.startBufferEvery == null) ? bufferSize : this.startBufferEvery;
  65303. var buffers = this.buffers;
  65304. var len = buffers.length;
  65305. var remove = -1;
  65306. if (count % startBufferEvery === 0) {
  65307. buffers.push([]);
  65308. }
  65309. for (var i = 0; i < len; i++) {
  65310. var buffer = buffers[i];
  65311. buffer.push(value);
  65312. if (buffer.length === bufferSize) {
  65313. remove = i;
  65314. destination.next(buffer);
  65315. }
  65316. }
  65317. if (remove !== -1) {
  65318. buffers.splice(remove, 1);
  65319. }
  65320. };
  65321. BufferCountSubscriber.prototype._complete = function () {
  65322. var destination = this.destination;
  65323. var buffers = this.buffers;
  65324. while (buffers.length > 0) {
  65325. var buffer = buffers.shift();
  65326. if (buffer.length > 0) {
  65327. destination.next(buffer);
  65328. }
  65329. }
  65330. _super.prototype._complete.call(this);
  65331. };
  65332. return BufferCountSubscriber;
  65333. }(Subscriber_1.Subscriber));
  65334. //# sourceMappingURL=bufferCount.js.map
  65335. /***/ },
  65336. /* 869 */
  65337. /***/ function(module, exports, __webpack_require__) {
  65338. "use strict";
  65339. "use strict";
  65340. var __extends = (this && this.__extends) || function (d, b) {
  65341. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  65342. function __() { this.constructor = d; }
  65343. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  65344. };
  65345. var async_1 = __webpack_require__(33);
  65346. var Subscriber_1 = __webpack_require__(3);
  65347. var isScheduler_1 = __webpack_require__(75);
  65348. /**
  65349. * Buffers the source Observable values for a specific time period.
  65350. *
  65351. * <span class="informal">Collects values from the past as an array, and emits
  65352. * those arrays periodically in time.</span>
  65353. *
  65354. * <img src="./img/bufferTime.png" width="100%">
  65355. *
  65356. * Buffers values from the source for a specific time duration `bufferTimeSpan`.
  65357. * Unless the optional argument `bufferCreationInterval` is given, it emits and
  65358. * resets the buffer every `bufferTimeSpan` milliseconds. If
  65359. * `bufferCreationInterval` is given, this operator opens the buffer every
  65360. * `bufferCreationInterval` milliseconds and closes (emits and resets) the
  65361. * buffer every `bufferTimeSpan` milliseconds. When the optional argument
  65362. * `maxBufferSize` is specified, the buffer will be closed either after
  65363. * `bufferTimeSpan` milliseconds or when it contains `maxBufferSize` elements.
  65364. *
  65365. * @example <caption>Every second, emit an array of the recent click events</caption>
  65366. * var clicks = Rx.Observable.fromEvent(document, 'click');
  65367. * var buffered = clicks.bufferTime(1000);
  65368. * buffered.subscribe(x => console.log(x));
  65369. *
  65370. * @example <caption>Every 5 seconds, emit the click events from the next 2 seconds</caption>
  65371. * var clicks = Rx.Observable.fromEvent(document, 'click');
  65372. * var buffered = clicks.bufferTime(2000, 5000);
  65373. * buffered.subscribe(x => console.log(x));
  65374. *
  65375. * @see {@link buffer}
  65376. * @see {@link bufferCount}
  65377. * @see {@link bufferToggle}
  65378. * @see {@link bufferWhen}
  65379. * @see {@link windowTime}
  65380. *
  65381. * @param {number} bufferTimeSpan The amount of time to fill each buffer array.
  65382. * @param {number} [bufferCreationInterval] The interval at which to start new
  65383. * buffers.
  65384. * @param {number} [maxBufferSize] The maximum buffer size.
  65385. * @param {Scheduler} [scheduler=async] The scheduler on which to schedule the
  65386. * intervals that determine buffer boundaries.
  65387. * @return {Observable<T[]>} An observable of arrays of buffered values.
  65388. * @method bufferTime
  65389. * @owner Observable
  65390. */
  65391. function bufferTime(bufferTimeSpan) {
  65392. var length = arguments.length;
  65393. var scheduler = async_1.async;
  65394. if (isScheduler_1.isScheduler(arguments[arguments.length - 1])) {
  65395. scheduler = arguments[arguments.length - 1];
  65396. length--;
  65397. }
  65398. var bufferCreationInterval = null;
  65399. if (length >= 2) {
  65400. bufferCreationInterval = arguments[1];
  65401. }
  65402. var maxBufferSize = Number.POSITIVE_INFINITY;
  65403. if (length >= 3) {
  65404. maxBufferSize = arguments[2];
  65405. }
  65406. return this.lift(new BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler));
  65407. }
  65408. exports.bufferTime = bufferTime;
  65409. var BufferTimeOperator = (function () {
  65410. function BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {
  65411. this.bufferTimeSpan = bufferTimeSpan;
  65412. this.bufferCreationInterval = bufferCreationInterval;
  65413. this.maxBufferSize = maxBufferSize;
  65414. this.scheduler = scheduler;
  65415. }
  65416. BufferTimeOperator.prototype.call = function (subscriber, source) {
  65417. return source._subscribe(new BufferTimeSubscriber(subscriber, this.bufferTimeSpan, this.bufferCreationInterval, this.maxBufferSize, this.scheduler));
  65418. };
  65419. return BufferTimeOperator;
  65420. }());
  65421. var Context = (function () {
  65422. function Context() {
  65423. this.buffer = [];
  65424. }
  65425. return Context;
  65426. }());
  65427. /**
  65428. * We need this JSDoc comment for affecting ESDoc.
  65429. * @ignore
  65430. * @extends {Ignored}
  65431. */
  65432. var BufferTimeSubscriber = (function (_super) {
  65433. __extends(BufferTimeSubscriber, _super);
  65434. function BufferTimeSubscriber(destination, bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {
  65435. _super.call(this, destination);
  65436. this.bufferTimeSpan = bufferTimeSpan;
  65437. this.bufferCreationInterval = bufferCreationInterval;
  65438. this.maxBufferSize = maxBufferSize;
  65439. this.scheduler = scheduler;
  65440. this.contexts = [];
  65441. var context = this.openContext();
  65442. this.timespanOnly = bufferCreationInterval == null || bufferCreationInterval < 0;
  65443. if (this.timespanOnly) {
  65444. var timeSpanOnlyState = { subscriber: this, context: context, bufferTimeSpan: bufferTimeSpan };
  65445. this.add(context.closeAction = scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));
  65446. }
  65447. else {
  65448. var closeState = { subscriber: this, context: context };
  65449. var creationState = { bufferTimeSpan: bufferTimeSpan, bufferCreationInterval: bufferCreationInterval, subscriber: this, scheduler: scheduler };
  65450. this.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, closeState));
  65451. this.add(scheduler.schedule(dispatchBufferCreation, bufferCreationInterval, creationState));
  65452. }
  65453. }
  65454. BufferTimeSubscriber.prototype._next = function (value) {
  65455. var contexts = this.contexts;
  65456. var len = contexts.length;
  65457. var filledBufferContext;
  65458. for (var i = 0; i < len; i++) {
  65459. var context = contexts[i];
  65460. var buffer = context.buffer;
  65461. buffer.push(value);
  65462. if (buffer.length == this.maxBufferSize) {
  65463. filledBufferContext = context;
  65464. }
  65465. }
  65466. if (filledBufferContext) {
  65467. this.onBufferFull(filledBufferContext);
  65468. }
  65469. };
  65470. BufferTimeSubscriber.prototype._error = function (err) {
  65471. this.contexts.length = 0;
  65472. _super.prototype._error.call(this, err);
  65473. };
  65474. BufferTimeSubscriber.prototype._complete = function () {
  65475. var _a = this, contexts = _a.contexts, destination = _a.destination;
  65476. while (contexts.length > 0) {
  65477. var context = contexts.shift();
  65478. destination.next(context.buffer);
  65479. }
  65480. _super.prototype._complete.call(this);
  65481. };
  65482. BufferTimeSubscriber.prototype._unsubscribe = function () {
  65483. this.contexts = null;
  65484. };
  65485. BufferTimeSubscriber.prototype.onBufferFull = function (context) {
  65486. this.closeContext(context);
  65487. var closeAction = context.closeAction;
  65488. closeAction.unsubscribe();
  65489. this.remove(closeAction);
  65490. if (this.timespanOnly) {
  65491. context = this.openContext();
  65492. var bufferTimeSpan = this.bufferTimeSpan;
  65493. var timeSpanOnlyState = { subscriber: this, context: context, bufferTimeSpan: bufferTimeSpan };
  65494. this.add(context.closeAction = this.scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));
  65495. }
  65496. };
  65497. BufferTimeSubscriber.prototype.openContext = function () {
  65498. var context = new Context();
  65499. this.contexts.push(context);
  65500. return context;
  65501. };
  65502. BufferTimeSubscriber.prototype.closeContext = function (context) {
  65503. this.destination.next(context.buffer);
  65504. var contexts = this.contexts;
  65505. var spliceIndex = contexts ? contexts.indexOf(context) : -1;
  65506. if (spliceIndex >= 0) {
  65507. contexts.splice(contexts.indexOf(context), 1);
  65508. }
  65509. };
  65510. return BufferTimeSubscriber;
  65511. }(Subscriber_1.Subscriber));
  65512. function dispatchBufferTimeSpanOnly(state) {
  65513. var subscriber = state.subscriber;
  65514. var prevContext = state.context;
  65515. if (prevContext) {
  65516. subscriber.closeContext(prevContext);
  65517. }
  65518. if (!subscriber.closed) {
  65519. state.context = subscriber.openContext();
  65520. state.context.closeAction = this.schedule(state, state.bufferTimeSpan);
  65521. }
  65522. }
  65523. function dispatchBufferCreation(state) {
  65524. var bufferCreationInterval = state.bufferCreationInterval, bufferTimeSpan = state.bufferTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler;
  65525. var context = subscriber.openContext();
  65526. var action = this;
  65527. if (!subscriber.closed) {
  65528. subscriber.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, { subscriber: subscriber, context: context }));
  65529. action.schedule(state, bufferCreationInterval);
  65530. }
  65531. }
  65532. function dispatchBufferClose(arg) {
  65533. var subscriber = arg.subscriber, context = arg.context;
  65534. subscriber.closeContext(context);
  65535. }
  65536. //# sourceMappingURL=bufferTime.js.map
  65537. /***/ },
  65538. /* 870 */
  65539. /***/ function(module, exports, __webpack_require__) {
  65540. "use strict";
  65541. "use strict";
  65542. var __extends = (this && this.__extends) || function (d, b) {
  65543. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  65544. function __() { this.constructor = d; }
  65545. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  65546. };
  65547. var Subscription_1 = __webpack_require__(22);
  65548. var subscribeToResult_1 = __webpack_require__(7);
  65549. var OuterSubscriber_1 = __webpack_require__(6);
  65550. /**
  65551. * Buffers the source Observable values starting from an emission from
  65552. * `openings` and ending when the output of `closingSelector` emits.
  65553. *
  65554. * <span class="informal">Collects values from the past as an array. Starts
  65555. * collecting only when `opening` emits, and calls the `closingSelector`
  65556. * function to get an Observable that tells when to close the buffer.</span>
  65557. *
  65558. * <img src="./img/bufferToggle.png" width="100%">
  65559. *
  65560. * Buffers values from the source by opening the buffer via signals from an
  65561. * Observable provided to `openings`, and closing and sending the buffers when
  65562. * a Subscribable or Promise returned by the `closingSelector` function emits.
  65563. *
  65564. * @example <caption>Every other second, emit the click events from the next 500ms</caption>
  65565. * var clicks = Rx.Observable.fromEvent(document, 'click');
  65566. * var openings = Rx.Observable.interval(1000);
  65567. * var buffered = clicks.bufferToggle(openings, i =>
  65568. * i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty()
  65569. * );
  65570. * buffered.subscribe(x => console.log(x));
  65571. *
  65572. * @see {@link buffer}
  65573. * @see {@link bufferCount}
  65574. * @see {@link bufferTime}
  65575. * @see {@link bufferWhen}
  65576. * @see {@link windowToggle}
  65577. *
  65578. * @param {SubscribableOrPromise<O>} openings A Subscribable or Promise of notifications to start new
  65579. * buffers.
  65580. * @param {function(value: O): SubscribableOrPromise} closingSelector A function that takes
  65581. * the value emitted by the `openings` observable and returns a Subscribable or Promise,
  65582. * which, when it emits, signals that the associated buffer should be emitted
  65583. * and cleared.
  65584. * @return {Observable<T[]>} An observable of arrays of buffered values.
  65585. * @method bufferToggle
  65586. * @owner Observable
  65587. */
  65588. function bufferToggle(openings, closingSelector) {
  65589. return this.lift(new BufferToggleOperator(openings, closingSelector));
  65590. }
  65591. exports.bufferToggle = bufferToggle;
  65592. var BufferToggleOperator = (function () {
  65593. function BufferToggleOperator(openings, closingSelector) {
  65594. this.openings = openings;
  65595. this.closingSelector = closingSelector;
  65596. }
  65597. BufferToggleOperator.prototype.call = function (subscriber, source) {
  65598. return source._subscribe(new BufferToggleSubscriber(subscriber, this.openings, this.closingSelector));
  65599. };
  65600. return BufferToggleOperator;
  65601. }());
  65602. /**
  65603. * We need this JSDoc comment for affecting ESDoc.
  65604. * @ignore
  65605. * @extends {Ignored}
  65606. */
  65607. var BufferToggleSubscriber = (function (_super) {
  65608. __extends(BufferToggleSubscriber, _super);
  65609. function BufferToggleSubscriber(destination, openings, closingSelector) {
  65610. _super.call(this, destination);
  65611. this.openings = openings;
  65612. this.closingSelector = closingSelector;
  65613. this.contexts = [];
  65614. this.add(subscribeToResult_1.subscribeToResult(this, openings));
  65615. }
  65616. BufferToggleSubscriber.prototype._next = function (value) {
  65617. var contexts = this.contexts;
  65618. var len = contexts.length;
  65619. for (var i = 0; i < len; i++) {
  65620. contexts[i].buffer.push(value);
  65621. }
  65622. };
  65623. BufferToggleSubscriber.prototype._error = function (err) {
  65624. var contexts = this.contexts;
  65625. while (contexts.length > 0) {
  65626. var context = contexts.shift();
  65627. context.subscription.unsubscribe();
  65628. context.buffer = null;
  65629. context.subscription = null;
  65630. }
  65631. this.contexts = null;
  65632. _super.prototype._error.call(this, err);
  65633. };
  65634. BufferToggleSubscriber.prototype._complete = function () {
  65635. var contexts = this.contexts;
  65636. while (contexts.length > 0) {
  65637. var context = contexts.shift();
  65638. this.destination.next(context.buffer);
  65639. context.subscription.unsubscribe();
  65640. context.buffer = null;
  65641. context.subscription = null;
  65642. }
  65643. this.contexts = null;
  65644. _super.prototype._complete.call(this);
  65645. };
  65646. BufferToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  65647. outerValue ? this.closeBuffer(outerValue) : this.openBuffer(innerValue);
  65648. };
  65649. BufferToggleSubscriber.prototype.notifyComplete = function (innerSub) {
  65650. this.closeBuffer(innerSub.context);
  65651. };
  65652. BufferToggleSubscriber.prototype.openBuffer = function (value) {
  65653. try {
  65654. var closingSelector = this.closingSelector;
  65655. var closingNotifier = closingSelector.call(this, value);
  65656. if (closingNotifier) {
  65657. this.trySubscribe(closingNotifier);
  65658. }
  65659. }
  65660. catch (err) {
  65661. this._error(err);
  65662. }
  65663. };
  65664. BufferToggleSubscriber.prototype.closeBuffer = function (context) {
  65665. var contexts = this.contexts;
  65666. if (contexts && context) {
  65667. var buffer = context.buffer, subscription = context.subscription;
  65668. this.destination.next(buffer);
  65669. contexts.splice(contexts.indexOf(context), 1);
  65670. this.remove(subscription);
  65671. subscription.unsubscribe();
  65672. }
  65673. };
  65674. BufferToggleSubscriber.prototype.trySubscribe = function (closingNotifier) {
  65675. var contexts = this.contexts;
  65676. var buffer = [];
  65677. var subscription = new Subscription_1.Subscription();
  65678. var context = { buffer: buffer, subscription: subscription };
  65679. contexts.push(context);
  65680. var innerSubscription = subscribeToResult_1.subscribeToResult(this, closingNotifier, context);
  65681. if (!innerSubscription || innerSubscription.closed) {
  65682. this.closeBuffer(context);
  65683. }
  65684. else {
  65685. innerSubscription.context = context;
  65686. this.add(innerSubscription);
  65687. subscription.add(innerSubscription);
  65688. }
  65689. };
  65690. return BufferToggleSubscriber;
  65691. }(OuterSubscriber_1.OuterSubscriber));
  65692. //# sourceMappingURL=bufferToggle.js.map
  65693. /***/ },
  65694. /* 871 */
  65695. /***/ function(module, exports, __webpack_require__) {
  65696. "use strict";
  65697. "use strict";
  65698. var __extends = (this && this.__extends) || function (d, b) {
  65699. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  65700. function __() { this.constructor = d; }
  65701. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  65702. };
  65703. var Subscription_1 = __webpack_require__(22);
  65704. var tryCatch_1 = __webpack_require__(24);
  65705. var errorObject_1 = __webpack_require__(23);
  65706. var OuterSubscriber_1 = __webpack_require__(6);
  65707. var subscribeToResult_1 = __webpack_require__(7);
  65708. /**
  65709. * Buffers the source Observable values, using a factory function of closing
  65710. * Observables to determine when to close, emit, and reset the buffer.
  65711. *
  65712. * <span class="informal">Collects values from the past as an array. When it
  65713. * starts collecting values, it calls a function that returns an Observable that
  65714. * tells when to close the buffer and restart collecting.</span>
  65715. *
  65716. * <img src="./img/bufferWhen.png" width="100%">
  65717. *
  65718. * Opens a buffer immediately, then closes the buffer when the observable
  65719. * returned by calling `closingSelector` function emits a value. When it closes
  65720. * the buffer, it immediately opens a new buffer and repeats the process.
  65721. *
  65722. * @example <caption>Emit an array of the last clicks every [1-5] random seconds</caption>
  65723. * var clicks = Rx.Observable.fromEvent(document, 'click');
  65724. * var buffered = clicks.bufferWhen(() =>
  65725. * Rx.Observable.interval(1000 + Math.random() * 4000)
  65726. * );
  65727. * buffered.subscribe(x => console.log(x));
  65728. *
  65729. * @see {@link buffer}
  65730. * @see {@link bufferCount}
  65731. * @see {@link bufferTime}
  65732. * @see {@link bufferToggle}
  65733. * @see {@link windowWhen}
  65734. *
  65735. * @param {function(): Observable} closingSelector A function that takes no
  65736. * arguments and returns an Observable that signals buffer closure.
  65737. * @return {Observable<T[]>} An observable of arrays of buffered values.
  65738. * @method bufferWhen
  65739. * @owner Observable
  65740. */
  65741. function bufferWhen(closingSelector) {
  65742. return this.lift(new BufferWhenOperator(closingSelector));
  65743. }
  65744. exports.bufferWhen = bufferWhen;
  65745. var BufferWhenOperator = (function () {
  65746. function BufferWhenOperator(closingSelector) {
  65747. this.closingSelector = closingSelector;
  65748. }
  65749. BufferWhenOperator.prototype.call = function (subscriber, source) {
  65750. return source._subscribe(new BufferWhenSubscriber(subscriber, this.closingSelector));
  65751. };
  65752. return BufferWhenOperator;
  65753. }());
  65754. /**
  65755. * We need this JSDoc comment for affecting ESDoc.
  65756. * @ignore
  65757. * @extends {Ignored}
  65758. */
  65759. var BufferWhenSubscriber = (function (_super) {
  65760. __extends(BufferWhenSubscriber, _super);
  65761. function BufferWhenSubscriber(destination, closingSelector) {
  65762. _super.call(this, destination);
  65763. this.closingSelector = closingSelector;
  65764. this.subscribing = false;
  65765. this.openBuffer();
  65766. }
  65767. BufferWhenSubscriber.prototype._next = function (value) {
  65768. this.buffer.push(value);
  65769. };
  65770. BufferWhenSubscriber.prototype._complete = function () {
  65771. var buffer = this.buffer;
  65772. if (buffer) {
  65773. this.destination.next(buffer);
  65774. }
  65775. _super.prototype._complete.call(this);
  65776. };
  65777. BufferWhenSubscriber.prototype._unsubscribe = function () {
  65778. this.buffer = null;
  65779. this.subscribing = false;
  65780. };
  65781. BufferWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  65782. this.openBuffer();
  65783. };
  65784. BufferWhenSubscriber.prototype.notifyComplete = function () {
  65785. if (this.subscribing) {
  65786. this.complete();
  65787. }
  65788. else {
  65789. this.openBuffer();
  65790. }
  65791. };
  65792. BufferWhenSubscriber.prototype.openBuffer = function () {
  65793. var closingSubscription = this.closingSubscription;
  65794. if (closingSubscription) {
  65795. this.remove(closingSubscription);
  65796. closingSubscription.unsubscribe();
  65797. }
  65798. var buffer = this.buffer;
  65799. if (this.buffer) {
  65800. this.destination.next(buffer);
  65801. }
  65802. this.buffer = [];
  65803. var closingNotifier = tryCatch_1.tryCatch(this.closingSelector)();
  65804. if (closingNotifier === errorObject_1.errorObject) {
  65805. this.error(errorObject_1.errorObject.e);
  65806. }
  65807. else {
  65808. closingSubscription = new Subscription_1.Subscription();
  65809. this.closingSubscription = closingSubscription;
  65810. this.add(closingSubscription);
  65811. this.subscribing = true;
  65812. closingSubscription.add(subscribeToResult_1.subscribeToResult(this, closingNotifier));
  65813. this.subscribing = false;
  65814. }
  65815. };
  65816. return BufferWhenSubscriber;
  65817. }(OuterSubscriber_1.OuterSubscriber));
  65818. //# sourceMappingURL=bufferWhen.js.map
  65819. /***/ },
  65820. /* 872 */
  65821. /***/ function(module, exports, __webpack_require__) {
  65822. "use strict";
  65823. "use strict";
  65824. var Observable_1 = __webpack_require__(0);
  65825. var ReplaySubject_1 = __webpack_require__(170);
  65826. /**
  65827. * @param bufferSize
  65828. * @param windowTime
  65829. * @param scheduler
  65830. * @return {Observable<any>}
  65831. * @method cache
  65832. * @owner Observable
  65833. */
  65834. function cache(bufferSize, windowTime, scheduler) {
  65835. if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }
  65836. if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }
  65837. var subject;
  65838. var source = this;
  65839. var refs = 0;
  65840. var outerSub;
  65841. var getSubject = function () {
  65842. subject = new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler);
  65843. return subject;
  65844. };
  65845. return new Observable_1.Observable(function (observer) {
  65846. if (!subject) {
  65847. subject = getSubject();
  65848. outerSub = source.subscribe(function (value) { return subject.next(value); }, function (err) {
  65849. var s = subject;
  65850. subject = null;
  65851. s.error(err);
  65852. }, function () { return subject.complete(); });
  65853. }
  65854. refs++;
  65855. if (!subject) {
  65856. subject = getSubject();
  65857. }
  65858. var innerSub = subject.subscribe(observer);
  65859. return function () {
  65860. refs--;
  65861. if (innerSub) {
  65862. innerSub.unsubscribe();
  65863. }
  65864. if (refs === 0) {
  65865. outerSub.unsubscribe();
  65866. }
  65867. };
  65868. });
  65869. }
  65870. exports.cache = cache;
  65871. //# sourceMappingURL=cache.js.map
  65872. /***/ },
  65873. /* 873 */
  65874. /***/ function(module, exports, __webpack_require__) {
  65875. "use strict";
  65876. "use strict";
  65877. var combineLatest_1 = __webpack_require__(259);
  65878. /**
  65879. * Converts a higher-order Observable into a first-order Observable by waiting
  65880. * for the outer Observable to complete, then applying {@link combineLatest}.
  65881. *
  65882. * <span class="informal">Flattens an Observable-of-Observables by applying
  65883. * {@link combineLatest} when the Observable-of-Observables completes.</span>
  65884. *
  65885. * <img src="./img/combineAll.png" width="100%">
  65886. *
  65887. * Takes an Observable of Observables, and collects all Observables from it.
  65888. * Once the outer Observable completes, it subscribes to all collected
  65889. * Observables and combines their values using the {@link combineLatest}
  65890. * strategy, such that:
  65891. * - Every time an inner Observable emits, the output Observable emits.
  65892. * - When the returned observable emits, it emits all of the latest values by:
  65893. * - If a `project` function is provided, it is called with each recent value
  65894. * from each inner Observable in whatever order they arrived, and the result
  65895. * of the `project` function is what is emitted by the output Observable.
  65896. * - If there is no `project` function, an array of all of the most recent
  65897. * values is emitted by the output Observable.
  65898. *
  65899. * @example <caption>Map two click events to a finite interval Observable, then apply combineAll</caption>
  65900. * var clicks = Rx.Observable.fromEvent(document, 'click');
  65901. * var higherOrder = clicks.map(ev =>
  65902. * Rx.Observable.interval(Math.random()*2000).take(3)
  65903. * ).take(2);
  65904. * var result = higherOrder.combineAll();
  65905. * result.subscribe(x => console.log(x));
  65906. *
  65907. * @see {@link combineLatest}
  65908. * @see {@link mergeAll}
  65909. *
  65910. * @param {function} [project] An optional function to map the most recent
  65911. * values from each inner Observable into a new result. Takes each of the most
  65912. * recent values from each collected inner Observable as arguments, in order.
  65913. * @return {Observable} An Observable of projected results or arrays of recent
  65914. * values.
  65915. * @method combineAll
  65916. * @owner Observable
  65917. */
  65918. function combineAll(project) {
  65919. return this.lift(new combineLatest_1.CombineLatestOperator(project));
  65920. }
  65921. exports.combineAll = combineAll;
  65922. //# sourceMappingURL=combineAll.js.map
  65923. /***/ },
  65924. /* 874 */
  65925. /***/ function(module, exports, __webpack_require__) {
  65926. "use strict";
  65927. "use strict";
  65928. var mergeMap_1 = __webpack_require__(121);
  65929. /**
  65930. * Projects each source value to an Observable which is merged in the output
  65931. * Observable, in a serialized fashion waiting for each one to complete before
  65932. * merging the next.
  65933. *
  65934. * <span class="informal">Maps each value to an Observable, then flattens all of
  65935. * these inner Observables using {@link concatAll}.</span>
  65936. *
  65937. * <img src="./img/concatMap.png" width="100%">
  65938. *
  65939. * Returns an Observable that emits items based on applying a function that you
  65940. * supply to each item emitted by the source Observable, where that function
  65941. * returns an (so-called "inner") Observable. Each new inner Observable is
  65942. * concatenated with the previous inner Observable.
  65943. *
  65944. * __Warning:__ if source values arrive endlessly and faster than their
  65945. * corresponding inner Observables can complete, it will result in memory issues
  65946. * as inner Observables amass in an unbounded buffer waiting for their turn to
  65947. * be subscribed to.
  65948. *
  65949. * Note: `concatMap` is equivalent to `mergeMap` with concurrency parameter set
  65950. * to `1`.
  65951. *
  65952. * @example <caption>For each click event, tick every second from 0 to 3, with no concurrency</caption>
  65953. * var clicks = Rx.Observable.fromEvent(document, 'click');
  65954. * var result = clicks.concatMap(ev => Rx.Observable.interval(1000).take(4));
  65955. * result.subscribe(x => console.log(x));
  65956. *
  65957. * @see {@link concat}
  65958. * @see {@link concatAll}
  65959. * @see {@link concatMapTo}
  65960. * @see {@link exhaustMap}
  65961. * @see {@link mergeMap}
  65962. * @see {@link switchMap}
  65963. *
  65964. * @param {function(value: T, ?index: number): Observable} project A function
  65965. * that, when applied to an item emitted by the source Observable, returns an
  65966. * Observable.
  65967. * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]
  65968. * A function to produce the value on the output Observable based on the values
  65969. * and the indices of the source (outer) emission and the inner Observable
  65970. * emission. The arguments passed to this function are:
  65971. * - `outerValue`: the value that came from the source
  65972. * - `innerValue`: the value that came from the projected Observable
  65973. * - `outerIndex`: the "index" of the value that came from the source
  65974. * - `innerIndex`: the "index" of the value from the projected Observable
  65975. * @return {Observable} an observable of values merged from the projected
  65976. * Observables as they were subscribed to, one at a time. Optionally, these
  65977. * values may have been projected from a passed `projectResult` argument.
  65978. * @return {Observable} An Observable that emits the result of applying the
  65979. * projection function (and the optional `resultSelector`) to each item emitted
  65980. * by the source Observable and taking values from each projected inner
  65981. * Observable sequentially.
  65982. * @method concatMap
  65983. * @owner Observable
  65984. */
  65985. function concatMap(project, resultSelector) {
  65986. return this.lift(new mergeMap_1.MergeMapOperator(project, resultSelector, 1));
  65987. }
  65988. exports.concatMap = concatMap;
  65989. //# sourceMappingURL=concatMap.js.map
  65990. /***/ },
  65991. /* 875 */
  65992. /***/ function(module, exports, __webpack_require__) {
  65993. "use strict";
  65994. "use strict";
  65995. var mergeMapTo_1 = __webpack_require__(405);
  65996. /**
  65997. * Projects each source value to the same Observable which is merged multiple
  65998. * times in a serialized fashion on the output Observable.
  65999. *
  66000. * <span class="informal">It's like {@link concatMap}, but maps each value
  66001. * always to the same inner Observable.</span>
  66002. *
  66003. * <img src="./img/concatMapTo.png" width="100%">
  66004. *
  66005. * Maps each source value to the given Observable `innerObservable` regardless
  66006. * of the source value, and then flattens those resulting Observables into one
  66007. * single Observable, which is the output Observable. Each new `innerObservable`
  66008. * instance emitted on the output Observable is concatenated with the previous
  66009. * `innerObservable` instance.
  66010. *
  66011. * __Warning:__ if source values arrive endlessly and faster than their
  66012. * corresponding inner Observables can complete, it will result in memory issues
  66013. * as inner Observables amass in an unbounded buffer waiting for their turn to
  66014. * be subscribed to.
  66015. *
  66016. * Note: `concatMapTo` is equivalent to `mergeMapTo` with concurrency parameter
  66017. * set to `1`.
  66018. *
  66019. * @example <caption>For each click event, tick every second from 0 to 3, with no concurrency</caption>
  66020. * var clicks = Rx.Observable.fromEvent(document, 'click');
  66021. * var result = clicks.concatMapTo(Rx.Observable.interval(1000).take(4));
  66022. * result.subscribe(x => console.log(x));
  66023. *
  66024. * @see {@link concat}
  66025. * @see {@link concatAll}
  66026. * @see {@link concatMap}
  66027. * @see {@link mergeMapTo}
  66028. * @see {@link switchMapTo}
  66029. *
  66030. * @param {Observable} innerObservable An Observable to replace each value from
  66031. * the source Observable.
  66032. * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]
  66033. * A function to produce the value on the output Observable based on the values
  66034. * and the indices of the source (outer) emission and the inner Observable
  66035. * emission. The arguments passed to this function are:
  66036. * - `outerValue`: the value that came from the source
  66037. * - `innerValue`: the value that came from the projected Observable
  66038. * - `outerIndex`: the "index" of the value that came from the source
  66039. * - `innerIndex`: the "index" of the value from the projected Observable
  66040. * @return {Observable} An observable of values merged together by joining the
  66041. * passed observable with itself, one after the other, for each value emitted
  66042. * from the source.
  66043. * @method concatMapTo
  66044. * @owner Observable
  66045. */
  66046. function concatMapTo(innerObservable, resultSelector) {
  66047. return this.lift(new mergeMapTo_1.MergeMapToOperator(innerObservable, resultSelector, 1));
  66048. }
  66049. exports.concatMapTo = concatMapTo;
  66050. //# sourceMappingURL=concatMapTo.js.map
  66051. /***/ },
  66052. /* 876 */
  66053. /***/ function(module, exports, __webpack_require__) {
  66054. "use strict";
  66055. "use strict";
  66056. var __extends = (this && this.__extends) || function (d, b) {
  66057. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  66058. function __() { this.constructor = d; }
  66059. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  66060. };
  66061. var Subscriber_1 = __webpack_require__(3);
  66062. /**
  66063. * Counts the number of emissions on the source and emits that number when the
  66064. * source completes.
  66065. *
  66066. * <span class="informal">Tells how many values were emitted, when the source
  66067. * completes.</span>
  66068. *
  66069. * <img src="./img/count.png" width="100%">
  66070. *
  66071. * `count` transforms an Observable that emits values into an Observable that
  66072. * emits a single value that represents the number of values emitted by the
  66073. * source Observable. If the source Observable terminates with an error, `count`
  66074. * will pass this error notification along without emitting an value first. If
  66075. * the source Observable does not terminate at all, `count` will neither emit
  66076. * a value nor terminate. This operator takes an optional `predicate` function
  66077. * as argument, in which case the output emission will represent the number of
  66078. * source values that matched `true` with the `predicate`.
  66079. *
  66080. * @example <caption>Counts how many seconds have passed before the first click happened</caption>
  66081. * var seconds = Rx.Observable.interval(1000);
  66082. * var clicks = Rx.Observable.fromEvent(document, 'click');
  66083. * var secondsBeforeClick = seconds.takeUntil(clicks);
  66084. * var result = secondsBeforeClick.count();
  66085. * result.subscribe(x => console.log(x));
  66086. *
  66087. * @example <caption>Counts how many odd numbers are there between 1 and 7</caption>
  66088. * var numbers = Rx.Observable.range(1, 7);
  66089. * var result = numbers.count(i => i % 2 === 1);
  66090. * result.subscribe(x => console.log(x));
  66091. *
  66092. * @see {@link max}
  66093. * @see {@link min}
  66094. * @see {@link reduce}
  66095. *
  66096. * @param {function(value: T, i: number, source: Observable<T>): boolean} [predicate] A
  66097. * boolean function to select what values are to be counted. It is provided with
  66098. * arguments of:
  66099. * - `value`: the value from the source Observable.
  66100. * - `index`: the (zero-based) "index" of the value from the source Observable.
  66101. * - `source`: the source Observable instance itself.
  66102. * @return {Observable} An Observable of one number that represents the count as
  66103. * described above.
  66104. * @method count
  66105. * @owner Observable
  66106. */
  66107. function count(predicate) {
  66108. return this.lift(new CountOperator(predicate, this));
  66109. }
  66110. exports.count = count;
  66111. var CountOperator = (function () {
  66112. function CountOperator(predicate, source) {
  66113. this.predicate = predicate;
  66114. this.source = source;
  66115. }
  66116. CountOperator.prototype.call = function (subscriber, source) {
  66117. return source._subscribe(new CountSubscriber(subscriber, this.predicate, this.source));
  66118. };
  66119. return CountOperator;
  66120. }());
  66121. /**
  66122. * We need this JSDoc comment for affecting ESDoc.
  66123. * @ignore
  66124. * @extends {Ignored}
  66125. */
  66126. var CountSubscriber = (function (_super) {
  66127. __extends(CountSubscriber, _super);
  66128. function CountSubscriber(destination, predicate, source) {
  66129. _super.call(this, destination);
  66130. this.predicate = predicate;
  66131. this.source = source;
  66132. this.count = 0;
  66133. this.index = 0;
  66134. }
  66135. CountSubscriber.prototype._next = function (value) {
  66136. if (this.predicate) {
  66137. this._tryPredicate(value);
  66138. }
  66139. else {
  66140. this.count++;
  66141. }
  66142. };
  66143. CountSubscriber.prototype._tryPredicate = function (value) {
  66144. var result;
  66145. try {
  66146. result = this.predicate(value, this.index++, this.source);
  66147. }
  66148. catch (err) {
  66149. this.destination.error(err);
  66150. return;
  66151. }
  66152. if (result) {
  66153. this.count++;
  66154. }
  66155. };
  66156. CountSubscriber.prototype._complete = function () {
  66157. this.destination.next(this.count);
  66158. this.destination.complete();
  66159. };
  66160. return CountSubscriber;
  66161. }(Subscriber_1.Subscriber));
  66162. //# sourceMappingURL=count.js.map
  66163. /***/ },
  66164. /* 877 */
  66165. /***/ function(module, exports, __webpack_require__) {
  66166. "use strict";
  66167. "use strict";
  66168. var __extends = (this && this.__extends) || function (d, b) {
  66169. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  66170. function __() { this.constructor = d; }
  66171. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  66172. };
  66173. var OuterSubscriber_1 = __webpack_require__(6);
  66174. var subscribeToResult_1 = __webpack_require__(7);
  66175. /**
  66176. * Emits a value from the source Observable only after a particular time span
  66177. * determined by another Observable has passed without another source emission.
  66178. *
  66179. * <span class="informal">It's like {@link debounceTime}, but the time span of
  66180. * emission silence is determined by a second Observable.</span>
  66181. *
  66182. * <img src="./img/debounce.png" width="100%">
  66183. *
  66184. * `debounce` delays values emitted by the source Observable, but drops previous
  66185. * pending delayed emissions if a new value arrives on the source Observable.
  66186. * This operator keeps track of the most recent value from the source
  66187. * Observable, and spawns a duration Observable by calling the
  66188. * `durationSelector` function. The value is emitted only when the duration
  66189. * Observable emits a value or completes, and if no other value was emitted on
  66190. * the source Observable since the duration Observable was spawned. If a new
  66191. * value appears before the duration Observable emits, the previous value will
  66192. * be dropped and will not be emitted on the output Observable.
  66193. *
  66194. * Like {@link debounceTime}, this is a rate-limiting operator, and also a
  66195. * delay-like operator since output emissions do not necessarily occur at the
  66196. * same time as they did on the source Observable.
  66197. *
  66198. * @example <caption>Emit the most recent click after a burst of clicks</caption>
  66199. * var clicks = Rx.Observable.fromEvent(document, 'click');
  66200. * var result = clicks.debounce(() => Rx.Observable.interval(1000));
  66201. * result.subscribe(x => console.log(x));
  66202. *
  66203. * @see {@link audit}
  66204. * @see {@link debounceTime}
  66205. * @see {@link delayWhen}
  66206. * @see {@link throttle}
  66207. *
  66208. * @param {function(value: T): Observable|Promise} durationSelector A function
  66209. * that receives a value from the source Observable, for computing the timeout
  66210. * duration for each source value, returned as an Observable or a Promise.
  66211. * @return {Observable} An Observable that delays the emissions of the source
  66212. * Observable by the specified duration Observable returned by
  66213. * `durationSelector`, and may drop some values if they occur too frequently.
  66214. * @method debounce
  66215. * @owner Observable
  66216. */
  66217. function debounce(durationSelector) {
  66218. return this.lift(new DebounceOperator(durationSelector));
  66219. }
  66220. exports.debounce = debounce;
  66221. var DebounceOperator = (function () {
  66222. function DebounceOperator(durationSelector) {
  66223. this.durationSelector = durationSelector;
  66224. }
  66225. DebounceOperator.prototype.call = function (subscriber, source) {
  66226. return source._subscribe(new DebounceSubscriber(subscriber, this.durationSelector));
  66227. };
  66228. return DebounceOperator;
  66229. }());
  66230. /**
  66231. * We need this JSDoc comment for affecting ESDoc.
  66232. * @ignore
  66233. * @extends {Ignored}
  66234. */
  66235. var DebounceSubscriber = (function (_super) {
  66236. __extends(DebounceSubscriber, _super);
  66237. function DebounceSubscriber(destination, durationSelector) {
  66238. _super.call(this, destination);
  66239. this.durationSelector = durationSelector;
  66240. this.hasValue = false;
  66241. this.durationSubscription = null;
  66242. }
  66243. DebounceSubscriber.prototype._next = function (value) {
  66244. try {
  66245. var result = this.durationSelector.call(this, value);
  66246. if (result) {
  66247. this._tryNext(value, result);
  66248. }
  66249. }
  66250. catch (err) {
  66251. this.destination.error(err);
  66252. }
  66253. };
  66254. DebounceSubscriber.prototype._complete = function () {
  66255. this.emitValue();
  66256. this.destination.complete();
  66257. };
  66258. DebounceSubscriber.prototype._tryNext = function (value, duration) {
  66259. var subscription = this.durationSubscription;
  66260. this.value = value;
  66261. this.hasValue = true;
  66262. if (subscription) {
  66263. subscription.unsubscribe();
  66264. this.remove(subscription);
  66265. }
  66266. subscription = subscribeToResult_1.subscribeToResult(this, duration);
  66267. if (!subscription.closed) {
  66268. this.add(this.durationSubscription = subscription);
  66269. }
  66270. };
  66271. DebounceSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  66272. this.emitValue();
  66273. };
  66274. DebounceSubscriber.prototype.notifyComplete = function () {
  66275. this.emitValue();
  66276. };
  66277. DebounceSubscriber.prototype.emitValue = function () {
  66278. if (this.hasValue) {
  66279. var value = this.value;
  66280. var subscription = this.durationSubscription;
  66281. if (subscription) {
  66282. this.durationSubscription = null;
  66283. subscription.unsubscribe();
  66284. this.remove(subscription);
  66285. }
  66286. this.value = null;
  66287. this.hasValue = false;
  66288. _super.prototype._next.call(this, value);
  66289. }
  66290. };
  66291. return DebounceSubscriber;
  66292. }(OuterSubscriber_1.OuterSubscriber));
  66293. //# sourceMappingURL=debounce.js.map
  66294. /***/ },
  66295. /* 878 */
  66296. /***/ function(module, exports, __webpack_require__) {
  66297. "use strict";
  66298. "use strict";
  66299. var __extends = (this && this.__extends) || function (d, b) {
  66300. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  66301. function __() { this.constructor = d; }
  66302. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  66303. };
  66304. var Subscriber_1 = __webpack_require__(3);
  66305. var async_1 = __webpack_require__(33);
  66306. /**
  66307. * Emits a value from the source Observable only after a particular time span
  66308. * has passed without another source emission.
  66309. *
  66310. * <span class="informal">It's like {@link delay}, but passes only the most
  66311. * recent value from each burst of emissions.</span>
  66312. *
  66313. * <img src="./img/debounceTime.png" width="100%">
  66314. *
  66315. * `debounceTime` delays values emitted by the source Observable, but drops
  66316. * previous pending delayed emissions if a new value arrives on the source
  66317. * Observable. This operator keeps track of the most recent value from the
  66318. * source Observable, and emits that only when `dueTime` enough time has passed
  66319. * without any other value appearing on the source Observable. If a new value
  66320. * appears before `dueTime` silence occurs, the previous value will be dropped
  66321. * and will not be emitted on the output Observable.
  66322. *
  66323. * This is a rate-limiting operator, because it is impossible for more than one
  66324. * value to be emitted in any time window of duration `dueTime`, but it is also
  66325. * a delay-like operator since output emissions do not occur at the same time as
  66326. * they did on the source Observable. Optionally takes a {@link Scheduler} for
  66327. * managing timers.
  66328. *
  66329. * @example <caption>Emit the most recent click after a burst of clicks</caption>
  66330. * var clicks = Rx.Observable.fromEvent(document, 'click');
  66331. * var result = clicks.debounceTime(1000);
  66332. * result.subscribe(x => console.log(x));
  66333. *
  66334. * @see {@link auditTime}
  66335. * @see {@link debounce}
  66336. * @see {@link delay}
  66337. * @see {@link sampleTime}
  66338. * @see {@link throttleTime}
  66339. *
  66340. * @param {number} dueTime The timeout duration in milliseconds (or the time
  66341. * unit determined internally by the optional `scheduler`) for the window of
  66342. * time required to wait for emission silence before emitting the most recent
  66343. * source value.
  66344. * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for
  66345. * managing the timers that handle the timeout for each value.
  66346. * @return {Observable} An Observable that delays the emissions of the source
  66347. * Observable by the specified `dueTime`, and may drop some values if they occur
  66348. * too frequently.
  66349. * @method debounceTime
  66350. * @owner Observable
  66351. */
  66352. function debounceTime(dueTime, scheduler) {
  66353. if (scheduler === void 0) { scheduler = async_1.async; }
  66354. return this.lift(new DebounceTimeOperator(dueTime, scheduler));
  66355. }
  66356. exports.debounceTime = debounceTime;
  66357. var DebounceTimeOperator = (function () {
  66358. function DebounceTimeOperator(dueTime, scheduler) {
  66359. this.dueTime = dueTime;
  66360. this.scheduler = scheduler;
  66361. }
  66362. DebounceTimeOperator.prototype.call = function (subscriber, source) {
  66363. return source._subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));
  66364. };
  66365. return DebounceTimeOperator;
  66366. }());
  66367. /**
  66368. * We need this JSDoc comment for affecting ESDoc.
  66369. * @ignore
  66370. * @extends {Ignored}
  66371. */
  66372. var DebounceTimeSubscriber = (function (_super) {
  66373. __extends(DebounceTimeSubscriber, _super);
  66374. function DebounceTimeSubscriber(destination, dueTime, scheduler) {
  66375. _super.call(this, destination);
  66376. this.dueTime = dueTime;
  66377. this.scheduler = scheduler;
  66378. this.debouncedSubscription = null;
  66379. this.lastValue = null;
  66380. this.hasValue = false;
  66381. }
  66382. DebounceTimeSubscriber.prototype._next = function (value) {
  66383. this.clearDebounce();
  66384. this.lastValue = value;
  66385. this.hasValue = true;
  66386. this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));
  66387. };
  66388. DebounceTimeSubscriber.prototype._complete = function () {
  66389. this.debouncedNext();
  66390. this.destination.complete();
  66391. };
  66392. DebounceTimeSubscriber.prototype.debouncedNext = function () {
  66393. this.clearDebounce();
  66394. if (this.hasValue) {
  66395. this.destination.next(this.lastValue);
  66396. this.lastValue = null;
  66397. this.hasValue = false;
  66398. }
  66399. };
  66400. DebounceTimeSubscriber.prototype.clearDebounce = function () {
  66401. var debouncedSubscription = this.debouncedSubscription;
  66402. if (debouncedSubscription !== null) {
  66403. this.remove(debouncedSubscription);
  66404. debouncedSubscription.unsubscribe();
  66405. this.debouncedSubscription = null;
  66406. }
  66407. };
  66408. return DebounceTimeSubscriber;
  66409. }(Subscriber_1.Subscriber));
  66410. function dispatchNext(subscriber) {
  66411. subscriber.debouncedNext();
  66412. }
  66413. //# sourceMappingURL=debounceTime.js.map
  66414. /***/ },
  66415. /* 879 */
  66416. /***/ function(module, exports, __webpack_require__) {
  66417. "use strict";
  66418. "use strict";
  66419. var __extends = (this && this.__extends) || function (d, b) {
  66420. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  66421. function __() { this.constructor = d; }
  66422. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  66423. };
  66424. var Subscriber_1 = __webpack_require__(3);
  66425. /**
  66426. * Emits a given value if the source Observable completes without emitting any
  66427. * `next` value, otherwise mirrors the source Observable.
  66428. *
  66429. * <span class="informal">If the source Observable turns out to be empty, then
  66430. * this operator will emit a default value.</span>
  66431. *
  66432. * <img src="./img/defaultIfEmpty.png" width="100%">
  66433. *
  66434. * `defaultIfEmpty` emits the values emitted by the source Observable or a
  66435. * specified default value if the source Observable is empty (completes without
  66436. * having emitted any `next` value).
  66437. *
  66438. * @example <caption>If no clicks happen in 5 seconds, then emit "no clicks"</caption>
  66439. * var clicks = Rx.Observable.fromEvent(document, 'click');
  66440. * var clicksBeforeFive = clicks.takeUntil(Rx.Observable.interval(5000));
  66441. * var result = clicksBeforeFive.defaultIfEmpty('no clicks');
  66442. * result.subscribe(x => console.log(x));
  66443. *
  66444. * @see {@link empty}
  66445. * @see {@link last}
  66446. *
  66447. * @param {any} [defaultValue=null] The default value used if the source
  66448. * Observable is empty.
  66449. * @return {Observable} An Observable that emits either the specified
  66450. * `defaultValue` if the source Observable emits no items, or the values emitted
  66451. * by the source Observable.
  66452. * @method defaultIfEmpty
  66453. * @owner Observable
  66454. */
  66455. function defaultIfEmpty(defaultValue) {
  66456. if (defaultValue === void 0) { defaultValue = null; }
  66457. return this.lift(new DefaultIfEmptyOperator(defaultValue));
  66458. }
  66459. exports.defaultIfEmpty = defaultIfEmpty;
  66460. var DefaultIfEmptyOperator = (function () {
  66461. function DefaultIfEmptyOperator(defaultValue) {
  66462. this.defaultValue = defaultValue;
  66463. }
  66464. DefaultIfEmptyOperator.prototype.call = function (subscriber, source) {
  66465. return source._subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));
  66466. };
  66467. return DefaultIfEmptyOperator;
  66468. }());
  66469. /**
  66470. * We need this JSDoc comment for affecting ESDoc.
  66471. * @ignore
  66472. * @extends {Ignored}
  66473. */
  66474. var DefaultIfEmptySubscriber = (function (_super) {
  66475. __extends(DefaultIfEmptySubscriber, _super);
  66476. function DefaultIfEmptySubscriber(destination, defaultValue) {
  66477. _super.call(this, destination);
  66478. this.defaultValue = defaultValue;
  66479. this.isEmpty = true;
  66480. }
  66481. DefaultIfEmptySubscriber.prototype._next = function (value) {
  66482. this.isEmpty = false;
  66483. this.destination.next(value);
  66484. };
  66485. DefaultIfEmptySubscriber.prototype._complete = function () {
  66486. if (this.isEmpty) {
  66487. this.destination.next(this.defaultValue);
  66488. }
  66489. this.destination.complete();
  66490. };
  66491. return DefaultIfEmptySubscriber;
  66492. }(Subscriber_1.Subscriber));
  66493. //# sourceMappingURL=defaultIfEmpty.js.map
  66494. /***/ },
  66495. /* 880 */
  66496. /***/ function(module, exports, __webpack_require__) {
  66497. "use strict";
  66498. "use strict";
  66499. var __extends = (this && this.__extends) || function (d, b) {
  66500. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  66501. function __() { this.constructor = d; }
  66502. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  66503. };
  66504. var async_1 = __webpack_require__(33);
  66505. var isDate_1 = __webpack_require__(176);
  66506. var Subscriber_1 = __webpack_require__(3);
  66507. var Notification_1 = __webpack_require__(120);
  66508. /**
  66509. * Delays the emission of items from the source Observable by a given timeout or
  66510. * until a given Date.
  66511. *
  66512. * <span class="informal">Time shifts each item by some specified amount of
  66513. * milliseconds.</span>
  66514. *
  66515. * <img src="./img/delay.png" width="100%">
  66516. *
  66517. * If the delay argument is a Number, this operator time shifts the source
  66518. * Observable by that amount of time expressed in milliseconds. The relative
  66519. * time intervals between the values are preserved.
  66520. *
  66521. * If the delay argument is a Date, this operator time shifts the start of the
  66522. * Observable execution until the given date occurs.
  66523. *
  66524. * @example <caption>Delay each click by one second</caption>
  66525. * var clicks = Rx.Observable.fromEvent(document, 'click');
  66526. * var delayedClicks = clicks.delay(1000); // each click emitted after 1 second
  66527. * delayedClicks.subscribe(x => console.log(x));
  66528. *
  66529. * @example <caption>Delay all clicks until a future date happens</caption>
  66530. * var clicks = Rx.Observable.fromEvent(document, 'click');
  66531. * var date = new Date('March 15, 2050 12:00:00'); // in the future
  66532. * var delayedClicks = clicks.delay(date); // click emitted only after that date
  66533. * delayedClicks.subscribe(x => console.log(x));
  66534. *
  66535. * @see {@link debounceTime}
  66536. * @see {@link delayWhen}
  66537. *
  66538. * @param {number|Date} delay The delay duration in milliseconds (a `number`) or
  66539. * a `Date` until which the emission of the source items is delayed.
  66540. * @param {Scheduler} [scheduler=async] The Scheduler to use for
  66541. * managing the timers that handle the time-shift for each item.
  66542. * @return {Observable} An Observable that delays the emissions of the source
  66543. * Observable by the specified timeout or Date.
  66544. * @method delay
  66545. * @owner Observable
  66546. */
  66547. function delay(delay, scheduler) {
  66548. if (scheduler === void 0) { scheduler = async_1.async; }
  66549. var absoluteDelay = isDate_1.isDate(delay);
  66550. var delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);
  66551. return this.lift(new DelayOperator(delayFor, scheduler));
  66552. }
  66553. exports.delay = delay;
  66554. var DelayOperator = (function () {
  66555. function DelayOperator(delay, scheduler) {
  66556. this.delay = delay;
  66557. this.scheduler = scheduler;
  66558. }
  66559. DelayOperator.prototype.call = function (subscriber, source) {
  66560. return source._subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));
  66561. };
  66562. return DelayOperator;
  66563. }());
  66564. /**
  66565. * We need this JSDoc comment for affecting ESDoc.
  66566. * @ignore
  66567. * @extends {Ignored}
  66568. */
  66569. var DelaySubscriber = (function (_super) {
  66570. __extends(DelaySubscriber, _super);
  66571. function DelaySubscriber(destination, delay, scheduler) {
  66572. _super.call(this, destination);
  66573. this.delay = delay;
  66574. this.scheduler = scheduler;
  66575. this.queue = [];
  66576. this.active = false;
  66577. this.errored = false;
  66578. }
  66579. DelaySubscriber.dispatch = function (state) {
  66580. var source = state.source;
  66581. var queue = source.queue;
  66582. var scheduler = state.scheduler;
  66583. var destination = state.destination;
  66584. while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {
  66585. queue.shift().notification.observe(destination);
  66586. }
  66587. if (queue.length > 0) {
  66588. var delay_1 = Math.max(0, queue[0].time - scheduler.now());
  66589. this.schedule(state, delay_1);
  66590. }
  66591. else {
  66592. source.active = false;
  66593. }
  66594. };
  66595. DelaySubscriber.prototype._schedule = function (scheduler) {
  66596. this.active = true;
  66597. this.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {
  66598. source: this, destination: this.destination, scheduler: scheduler
  66599. }));
  66600. };
  66601. DelaySubscriber.prototype.scheduleNotification = function (notification) {
  66602. if (this.errored === true) {
  66603. return;
  66604. }
  66605. var scheduler = this.scheduler;
  66606. var message = new DelayMessage(scheduler.now() + this.delay, notification);
  66607. this.queue.push(message);
  66608. if (this.active === false) {
  66609. this._schedule(scheduler);
  66610. }
  66611. };
  66612. DelaySubscriber.prototype._next = function (value) {
  66613. this.scheduleNotification(Notification_1.Notification.createNext(value));
  66614. };
  66615. DelaySubscriber.prototype._error = function (err) {
  66616. this.errored = true;
  66617. this.queue = [];
  66618. this.destination.error(err);
  66619. };
  66620. DelaySubscriber.prototype._complete = function () {
  66621. this.scheduleNotification(Notification_1.Notification.createComplete());
  66622. };
  66623. return DelaySubscriber;
  66624. }(Subscriber_1.Subscriber));
  66625. var DelayMessage = (function () {
  66626. function DelayMessage(time, notification) {
  66627. this.time = time;
  66628. this.notification = notification;
  66629. }
  66630. return DelayMessage;
  66631. }());
  66632. //# sourceMappingURL=delay.js.map
  66633. /***/ },
  66634. /* 881 */
  66635. /***/ function(module, exports, __webpack_require__) {
  66636. "use strict";
  66637. "use strict";
  66638. var __extends = (this && this.__extends) || function (d, b) {
  66639. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  66640. function __() { this.constructor = d; }
  66641. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  66642. };
  66643. var Subscriber_1 = __webpack_require__(3);
  66644. var Observable_1 = __webpack_require__(0);
  66645. var OuterSubscriber_1 = __webpack_require__(6);
  66646. var subscribeToResult_1 = __webpack_require__(7);
  66647. /**
  66648. * Delays the emission of items from the source Observable by a given time span
  66649. * determined by the emissions of another Observable.
  66650. *
  66651. * <span class="informal">It's like {@link delay}, but the time span of the
  66652. * delay duration is determined by a second Observable.</span>
  66653. *
  66654. * <img src="./img/delayWhen.png" width="100%">
  66655. *
  66656. * `delayWhen` time shifts each emitted value from the source Observable by a
  66657. * time span determined by another Observable. When the source emits a value,
  66658. * the `delayDurationSelector` function is called with the source value as
  66659. * argument, and should return an Observable, called the "duration" Observable.
  66660. * The source value is emitted on the output Observable only when the duration
  66661. * Observable emits a value or completes.
  66662. *
  66663. * Optionally, `delayWhen` takes a second argument, `subscriptionDelay`, which
  66664. * is an Observable. When `subscriptionDelay` emits its first value or
  66665. * completes, the source Observable is subscribed to and starts behaving like
  66666. * described in the previous paragraph. If `subscriptionDelay` is not provided,
  66667. * `delayWhen` will subscribe to the source Observable as soon as the output
  66668. * Observable is subscribed.
  66669. *
  66670. * @example <caption>Delay each click by a random amount of time, between 0 and 5 seconds</caption>
  66671. * var clicks = Rx.Observable.fromEvent(document, 'click');
  66672. * var delayedClicks = clicks.delayWhen(event =>
  66673. * Rx.Observable.interval(Math.random() * 5000)
  66674. * );
  66675. * delayedClicks.subscribe(x => console.log(x));
  66676. *
  66677. * @see {@link debounce}
  66678. * @see {@link delay}
  66679. *
  66680. * @param {function(value: T): Observable} delayDurationSelector A function that
  66681. * returns an Observable for each value emitted by the source Observable, which
  66682. * is then used to delay the emission of that item on the output Observable
  66683. * until the Observable returned from this function emits a value.
  66684. * @param {Observable} subscriptionDelay An Observable that triggers the
  66685. * subscription to the source Observable once it emits any value.
  66686. * @return {Observable} An Observable that delays the emissions of the source
  66687. * Observable by an amount of time specified by the Observable returned by
  66688. * `delayDurationSelector`.
  66689. * @method delayWhen
  66690. * @owner Observable
  66691. */
  66692. function delayWhen(delayDurationSelector, subscriptionDelay) {
  66693. if (subscriptionDelay) {
  66694. return new SubscriptionDelayObservable(this, subscriptionDelay)
  66695. .lift(new DelayWhenOperator(delayDurationSelector));
  66696. }
  66697. return this.lift(new DelayWhenOperator(delayDurationSelector));
  66698. }
  66699. exports.delayWhen = delayWhen;
  66700. var DelayWhenOperator = (function () {
  66701. function DelayWhenOperator(delayDurationSelector) {
  66702. this.delayDurationSelector = delayDurationSelector;
  66703. }
  66704. DelayWhenOperator.prototype.call = function (subscriber, source) {
  66705. return source._subscribe(new DelayWhenSubscriber(subscriber, this.delayDurationSelector));
  66706. };
  66707. return DelayWhenOperator;
  66708. }());
  66709. /**
  66710. * We need this JSDoc comment for affecting ESDoc.
  66711. * @ignore
  66712. * @extends {Ignored}
  66713. */
  66714. var DelayWhenSubscriber = (function (_super) {
  66715. __extends(DelayWhenSubscriber, _super);
  66716. function DelayWhenSubscriber(destination, delayDurationSelector) {
  66717. _super.call(this, destination);
  66718. this.delayDurationSelector = delayDurationSelector;
  66719. this.completed = false;
  66720. this.delayNotifierSubscriptions = [];
  66721. this.values = [];
  66722. }
  66723. DelayWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  66724. this.destination.next(outerValue);
  66725. this.removeSubscription(innerSub);
  66726. this.tryComplete();
  66727. };
  66728. DelayWhenSubscriber.prototype.notifyError = function (error, innerSub) {
  66729. this._error(error);
  66730. };
  66731. DelayWhenSubscriber.prototype.notifyComplete = function (innerSub) {
  66732. var value = this.removeSubscription(innerSub);
  66733. if (value) {
  66734. this.destination.next(value);
  66735. }
  66736. this.tryComplete();
  66737. };
  66738. DelayWhenSubscriber.prototype._next = function (value) {
  66739. try {
  66740. var delayNotifier = this.delayDurationSelector(value);
  66741. if (delayNotifier) {
  66742. this.tryDelay(delayNotifier, value);
  66743. }
  66744. }
  66745. catch (err) {
  66746. this.destination.error(err);
  66747. }
  66748. };
  66749. DelayWhenSubscriber.prototype._complete = function () {
  66750. this.completed = true;
  66751. this.tryComplete();
  66752. };
  66753. DelayWhenSubscriber.prototype.removeSubscription = function (subscription) {
  66754. subscription.unsubscribe();
  66755. var subscriptionIdx = this.delayNotifierSubscriptions.indexOf(subscription);
  66756. var value = null;
  66757. if (subscriptionIdx !== -1) {
  66758. value = this.values[subscriptionIdx];
  66759. this.delayNotifierSubscriptions.splice(subscriptionIdx, 1);
  66760. this.values.splice(subscriptionIdx, 1);
  66761. }
  66762. return value;
  66763. };
  66764. DelayWhenSubscriber.prototype.tryDelay = function (delayNotifier, value) {
  66765. var notifierSubscription = subscribeToResult_1.subscribeToResult(this, delayNotifier, value);
  66766. this.add(notifierSubscription);
  66767. this.delayNotifierSubscriptions.push(notifierSubscription);
  66768. this.values.push(value);
  66769. };
  66770. DelayWhenSubscriber.prototype.tryComplete = function () {
  66771. if (this.completed && this.delayNotifierSubscriptions.length === 0) {
  66772. this.destination.complete();
  66773. }
  66774. };
  66775. return DelayWhenSubscriber;
  66776. }(OuterSubscriber_1.OuterSubscriber));
  66777. /**
  66778. * We need this JSDoc comment for affecting ESDoc.
  66779. * @ignore
  66780. * @extends {Ignored}
  66781. */
  66782. var SubscriptionDelayObservable = (function (_super) {
  66783. __extends(SubscriptionDelayObservable, _super);
  66784. function SubscriptionDelayObservable(source, subscriptionDelay) {
  66785. _super.call(this);
  66786. this.source = source;
  66787. this.subscriptionDelay = subscriptionDelay;
  66788. }
  66789. SubscriptionDelayObservable.prototype._subscribe = function (subscriber) {
  66790. this.subscriptionDelay.subscribe(new SubscriptionDelaySubscriber(subscriber, this.source));
  66791. };
  66792. return SubscriptionDelayObservable;
  66793. }(Observable_1.Observable));
  66794. /**
  66795. * We need this JSDoc comment for affecting ESDoc.
  66796. * @ignore
  66797. * @extends {Ignored}
  66798. */
  66799. var SubscriptionDelaySubscriber = (function (_super) {
  66800. __extends(SubscriptionDelaySubscriber, _super);
  66801. function SubscriptionDelaySubscriber(parent, source) {
  66802. _super.call(this);
  66803. this.parent = parent;
  66804. this.source = source;
  66805. this.sourceSubscribed = false;
  66806. }
  66807. SubscriptionDelaySubscriber.prototype._next = function (unused) {
  66808. this.subscribeToSource();
  66809. };
  66810. SubscriptionDelaySubscriber.prototype._error = function (err) {
  66811. this.unsubscribe();
  66812. this.parent.error(err);
  66813. };
  66814. SubscriptionDelaySubscriber.prototype._complete = function () {
  66815. this.subscribeToSource();
  66816. };
  66817. SubscriptionDelaySubscriber.prototype.subscribeToSource = function () {
  66818. if (!this.sourceSubscribed) {
  66819. this.sourceSubscribed = true;
  66820. this.unsubscribe();
  66821. this.source.subscribe(this.parent);
  66822. }
  66823. };
  66824. return SubscriptionDelaySubscriber;
  66825. }(Subscriber_1.Subscriber));
  66826. //# sourceMappingURL=delayWhen.js.map
  66827. /***/ },
  66828. /* 882 */
  66829. /***/ function(module, exports, __webpack_require__) {
  66830. "use strict";
  66831. "use strict";
  66832. var __extends = (this && this.__extends) || function (d, b) {
  66833. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  66834. function __() { this.constructor = d; }
  66835. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  66836. };
  66837. var Subscriber_1 = __webpack_require__(3);
  66838. /**
  66839. * Converts an Observable of {@link Notification} objects into the emissions
  66840. * that they represent.
  66841. *
  66842. * <span class="informal">Unwraps {@link Notification} objects as actual `next`,
  66843. * `error` and `complete` emissions. The opposite of {@link materialize}.</span>
  66844. *
  66845. * <img src="./img/dematerialize.png" width="100%">
  66846. *
  66847. * `dematerialize` is assumed to operate an Observable that only emits
  66848. * {@link Notification} objects as `next` emissions, and does not emit any
  66849. * `error`. Such Observable is the output of a `materialize` operation. Those
  66850. * notifications are then unwrapped using the metadata they contain, and emitted
  66851. * as `next`, `error`, and `complete` on the output Observable.
  66852. *
  66853. * Use this operator in conjunction with {@link materialize}.
  66854. *
  66855. * @example <caption>Convert an Observable of Notifications to an actual Observable</caption>
  66856. * var notifA = new Rx.Notification('N', 'A');
  66857. * var notifB = new Rx.Notification('N', 'B');
  66858. * var notifE = new Rx.Notification('E', void 0,
  66859. * new TypeError('x.toUpperCase is not a function')
  66860. * );
  66861. * var materialized = Rx.Observable.of(notifA, notifB, notifE);
  66862. * var upperCase = materialized.dematerialize();
  66863. * upperCase.subscribe(x => console.log(x), e => console.error(e));
  66864. *
  66865. * @see {@link Notification}
  66866. * @see {@link materialize}
  66867. *
  66868. * @return {Observable} An Observable that emits items and notifications
  66869. * embedded in Notification objects emitted by the source Observable.
  66870. * @method dematerialize
  66871. * @owner Observable
  66872. */
  66873. function dematerialize() {
  66874. return this.lift(new DeMaterializeOperator());
  66875. }
  66876. exports.dematerialize = dematerialize;
  66877. var DeMaterializeOperator = (function () {
  66878. function DeMaterializeOperator() {
  66879. }
  66880. DeMaterializeOperator.prototype.call = function (subscriber, source) {
  66881. return source._subscribe(new DeMaterializeSubscriber(subscriber));
  66882. };
  66883. return DeMaterializeOperator;
  66884. }());
  66885. /**
  66886. * We need this JSDoc comment for affecting ESDoc.
  66887. * @ignore
  66888. * @extends {Ignored}
  66889. */
  66890. var DeMaterializeSubscriber = (function (_super) {
  66891. __extends(DeMaterializeSubscriber, _super);
  66892. function DeMaterializeSubscriber(destination) {
  66893. _super.call(this, destination);
  66894. }
  66895. DeMaterializeSubscriber.prototype._next = function (value) {
  66896. value.observe(this.destination);
  66897. };
  66898. return DeMaterializeSubscriber;
  66899. }(Subscriber_1.Subscriber));
  66900. //# sourceMappingURL=dematerialize.js.map
  66901. /***/ },
  66902. /* 883 */
  66903. /***/ function(module, exports, __webpack_require__) {
  66904. "use strict";
  66905. "use strict";
  66906. var distinct_1 = __webpack_require__(398);
  66907. /**
  66908. * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from previous items,
  66909. * using a property accessed by using the key provided to check if the two items are distinct.
  66910. * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.
  66911. * If a comparator function is not provided, an equality check is used by default.
  66912. * As the internal HashSet of this operator grows larger and larger, care should be taken in the domain of inputs this operator may see.
  66913. * An optional parameter is also provided such that an Observable can be provided to queue the internal HashSet to flush the values it holds.
  66914. * @param {string} key string key for object property lookup on each item.
  66915. * @param {function} [compare] optional comparison function called to test if an item is distinct from previous items in the source.
  66916. * @param {Observable} [flushes] optional Observable for flushing the internal HashSet of the operator.
  66917. * @return {Observable} an Observable that emits items from the source Observable with distinct values.
  66918. * @method distinctKey
  66919. * @owner Observable
  66920. */
  66921. function distinctKey(key, compare, flushes) {
  66922. return distinct_1.distinct.call(this, function (x, y) {
  66923. if (compare) {
  66924. return compare(x[key], y[key]);
  66925. }
  66926. return x[key] === y[key];
  66927. }, flushes);
  66928. }
  66929. exports.distinctKey = distinctKey;
  66930. //# sourceMappingURL=distinctKey.js.map
  66931. /***/ },
  66932. /* 884 */
  66933. /***/ function(module, exports, __webpack_require__) {
  66934. "use strict";
  66935. "use strict";
  66936. var distinctUntilChanged_1 = __webpack_require__(399);
  66937. /**
  66938. * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item,
  66939. * using a property accessed by using the key provided to check if the two items are distinct.
  66940. * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.
  66941. * If a comparator function is not provided, an equality check is used by default.
  66942. * @param {string} key string key for object property lookup on each item.
  66943. * @param {function} [compare] optional comparison function called to test if an item is distinct from the previous item in the source.
  66944. * @return {Observable} an Observable that emits items from the source Observable with distinct values based on the key specified.
  66945. * @method distinctUntilKeyChanged
  66946. * @owner Observable
  66947. */
  66948. function distinctUntilKeyChanged(key, compare) {
  66949. return distinctUntilChanged_1.distinctUntilChanged.call(this, function (x, y) {
  66950. if (compare) {
  66951. return compare(x[key], y[key]);
  66952. }
  66953. return x[key] === y[key];
  66954. });
  66955. }
  66956. exports.distinctUntilKeyChanged = distinctUntilKeyChanged;
  66957. //# sourceMappingURL=distinctUntilKeyChanged.js.map
  66958. /***/ },
  66959. /* 885 */
  66960. /***/ function(module, exports, __webpack_require__) {
  66961. "use strict";
  66962. "use strict";
  66963. var __extends = (this && this.__extends) || function (d, b) {
  66964. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  66965. function __() { this.constructor = d; }
  66966. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  66967. };
  66968. var Subscriber_1 = __webpack_require__(3);
  66969. /**
  66970. * Perform a side effect for every emission on the source Observable, but return
  66971. * an Observable that is identical to the source.
  66972. *
  66973. * <span class="informal">Intercepts each emission on the source and runs a
  66974. * function, but returns an output which is identical to the source.</span>
  66975. *
  66976. * <img src="./img/do.png" width="100%">
  66977. *
  66978. * Returns a mirrored Observable of the source Observable, but modified so that
  66979. * the provided Observer is called to perform a side effect for every value,
  66980. * error, and completion emitted by the source. Any errors that are thrown in
  66981. * the aforementioned Observer or handlers are safely sent down the error path
  66982. * of the output Observable.
  66983. *
  66984. * This operator is useful for debugging your Observables for the correct values
  66985. * or performing other side effects.
  66986. *
  66987. * Note: this is different to a `subscribe` on the Observable. If the Observable
  66988. * returned by `do` is not subscribed, the side effects specified by the
  66989. * Observer will never happen. `do` therefore simply spies on existing
  66990. * execution, it does not trigger an execution to happen like `subscribe` does.
  66991. *
  66992. * @example <caption>Map every every click to the clientX position of that click, while also logging the click event</caption>
  66993. * var clicks = Rx.Observable.fromEvent(document, 'click');
  66994. * var positions = clicks
  66995. * .do(ev => console.log(ev))
  66996. * .map(ev => ev.clientX);
  66997. * positions.subscribe(x => console.log(x));
  66998. *
  66999. * @see {@link map}
  67000. * @see {@link subscribe}
  67001. *
  67002. * @param {Observer|function} [nextOrObserver] A normal Observer object or a
  67003. * callback for `next`.
  67004. * @param {function} [error] Callback for errors in the source.
  67005. * @param {function} [complete] Callback for the completion of the source.
  67006. * @return {Observable} An Observable identical to the source, but runs the
  67007. * specified Observer or callback(s) for each item.
  67008. * @method do
  67009. * @name do
  67010. * @owner Observable
  67011. */
  67012. function _do(nextOrObserver, error, complete) {
  67013. return this.lift(new DoOperator(nextOrObserver, error, complete));
  67014. }
  67015. exports._do = _do;
  67016. var DoOperator = (function () {
  67017. function DoOperator(nextOrObserver, error, complete) {
  67018. this.nextOrObserver = nextOrObserver;
  67019. this.error = error;
  67020. this.complete = complete;
  67021. }
  67022. DoOperator.prototype.call = function (subscriber, source) {
  67023. return source._subscribe(new DoSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));
  67024. };
  67025. return DoOperator;
  67026. }());
  67027. /**
  67028. * We need this JSDoc comment for affecting ESDoc.
  67029. * @ignore
  67030. * @extends {Ignored}
  67031. */
  67032. var DoSubscriber = (function (_super) {
  67033. __extends(DoSubscriber, _super);
  67034. function DoSubscriber(destination, nextOrObserver, error, complete) {
  67035. _super.call(this, destination);
  67036. var safeSubscriber = new Subscriber_1.Subscriber(nextOrObserver, error, complete);
  67037. safeSubscriber.syncErrorThrowable = true;
  67038. this.add(safeSubscriber);
  67039. this.safeSubscriber = safeSubscriber;
  67040. }
  67041. DoSubscriber.prototype._next = function (value) {
  67042. var safeSubscriber = this.safeSubscriber;
  67043. safeSubscriber.next(value);
  67044. if (safeSubscriber.syncErrorThrown) {
  67045. this.destination.error(safeSubscriber.syncErrorValue);
  67046. }
  67047. else {
  67048. this.destination.next(value);
  67049. }
  67050. };
  67051. DoSubscriber.prototype._error = function (err) {
  67052. var safeSubscriber = this.safeSubscriber;
  67053. safeSubscriber.error(err);
  67054. if (safeSubscriber.syncErrorThrown) {
  67055. this.destination.error(safeSubscriber.syncErrorValue);
  67056. }
  67057. else {
  67058. this.destination.error(err);
  67059. }
  67060. };
  67061. DoSubscriber.prototype._complete = function () {
  67062. var safeSubscriber = this.safeSubscriber;
  67063. safeSubscriber.complete();
  67064. if (safeSubscriber.syncErrorThrown) {
  67065. this.destination.error(safeSubscriber.syncErrorValue);
  67066. }
  67067. else {
  67068. this.destination.complete();
  67069. }
  67070. };
  67071. return DoSubscriber;
  67072. }(Subscriber_1.Subscriber));
  67073. //# sourceMappingURL=do.js.map
  67074. /***/ },
  67075. /* 886 */
  67076. /***/ function(module, exports, __webpack_require__) {
  67077. "use strict";
  67078. "use strict";
  67079. var __extends = (this && this.__extends) || function (d, b) {
  67080. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  67081. function __() { this.constructor = d; }
  67082. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  67083. };
  67084. var Subscriber_1 = __webpack_require__(3);
  67085. var ArgumentOutOfRangeError_1 = __webpack_require__(175);
  67086. /**
  67087. * Emits the single value at the specified `index` in a sequence of emissions
  67088. * from the source Observable.
  67089. *
  67090. * <span class="informal">Emits only the i-th value, then completes.</span>
  67091. *
  67092. * <img src="./img/elementAt.png" width="100%">
  67093. *
  67094. * `elementAt` returns an Observable that emits the item at the specified
  67095. * `index` in the source Observable, or a default value if that `index` is out
  67096. * of range and the `default` argument is provided. If the `default` argument is
  67097. * not given and the `index` is out of range, the output Observable will emit an
  67098. * `ArgumentOutOfRangeError` error.
  67099. *
  67100. * @example <caption>Emit only the third click event</caption>
  67101. * var clicks = Rx.Observable.fromEvent(document, 'click');
  67102. * var result = clicks.elementAt(2);
  67103. * result.subscribe(x => console.log(x));
  67104. *
  67105. * @see {@link first}
  67106. * @see {@link last}
  67107. * @see {@link skip}
  67108. * @see {@link single}
  67109. * @see {@link take}
  67110. *
  67111. * @throws {ArgumentOutOfRangeError} When using `elementAt(i)`, it delivers an
  67112. * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0` or the
  67113. * Observable has completed before emitting the i-th `next` notification.
  67114. *
  67115. * @param {number} index Is the number `i` for the i-th source emission that has
  67116. * happened since the subscription, starting from the number `0`.
  67117. * @param {T} [defaultValue] The default value returned for missing indices.
  67118. * @return {Observable} An Observable that emits a single item, if it is found.
  67119. * Otherwise, will emit the default value if given. If not, then emits an error.
  67120. * @method elementAt
  67121. * @owner Observable
  67122. */
  67123. function elementAt(index, defaultValue) {
  67124. return this.lift(new ElementAtOperator(index, defaultValue));
  67125. }
  67126. exports.elementAt = elementAt;
  67127. var ElementAtOperator = (function () {
  67128. function ElementAtOperator(index, defaultValue) {
  67129. this.index = index;
  67130. this.defaultValue = defaultValue;
  67131. if (index < 0) {
  67132. throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;
  67133. }
  67134. }
  67135. ElementAtOperator.prototype.call = function (subscriber, source) {
  67136. return source._subscribe(new ElementAtSubscriber(subscriber, this.index, this.defaultValue));
  67137. };
  67138. return ElementAtOperator;
  67139. }());
  67140. /**
  67141. * We need this JSDoc comment for affecting ESDoc.
  67142. * @ignore
  67143. * @extends {Ignored}
  67144. */
  67145. var ElementAtSubscriber = (function (_super) {
  67146. __extends(ElementAtSubscriber, _super);
  67147. function ElementAtSubscriber(destination, index, defaultValue) {
  67148. _super.call(this, destination);
  67149. this.index = index;
  67150. this.defaultValue = defaultValue;
  67151. }
  67152. ElementAtSubscriber.prototype._next = function (x) {
  67153. if (this.index-- === 0) {
  67154. this.destination.next(x);
  67155. this.destination.complete();
  67156. }
  67157. };
  67158. ElementAtSubscriber.prototype._complete = function () {
  67159. var destination = this.destination;
  67160. if (this.index >= 0) {
  67161. if (typeof this.defaultValue !== 'undefined') {
  67162. destination.next(this.defaultValue);
  67163. }
  67164. else {
  67165. destination.error(new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError);
  67166. }
  67167. }
  67168. destination.complete();
  67169. };
  67170. return ElementAtSubscriber;
  67171. }(Subscriber_1.Subscriber));
  67172. //# sourceMappingURL=elementAt.js.map
  67173. /***/ },
  67174. /* 887 */
  67175. /***/ function(module, exports, __webpack_require__) {
  67176. "use strict";
  67177. "use strict";
  67178. var __extends = (this && this.__extends) || function (d, b) {
  67179. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  67180. function __() { this.constructor = d; }
  67181. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  67182. };
  67183. var OuterSubscriber_1 = __webpack_require__(6);
  67184. var subscribeToResult_1 = __webpack_require__(7);
  67185. /**
  67186. * Converts a higher-order Observable into a first-order Observable by dropping
  67187. * inner Observables while the previous inner Observable has not yet completed.
  67188. *
  67189. * <span class="informal">Flattens an Observable-of-Observables by dropping the
  67190. * next inner Observables while the current inner is still executing.</span>
  67191. *
  67192. * <img src="./img/exhaust.png" width="100%">
  67193. *
  67194. * `exhaust` subscribes to an Observable that emits Observables, also known as a
  67195. * higher-order Observable. Each time it observes one of these emitted inner
  67196. * Observables, the output Observable begins emitting the items emitted by that
  67197. * inner Observable. So far, it behaves like {@link mergeAll}. However,
  67198. * `exhaust` ignores every new inner Observable if the previous Observable has
  67199. * not yet completed. Once that one completes, it will accept and flatten the
  67200. * next inner Observable and repeat this process.
  67201. *
  67202. * @example <caption>Run a finite timer for each click, only if there is no currently active timer</caption>
  67203. * var clicks = Rx.Observable.fromEvent(document, 'click');
  67204. * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));
  67205. * var result = higherOrder.exhaust();
  67206. * result.subscribe(x => console.log(x));
  67207. *
  67208. * @see {@link combineAll}
  67209. * @see {@link concatAll}
  67210. * @see {@link switch}
  67211. * @see {@link mergeAll}
  67212. * @see {@link exhaustMap}
  67213. * @see {@link zipAll}
  67214. *
  67215. * @return {Observable} Returns an Observable that takes a source of Observables
  67216. * and propagates the first observable exclusively until it completes before
  67217. * subscribing to the next.
  67218. * @method exhaust
  67219. * @owner Observable
  67220. */
  67221. function exhaust() {
  67222. return this.lift(new SwitchFirstOperator());
  67223. }
  67224. exports.exhaust = exhaust;
  67225. var SwitchFirstOperator = (function () {
  67226. function SwitchFirstOperator() {
  67227. }
  67228. SwitchFirstOperator.prototype.call = function (subscriber, source) {
  67229. return source._subscribe(new SwitchFirstSubscriber(subscriber));
  67230. };
  67231. return SwitchFirstOperator;
  67232. }());
  67233. /**
  67234. * We need this JSDoc comment for affecting ESDoc.
  67235. * @ignore
  67236. * @extends {Ignored}
  67237. */
  67238. var SwitchFirstSubscriber = (function (_super) {
  67239. __extends(SwitchFirstSubscriber, _super);
  67240. function SwitchFirstSubscriber(destination) {
  67241. _super.call(this, destination);
  67242. this.hasCompleted = false;
  67243. this.hasSubscription = false;
  67244. }
  67245. SwitchFirstSubscriber.prototype._next = function (value) {
  67246. if (!this.hasSubscription) {
  67247. this.hasSubscription = true;
  67248. this.add(subscribeToResult_1.subscribeToResult(this, value));
  67249. }
  67250. };
  67251. SwitchFirstSubscriber.prototype._complete = function () {
  67252. this.hasCompleted = true;
  67253. if (!this.hasSubscription) {
  67254. this.destination.complete();
  67255. }
  67256. };
  67257. SwitchFirstSubscriber.prototype.notifyComplete = function (innerSub) {
  67258. this.remove(innerSub);
  67259. this.hasSubscription = false;
  67260. if (this.hasCompleted) {
  67261. this.destination.complete();
  67262. }
  67263. };
  67264. return SwitchFirstSubscriber;
  67265. }(OuterSubscriber_1.OuterSubscriber));
  67266. //# sourceMappingURL=exhaust.js.map
  67267. /***/ },
  67268. /* 888 */
  67269. /***/ function(module, exports, __webpack_require__) {
  67270. "use strict";
  67271. "use strict";
  67272. var __extends = (this && this.__extends) || function (d, b) {
  67273. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  67274. function __() { this.constructor = d; }
  67275. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  67276. };
  67277. var OuterSubscriber_1 = __webpack_require__(6);
  67278. var subscribeToResult_1 = __webpack_require__(7);
  67279. /**
  67280. * Projects each source value to an Observable which is merged in the output
  67281. * Observable only if the previous projected Observable has completed.
  67282. *
  67283. * <span class="informal">Maps each value to an Observable, then flattens all of
  67284. * these inner Observables using {@link exhaust}.</span>
  67285. *
  67286. * <img src="./img/exhaustMap.png" width="100%">
  67287. *
  67288. * Returns an Observable that emits items based on applying a function that you
  67289. * supply to each item emitted by the source Observable, where that function
  67290. * returns an (so-called "inner") Observable. When it projects a source value to
  67291. * an Observable, the output Observable begins emitting the items emitted by
  67292. * that projected Observable. However, `exhaustMap` ignores every new projected
  67293. * Observable if the previous projected Observable has not yet completed. Once
  67294. * that one completes, it will accept and flatten the next projected Observable
  67295. * and repeat this process.
  67296. *
  67297. * @example <caption>Run a finite timer for each click, only if there is no currently active timer</caption>
  67298. * var clicks = Rx.Observable.fromEvent(document, 'click');
  67299. * var result = clicks.exhaustMap((ev) => Rx.Observable.interval(1000));
  67300. * result.subscribe(x => console.log(x));
  67301. *
  67302. * @see {@link concatMap}
  67303. * @see {@link exhaust}
  67304. * @see {@link mergeMap}
  67305. * @see {@link switchMap}
  67306. *
  67307. * @param {function(value: T, ?index: number): Observable} project A function
  67308. * that, when applied to an item emitted by the source Observable, returns an
  67309. * Observable.
  67310. * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]
  67311. * A function to produce the value on the output Observable based on the values
  67312. * and the indices of the source (outer) emission and the inner Observable
  67313. * emission. The arguments passed to this function are:
  67314. * - `outerValue`: the value that came from the source
  67315. * - `innerValue`: the value that came from the projected Observable
  67316. * - `outerIndex`: the "index" of the value that came from the source
  67317. * - `innerIndex`: the "index" of the value from the projected Observable
  67318. * @return {Observable} An Observable containing projected Observables
  67319. * of each item of the source, ignoring projected Observables that start before
  67320. * their preceding Observable has completed.
  67321. * @method exhaustMap
  67322. * @owner Observable
  67323. */
  67324. function exhaustMap(project, resultSelector) {
  67325. return this.lift(new SwitchFirstMapOperator(project, resultSelector));
  67326. }
  67327. exports.exhaustMap = exhaustMap;
  67328. var SwitchFirstMapOperator = (function () {
  67329. function SwitchFirstMapOperator(project, resultSelector) {
  67330. this.project = project;
  67331. this.resultSelector = resultSelector;
  67332. }
  67333. SwitchFirstMapOperator.prototype.call = function (subscriber, source) {
  67334. return source._subscribe(new SwitchFirstMapSubscriber(subscriber, this.project, this.resultSelector));
  67335. };
  67336. return SwitchFirstMapOperator;
  67337. }());
  67338. /**
  67339. * We need this JSDoc comment for affecting ESDoc.
  67340. * @ignore
  67341. * @extends {Ignored}
  67342. */
  67343. var SwitchFirstMapSubscriber = (function (_super) {
  67344. __extends(SwitchFirstMapSubscriber, _super);
  67345. function SwitchFirstMapSubscriber(destination, project, resultSelector) {
  67346. _super.call(this, destination);
  67347. this.project = project;
  67348. this.resultSelector = resultSelector;
  67349. this.hasSubscription = false;
  67350. this.hasCompleted = false;
  67351. this.index = 0;
  67352. }
  67353. SwitchFirstMapSubscriber.prototype._next = function (value) {
  67354. if (!this.hasSubscription) {
  67355. this.tryNext(value);
  67356. }
  67357. };
  67358. SwitchFirstMapSubscriber.prototype.tryNext = function (value) {
  67359. var index = this.index++;
  67360. var destination = this.destination;
  67361. try {
  67362. var result = this.project(value, index);
  67363. this.hasSubscription = true;
  67364. this.add(subscribeToResult_1.subscribeToResult(this, result, value, index));
  67365. }
  67366. catch (err) {
  67367. destination.error(err);
  67368. }
  67369. };
  67370. SwitchFirstMapSubscriber.prototype._complete = function () {
  67371. this.hasCompleted = true;
  67372. if (!this.hasSubscription) {
  67373. this.destination.complete();
  67374. }
  67375. };
  67376. SwitchFirstMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  67377. var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;
  67378. if (resultSelector) {
  67379. this.trySelectResult(outerValue, innerValue, outerIndex, innerIndex);
  67380. }
  67381. else {
  67382. destination.next(innerValue);
  67383. }
  67384. };
  67385. SwitchFirstMapSubscriber.prototype.trySelectResult = function (outerValue, innerValue, outerIndex, innerIndex) {
  67386. var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;
  67387. try {
  67388. var result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);
  67389. destination.next(result);
  67390. }
  67391. catch (err) {
  67392. destination.error(err);
  67393. }
  67394. };
  67395. SwitchFirstMapSubscriber.prototype.notifyError = function (err) {
  67396. this.destination.error(err);
  67397. };
  67398. SwitchFirstMapSubscriber.prototype.notifyComplete = function (innerSub) {
  67399. this.remove(innerSub);
  67400. this.hasSubscription = false;
  67401. if (this.hasCompleted) {
  67402. this.destination.complete();
  67403. }
  67404. };
  67405. return SwitchFirstMapSubscriber;
  67406. }(OuterSubscriber_1.OuterSubscriber));
  67407. //# sourceMappingURL=exhaustMap.js.map
  67408. /***/ },
  67409. /* 889 */
  67410. /***/ function(module, exports, __webpack_require__) {
  67411. "use strict";
  67412. "use strict";
  67413. var __extends = (this && this.__extends) || function (d, b) {
  67414. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  67415. function __() { this.constructor = d; }
  67416. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  67417. };
  67418. var tryCatch_1 = __webpack_require__(24);
  67419. var errorObject_1 = __webpack_require__(23);
  67420. var OuterSubscriber_1 = __webpack_require__(6);
  67421. var subscribeToResult_1 = __webpack_require__(7);
  67422. /**
  67423. * Recursively projects each source value to an Observable which is merged in
  67424. * the output Observable.
  67425. *
  67426. * <span class="informal">It's similar to {@link mergeMap}, but applies the
  67427. * projection function to every source value as well as every output value.
  67428. * It's recursive.</span>
  67429. *
  67430. * <img src="./img/expand.png" width="100%">
  67431. *
  67432. * Returns an Observable that emits items based on applying a function that you
  67433. * supply to each item emitted by the source Observable, where that function
  67434. * returns an Observable, and then merging those resulting Observables and
  67435. * emitting the results of this merger. *Expand* will re-emit on the output
  67436. * Observable every source value. Then, each output value is given to the
  67437. * `project` function which returns an inner Observable to be merged on the
  67438. * output Observable. Those output values resulting from the projection are also
  67439. * given to the `project` function to produce new output values. This is how
  67440. * *expand* behaves recursively.
  67441. *
  67442. * @example <caption>Start emitting the powers of two on every click, at most 10 of them</caption>
  67443. * var clicks = Rx.Observable.fromEvent(document, 'click');
  67444. * var powersOfTwo = clicks
  67445. * .mapTo(1)
  67446. * .expand(x => Rx.Observable.of(2 * x).delay(1000))
  67447. * .take(10);
  67448. * powersOfTwo.subscribe(x => console.log(x));
  67449. *
  67450. * @see {@link mergeMap}
  67451. * @see {@link mergeScan}
  67452. *
  67453. * @param {function(value: T, index: number) => Observable} project A function
  67454. * that, when applied to an item emitted by the source or the output Observable,
  67455. * returns an Observable.
  67456. * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input
  67457. * Observables being subscribed to concurrently.
  67458. * @param {Scheduler} [scheduler=null] The Scheduler to use for subscribing to
  67459. * each projected inner Observable.
  67460. * @return {Observable} An Observable that emits the source values and also
  67461. * result of applying the projection function to each value emitted on the
  67462. * output Observable and and merging the results of the Observables obtained
  67463. * from this transformation.
  67464. * @method expand
  67465. * @owner Observable
  67466. */
  67467. function expand(project, concurrent, scheduler) {
  67468. if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
  67469. if (scheduler === void 0) { scheduler = undefined; }
  67470. concurrent = (concurrent || 0) < 1 ? Number.POSITIVE_INFINITY : concurrent;
  67471. return this.lift(new ExpandOperator(project, concurrent, scheduler));
  67472. }
  67473. exports.expand = expand;
  67474. var ExpandOperator = (function () {
  67475. function ExpandOperator(project, concurrent, scheduler) {
  67476. this.project = project;
  67477. this.concurrent = concurrent;
  67478. this.scheduler = scheduler;
  67479. }
  67480. ExpandOperator.prototype.call = function (subscriber, source) {
  67481. return source._subscribe(new ExpandSubscriber(subscriber, this.project, this.concurrent, this.scheduler));
  67482. };
  67483. return ExpandOperator;
  67484. }());
  67485. exports.ExpandOperator = ExpandOperator;
  67486. /**
  67487. * We need this JSDoc comment for affecting ESDoc.
  67488. * @ignore
  67489. * @extends {Ignored}
  67490. */
  67491. var ExpandSubscriber = (function (_super) {
  67492. __extends(ExpandSubscriber, _super);
  67493. function ExpandSubscriber(destination, project, concurrent, scheduler) {
  67494. _super.call(this, destination);
  67495. this.project = project;
  67496. this.concurrent = concurrent;
  67497. this.scheduler = scheduler;
  67498. this.index = 0;
  67499. this.active = 0;
  67500. this.hasCompleted = false;
  67501. if (concurrent < Number.POSITIVE_INFINITY) {
  67502. this.buffer = [];
  67503. }
  67504. }
  67505. ExpandSubscriber.dispatch = function (arg) {
  67506. var subscriber = arg.subscriber, result = arg.result, value = arg.value, index = arg.index;
  67507. subscriber.subscribeToProjection(result, value, index);
  67508. };
  67509. ExpandSubscriber.prototype._next = function (value) {
  67510. var destination = this.destination;
  67511. if (destination.closed) {
  67512. this._complete();
  67513. return;
  67514. }
  67515. var index = this.index++;
  67516. if (this.active < this.concurrent) {
  67517. destination.next(value);
  67518. var result = tryCatch_1.tryCatch(this.project)(value, index);
  67519. if (result === errorObject_1.errorObject) {
  67520. destination.error(errorObject_1.errorObject.e);
  67521. }
  67522. else if (!this.scheduler) {
  67523. this.subscribeToProjection(result, value, index);
  67524. }
  67525. else {
  67526. var state = { subscriber: this, result: result, value: value, index: index };
  67527. this.add(this.scheduler.schedule(ExpandSubscriber.dispatch, 0, state));
  67528. }
  67529. }
  67530. else {
  67531. this.buffer.push(value);
  67532. }
  67533. };
  67534. ExpandSubscriber.prototype.subscribeToProjection = function (result, value, index) {
  67535. this.active++;
  67536. this.add(subscribeToResult_1.subscribeToResult(this, result, value, index));
  67537. };
  67538. ExpandSubscriber.prototype._complete = function () {
  67539. this.hasCompleted = true;
  67540. if (this.hasCompleted && this.active === 0) {
  67541. this.destination.complete();
  67542. }
  67543. };
  67544. ExpandSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  67545. this._next(innerValue);
  67546. };
  67547. ExpandSubscriber.prototype.notifyComplete = function (innerSub) {
  67548. var buffer = this.buffer;
  67549. this.remove(innerSub);
  67550. this.active--;
  67551. if (buffer && buffer.length > 0) {
  67552. this._next(buffer.shift());
  67553. }
  67554. if (this.hasCompleted && this.active === 0) {
  67555. this.destination.complete();
  67556. }
  67557. };
  67558. return ExpandSubscriber;
  67559. }(OuterSubscriber_1.OuterSubscriber));
  67560. exports.ExpandSubscriber = ExpandSubscriber;
  67561. //# sourceMappingURL=expand.js.map
  67562. /***/ },
  67563. /* 890 */
  67564. /***/ function(module, exports, __webpack_require__) {
  67565. "use strict";
  67566. "use strict";
  67567. var __extends = (this && this.__extends) || function (d, b) {
  67568. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  67569. function __() { this.constructor = d; }
  67570. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  67571. };
  67572. var Subscriber_1 = __webpack_require__(3);
  67573. var Subscription_1 = __webpack_require__(22);
  67574. /**
  67575. * Returns an Observable that mirrors the source Observable, but will call a specified function when
  67576. * the source terminates on complete or error.
  67577. * @param {function} callback function to be called when source terminates.
  67578. * @return {Observable} an Observable that mirrors the source, but will call the specified function on termination.
  67579. * @method finally
  67580. * @owner Observable
  67581. */
  67582. function _finally(callback) {
  67583. return this.lift(new FinallyOperator(callback));
  67584. }
  67585. exports._finally = _finally;
  67586. var FinallyOperator = (function () {
  67587. function FinallyOperator(callback) {
  67588. this.callback = callback;
  67589. }
  67590. FinallyOperator.prototype.call = function (subscriber, source) {
  67591. return source._subscribe(new FinallySubscriber(subscriber, this.callback));
  67592. };
  67593. return FinallyOperator;
  67594. }());
  67595. /**
  67596. * We need this JSDoc comment for affecting ESDoc.
  67597. * @ignore
  67598. * @extends {Ignored}
  67599. */
  67600. var FinallySubscriber = (function (_super) {
  67601. __extends(FinallySubscriber, _super);
  67602. function FinallySubscriber(destination, callback) {
  67603. _super.call(this, destination);
  67604. this.add(new Subscription_1.Subscription(callback));
  67605. }
  67606. return FinallySubscriber;
  67607. }(Subscriber_1.Subscriber));
  67608. //# sourceMappingURL=finally.js.map
  67609. /***/ },
  67610. /* 891 */
  67611. /***/ function(module, exports, __webpack_require__) {
  67612. "use strict";
  67613. "use strict";
  67614. var find_1 = __webpack_require__(401);
  67615. /**
  67616. * Emits only the index of the first value emitted by the source Observable that
  67617. * meets some condition.
  67618. *
  67619. * <span class="informal">It's like {@link find}, but emits the index of the
  67620. * found value, not the value itself.</span>
  67621. *
  67622. * <img src="./img/findIndex.png" width="100%">
  67623. *
  67624. * `findIndex` searches for the first item in the source Observable that matches
  67625. * the specified condition embodied by the `predicate`, and returns the
  67626. * (zero-based) index of the first occurrence in the source. Unlike
  67627. * {@link first}, the `predicate` is required in `findIndex`, and does not emit
  67628. * an error if a valid value is not found.
  67629. *
  67630. * @example <caption>Emit the index of first click that happens on a DIV element</caption>
  67631. * var clicks = Rx.Observable.fromEvent(document, 'click');
  67632. * var result = clicks.findIndex(ev => ev.target.tagName === 'DIV');
  67633. * result.subscribe(x => console.log(x));
  67634. *
  67635. * @see {@link filter}
  67636. * @see {@link find}
  67637. * @see {@link first}
  67638. * @see {@link take}
  67639. *
  67640. * @param {function(value: T, index: number, source: Observable<T>): boolean} predicate
  67641. * A function called with each item to test for condition matching.
  67642. * @param {any} [thisArg] An optional argument to determine the value of `this`
  67643. * in the `predicate` function.
  67644. * @return {Observable} An Observable of the index of the first item that
  67645. * matches the condition.
  67646. * @method find
  67647. * @owner Observable
  67648. */
  67649. function findIndex(predicate, thisArg) {
  67650. return this.lift(new find_1.FindValueOperator(predicate, this, true, thisArg));
  67651. }
  67652. exports.findIndex = findIndex;
  67653. //# sourceMappingURL=findIndex.js.map
  67654. /***/ },
  67655. /* 892 */
  67656. /***/ function(module, exports, __webpack_require__) {
  67657. "use strict";
  67658. "use strict";
  67659. var __extends = (this && this.__extends) || function (d, b) {
  67660. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  67661. function __() { this.constructor = d; }
  67662. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  67663. };
  67664. var Subscriber_1 = __webpack_require__(3);
  67665. var Subscription_1 = __webpack_require__(22);
  67666. var Observable_1 = __webpack_require__(0);
  67667. var Subject_1 = __webpack_require__(15);
  67668. var Map_1 = __webpack_require__(956);
  67669. var FastMap_1 = __webpack_require__(954);
  67670. /**
  67671. * Groups the items emitted by an Observable according to a specified criterion,
  67672. * and emits these grouped items as `GroupedObservables`, one
  67673. * {@link GroupedObservable} per group.
  67674. *
  67675. * <img src="./img/groupBy.png" width="100%">
  67676. *
  67677. * @param {function(value: T): K} keySelector a function that extracts the key
  67678. * for each item.
  67679. * @param {function(value: T): R} [elementSelector] a function that extracts the
  67680. * return element for each item.
  67681. * @param {function(grouped: GroupedObservable<K,R>): Observable<any>} [durationSelector]
  67682. * a function that returns an Observable to determine how long each group should
  67683. * exist.
  67684. * @return {Observable<GroupedObservable<K,R>>} an Observable that emits
  67685. * GroupedObservables, each of which corresponds to a unique key value and each
  67686. * of which emits those items from the source Observable that share that key
  67687. * value.
  67688. * @method groupBy
  67689. * @owner Observable
  67690. */
  67691. function groupBy(keySelector, elementSelector, durationSelector) {
  67692. return this.lift(new GroupByOperator(this, keySelector, elementSelector, durationSelector));
  67693. }
  67694. exports.groupBy = groupBy;
  67695. var GroupByOperator = (function () {
  67696. function GroupByOperator(source, keySelector, elementSelector, durationSelector) {
  67697. this.source = source;
  67698. this.keySelector = keySelector;
  67699. this.elementSelector = elementSelector;
  67700. this.durationSelector = durationSelector;
  67701. }
  67702. GroupByOperator.prototype.call = function (subscriber, source) {
  67703. return source._subscribe(new GroupBySubscriber(subscriber, this.keySelector, this.elementSelector, this.durationSelector));
  67704. };
  67705. return GroupByOperator;
  67706. }());
  67707. /**
  67708. * We need this JSDoc comment for affecting ESDoc.
  67709. * @ignore
  67710. * @extends {Ignored}
  67711. */
  67712. var GroupBySubscriber = (function (_super) {
  67713. __extends(GroupBySubscriber, _super);
  67714. function GroupBySubscriber(destination, keySelector, elementSelector, durationSelector) {
  67715. _super.call(this, destination);
  67716. this.keySelector = keySelector;
  67717. this.elementSelector = elementSelector;
  67718. this.durationSelector = durationSelector;
  67719. this.groups = null;
  67720. this.attemptedToUnsubscribe = false;
  67721. this.count = 0;
  67722. }
  67723. GroupBySubscriber.prototype._next = function (value) {
  67724. var key;
  67725. try {
  67726. key = this.keySelector(value);
  67727. }
  67728. catch (err) {
  67729. this.error(err);
  67730. return;
  67731. }
  67732. this._group(value, key);
  67733. };
  67734. GroupBySubscriber.prototype._group = function (value, key) {
  67735. var groups = this.groups;
  67736. if (!groups) {
  67737. groups = this.groups = typeof key === 'string' ? new FastMap_1.FastMap() : new Map_1.Map();
  67738. }
  67739. var group = groups.get(key);
  67740. var element;
  67741. if (this.elementSelector) {
  67742. try {
  67743. element = this.elementSelector(value);
  67744. }
  67745. catch (err) {
  67746. this.error(err);
  67747. }
  67748. }
  67749. else {
  67750. element = value;
  67751. }
  67752. if (!group) {
  67753. groups.set(key, group = new Subject_1.Subject());
  67754. var groupedObservable = new GroupedObservable(key, group, this);
  67755. this.destination.next(groupedObservable);
  67756. if (this.durationSelector) {
  67757. var duration = void 0;
  67758. try {
  67759. duration = this.durationSelector(new GroupedObservable(key, group));
  67760. }
  67761. catch (err) {
  67762. this.error(err);
  67763. return;
  67764. }
  67765. this.add(duration.subscribe(new GroupDurationSubscriber(key, group, this)));
  67766. }
  67767. }
  67768. if (!group.closed) {
  67769. group.next(element);
  67770. }
  67771. };
  67772. GroupBySubscriber.prototype._error = function (err) {
  67773. var groups = this.groups;
  67774. if (groups) {
  67775. groups.forEach(function (group, key) {
  67776. group.error(err);
  67777. });
  67778. groups.clear();
  67779. }
  67780. this.destination.error(err);
  67781. };
  67782. GroupBySubscriber.prototype._complete = function () {
  67783. var groups = this.groups;
  67784. if (groups) {
  67785. groups.forEach(function (group, key) {
  67786. group.complete();
  67787. });
  67788. groups.clear();
  67789. }
  67790. this.destination.complete();
  67791. };
  67792. GroupBySubscriber.prototype.removeGroup = function (key) {
  67793. this.groups.delete(key);
  67794. };
  67795. GroupBySubscriber.prototype.unsubscribe = function () {
  67796. if (!this.closed && !this.attemptedToUnsubscribe) {
  67797. this.attemptedToUnsubscribe = true;
  67798. if (this.count === 0) {
  67799. _super.prototype.unsubscribe.call(this);
  67800. }
  67801. }
  67802. };
  67803. return GroupBySubscriber;
  67804. }(Subscriber_1.Subscriber));
  67805. /**
  67806. * We need this JSDoc comment for affecting ESDoc.
  67807. * @ignore
  67808. * @extends {Ignored}
  67809. */
  67810. var GroupDurationSubscriber = (function (_super) {
  67811. __extends(GroupDurationSubscriber, _super);
  67812. function GroupDurationSubscriber(key, group, parent) {
  67813. _super.call(this);
  67814. this.key = key;
  67815. this.group = group;
  67816. this.parent = parent;
  67817. }
  67818. GroupDurationSubscriber.prototype._next = function (value) {
  67819. this._complete();
  67820. };
  67821. GroupDurationSubscriber.prototype._error = function (err) {
  67822. var group = this.group;
  67823. if (!group.closed) {
  67824. group.error(err);
  67825. }
  67826. this.parent.removeGroup(this.key);
  67827. };
  67828. GroupDurationSubscriber.prototype._complete = function () {
  67829. var group = this.group;
  67830. if (!group.closed) {
  67831. group.complete();
  67832. }
  67833. this.parent.removeGroup(this.key);
  67834. };
  67835. return GroupDurationSubscriber;
  67836. }(Subscriber_1.Subscriber));
  67837. /**
  67838. * An Observable representing values belonging to the same group represented by
  67839. * a common key. The values emitted by a GroupedObservable come from the source
  67840. * Observable. The common key is available as the field `key` on a
  67841. * GroupedObservable instance.
  67842. *
  67843. * @class GroupedObservable<K, T>
  67844. */
  67845. var GroupedObservable = (function (_super) {
  67846. __extends(GroupedObservable, _super);
  67847. function GroupedObservable(key, groupSubject, refCountSubscription) {
  67848. _super.call(this);
  67849. this.key = key;
  67850. this.groupSubject = groupSubject;
  67851. this.refCountSubscription = refCountSubscription;
  67852. }
  67853. GroupedObservable.prototype._subscribe = function (subscriber) {
  67854. var subscription = new Subscription_1.Subscription();
  67855. var _a = this, refCountSubscription = _a.refCountSubscription, groupSubject = _a.groupSubject;
  67856. if (refCountSubscription && !refCountSubscription.closed) {
  67857. subscription.add(new InnerRefCountSubscription(refCountSubscription));
  67858. }
  67859. subscription.add(groupSubject.subscribe(subscriber));
  67860. return subscription;
  67861. };
  67862. return GroupedObservable;
  67863. }(Observable_1.Observable));
  67864. exports.GroupedObservable = GroupedObservable;
  67865. /**
  67866. * We need this JSDoc comment for affecting ESDoc.
  67867. * @ignore
  67868. * @extends {Ignored}
  67869. */
  67870. var InnerRefCountSubscription = (function (_super) {
  67871. __extends(InnerRefCountSubscription, _super);
  67872. function InnerRefCountSubscription(parent) {
  67873. _super.call(this);
  67874. this.parent = parent;
  67875. parent.count++;
  67876. }
  67877. InnerRefCountSubscription.prototype.unsubscribe = function () {
  67878. var parent = this.parent;
  67879. if (!parent.closed && !this.closed) {
  67880. _super.prototype.unsubscribe.call(this);
  67881. parent.count -= 1;
  67882. if (parent.count === 0 && parent.attemptedToUnsubscribe) {
  67883. parent.unsubscribe();
  67884. }
  67885. }
  67886. };
  67887. return InnerRefCountSubscription;
  67888. }(Subscription_1.Subscription));
  67889. //# sourceMappingURL=groupBy.js.map
  67890. /***/ },
  67891. /* 893 */
  67892. /***/ function(module, exports, __webpack_require__) {
  67893. "use strict";
  67894. "use strict";
  67895. var __extends = (this && this.__extends) || function (d, b) {
  67896. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  67897. function __() { this.constructor = d; }
  67898. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  67899. };
  67900. var Subscriber_1 = __webpack_require__(3);
  67901. var noop_1 = __webpack_require__(419);
  67902. /**
  67903. * Ignores all items emitted by the source Observable and only passes calls of `complete` or `error`.
  67904. *
  67905. * <img src="./img/ignoreElements.png" width="100%">
  67906. *
  67907. * @return {Observable} an empty Observable that only calls `complete`
  67908. * or `error`, based on which one is called by the source Observable.
  67909. * @method ignoreElements
  67910. * @owner Observable
  67911. */
  67912. function ignoreElements() {
  67913. return this.lift(new IgnoreElementsOperator());
  67914. }
  67915. exports.ignoreElements = ignoreElements;
  67916. ;
  67917. var IgnoreElementsOperator = (function () {
  67918. function IgnoreElementsOperator() {
  67919. }
  67920. IgnoreElementsOperator.prototype.call = function (subscriber, source) {
  67921. return source._subscribe(new IgnoreElementsSubscriber(subscriber));
  67922. };
  67923. return IgnoreElementsOperator;
  67924. }());
  67925. /**
  67926. * We need this JSDoc comment for affecting ESDoc.
  67927. * @ignore
  67928. * @extends {Ignored}
  67929. */
  67930. var IgnoreElementsSubscriber = (function (_super) {
  67931. __extends(IgnoreElementsSubscriber, _super);
  67932. function IgnoreElementsSubscriber() {
  67933. _super.apply(this, arguments);
  67934. }
  67935. IgnoreElementsSubscriber.prototype._next = function (unused) {
  67936. noop_1.noop();
  67937. };
  67938. return IgnoreElementsSubscriber;
  67939. }(Subscriber_1.Subscriber));
  67940. //# sourceMappingURL=ignoreElements.js.map
  67941. /***/ },
  67942. /* 894 */
  67943. /***/ function(module, exports, __webpack_require__) {
  67944. "use strict";
  67945. "use strict";
  67946. var __extends = (this && this.__extends) || function (d, b) {
  67947. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  67948. function __() { this.constructor = d; }
  67949. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  67950. };
  67951. var Subscriber_1 = __webpack_require__(3);
  67952. /**
  67953. * If the source Observable is empty it returns an Observable that emits true, otherwise it emits false.
  67954. *
  67955. * <img src="./img/isEmpty.png" width="100%">
  67956. *
  67957. * @return {Observable} an Observable that emits a Boolean.
  67958. * @method isEmpty
  67959. * @owner Observable
  67960. */
  67961. function isEmpty() {
  67962. return this.lift(new IsEmptyOperator());
  67963. }
  67964. exports.isEmpty = isEmpty;
  67965. var IsEmptyOperator = (function () {
  67966. function IsEmptyOperator() {
  67967. }
  67968. IsEmptyOperator.prototype.call = function (observer, source) {
  67969. return source._subscribe(new IsEmptySubscriber(observer));
  67970. };
  67971. return IsEmptyOperator;
  67972. }());
  67973. /**
  67974. * We need this JSDoc comment for affecting ESDoc.
  67975. * @ignore
  67976. * @extends {Ignored}
  67977. */
  67978. var IsEmptySubscriber = (function (_super) {
  67979. __extends(IsEmptySubscriber, _super);
  67980. function IsEmptySubscriber(destination) {
  67981. _super.call(this, destination);
  67982. }
  67983. IsEmptySubscriber.prototype.notifyComplete = function (isEmpty) {
  67984. var destination = this.destination;
  67985. destination.next(isEmpty);
  67986. destination.complete();
  67987. };
  67988. IsEmptySubscriber.prototype._next = function (value) {
  67989. this.notifyComplete(false);
  67990. };
  67991. IsEmptySubscriber.prototype._complete = function () {
  67992. this.notifyComplete(true);
  67993. };
  67994. return IsEmptySubscriber;
  67995. }(Subscriber_1.Subscriber));
  67996. //# sourceMappingURL=isEmpty.js.map
  67997. /***/ },
  67998. /* 895 */
  67999. /***/ function(module, exports) {
  68000. "use strict";
  68001. "use strict";
  68002. /**
  68003. * @param func
  68004. * @return {Observable<R>}
  68005. * @method let
  68006. * @owner Observable
  68007. */
  68008. function letProto(func) {
  68009. return func(this);
  68010. }
  68011. exports.letProto = letProto;
  68012. //# sourceMappingURL=let.js.map
  68013. /***/ },
  68014. /* 896 */
  68015. /***/ function(module, exports, __webpack_require__) {
  68016. "use strict";
  68017. "use strict";
  68018. var __extends = (this && this.__extends) || function (d, b) {
  68019. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  68020. function __() { this.constructor = d; }
  68021. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  68022. };
  68023. var Subscriber_1 = __webpack_require__(3);
  68024. /**
  68025. * Emits the given constant value on the output Observable every time the source
  68026. * Observable emits a value.
  68027. *
  68028. * <span class="informal">Like {@link map}, but it maps every source value to
  68029. * the same output value every time.</span>
  68030. *
  68031. * <img src="./img/mapTo.png" width="100%">
  68032. *
  68033. * Takes a constant `value` as argument, and emits that whenever the source
  68034. * Observable emits a value. In other words, ignores the actual source value,
  68035. * and simply uses the emission moment to know when to emit the given `value`.
  68036. *
  68037. * @example <caption>Map every every click to the string 'Hi'</caption>
  68038. * var clicks = Rx.Observable.fromEvent(document, 'click');
  68039. * var greetings = clicks.mapTo('Hi');
  68040. * greetings.subscribe(x => console.log(x));
  68041. *
  68042. * @see {@link map}
  68043. *
  68044. * @param {any} value The value to map each source value to.
  68045. * @return {Observable} An Observable that emits the given `value` every time
  68046. * the source Observable emits something.
  68047. * @method mapTo
  68048. * @owner Observable
  68049. */
  68050. function mapTo(value) {
  68051. return this.lift(new MapToOperator(value));
  68052. }
  68053. exports.mapTo = mapTo;
  68054. var MapToOperator = (function () {
  68055. function MapToOperator(value) {
  68056. this.value = value;
  68057. }
  68058. MapToOperator.prototype.call = function (subscriber, source) {
  68059. return source._subscribe(new MapToSubscriber(subscriber, this.value));
  68060. };
  68061. return MapToOperator;
  68062. }());
  68063. /**
  68064. * We need this JSDoc comment for affecting ESDoc.
  68065. * @ignore
  68066. * @extends {Ignored}
  68067. */
  68068. var MapToSubscriber = (function (_super) {
  68069. __extends(MapToSubscriber, _super);
  68070. function MapToSubscriber(destination, value) {
  68071. _super.call(this, destination);
  68072. this.value = value;
  68073. }
  68074. MapToSubscriber.prototype._next = function (x) {
  68075. this.destination.next(this.value);
  68076. };
  68077. return MapToSubscriber;
  68078. }(Subscriber_1.Subscriber));
  68079. //# sourceMappingURL=mapTo.js.map
  68080. /***/ },
  68081. /* 897 */
  68082. /***/ function(module, exports, __webpack_require__) {
  68083. "use strict";
  68084. "use strict";
  68085. var __extends = (this && this.__extends) || function (d, b) {
  68086. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  68087. function __() { this.constructor = d; }
  68088. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  68089. };
  68090. var Subscriber_1 = __webpack_require__(3);
  68091. var Notification_1 = __webpack_require__(120);
  68092. /**
  68093. * Represents all of the notifications from the source Observable as `next`
  68094. * emissions marked with their original types within {@link Notification}
  68095. * objects.
  68096. *
  68097. * <span class="informal">Wraps `next`, `error` and `complete` emissions in
  68098. * {@link Notification} objects, emitted as `next` on the output Observable.
  68099. * </span>
  68100. *
  68101. * <img src="./img/materialize.png" width="100%">
  68102. *
  68103. * `materialize` returns an Observable that emits a `next` notification for each
  68104. * `next`, `error`, or `complete` emission of the source Observable. When the
  68105. * source Observable emits `complete`, the output Observable will emit `next` as
  68106. * a Notification of type "complete", and then it will emit `complete` as well.
  68107. * When the source Observable emits `error`, the output will emit `next` as a
  68108. * Notification of type "error", and then `complete`.
  68109. *
  68110. * This operator is useful for producing metadata of the source Observable, to
  68111. * be consumed as `next` emissions. Use it in conjunction with
  68112. * {@link dematerialize}.
  68113. *
  68114. * @example <caption>Convert a faulty Observable to an Observable of Notifications</caption>
  68115. * var letters = Rx.Observable.of('a', 'b', 13, 'd');
  68116. * var upperCase = letters.map(x => x.toUpperCase());
  68117. * var materialized = upperCase.materialize();
  68118. * materialized.subscribe(x => console.log(x));
  68119. *
  68120. * @see {@link Notification}
  68121. * @see {@link dematerialize}
  68122. *
  68123. * @return {Observable<Notification<T>>} An Observable that emits
  68124. * {@link Notification} objects that wrap the original emissions from the source
  68125. * Observable with metadata.
  68126. * @method materialize
  68127. * @owner Observable
  68128. */
  68129. function materialize() {
  68130. return this.lift(new MaterializeOperator());
  68131. }
  68132. exports.materialize = materialize;
  68133. var MaterializeOperator = (function () {
  68134. function MaterializeOperator() {
  68135. }
  68136. MaterializeOperator.prototype.call = function (subscriber, source) {
  68137. return source._subscribe(new MaterializeSubscriber(subscriber));
  68138. };
  68139. return MaterializeOperator;
  68140. }());
  68141. /**
  68142. * We need this JSDoc comment for affecting ESDoc.
  68143. * @ignore
  68144. * @extends {Ignored}
  68145. */
  68146. var MaterializeSubscriber = (function (_super) {
  68147. __extends(MaterializeSubscriber, _super);
  68148. function MaterializeSubscriber(destination) {
  68149. _super.call(this, destination);
  68150. }
  68151. MaterializeSubscriber.prototype._next = function (value) {
  68152. this.destination.next(Notification_1.Notification.createNext(value));
  68153. };
  68154. MaterializeSubscriber.prototype._error = function (err) {
  68155. var destination = this.destination;
  68156. destination.next(Notification_1.Notification.createError(err));
  68157. destination.complete();
  68158. };
  68159. MaterializeSubscriber.prototype._complete = function () {
  68160. var destination = this.destination;
  68161. destination.next(Notification_1.Notification.createComplete());
  68162. destination.complete();
  68163. };
  68164. return MaterializeSubscriber;
  68165. }(Subscriber_1.Subscriber));
  68166. //# sourceMappingURL=materialize.js.map
  68167. /***/ },
  68168. /* 898 */
  68169. /***/ function(module, exports, __webpack_require__) {
  68170. "use strict";
  68171. "use strict";
  68172. var reduce_1 = __webpack_require__(172);
  68173. /**
  68174. * The Max operator operates on an Observable that emits numbers (or items that can be evaluated as numbers),
  68175. * and when source Observable completes it emits a single item: the item with the largest number.
  68176. *
  68177. * <img src="./img/max.png" width="100%">
  68178. *
  68179. * @param {Function} optional comparer function that it will use instead of its default to compare the value of two
  68180. * items.
  68181. * @return {Observable} an Observable that emits item with the largest number.
  68182. * @method max
  68183. * @owner Observable
  68184. */
  68185. function max(comparer) {
  68186. var max = (typeof comparer === 'function')
  68187. ? function (x, y) { return comparer(x, y) > 0 ? x : y; }
  68188. : function (x, y) { return x > y ? x : y; };
  68189. return this.lift(new reduce_1.ReduceOperator(max));
  68190. }
  68191. exports.max = max;
  68192. //# sourceMappingURL=max.js.map
  68193. /***/ },
  68194. /* 899 */
  68195. /***/ function(module, exports, __webpack_require__) {
  68196. "use strict";
  68197. "use strict";
  68198. var __extends = (this && this.__extends) || function (d, b) {
  68199. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  68200. function __() { this.constructor = d; }
  68201. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  68202. };
  68203. var tryCatch_1 = __webpack_require__(24);
  68204. var errorObject_1 = __webpack_require__(23);
  68205. var subscribeToResult_1 = __webpack_require__(7);
  68206. var OuterSubscriber_1 = __webpack_require__(6);
  68207. /**
  68208. * @param project
  68209. * @param seed
  68210. * @param concurrent
  68211. * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}
  68212. * @method mergeScan
  68213. * @owner Observable
  68214. */
  68215. function mergeScan(project, seed, concurrent) {
  68216. if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
  68217. return this.lift(new MergeScanOperator(project, seed, concurrent));
  68218. }
  68219. exports.mergeScan = mergeScan;
  68220. var MergeScanOperator = (function () {
  68221. function MergeScanOperator(project, seed, concurrent) {
  68222. this.project = project;
  68223. this.seed = seed;
  68224. this.concurrent = concurrent;
  68225. }
  68226. MergeScanOperator.prototype.call = function (subscriber, source) {
  68227. return source._subscribe(new MergeScanSubscriber(subscriber, this.project, this.seed, this.concurrent));
  68228. };
  68229. return MergeScanOperator;
  68230. }());
  68231. exports.MergeScanOperator = MergeScanOperator;
  68232. /**
  68233. * We need this JSDoc comment for affecting ESDoc.
  68234. * @ignore
  68235. * @extends {Ignored}
  68236. */
  68237. var MergeScanSubscriber = (function (_super) {
  68238. __extends(MergeScanSubscriber, _super);
  68239. function MergeScanSubscriber(destination, project, acc, concurrent) {
  68240. _super.call(this, destination);
  68241. this.project = project;
  68242. this.acc = acc;
  68243. this.concurrent = concurrent;
  68244. this.hasValue = false;
  68245. this.hasCompleted = false;
  68246. this.buffer = [];
  68247. this.active = 0;
  68248. this.index = 0;
  68249. }
  68250. MergeScanSubscriber.prototype._next = function (value) {
  68251. if (this.active < this.concurrent) {
  68252. var index = this.index++;
  68253. var ish = tryCatch_1.tryCatch(this.project)(this.acc, value);
  68254. var destination = this.destination;
  68255. if (ish === errorObject_1.errorObject) {
  68256. destination.error(errorObject_1.errorObject.e);
  68257. }
  68258. else {
  68259. this.active++;
  68260. this._innerSub(ish, value, index);
  68261. }
  68262. }
  68263. else {
  68264. this.buffer.push(value);
  68265. }
  68266. };
  68267. MergeScanSubscriber.prototype._innerSub = function (ish, value, index) {
  68268. this.add(subscribeToResult_1.subscribeToResult(this, ish, value, index));
  68269. };
  68270. MergeScanSubscriber.prototype._complete = function () {
  68271. this.hasCompleted = true;
  68272. if (this.active === 0 && this.buffer.length === 0) {
  68273. if (this.hasValue === false) {
  68274. this.destination.next(this.acc);
  68275. }
  68276. this.destination.complete();
  68277. }
  68278. };
  68279. MergeScanSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  68280. var destination = this.destination;
  68281. this.acc = innerValue;
  68282. this.hasValue = true;
  68283. destination.next(innerValue);
  68284. };
  68285. MergeScanSubscriber.prototype.notifyComplete = function (innerSub) {
  68286. var buffer = this.buffer;
  68287. this.remove(innerSub);
  68288. this.active--;
  68289. if (buffer.length > 0) {
  68290. this._next(buffer.shift());
  68291. }
  68292. else if (this.active === 0 && this.hasCompleted) {
  68293. if (this.hasValue === false) {
  68294. this.destination.next(this.acc);
  68295. }
  68296. this.destination.complete();
  68297. }
  68298. };
  68299. return MergeScanSubscriber;
  68300. }(OuterSubscriber_1.OuterSubscriber));
  68301. exports.MergeScanSubscriber = MergeScanSubscriber;
  68302. //# sourceMappingURL=mergeScan.js.map
  68303. /***/ },
  68304. /* 900 */
  68305. /***/ function(module, exports, __webpack_require__) {
  68306. "use strict";
  68307. "use strict";
  68308. var reduce_1 = __webpack_require__(172);
  68309. /**
  68310. * The Min operator operates on an Observable that emits numbers (or items that can be evaluated as numbers),
  68311. * and when source Observable completes it emits a single item: the item with the smallest number.
  68312. *
  68313. * <img src="./img/min.png" width="100%">
  68314. *
  68315. * @param {Function} optional comparer function that it will use instead of its default to compare the value of two items.
  68316. * @return {Observable<R>} an Observable that emits item with the smallest number.
  68317. * @method min
  68318. * @owner Observable
  68319. */
  68320. function min(comparer) {
  68321. var min = (typeof comparer === 'function')
  68322. ? function (x, y) { return comparer(x, y) < 0 ? x : y; }
  68323. : function (x, y) { return x < y ? x : y; };
  68324. return this.lift(new reduce_1.ReduceOperator(min));
  68325. }
  68326. exports.min = min;
  68327. //# sourceMappingURL=min.js.map
  68328. /***/ },
  68329. /* 901 */
  68330. /***/ function(module, exports, __webpack_require__) {
  68331. "use strict";
  68332. "use strict";
  68333. var __extends = (this && this.__extends) || function (d, b) {
  68334. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  68335. function __() { this.constructor = d; }
  68336. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  68337. };
  68338. var Subscriber_1 = __webpack_require__(3);
  68339. /**
  68340. * Groups pairs of consecutive emissions together and emits them as an array of
  68341. * two values.
  68342. *
  68343. * <span class="informal">Puts the current value and previous value together as
  68344. * an array, and emits that.</span>
  68345. *
  68346. * <img src="./img/pairwise.png" width="100%">
  68347. *
  68348. * The Nth emission from the source Observable will cause the output Observable
  68349. * to emit an array [(N-1)th, Nth] of the previous and the current value, as a
  68350. * pair. For this reason, `pairwise` emits on the second and subsequent
  68351. * emissions from the source Observable, but not on the first emission, because
  68352. * there is no previous value in that case.
  68353. *
  68354. * @example <caption>On every click (starting from the second), emit the relative distance to the previous click</caption>
  68355. * var clicks = Rx.Observable.fromEvent(document, 'click');
  68356. * var pairs = clicks.pairwise();
  68357. * var distance = pairs.map(pair => {
  68358. * var x0 = pair[0].clientX;
  68359. * var y0 = pair[0].clientY;
  68360. * var x1 = pair[1].clientX;
  68361. * var y1 = pair[1].clientY;
  68362. * return Math.sqrt(Math.pow(x0 - x1, 2) + Math.pow(y0 - y1, 2));
  68363. * });
  68364. * distance.subscribe(x => console.log(x));
  68365. *
  68366. * @see {@link buffer}
  68367. * @see {@link bufferCount}
  68368. *
  68369. * @return {Observable<Array<T>>} An Observable of pairs (as arrays) of
  68370. * consecutive values from the source Observable.
  68371. * @method pairwise
  68372. * @owner Observable
  68373. */
  68374. function pairwise() {
  68375. return this.lift(new PairwiseOperator());
  68376. }
  68377. exports.pairwise = pairwise;
  68378. var PairwiseOperator = (function () {
  68379. function PairwiseOperator() {
  68380. }
  68381. PairwiseOperator.prototype.call = function (subscriber, source) {
  68382. return source._subscribe(new PairwiseSubscriber(subscriber));
  68383. };
  68384. return PairwiseOperator;
  68385. }());
  68386. /**
  68387. * We need this JSDoc comment for affecting ESDoc.
  68388. * @ignore
  68389. * @extends {Ignored}
  68390. */
  68391. var PairwiseSubscriber = (function (_super) {
  68392. __extends(PairwiseSubscriber, _super);
  68393. function PairwiseSubscriber(destination) {
  68394. _super.call(this, destination);
  68395. this.hasPrev = false;
  68396. }
  68397. PairwiseSubscriber.prototype._next = function (value) {
  68398. if (this.hasPrev) {
  68399. this.destination.next([this.prev, value]);
  68400. }
  68401. else {
  68402. this.hasPrev = true;
  68403. }
  68404. this.prev = value;
  68405. };
  68406. return PairwiseSubscriber;
  68407. }(Subscriber_1.Subscriber));
  68408. //# sourceMappingURL=pairwise.js.map
  68409. /***/ },
  68410. /* 902 */
  68411. /***/ function(module, exports, __webpack_require__) {
  68412. "use strict";
  68413. "use strict";
  68414. var not_1 = __webpack_require__(960);
  68415. var filter_1 = __webpack_require__(400);
  68416. /**
  68417. * Splits the source Observable into two, one with values that satisfy a
  68418. * predicate, and another with values that don't satisfy the predicate.
  68419. *
  68420. * <span class="informal">It's like {@link filter}, but returns two Observables:
  68421. * one like the output of {@link filter}, and the other with values that did not
  68422. * pass the condition.</span>
  68423. *
  68424. * <img src="./img/partition.png" width="100%">
  68425. *
  68426. * `partition` outputs an array with two Observables that partition the values
  68427. * from the source Observable through the given `predicate` function. The first
  68428. * Observable in that array emits source values for which the predicate argument
  68429. * returns true. The second Observable emits source values for which the
  68430. * predicate returns false. The first behaves like {@link filter} and the second
  68431. * behaves like {@link filter} with the predicate negated.
  68432. *
  68433. * @example <caption>Partition click events into those on DIV elements and those elsewhere</caption>
  68434. * var clicks = Rx.Observable.fromEvent(document, 'click');
  68435. * var parts = clicks.partition(ev => ev.target.tagName === 'DIV');
  68436. * var clicksOnDivs = parts[0];
  68437. * var clicksElsewhere = parts[1];
  68438. * clicksOnDivs.subscribe(x => console.log('DIV clicked: ', x));
  68439. * clicksElsewhere.subscribe(x => console.log('Other clicked: ', x));
  68440. *
  68441. * @see {@link filter}
  68442. *
  68443. * @param {function(value: T, index: number): boolean} predicate A function that
  68444. * evaluates each value emitted by the source Observable. If it returns `true`,
  68445. * the value is emitted on the first Observable in the returned array, if
  68446. * `false` the value is emitted on the second Observable in the array. The
  68447. * `index` parameter is the number `i` for the i-th source emission that has
  68448. * happened since the subscription, starting from the number `0`.
  68449. * @param {any} [thisArg] An optional argument to determine the value of `this`
  68450. * in the `predicate` function.
  68451. * @return {[Observable<T>, Observable<T>]} An array with two Observables: one
  68452. * with values that passed the predicate, and another with values that did not
  68453. * pass the predicate.
  68454. * @method partition
  68455. * @owner Observable
  68456. */
  68457. function partition(predicate, thisArg) {
  68458. return [
  68459. filter_1.filter.call(this, predicate),
  68460. filter_1.filter.call(this, not_1.not(predicate, thisArg))
  68461. ];
  68462. }
  68463. exports.partition = partition;
  68464. //# sourceMappingURL=partition.js.map
  68465. /***/ },
  68466. /* 903 */
  68467. /***/ function(module, exports, __webpack_require__) {
  68468. "use strict";
  68469. "use strict";
  68470. var map_1 = __webpack_require__(82);
  68471. /**
  68472. * Maps each source value (an object) to its specified nested property.
  68473. *
  68474. * <span class="informal">Like {@link map}, but meant only for picking one of
  68475. * the nested properties of every emitted object.</span>
  68476. *
  68477. * <img src="./img/pluck.png" width="100%">
  68478. *
  68479. * Given a list of strings describing a path to an object property, retrieves
  68480. * the value of a specified nested property from all values in the source
  68481. * Observable. If a property can't be resolved, it will return `undefined` for
  68482. * that value.
  68483. *
  68484. * @example <caption>Map every every click to the tagName of the clicked target element</caption>
  68485. * var clicks = Rx.Observable.fromEvent(document, 'click');
  68486. * var tagNames = clicks.pluck('target', 'tagName');
  68487. * tagNames.subscribe(x => console.log(x));
  68488. *
  68489. * @see {@link map}
  68490. *
  68491. * @param {...string} properties The nested properties to pluck from each source
  68492. * value (an object).
  68493. * @return {Observable} Returns a new Observable of property values from the
  68494. * source values.
  68495. * @method pluck
  68496. * @owner Observable
  68497. */
  68498. function pluck() {
  68499. var properties = [];
  68500. for (var _i = 0; _i < arguments.length; _i++) {
  68501. properties[_i - 0] = arguments[_i];
  68502. }
  68503. var length = properties.length;
  68504. if (length === 0) {
  68505. throw new Error('list of properties cannot be empty.');
  68506. }
  68507. return map_1.map.call(this, plucker(properties, length));
  68508. }
  68509. exports.pluck = pluck;
  68510. function plucker(props, length) {
  68511. var mapper = function (x) {
  68512. var currentProp = x;
  68513. for (var i = 0; i < length; i++) {
  68514. var p = currentProp[props[i]];
  68515. if (typeof p !== 'undefined') {
  68516. currentProp = p;
  68517. }
  68518. else {
  68519. return undefined;
  68520. }
  68521. }
  68522. return currentProp;
  68523. };
  68524. return mapper;
  68525. }
  68526. //# sourceMappingURL=pluck.js.map
  68527. /***/ },
  68528. /* 904 */
  68529. /***/ function(module, exports, __webpack_require__) {
  68530. "use strict";
  68531. "use strict";
  68532. var Subject_1 = __webpack_require__(15);
  68533. var multicast_1 = __webpack_require__(102);
  68534. /**
  68535. * Returns a ConnectableObservable, which is a variety of Observable that waits until its connect method is called
  68536. * before it begins emitting items to those Observers that have subscribed to it.
  68537. *
  68538. * <img src="./img/publish.png" width="100%">
  68539. *
  68540. * @param {Function} Optional selector function which can use the multicasted source sequence as many times as needed,
  68541. * without causing multiple subscriptions to the source sequence.
  68542. * Subscribers to the given source will receive all notifications of the source from the time of the subscription on.
  68543. * @return a ConnectableObservable that upon connection causes the source Observable to emit items to its Observers.
  68544. * @method publish
  68545. * @owner Observable
  68546. */
  68547. function publish(selector) {
  68548. return selector ? multicast_1.multicast.call(this, function () { return new Subject_1.Subject(); }, selector) :
  68549. multicast_1.multicast.call(this, new Subject_1.Subject());
  68550. }
  68551. exports.publish = publish;
  68552. //# sourceMappingURL=publish.js.map
  68553. /***/ },
  68554. /* 905 */
  68555. /***/ function(module, exports, __webpack_require__) {
  68556. "use strict";
  68557. "use strict";
  68558. var BehaviorSubject_1 = __webpack_require__(169);
  68559. var multicast_1 = __webpack_require__(102);
  68560. /**
  68561. * @param value
  68562. * @return {ConnectableObservable<T>}
  68563. * @method publishBehavior
  68564. * @owner Observable
  68565. */
  68566. function publishBehavior(value) {
  68567. return multicast_1.multicast.call(this, new BehaviorSubject_1.BehaviorSubject(value));
  68568. }
  68569. exports.publishBehavior = publishBehavior;
  68570. //# sourceMappingURL=publishBehavior.js.map
  68571. /***/ },
  68572. /* 906 */
  68573. /***/ function(module, exports, __webpack_require__) {
  68574. "use strict";
  68575. "use strict";
  68576. var AsyncSubject_1 = __webpack_require__(168);
  68577. var multicast_1 = __webpack_require__(102);
  68578. /**
  68579. * @return {ConnectableObservable<T>}
  68580. * @method publishLast
  68581. * @owner Observable
  68582. */
  68583. function publishLast() {
  68584. return multicast_1.multicast.call(this, new AsyncSubject_1.AsyncSubject());
  68585. }
  68586. exports.publishLast = publishLast;
  68587. //# sourceMappingURL=publishLast.js.map
  68588. /***/ },
  68589. /* 907 */
  68590. /***/ function(module, exports, __webpack_require__) {
  68591. "use strict";
  68592. "use strict";
  68593. var ReplaySubject_1 = __webpack_require__(170);
  68594. var multicast_1 = __webpack_require__(102);
  68595. /**
  68596. * @param bufferSize
  68597. * @param windowTime
  68598. * @param scheduler
  68599. * @return {ConnectableObservable<T>}
  68600. * @method publishReplay
  68601. * @owner Observable
  68602. */
  68603. function publishReplay(bufferSize, windowTime, scheduler) {
  68604. if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }
  68605. if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }
  68606. return multicast_1.multicast.call(this, new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler));
  68607. }
  68608. exports.publishReplay = publishReplay;
  68609. //# sourceMappingURL=publishReplay.js.map
  68610. /***/ },
  68611. /* 908 */
  68612. /***/ function(module, exports, __webpack_require__) {
  68613. "use strict";
  68614. "use strict";
  68615. var __extends = (this && this.__extends) || function (d, b) {
  68616. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  68617. function __() { this.constructor = d; }
  68618. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  68619. };
  68620. var Subscriber_1 = __webpack_require__(3);
  68621. var EmptyObservable_1 = __webpack_require__(74);
  68622. /**
  68623. * Returns an Observable that repeats the stream of items emitted by the source Observable at most count times,
  68624. * on a particular Scheduler.
  68625. *
  68626. * <img src="./img/repeat.png" width="100%">
  68627. *
  68628. * @param {Scheduler} [scheduler] the Scheduler to emit the items on.
  68629. * @param {number} [count] the number of times the source Observable items are repeated, a count of 0 will yield
  68630. * an empty Observable.
  68631. * @return {Observable} an Observable that repeats the stream of items emitted by the source Observable at most
  68632. * count times.
  68633. * @method repeat
  68634. * @owner Observable
  68635. */
  68636. function repeat(count) {
  68637. if (count === void 0) { count = -1; }
  68638. if (count === 0) {
  68639. return new EmptyObservable_1.EmptyObservable();
  68640. }
  68641. else if (count < 0) {
  68642. return this.lift(new RepeatOperator(-1, this));
  68643. }
  68644. else {
  68645. return this.lift(new RepeatOperator(count - 1, this));
  68646. }
  68647. }
  68648. exports.repeat = repeat;
  68649. var RepeatOperator = (function () {
  68650. function RepeatOperator(count, source) {
  68651. this.count = count;
  68652. this.source = source;
  68653. }
  68654. RepeatOperator.prototype.call = function (subscriber, source) {
  68655. return source._subscribe(new RepeatSubscriber(subscriber, this.count, this.source));
  68656. };
  68657. return RepeatOperator;
  68658. }());
  68659. /**
  68660. * We need this JSDoc comment for affecting ESDoc.
  68661. * @ignore
  68662. * @extends {Ignored}
  68663. */
  68664. var RepeatSubscriber = (function (_super) {
  68665. __extends(RepeatSubscriber, _super);
  68666. function RepeatSubscriber(destination, count, source) {
  68667. _super.call(this, destination);
  68668. this.count = count;
  68669. this.source = source;
  68670. }
  68671. RepeatSubscriber.prototype.complete = function () {
  68672. if (!this.isStopped) {
  68673. var _a = this, source = _a.source, count = _a.count;
  68674. if (count === 0) {
  68675. return _super.prototype.complete.call(this);
  68676. }
  68677. else if (count > -1) {
  68678. this.count = count - 1;
  68679. }
  68680. this.unsubscribe();
  68681. this.isStopped = false;
  68682. this.closed = false;
  68683. source.subscribe(this);
  68684. }
  68685. };
  68686. return RepeatSubscriber;
  68687. }(Subscriber_1.Subscriber));
  68688. //# sourceMappingURL=repeat.js.map
  68689. /***/ },
  68690. /* 909 */
  68691. /***/ function(module, exports, __webpack_require__) {
  68692. "use strict";
  68693. "use strict";
  68694. var __extends = (this && this.__extends) || function (d, b) {
  68695. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  68696. function __() { this.constructor = d; }
  68697. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  68698. };
  68699. var Subject_1 = __webpack_require__(15);
  68700. var tryCatch_1 = __webpack_require__(24);
  68701. var errorObject_1 = __webpack_require__(23);
  68702. var OuterSubscriber_1 = __webpack_require__(6);
  68703. var subscribeToResult_1 = __webpack_require__(7);
  68704. /**
  68705. * Returns an Observable that emits the same values as the source observable with the exception of a `complete`.
  68706. * A `complete` will cause the emission of the Throwable that cause the complete to the Observable returned from
  68707. * notificationHandler. If that Observable calls onComplete or `complete` then retry will call `complete` or `error`
  68708. * on the child subscription. Otherwise, this Observable will resubscribe to the source observable, on a particular
  68709. * Scheduler.
  68710. *
  68711. * <img src="./img/repeatWhen.png" width="100%">
  68712. *
  68713. * @param {notificationHandler} receives an Observable of notifications with which a user can `complete` or `error`,
  68714. * aborting the retry.
  68715. * @param {scheduler} the Scheduler on which to subscribe to the source Observable.
  68716. * @return {Observable} the source Observable modified with retry logic.
  68717. * @method repeatWhen
  68718. * @owner Observable
  68719. */
  68720. function repeatWhen(notifier) {
  68721. return this.lift(new RepeatWhenOperator(notifier, this));
  68722. }
  68723. exports.repeatWhen = repeatWhen;
  68724. var RepeatWhenOperator = (function () {
  68725. function RepeatWhenOperator(notifier, source) {
  68726. this.notifier = notifier;
  68727. this.source = source;
  68728. }
  68729. RepeatWhenOperator.prototype.call = function (subscriber, source) {
  68730. return source._subscribe(new RepeatWhenSubscriber(subscriber, this.notifier, this.source));
  68731. };
  68732. return RepeatWhenOperator;
  68733. }());
  68734. /**
  68735. * We need this JSDoc comment for affecting ESDoc.
  68736. * @ignore
  68737. * @extends {Ignored}
  68738. */
  68739. var RepeatWhenSubscriber = (function (_super) {
  68740. __extends(RepeatWhenSubscriber, _super);
  68741. function RepeatWhenSubscriber(destination, notifier, source) {
  68742. _super.call(this, destination);
  68743. this.notifier = notifier;
  68744. this.source = source;
  68745. }
  68746. RepeatWhenSubscriber.prototype.complete = function () {
  68747. if (!this.isStopped) {
  68748. var notifications = this.notifications;
  68749. var retries = this.retries;
  68750. var retriesSubscription = this.retriesSubscription;
  68751. if (!retries) {
  68752. notifications = new Subject_1.Subject();
  68753. retries = tryCatch_1.tryCatch(this.notifier)(notifications);
  68754. if (retries === errorObject_1.errorObject) {
  68755. return _super.prototype.complete.call(this);
  68756. }
  68757. retriesSubscription = subscribeToResult_1.subscribeToResult(this, retries);
  68758. }
  68759. else {
  68760. this.notifications = null;
  68761. this.retriesSubscription = null;
  68762. }
  68763. this.unsubscribe();
  68764. this.closed = false;
  68765. this.notifications = notifications;
  68766. this.retries = retries;
  68767. this.retriesSubscription = retriesSubscription;
  68768. notifications.next();
  68769. }
  68770. };
  68771. RepeatWhenSubscriber.prototype._unsubscribe = function () {
  68772. var _a = this, notifications = _a.notifications, retriesSubscription = _a.retriesSubscription;
  68773. if (notifications) {
  68774. notifications.unsubscribe();
  68775. this.notifications = null;
  68776. }
  68777. if (retriesSubscription) {
  68778. retriesSubscription.unsubscribe();
  68779. this.retriesSubscription = null;
  68780. }
  68781. this.retries = null;
  68782. };
  68783. RepeatWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  68784. var _a = this, notifications = _a.notifications, retries = _a.retries, retriesSubscription = _a.retriesSubscription;
  68785. this.notifications = null;
  68786. this.retries = null;
  68787. this.retriesSubscription = null;
  68788. this.unsubscribe();
  68789. this.isStopped = false;
  68790. this.closed = false;
  68791. this.notifications = notifications;
  68792. this.retries = retries;
  68793. this.retriesSubscription = retriesSubscription;
  68794. this.source.subscribe(this);
  68795. };
  68796. return RepeatWhenSubscriber;
  68797. }(OuterSubscriber_1.OuterSubscriber));
  68798. //# sourceMappingURL=repeatWhen.js.map
  68799. /***/ },
  68800. /* 910 */
  68801. /***/ function(module, exports, __webpack_require__) {
  68802. "use strict";
  68803. "use strict";
  68804. var __extends = (this && this.__extends) || function (d, b) {
  68805. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  68806. function __() { this.constructor = d; }
  68807. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  68808. };
  68809. var Subscriber_1 = __webpack_require__(3);
  68810. /**
  68811. * Returns an Observable that mirrors the source Observable, resubscribing to it if it calls `error` and the
  68812. * predicate returns true for that specific exception and retry count.
  68813. * If the source Observable calls `error`, this method will resubscribe to the source Observable for a maximum of
  68814. * count resubscriptions (given as a number parameter) rather than propagating the `error` call.
  68815. *
  68816. * <img src="./img/retry.png" width="100%">
  68817. *
  68818. * Any and all items emitted by the source Observable will be emitted by the resulting Observable, even those emitted
  68819. * during failed subscriptions. For example, if an Observable fails at first but emits [1, 2] then succeeds the second
  68820. * time and emits: [1, 2, 3, 4, 5] then the complete stream of emissions and notifications
  68821. * would be: [1, 2, 1, 2, 3, 4, 5, `complete`].
  68822. * @param {number} number of retry attempts before failing.
  68823. * @return {Observable} the source Observable modified with the retry logic.
  68824. * @method retry
  68825. * @owner Observable
  68826. */
  68827. function retry(count) {
  68828. if (count === void 0) { count = -1; }
  68829. return this.lift(new RetryOperator(count, this));
  68830. }
  68831. exports.retry = retry;
  68832. var RetryOperator = (function () {
  68833. function RetryOperator(count, source) {
  68834. this.count = count;
  68835. this.source = source;
  68836. }
  68837. RetryOperator.prototype.call = function (subscriber, source) {
  68838. return source._subscribe(new RetrySubscriber(subscriber, this.count, this.source));
  68839. };
  68840. return RetryOperator;
  68841. }());
  68842. /**
  68843. * We need this JSDoc comment for affecting ESDoc.
  68844. * @ignore
  68845. * @extends {Ignored}
  68846. */
  68847. var RetrySubscriber = (function (_super) {
  68848. __extends(RetrySubscriber, _super);
  68849. function RetrySubscriber(destination, count, source) {
  68850. _super.call(this, destination);
  68851. this.count = count;
  68852. this.source = source;
  68853. }
  68854. RetrySubscriber.prototype.error = function (err) {
  68855. if (!this.isStopped) {
  68856. var _a = this, source = _a.source, count = _a.count;
  68857. if (count === 0) {
  68858. return _super.prototype.error.call(this, err);
  68859. }
  68860. else if (count > -1) {
  68861. this.count = count - 1;
  68862. }
  68863. this.unsubscribe();
  68864. this.isStopped = false;
  68865. this.closed = false;
  68866. source.subscribe(this);
  68867. }
  68868. };
  68869. return RetrySubscriber;
  68870. }(Subscriber_1.Subscriber));
  68871. //# sourceMappingURL=retry.js.map
  68872. /***/ },
  68873. /* 911 */
  68874. /***/ function(module, exports, __webpack_require__) {
  68875. "use strict";
  68876. "use strict";
  68877. var __extends = (this && this.__extends) || function (d, b) {
  68878. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  68879. function __() { this.constructor = d; }
  68880. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  68881. };
  68882. var Subject_1 = __webpack_require__(15);
  68883. var tryCatch_1 = __webpack_require__(24);
  68884. var errorObject_1 = __webpack_require__(23);
  68885. var OuterSubscriber_1 = __webpack_require__(6);
  68886. var subscribeToResult_1 = __webpack_require__(7);
  68887. /**
  68888. * Returns an Observable that emits the same values as the source observable with the exception of an `error`.
  68889. * An `error` will cause the emission of the Throwable that cause the error to the Observable returned from
  68890. * notificationHandler. If that Observable calls onComplete or `error` then retry will call `complete` or `error`
  68891. * on the child subscription. Otherwise, this Observable will resubscribe to the source observable, on a particular
  68892. * Scheduler.
  68893. *
  68894. * <img src="./img/retryWhen.png" width="100%">
  68895. *
  68896. * @param {notificationHandler} receives an Observable of notifications with which a user can `complete` or `error`,
  68897. * aborting the retry.
  68898. * @param {scheduler} the Scheduler on which to subscribe to the source Observable.
  68899. * @return {Observable} the source Observable modified with retry logic.
  68900. * @method retryWhen
  68901. * @owner Observable
  68902. */
  68903. function retryWhen(notifier) {
  68904. return this.lift(new RetryWhenOperator(notifier, this));
  68905. }
  68906. exports.retryWhen = retryWhen;
  68907. var RetryWhenOperator = (function () {
  68908. function RetryWhenOperator(notifier, source) {
  68909. this.notifier = notifier;
  68910. this.source = source;
  68911. }
  68912. RetryWhenOperator.prototype.call = function (subscriber, source) {
  68913. return source._subscribe(new RetryWhenSubscriber(subscriber, this.notifier, this.source));
  68914. };
  68915. return RetryWhenOperator;
  68916. }());
  68917. /**
  68918. * We need this JSDoc comment for affecting ESDoc.
  68919. * @ignore
  68920. * @extends {Ignored}
  68921. */
  68922. var RetryWhenSubscriber = (function (_super) {
  68923. __extends(RetryWhenSubscriber, _super);
  68924. function RetryWhenSubscriber(destination, notifier, source) {
  68925. _super.call(this, destination);
  68926. this.notifier = notifier;
  68927. this.source = source;
  68928. }
  68929. RetryWhenSubscriber.prototype.error = function (err) {
  68930. if (!this.isStopped) {
  68931. var errors = this.errors;
  68932. var retries = this.retries;
  68933. var retriesSubscription = this.retriesSubscription;
  68934. if (!retries) {
  68935. errors = new Subject_1.Subject();
  68936. retries = tryCatch_1.tryCatch(this.notifier)(errors);
  68937. if (retries === errorObject_1.errorObject) {
  68938. return _super.prototype.error.call(this, errorObject_1.errorObject.e);
  68939. }
  68940. retriesSubscription = subscribeToResult_1.subscribeToResult(this, retries);
  68941. }
  68942. else {
  68943. this.errors = null;
  68944. this.retriesSubscription = null;
  68945. }
  68946. this.unsubscribe();
  68947. this.closed = false;
  68948. this.errors = errors;
  68949. this.retries = retries;
  68950. this.retriesSubscription = retriesSubscription;
  68951. errors.next(err);
  68952. }
  68953. };
  68954. RetryWhenSubscriber.prototype._unsubscribe = function () {
  68955. var _a = this, errors = _a.errors, retriesSubscription = _a.retriesSubscription;
  68956. if (errors) {
  68957. errors.unsubscribe();
  68958. this.errors = null;
  68959. }
  68960. if (retriesSubscription) {
  68961. retriesSubscription.unsubscribe();
  68962. this.retriesSubscription = null;
  68963. }
  68964. this.retries = null;
  68965. };
  68966. RetryWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  68967. var _a = this, errors = _a.errors, retries = _a.retries, retriesSubscription = _a.retriesSubscription;
  68968. this.errors = null;
  68969. this.retries = null;
  68970. this.retriesSubscription = null;
  68971. this.unsubscribe();
  68972. this.isStopped = false;
  68973. this.closed = false;
  68974. this.errors = errors;
  68975. this.retries = retries;
  68976. this.retriesSubscription = retriesSubscription;
  68977. this.source.subscribe(this);
  68978. };
  68979. return RetryWhenSubscriber;
  68980. }(OuterSubscriber_1.OuterSubscriber));
  68981. //# sourceMappingURL=retryWhen.js.map
  68982. /***/ },
  68983. /* 912 */
  68984. /***/ function(module, exports, __webpack_require__) {
  68985. "use strict";
  68986. "use strict";
  68987. var __extends = (this && this.__extends) || function (d, b) {
  68988. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  68989. function __() { this.constructor = d; }
  68990. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  68991. };
  68992. var OuterSubscriber_1 = __webpack_require__(6);
  68993. var subscribeToResult_1 = __webpack_require__(7);
  68994. /**
  68995. * Emits the most recently emitted value from the source Observable whenever
  68996. * another Observable, the `notifier`, emits.
  68997. *
  68998. * <span class="informal">It's like {@link sampleTime}, but samples whenever
  68999. * the `notifier` Observable emits something.</span>
  69000. *
  69001. * <img src="./img/sample.png" width="100%">
  69002. *
  69003. * Whenever the `notifier` Observable emits a value or completes, `sample`
  69004. * looks at the source Observable and emits whichever value it has most recently
  69005. * emitted since the previous sampling, unless the source has not emitted
  69006. * anything since the previous sampling. The `notifier` is subscribed to as soon
  69007. * as the output Observable is subscribed.
  69008. *
  69009. * @example <caption>On every click, sample the most recent "seconds" timer</caption>
  69010. * var seconds = Rx.Observable.interval(1000);
  69011. * var clicks = Rx.Observable.fromEvent(document, 'click');
  69012. * var result = seconds.sample(clicks);
  69013. * result.subscribe(x => console.log(x));
  69014. *
  69015. * @see {@link audit}
  69016. * @see {@link debounce}
  69017. * @see {@link sampleTime}
  69018. * @see {@link throttle}
  69019. *
  69020. * @param {Observable<any>} notifier The Observable to use for sampling the
  69021. * source Observable.
  69022. * @return {Observable<T>} An Observable that emits the results of sampling the
  69023. * values emitted by the source Observable whenever the notifier Observable
  69024. * emits value or completes.
  69025. * @method sample
  69026. * @owner Observable
  69027. */
  69028. function sample(notifier) {
  69029. return this.lift(new SampleOperator(notifier));
  69030. }
  69031. exports.sample = sample;
  69032. var SampleOperator = (function () {
  69033. function SampleOperator(notifier) {
  69034. this.notifier = notifier;
  69035. }
  69036. SampleOperator.prototype.call = function (subscriber, source) {
  69037. return source._subscribe(new SampleSubscriber(subscriber, this.notifier));
  69038. };
  69039. return SampleOperator;
  69040. }());
  69041. /**
  69042. * We need this JSDoc comment for affecting ESDoc.
  69043. * @ignore
  69044. * @extends {Ignored}
  69045. */
  69046. var SampleSubscriber = (function (_super) {
  69047. __extends(SampleSubscriber, _super);
  69048. function SampleSubscriber(destination, notifier) {
  69049. _super.call(this, destination);
  69050. this.hasValue = false;
  69051. this.add(subscribeToResult_1.subscribeToResult(this, notifier));
  69052. }
  69053. SampleSubscriber.prototype._next = function (value) {
  69054. this.value = value;
  69055. this.hasValue = true;
  69056. };
  69057. SampleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  69058. this.emitValue();
  69059. };
  69060. SampleSubscriber.prototype.notifyComplete = function () {
  69061. this.emitValue();
  69062. };
  69063. SampleSubscriber.prototype.emitValue = function () {
  69064. if (this.hasValue) {
  69065. this.hasValue = false;
  69066. this.destination.next(this.value);
  69067. }
  69068. };
  69069. return SampleSubscriber;
  69070. }(OuterSubscriber_1.OuterSubscriber));
  69071. //# sourceMappingURL=sample.js.map
  69072. /***/ },
  69073. /* 913 */
  69074. /***/ function(module, exports, __webpack_require__) {
  69075. "use strict";
  69076. "use strict";
  69077. var __extends = (this && this.__extends) || function (d, b) {
  69078. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  69079. function __() { this.constructor = d; }
  69080. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  69081. };
  69082. var Subscriber_1 = __webpack_require__(3);
  69083. var async_1 = __webpack_require__(33);
  69084. /**
  69085. * Emits the most recently emitted value from the source Observable within
  69086. * periodic time intervals.
  69087. *
  69088. * <span class="informal">Samples the source Observable at periodic time
  69089. * intervals, emitting what it samples.</span>
  69090. *
  69091. * <img src="./img/sampleTime.png" width="100%">
  69092. *
  69093. * `sampleTime` periodically looks at the source Observable and emits whichever
  69094. * value it has most recently emitted since the previous sampling, unless the
  69095. * source has not emitted anything since the previous sampling. The sampling
  69096. * happens periodically in time every `period` milliseconds (or the time unit
  69097. * defined by the optional `scheduler` argument). The sampling starts as soon as
  69098. * the output Observable is subscribed.
  69099. *
  69100. * @example <caption>Every second, emit the most recent click at most once</caption>
  69101. * var clicks = Rx.Observable.fromEvent(document, 'click');
  69102. * var result = clicks.sampleTime(1000);
  69103. * result.subscribe(x => console.log(x));
  69104. *
  69105. * @see {@link auditTime}
  69106. * @see {@link debounceTime}
  69107. * @see {@link delay}
  69108. * @see {@link sample}
  69109. * @see {@link throttleTime}
  69110. *
  69111. * @param {number} period The sampling period expressed in milliseconds or the
  69112. * time unit determined internally by the optional `scheduler`.
  69113. * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for
  69114. * managing the timers that handle the sampling.
  69115. * @return {Observable<T>} An Observable that emits the results of sampling the
  69116. * values emitted by the source Observable at the specified time interval.
  69117. * @method sampleTime
  69118. * @owner Observable
  69119. */
  69120. function sampleTime(period, scheduler) {
  69121. if (scheduler === void 0) { scheduler = async_1.async; }
  69122. return this.lift(new SampleTimeOperator(period, scheduler));
  69123. }
  69124. exports.sampleTime = sampleTime;
  69125. var SampleTimeOperator = (function () {
  69126. function SampleTimeOperator(period, scheduler) {
  69127. this.period = period;
  69128. this.scheduler = scheduler;
  69129. }
  69130. SampleTimeOperator.prototype.call = function (subscriber, source) {
  69131. return source._subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));
  69132. };
  69133. return SampleTimeOperator;
  69134. }());
  69135. /**
  69136. * We need this JSDoc comment for affecting ESDoc.
  69137. * @ignore
  69138. * @extends {Ignored}
  69139. */
  69140. var SampleTimeSubscriber = (function (_super) {
  69141. __extends(SampleTimeSubscriber, _super);
  69142. function SampleTimeSubscriber(destination, period, scheduler) {
  69143. _super.call(this, destination);
  69144. this.period = period;
  69145. this.scheduler = scheduler;
  69146. this.hasValue = false;
  69147. this.add(scheduler.schedule(dispatchNotification, period, { subscriber: this, period: period }));
  69148. }
  69149. SampleTimeSubscriber.prototype._next = function (value) {
  69150. this.lastValue = value;
  69151. this.hasValue = true;
  69152. };
  69153. SampleTimeSubscriber.prototype.notifyNext = function () {
  69154. if (this.hasValue) {
  69155. this.hasValue = false;
  69156. this.destination.next(this.lastValue);
  69157. }
  69158. };
  69159. return SampleTimeSubscriber;
  69160. }(Subscriber_1.Subscriber));
  69161. function dispatchNotification(state) {
  69162. var subscriber = state.subscriber, period = state.period;
  69163. subscriber.notifyNext();
  69164. this.schedule(state, period);
  69165. }
  69166. //# sourceMappingURL=sampleTime.js.map
  69167. /***/ },
  69168. /* 914 */
  69169. /***/ function(module, exports, __webpack_require__) {
  69170. "use strict";
  69171. "use strict";
  69172. var __extends = (this && this.__extends) || function (d, b) {
  69173. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  69174. function __() { this.constructor = d; }
  69175. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  69176. };
  69177. var Subscriber_1 = __webpack_require__(3);
  69178. /**
  69179. * Applies an accumulator function over the source Observable, and returns each
  69180. * intermediate result, with an optional seed value.
  69181. *
  69182. * <span class="informal">It's like {@link reduce}, but emits the current
  69183. * accumulation whenever the source emits a value.</span>
  69184. *
  69185. * <img src="./img/scan.png" width="100%">
  69186. *
  69187. * Combines together all values emitted on the source, using an accumulator
  69188. * function that knows how to join a new source value into the accumulation from
  69189. * the past. Is similar to {@link reduce}, but emits the intermediate
  69190. * accumulations.
  69191. *
  69192. * Returns an Observable that applies a specified `accumulator` function to each
  69193. * item emitted by the source Observable. If a `seed` value is specified, then
  69194. * that value will be used as the initial value for the accumulator. If no seed
  69195. * value is specified, the first item of the source is used as the seed.
  69196. *
  69197. * @example <caption>Count the number of click events</caption>
  69198. * var clicks = Rx.Observable.fromEvent(document, 'click');
  69199. * var ones = clicks.mapTo(1);
  69200. * var seed = 0;
  69201. * var count = ones.scan((acc, one) => acc + one, seed);
  69202. * count.subscribe(x => console.log(x));
  69203. *
  69204. * @see {@link expand}
  69205. * @see {@link mergeScan}
  69206. * @see {@link reduce}
  69207. *
  69208. * @param {function(acc: R, value: T, index: number): R} accumulator
  69209. * The accumulator function called on each source value.
  69210. * @param {T|R} [seed] The initial accumulation value.
  69211. * @return {Observable<R>} An observable of the accumulated values.
  69212. * @method scan
  69213. * @owner Observable
  69214. */
  69215. function scan(accumulator, seed) {
  69216. return this.lift(new ScanOperator(accumulator, seed));
  69217. }
  69218. exports.scan = scan;
  69219. var ScanOperator = (function () {
  69220. function ScanOperator(accumulator, seed) {
  69221. this.accumulator = accumulator;
  69222. this.seed = seed;
  69223. }
  69224. ScanOperator.prototype.call = function (subscriber, source) {
  69225. return source._subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed));
  69226. };
  69227. return ScanOperator;
  69228. }());
  69229. /**
  69230. * We need this JSDoc comment for affecting ESDoc.
  69231. * @ignore
  69232. * @extends {Ignored}
  69233. */
  69234. var ScanSubscriber = (function (_super) {
  69235. __extends(ScanSubscriber, _super);
  69236. function ScanSubscriber(destination, accumulator, seed) {
  69237. _super.call(this, destination);
  69238. this.accumulator = accumulator;
  69239. this.index = 0;
  69240. this.accumulatorSet = false;
  69241. this.seed = seed;
  69242. this.accumulatorSet = typeof seed !== 'undefined';
  69243. }
  69244. Object.defineProperty(ScanSubscriber.prototype, "seed", {
  69245. get: function () {
  69246. return this._seed;
  69247. },
  69248. set: function (value) {
  69249. this.accumulatorSet = true;
  69250. this._seed = value;
  69251. },
  69252. enumerable: true,
  69253. configurable: true
  69254. });
  69255. ScanSubscriber.prototype._next = function (value) {
  69256. if (!this.accumulatorSet) {
  69257. this.seed = value;
  69258. this.destination.next(value);
  69259. }
  69260. else {
  69261. return this._tryNext(value);
  69262. }
  69263. };
  69264. ScanSubscriber.prototype._tryNext = function (value) {
  69265. var index = this.index++;
  69266. var result;
  69267. try {
  69268. result = this.accumulator(this.seed, value, index);
  69269. }
  69270. catch (err) {
  69271. this.destination.error(err);
  69272. }
  69273. this.seed = result;
  69274. this.destination.next(result);
  69275. };
  69276. return ScanSubscriber;
  69277. }(Subscriber_1.Subscriber));
  69278. //# sourceMappingURL=scan.js.map
  69279. /***/ },
  69280. /* 915 */
  69281. /***/ function(module, exports, __webpack_require__) {
  69282. "use strict";
  69283. "use strict";
  69284. var __extends = (this && this.__extends) || function (d, b) {
  69285. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  69286. function __() { this.constructor = d; }
  69287. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  69288. };
  69289. var Subscriber_1 = __webpack_require__(3);
  69290. var tryCatch_1 = __webpack_require__(24);
  69291. var errorObject_1 = __webpack_require__(23);
  69292. /**
  69293. * Compares all values of two observables in sequence using an optional comparor function
  69294. * and returns an observable of a single boolean value representing whether or not the two sequences
  69295. * are equal.
  69296. *
  69297. * <span class="informal">Checks to see of all values emitted by both observables are equal, in order.</span>
  69298. *
  69299. * <img src="./img/sequenceEqual.png" width="100%">
  69300. *
  69301. * `sequenceEqual` subscribes to two observables and buffers incoming values from each observable. Whenever either
  69302. * observable emits a value, the value is buffered and the buffers are shifted and compared from the bottom
  69303. * up; If any value pair doesn't match, the returned observable will emit `false` and complete. If one of the
  69304. * observables completes, the operator will wait for the other observable to complete; If the other
  69305. * observable emits before completing, the returned observable will emit `false` and complete. If one observable never
  69306. * completes or emits after the other complets, the returned observable will never complete.
  69307. *
  69308. * @example <caption>figure out if the Konami code matches</caption>
  69309. * var code = Observable.from([
  69310. * "ArrowUp",
  69311. * "ArrowUp",
  69312. * "ArrowDown",
  69313. * "ArrowDown",
  69314. * "ArrowLeft",
  69315. * "ArrowRight",
  69316. * "ArrowLeft",
  69317. * "ArrowRight",
  69318. * "KeyB",
  69319. * "KeyA",
  69320. * "Enter" // no start key, clearly.
  69321. * ]);
  69322. *
  69323. * var keys = Rx.Observable.fromEvent(document, 'keyup')
  69324. * .map(e => e.code);
  69325. * var matches = keys.bufferCount(11, 1)
  69326. * .mergeMap(
  69327. * last11 =>
  69328. * Rx.Observable.from(last11)
  69329. * .sequenceEqual(code)
  69330. * );
  69331. * matches.subscribe(matched => console.log('Successful cheat at Contra? ', matched));
  69332. *
  69333. * @see {@link combineLatest}
  69334. * @see {@link zip}
  69335. * @see {@link withLatestFrom}
  69336. *
  69337. * @param {Observable} compareTo the observable sequence to compare the source sequence to.
  69338. * @param {function} [comparor] An optional function to compare each value pair
  69339. * @return {Observable} An Observable of a single boolean value representing whether or not
  69340. * the values emitted by both observables were equal in sequence
  69341. * @method sequenceEqual
  69342. * @owner Observable
  69343. */
  69344. function sequenceEqual(compareTo, comparor) {
  69345. return this.lift(new SequenceEqualOperator(compareTo, comparor));
  69346. }
  69347. exports.sequenceEqual = sequenceEqual;
  69348. var SequenceEqualOperator = (function () {
  69349. function SequenceEqualOperator(compareTo, comparor) {
  69350. this.compareTo = compareTo;
  69351. this.comparor = comparor;
  69352. }
  69353. SequenceEqualOperator.prototype.call = function (subscriber, source) {
  69354. return source._subscribe(new SequenceEqualSubscriber(subscriber, this.compareTo, this.comparor));
  69355. };
  69356. return SequenceEqualOperator;
  69357. }());
  69358. exports.SequenceEqualOperator = SequenceEqualOperator;
  69359. /**
  69360. * We need this JSDoc comment for affecting ESDoc.
  69361. * @ignore
  69362. * @extends {Ignored}
  69363. */
  69364. var SequenceEqualSubscriber = (function (_super) {
  69365. __extends(SequenceEqualSubscriber, _super);
  69366. function SequenceEqualSubscriber(destination, compareTo, comparor) {
  69367. _super.call(this, destination);
  69368. this.compareTo = compareTo;
  69369. this.comparor = comparor;
  69370. this._a = [];
  69371. this._b = [];
  69372. this._oneComplete = false;
  69373. this.add(compareTo.subscribe(new SequenceEqualCompareToSubscriber(destination, this)));
  69374. }
  69375. SequenceEqualSubscriber.prototype._next = function (value) {
  69376. if (this._oneComplete && this._b.length === 0) {
  69377. this.emit(false);
  69378. }
  69379. else {
  69380. this._a.push(value);
  69381. this.checkValues();
  69382. }
  69383. };
  69384. SequenceEqualSubscriber.prototype._complete = function () {
  69385. if (this._oneComplete) {
  69386. this.emit(this._a.length === 0 && this._b.length === 0);
  69387. }
  69388. else {
  69389. this._oneComplete = true;
  69390. }
  69391. };
  69392. SequenceEqualSubscriber.prototype.checkValues = function () {
  69393. var _c = this, _a = _c._a, _b = _c._b, comparor = _c.comparor;
  69394. while (_a.length > 0 && _b.length > 0) {
  69395. var a = _a.shift();
  69396. var b = _b.shift();
  69397. var areEqual = false;
  69398. if (comparor) {
  69399. areEqual = tryCatch_1.tryCatch(comparor)(a, b);
  69400. if (areEqual === errorObject_1.errorObject) {
  69401. this.destination.error(errorObject_1.errorObject.e);
  69402. }
  69403. }
  69404. else {
  69405. areEqual = a === b;
  69406. }
  69407. if (!areEqual) {
  69408. this.emit(false);
  69409. }
  69410. }
  69411. };
  69412. SequenceEqualSubscriber.prototype.emit = function (value) {
  69413. var destination = this.destination;
  69414. destination.next(value);
  69415. destination.complete();
  69416. };
  69417. SequenceEqualSubscriber.prototype.nextB = function (value) {
  69418. if (this._oneComplete && this._a.length === 0) {
  69419. this.emit(false);
  69420. }
  69421. else {
  69422. this._b.push(value);
  69423. this.checkValues();
  69424. }
  69425. };
  69426. return SequenceEqualSubscriber;
  69427. }(Subscriber_1.Subscriber));
  69428. exports.SequenceEqualSubscriber = SequenceEqualSubscriber;
  69429. var SequenceEqualCompareToSubscriber = (function (_super) {
  69430. __extends(SequenceEqualCompareToSubscriber, _super);
  69431. function SequenceEqualCompareToSubscriber(destination, parent) {
  69432. _super.call(this, destination);
  69433. this.parent = parent;
  69434. }
  69435. SequenceEqualCompareToSubscriber.prototype._next = function (value) {
  69436. this.parent.nextB(value);
  69437. };
  69438. SequenceEqualCompareToSubscriber.prototype._error = function (err) {
  69439. this.parent.error(err);
  69440. };
  69441. SequenceEqualCompareToSubscriber.prototype._complete = function () {
  69442. this.parent._complete();
  69443. };
  69444. return SequenceEqualCompareToSubscriber;
  69445. }(Subscriber_1.Subscriber));
  69446. //# sourceMappingURL=sequenceEqual.js.map
  69447. /***/ },
  69448. /* 916 */
  69449. /***/ function(module, exports, __webpack_require__) {
  69450. "use strict";
  69451. "use strict";
  69452. var multicast_1 = __webpack_require__(102);
  69453. var Subject_1 = __webpack_require__(15);
  69454. function shareSubjectFactory() {
  69455. return new Subject_1.Subject();
  69456. }
  69457. /**
  69458. * Returns a new Observable that multicasts (shares) the original Observable. As long as there is at least one
  69459. * Subscriber this Observable will be subscribed and emitting data. When all subscribers have unsubscribed it will
  69460. * unsubscribe from the source Observable. Because the Observable is multicasting it makes the stream `hot`.
  69461. * This is an alias for .publish().refCount().
  69462. *
  69463. * <img src="./img/share.png" width="100%">
  69464. *
  69465. * @return {Observable<T>} an Observable that upon connection causes the source Observable to emit items to its Observers
  69466. * @method share
  69467. * @owner Observable
  69468. */
  69469. function share() {
  69470. return multicast_1.multicast.call(this, shareSubjectFactory).refCount();
  69471. }
  69472. exports.share = share;
  69473. ;
  69474. //# sourceMappingURL=share.js.map
  69475. /***/ },
  69476. /* 917 */
  69477. /***/ function(module, exports, __webpack_require__) {
  69478. "use strict";
  69479. "use strict";
  69480. var __extends = (this && this.__extends) || function (d, b) {
  69481. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  69482. function __() { this.constructor = d; }
  69483. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  69484. };
  69485. var Subscriber_1 = __webpack_require__(3);
  69486. var EmptyError_1 = __webpack_require__(125);
  69487. /**
  69488. * Returns an Observable that emits the single item emitted by the source Observable that matches a specified
  69489. * predicate, if that Observable emits one such item. If the source Observable emits more than one such item or no
  69490. * such items, notify of an IllegalArgumentException or NoSuchElementException respectively.
  69491. *
  69492. * <img src="./img/single.png" width="100%">
  69493. *
  69494. * @throws {EmptyError} Delivers an EmptyError to the Observer's `error`
  69495. * callback if the Observable completes before any `next` notification was sent.
  69496. * @param {Function} a predicate function to evaluate items emitted by the source Observable.
  69497. * @return {Observable<T>} an Observable that emits the single item emitted by the source Observable that matches
  69498. * the predicate.
  69499. .
  69500. * @method single
  69501. * @owner Observable
  69502. */
  69503. function single(predicate) {
  69504. return this.lift(new SingleOperator(predicate, this));
  69505. }
  69506. exports.single = single;
  69507. var SingleOperator = (function () {
  69508. function SingleOperator(predicate, source) {
  69509. this.predicate = predicate;
  69510. this.source = source;
  69511. }
  69512. SingleOperator.prototype.call = function (subscriber, source) {
  69513. return source._subscribe(new SingleSubscriber(subscriber, this.predicate, this.source));
  69514. };
  69515. return SingleOperator;
  69516. }());
  69517. /**
  69518. * We need this JSDoc comment for affecting ESDoc.
  69519. * @ignore
  69520. * @extends {Ignored}
  69521. */
  69522. var SingleSubscriber = (function (_super) {
  69523. __extends(SingleSubscriber, _super);
  69524. function SingleSubscriber(destination, predicate, source) {
  69525. _super.call(this, destination);
  69526. this.predicate = predicate;
  69527. this.source = source;
  69528. this.seenValue = false;
  69529. this.index = 0;
  69530. }
  69531. SingleSubscriber.prototype.applySingleValue = function (value) {
  69532. if (this.seenValue) {
  69533. this.destination.error('Sequence contains more than one element');
  69534. }
  69535. else {
  69536. this.seenValue = true;
  69537. this.singleValue = value;
  69538. }
  69539. };
  69540. SingleSubscriber.prototype._next = function (value) {
  69541. var predicate = this.predicate;
  69542. this.index++;
  69543. if (predicate) {
  69544. this.tryNext(value);
  69545. }
  69546. else {
  69547. this.applySingleValue(value);
  69548. }
  69549. };
  69550. SingleSubscriber.prototype.tryNext = function (value) {
  69551. try {
  69552. var result = this.predicate(value, this.index, this.source);
  69553. if (result) {
  69554. this.applySingleValue(value);
  69555. }
  69556. }
  69557. catch (err) {
  69558. this.destination.error(err);
  69559. }
  69560. };
  69561. SingleSubscriber.prototype._complete = function () {
  69562. var destination = this.destination;
  69563. if (this.index > 0) {
  69564. destination.next(this.seenValue ? this.singleValue : undefined);
  69565. destination.complete();
  69566. }
  69567. else {
  69568. destination.error(new EmptyError_1.EmptyError);
  69569. }
  69570. };
  69571. return SingleSubscriber;
  69572. }(Subscriber_1.Subscriber));
  69573. //# sourceMappingURL=single.js.map
  69574. /***/ },
  69575. /* 918 */
  69576. /***/ function(module, exports, __webpack_require__) {
  69577. "use strict";
  69578. "use strict";
  69579. var __extends = (this && this.__extends) || function (d, b) {
  69580. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  69581. function __() { this.constructor = d; }
  69582. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  69583. };
  69584. var Subscriber_1 = __webpack_require__(3);
  69585. /**
  69586. * Returns an Observable that skips `n` items emitted by an Observable.
  69587. *
  69588. * <img src="./img/skip.png" width="100%">
  69589. *
  69590. * @param {Number} the `n` of times, items emitted by source Observable should be skipped.
  69591. * @return {Observable} an Observable that skips values emitted by the source Observable.
  69592. *
  69593. * @method skip
  69594. * @owner Observable
  69595. */
  69596. function skip(total) {
  69597. return this.lift(new SkipOperator(total));
  69598. }
  69599. exports.skip = skip;
  69600. var SkipOperator = (function () {
  69601. function SkipOperator(total) {
  69602. this.total = total;
  69603. }
  69604. SkipOperator.prototype.call = function (subscriber, source) {
  69605. return source._subscribe(new SkipSubscriber(subscriber, this.total));
  69606. };
  69607. return SkipOperator;
  69608. }());
  69609. /**
  69610. * We need this JSDoc comment for affecting ESDoc.
  69611. * @ignore
  69612. * @extends {Ignored}
  69613. */
  69614. var SkipSubscriber = (function (_super) {
  69615. __extends(SkipSubscriber, _super);
  69616. function SkipSubscriber(destination, total) {
  69617. _super.call(this, destination);
  69618. this.total = total;
  69619. this.count = 0;
  69620. }
  69621. SkipSubscriber.prototype._next = function (x) {
  69622. if (++this.count > this.total) {
  69623. this.destination.next(x);
  69624. }
  69625. };
  69626. return SkipSubscriber;
  69627. }(Subscriber_1.Subscriber));
  69628. //# sourceMappingURL=skip.js.map
  69629. /***/ },
  69630. /* 919 */
  69631. /***/ function(module, exports, __webpack_require__) {
  69632. "use strict";
  69633. "use strict";
  69634. var __extends = (this && this.__extends) || function (d, b) {
  69635. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  69636. function __() { this.constructor = d; }
  69637. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  69638. };
  69639. var OuterSubscriber_1 = __webpack_require__(6);
  69640. var subscribeToResult_1 = __webpack_require__(7);
  69641. /**
  69642. * Returns an Observable that skips items emitted by the source Observable until a second Observable emits an item.
  69643. *
  69644. * <img src="./img/skipUntil.png" width="100%">
  69645. *
  69646. * @param {Observable} the second Observable that has to emit an item before the source Observable's elements begin to
  69647. * be mirrored by the resulting Observable.
  69648. * @return {Observable<T>} an Observable that skips items from the source Observable until the second Observable emits
  69649. * an item, then emits the remaining items.
  69650. * @method skipUntil
  69651. * @owner Observable
  69652. */
  69653. function skipUntil(notifier) {
  69654. return this.lift(new SkipUntilOperator(notifier));
  69655. }
  69656. exports.skipUntil = skipUntil;
  69657. var SkipUntilOperator = (function () {
  69658. function SkipUntilOperator(notifier) {
  69659. this.notifier = notifier;
  69660. }
  69661. SkipUntilOperator.prototype.call = function (subscriber, source) {
  69662. return source._subscribe(new SkipUntilSubscriber(subscriber, this.notifier));
  69663. };
  69664. return SkipUntilOperator;
  69665. }());
  69666. /**
  69667. * We need this JSDoc comment for affecting ESDoc.
  69668. * @ignore
  69669. * @extends {Ignored}
  69670. */
  69671. var SkipUntilSubscriber = (function (_super) {
  69672. __extends(SkipUntilSubscriber, _super);
  69673. function SkipUntilSubscriber(destination, notifier) {
  69674. _super.call(this, destination);
  69675. this.hasValue = false;
  69676. this.isInnerStopped = false;
  69677. this.add(subscribeToResult_1.subscribeToResult(this, notifier));
  69678. }
  69679. SkipUntilSubscriber.prototype._next = function (value) {
  69680. if (this.hasValue) {
  69681. _super.prototype._next.call(this, value);
  69682. }
  69683. };
  69684. SkipUntilSubscriber.prototype._complete = function () {
  69685. if (this.isInnerStopped) {
  69686. _super.prototype._complete.call(this);
  69687. }
  69688. else {
  69689. this.unsubscribe();
  69690. }
  69691. };
  69692. SkipUntilSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  69693. this.hasValue = true;
  69694. };
  69695. SkipUntilSubscriber.prototype.notifyComplete = function () {
  69696. this.isInnerStopped = true;
  69697. if (this.isStopped) {
  69698. _super.prototype._complete.call(this);
  69699. }
  69700. };
  69701. return SkipUntilSubscriber;
  69702. }(OuterSubscriber_1.OuterSubscriber));
  69703. //# sourceMappingURL=skipUntil.js.map
  69704. /***/ },
  69705. /* 920 */
  69706. /***/ function(module, exports, __webpack_require__) {
  69707. "use strict";
  69708. "use strict";
  69709. var __extends = (this && this.__extends) || function (d, b) {
  69710. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  69711. function __() { this.constructor = d; }
  69712. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  69713. };
  69714. var Subscriber_1 = __webpack_require__(3);
  69715. /**
  69716. * Returns an Observable that skips all items emitted by the source Observable as long as a specified condition holds
  69717. * true, but emits all further source items as soon as the condition becomes false.
  69718. *
  69719. * <img src="./img/skipWhile.png" width="100%">
  69720. *
  69721. * @param {Function} predicate - a function to test each item emitted from the source Observable.
  69722. * @return {Observable<T>} an Observable that begins emitting items emitted by the source Observable when the
  69723. * specified predicate becomes false.
  69724. * @method skipWhile
  69725. * @owner Observable
  69726. */
  69727. function skipWhile(predicate) {
  69728. return this.lift(new SkipWhileOperator(predicate));
  69729. }
  69730. exports.skipWhile = skipWhile;
  69731. var SkipWhileOperator = (function () {
  69732. function SkipWhileOperator(predicate) {
  69733. this.predicate = predicate;
  69734. }
  69735. SkipWhileOperator.prototype.call = function (subscriber, source) {
  69736. return source._subscribe(new SkipWhileSubscriber(subscriber, this.predicate));
  69737. };
  69738. return SkipWhileOperator;
  69739. }());
  69740. /**
  69741. * We need this JSDoc comment for affecting ESDoc.
  69742. * @ignore
  69743. * @extends {Ignored}
  69744. */
  69745. var SkipWhileSubscriber = (function (_super) {
  69746. __extends(SkipWhileSubscriber, _super);
  69747. function SkipWhileSubscriber(destination, predicate) {
  69748. _super.call(this, destination);
  69749. this.predicate = predicate;
  69750. this.skipping = true;
  69751. this.index = 0;
  69752. }
  69753. SkipWhileSubscriber.prototype._next = function (value) {
  69754. var destination = this.destination;
  69755. if (this.skipping) {
  69756. this.tryCallPredicate(value);
  69757. }
  69758. if (!this.skipping) {
  69759. destination.next(value);
  69760. }
  69761. };
  69762. SkipWhileSubscriber.prototype.tryCallPredicate = function (value) {
  69763. try {
  69764. var result = this.predicate(value, this.index++);
  69765. this.skipping = Boolean(result);
  69766. }
  69767. catch (err) {
  69768. this.destination.error(err);
  69769. }
  69770. };
  69771. return SkipWhileSubscriber;
  69772. }(Subscriber_1.Subscriber));
  69773. //# sourceMappingURL=skipWhile.js.map
  69774. /***/ },
  69775. /* 921 */
  69776. /***/ function(module, exports, __webpack_require__) {
  69777. "use strict";
  69778. "use strict";
  69779. var ArrayObservable_1 = __webpack_require__(63);
  69780. var ScalarObservable_1 = __webpack_require__(257);
  69781. var EmptyObservable_1 = __webpack_require__(74);
  69782. var concat_1 = __webpack_require__(260);
  69783. var isScheduler_1 = __webpack_require__(75);
  69784. /**
  69785. * Returns an Observable that emits the items in a specified Iterable before it begins to emit items emitted by the
  69786. * source Observable.
  69787. *
  69788. * <img src="./img/startWith.png" width="100%">
  69789. *
  69790. * @param {Values} an Iterable that contains the items you want the modified Observable to emit first.
  69791. * @return {Observable} an Observable that emits the items in the specified Iterable and then emits the items
  69792. * emitted by the source Observable.
  69793. * @method startWith
  69794. * @owner Observable
  69795. */
  69796. function startWith() {
  69797. var array = [];
  69798. for (var _i = 0; _i < arguments.length; _i++) {
  69799. array[_i - 0] = arguments[_i];
  69800. }
  69801. var scheduler = array[array.length - 1];
  69802. if (isScheduler_1.isScheduler(scheduler)) {
  69803. array.pop();
  69804. }
  69805. else {
  69806. scheduler = null;
  69807. }
  69808. var len = array.length;
  69809. if (len === 1) {
  69810. return concat_1.concatStatic(new ScalarObservable_1.ScalarObservable(array[0], scheduler), this);
  69811. }
  69812. else if (len > 1) {
  69813. return concat_1.concatStatic(new ArrayObservable_1.ArrayObservable(array, scheduler), this);
  69814. }
  69815. else {
  69816. return concat_1.concatStatic(new EmptyObservable_1.EmptyObservable(scheduler), this);
  69817. }
  69818. }
  69819. exports.startWith = startWith;
  69820. //# sourceMappingURL=startWith.js.map
  69821. /***/ },
  69822. /* 922 */
  69823. /***/ function(module, exports, __webpack_require__) {
  69824. "use strict";
  69825. "use strict";
  69826. var SubscribeOnObservable_1 = __webpack_require__(840);
  69827. /**
  69828. * Asynchronously subscribes Observers to this Observable on the specified Scheduler.
  69829. *
  69830. * <img src="./img/subscribeOn.png" width="100%">
  69831. *
  69832. * @param {Scheduler} the Scheduler to perform subscription actions on.
  69833. * @return {Observable<T>} the source Observable modified so that its subscriptions happen on the specified Scheduler
  69834. .
  69835. * @method subscribeOn
  69836. * @owner Observable
  69837. */
  69838. function subscribeOn(scheduler, delay) {
  69839. if (delay === void 0) { delay = 0; }
  69840. return new SubscribeOnObservable_1.SubscribeOnObservable(this, delay, scheduler);
  69841. }
  69842. exports.subscribeOn = subscribeOn;
  69843. //# sourceMappingURL=subscribeOn.js.map
  69844. /***/ },
  69845. /* 923 */
  69846. /***/ function(module, exports, __webpack_require__) {
  69847. "use strict";
  69848. "use strict";
  69849. var __extends = (this && this.__extends) || function (d, b) {
  69850. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  69851. function __() { this.constructor = d; }
  69852. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  69853. };
  69854. var OuterSubscriber_1 = __webpack_require__(6);
  69855. var subscribeToResult_1 = __webpack_require__(7);
  69856. /**
  69857. * Converts a higher-order Observable into a first-order Observable by
  69858. * subscribing to only the most recently emitted of those inner Observables.
  69859. *
  69860. * <span class="informal">Flattens an Observable-of-Observables by dropping the
  69861. * previous inner Observable once a new one appears.</span>
  69862. *
  69863. * <img src="./img/switch.png" width="100%">
  69864. *
  69865. * `switch` subscribes to an Observable that emits Observables, also known as a
  69866. * higher-order Observable. Each time it observes one of these emitted inner
  69867. * Observables, the output Observable subscribes to the inner Observable and
  69868. * begins emitting the items emitted by that. So far, it behaves
  69869. * like {@link mergeAll}. However, when a new inner Observable is emitted,
  69870. * `switch` unsubscribes from the earlier-emitted inner Observable and
  69871. * subscribes to the new inner Observable and begins emitting items from it. It
  69872. * continues to behave like this for subsequent inner Observables.
  69873. *
  69874. * @example <caption>Rerun an interval Observable on every click event</caption>
  69875. * var clicks = Rx.Observable.fromEvent(document, 'click');
  69876. * // Each click event is mapped to an Observable that ticks every second
  69877. * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));
  69878. * var switched = higherOrder.switch();
  69879. * // The outcome is that `switched` is essentially a timer that restarts
  69880. * // on every click. The interval Observables from older clicks do not merge
  69881. * // with the current interval Observable.
  69882. * switched.subscribe(x => console.log(x));
  69883. *
  69884. * @see {@link combineAll}
  69885. * @see {@link concatAll}
  69886. * @see {@link exhaust}
  69887. * @see {@link mergeAll}
  69888. * @see {@link switchMap}
  69889. * @see {@link switchMapTo}
  69890. * @see {@link zipAll}
  69891. *
  69892. * @return {Observable<T>} An Observable that emits the items emitted by the
  69893. * Observable most recently emitted by the source Observable.
  69894. * @method switch
  69895. * @name switch
  69896. * @owner Observable
  69897. */
  69898. function _switch() {
  69899. return this.lift(new SwitchOperator());
  69900. }
  69901. exports._switch = _switch;
  69902. var SwitchOperator = (function () {
  69903. function SwitchOperator() {
  69904. }
  69905. SwitchOperator.prototype.call = function (subscriber, source) {
  69906. return source._subscribe(new SwitchSubscriber(subscriber));
  69907. };
  69908. return SwitchOperator;
  69909. }());
  69910. /**
  69911. * We need this JSDoc comment for affecting ESDoc.
  69912. * @ignore
  69913. * @extends {Ignored}
  69914. */
  69915. var SwitchSubscriber = (function (_super) {
  69916. __extends(SwitchSubscriber, _super);
  69917. function SwitchSubscriber(destination) {
  69918. _super.call(this, destination);
  69919. this.active = 0;
  69920. this.hasCompleted = false;
  69921. }
  69922. SwitchSubscriber.prototype._next = function (value) {
  69923. this.unsubscribeInner();
  69924. this.active++;
  69925. this.add(this.innerSubscription = subscribeToResult_1.subscribeToResult(this, value));
  69926. };
  69927. SwitchSubscriber.prototype._complete = function () {
  69928. this.hasCompleted = true;
  69929. if (this.active === 0) {
  69930. this.destination.complete();
  69931. }
  69932. };
  69933. SwitchSubscriber.prototype.unsubscribeInner = function () {
  69934. this.active = this.active > 0 ? this.active - 1 : 0;
  69935. var innerSubscription = this.innerSubscription;
  69936. if (innerSubscription) {
  69937. innerSubscription.unsubscribe();
  69938. this.remove(innerSubscription);
  69939. }
  69940. };
  69941. SwitchSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  69942. this.destination.next(innerValue);
  69943. };
  69944. SwitchSubscriber.prototype.notifyError = function (err) {
  69945. this.destination.error(err);
  69946. };
  69947. SwitchSubscriber.prototype.notifyComplete = function () {
  69948. this.unsubscribeInner();
  69949. if (this.hasCompleted && this.active === 0) {
  69950. this.destination.complete();
  69951. }
  69952. };
  69953. return SwitchSubscriber;
  69954. }(OuterSubscriber_1.OuterSubscriber));
  69955. //# sourceMappingURL=switch.js.map
  69956. /***/ },
  69957. /* 924 */
  69958. /***/ function(module, exports, __webpack_require__) {
  69959. "use strict";
  69960. "use strict";
  69961. var __extends = (this && this.__extends) || function (d, b) {
  69962. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  69963. function __() { this.constructor = d; }
  69964. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  69965. };
  69966. var OuterSubscriber_1 = __webpack_require__(6);
  69967. var subscribeToResult_1 = __webpack_require__(7);
  69968. /**
  69969. * Projects each source value to an Observable which is merged in the output
  69970. * Observable, emitting values only from the most recently projected Observable.
  69971. *
  69972. * <span class="informal">Maps each value to an Observable, then flattens all of
  69973. * these inner Observables using {@link switch}.</span>
  69974. *
  69975. * <img src="./img/switchMap.png" width="100%">
  69976. *
  69977. * Returns an Observable that emits items based on applying a function that you
  69978. * supply to each item emitted by the source Observable, where that function
  69979. * returns an (so-called "inner") Observable. Each time it observes one of these
  69980. * inner Observables, the output Observable begins emitting the items emitted by
  69981. * that inner Observable. When a new inner Observable is emitted, `switchMap`
  69982. * stops emitting items from the earlier-emitted inner Observable and begins
  69983. * emitting items from the new one. It continues to behave like this for
  69984. * subsequent inner Observables.
  69985. *
  69986. * @example <caption>Rerun an interval Observable on every click event</caption>
  69987. * var clicks = Rx.Observable.fromEvent(document, 'click');
  69988. * var result = clicks.switchMap((ev) => Rx.Observable.interval(1000));
  69989. * result.subscribe(x => console.log(x));
  69990. *
  69991. * @see {@link concatMap}
  69992. * @see {@link exhaustMap}
  69993. * @see {@link mergeMap}
  69994. * @see {@link switch}
  69995. * @see {@link switchMapTo}
  69996. *
  69997. * @param {function(value: T, ?index: number): Observable} project A function
  69998. * that, when applied to an item emitted by the source Observable, returns an
  69999. * Observable.
  70000. * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]
  70001. * A function to produce the value on the output Observable based on the values
  70002. * and the indices of the source (outer) emission and the inner Observable
  70003. * emission. The arguments passed to this function are:
  70004. * - `outerValue`: the value that came from the source
  70005. * - `innerValue`: the value that came from the projected Observable
  70006. * - `outerIndex`: the "index" of the value that came from the source
  70007. * - `innerIndex`: the "index" of the value from the projected Observable
  70008. * @return {Observable} An Observable that emits the result of applying the
  70009. * projection function (and the optional `resultSelector`) to each item emitted
  70010. * by the source Observable and taking only the values from the most recently
  70011. * projected inner Observable.
  70012. * @method switchMap
  70013. * @owner Observable
  70014. */
  70015. function switchMap(project, resultSelector) {
  70016. return this.lift(new SwitchMapOperator(project, resultSelector));
  70017. }
  70018. exports.switchMap = switchMap;
  70019. var SwitchMapOperator = (function () {
  70020. function SwitchMapOperator(project, resultSelector) {
  70021. this.project = project;
  70022. this.resultSelector = resultSelector;
  70023. }
  70024. SwitchMapOperator.prototype.call = function (subscriber, source) {
  70025. return source._subscribe(new SwitchMapSubscriber(subscriber, this.project, this.resultSelector));
  70026. };
  70027. return SwitchMapOperator;
  70028. }());
  70029. /**
  70030. * We need this JSDoc comment for affecting ESDoc.
  70031. * @ignore
  70032. * @extends {Ignored}
  70033. */
  70034. var SwitchMapSubscriber = (function (_super) {
  70035. __extends(SwitchMapSubscriber, _super);
  70036. function SwitchMapSubscriber(destination, project, resultSelector) {
  70037. _super.call(this, destination);
  70038. this.project = project;
  70039. this.resultSelector = resultSelector;
  70040. this.index = 0;
  70041. }
  70042. SwitchMapSubscriber.prototype._next = function (value) {
  70043. var result;
  70044. var index = this.index++;
  70045. try {
  70046. result = this.project(value, index);
  70047. }
  70048. catch (error) {
  70049. this.destination.error(error);
  70050. return;
  70051. }
  70052. this._innerSub(result, value, index);
  70053. };
  70054. SwitchMapSubscriber.prototype._innerSub = function (result, value, index) {
  70055. var innerSubscription = this.innerSubscription;
  70056. if (innerSubscription) {
  70057. innerSubscription.unsubscribe();
  70058. }
  70059. this.add(this.innerSubscription = subscribeToResult_1.subscribeToResult(this, result, value, index));
  70060. };
  70061. SwitchMapSubscriber.prototype._complete = function () {
  70062. var innerSubscription = this.innerSubscription;
  70063. if (!innerSubscription || innerSubscription.closed) {
  70064. _super.prototype._complete.call(this);
  70065. }
  70066. };
  70067. SwitchMapSubscriber.prototype._unsubscribe = function () {
  70068. this.innerSubscription = null;
  70069. };
  70070. SwitchMapSubscriber.prototype.notifyComplete = function (innerSub) {
  70071. this.remove(innerSub);
  70072. this.innerSubscription = null;
  70073. if (this.isStopped) {
  70074. _super.prototype._complete.call(this);
  70075. }
  70076. };
  70077. SwitchMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  70078. if (this.resultSelector) {
  70079. this._tryNotifyNext(outerValue, innerValue, outerIndex, innerIndex);
  70080. }
  70081. else {
  70082. this.destination.next(innerValue);
  70083. }
  70084. };
  70085. SwitchMapSubscriber.prototype._tryNotifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {
  70086. var result;
  70087. try {
  70088. result = this.resultSelector(outerValue, innerValue, outerIndex, innerIndex);
  70089. }
  70090. catch (err) {
  70091. this.destination.error(err);
  70092. return;
  70093. }
  70094. this.destination.next(result);
  70095. };
  70096. return SwitchMapSubscriber;
  70097. }(OuterSubscriber_1.OuterSubscriber));
  70098. //# sourceMappingURL=switchMap.js.map
  70099. /***/ },
  70100. /* 925 */
  70101. /***/ function(module, exports, __webpack_require__) {
  70102. "use strict";
  70103. "use strict";
  70104. var __extends = (this && this.__extends) || function (d, b) {
  70105. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  70106. function __() { this.constructor = d; }
  70107. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  70108. };
  70109. var OuterSubscriber_1 = __webpack_require__(6);
  70110. var subscribeToResult_1 = __webpack_require__(7);
  70111. /**
  70112. * Projects each source value to the same Observable which is flattened multiple
  70113. * times with {@link switch} in the output Observable.
  70114. *
  70115. * <span class="informal">It's like {@link switchMap}, but maps each value
  70116. * always to the same inner Observable.</span>
  70117. *
  70118. * <img src="./img/switchMapTo.png" width="100%">
  70119. *
  70120. * Maps each source value to the given Observable `innerObservable` regardless
  70121. * of the source value, and then flattens those resulting Observables into one
  70122. * single Observable, which is the output Observable. The output Observables
  70123. * emits values only from the most recently emitted instance of
  70124. * `innerObservable`.
  70125. *
  70126. * @example <caption>Rerun an interval Observable on every click event</caption>
  70127. * var clicks = Rx.Observable.fromEvent(document, 'click');
  70128. * var result = clicks.switchMapTo(Rx.Observable.interval(1000));
  70129. * result.subscribe(x => console.log(x));
  70130. *
  70131. * @see {@link concatMapTo}
  70132. * @see {@link switch}
  70133. * @see {@link switchMap}
  70134. * @see {@link mergeMapTo}
  70135. *
  70136. * @param {Observable} innerObservable An Observable to replace each value from
  70137. * the source Observable.
  70138. * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]
  70139. * A function to produce the value on the output Observable based on the values
  70140. * and the indices of the source (outer) emission and the inner Observable
  70141. * emission. The arguments passed to this function are:
  70142. * - `outerValue`: the value that came from the source
  70143. * - `innerValue`: the value that came from the projected Observable
  70144. * - `outerIndex`: the "index" of the value that came from the source
  70145. * - `innerIndex`: the "index" of the value from the projected Observable
  70146. * @return {Observable} An Observable that emits items from the given
  70147. * `innerObservable` every time a value is emitted on the source Observable.
  70148. * @return {Observable} An Observable that emits items from the given
  70149. * `innerObservable` (and optionally transformed through `resultSelector`) every
  70150. * time a value is emitted on the source Observable, and taking only the values
  70151. * from the most recently projected inner Observable.
  70152. * @method switchMapTo
  70153. * @owner Observable
  70154. */
  70155. function switchMapTo(innerObservable, resultSelector) {
  70156. return this.lift(new SwitchMapToOperator(innerObservable, resultSelector));
  70157. }
  70158. exports.switchMapTo = switchMapTo;
  70159. var SwitchMapToOperator = (function () {
  70160. function SwitchMapToOperator(observable, resultSelector) {
  70161. this.observable = observable;
  70162. this.resultSelector = resultSelector;
  70163. }
  70164. SwitchMapToOperator.prototype.call = function (subscriber, source) {
  70165. return source._subscribe(new SwitchMapToSubscriber(subscriber, this.observable, this.resultSelector));
  70166. };
  70167. return SwitchMapToOperator;
  70168. }());
  70169. /**
  70170. * We need this JSDoc comment for affecting ESDoc.
  70171. * @ignore
  70172. * @extends {Ignored}
  70173. */
  70174. var SwitchMapToSubscriber = (function (_super) {
  70175. __extends(SwitchMapToSubscriber, _super);
  70176. function SwitchMapToSubscriber(destination, inner, resultSelector) {
  70177. _super.call(this, destination);
  70178. this.inner = inner;
  70179. this.resultSelector = resultSelector;
  70180. this.index = 0;
  70181. }
  70182. SwitchMapToSubscriber.prototype._next = function (value) {
  70183. var innerSubscription = this.innerSubscription;
  70184. if (innerSubscription) {
  70185. innerSubscription.unsubscribe();
  70186. }
  70187. this.add(this.innerSubscription = subscribeToResult_1.subscribeToResult(this, this.inner, value, this.index++));
  70188. };
  70189. SwitchMapToSubscriber.prototype._complete = function () {
  70190. var innerSubscription = this.innerSubscription;
  70191. if (!innerSubscription || innerSubscription.closed) {
  70192. _super.prototype._complete.call(this);
  70193. }
  70194. };
  70195. SwitchMapToSubscriber.prototype._unsubscribe = function () {
  70196. this.innerSubscription = null;
  70197. };
  70198. SwitchMapToSubscriber.prototype.notifyComplete = function (innerSub) {
  70199. this.remove(innerSub);
  70200. this.innerSubscription = null;
  70201. if (this.isStopped) {
  70202. _super.prototype._complete.call(this);
  70203. }
  70204. };
  70205. SwitchMapToSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  70206. var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;
  70207. if (resultSelector) {
  70208. this.tryResultSelector(outerValue, innerValue, outerIndex, innerIndex);
  70209. }
  70210. else {
  70211. destination.next(innerValue);
  70212. }
  70213. };
  70214. SwitchMapToSubscriber.prototype.tryResultSelector = function (outerValue, innerValue, outerIndex, innerIndex) {
  70215. var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;
  70216. var result;
  70217. try {
  70218. result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);
  70219. }
  70220. catch (err) {
  70221. destination.error(err);
  70222. return;
  70223. }
  70224. destination.next(result);
  70225. };
  70226. return SwitchMapToSubscriber;
  70227. }(OuterSubscriber_1.OuterSubscriber));
  70228. //# sourceMappingURL=switchMapTo.js.map
  70229. /***/ },
  70230. /* 926 */
  70231. /***/ function(module, exports, __webpack_require__) {
  70232. "use strict";
  70233. "use strict";
  70234. var __extends = (this && this.__extends) || function (d, b) {
  70235. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  70236. function __() { this.constructor = d; }
  70237. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  70238. };
  70239. var Subscriber_1 = __webpack_require__(3);
  70240. var ArgumentOutOfRangeError_1 = __webpack_require__(175);
  70241. var EmptyObservable_1 = __webpack_require__(74);
  70242. /**
  70243. * Emits only the first `count` values emitted by the source Observable.
  70244. *
  70245. * <span class="informal">Takes the first `count` values from the source, then
  70246. * completes.</span>
  70247. *
  70248. * <img src="./img/take.png" width="100%">
  70249. *
  70250. * `take` returns an Observable that emits only the first `count` values emitted
  70251. * by the source Observable. If the source emits fewer than `count` values then
  70252. * all of its values are emitted. After that, it completes, regardless if the
  70253. * source completes.
  70254. *
  70255. * @example <caption>Take the first 5 seconds of an infinite 1-second interval Observable</caption>
  70256. * var interval = Rx.Observable.interval(1000);
  70257. * var five = interval.take(5);
  70258. * five.subscribe(x => console.log(x));
  70259. *
  70260. * @see {@link takeLast}
  70261. * @see {@link takeUntil}
  70262. * @see {@link takeWhile}
  70263. * @see {@link skip}
  70264. *
  70265. * @throws {ArgumentOutOfRangeError} When using `take(i)`, it delivers an
  70266. * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.
  70267. *
  70268. * @param {number} count The maximum number of `next` values to emit.
  70269. * @return {Observable<T>} An Observable that emits only the first `count`
  70270. * values emitted by the source Observable, or all of the values from the source
  70271. * if the source emits fewer than `count` values.
  70272. * @method take
  70273. * @owner Observable
  70274. */
  70275. function take(count) {
  70276. if (count === 0) {
  70277. return new EmptyObservable_1.EmptyObservable();
  70278. }
  70279. else {
  70280. return this.lift(new TakeOperator(count));
  70281. }
  70282. }
  70283. exports.take = take;
  70284. var TakeOperator = (function () {
  70285. function TakeOperator(total) {
  70286. this.total = total;
  70287. if (this.total < 0) {
  70288. throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;
  70289. }
  70290. }
  70291. TakeOperator.prototype.call = function (subscriber, source) {
  70292. return source._subscribe(new TakeSubscriber(subscriber, this.total));
  70293. };
  70294. return TakeOperator;
  70295. }());
  70296. /**
  70297. * We need this JSDoc comment for affecting ESDoc.
  70298. * @ignore
  70299. * @extends {Ignored}
  70300. */
  70301. var TakeSubscriber = (function (_super) {
  70302. __extends(TakeSubscriber, _super);
  70303. function TakeSubscriber(destination, total) {
  70304. _super.call(this, destination);
  70305. this.total = total;
  70306. this.count = 0;
  70307. }
  70308. TakeSubscriber.prototype._next = function (value) {
  70309. var total = this.total;
  70310. if (++this.count <= total) {
  70311. this.destination.next(value);
  70312. if (this.count === total) {
  70313. this.destination.complete();
  70314. this.unsubscribe();
  70315. }
  70316. }
  70317. };
  70318. return TakeSubscriber;
  70319. }(Subscriber_1.Subscriber));
  70320. //# sourceMappingURL=take.js.map
  70321. /***/ },
  70322. /* 927 */
  70323. /***/ function(module, exports, __webpack_require__) {
  70324. "use strict";
  70325. "use strict";
  70326. var __extends = (this && this.__extends) || function (d, b) {
  70327. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  70328. function __() { this.constructor = d; }
  70329. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  70330. };
  70331. var Subscriber_1 = __webpack_require__(3);
  70332. var ArgumentOutOfRangeError_1 = __webpack_require__(175);
  70333. var EmptyObservable_1 = __webpack_require__(74);
  70334. /**
  70335. * Emits only the last `count` values emitted by the source Observable.
  70336. *
  70337. * <span class="informal">Remembers the latest `count` values, then emits those
  70338. * only when the source completes.</span>
  70339. *
  70340. * <img src="./img/takeLast.png" width="100%">
  70341. *
  70342. * `takeLast` returns an Observable that emits at most the last `count` values
  70343. * emitted by the source Observable. If the source emits fewer than `count`
  70344. * values then all of its values are emitted. This operator must wait until the
  70345. * `complete` notification emission from the source in order to emit the `next`
  70346. * values on the output Observable, because otherwise it is impossible to know
  70347. * whether or not more values will be emitted on the source. For this reason,
  70348. * all values are emitted synchronously, followed by the complete notification.
  70349. *
  70350. * @example <caption>Take the last 3 values of an Observable with many values</caption>
  70351. * var many = Rx.Observable.range(1, 100);
  70352. * var lastThree = many.takeLast(3);
  70353. * lastThree.subscribe(x => console.log(x));
  70354. *
  70355. * @see {@link take}
  70356. * @see {@link takeUntil}
  70357. * @see {@link takeWhile}
  70358. * @see {@link skip}
  70359. *
  70360. * @throws {ArgumentOutOfRangeError} When using `takeLast(i)`, it delivers an
  70361. * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.
  70362. *
  70363. * @param {number} count The maximum number of values to emit from the end of
  70364. * the sequence of values emitted by the source Observable.
  70365. * @return {Observable<T>} An Observable that emits at most the last count
  70366. * values emitted by the source Observable.
  70367. * @method takeLast
  70368. * @owner Observable
  70369. */
  70370. function takeLast(count) {
  70371. if (count === 0) {
  70372. return new EmptyObservable_1.EmptyObservable();
  70373. }
  70374. else {
  70375. return this.lift(new TakeLastOperator(count));
  70376. }
  70377. }
  70378. exports.takeLast = takeLast;
  70379. var TakeLastOperator = (function () {
  70380. function TakeLastOperator(total) {
  70381. this.total = total;
  70382. if (this.total < 0) {
  70383. throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;
  70384. }
  70385. }
  70386. TakeLastOperator.prototype.call = function (subscriber, source) {
  70387. return source._subscribe(new TakeLastSubscriber(subscriber, this.total));
  70388. };
  70389. return TakeLastOperator;
  70390. }());
  70391. /**
  70392. * We need this JSDoc comment for affecting ESDoc.
  70393. * @ignore
  70394. * @extends {Ignored}
  70395. */
  70396. var TakeLastSubscriber = (function (_super) {
  70397. __extends(TakeLastSubscriber, _super);
  70398. function TakeLastSubscriber(destination, total) {
  70399. _super.call(this, destination);
  70400. this.total = total;
  70401. this.ring = new Array();
  70402. this.count = 0;
  70403. }
  70404. TakeLastSubscriber.prototype._next = function (value) {
  70405. var ring = this.ring;
  70406. var total = this.total;
  70407. var count = this.count++;
  70408. if (ring.length < total) {
  70409. ring.push(value);
  70410. }
  70411. else {
  70412. var index = count % total;
  70413. ring[index] = value;
  70414. }
  70415. };
  70416. TakeLastSubscriber.prototype._complete = function () {
  70417. var destination = this.destination;
  70418. var count = this.count;
  70419. if (count > 0) {
  70420. var total = this.count >= this.total ? this.total : this.count;
  70421. var ring = this.ring;
  70422. for (var i = 0; i < total; i++) {
  70423. var idx = (count++) % total;
  70424. destination.next(ring[idx]);
  70425. }
  70426. }
  70427. destination.complete();
  70428. };
  70429. return TakeLastSubscriber;
  70430. }(Subscriber_1.Subscriber));
  70431. //# sourceMappingURL=takeLast.js.map
  70432. /***/ },
  70433. /* 928 */
  70434. /***/ function(module, exports, __webpack_require__) {
  70435. "use strict";
  70436. "use strict";
  70437. var __extends = (this && this.__extends) || function (d, b) {
  70438. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  70439. function __() { this.constructor = d; }
  70440. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  70441. };
  70442. var OuterSubscriber_1 = __webpack_require__(6);
  70443. var subscribeToResult_1 = __webpack_require__(7);
  70444. /**
  70445. * Emits the values emitted by the source Observable until a `notifier`
  70446. * Observable emits a value.
  70447. *
  70448. * <span class="informal">Lets values pass until a second Observable,
  70449. * `notifier`, emits something. Then, it completes.</span>
  70450. *
  70451. * <img src="./img/takeUntil.png" width="100%">
  70452. *
  70453. * `takeUntil` subscribes and begins mirroring the source Observable. It also
  70454. * monitors a second Observable, `notifier` that you provide. If the `notifier`
  70455. * emits a value or a complete notification, the output Observable stops
  70456. * mirroring the source Observable and completes.
  70457. *
  70458. * @example <caption>Tick every second until the first click happens</caption>
  70459. * var interval = Rx.Observable.interval(1000);
  70460. * var clicks = Rx.Observable.fromEvent(document, 'click');
  70461. * var result = interval.takeUntil(clicks);
  70462. * result.subscribe(x => console.log(x));
  70463. *
  70464. * @see {@link take}
  70465. * @see {@link takeLast}
  70466. * @see {@link takeWhile}
  70467. * @see {@link skip}
  70468. *
  70469. * @param {Observable} notifier The Observable whose first emitted value will
  70470. * cause the output Observable of `takeUntil` to stop emitting values from the
  70471. * source Observable.
  70472. * @return {Observable<T>} An Observable that emits the values from the source
  70473. * Observable until such time as `notifier` emits its first value.
  70474. * @method takeUntil
  70475. * @owner Observable
  70476. */
  70477. function takeUntil(notifier) {
  70478. return this.lift(new TakeUntilOperator(notifier));
  70479. }
  70480. exports.takeUntil = takeUntil;
  70481. var TakeUntilOperator = (function () {
  70482. function TakeUntilOperator(notifier) {
  70483. this.notifier = notifier;
  70484. }
  70485. TakeUntilOperator.prototype.call = function (subscriber, source) {
  70486. return source._subscribe(new TakeUntilSubscriber(subscriber, this.notifier));
  70487. };
  70488. return TakeUntilOperator;
  70489. }());
  70490. /**
  70491. * We need this JSDoc comment for affecting ESDoc.
  70492. * @ignore
  70493. * @extends {Ignored}
  70494. */
  70495. var TakeUntilSubscriber = (function (_super) {
  70496. __extends(TakeUntilSubscriber, _super);
  70497. function TakeUntilSubscriber(destination, notifier) {
  70498. _super.call(this, destination);
  70499. this.notifier = notifier;
  70500. this.add(subscribeToResult_1.subscribeToResult(this, notifier));
  70501. }
  70502. TakeUntilSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  70503. this.complete();
  70504. };
  70505. TakeUntilSubscriber.prototype.notifyComplete = function () {
  70506. // noop
  70507. };
  70508. return TakeUntilSubscriber;
  70509. }(OuterSubscriber_1.OuterSubscriber));
  70510. //# sourceMappingURL=takeUntil.js.map
  70511. /***/ },
  70512. /* 929 */
  70513. /***/ function(module, exports, __webpack_require__) {
  70514. "use strict";
  70515. "use strict";
  70516. var __extends = (this && this.__extends) || function (d, b) {
  70517. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  70518. function __() { this.constructor = d; }
  70519. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  70520. };
  70521. var Subscriber_1 = __webpack_require__(3);
  70522. /**
  70523. * Emits values emitted by the source Observable so long as each value satisfies
  70524. * the given `predicate`, and then completes as soon as this `predicate` is not
  70525. * satisfied.
  70526. *
  70527. * <span class="informal">Takes values from the source only while they pass the
  70528. * condition given. When the first value does not satisfy, it completes.</span>
  70529. *
  70530. * <img src="./img/takeWhile.png" width="100%">
  70531. *
  70532. * `takeWhile` subscribes and begins mirroring the source Observable. Each value
  70533. * emitted on the source is given to the `predicate` function which returns a
  70534. * boolean, representing a condition to be satisfied by the source values. The
  70535. * output Observable emits the source values until such time as the `predicate`
  70536. * returns false, at which point `takeWhile` stops mirroring the source
  70537. * Observable and completes the output Observable.
  70538. *
  70539. * @example <caption>Emit click events only while the clientX property is greater than 200</caption>
  70540. * var clicks = Rx.Observable.fromEvent(document, 'click');
  70541. * var result = clicks.takeWhile(ev => ev.clientX > 200);
  70542. * result.subscribe(x => console.log(x));
  70543. *
  70544. * @see {@link take}
  70545. * @see {@link takeLast}
  70546. * @see {@link takeUntil}
  70547. * @see {@link skip}
  70548. *
  70549. * @param {function(value: T, index: number): boolean} predicate A function that
  70550. * evaluates a value emitted by the source Observable and returns a boolean.
  70551. * Also takes the (zero-based) index as the second argument.
  70552. * @return {Observable<T>} An Observable that emits the values from the source
  70553. * Observable so long as each value satisfies the condition defined by the
  70554. * `predicate`, then completes.
  70555. * @method takeWhile
  70556. * @owner Observable
  70557. */
  70558. function takeWhile(predicate) {
  70559. return this.lift(new TakeWhileOperator(predicate));
  70560. }
  70561. exports.takeWhile = takeWhile;
  70562. var TakeWhileOperator = (function () {
  70563. function TakeWhileOperator(predicate) {
  70564. this.predicate = predicate;
  70565. }
  70566. TakeWhileOperator.prototype.call = function (subscriber, source) {
  70567. return source._subscribe(new TakeWhileSubscriber(subscriber, this.predicate));
  70568. };
  70569. return TakeWhileOperator;
  70570. }());
  70571. /**
  70572. * We need this JSDoc comment for affecting ESDoc.
  70573. * @ignore
  70574. * @extends {Ignored}
  70575. */
  70576. var TakeWhileSubscriber = (function (_super) {
  70577. __extends(TakeWhileSubscriber, _super);
  70578. function TakeWhileSubscriber(destination, predicate) {
  70579. _super.call(this, destination);
  70580. this.predicate = predicate;
  70581. this.index = 0;
  70582. }
  70583. TakeWhileSubscriber.prototype._next = function (value) {
  70584. var destination = this.destination;
  70585. var result;
  70586. try {
  70587. result = this.predicate(value, this.index++);
  70588. }
  70589. catch (err) {
  70590. destination.error(err);
  70591. return;
  70592. }
  70593. this.nextOrComplete(value, result);
  70594. };
  70595. TakeWhileSubscriber.prototype.nextOrComplete = function (value, predicateResult) {
  70596. var destination = this.destination;
  70597. if (Boolean(predicateResult)) {
  70598. destination.next(value);
  70599. }
  70600. else {
  70601. destination.complete();
  70602. }
  70603. };
  70604. return TakeWhileSubscriber;
  70605. }(Subscriber_1.Subscriber));
  70606. //# sourceMappingURL=takeWhile.js.map
  70607. /***/ },
  70608. /* 930 */
  70609. /***/ function(module, exports, __webpack_require__) {
  70610. "use strict";
  70611. "use strict";
  70612. var __extends = (this && this.__extends) || function (d, b) {
  70613. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  70614. function __() { this.constructor = d; }
  70615. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  70616. };
  70617. var OuterSubscriber_1 = __webpack_require__(6);
  70618. var subscribeToResult_1 = __webpack_require__(7);
  70619. /**
  70620. * Emits a value from the source Observable, then ignores subsequent source
  70621. * values for a duration determined by another Observable, then repeats this
  70622. * process.
  70623. *
  70624. * <span class="informal">It's like {@link throttleTime}, but the silencing
  70625. * duration is determined by a second Observable.</span>
  70626. *
  70627. * <img src="./img/throttle.png" width="100%">
  70628. *
  70629. * `throttle` emits the source Observable values on the output Observable
  70630. * when its internal timer is disabled, and ignores source values when the timer
  70631. * is enabled. Initially, the timer is disabled. As soon as the first source
  70632. * value arrives, it is forwarded to the output Observable, and then the timer
  70633. * is enabled by calling the `durationSelector` function with the source value,
  70634. * which returns the "duration" Observable. When the duration Observable emits a
  70635. * value or completes, the timer is disabled, and this process repeats for the
  70636. * next source value.
  70637. *
  70638. * @example <caption>Emit clicks at a rate of at most one click per second</caption>
  70639. * var clicks = Rx.Observable.fromEvent(document, 'click');
  70640. * var result = clicks.throttle(ev => Rx.Observable.interval(1000));
  70641. * result.subscribe(x => console.log(x));
  70642. *
  70643. * @see {@link audit}
  70644. * @see {@link debounce}
  70645. * @see {@link delayWhen}
  70646. * @see {@link sample}
  70647. * @see {@link throttleTime}
  70648. *
  70649. * @param {function(value: T): Observable|Promise} durationSelector A function
  70650. * that receives a value from the source Observable, for computing the silencing
  70651. * duration for each source value, returned as an Observable or a Promise.
  70652. * @return {Observable<T>} An Observable that performs the throttle operation to
  70653. * limit the rate of emissions from the source.
  70654. * @method throttle
  70655. * @owner Observable
  70656. */
  70657. function throttle(durationSelector) {
  70658. return this.lift(new ThrottleOperator(durationSelector));
  70659. }
  70660. exports.throttle = throttle;
  70661. var ThrottleOperator = (function () {
  70662. function ThrottleOperator(durationSelector) {
  70663. this.durationSelector = durationSelector;
  70664. }
  70665. ThrottleOperator.prototype.call = function (subscriber, source) {
  70666. return source._subscribe(new ThrottleSubscriber(subscriber, this.durationSelector));
  70667. };
  70668. return ThrottleOperator;
  70669. }());
  70670. /**
  70671. * We need this JSDoc comment for affecting ESDoc.
  70672. * @ignore
  70673. * @extends {Ignored}
  70674. */
  70675. var ThrottleSubscriber = (function (_super) {
  70676. __extends(ThrottleSubscriber, _super);
  70677. function ThrottleSubscriber(destination, durationSelector) {
  70678. _super.call(this, destination);
  70679. this.destination = destination;
  70680. this.durationSelector = durationSelector;
  70681. }
  70682. ThrottleSubscriber.prototype._next = function (value) {
  70683. if (!this.throttled) {
  70684. this.tryDurationSelector(value);
  70685. }
  70686. };
  70687. ThrottleSubscriber.prototype.tryDurationSelector = function (value) {
  70688. var duration = null;
  70689. try {
  70690. duration = this.durationSelector(value);
  70691. }
  70692. catch (err) {
  70693. this.destination.error(err);
  70694. return;
  70695. }
  70696. this.emitAndThrottle(value, duration);
  70697. };
  70698. ThrottleSubscriber.prototype.emitAndThrottle = function (value, duration) {
  70699. this.add(this.throttled = subscribeToResult_1.subscribeToResult(this, duration));
  70700. this.destination.next(value);
  70701. };
  70702. ThrottleSubscriber.prototype._unsubscribe = function () {
  70703. var throttled = this.throttled;
  70704. if (throttled) {
  70705. this.remove(throttled);
  70706. this.throttled = null;
  70707. throttled.unsubscribe();
  70708. }
  70709. };
  70710. ThrottleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  70711. this._unsubscribe();
  70712. };
  70713. ThrottleSubscriber.prototype.notifyComplete = function () {
  70714. this._unsubscribe();
  70715. };
  70716. return ThrottleSubscriber;
  70717. }(OuterSubscriber_1.OuterSubscriber));
  70718. //# sourceMappingURL=throttle.js.map
  70719. /***/ },
  70720. /* 931 */
  70721. /***/ function(module, exports, __webpack_require__) {
  70722. "use strict";
  70723. "use strict";
  70724. var __extends = (this && this.__extends) || function (d, b) {
  70725. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  70726. function __() { this.constructor = d; }
  70727. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  70728. };
  70729. var Subscriber_1 = __webpack_require__(3);
  70730. var async_1 = __webpack_require__(33);
  70731. /**
  70732. * Emits a value from the source Observable, then ignores subsequent source
  70733. * values for `duration` milliseconds, then repeats this process.
  70734. *
  70735. * <span class="informal">Lets a value pass, then ignores source values for the
  70736. * next `duration` milliseconds.</span>
  70737. *
  70738. * <img src="./img/throttleTime.png" width="100%">
  70739. *
  70740. * `throttleTime` emits the source Observable values on the output Observable
  70741. * when its internal timer is disabled, and ignores source values when the timer
  70742. * is enabled. Initially, the timer is disabled. As soon as the first source
  70743. * value arrives, it is forwarded to the output Observable, and then the timer
  70744. * is enabled. After `duration` milliseconds (or the time unit determined
  70745. * internally by the optional `scheduler`) has passed, the timer is disabled,
  70746. * and this process repeats for the next source value. Optionally takes a
  70747. * {@link Scheduler} for managing timers.
  70748. *
  70749. * @example <caption>Emit clicks at a rate of at most one click per second</caption>
  70750. * var clicks = Rx.Observable.fromEvent(document, 'click');
  70751. * var result = clicks.throttleTime(1000);
  70752. * result.subscribe(x => console.log(x));
  70753. *
  70754. * @see {@link auditTime}
  70755. * @see {@link debounceTime}
  70756. * @see {@link delay}
  70757. * @see {@link sampleTime}
  70758. * @see {@link throttle}
  70759. *
  70760. * @param {number} duration Time to wait before emitting another value after
  70761. * emitting the last value, measured in milliseconds or the time unit determined
  70762. * internally by the optional `scheduler`.
  70763. * @param {Scheduler} [scheduler=async] The {@link Scheduler} to use for
  70764. * managing the timers that handle the sampling.
  70765. * @return {Observable<T>} An Observable that performs the throttle operation to
  70766. * limit the rate of emissions from the source.
  70767. * @method throttleTime
  70768. * @owner Observable
  70769. */
  70770. function throttleTime(duration, scheduler) {
  70771. if (scheduler === void 0) { scheduler = async_1.async; }
  70772. return this.lift(new ThrottleTimeOperator(duration, scheduler));
  70773. }
  70774. exports.throttleTime = throttleTime;
  70775. var ThrottleTimeOperator = (function () {
  70776. function ThrottleTimeOperator(duration, scheduler) {
  70777. this.duration = duration;
  70778. this.scheduler = scheduler;
  70779. }
  70780. ThrottleTimeOperator.prototype.call = function (subscriber, source) {
  70781. return source._subscribe(new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler));
  70782. };
  70783. return ThrottleTimeOperator;
  70784. }());
  70785. /**
  70786. * We need this JSDoc comment for affecting ESDoc.
  70787. * @ignore
  70788. * @extends {Ignored}
  70789. */
  70790. var ThrottleTimeSubscriber = (function (_super) {
  70791. __extends(ThrottleTimeSubscriber, _super);
  70792. function ThrottleTimeSubscriber(destination, duration, scheduler) {
  70793. _super.call(this, destination);
  70794. this.duration = duration;
  70795. this.scheduler = scheduler;
  70796. }
  70797. ThrottleTimeSubscriber.prototype._next = function (value) {
  70798. if (!this.throttled) {
  70799. this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this }));
  70800. this.destination.next(value);
  70801. }
  70802. };
  70803. ThrottleTimeSubscriber.prototype.clearThrottle = function () {
  70804. var throttled = this.throttled;
  70805. if (throttled) {
  70806. throttled.unsubscribe();
  70807. this.remove(throttled);
  70808. this.throttled = null;
  70809. }
  70810. };
  70811. return ThrottleTimeSubscriber;
  70812. }(Subscriber_1.Subscriber));
  70813. function dispatchNext(arg) {
  70814. var subscriber = arg.subscriber;
  70815. subscriber.clearThrottle();
  70816. }
  70817. //# sourceMappingURL=throttleTime.js.map
  70818. /***/ },
  70819. /* 932 */
  70820. /***/ function(module, exports, __webpack_require__) {
  70821. "use strict";
  70822. "use strict";
  70823. var __extends = (this && this.__extends) || function (d, b) {
  70824. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  70825. function __() { this.constructor = d; }
  70826. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  70827. };
  70828. var async_1 = __webpack_require__(33);
  70829. var isDate_1 = __webpack_require__(176);
  70830. var Subscriber_1 = __webpack_require__(3);
  70831. /**
  70832. * @param due
  70833. * @param errorToSend
  70834. * @param scheduler
  70835. * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}
  70836. * @method timeout
  70837. * @owner Observable
  70838. */
  70839. function timeout(due, errorToSend, scheduler) {
  70840. if (errorToSend === void 0) { errorToSend = null; }
  70841. if (scheduler === void 0) { scheduler = async_1.async; }
  70842. var absoluteTimeout = isDate_1.isDate(due);
  70843. var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);
  70844. return this.lift(new TimeoutOperator(waitFor, absoluteTimeout, errorToSend, scheduler));
  70845. }
  70846. exports.timeout = timeout;
  70847. var TimeoutOperator = (function () {
  70848. function TimeoutOperator(waitFor, absoluteTimeout, errorToSend, scheduler) {
  70849. this.waitFor = waitFor;
  70850. this.absoluteTimeout = absoluteTimeout;
  70851. this.errorToSend = errorToSend;
  70852. this.scheduler = scheduler;
  70853. }
  70854. TimeoutOperator.prototype.call = function (subscriber, source) {
  70855. return source._subscribe(new TimeoutSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.errorToSend, this.scheduler));
  70856. };
  70857. return TimeoutOperator;
  70858. }());
  70859. /**
  70860. * We need this JSDoc comment for affecting ESDoc.
  70861. * @ignore
  70862. * @extends {Ignored}
  70863. */
  70864. var TimeoutSubscriber = (function (_super) {
  70865. __extends(TimeoutSubscriber, _super);
  70866. function TimeoutSubscriber(destination, absoluteTimeout, waitFor, errorToSend, scheduler) {
  70867. _super.call(this, destination);
  70868. this.absoluteTimeout = absoluteTimeout;
  70869. this.waitFor = waitFor;
  70870. this.errorToSend = errorToSend;
  70871. this.scheduler = scheduler;
  70872. this.index = 0;
  70873. this._previousIndex = 0;
  70874. this._hasCompleted = false;
  70875. this.scheduleTimeout();
  70876. }
  70877. Object.defineProperty(TimeoutSubscriber.prototype, "previousIndex", {
  70878. get: function () {
  70879. return this._previousIndex;
  70880. },
  70881. enumerable: true,
  70882. configurable: true
  70883. });
  70884. Object.defineProperty(TimeoutSubscriber.prototype, "hasCompleted", {
  70885. get: function () {
  70886. return this._hasCompleted;
  70887. },
  70888. enumerable: true,
  70889. configurable: true
  70890. });
  70891. TimeoutSubscriber.dispatchTimeout = function (state) {
  70892. var source = state.subscriber;
  70893. var currentIndex = state.index;
  70894. if (!source.hasCompleted && source.previousIndex === currentIndex) {
  70895. source.notifyTimeout();
  70896. }
  70897. };
  70898. TimeoutSubscriber.prototype.scheduleTimeout = function () {
  70899. var currentIndex = this.index;
  70900. this.scheduler.schedule(TimeoutSubscriber.dispatchTimeout, this.waitFor, { subscriber: this, index: currentIndex });
  70901. this.index++;
  70902. this._previousIndex = currentIndex;
  70903. };
  70904. TimeoutSubscriber.prototype._next = function (value) {
  70905. this.destination.next(value);
  70906. if (!this.absoluteTimeout) {
  70907. this.scheduleTimeout();
  70908. }
  70909. };
  70910. TimeoutSubscriber.prototype._error = function (err) {
  70911. this.destination.error(err);
  70912. this._hasCompleted = true;
  70913. };
  70914. TimeoutSubscriber.prototype._complete = function () {
  70915. this.destination.complete();
  70916. this._hasCompleted = true;
  70917. };
  70918. TimeoutSubscriber.prototype.notifyTimeout = function () {
  70919. this.error(this.errorToSend || new Error('timeout'));
  70920. };
  70921. return TimeoutSubscriber;
  70922. }(Subscriber_1.Subscriber));
  70923. //# sourceMappingURL=timeout.js.map
  70924. /***/ },
  70925. /* 933 */
  70926. /***/ function(module, exports, __webpack_require__) {
  70927. "use strict";
  70928. "use strict";
  70929. var __extends = (this && this.__extends) || function (d, b) {
  70930. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  70931. function __() { this.constructor = d; }
  70932. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  70933. };
  70934. var async_1 = __webpack_require__(33);
  70935. var isDate_1 = __webpack_require__(176);
  70936. var OuterSubscriber_1 = __webpack_require__(6);
  70937. var subscribeToResult_1 = __webpack_require__(7);
  70938. /**
  70939. * @param due
  70940. * @param withObservable
  70941. * @param scheduler
  70942. * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}
  70943. * @method timeoutWith
  70944. * @owner Observable
  70945. */
  70946. function timeoutWith(due, withObservable, scheduler) {
  70947. if (scheduler === void 0) { scheduler = async_1.async; }
  70948. var absoluteTimeout = isDate_1.isDate(due);
  70949. var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);
  70950. return this.lift(new TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler));
  70951. }
  70952. exports.timeoutWith = timeoutWith;
  70953. var TimeoutWithOperator = (function () {
  70954. function TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler) {
  70955. this.waitFor = waitFor;
  70956. this.absoluteTimeout = absoluteTimeout;
  70957. this.withObservable = withObservable;
  70958. this.scheduler = scheduler;
  70959. }
  70960. TimeoutWithOperator.prototype.call = function (subscriber, source) {
  70961. return source._subscribe(new TimeoutWithSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.withObservable, this.scheduler));
  70962. };
  70963. return TimeoutWithOperator;
  70964. }());
  70965. /**
  70966. * We need this JSDoc comment for affecting ESDoc.
  70967. * @ignore
  70968. * @extends {Ignored}
  70969. */
  70970. var TimeoutWithSubscriber = (function (_super) {
  70971. __extends(TimeoutWithSubscriber, _super);
  70972. function TimeoutWithSubscriber(destination, absoluteTimeout, waitFor, withObservable, scheduler) {
  70973. _super.call(this);
  70974. this.destination = destination;
  70975. this.absoluteTimeout = absoluteTimeout;
  70976. this.waitFor = waitFor;
  70977. this.withObservable = withObservable;
  70978. this.scheduler = scheduler;
  70979. this.timeoutSubscription = undefined;
  70980. this.index = 0;
  70981. this._previousIndex = 0;
  70982. this._hasCompleted = false;
  70983. destination.add(this);
  70984. this.scheduleTimeout();
  70985. }
  70986. Object.defineProperty(TimeoutWithSubscriber.prototype, "previousIndex", {
  70987. get: function () {
  70988. return this._previousIndex;
  70989. },
  70990. enumerable: true,
  70991. configurable: true
  70992. });
  70993. Object.defineProperty(TimeoutWithSubscriber.prototype, "hasCompleted", {
  70994. get: function () {
  70995. return this._hasCompleted;
  70996. },
  70997. enumerable: true,
  70998. configurable: true
  70999. });
  71000. TimeoutWithSubscriber.dispatchTimeout = function (state) {
  71001. var source = state.subscriber;
  71002. var currentIndex = state.index;
  71003. if (!source.hasCompleted && source.previousIndex === currentIndex) {
  71004. source.handleTimeout();
  71005. }
  71006. };
  71007. TimeoutWithSubscriber.prototype.scheduleTimeout = function () {
  71008. var currentIndex = this.index;
  71009. var timeoutState = { subscriber: this, index: currentIndex };
  71010. this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout, this.waitFor, timeoutState);
  71011. this.index++;
  71012. this._previousIndex = currentIndex;
  71013. };
  71014. TimeoutWithSubscriber.prototype._next = function (value) {
  71015. this.destination.next(value);
  71016. if (!this.absoluteTimeout) {
  71017. this.scheduleTimeout();
  71018. }
  71019. };
  71020. TimeoutWithSubscriber.prototype._error = function (err) {
  71021. this.destination.error(err);
  71022. this._hasCompleted = true;
  71023. };
  71024. TimeoutWithSubscriber.prototype._complete = function () {
  71025. this.destination.complete();
  71026. this._hasCompleted = true;
  71027. };
  71028. TimeoutWithSubscriber.prototype.handleTimeout = function () {
  71029. if (!this.closed) {
  71030. var withObservable = this.withObservable;
  71031. this.unsubscribe();
  71032. this.destination.add(this.timeoutSubscription = subscribeToResult_1.subscribeToResult(this, withObservable));
  71033. }
  71034. };
  71035. return TimeoutWithSubscriber;
  71036. }(OuterSubscriber_1.OuterSubscriber));
  71037. //# sourceMappingURL=timeoutWith.js.map
  71038. /***/ },
  71039. /* 934 */
  71040. /***/ function(module, exports, __webpack_require__) {
  71041. "use strict";
  71042. "use strict";
  71043. var __extends = (this && this.__extends) || function (d, b) {
  71044. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  71045. function __() { this.constructor = d; }
  71046. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  71047. };
  71048. var Subscriber_1 = __webpack_require__(3);
  71049. /**
  71050. * @return {Observable<any[]>|WebSocketSubject<T>|Observable<T>}
  71051. * @method toArray
  71052. * @owner Observable
  71053. */
  71054. function toArray() {
  71055. return this.lift(new ToArrayOperator());
  71056. }
  71057. exports.toArray = toArray;
  71058. var ToArrayOperator = (function () {
  71059. function ToArrayOperator() {
  71060. }
  71061. ToArrayOperator.prototype.call = function (subscriber, source) {
  71062. return source._subscribe(new ToArraySubscriber(subscriber));
  71063. };
  71064. return ToArrayOperator;
  71065. }());
  71066. /**
  71067. * We need this JSDoc comment for affecting ESDoc.
  71068. * @ignore
  71069. * @extends {Ignored}
  71070. */
  71071. var ToArraySubscriber = (function (_super) {
  71072. __extends(ToArraySubscriber, _super);
  71073. function ToArraySubscriber(destination) {
  71074. _super.call(this, destination);
  71075. this.array = [];
  71076. }
  71077. ToArraySubscriber.prototype._next = function (x) {
  71078. this.array.push(x);
  71079. };
  71080. ToArraySubscriber.prototype._complete = function () {
  71081. this.destination.next(this.array);
  71082. this.destination.complete();
  71083. };
  71084. return ToArraySubscriber;
  71085. }(Subscriber_1.Subscriber));
  71086. //# sourceMappingURL=toArray.js.map
  71087. /***/ },
  71088. /* 935 */
  71089. /***/ function(module, exports, __webpack_require__) {
  71090. "use strict";
  71091. "use strict";
  71092. var __extends = (this && this.__extends) || function (d, b) {
  71093. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  71094. function __() { this.constructor = d; }
  71095. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  71096. };
  71097. var Subject_1 = __webpack_require__(15);
  71098. var OuterSubscriber_1 = __webpack_require__(6);
  71099. var subscribeToResult_1 = __webpack_require__(7);
  71100. /**
  71101. * Branch out the source Observable values as a nested Observable whenever
  71102. * `windowBoundaries` emits.
  71103. *
  71104. * <span class="informal">It's like {@link buffer}, but emits a nested Observable
  71105. * instead of an array.</span>
  71106. *
  71107. * <img src="./img/window.png" width="100%">
  71108. *
  71109. * Returns an Observable that emits windows of items it collects from the source
  71110. * Observable. The output Observable emits connected, non-overlapping
  71111. * windows. It emits the current window and opens a new one whenever the
  71112. * Observable `windowBoundaries` emits an item. Because each window is an
  71113. * Observable, the output is a higher-order Observable.
  71114. *
  71115. * @example <caption>In every window of 1 second each, emit at most 2 click events</caption>
  71116. * var clicks = Rx.Observable.fromEvent(document, 'click');
  71117. * var interval = Rx.Observable.interval(1000);
  71118. * var result = clicks.window(interval)
  71119. * .map(win => win.take(2)) // each window has at most 2 emissions
  71120. * .mergeAll(); // flatten the Observable-of-Observables
  71121. * result.subscribe(x => console.log(x));
  71122. *
  71123. * @see {@link windowCount}
  71124. * @see {@link windowTime}
  71125. * @see {@link windowToggle}
  71126. * @see {@link windowWhen}
  71127. * @see {@link buffer}
  71128. *
  71129. * @param {Observable<any>} windowBoundaries An Observable that completes the
  71130. * previous window and starts a new window.
  71131. * @return {Observable<Observable<T>>} An Observable of windows, which are
  71132. * Observables emitting values of the source Observable.
  71133. * @method window
  71134. * @owner Observable
  71135. */
  71136. function window(windowBoundaries) {
  71137. return this.lift(new WindowOperator(windowBoundaries));
  71138. }
  71139. exports.window = window;
  71140. var WindowOperator = (function () {
  71141. function WindowOperator(windowBoundaries) {
  71142. this.windowBoundaries = windowBoundaries;
  71143. }
  71144. WindowOperator.prototype.call = function (subscriber, source) {
  71145. var windowSubscriber = new WindowSubscriber(subscriber);
  71146. var sourceSubscription = source._subscribe(windowSubscriber);
  71147. if (!sourceSubscription.closed) {
  71148. windowSubscriber.add(subscribeToResult_1.subscribeToResult(windowSubscriber, this.windowBoundaries));
  71149. }
  71150. return sourceSubscription;
  71151. };
  71152. return WindowOperator;
  71153. }());
  71154. /**
  71155. * We need this JSDoc comment for affecting ESDoc.
  71156. * @ignore
  71157. * @extends {Ignored}
  71158. */
  71159. var WindowSubscriber = (function (_super) {
  71160. __extends(WindowSubscriber, _super);
  71161. function WindowSubscriber(destination) {
  71162. _super.call(this, destination);
  71163. this.window = new Subject_1.Subject();
  71164. destination.next(this.window);
  71165. }
  71166. WindowSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  71167. this.openWindow();
  71168. };
  71169. WindowSubscriber.prototype.notifyError = function (error, innerSub) {
  71170. this._error(error);
  71171. };
  71172. WindowSubscriber.prototype.notifyComplete = function (innerSub) {
  71173. this._complete();
  71174. };
  71175. WindowSubscriber.prototype._next = function (value) {
  71176. this.window.next(value);
  71177. };
  71178. WindowSubscriber.prototype._error = function (err) {
  71179. this.window.error(err);
  71180. this.destination.error(err);
  71181. };
  71182. WindowSubscriber.prototype._complete = function () {
  71183. this.window.complete();
  71184. this.destination.complete();
  71185. };
  71186. WindowSubscriber.prototype._unsubscribe = function () {
  71187. this.window = null;
  71188. };
  71189. WindowSubscriber.prototype.openWindow = function () {
  71190. var prevWindow = this.window;
  71191. if (prevWindow) {
  71192. prevWindow.complete();
  71193. }
  71194. var destination = this.destination;
  71195. var newWindow = this.window = new Subject_1.Subject();
  71196. destination.next(newWindow);
  71197. };
  71198. return WindowSubscriber;
  71199. }(OuterSubscriber_1.OuterSubscriber));
  71200. //# sourceMappingURL=window.js.map
  71201. /***/ },
  71202. /* 936 */
  71203. /***/ function(module, exports, __webpack_require__) {
  71204. "use strict";
  71205. "use strict";
  71206. var __extends = (this && this.__extends) || function (d, b) {
  71207. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  71208. function __() { this.constructor = d; }
  71209. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  71210. };
  71211. var Subscriber_1 = __webpack_require__(3);
  71212. var Subject_1 = __webpack_require__(15);
  71213. /**
  71214. * Branch out the source Observable values as a nested Observable with each
  71215. * nested Observable emitting at most `windowSize` values.
  71216. *
  71217. * <span class="informal">It's like {@link bufferCount}, but emits a nested
  71218. * Observable instead of an array.</span>
  71219. *
  71220. * <img src="./img/windowCount.png" width="100%">
  71221. *
  71222. * Returns an Observable that emits windows of items it collects from the source
  71223. * Observable. The output Observable emits windows every `startWindowEvery`
  71224. * items, each containing no more than `windowSize` items. When the source
  71225. * Observable completes or encounters an error, the output Observable emits
  71226. * the current window and propagates the notification from the source
  71227. * Observable. If `startWindowEvery` is not provided, then new windows are
  71228. * started immediately at the start of the source and when each window completes
  71229. * with size `windowSize`.
  71230. *
  71231. * @example <caption>Ignore every 3rd click event, starting from the first one</caption>
  71232. * var clicks = Rx.Observable.fromEvent(document, 'click');
  71233. * var result = clicks.windowCount(3)
  71234. * .map(win => win.skip(1)) // skip first of every 3 clicks
  71235. * .mergeAll(); // flatten the Observable-of-Observables
  71236. * result.subscribe(x => console.log(x));
  71237. *
  71238. * @example <caption>Ignore every 3rd click event, starting from the third one</caption>
  71239. * var clicks = Rx.Observable.fromEvent(document, 'click');
  71240. * var result = clicks.windowCount(2, 3)
  71241. * .mergeAll(); // flatten the Observable-of-Observables
  71242. * result.subscribe(x => console.log(x));
  71243. *
  71244. * @see {@link window}
  71245. * @see {@link windowTime}
  71246. * @see {@link windowToggle}
  71247. * @see {@link windowWhen}
  71248. * @see {@link bufferCount}
  71249. *
  71250. * @param {number} windowSize The maximum number of values emitted by each
  71251. * window.
  71252. * @param {number} [startWindowEvery] Interval at which to start a new window.
  71253. * For example if `startWindowEvery` is `2`, then a new window will be started
  71254. * on every other value from the source. A new window is started at the
  71255. * beginning of the source by default.
  71256. * @return {Observable<Observable<T>>} An Observable of windows, which in turn
  71257. * are Observable of values.
  71258. * @method windowCount
  71259. * @owner Observable
  71260. */
  71261. function windowCount(windowSize, startWindowEvery) {
  71262. if (startWindowEvery === void 0) { startWindowEvery = 0; }
  71263. return this.lift(new WindowCountOperator(windowSize, startWindowEvery));
  71264. }
  71265. exports.windowCount = windowCount;
  71266. var WindowCountOperator = (function () {
  71267. function WindowCountOperator(windowSize, startWindowEvery) {
  71268. this.windowSize = windowSize;
  71269. this.startWindowEvery = startWindowEvery;
  71270. }
  71271. WindowCountOperator.prototype.call = function (subscriber, source) {
  71272. return source._subscribe(new WindowCountSubscriber(subscriber, this.windowSize, this.startWindowEvery));
  71273. };
  71274. return WindowCountOperator;
  71275. }());
  71276. /**
  71277. * We need this JSDoc comment for affecting ESDoc.
  71278. * @ignore
  71279. * @extends {Ignored}
  71280. */
  71281. var WindowCountSubscriber = (function (_super) {
  71282. __extends(WindowCountSubscriber, _super);
  71283. function WindowCountSubscriber(destination, windowSize, startWindowEvery) {
  71284. _super.call(this, destination);
  71285. this.destination = destination;
  71286. this.windowSize = windowSize;
  71287. this.startWindowEvery = startWindowEvery;
  71288. this.windows = [new Subject_1.Subject()];
  71289. this.count = 0;
  71290. destination.next(this.windows[0]);
  71291. }
  71292. WindowCountSubscriber.prototype._next = function (value) {
  71293. var startWindowEvery = (this.startWindowEvery > 0) ? this.startWindowEvery : this.windowSize;
  71294. var destination = this.destination;
  71295. var windowSize = this.windowSize;
  71296. var windows = this.windows;
  71297. var len = windows.length;
  71298. for (var i = 0; i < len && !this.closed; i++) {
  71299. windows[i].next(value);
  71300. }
  71301. var c = this.count - windowSize + 1;
  71302. if (c >= 0 && c % startWindowEvery === 0 && !this.closed) {
  71303. windows.shift().complete();
  71304. }
  71305. if (++this.count % startWindowEvery === 0 && !this.closed) {
  71306. var window_1 = new Subject_1.Subject();
  71307. windows.push(window_1);
  71308. destination.next(window_1);
  71309. }
  71310. };
  71311. WindowCountSubscriber.prototype._error = function (err) {
  71312. var windows = this.windows;
  71313. if (windows) {
  71314. while (windows.length > 0 && !this.closed) {
  71315. windows.shift().error(err);
  71316. }
  71317. }
  71318. this.destination.error(err);
  71319. };
  71320. WindowCountSubscriber.prototype._complete = function () {
  71321. var windows = this.windows;
  71322. if (windows) {
  71323. while (windows.length > 0 && !this.closed) {
  71324. windows.shift().complete();
  71325. }
  71326. }
  71327. this.destination.complete();
  71328. };
  71329. WindowCountSubscriber.prototype._unsubscribe = function () {
  71330. this.count = 0;
  71331. this.windows = null;
  71332. };
  71333. return WindowCountSubscriber;
  71334. }(Subscriber_1.Subscriber));
  71335. //# sourceMappingURL=windowCount.js.map
  71336. /***/ },
  71337. /* 937 */
  71338. /***/ function(module, exports, __webpack_require__) {
  71339. "use strict";
  71340. "use strict";
  71341. var __extends = (this && this.__extends) || function (d, b) {
  71342. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  71343. function __() { this.constructor = d; }
  71344. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  71345. };
  71346. var Subject_1 = __webpack_require__(15);
  71347. var async_1 = __webpack_require__(33);
  71348. var Subscriber_1 = __webpack_require__(3);
  71349. /**
  71350. * Branch out the source Observable values as a nested Observable periodically
  71351. * in time.
  71352. *
  71353. * <span class="informal">It's like {@link bufferTime}, but emits a nested
  71354. * Observable instead of an array.</span>
  71355. *
  71356. * <img src="./img/windowTime.png" width="100%">
  71357. *
  71358. * Returns an Observable that emits windows of items it collects from the source
  71359. * Observable. The output Observable starts a new window periodically, as
  71360. * determined by the `windowCreationInterval` argument. It emits each window
  71361. * after a fixed timespan, specified by the `windowTimeSpan` argument. When the
  71362. * source Observable completes or encounters an error, the output Observable
  71363. * emits the current window and propagates the notification from the source
  71364. * Observable. If `windowCreationInterval` is not provided, the output
  71365. * Observable starts a new window when the previous window of duration
  71366. * `windowTimeSpan` completes.
  71367. *
  71368. * @example <caption>In every window of 1 second each, emit at most 2 click events</caption>
  71369. * var clicks = Rx.Observable.fromEvent(document, 'click');
  71370. * var result = clicks.windowTime(1000)
  71371. * .map(win => win.take(2)) // each window has at most 2 emissions
  71372. * .mergeAll(); // flatten the Observable-of-Observables
  71373. * result.subscribe(x => console.log(x));
  71374. *
  71375. * @example <caption>Every 5 seconds start a window 1 second long, and emit at most 2 click events per window</caption>
  71376. * var clicks = Rx.Observable.fromEvent(document, 'click');
  71377. * var result = clicks.windowTime(1000, 5000)
  71378. * .map(win => win.take(2)) // each window has at most 2 emissions
  71379. * .mergeAll(); // flatten the Observable-of-Observables
  71380. * result.subscribe(x => console.log(x));
  71381. *
  71382. * @see {@link window}
  71383. * @see {@link windowCount}
  71384. * @see {@link windowToggle}
  71385. * @see {@link windowWhen}
  71386. * @see {@link bufferTime}
  71387. *
  71388. * @param {number} windowTimeSpan The amount of time to fill each window.
  71389. * @param {number} [windowCreationInterval] The interval at which to start new
  71390. * windows.
  71391. * @param {Scheduler} [scheduler=async] The scheduler on which to schedule the
  71392. * intervals that determine window boundaries.
  71393. * @return {Observable<Observable<T>>} An observable of windows, which in turn
  71394. * are Observables.
  71395. * @method windowTime
  71396. * @owner Observable
  71397. */
  71398. function windowTime(windowTimeSpan, windowCreationInterval, scheduler) {
  71399. if (windowCreationInterval === void 0) { windowCreationInterval = null; }
  71400. if (scheduler === void 0) { scheduler = async_1.async; }
  71401. return this.lift(new WindowTimeOperator(windowTimeSpan, windowCreationInterval, scheduler));
  71402. }
  71403. exports.windowTime = windowTime;
  71404. var WindowTimeOperator = (function () {
  71405. function WindowTimeOperator(windowTimeSpan, windowCreationInterval, scheduler) {
  71406. this.windowTimeSpan = windowTimeSpan;
  71407. this.windowCreationInterval = windowCreationInterval;
  71408. this.scheduler = scheduler;
  71409. }
  71410. WindowTimeOperator.prototype.call = function (subscriber, source) {
  71411. return source._subscribe(new WindowTimeSubscriber(subscriber, this.windowTimeSpan, this.windowCreationInterval, this.scheduler));
  71412. };
  71413. return WindowTimeOperator;
  71414. }());
  71415. /**
  71416. * We need this JSDoc comment for affecting ESDoc.
  71417. * @ignore
  71418. * @extends {Ignored}
  71419. */
  71420. var WindowTimeSubscriber = (function (_super) {
  71421. __extends(WindowTimeSubscriber, _super);
  71422. function WindowTimeSubscriber(destination, windowTimeSpan, windowCreationInterval, scheduler) {
  71423. _super.call(this, destination);
  71424. this.destination = destination;
  71425. this.windowTimeSpan = windowTimeSpan;
  71426. this.windowCreationInterval = windowCreationInterval;
  71427. this.scheduler = scheduler;
  71428. this.windows = [];
  71429. if (windowCreationInterval !== null && windowCreationInterval >= 0) {
  71430. var window_1 = this.openWindow();
  71431. var closeState = { subscriber: this, window: window_1, context: null };
  71432. var creationState = { windowTimeSpan: windowTimeSpan, windowCreationInterval: windowCreationInterval, subscriber: this, scheduler: scheduler };
  71433. this.add(scheduler.schedule(dispatchWindowClose, windowTimeSpan, closeState));
  71434. this.add(scheduler.schedule(dispatchWindowCreation, windowCreationInterval, creationState));
  71435. }
  71436. else {
  71437. var window_2 = this.openWindow();
  71438. var timeSpanOnlyState = { subscriber: this, window: window_2, windowTimeSpan: windowTimeSpan };
  71439. this.add(scheduler.schedule(dispatchWindowTimeSpanOnly, windowTimeSpan, timeSpanOnlyState));
  71440. }
  71441. }
  71442. WindowTimeSubscriber.prototype._next = function (value) {
  71443. var windows = this.windows;
  71444. var len = windows.length;
  71445. for (var i = 0; i < len; i++) {
  71446. var window_3 = windows[i];
  71447. if (!window_3.closed) {
  71448. window_3.next(value);
  71449. }
  71450. }
  71451. };
  71452. WindowTimeSubscriber.prototype._error = function (err) {
  71453. var windows = this.windows;
  71454. while (windows.length > 0) {
  71455. windows.shift().error(err);
  71456. }
  71457. this.destination.error(err);
  71458. };
  71459. WindowTimeSubscriber.prototype._complete = function () {
  71460. var windows = this.windows;
  71461. while (windows.length > 0) {
  71462. var window_4 = windows.shift();
  71463. if (!window_4.closed) {
  71464. window_4.complete();
  71465. }
  71466. }
  71467. this.destination.complete();
  71468. };
  71469. WindowTimeSubscriber.prototype.openWindow = function () {
  71470. var window = new Subject_1.Subject();
  71471. this.windows.push(window);
  71472. var destination = this.destination;
  71473. destination.next(window);
  71474. return window;
  71475. };
  71476. WindowTimeSubscriber.prototype.closeWindow = function (window) {
  71477. window.complete();
  71478. var windows = this.windows;
  71479. windows.splice(windows.indexOf(window), 1);
  71480. };
  71481. return WindowTimeSubscriber;
  71482. }(Subscriber_1.Subscriber));
  71483. function dispatchWindowTimeSpanOnly(state) {
  71484. var subscriber = state.subscriber, windowTimeSpan = state.windowTimeSpan, window = state.window;
  71485. if (window) {
  71486. window.complete();
  71487. }
  71488. state.window = subscriber.openWindow();
  71489. this.schedule(state, windowTimeSpan);
  71490. }
  71491. function dispatchWindowCreation(state) {
  71492. var windowTimeSpan = state.windowTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler, windowCreationInterval = state.windowCreationInterval;
  71493. var window = subscriber.openWindow();
  71494. var action = this;
  71495. var context = { action: action, subscription: null };
  71496. var timeSpanState = { subscriber: subscriber, window: window, context: context };
  71497. context.subscription = scheduler.schedule(dispatchWindowClose, windowTimeSpan, timeSpanState);
  71498. action.add(context.subscription);
  71499. action.schedule(state, windowCreationInterval);
  71500. }
  71501. function dispatchWindowClose(arg) {
  71502. var subscriber = arg.subscriber, window = arg.window, context = arg.context;
  71503. if (context && context.action && context.subscription) {
  71504. context.action.remove(context.subscription);
  71505. }
  71506. subscriber.closeWindow(window);
  71507. }
  71508. //# sourceMappingURL=windowTime.js.map
  71509. /***/ },
  71510. /* 938 */
  71511. /***/ function(module, exports, __webpack_require__) {
  71512. "use strict";
  71513. "use strict";
  71514. var __extends = (this && this.__extends) || function (d, b) {
  71515. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  71516. function __() { this.constructor = d; }
  71517. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  71518. };
  71519. var Subject_1 = __webpack_require__(15);
  71520. var Subscription_1 = __webpack_require__(22);
  71521. var tryCatch_1 = __webpack_require__(24);
  71522. var errorObject_1 = __webpack_require__(23);
  71523. var OuterSubscriber_1 = __webpack_require__(6);
  71524. var subscribeToResult_1 = __webpack_require__(7);
  71525. /**
  71526. * Branch out the source Observable values as a nested Observable starting from
  71527. * an emission from `openings` and ending when the output of `closingSelector`
  71528. * emits.
  71529. *
  71530. * <span class="informal">It's like {@link bufferToggle}, but emits a nested
  71531. * Observable instead of an array.</span>
  71532. *
  71533. * <img src="./img/windowToggle.png" width="100%">
  71534. *
  71535. * Returns an Observable that emits windows of items it collects from the source
  71536. * Observable. The output Observable emits windows that contain those items
  71537. * emitted by the source Observable between the time when the `openings`
  71538. * Observable emits an item and when the Observable returned by
  71539. * `closingSelector` emits an item.
  71540. *
  71541. * @example <caption>Every other second, emit the click events from the next 500ms</caption>
  71542. * var clicks = Rx.Observable.fromEvent(document, 'click');
  71543. * var openings = Rx.Observable.interval(1000);
  71544. * var result = clicks.windowToggle(openings, i =>
  71545. * i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty()
  71546. * ).mergeAll();
  71547. * result.subscribe(x => console.log(x));
  71548. *
  71549. * @see {@link window}
  71550. * @see {@link windowCount}
  71551. * @see {@link windowTime}
  71552. * @see {@link windowWhen}
  71553. * @see {@link bufferToggle}
  71554. *
  71555. * @param {Observable<O>} openings An observable of notifications to start new
  71556. * windows.
  71557. * @param {function(value: O): Observable} closingSelector A function that takes
  71558. * the value emitted by the `openings` observable and returns an Observable,
  71559. * which, when it emits (either `next` or `complete`), signals that the
  71560. * associated window should complete.
  71561. * @return {Observable<Observable<T>>} An observable of windows, which in turn
  71562. * are Observables.
  71563. * @method windowToggle
  71564. * @owner Observable
  71565. */
  71566. function windowToggle(openings, closingSelector) {
  71567. return this.lift(new WindowToggleOperator(openings, closingSelector));
  71568. }
  71569. exports.windowToggle = windowToggle;
  71570. var WindowToggleOperator = (function () {
  71571. function WindowToggleOperator(openings, closingSelector) {
  71572. this.openings = openings;
  71573. this.closingSelector = closingSelector;
  71574. }
  71575. WindowToggleOperator.prototype.call = function (subscriber, source) {
  71576. return source._subscribe(new WindowToggleSubscriber(subscriber, this.openings, this.closingSelector));
  71577. };
  71578. return WindowToggleOperator;
  71579. }());
  71580. /**
  71581. * We need this JSDoc comment for affecting ESDoc.
  71582. * @ignore
  71583. * @extends {Ignored}
  71584. */
  71585. var WindowToggleSubscriber = (function (_super) {
  71586. __extends(WindowToggleSubscriber, _super);
  71587. function WindowToggleSubscriber(destination, openings, closingSelector) {
  71588. _super.call(this, destination);
  71589. this.openings = openings;
  71590. this.closingSelector = closingSelector;
  71591. this.contexts = [];
  71592. this.add(this.openSubscription = subscribeToResult_1.subscribeToResult(this, openings, openings));
  71593. }
  71594. WindowToggleSubscriber.prototype._next = function (value) {
  71595. var contexts = this.contexts;
  71596. if (contexts) {
  71597. var len = contexts.length;
  71598. for (var i = 0; i < len; i++) {
  71599. contexts[i].window.next(value);
  71600. }
  71601. }
  71602. };
  71603. WindowToggleSubscriber.prototype._error = function (err) {
  71604. var contexts = this.contexts;
  71605. this.contexts = null;
  71606. if (contexts) {
  71607. var len = contexts.length;
  71608. var index = -1;
  71609. while (++index < len) {
  71610. var context = contexts[index];
  71611. context.window.error(err);
  71612. context.subscription.unsubscribe();
  71613. }
  71614. }
  71615. _super.prototype._error.call(this, err);
  71616. };
  71617. WindowToggleSubscriber.prototype._complete = function () {
  71618. var contexts = this.contexts;
  71619. this.contexts = null;
  71620. if (contexts) {
  71621. var len = contexts.length;
  71622. var index = -1;
  71623. while (++index < len) {
  71624. var context = contexts[index];
  71625. context.window.complete();
  71626. context.subscription.unsubscribe();
  71627. }
  71628. }
  71629. _super.prototype._complete.call(this);
  71630. };
  71631. WindowToggleSubscriber.prototype._unsubscribe = function () {
  71632. var contexts = this.contexts;
  71633. this.contexts = null;
  71634. if (contexts) {
  71635. var len = contexts.length;
  71636. var index = -1;
  71637. while (++index < len) {
  71638. var context = contexts[index];
  71639. context.window.unsubscribe();
  71640. context.subscription.unsubscribe();
  71641. }
  71642. }
  71643. };
  71644. WindowToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  71645. if (outerValue === this.openings) {
  71646. var closingSelector = this.closingSelector;
  71647. var closingNotifier = tryCatch_1.tryCatch(closingSelector)(innerValue);
  71648. if (closingNotifier === errorObject_1.errorObject) {
  71649. return this.error(errorObject_1.errorObject.e);
  71650. }
  71651. else {
  71652. var window_1 = new Subject_1.Subject();
  71653. var subscription = new Subscription_1.Subscription();
  71654. var context = { window: window_1, subscription: subscription };
  71655. this.contexts.push(context);
  71656. var innerSubscription = subscribeToResult_1.subscribeToResult(this, closingNotifier, context);
  71657. if (innerSubscription.closed) {
  71658. this.closeWindow(this.contexts.length - 1);
  71659. }
  71660. else {
  71661. innerSubscription.context = context;
  71662. subscription.add(innerSubscription);
  71663. }
  71664. this.destination.next(window_1);
  71665. }
  71666. }
  71667. else {
  71668. this.closeWindow(this.contexts.indexOf(outerValue));
  71669. }
  71670. };
  71671. WindowToggleSubscriber.prototype.notifyError = function (err) {
  71672. this.error(err);
  71673. };
  71674. WindowToggleSubscriber.prototype.notifyComplete = function (inner) {
  71675. if (inner !== this.openSubscription) {
  71676. this.closeWindow(this.contexts.indexOf(inner.context));
  71677. }
  71678. };
  71679. WindowToggleSubscriber.prototype.closeWindow = function (index) {
  71680. if (index === -1) {
  71681. return;
  71682. }
  71683. var contexts = this.contexts;
  71684. var context = contexts[index];
  71685. var window = context.window, subscription = context.subscription;
  71686. contexts.splice(index, 1);
  71687. window.complete();
  71688. subscription.unsubscribe();
  71689. };
  71690. return WindowToggleSubscriber;
  71691. }(OuterSubscriber_1.OuterSubscriber));
  71692. //# sourceMappingURL=windowToggle.js.map
  71693. /***/ },
  71694. /* 939 */
  71695. /***/ function(module, exports, __webpack_require__) {
  71696. "use strict";
  71697. "use strict";
  71698. var __extends = (this && this.__extends) || function (d, b) {
  71699. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  71700. function __() { this.constructor = d; }
  71701. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  71702. };
  71703. var Subject_1 = __webpack_require__(15);
  71704. var tryCatch_1 = __webpack_require__(24);
  71705. var errorObject_1 = __webpack_require__(23);
  71706. var OuterSubscriber_1 = __webpack_require__(6);
  71707. var subscribeToResult_1 = __webpack_require__(7);
  71708. /**
  71709. * Branch out the source Observable values as a nested Observable using a
  71710. * factory function of closing Observables to determine when to start a new
  71711. * window.
  71712. *
  71713. * <span class="informal">It's like {@link bufferWhen}, but emits a nested
  71714. * Observable instead of an array.</span>
  71715. *
  71716. * <img src="./img/windowWhen.png" width="100%">
  71717. *
  71718. * Returns an Observable that emits windows of items it collects from the source
  71719. * Observable. The output Observable emits connected, non-overlapping windows.
  71720. * It emits the current window and opens a new one whenever the Observable
  71721. * produced by the specified `closingSelector` function emits an item. The first
  71722. * window is opened immediately when subscribing to the output Observable.
  71723. *
  71724. * @example <caption>Emit only the first two clicks events in every window of [1-5] random seconds</caption>
  71725. * var clicks = Rx.Observable.fromEvent(document, 'click');
  71726. * var result = clicks
  71727. * .windowWhen(() => Rx.Observable.interval(1000 + Math.random() * 4000))
  71728. * .map(win => win.take(2)) // each window has at most 2 emissions
  71729. * .mergeAll(); // flatten the Observable-of-Observables
  71730. * result.subscribe(x => console.log(x));
  71731. *
  71732. * @see {@link window}
  71733. * @see {@link windowCount}
  71734. * @see {@link windowTime}
  71735. * @see {@link windowToggle}
  71736. * @see {@link bufferWhen}
  71737. *
  71738. * @param {function(): Observable} closingSelector A function that takes no
  71739. * arguments and returns an Observable that signals (on either `next` or
  71740. * `complete`) when to close the previous window and start a new one.
  71741. * @return {Observable<Observable<T>>} An observable of windows, which in turn
  71742. * are Observables.
  71743. * @method windowWhen
  71744. * @owner Observable
  71745. */
  71746. function windowWhen(closingSelector) {
  71747. return this.lift(new WindowOperator(closingSelector));
  71748. }
  71749. exports.windowWhen = windowWhen;
  71750. var WindowOperator = (function () {
  71751. function WindowOperator(closingSelector) {
  71752. this.closingSelector = closingSelector;
  71753. }
  71754. WindowOperator.prototype.call = function (subscriber, source) {
  71755. return source._subscribe(new WindowSubscriber(subscriber, this.closingSelector));
  71756. };
  71757. return WindowOperator;
  71758. }());
  71759. /**
  71760. * We need this JSDoc comment for affecting ESDoc.
  71761. * @ignore
  71762. * @extends {Ignored}
  71763. */
  71764. var WindowSubscriber = (function (_super) {
  71765. __extends(WindowSubscriber, _super);
  71766. function WindowSubscriber(destination, closingSelector) {
  71767. _super.call(this, destination);
  71768. this.destination = destination;
  71769. this.closingSelector = closingSelector;
  71770. this.openWindow();
  71771. }
  71772. WindowSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  71773. this.openWindow(innerSub);
  71774. };
  71775. WindowSubscriber.prototype.notifyError = function (error, innerSub) {
  71776. this._error(error);
  71777. };
  71778. WindowSubscriber.prototype.notifyComplete = function (innerSub) {
  71779. this.openWindow(innerSub);
  71780. };
  71781. WindowSubscriber.prototype._next = function (value) {
  71782. this.window.next(value);
  71783. };
  71784. WindowSubscriber.prototype._error = function (err) {
  71785. this.window.error(err);
  71786. this.destination.error(err);
  71787. this.unsubscribeClosingNotification();
  71788. };
  71789. WindowSubscriber.prototype._complete = function () {
  71790. this.window.complete();
  71791. this.destination.complete();
  71792. this.unsubscribeClosingNotification();
  71793. };
  71794. WindowSubscriber.prototype.unsubscribeClosingNotification = function () {
  71795. if (this.closingNotification) {
  71796. this.closingNotification.unsubscribe();
  71797. }
  71798. };
  71799. WindowSubscriber.prototype.openWindow = function (innerSub) {
  71800. if (innerSub === void 0) { innerSub = null; }
  71801. if (innerSub) {
  71802. this.remove(innerSub);
  71803. innerSub.unsubscribe();
  71804. }
  71805. var prevWindow = this.window;
  71806. if (prevWindow) {
  71807. prevWindow.complete();
  71808. }
  71809. var window = this.window = new Subject_1.Subject();
  71810. this.destination.next(window);
  71811. var closingNotifier = tryCatch_1.tryCatch(this.closingSelector)();
  71812. if (closingNotifier === errorObject_1.errorObject) {
  71813. var err = errorObject_1.errorObject.e;
  71814. this.destination.error(err);
  71815. this.window.error(err);
  71816. }
  71817. else {
  71818. this.add(this.closingNotification = subscribeToResult_1.subscribeToResult(this, closingNotifier));
  71819. }
  71820. };
  71821. return WindowSubscriber;
  71822. }(OuterSubscriber_1.OuterSubscriber));
  71823. //# sourceMappingURL=windowWhen.js.map
  71824. /***/ },
  71825. /* 940 */
  71826. /***/ function(module, exports, __webpack_require__) {
  71827. "use strict";
  71828. "use strict";
  71829. var __extends = (this && this.__extends) || function (d, b) {
  71830. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  71831. function __() { this.constructor = d; }
  71832. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  71833. };
  71834. var OuterSubscriber_1 = __webpack_require__(6);
  71835. var subscribeToResult_1 = __webpack_require__(7);
  71836. /**
  71837. * Combines the source Observable with other Observables to create an Observable
  71838. * whose values are calculated from the latest values of each, only when the
  71839. * source emits.
  71840. *
  71841. * <span class="informal">Whenever the source Observable emits a value, it
  71842. * computes a formula using that value plus the latest values from other input
  71843. * Observables, then emits the output of that formula.</span>
  71844. *
  71845. * <img src="./img/withLatestFrom.png" width="100%">
  71846. *
  71847. * `withLatestFrom` combines each value from the source Observable (the
  71848. * instance) with the latest values from the other input Observables only when
  71849. * the source emits a value, optionally using a `project` function to determine
  71850. * the value to be emitted on the output Observable. All input Observables must
  71851. * emit at least one value before the output Observable will emit a value.
  71852. *
  71853. * @example <caption>On every click event, emit an array with the latest timer event plus the click event</caption>
  71854. * var clicks = Rx.Observable.fromEvent(document, 'click');
  71855. * var timer = Rx.Observable.interval(1000);
  71856. * var result = clicks.withLatestFrom(timer);
  71857. * result.subscribe(x => console.log(x));
  71858. *
  71859. * @see {@link combineLatest}
  71860. *
  71861. * @param {Observable} other An input Observable to combine with the source
  71862. * Observable. More than one input Observables may be given as argument.
  71863. * @param {Function} [project] Projection function for combining values
  71864. * together. Receives all values in order of the Observables passed, where the
  71865. * first parameter is a value from the source Observable. (e.g.
  71866. * `a.withLatestFrom(b, c, (a1, b1, c1) => a1 + b1 + c1)`). If this is not
  71867. * passed, arrays will be emitted on the output Observable.
  71868. * @return {Observable} An Observable of projected values from the most recent
  71869. * values from each input Observable, or an array of the most recent values from
  71870. * each input Observable.
  71871. * @method withLatestFrom
  71872. * @owner Observable
  71873. */
  71874. function withLatestFrom() {
  71875. var args = [];
  71876. for (var _i = 0; _i < arguments.length; _i++) {
  71877. args[_i - 0] = arguments[_i];
  71878. }
  71879. var project;
  71880. if (typeof args[args.length - 1] === 'function') {
  71881. project = args.pop();
  71882. }
  71883. var observables = args;
  71884. return this.lift(new WithLatestFromOperator(observables, project));
  71885. }
  71886. exports.withLatestFrom = withLatestFrom;
  71887. /* tslint:enable:max-line-length */
  71888. var WithLatestFromOperator = (function () {
  71889. function WithLatestFromOperator(observables, project) {
  71890. this.observables = observables;
  71891. this.project = project;
  71892. }
  71893. WithLatestFromOperator.prototype.call = function (subscriber, source) {
  71894. return source._subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project));
  71895. };
  71896. return WithLatestFromOperator;
  71897. }());
  71898. /**
  71899. * We need this JSDoc comment for affecting ESDoc.
  71900. * @ignore
  71901. * @extends {Ignored}
  71902. */
  71903. var WithLatestFromSubscriber = (function (_super) {
  71904. __extends(WithLatestFromSubscriber, _super);
  71905. function WithLatestFromSubscriber(destination, observables, project) {
  71906. _super.call(this, destination);
  71907. this.observables = observables;
  71908. this.project = project;
  71909. this.toRespond = [];
  71910. var len = observables.length;
  71911. this.values = new Array(len);
  71912. for (var i = 0; i < len; i++) {
  71913. this.toRespond.push(i);
  71914. }
  71915. for (var i = 0; i < len; i++) {
  71916. var observable = observables[i];
  71917. this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));
  71918. }
  71919. }
  71920. WithLatestFromSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
  71921. this.values[outerIndex] = innerValue;
  71922. var toRespond = this.toRespond;
  71923. if (toRespond.length > 0) {
  71924. var found = toRespond.indexOf(outerIndex);
  71925. if (found !== -1) {
  71926. toRespond.splice(found, 1);
  71927. }
  71928. }
  71929. };
  71930. WithLatestFromSubscriber.prototype.notifyComplete = function () {
  71931. // noop
  71932. };
  71933. WithLatestFromSubscriber.prototype._next = function (value) {
  71934. if (this.toRespond.length === 0) {
  71935. var args = [value].concat(this.values);
  71936. if (this.project) {
  71937. this._tryProject(args);
  71938. }
  71939. else {
  71940. this.destination.next(args);
  71941. }
  71942. }
  71943. };
  71944. WithLatestFromSubscriber.prototype._tryProject = function (args) {
  71945. var result;
  71946. try {
  71947. result = this.project.apply(this, args);
  71948. }
  71949. catch (err) {
  71950. this.destination.error(err);
  71951. return;
  71952. }
  71953. this.destination.next(result);
  71954. };
  71955. return WithLatestFromSubscriber;
  71956. }(OuterSubscriber_1.OuterSubscriber));
  71957. //# sourceMappingURL=withLatestFrom.js.map
  71958. /***/ },
  71959. /* 941 */
  71960. /***/ function(module, exports, __webpack_require__) {
  71961. "use strict";
  71962. "use strict";
  71963. var zip_1 = __webpack_require__(264);
  71964. /**
  71965. * @param project
  71966. * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}
  71967. * @method zipAll
  71968. * @owner Observable
  71969. */
  71970. function zipAll(project) {
  71971. return this.lift(new zip_1.ZipOperator(project));
  71972. }
  71973. exports.zipAll = zipAll;
  71974. //# sourceMappingURL=zipAll.js.map
  71975. /***/ },
  71976. /* 942 */
  71977. /***/ function(module, exports, __webpack_require__) {
  71978. "use strict";
  71979. "use strict";
  71980. var __extends = (this && this.__extends) || function (d, b) {
  71981. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  71982. function __() { this.constructor = d; }
  71983. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  71984. };
  71985. var Subscription_1 = __webpack_require__(22);
  71986. /**
  71987. * A unit of work to be executed in a {@link Scheduler}. An action is typically
  71988. * created from within a Scheduler and an RxJS user does not need to concern
  71989. * themselves about creating and manipulating an Action.
  71990. *
  71991. * ```ts
  71992. * class Action<T> extends Subscription {
  71993. * new (scheduler: Scheduler, work: (state?: T) => void);
  71994. * schedule(state?: T, delay: number = 0): Subscription;
  71995. * }
  71996. * ```
  71997. *
  71998. * @class Action<T>
  71999. */
  72000. var Action = (function (_super) {
  72001. __extends(Action, _super);
  72002. function Action(scheduler, work) {
  72003. _super.call(this);
  72004. }
  72005. /**
  72006. * Schedules this action on its parent Scheduler for execution. May be passed
  72007. * some context object, `state`. May happen at some point in the future,
  72008. * according to the `delay` parameter, if specified.
  72009. * @param {T} [state] Some contextual data that the `work` function uses when
  72010. * called by the Scheduler.
  72011. * @param {number} [delay] Time to wait before executing the work, where the
  72012. * time unit is implicit and defined by the Scheduler.
  72013. * @return {void}
  72014. */
  72015. Action.prototype.schedule = function (state, delay) {
  72016. if (delay === void 0) { delay = 0; }
  72017. return this;
  72018. };
  72019. return Action;
  72020. }(Subscription_1.Subscription));
  72021. exports.Action = Action;
  72022. //# sourceMappingURL=Action.js.map
  72023. /***/ },
  72024. /* 943 */
  72025. /***/ function(module, exports, __webpack_require__) {
  72026. "use strict";
  72027. "use strict";
  72028. var __extends = (this && this.__extends) || function (d, b) {
  72029. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  72030. function __() { this.constructor = d; }
  72031. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  72032. };
  72033. var AsyncAction_1 = __webpack_require__(122);
  72034. var AnimationFrame_1 = __webpack_require__(953);
  72035. /**
  72036. * We need this JSDoc comment for affecting ESDoc.
  72037. * @ignore
  72038. * @extends {Ignored}
  72039. */
  72040. var AnimationFrameAction = (function (_super) {
  72041. __extends(AnimationFrameAction, _super);
  72042. function AnimationFrameAction(scheduler, work) {
  72043. _super.call(this, scheduler, work);
  72044. this.scheduler = scheduler;
  72045. this.work = work;
  72046. }
  72047. AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {
  72048. if (delay === void 0) { delay = 0; }
  72049. // If delay is greater than 0, request as an async action.
  72050. if (delay !== null && delay > 0) {
  72051. return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
  72052. }
  72053. // Push the action to the end of the scheduler queue.
  72054. scheduler.actions.push(this);
  72055. // If an animation frame has already been requested, don't request another
  72056. // one. If an animation frame hasn't been requested yet, request one. Return
  72057. // the current animation frame request id.
  72058. return scheduler.scheduled || (scheduler.scheduled = AnimationFrame_1.AnimationFrame.requestAnimationFrame(scheduler.flush.bind(scheduler, null)));
  72059. };
  72060. AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {
  72061. if (delay === void 0) { delay = 0; }
  72062. // If delay exists and is greater than 0, recycle as an async action.
  72063. if (delay !== null && delay > 0) {
  72064. return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);
  72065. }
  72066. // If the scheduler queue is empty, cancel the requested animation frame and
  72067. // set the scheduled flag to undefined so the next AnimationFrameAction will
  72068. // request its own.
  72069. if (scheduler.actions.length === 0) {
  72070. AnimationFrame_1.AnimationFrame.cancelAnimationFrame(id);
  72071. scheduler.scheduled = undefined;
  72072. }
  72073. // Return undefined so the action knows to request a new async id if it's rescheduled.
  72074. return undefined;
  72075. };
  72076. return AnimationFrameAction;
  72077. }(AsyncAction_1.AsyncAction));
  72078. exports.AnimationFrameAction = AnimationFrameAction;
  72079. //# sourceMappingURL=AnimationFrameAction.js.map
  72080. /***/ },
  72081. /* 944 */
  72082. /***/ function(module, exports, __webpack_require__) {
  72083. "use strict";
  72084. "use strict";
  72085. var __extends = (this && this.__extends) || function (d, b) {
  72086. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  72087. function __() { this.constructor = d; }
  72088. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  72089. };
  72090. var AsyncScheduler_1 = __webpack_require__(123);
  72091. var AnimationFrameScheduler = (function (_super) {
  72092. __extends(AnimationFrameScheduler, _super);
  72093. function AnimationFrameScheduler() {
  72094. _super.apply(this, arguments);
  72095. }
  72096. AnimationFrameScheduler.prototype.flush = function () {
  72097. this.active = true;
  72098. this.scheduled = undefined;
  72099. var actions = this.actions;
  72100. var error;
  72101. var index = -1;
  72102. var count = actions.length;
  72103. var action = actions.shift();
  72104. do {
  72105. if (error = action.execute(action.state, action.delay)) {
  72106. break;
  72107. }
  72108. } while (++index < count && (action = actions.shift()));
  72109. this.active = false;
  72110. if (error) {
  72111. while (++index < count && (action = actions.shift())) {
  72112. action.unsubscribe();
  72113. }
  72114. throw error;
  72115. }
  72116. };
  72117. return AnimationFrameScheduler;
  72118. }(AsyncScheduler_1.AsyncScheduler));
  72119. exports.AnimationFrameScheduler = AnimationFrameScheduler;
  72120. //# sourceMappingURL=AnimationFrameScheduler.js.map
  72121. /***/ },
  72122. /* 945 */
  72123. /***/ function(module, exports, __webpack_require__) {
  72124. "use strict";
  72125. "use strict";
  72126. var __extends = (this && this.__extends) || function (d, b) {
  72127. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  72128. function __() { this.constructor = d; }
  72129. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  72130. };
  72131. var Immediate_1 = __webpack_require__(955);
  72132. var AsyncAction_1 = __webpack_require__(122);
  72133. /**
  72134. * We need this JSDoc comment for affecting ESDoc.
  72135. * @ignore
  72136. * @extends {Ignored}
  72137. */
  72138. var AsapAction = (function (_super) {
  72139. __extends(AsapAction, _super);
  72140. function AsapAction(scheduler, work) {
  72141. _super.call(this, scheduler, work);
  72142. this.scheduler = scheduler;
  72143. this.work = work;
  72144. }
  72145. AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {
  72146. if (delay === void 0) { delay = 0; }
  72147. // If delay is greater than 0, request as an async action.
  72148. if (delay !== null && delay > 0) {
  72149. return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
  72150. }
  72151. // Push the action to the end of the scheduler queue.
  72152. scheduler.actions.push(this);
  72153. // If a microtask has already been scheduled, don't schedule another
  72154. // one. If a microtask hasn't been scheduled yet, schedule one now. Return
  72155. // the current scheduled microtask id.
  72156. return scheduler.scheduled || (scheduler.scheduled = Immediate_1.Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));
  72157. };
  72158. AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {
  72159. if (delay === void 0) { delay = 0; }
  72160. // If delay exists and is greater than 0, recycle as an async action.
  72161. if (delay !== null && delay > 0) {
  72162. return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);
  72163. }
  72164. // If the scheduler queue is empty, cancel the requested microtask and
  72165. // set the scheduled flag to undefined so the next AsapAction will schedule
  72166. // its own.
  72167. if (scheduler.actions.length === 0) {
  72168. Immediate_1.Immediate.clearImmediate(id);
  72169. scheduler.scheduled = undefined;
  72170. }
  72171. // Return undefined so the action knows to request a new async id if it's rescheduled.
  72172. return undefined;
  72173. };
  72174. return AsapAction;
  72175. }(AsyncAction_1.AsyncAction));
  72176. exports.AsapAction = AsapAction;
  72177. //# sourceMappingURL=AsapAction.js.map
  72178. /***/ },
  72179. /* 946 */
  72180. /***/ function(module, exports, __webpack_require__) {
  72181. "use strict";
  72182. "use strict";
  72183. var __extends = (this && this.__extends) || function (d, b) {
  72184. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  72185. function __() { this.constructor = d; }
  72186. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  72187. };
  72188. var AsyncScheduler_1 = __webpack_require__(123);
  72189. var AsapScheduler = (function (_super) {
  72190. __extends(AsapScheduler, _super);
  72191. function AsapScheduler() {
  72192. _super.apply(this, arguments);
  72193. }
  72194. AsapScheduler.prototype.flush = function () {
  72195. this.active = true;
  72196. this.scheduled = undefined;
  72197. var actions = this.actions;
  72198. var error;
  72199. var index = -1;
  72200. var count = actions.length;
  72201. var action = actions.shift();
  72202. do {
  72203. if (error = action.execute(action.state, action.delay)) {
  72204. break;
  72205. }
  72206. } while (++index < count && (action = actions.shift()));
  72207. this.active = false;
  72208. if (error) {
  72209. while (++index < count && (action = actions.shift())) {
  72210. action.unsubscribe();
  72211. }
  72212. throw error;
  72213. }
  72214. };
  72215. return AsapScheduler;
  72216. }(AsyncScheduler_1.AsyncScheduler));
  72217. exports.AsapScheduler = AsapScheduler;
  72218. //# sourceMappingURL=AsapScheduler.js.map
  72219. /***/ },
  72220. /* 947 */
  72221. /***/ function(module, exports, __webpack_require__) {
  72222. "use strict";
  72223. "use strict";
  72224. var __extends = (this && this.__extends) || function (d, b) {
  72225. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  72226. function __() { this.constructor = d; }
  72227. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  72228. };
  72229. var AsyncAction_1 = __webpack_require__(122);
  72230. /**
  72231. * We need this JSDoc comment for affecting ESDoc.
  72232. * @ignore
  72233. * @extends {Ignored}
  72234. */
  72235. var QueueAction = (function (_super) {
  72236. __extends(QueueAction, _super);
  72237. function QueueAction(scheduler, work) {
  72238. _super.call(this, scheduler, work);
  72239. this.scheduler = scheduler;
  72240. this.work = work;
  72241. }
  72242. QueueAction.prototype.schedule = function (state, delay) {
  72243. if (delay === void 0) { delay = 0; }
  72244. if (delay > 0) {
  72245. return _super.prototype.schedule.call(this, state, delay);
  72246. }
  72247. this.delay = delay;
  72248. this.state = state;
  72249. this.scheduler.flush(this);
  72250. return this;
  72251. };
  72252. QueueAction.prototype.execute = function (state, delay) {
  72253. return (delay > 0 || this.closed) ?
  72254. _super.prototype.execute.call(this, state, delay) :
  72255. this._execute(state, delay);
  72256. };
  72257. QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {
  72258. if (delay === void 0) { delay = 0; }
  72259. // If delay is greater than 0, enqueue as an async action.
  72260. if (delay !== null && delay > 0) {
  72261. return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
  72262. }
  72263. // Otherwise flush the scheduler starting with this action.
  72264. return scheduler.flush(this);
  72265. };
  72266. return QueueAction;
  72267. }(AsyncAction_1.AsyncAction));
  72268. exports.QueueAction = QueueAction;
  72269. //# sourceMappingURL=QueueAction.js.map
  72270. /***/ },
  72271. /* 948 */
  72272. /***/ function(module, exports, __webpack_require__) {
  72273. "use strict";
  72274. "use strict";
  72275. var __extends = (this && this.__extends) || function (d, b) {
  72276. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  72277. function __() { this.constructor = d; }
  72278. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  72279. };
  72280. var AsyncScheduler_1 = __webpack_require__(123);
  72281. var QueueScheduler = (function (_super) {
  72282. __extends(QueueScheduler, _super);
  72283. function QueueScheduler() {
  72284. _super.apply(this, arguments);
  72285. }
  72286. return QueueScheduler;
  72287. }(AsyncScheduler_1.AsyncScheduler));
  72288. exports.QueueScheduler = QueueScheduler;
  72289. //# sourceMappingURL=QueueScheduler.js.map
  72290. /***/ },
  72291. /* 949 */
  72292. /***/ function(module, exports, __webpack_require__) {
  72293. "use strict";
  72294. "use strict";
  72295. var AnimationFrameAction_1 = __webpack_require__(943);
  72296. var AnimationFrameScheduler_1 = __webpack_require__(944);
  72297. exports.animationFrame = new AnimationFrameScheduler_1.AnimationFrameScheduler(AnimationFrameAction_1.AnimationFrameAction);
  72298. //# sourceMappingURL=animationFrame.js.map
  72299. /***/ },
  72300. /* 950 */
  72301. /***/ function(module, exports, __webpack_require__) {
  72302. "use strict";
  72303. "use strict";
  72304. var __extends = (this && this.__extends) || function (d, b) {
  72305. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  72306. function __() { this.constructor = d; }
  72307. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  72308. };
  72309. var Observable_1 = __webpack_require__(0);
  72310. var Subscription_1 = __webpack_require__(22);
  72311. var SubscriptionLoggable_1 = __webpack_require__(415);
  72312. var applyMixins_1 = __webpack_require__(417);
  72313. /**
  72314. * We need this JSDoc comment for affecting ESDoc.
  72315. * @ignore
  72316. * @extends {Ignored}
  72317. */
  72318. var ColdObservable = (function (_super) {
  72319. __extends(ColdObservable, _super);
  72320. function ColdObservable(messages, scheduler) {
  72321. _super.call(this, function (subscriber) {
  72322. var observable = this;
  72323. var index = observable.logSubscribedFrame();
  72324. subscriber.add(new Subscription_1.Subscription(function () {
  72325. observable.logUnsubscribedFrame(index);
  72326. }));
  72327. observable.scheduleMessages(subscriber);
  72328. return subscriber;
  72329. });
  72330. this.messages = messages;
  72331. this.subscriptions = [];
  72332. this.scheduler = scheduler;
  72333. }
  72334. ColdObservable.prototype.scheduleMessages = function (subscriber) {
  72335. var messagesLength = this.messages.length;
  72336. for (var i = 0; i < messagesLength; i++) {
  72337. var message = this.messages[i];
  72338. subscriber.add(this.scheduler.schedule(function (_a) {
  72339. var message = _a.message, subscriber = _a.subscriber;
  72340. message.notification.observe(subscriber);
  72341. }, message.frame, { message: message, subscriber: subscriber }));
  72342. }
  72343. };
  72344. return ColdObservable;
  72345. }(Observable_1.Observable));
  72346. exports.ColdObservable = ColdObservable;
  72347. applyMixins_1.applyMixins(ColdObservable, [SubscriptionLoggable_1.SubscriptionLoggable]);
  72348. //# sourceMappingURL=ColdObservable.js.map
  72349. /***/ },
  72350. /* 951 */
  72351. /***/ function(module, exports, __webpack_require__) {
  72352. "use strict";
  72353. "use strict";
  72354. var __extends = (this && this.__extends) || function (d, b) {
  72355. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  72356. function __() { this.constructor = d; }
  72357. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  72358. };
  72359. var Subject_1 = __webpack_require__(15);
  72360. var Subscription_1 = __webpack_require__(22);
  72361. var SubscriptionLoggable_1 = __webpack_require__(415);
  72362. var applyMixins_1 = __webpack_require__(417);
  72363. /**
  72364. * We need this JSDoc comment for affecting ESDoc.
  72365. * @ignore
  72366. * @extends {Ignored}
  72367. */
  72368. var HotObservable = (function (_super) {
  72369. __extends(HotObservable, _super);
  72370. function HotObservable(messages, scheduler) {
  72371. _super.call(this);
  72372. this.messages = messages;
  72373. this.subscriptions = [];
  72374. this.scheduler = scheduler;
  72375. }
  72376. HotObservable.prototype._subscribe = function (subscriber) {
  72377. var subject = this;
  72378. var index = subject.logSubscribedFrame();
  72379. subscriber.add(new Subscription_1.Subscription(function () {
  72380. subject.logUnsubscribedFrame(index);
  72381. }));
  72382. return _super.prototype._subscribe.call(this, subscriber);
  72383. };
  72384. HotObservable.prototype.setup = function () {
  72385. var subject = this;
  72386. var messagesLength = subject.messages.length;
  72387. /* tslint:disable:no-var-keyword */
  72388. for (var i = 0; i < messagesLength; i++) {
  72389. (function () {
  72390. var message = subject.messages[i];
  72391. /* tslint:enable */
  72392. subject.scheduler.schedule(function () { message.notification.observe(subject); }, message.frame);
  72393. })();
  72394. }
  72395. };
  72396. return HotObservable;
  72397. }(Subject_1.Subject));
  72398. exports.HotObservable = HotObservable;
  72399. applyMixins_1.applyMixins(HotObservable, [SubscriptionLoggable_1.SubscriptionLoggable]);
  72400. //# sourceMappingURL=HotObservable.js.map
  72401. /***/ },
  72402. /* 952 */
  72403. /***/ function(module, exports, __webpack_require__) {
  72404. "use strict";
  72405. "use strict";
  72406. var __extends = (this && this.__extends) || function (d, b) {
  72407. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  72408. function __() { this.constructor = d; }
  72409. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  72410. };
  72411. var Observable_1 = __webpack_require__(0);
  72412. var Notification_1 = __webpack_require__(120);
  72413. var ColdObservable_1 = __webpack_require__(950);
  72414. var HotObservable_1 = __webpack_require__(951);
  72415. var SubscriptionLog_1 = __webpack_require__(414);
  72416. var VirtualTimeScheduler_1 = __webpack_require__(411);
  72417. var defaultMaxFrame = 750;
  72418. var TestScheduler = (function (_super) {
  72419. __extends(TestScheduler, _super);
  72420. function TestScheduler(assertDeepEqual) {
  72421. _super.call(this, VirtualTimeScheduler_1.VirtualAction, defaultMaxFrame);
  72422. this.assertDeepEqual = assertDeepEqual;
  72423. this.hotObservables = [];
  72424. this.coldObservables = [];
  72425. this.flushTests = [];
  72426. }
  72427. TestScheduler.prototype.createTime = function (marbles) {
  72428. var indexOf = marbles.indexOf('|');
  72429. if (indexOf === -1) {
  72430. throw new Error('marble diagram for time should have a completion marker "|"');
  72431. }
  72432. return indexOf * TestScheduler.frameTimeFactor;
  72433. };
  72434. TestScheduler.prototype.createColdObservable = function (marbles, values, error) {
  72435. if (marbles.indexOf('^') !== -1) {
  72436. throw new Error('cold observable cannot have subscription offset "^"');
  72437. }
  72438. if (marbles.indexOf('!') !== -1) {
  72439. throw new Error('cold observable cannot have unsubscription marker "!"');
  72440. }
  72441. var messages = TestScheduler.parseMarbles(marbles, values, error);
  72442. var cold = new ColdObservable_1.ColdObservable(messages, this);
  72443. this.coldObservables.push(cold);
  72444. return cold;
  72445. };
  72446. TestScheduler.prototype.createHotObservable = function (marbles, values, error) {
  72447. if (marbles.indexOf('!') !== -1) {
  72448. throw new Error('hot observable cannot have unsubscription marker "!"');
  72449. }
  72450. var messages = TestScheduler.parseMarbles(marbles, values, error);
  72451. var subject = new HotObservable_1.HotObservable(messages, this);
  72452. this.hotObservables.push(subject);
  72453. return subject;
  72454. };
  72455. TestScheduler.prototype.materializeInnerObservable = function (observable, outerFrame) {
  72456. var _this = this;
  72457. var messages = [];
  72458. observable.subscribe(function (value) {
  72459. messages.push({ frame: _this.frame - outerFrame, notification: Notification_1.Notification.createNext(value) });
  72460. }, function (err) {
  72461. messages.push({ frame: _this.frame - outerFrame, notification: Notification_1.Notification.createError(err) });
  72462. }, function () {
  72463. messages.push({ frame: _this.frame - outerFrame, notification: Notification_1.Notification.createComplete() });
  72464. });
  72465. return messages;
  72466. };
  72467. TestScheduler.prototype.expectObservable = function (observable, unsubscriptionMarbles) {
  72468. var _this = this;
  72469. if (unsubscriptionMarbles === void 0) { unsubscriptionMarbles = null; }
  72470. var actual = [];
  72471. var flushTest = { actual: actual, ready: false };
  72472. var unsubscriptionFrame = TestScheduler
  72473. .parseMarblesAsSubscriptions(unsubscriptionMarbles).unsubscribedFrame;
  72474. var subscription;
  72475. this.schedule(function () {
  72476. subscription = observable.subscribe(function (x) {
  72477. var value = x;
  72478. // Support Observable-of-Observables
  72479. if (x instanceof Observable_1.Observable) {
  72480. value = _this.materializeInnerObservable(value, _this.frame);
  72481. }
  72482. actual.push({ frame: _this.frame, notification: Notification_1.Notification.createNext(value) });
  72483. }, function (err) {
  72484. actual.push({ frame: _this.frame, notification: Notification_1.Notification.createError(err) });
  72485. }, function () {
  72486. actual.push({ frame: _this.frame, notification: Notification_1.Notification.createComplete() });
  72487. });
  72488. }, 0);
  72489. if (unsubscriptionFrame !== Number.POSITIVE_INFINITY) {
  72490. this.schedule(function () { return subscription.unsubscribe(); }, unsubscriptionFrame);
  72491. }
  72492. this.flushTests.push(flushTest);
  72493. return {
  72494. toBe: function (marbles, values, errorValue) {
  72495. flushTest.ready = true;
  72496. flushTest.expected = TestScheduler.parseMarbles(marbles, values, errorValue, true);
  72497. }
  72498. };
  72499. };
  72500. TestScheduler.prototype.expectSubscriptions = function (actualSubscriptionLogs) {
  72501. var flushTest = { actual: actualSubscriptionLogs, ready: false };
  72502. this.flushTests.push(flushTest);
  72503. return {
  72504. toBe: function (marbles) {
  72505. var marblesArray = (typeof marbles === 'string') ? [marbles] : marbles;
  72506. flushTest.ready = true;
  72507. flushTest.expected = marblesArray.map(function (marbles) {
  72508. return TestScheduler.parseMarblesAsSubscriptions(marbles);
  72509. });
  72510. }
  72511. };
  72512. };
  72513. TestScheduler.prototype.flush = function () {
  72514. var hotObservables = this.hotObservables;
  72515. while (hotObservables.length > 0) {
  72516. hotObservables.shift().setup();
  72517. }
  72518. _super.prototype.flush.call(this);
  72519. var readyFlushTests = this.flushTests.filter(function (test) { return test.ready; });
  72520. while (readyFlushTests.length > 0) {
  72521. var test = readyFlushTests.shift();
  72522. this.assertDeepEqual(test.actual, test.expected);
  72523. }
  72524. };
  72525. TestScheduler.parseMarblesAsSubscriptions = function (marbles) {
  72526. if (typeof marbles !== 'string') {
  72527. return new SubscriptionLog_1.SubscriptionLog(Number.POSITIVE_INFINITY);
  72528. }
  72529. var len = marbles.length;
  72530. var groupStart = -1;
  72531. var subscriptionFrame = Number.POSITIVE_INFINITY;
  72532. var unsubscriptionFrame = Number.POSITIVE_INFINITY;
  72533. for (var i = 0; i < len; i++) {
  72534. var frame = i * this.frameTimeFactor;
  72535. var c = marbles[i];
  72536. switch (c) {
  72537. case '-':
  72538. case ' ':
  72539. break;
  72540. case '(':
  72541. groupStart = frame;
  72542. break;
  72543. case ')':
  72544. groupStart = -1;
  72545. break;
  72546. case '^':
  72547. if (subscriptionFrame !== Number.POSITIVE_INFINITY) {
  72548. throw new Error('found a second subscription point \'^\' in a ' +
  72549. 'subscription marble diagram. There can only be one.');
  72550. }
  72551. subscriptionFrame = groupStart > -1 ? groupStart : frame;
  72552. break;
  72553. case '!':
  72554. if (unsubscriptionFrame !== Number.POSITIVE_INFINITY) {
  72555. throw new Error('found a second subscription point \'^\' in a ' +
  72556. 'subscription marble diagram. There can only be one.');
  72557. }
  72558. unsubscriptionFrame = groupStart > -1 ? groupStart : frame;
  72559. break;
  72560. default:
  72561. throw new Error('there can only be \'^\' and \'!\' markers in a ' +
  72562. 'subscription marble diagram. Found instead \'' + c + '\'.');
  72563. }
  72564. }
  72565. if (unsubscriptionFrame < 0) {
  72566. return new SubscriptionLog_1.SubscriptionLog(subscriptionFrame);
  72567. }
  72568. else {
  72569. return new SubscriptionLog_1.SubscriptionLog(subscriptionFrame, unsubscriptionFrame);
  72570. }
  72571. };
  72572. TestScheduler.parseMarbles = function (marbles, values, errorValue, materializeInnerObservables) {
  72573. if (materializeInnerObservables === void 0) { materializeInnerObservables = false; }
  72574. if (marbles.indexOf('!') !== -1) {
  72575. throw new Error('conventional marble diagrams cannot have the ' +
  72576. 'unsubscription marker "!"');
  72577. }
  72578. var len = marbles.length;
  72579. var testMessages = [];
  72580. var subIndex = marbles.indexOf('^');
  72581. var frameOffset = subIndex === -1 ? 0 : (subIndex * -this.frameTimeFactor);
  72582. var getValue = typeof values !== 'object' ?
  72583. function (x) { return x; } :
  72584. function (x) {
  72585. // Support Observable-of-Observables
  72586. if (materializeInnerObservables && values[x] instanceof ColdObservable_1.ColdObservable) {
  72587. return values[x].messages;
  72588. }
  72589. return values[x];
  72590. };
  72591. var groupStart = -1;
  72592. for (var i = 0; i < len; i++) {
  72593. var frame = i * this.frameTimeFactor + frameOffset;
  72594. var notification = void 0;
  72595. var c = marbles[i];
  72596. switch (c) {
  72597. case '-':
  72598. case ' ':
  72599. break;
  72600. case '(':
  72601. groupStart = frame;
  72602. break;
  72603. case ')':
  72604. groupStart = -1;
  72605. break;
  72606. case '|':
  72607. notification = Notification_1.Notification.createComplete();
  72608. break;
  72609. case '^':
  72610. break;
  72611. case '#':
  72612. notification = Notification_1.Notification.createError(errorValue || 'error');
  72613. break;
  72614. default:
  72615. notification = Notification_1.Notification.createNext(getValue(c));
  72616. break;
  72617. }
  72618. if (notification) {
  72619. testMessages.push({ frame: groupStart > -1 ? groupStart : frame, notification: notification });
  72620. }
  72621. }
  72622. return testMessages;
  72623. };
  72624. return TestScheduler;
  72625. }(VirtualTimeScheduler_1.VirtualTimeScheduler));
  72626. exports.TestScheduler = TestScheduler;
  72627. //# sourceMappingURL=TestScheduler.js.map
  72628. /***/ },
  72629. /* 953 */
  72630. /***/ function(module, exports, __webpack_require__) {
  72631. "use strict";
  72632. "use strict";
  72633. var root_1 = __webpack_require__(27);
  72634. var RequestAnimationFrameDefinition = (function () {
  72635. function RequestAnimationFrameDefinition(root) {
  72636. if (root.requestAnimationFrame) {
  72637. this.cancelAnimationFrame = root.cancelAnimationFrame.bind(root);
  72638. this.requestAnimationFrame = root.requestAnimationFrame.bind(root);
  72639. }
  72640. else if (root.mozRequestAnimationFrame) {
  72641. this.cancelAnimationFrame = root.mozCancelAnimationFrame.bind(root);
  72642. this.requestAnimationFrame = root.mozRequestAnimationFrame.bind(root);
  72643. }
  72644. else if (root.webkitRequestAnimationFrame) {
  72645. this.cancelAnimationFrame = root.webkitCancelAnimationFrame.bind(root);
  72646. this.requestAnimationFrame = root.webkitRequestAnimationFrame.bind(root);
  72647. }
  72648. else if (root.msRequestAnimationFrame) {
  72649. this.cancelAnimationFrame = root.msCancelAnimationFrame.bind(root);
  72650. this.requestAnimationFrame = root.msRequestAnimationFrame.bind(root);
  72651. }
  72652. else if (root.oRequestAnimationFrame) {
  72653. this.cancelAnimationFrame = root.oCancelAnimationFrame.bind(root);
  72654. this.requestAnimationFrame = root.oRequestAnimationFrame.bind(root);
  72655. }
  72656. else {
  72657. this.cancelAnimationFrame = root.clearTimeout.bind(root);
  72658. this.requestAnimationFrame = function (cb) { return root.setTimeout(cb, 1000 / 60); };
  72659. }
  72660. }
  72661. return RequestAnimationFrameDefinition;
  72662. }());
  72663. exports.RequestAnimationFrameDefinition = RequestAnimationFrameDefinition;
  72664. exports.AnimationFrame = new RequestAnimationFrameDefinition(root_1.root);
  72665. //# sourceMappingURL=AnimationFrame.js.map
  72666. /***/ },
  72667. /* 954 */
  72668. /***/ function(module, exports) {
  72669. "use strict";
  72670. "use strict";
  72671. var FastMap = (function () {
  72672. function FastMap() {
  72673. this.values = {};
  72674. }
  72675. FastMap.prototype.delete = function (key) {
  72676. this.values[key] = null;
  72677. return true;
  72678. };
  72679. FastMap.prototype.set = function (key, value) {
  72680. this.values[key] = value;
  72681. return this;
  72682. };
  72683. FastMap.prototype.get = function (key) {
  72684. return this.values[key];
  72685. };
  72686. FastMap.prototype.forEach = function (cb, thisArg) {
  72687. var values = this.values;
  72688. for (var key in values) {
  72689. if (values.hasOwnProperty(key) && values[key] !== null) {
  72690. cb.call(thisArg, values[key], key);
  72691. }
  72692. }
  72693. };
  72694. FastMap.prototype.clear = function () {
  72695. this.values = {};
  72696. };
  72697. return FastMap;
  72698. }());
  72699. exports.FastMap = FastMap;
  72700. //# sourceMappingURL=FastMap.js.map
  72701. /***/ },
  72702. /* 955 */
  72703. /***/ function(module, exports, __webpack_require__) {
  72704. "use strict";
  72705. /* WEBPACK VAR INJECTION */(function(clearImmediate, setImmediate) {/**
  72706. Some credit for this helper goes to http://github.com/YuzuJS/setImmediate
  72707. */
  72708. "use strict";
  72709. var root_1 = __webpack_require__(27);
  72710. var ImmediateDefinition = (function () {
  72711. function ImmediateDefinition(root) {
  72712. this.root = root;
  72713. if (root.setImmediate && typeof root.setImmediate === 'function') {
  72714. this.setImmediate = root.setImmediate.bind(root);
  72715. this.clearImmediate = root.clearImmediate.bind(root);
  72716. }
  72717. else {
  72718. this.nextHandle = 1;
  72719. this.tasksByHandle = {};
  72720. this.currentlyRunningATask = false;
  72721. // Don't get fooled by e.g. browserify environments.
  72722. if (this.canUseProcessNextTick()) {
  72723. // For Node.js before 0.9
  72724. this.setImmediate = this.createProcessNextTickSetImmediate();
  72725. }
  72726. else if (this.canUsePostMessage()) {
  72727. // For non-IE10 modern browsers
  72728. this.setImmediate = this.createPostMessageSetImmediate();
  72729. }
  72730. else if (this.canUseMessageChannel()) {
  72731. // For web workers, where supported
  72732. this.setImmediate = this.createMessageChannelSetImmediate();
  72733. }
  72734. else if (this.canUseReadyStateChange()) {
  72735. // For IE 6–8
  72736. this.setImmediate = this.createReadyStateChangeSetImmediate();
  72737. }
  72738. else {
  72739. // For older browsers
  72740. this.setImmediate = this.createSetTimeoutSetImmediate();
  72741. }
  72742. var ci = function clearImmediate(handle) {
  72743. delete clearImmediate.instance.tasksByHandle[handle];
  72744. };
  72745. ci.instance = this;
  72746. this.clearImmediate = ci;
  72747. }
  72748. }
  72749. ImmediateDefinition.prototype.identify = function (o) {
  72750. return this.root.Object.prototype.toString.call(o);
  72751. };
  72752. ImmediateDefinition.prototype.canUseProcessNextTick = function () {
  72753. return this.identify(this.root.process) === '[object process]';
  72754. };
  72755. ImmediateDefinition.prototype.canUseMessageChannel = function () {
  72756. return Boolean(this.root.MessageChannel);
  72757. };
  72758. ImmediateDefinition.prototype.canUseReadyStateChange = function () {
  72759. var document = this.root.document;
  72760. return Boolean(document && 'onreadystatechange' in document.createElement('script'));
  72761. };
  72762. ImmediateDefinition.prototype.canUsePostMessage = function () {
  72763. var root = this.root;
  72764. // The test against `importScripts` prevents this implementation from being installed inside a web worker,
  72765. // where `root.postMessage` means something completely different and can't be used for this purpose.
  72766. if (root.postMessage && !root.importScripts) {
  72767. var postMessageIsAsynchronous_1 = true;
  72768. var oldOnMessage = root.onmessage;
  72769. root.onmessage = function () {
  72770. postMessageIsAsynchronous_1 = false;
  72771. };
  72772. root.postMessage('', '*');
  72773. root.onmessage = oldOnMessage;
  72774. return postMessageIsAsynchronous_1;
  72775. }
  72776. return false;
  72777. };
  72778. // This function accepts the same arguments as setImmediate, but
  72779. // returns a function that requires no arguments.
  72780. ImmediateDefinition.prototype.partiallyApplied = function (handler) {
  72781. var args = [];
  72782. for (var _i = 1; _i < arguments.length; _i++) {
  72783. args[_i - 1] = arguments[_i];
  72784. }
  72785. var fn = function result() {
  72786. var _a = result, handler = _a.handler, args = _a.args;
  72787. if (typeof handler === 'function') {
  72788. handler.apply(undefined, args);
  72789. }
  72790. else {
  72791. (new Function('' + handler))();
  72792. }
  72793. };
  72794. fn.handler = handler;
  72795. fn.args = args;
  72796. return fn;
  72797. };
  72798. ImmediateDefinition.prototype.addFromSetImmediateArguments = function (args) {
  72799. this.tasksByHandle[this.nextHandle] = this.partiallyApplied.apply(undefined, args);
  72800. return this.nextHandle++;
  72801. };
  72802. ImmediateDefinition.prototype.createProcessNextTickSetImmediate = function () {
  72803. var fn = function setImmediate() {
  72804. var instance = setImmediate.instance;
  72805. var handle = instance.addFromSetImmediateArguments(arguments);
  72806. instance.root.process.nextTick(instance.partiallyApplied(instance.runIfPresent, handle));
  72807. return handle;
  72808. };
  72809. fn.instance = this;
  72810. return fn;
  72811. };
  72812. ImmediateDefinition.prototype.createPostMessageSetImmediate = function () {
  72813. // Installs an event handler on `global` for the `message` event: see
  72814. // * https://developer.mozilla.org/en/DOM/window.postMessage
  72815. // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages
  72816. var root = this.root;
  72817. var messagePrefix = 'setImmediate$' + root.Math.random() + '$';
  72818. var onGlobalMessage = function globalMessageHandler(event) {
  72819. var instance = globalMessageHandler.instance;
  72820. if (event.source === root &&
  72821. typeof event.data === 'string' &&
  72822. event.data.indexOf(messagePrefix) === 0) {
  72823. instance.runIfPresent(+event.data.slice(messagePrefix.length));
  72824. }
  72825. };
  72826. onGlobalMessage.instance = this;
  72827. root.addEventListener('message', onGlobalMessage, false);
  72828. var fn = function setImmediate() {
  72829. var _a = setImmediate, messagePrefix = _a.messagePrefix, instance = _a.instance;
  72830. var handle = instance.addFromSetImmediateArguments(arguments);
  72831. instance.root.postMessage(messagePrefix + handle, '*');
  72832. return handle;
  72833. };
  72834. fn.instance = this;
  72835. fn.messagePrefix = messagePrefix;
  72836. return fn;
  72837. };
  72838. ImmediateDefinition.prototype.runIfPresent = function (handle) {
  72839. // From the spec: 'Wait until any invocations of this algorithm started before this one have completed.'
  72840. // So if we're currently running a task, we'll need to delay this invocation.
  72841. if (this.currentlyRunningATask) {
  72842. // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a
  72843. // 'too much recursion' error.
  72844. this.root.setTimeout(this.partiallyApplied(this.runIfPresent, handle), 0);
  72845. }
  72846. else {
  72847. var task = this.tasksByHandle[handle];
  72848. if (task) {
  72849. this.currentlyRunningATask = true;
  72850. try {
  72851. task();
  72852. }
  72853. finally {
  72854. this.clearImmediate(handle);
  72855. this.currentlyRunningATask = false;
  72856. }
  72857. }
  72858. }
  72859. };
  72860. ImmediateDefinition.prototype.createMessageChannelSetImmediate = function () {
  72861. var _this = this;
  72862. var channel = new this.root.MessageChannel();
  72863. channel.port1.onmessage = function (event) {
  72864. var handle = event.data;
  72865. _this.runIfPresent(handle);
  72866. };
  72867. var fn = function setImmediate() {
  72868. var _a = setImmediate, channel = _a.channel, instance = _a.instance;
  72869. var handle = instance.addFromSetImmediateArguments(arguments);
  72870. channel.port2.postMessage(handle);
  72871. return handle;
  72872. };
  72873. fn.channel = channel;
  72874. fn.instance = this;
  72875. return fn;
  72876. };
  72877. ImmediateDefinition.prototype.createReadyStateChangeSetImmediate = function () {
  72878. var fn = function setImmediate() {
  72879. var instance = setImmediate.instance;
  72880. var root = instance.root;
  72881. var doc = root.document;
  72882. var html = doc.documentElement;
  72883. var handle = instance.addFromSetImmediateArguments(arguments);
  72884. // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted
  72885. // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.
  72886. var script = doc.createElement('script');
  72887. script.onreadystatechange = function () {
  72888. instance.runIfPresent(handle);
  72889. script.onreadystatechange = null;
  72890. html.removeChild(script);
  72891. script = null;
  72892. };
  72893. html.appendChild(script);
  72894. return handle;
  72895. };
  72896. fn.instance = this;
  72897. return fn;
  72898. };
  72899. ImmediateDefinition.prototype.createSetTimeoutSetImmediate = function () {
  72900. var fn = function setImmediate() {
  72901. var instance = setImmediate.instance;
  72902. var handle = instance.addFromSetImmediateArguments(arguments);
  72903. instance.root.setTimeout(instance.partiallyApplied(instance.runIfPresent, handle), 0);
  72904. return handle;
  72905. };
  72906. fn.instance = this;
  72907. return fn;
  72908. };
  72909. return ImmediateDefinition;
  72910. }());
  72911. exports.ImmediateDefinition = ImmediateDefinition;
  72912. exports.Immediate = new ImmediateDefinition(root_1.root);
  72913. //# sourceMappingURL=Immediate.js.map
  72914. /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(177).clearImmediate, __webpack_require__(177).setImmediate))
  72915. /***/ },
  72916. /* 956 */
  72917. /***/ function(module, exports, __webpack_require__) {
  72918. "use strict";
  72919. "use strict";
  72920. var root_1 = __webpack_require__(27);
  72921. var MapPolyfill_1 = __webpack_require__(957);
  72922. exports.Map = root_1.root.Map || (function () { return MapPolyfill_1.MapPolyfill; })();
  72923. //# sourceMappingURL=Map.js.map
  72924. /***/ },
  72925. /* 957 */
  72926. /***/ function(module, exports) {
  72927. "use strict";
  72928. "use strict";
  72929. var MapPolyfill = (function () {
  72930. function MapPolyfill() {
  72931. this.size = 0;
  72932. this._values = [];
  72933. this._keys = [];
  72934. }
  72935. MapPolyfill.prototype.get = function (key) {
  72936. var i = this._keys.indexOf(key);
  72937. return i === -1 ? undefined : this._values[i];
  72938. };
  72939. MapPolyfill.prototype.set = function (key, value) {
  72940. var i = this._keys.indexOf(key);
  72941. if (i === -1) {
  72942. this._keys.push(key);
  72943. this._values.push(value);
  72944. this.size++;
  72945. }
  72946. else {
  72947. this._values[i] = value;
  72948. }
  72949. return this;
  72950. };
  72951. MapPolyfill.prototype.delete = function (key) {
  72952. var i = this._keys.indexOf(key);
  72953. if (i === -1) {
  72954. return false;
  72955. }
  72956. this._values.splice(i, 1);
  72957. this._keys.splice(i, 1);
  72958. this.size--;
  72959. return true;
  72960. };
  72961. MapPolyfill.prototype.clear = function () {
  72962. this._keys.length = 0;
  72963. this._values.length = 0;
  72964. this.size = 0;
  72965. };
  72966. MapPolyfill.prototype.forEach = function (cb, thisArg) {
  72967. for (var i = 0; i < this.size; i++) {
  72968. cb.call(thisArg, this._values[i], this._keys[i]);
  72969. }
  72970. };
  72971. return MapPolyfill;
  72972. }());
  72973. exports.MapPolyfill = MapPolyfill;
  72974. //# sourceMappingURL=MapPolyfill.js.map
  72975. /***/ },
  72976. /* 958 */
  72977. /***/ function(module, exports, __webpack_require__) {
  72978. "use strict";
  72979. "use strict";
  72980. var root_1 = __webpack_require__(27);
  72981. var Object = root_1.root.Object;
  72982. if (typeof Object.assign != 'function') {
  72983. (function () {
  72984. Object.assign = function assignPolyfill(target) {
  72985. var sources = [];
  72986. for (var _i = 1; _i < arguments.length; _i++) {
  72987. sources[_i - 1] = arguments[_i];
  72988. }
  72989. if (target === undefined || target === null) {
  72990. throw new TypeError('cannot convert undefined or null to object');
  72991. }
  72992. var output = Object(target);
  72993. var len = sources.length;
  72994. for (var index = 0; index < len; index++) {
  72995. var source = sources[index];
  72996. if (source !== undefined && source !== null) {
  72997. for (var key in source) {
  72998. if (source.hasOwnProperty(key)) {
  72999. output[key] = source[key];
  73000. }
  73001. }
  73002. }
  73003. }
  73004. return output;
  73005. };
  73006. })();
  73007. }
  73008. exports.assign = Object.assign;
  73009. //# sourceMappingURL=assign.js.map
  73010. /***/ },
  73011. /* 959 */
  73012. /***/ function(module, exports) {
  73013. "use strict";
  73014. "use strict";
  73015. function isObject(x) {
  73016. return x != null && typeof x === 'object';
  73017. }
  73018. exports.isObject = isObject;
  73019. //# sourceMappingURL=isObject.js.map
  73020. /***/ },
  73021. /* 960 */
  73022. /***/ function(module, exports) {
  73023. "use strict";
  73024. "use strict";
  73025. function not(pred, thisArg) {
  73026. function notPred() {
  73027. return !(notPred.pred.apply(notPred.thisArg, arguments));
  73028. }
  73029. notPred.pred = pred;
  73030. notPred.thisArg = thisArg;
  73031. return notPred;
  73032. }
  73033. exports.not = not;
  73034. //# sourceMappingURL=not.js.map
  73035. /***/ },
  73036. /* 961 */
  73037. /***/ function(module, exports, __webpack_require__) {
  73038. "use strict";
  73039. "use strict";
  73040. var Subscriber_1 = __webpack_require__(3);
  73041. var rxSubscriber_1 = __webpack_require__(174);
  73042. function toSubscriber(nextOrObserver, error, complete) {
  73043. if (nextOrObserver) {
  73044. if (nextOrObserver instanceof Subscriber_1.Subscriber) {
  73045. return nextOrObserver;
  73046. }
  73047. if (nextOrObserver[rxSubscriber_1.$$rxSubscriber]) {
  73048. return nextOrObserver[rxSubscriber_1.$$rxSubscriber]();
  73049. }
  73050. }
  73051. if (!nextOrObserver && !error && !complete) {
  73052. return new Subscriber_1.Subscriber();
  73053. }
  73054. return new Subscriber_1.Subscriber(nextOrObserver, error, complete);
  73055. }
  73056. exports.toSubscriber = toSubscriber;
  73057. //# sourceMappingURL=toSubscriber.js.map
  73058. /***/ },
  73059. /* 962 */,
  73060. /* 963 */,
  73061. /* 964 */
  73062. /***/ function(module, exports, __webpack_require__) {
  73063. "use strict";
  73064. "use strict";
  73065. __webpack_require__(422);
  73066. __webpack_require__(423);
  73067. __webpack_require__(425);
  73068. __webpack_require__(103);
  73069. __webpack_require__(85);
  73070. __webpack_require__(1);
  73071. __webpack_require__(178);
  73072. __webpack_require__(126);
  73073. __webpack_require__(127);
  73074. __webpack_require__(179);
  73075. __webpack_require__(420);
  73076. __webpack_require__(424);
  73077. /***/ }
  73078. /******/ ]);