{"version":3,"file":"static/js/main.1d9c3ac6.js","mappings":"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E3lC,MAAO,mNACPojiB,aAAa,gVACbz9f,MAAO,0NAET,CACE3lC,MAAO,kMACPojiB,aAAa,4QACbz9f,MAAO,yMAET,CACE3lC,MAAO,6EACPojiB,aAAa,kGACbz9f,MAAO,uFAET,CACE3lC,MAAO,gHACPojiB,aAAa,kHACbz9f,MAAO,2HAET,CACE3lC,MAAO,2EACPojiB,aAAa,kGACbz9f,MAAO,yFAET,CACE3lC,MAAM,+IACNojiB,aAAa,0JACbz9f,MAAM,8JAER,CACE3lC,MAAM,wUACNojiB,aAAa,uYACbz9f,MAAM,gVAER,CACE3lC,MAAO,qEACPojiB,aAAa,6EACbz9f,MAAO,8FAET,CACE3lC,MAAO,oEACPojiB,aAAa,4EACbz9f,MAAO,6FAET,CACE3lC,MAAO,kEACPojiB,aAAa,0EACbz9f,MAAO,2FAET,CACE3lC,MAAO,qEACPojiB,aAAa,6EACbz9f,MAAO,8FAET,CACE3lC,MAAO,sEACPojiB,aAAa,8EACbz9f,MAAO,+FAET,CACE3lC,MAAO,sEACPojiB,aAAa,8EACbz9f,MAAO,+FAET,CACE3lC,MAAO,qEACPojiB,aAAa,6EACbz9f,MAAO,8FAET,CACE3lC,MAAO,oEACPojiB,aAAa,4EACbz9f,MAAO,6FAET,CACE3lC,MAAO,oEACPojiB,aAAa,4EACbz9f,MAAO,6FAET,CACE3lC,MAAO,uEACPojiB,aAAa,+EACbz9f,MAAO,gGAET,CACE3lC,MAAO,qEACPojiB,aAAa,6EACbz9f,MAAO,8FAET,CACE3lC,MAAO,sEACPojiB,aAAa,8EACbz9f,MAAO,+FAET,CACE3lC,MAAO,iEACPojiB,aAAa,yEACbz9f,MAAO,0FAET,CACE3lC,MAAO,qEACPojiB,aAAa,6EACbz9f,MAAO,8FAET,CACE3lC,MAAO,uEACPojiB,aAAa,+EACbz9f,MAAO,gGAET,CACE3lC,MAAO,yEACPojiB,aAAa,iFACbz9f,MAAO,kGAET,CACE3lC,MAAO,yEACPojiB,aAAa,iFACbz9f,MAAO,kGAET,CACE3lC,MAAO,uEACPojiB,aAAa,+EACbz9f,MAAO,gGAET,CACE3lC,MAAO,qEACPojiB,aAAa,6EACbz9f,MAAO,8FAET,CACE3lC,MAAO,wEACPojiB,aAAa,gFACbz9f,MAAO,iGAET,CACE3lC,MAAO,oEACPojiB,aAAa,4EACbz9f,MAAO,6FAET,CACE3lC,MAAO,sEACPojiB,aAAa,8EACbz9f,MAAO,+FAET,CACE3lC,MAAO,uEACPojiB,aAAa,+EACbz9f,MAAO,gGAET,CACE3lC,MAAO,sEACPojiB,aAAa,8EACbz9f,MAAO,+FAET,CACE3lC,MAAO,mEACPojiB,aAAa,2EACbz9f,MAAO,4FAET,CACE3lC,MAAO,uEACPojiB,aAAa,+EACbz9f,MAAO,gGAET,CACE3lC,MAAO,mEACPojiB,aAAa,2EACbz9f,MAAO,4FAET,CACE3lC,MAAO,yEACPojiB,aAAa,iFACbz9f,MAAO,kGAET,CACE3lC,MAAO,oEACPojiB,aAAa,4EACbz9f,MAAO,6FAET,CACE3lC,MAAO,yEACPojiB,aAAa,iFACbz9f,MAAO,kGAET,CACE3lC,MAAO,sEACPojiB,aAAa,8EACbz9f,MAAO,+FAET,CACE3lC,MAAO,kEACPojiB,aAAa,0EACbz9f,MAAO,2FAET,CACE3lC,MAAO,mEACPojiB,aAAa,2EACbz9f,MAAO,4FAET,CACE3lC,MAAO,mEACPojiB,aAAa,2EACbz9f,MAAO,4FAET,CACE3lC,MAAO,oEACPojiB,aAAa,4EACbz9f,MAAO,6FAET,CACE3lC,MAAO,qEACPojiB,aAAa,6EACbz9f,MAAO,+FCjRE09f,GAAqB,CAChC,CACErjiB,MAAO,4FACPojiB,aAAa,6GACbz9f,MAAO,6FAET,CACE3lC,MAAO,yFACPojiB,aAAa,iHACbz9f,MAAO,0FAET,CACE3lC,MAAO,2NACPojiB,aAAa,sTACbz9f,MAAO,6OCdE29f,GAAgB,CACzB,CACItjiB,MAAO,sLACPojiB,aAAa,2OACbz9f,MAAO,8LAEX,CACI3lC,MAAO,yIACPojiB,aAAa,gMACbz9f,MAAO,gJAEX,CACI3lC,MAAO,yPACPojiB,aAAa,+TACbz9f,MAAO,gQAEX,CACI3lC,MAAO,gGACPojiB,aAAa,+GACbz9f,MAAO,uGAEX,CACI3lC,MAAO,yEACPojiB,aAAa,kGACbz9f,MAAO,gFAEX,CACI3lC,MAAO,4FACPojiB,aAAa,8GACbz9f,MAAO,mGAEX,CACI3lC,MAAO,qGACPojiB,aAAa,4HACbz9f,MAAO,4GAEX,CACI3lC,MAAO,gGACPojiB,aAAa,4GACbz9f,MAAO,uGAEX,CACI3lC,MAAO,sGACPojiB,aAAa,wHACbz9f,MAAO,6GAEX,CACI3lC,MAAO,sOACPojiB,aAAa,6SACbz9f,MAAO,8OAEX,CACI3lC,MAAO,ySACPojiB,aAAa,iXACbz9f,MAAO,iTAEX,CACI3lC,MAAO,8JACPojiB,aAAa,2MACbz9f,MAAO,8KAEX,CACI3lC,MAAO,sJACPojiB,aAAa,oLACbz9f,MAAO,sKAEX,CACI3lC,MAAO,iLACPojiB,aAAa,2PACbz9f,MAAO,yLAEX,CACI3lC,MAAO,qEACPojiB,aAAa,qFACbz9f,MAAO,8FAET,CACE3lC,MAAO,oEACPojiB,aAAa,oFACbz9f,MAAO,6FAET,CACE3lC,MAAO,kEACPojiB,aAAa,kFACbz9f,MAAO,2FAET,CACE3lC,MAAO,qEACPojiB,aAAa,qFACbz9f,MAAO,8FAET,CACE3lC,MAAO,sEACPojiB,aAAa,sFACbz9f,MAAO,+FAET,CACE3lC,MAAO,sEACPojiB,aAAa,sFACbz9f,MAAO,+FAET,CACE3lC,MAAO,qEACPojiB,aAAa,qFACbz9f,MAAO,8FAET,CACE3lC,MAAO,oEACPojiB,aAAa,oFACbz9f,MAAO,6FAET,CACE3lC,MAAO,oEACPojiB,aAAa,sFACbz9f,MAAO,6FAET,CACE3lC,MAAO,uEACPojiB,aAAa,uFACbz9f,MAAO,gGAET,CACE3lC,MAAO,qEACPojiB,aAAa,qFACbz9f,MAAO,8FAET,CACE3lC,MAAO,sEACPojiB,aAAa,sFACbz9f,MAAO,+FAET,CACE3lC,MAAO,iEACPojiB,aAAa,iFACbz9f,MAAO,0FAET,CACE3lC,MAAO,qEACPojiB,aAAa,qFACbz9f,MAAO,8FAET,CACE3lC,MAAO,uEACPojiB,aAAa,uFACbz9f,MAAO,gGAET,CACE3lC,MAAO,yEACPojiB,aAAa,yFACbz9f,MAAO,kGAET,CACE3lC,MAAO,yEACPojiB,aAAa,yFACbz9f,MAAO,kGAET,CACE3lC,MAAO,uEACPojiB,aAAa,uFACbz9f,MAAO,gGAET,CACE3lC,MAAO,qEACPojiB,aAAa,qFACbz9f,MAAO,8FAET,CACE3lC,MAAO,wEACPojiB,aAAa,wFACbz9f,MAAO,iGAET,CACE3lC,MAAO,oEACPojiB,aAAa,oFACbz9f,MAAO,6FAET,CACE3lC,MAAO,sEACPojiB,aAAa,sFACbz9f,MAAO,+FAET,CACE3lC,MAAO,uEACPojiB,aAAa,uFACbz9f,MAAO,gGAET,CACE3lC,MAAO,sEACPojiB,aAAa,uFACbz9f,MAAO,+FAET,CACE3lC,MAAO,mEACPojiB,aAAa,mFACbz9f,MAAO,4FAET,CACE3lC,MAAO,uEACPojiB,aAAa,uFACbz9f,MAAO,gGAET,CACE3lC,MAAO,mEACPojiB,aAAa,mFACbz9f,MAAO,4FAET,CACE3lC,MAAO,yEACPojiB,aAAa,yFACbz9f,MAAO,kGAET,CACE3lC,MAAO,oEACPojiB,aAAa,oFACbz9f,MAAO,6FAET,CACE3lC,MAAO,yEACPojiB,aAAa,yFACbz9f,MAAO,kGAET,CACE3lC,MAAO,sEACPojiB,aAAa,sFACbz9f,MAAO,+FAET,CACE3lC,MAAO,kEACPojiB,aAAa,kFACbz9f,MAAO,2FAET,CACE3lC,MAAO,mEACPojiB,aAAa,mFACbz9f,MAAO,4FAET,CACE3lC,MAAO,mEACPojiB,aAAa,mFACbz9f,MAAO,4FAET,CACE3lC,MAAO,oEACPojiB,aAAa,qFACbz9f,MAAO,6FAET,CACE3lC,MAAO,qEACPojiB,aAAa,qFACbz9f,MAAO,+FCzPF49f,GAAc,CACvB,CACIvjiB,MAAO,mHACPojiB,aAAa,kIACbz9f,MAAO,gJAEX,CACI3lC,MAAO,uHACPojiB,aAAa,qIACbz9f,MAAO,oJCTF69f,GAAkB,CAC3B,CACExjiB,MAAO,4EACPojiB,aAAa,4FACbz9f,MAAO,2FAET,CACE3lC,MAAO,iEACPojiB,aAAa,qFACbz9f,MAAO,qFAGT,CACE3lC,MAAO,oEACPojiB,aAAa,6EACbz9f,MAAO,8EAET,CACE3lC,MAAO,6VACPojiB,aAAa,saACbz9f,MAAO,sXAET,CACE3lC,MAAO,+TACPojiB,aAAa,4XACbz9f,MAAO,mVAET,CACE3lC,MAAO,iQACPojiB,aAAa,qTACbz9f,MAAO,0SAGT,CACE3lC,MAAO,iLACPojiB,aAAa,4MACbz9f,MAAO,mNAET,CACE3lC,MAAO,6GACPojiB,aAAa,gIACbz9f,MAAO,yIAET,CACE3lC,MAAO,0FACPojiB,aAAa,sIACbz9f,MAAO,yHC9CA89f,GAAiB,CAC1B,CACIzjiB,MAAO,QACPojiB,aAAa,QACbn8hB,KAAM,QACNm7O,KAAM,oFAEV,CACIpiP,MAAO,qBACPojiB,aAAa,qBACbn8hB,KAAM,qBACNm7O,KAAM,8CAEV,CACIpiP,MAAO,0BACPojiB,aAAa,0BACbn8hB,KAAM,0BACNm7O,KAAM,wFAEV,CACIpiP,MAAO,YACPojiB,aAAa,YACbn8hB,KAAM,YACNm7O,KAAM,uEAEV,CACIpiP,MAAO,yBACPojiB,aAAa,yBACbn8hB,KAAM,yBACNm7O,KAAM,wGCwBd,IAAIshT,GAA0B,WAE5B,SAASA,EAAWtwhB,GAClB,IAAIuX,EAAQvuB,KAEZA,KAAKuniB,WAAa,SAAU3sR,GAC1B,IAAIl2M,EAIAA,EAFsB,IAAtBn2C,EAAM2qD,KAAKp4E,OACTytB,EAAMi5gB,eACCj5gB,EAAMi5gB,eAAetgiB,YACrBqnB,EAAMg2C,QACNh2C,EAAMlkB,UAAUxC,WAEhB0mB,EAAMm2C,OAGRn2C,EAAM2qD,KAAK3qD,EAAM2qD,KAAKp4E,OAAS,GAAGoG,YAG7CqnB,EAAMlkB,UAAU4hD,aAAa2uN,EAAKl2M,GAElCn2C,EAAM2qD,KAAKz2E,KAAKm4Q,EAClB,EAEA56Q,KAAKyniB,cAA8B39hB,IAAnBkN,EAAQ0whB,QAA+D1whB,EAAQ0whB,OAC/F1niB,KAAKk5E,KAAO,GACZl5E,KAAK2niB,IAAM,EACX3niB,KAAKggW,MAAQhpV,EAAQgpV,MAErBhgW,KAAKgB,IAAMgW,EAAQhW,IACnBhB,KAAKqK,UAAY2M,EAAQ3M,UACzBrK,KAAKukE,QAAUvtD,EAAQutD,QACvBvkE,KAAKwniB,eAAiBxwhB,EAAQwwhB,eAC9BxniB,KAAK0kE,OAAS,IAChB,CAEA,IAAI+0Q,EAAS6tN,EAAWt1hB,UA4DxB,OA1DAynU,EAAO7vU,QAAU,SAAiBi1D,GAChCA,EAAMx+D,QAAQL,KAAKuniB,WACrB,EAEA9tN,EAAOnwP,OAAS,SAAgBprB,GAI1Bl+D,KAAK2niB,KAAO3niB,KAAKyniB,SAAW,KAAQ,KAAO,GAC7CzniB,KAAKuniB,WA7DX,SAA4BvwhB,GAC1B,IAAI4jQ,EAAMv0Q,SAASC,cAAc,SASjC,OARAs0Q,EAAIxxQ,aAAa,eAAgB4N,EAAQhW,UAEnB8I,IAAlBkN,EAAQgpV,OACVplF,EAAIxxQ,aAAa,QAAS4N,EAAQgpV,OAGpCplF,EAAIzzQ,YAAYd,SAASe,eAAe,KACxCwzQ,EAAIxxQ,aAAa,SAAU,IACpBwxQ,CACT,CAkDsBgtR,CAAmB5niB,OAGrC,IAAI46Q,EAAM56Q,KAAKk5E,KAAKl5E,KAAKk5E,KAAKp4E,OAAS,GAcvC,GAAId,KAAKyniB,SAAU,CACjB,IAAI9qd,EAhGV,SAAqBi+L,GACnB,GAAIA,EAAIj+L,MAEN,OAAOi+L,EAAIj+L,MAMb,IAAK,IAAIn3E,EAAI,EAAGA,EAAIa,SAASy2E,YAAYh8E,OAAQ0E,IAC/C,GAAIa,SAASy2E,YAAYt3E,GAAGqiiB,YAAcjtR,EAExC,OAAOv0Q,SAASy2E,YAAYt3E,EAGlC,CAiFkBsiiB,CAAYltR,GAExB,IAGEj+L,EAAMM,WAAW/e,EAAMye,EAAMK,SAASl8E,OACxC,CAAE,MAAO8B,IACHwW,CAGN,CACF,MACEwhQ,EAAIzzQ,YAAYd,SAASe,eAAe82D,IAG1Cl+D,KAAK2niB,KACP,EAEAluN,EAAO03C,MAAQ,WAEbnxX,KAAKk5E,KAAK74E,SAAQ,SAAUu6Q,GAC1B,OAAOA,EAAIl0Q,YAAck0Q,EAAIl0Q,WAAWkB,YAAYgzQ,EACtD,IACA56Q,KAAKk5E,KAAO,GACZl5E,KAAK2niB,IAAM,CAKb,EAEOL,CACT,CAlG8B,GC7CvB,SAASvgb,GAAQnjH,EAAO9C,GAC9B,O/nBcM,SAAe8C,EAAO9C,GAC5B,SAAcA,GAAU,EAAKypW,GAAO3mW,EAAO,KAAO,EAAK2mW,GAAO3mW,EAAO,KAAO,EAAK2mW,GAAO3mW,EAAO,KAAO,EAAK2mW,GAAO3mW,EAAO,EAC1H,C+nBhBSyZ,CAAKzZ,EAAO9C,IAEnB,KAAK,KACJ,OAAOipW,GAAS,SAAWnmW,EAAQA,EAEpC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAEvE,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAE5D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAE5D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAC3D,OAAOmmW,GAASnmW,EAAQA,EAEzB,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAChD,OAAOmmW,GAASnmW,EAAQkmW,GAAMlmW,EAAQimW,GAAKjmW,EAAQA,EAEpD,KAAK,KAAM,KAAK,KACf,OAAOmmW,GAASnmW,EAAQimW,GAAKjmW,EAAQA,EAEtC,KAAK,KACJ,OAAOmmW,GAASnmW,EAAQimW,GAAK,QAAUjmW,EAAQA,EAEhD,KAAK,KACJ,OAAOmmW,GAASnmW,EAAQ8H,GAAQ9H,EAAO,iBAAkBmmW,GAAS,WAAaF,GAAK,aAAejmW,EAEpG,KAAK,KACJ,OAAOmmW,GAASnmW,EAAQimW,GAAK,aAAen+V,GAAQ9H,EAAO,cAAe,IAAMA,EAEjF,KAAK,KACJ,OAAOmmW,GAASnmW,EAAQimW,GAAK,iBAAmBn+V,GAAQ9H,EAAO,4BAA6B,IAAMA,EAEnG,KAAK,KACJ,OAAOmmW,GAASnmW,EAAQimW,GAAKn+V,GAAQ9H,EAAO,SAAU,YAAcA,EAErE,KAAK,KACJ,OAAOmmW,GAASnmW,EAAQimW,GAAKn+V,GAAQ9H,EAAO,QAAS,kBAAoBA,EAE1E,KAAK,KACJ,OAAOmmW,GAAS,OAASr+V,GAAQ9H,EAAO,QAAS,IAAMmmW,GAASnmW,EAAQimW,GAAKn+V,GAAQ9H,EAAO,OAAQ,YAAcA,EAEnH,KAAK,KACJ,OAAOmmW,GAASr+V,GAAQ9H,EAAO,qBAAsB,KAAOmmW,GAAS,MAAQnmW,EAE9E,KAAK,KACJ,OAAO8H,GAAQA,GAAQA,GAAQ9H,EAAO,eAAgBmmW,GAAS,MAAO,cAAeA,GAAS,MAAOnmW,EAAO,IAAMA,EAEnH,KAAK,KAAM,KAAK,KACf,OAAO8H,GAAQ9H,EAAO,oBAAqBmmW,aAE5C,KAAK,KACJ,OAAOr+V,GAAQA,GAAQ9H,EAAO,oBAAqBmmW,GAAS,cAAgBF,GAAK,gBAAiB,aAAc,WAAaE,GAASnmW,EAAQA,EAE/I,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACrC,OAAO8H,GAAQ9H,EAAO,kBAAmBmmW,GAAS,QAAUnmW,EAE7D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACtC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACtC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAErC,GAAI6mW,GAAO7mW,GAAS,EAAI9C,EAAS,EAChC,OAAQypW,GAAO3mW,EAAO9C,EAAS,IAE9B,KAAK,IAEJ,GAAkC,KAA9BypW,GAAO3mW,EAAO9C,EAAS,GAC1B,MAEF,KAAK,IACJ,OAAO4K,GAAQ9H,EAAO,mBAAoB,KAAOmmW,GAAP,UAAiCD,IAAoC,KAA7BS,GAAO3mW,EAAO9C,EAAS,GAAY,KAAO,UAAY8C,EAEzI,KAAK,IACJ,OAAQ0mW,GAAQ1mW,EAAO,WAAamjH,GAAOr7G,GAAQ9H,EAAO,UAAW,kBAAmB9C,GAAU8C,EAAQA,EAE7G,MAED,KAAK,KAEJ,GAAkC,MAA9B2mW,GAAO3mW,EAAO9C,EAAS,GAC1B,MAEF,KAAK,KACJ,OAAQypW,GAAO3mW,EAAO6mW,GAAO7mW,GAAS,IAAM0mW,GAAQ1mW,EAAO,eAAiB,MAE3E,KAAK,IACJ,OAAO8H,GAAQ9H,EAAO,IAAK,IAAMmmW,IAAUnmW,EAE5C,KAAK,IACJ,OAAO8H,GAAQ9H,EAAO,wBAAyB,KAAOmmW,IAAgC,KAAtBQ,GAAO3mW,EAAO,IAAa,UAAY,IAAxD,UAA+EmmW,GAA/E,SAAwGF,GAAK,WAAajmW,EAE3K,MAED,KAAK,KACJ,OAAQ2mW,GAAO3mW,EAAO9C,EAAS,KAE9B,KAAK,IACJ,OAAOipW,GAASnmW,EAAQimW,GAAKn+V,GAAQ9H,EAAO,qBAAsB,MAAQA,EAE3E,KAAK,IACJ,OAAOmmW,GAASnmW,EAAQimW,GAAKn+V,GAAQ9H,EAAO,qBAAsB,SAAWA,EAE9E,KAAK,GACJ,OAAOmmW,GAASnmW,EAAQimW,GAAKn+V,GAAQ9H,EAAO,qBAAsB,MAAQA,EAG5E,OAAOmmW,GAASnmW,EAAQimW,GAAKjmW,EAAQA,EAGvC,OAAOA,CACR,CCjHA,IAAImkiB,GAA8B,SAAqCv9L,EAAO5tM,EAAQnpJ,GAIpF,IAHA,IAAIhQ,EAAW,EACXonW,EAAY,EAGdpnW,EAAWonW,EACXA,EAAYvxB,KAEK,KAAb71U,GAAiC,KAAdonW,IACrBjuM,EAAOnpJ,GAAS,IAGdR,GAAM43V,IAIV7kS,KAGF,OAAO5tD,GAAMoyV,EAAOjpV,GACtB,EA6CIkxU,GAAW,SAAkB7uV,EAAOg5J,GACtC,OAAOquM,GA5CK,SAAiBptV,EAAQ++I,GAErC,IAAInpJ,GAAS,EACTo3V,EAAY,GAEhB,GACE,OAAQ53V,GAAM43V,IACZ,KAAK,EAEe,KAAdA,GAA+B,KAAXvxB,OAKtB18K,EAAOnpJ,GAAS,GAGlBoK,EAAOpK,IAAUs0hB,GAA4BxmhB,GAAW,EAAGq7I,EAAQnpJ,GACnE,MAEF,KAAK,EACHoK,EAAOpK,IAAUy3V,GAAQL,GACzB,MAEF,KAAK,EAEH,GAAkB,KAAdA,EAAkB,CAEpBhtV,IAASpK,GAAoB,KAAX6lU,KAAgB,MAAQ,GAC1C18K,EAAOnpJ,GAASoK,EAAOpK,GAAO3S,OAC9B,KACF,CAIF,QACE+c,EAAOpK,IAAUgD,GAAKo0V,UAEnBA,EAAY7kS,MAErB,OAAOnoD,CACT,CAGiBmqhB,CAAQh9L,GAAMpnW,GAAQg5J,GACvC,EAGIqrY,GAA+B,IAAI7pe,QACnC8pe,GAAS,SAAgB73gB,GAC3B,GAAqB,SAAjBA,EAAQhoB,MAAoBgoB,EAAQkvB,UAExClvB,EAAQvvB,OAAS,GAFjB,CAUA,IAJA,IAAI8C,EAAQysB,EAAQzsB,MAChB27C,EAASlvB,EAAQkvB,OACjB4of,EAAiB93gB,EAAQu6U,SAAWrrT,EAAOqrT,QAAUv6U,EAAQrS,OAASuhC,EAAOvhC,KAE1D,SAAhBuhC,EAAOl3C,MAEZ,KADAk3C,EAASA,EAAOA,QACH,OAIf,IAA6B,IAAzBlvB,EAAQxuB,MAAMf,QAAwC,KAAxB8C,EAAMod,WAAW,IAE/CinhB,GAAc39hB,IAAIi1C,MAMlB4of,EAAJ,CAIAF,GAAchugB,IAAI5J,GAAS,GAK3B,IAJA,IAAIusI,EAAS,GACThsG,EAAQ6hS,GAAS7uV,EAAOg5J,GACxBwrY,EAAc7of,EAAO19C,MAEhB2D,EAAI,EAAGm6F,EAAI,EAAGn6F,EAAIorD,EAAM9vD,OAAQ0E,IACvC,IAAK,IAAIggE,EAAI,EAAGA,EAAI4ie,EAAYtniB,OAAQ0kE,IAAKm6B,IAC3CtvE,EAAQxuB,MAAM89F,GAAKi9D,EAAOp3J,GAAKorD,EAAMprD,GAAGkG,QAAQ,OAAQ08hB,EAAY5ie,IAAM4ie,EAAY5ie,GAAK,IAAM5U,EAAMprD,EAT3G,CAtBA,CAkCF,EACI6iiB,GAAc,SAAqBh4gB,GACrC,GAAqB,SAAjBA,EAAQhoB,KAAiB,CAC3B,IAAIzE,EAAQysB,EAAQzsB,MAGI,MAAxBA,EAAMod,WAAW,IACO,KAAxBpd,EAAMod,WAAW,KAEfqP,EAAgB,OAAI,GACpBA,EAAQzsB,MAAQ,GAEpB,CACF,EA8GI0kiB,GAAuB,CCrMpB,SAAmBj4gB,EAAS5c,EAAOzO,EAAU1E,GACnD,GAAI+vB,EAAQvvB,QAAU,IAChBuvB,EAAQ8oR,OACZ,OAAQ9oR,EAAQhoB,MACf,KAAK6hW,GAAa75U,EAAQ8oR,OAASpyL,GAAO12F,EAAQzsB,MAAOysB,EAAQvvB,QAChE,MACD,KAAKspW,GACJ,OAAOO,GAAU,CAACI,GAAK16U,EAAS,CAACzsB,MAAO8H,GAAQ2kB,EAAQzsB,MAAO,IAAK,IAAMmmW,OAAYzpW,GACvF,KAAK2pW,GACJ,GAAI55U,EAAQvvB,OACX,OjoB6DC,SAAkBkiC,EAAO1iC,GAC/B,OAAO0iC,EAAMtgB,IAAIpiB,GAAUob,KAAK,GACjC,CioB/Da6shB,CAAQl4gB,EAAQxuB,OAAO,SAAU+B,GACvC,OjoBZA,SAAgBA,EAAO0c,GAC7B,OAAQ1c,EAAQ0c,EAAQpC,KAAKta,IAAUA,EAAM,GAAKA,CACnD,CioBUe0Y,CAAM1Y,EAAO,0BAEpB,IAAK,aAAc,IAAK,cACvB,OAAO+mW,GAAU,CAACI,GAAK16U,EAAS,CAACxuB,MAAO,CAAC6J,GAAQ9H,EAAO,cAAe,IAAMkmW,GAAM,UAAWxpW,GAE/F,IAAK,gBACJ,OAAOqqW,GAAU,CAChBI,GAAK16U,EAAS,CAACxuB,MAAO,CAAC6J,GAAQ9H,EAAO,aAAc,IAAMmmW,GAAS,eACnEgB,GAAK16U,EAAS,CAACxuB,MAAO,CAAC6J,GAAQ9H,EAAO,aAAc,IAAMkmW,GAAM,SAChEiB,GAAK16U,EAAS,CAACxuB,MAAO,CAAC6J,GAAQ9H,EAAO,aAAcimW,GAAK,gBACvDvpW,GAGL,MAAO,EACR,IAEN,GD8SA,SAlIkB,SAAqB0W,GACrC,IAAIhW,EAAMgW,EAAQhW,IAMlB,GAAa,QAARA,EAAe,CAClB,IAAIwniB,EAAYniiB,SAASskD,iBAAiB,qCAK1Ct1C,MAAMrD,UAAU3R,QAAQuT,KAAK40hB,GAAW,SAAUx2gB,IASL,IAFhBA,EAAKstB,aAAa,gBAEpB57C,QAAQ,OAGjC2C,SAAS6mD,KAAK/lD,YAAY6qB,GAC1BA,EAAK5oB,aAAa,SAAU,IAC9B,GACF,CAEA,IAAIq/hB,EAAgBzxhB,EAAQyxhB,eAAiBH,GAS7C,IACIj+hB,EAkBAq+hB,EAnBAC,EAAW,CAAC,EAEZC,EAAiB,GAGnBv+hB,EAAY2M,EAAQ3M,WAAahE,SAAS6mD,KAC1C73C,MAAMrD,UAAU3R,QAAQuT,KAExBvN,SAASskD,iBAAiB,wBAA2B3pD,EAAM,QAAS,SAAUgxB,GAG5E,IAFA,IAAI62gB,EAAS72gB,EAAKstB,aAAa,gBAAgBj8C,MAAM,KAE5CmC,EAAI,EAAGA,EAAIqjiB,EAAO/niB,OAAQ0E,IACjCmjiB,EAASE,EAAOrjiB,KAAM,EAGxBojiB,EAAenmiB,KAAKuvB,EACtB,IAiBA,IAAI82gB,EC7RmBxoiB,ED8RnByoiB,EAAoB,CAACluhB,IC9RFva,EDwST,SAAU49D,GACtB4qe,EAAax/c,OAAOprB,EACtB,ECzSI,SAAU7tC,GACXA,EAAQgI,OACRhI,EAAUA,EAAQ8oR,SACrB74S,EAAS+vB,EACZ,IDsSO24gB,EC5TD,SAAqB7xgB,GAC3B,IAAIr2B,EAAS4pW,GAAOvzU,GAEpB,OAAO,SAAU9G,EAAS5c,EAAOzO,EAAU1E,GAG1C,IAFA,IAAIukR,EAAS,GAEJr/Q,EAAI,EAAGA,EAAI1E,EAAQ0E,IAC3Bq/Q,GAAU1tP,EAAW3xB,GAAG6qB,EAAS5c,EAAOzO,EAAU1E,IAAa,GAEhE,OAAOukR,CACR,CACD,CDiTqBokR,CA1BM,CAACf,GAAQG,IA0Be3+hB,OAAO++hB,EAAeM,IAMrEL,EAAU,SAAgB99e,EAAUs+e,EAAYvsd,EAAOwsd,GACrDL,EAAensd,EAJRguR,GAAUrlR,GAcV16B,EAAWA,EAAW,IAAMs+e,EAAWr9hB,OAAS,IAAMq9hB,EAAWr9hB,QAdtCm9hB,GAgB9BG,IACFpphB,EAAM4ohB,SAASO,EAAWr+hB,OAAQ,EAEtC,EAGF,IAAIkV,EAAQ,CACV/e,IAAKA,EACL27E,MAAO,IAAI2qd,GAAW,CACpBtmiB,IAAKA,EACLqJ,UAAWA,EACX21V,MAAOhpV,EAAQgpV,MACf0nM,OAAQ1whB,EAAQ0whB,OAChBnje,QAASvtD,EAAQutD,QACjBije,eAAgBxwhB,EAAQwwhB,iBAE1BxnM,MAAOhpV,EAAQgpV,MACf2oM,SAAUA,EACVS,WAAY,CAAC,EACb9/c,OAAQo/c,GAGV,OADA3ohB,EAAM48D,MAAM/yE,QAAQg/hB,GACb7ohB,CACT,EE/WA,SAASsphB,GAAoBD,EAAYE,EAAkBz3gB,GACzD,IAAI03gB,EAAe,GAQnB,OAPA13gB,EAAWxuB,MAAM,KAAKhD,SAAQ,SAAU+C,QACR0G,IAA1Bs/hB,EAAWhmiB,GACbkmiB,EAAiB7miB,KAAK2miB,EAAWhmiB,GAAa,KAE9CmmiB,GAAgBnmiB,EAAY,GAEhC,IACOmmiB,CACT,CACA,IAAIC,GAAiB,SAAwBzphB,EAAOmphB,EAAYO,GAC9D,IAAIrmiB,EAAY2c,EAAM/e,IAAM,IAAMkoiB,EAAWr+hB,MAO5B,IAAhB4+hB,QAIwD3/hB,IAAhCiW,EAAMqphB,WAAWhmiB,KACxC2c,EAAMqphB,WAAWhmiB,GAAa8liB,EAAWr9hB,OAE7C,EACI69hB,GAAe,SAAsB3phB,EAAOmphB,EAAYO,GAC1DD,GAAezphB,EAAOmphB,EAAYO,GAClC,IAAIrmiB,EAAY2c,EAAM/e,IAAM,IAAMkoiB,EAAWr+hB,KAE7C,QAAwCf,IAApCiW,EAAM4ohB,SAASO,EAAWr+hB,MAAqB,CACjD,IAAI4oB,EAAUy1gB,EAEd,EAAG,CACiBnphB,EAAMupE,OAAO4/c,IAAez1gB,EAAU,IAAMrwB,EAAY,GAAIqwB,EAAS1T,EAAM48D,OAAO,GAEpGlpD,EAAUA,EAAQuyC,IACpB,YAAqBl8D,IAAZ2pB,EACX,CACF,ECaA,SAnDA,SAAiBhoB,GAYf,IANA,IAEIk0F,EAFAxoF,EAAI,EAGJ3R,EAAI,EACJkC,EAAM+D,EAAI3K,OAEP4G,GAAO,IAAKlC,EAAGkC,GAAO,EAE3Bi4F,EAEe,YAAV,OAHLA,EAAwB,IAApBl0F,EAAIuV,WAAWxb,IAAmC,IAAtBiG,EAAIuV,aAAaxb,KAAc,GAA2B,IAAtBiG,EAAIuV,aAAaxb,KAAc,IAA4B,IAAtBiG,EAAIuV,aAAaxb,KAAc,MAG9F,OAAZm6F,IAAM,KAAgB,IAIpDxoF,EAEe,YAAV,OALLwoF,GAEAA,IAAM,MAGoC,OAAZA,IAAM,KAAgB,IAErC,YAAV,MAAJxoF,IAAyC,OAAZA,IAAM,KAAgB,IAItD,OAAQzP,GACN,KAAK,EACHyP,IAA8B,IAAxB1L,EAAIuV,WAAWxb,EAAI,KAAc,GAEzC,KAAK,EACH2R,IAA8B,IAAxB1L,EAAIuV,WAAWxb,EAAI,KAAc,EAEzC,KAAK,EAEH2R,EAEe,YAAV,OAHLA,GAAyB,IAApB1L,EAAIuV,WAAWxb,MAGsB,OAAZ2R,IAAM,KAAgB,IASxD,SAHAA,EAEe,YAAV,OAHLA,GAAKA,IAAM,MAG+B,OAAZA,IAAM,KAAgB,KACvCA,IAAM,MAAQ,GAAGkC,SAAS,GACzC,ECHA,SAjDmB,CACjB66R,wBAAyB,EACzBE,kBAAmB,EACnBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,EACTC,aAAc,EACdC,gBAAiB,EACjBC,YAAa,EACbC,QAAS,EACTpkF,KAAM,EACNqkF,SAAU,EACVC,aAAc,EACdC,WAAY,EACZC,aAAc,EACdC,UAAW,EACXE,QAAS,EACTC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,WAAY,EACZC,cAAe,EACfC,eAAgB,EAChBC,gBAAiB,EACjB+zD,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,iBAAkB,EAClB96I,WAAY,EACZ8mF,WAAY,EACZhgQ,QAAS,EACTigQ,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,OAAQ,EACR90F,OAAQ,EACRn5K,KAAM,EACN8hU,gBAAiB,EAEjB5zD,YAAa,EACbC,aAAc,EACdC,YAAa,EACbC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClB7oG,cAAe,EACf8oG,YAAa,GCtCf,SARA,SAAiBp/R,GACf,IAAI6I,EAAQrf,OAAOwR,OAAO,MAC1B,OAAO,SAAUo/E,GAEf,YADmBxnF,IAAfiW,EAAMuxE,KAAoBvxE,EAAMuxE,GAAOp6E,EAAGo6E,IACvCvxE,EAAMuxE,EACf,CACF,ECFA,IAEIq4c,GAAiB,aACjBC,GAAiB,8BAEjBC,GAAmB,SAA0Bz8e,GAC/C,OAAkC,KAA3BA,EAASpsC,WAAW,EAC7B,EAEI8ohB,GAAqB,SAA4BlmiB,GACnD,OAAgB,MAATA,GAAkC,mBAAVA,CACjC,EAEImmiB,GAAkCC,IAAQ,SAAUz7L,GACtD,OAAOs7L,GAAiBt7L,GAAaA,EAAYA,EAAU7iW,QAAQi+hB,GAAgB,OAAOh+hB,aAC5F,IAEIs+hB,GAAoB,SAA2BjpiB,EAAK4C,GACtD,OAAQ5C,GACN,IAAK,YACL,IAAK,gBAED,GAAqB,kBAAV4C,EACT,OAAOA,EAAM8H,QAAQk+hB,IAAgB,SAAUtthB,EAAOkvQ,EAAIC,GAMxD,OALAj1K,GAAS,CACP3rG,KAAM2gR,EACN3/Q,OAAQ4/Q,EACRzlN,KAAMwwC,IAEDg1K,CACT,IAKR,OAAsB,IAAlBq6E,GAAS7kW,IAAe6oiB,GAAiB7oiB,IAAyB,kBAAV4C,GAAgC,IAAVA,EAI3EA,EAHEA,EAAQ,IAInB,EAgCA,SAASsmiB,GAAoBrxJ,EAAauwJ,EAAYr8L,GACpD,GAAqB,MAAjBA,EACF,MAAO,GAGT,QAAuCjjW,IAAnCijW,EAAco9L,iBAKhB,OAAOp9L,EAGT,cAAeA,GACb,IAAK,UAED,MAAO,GAGX,IAAK,SAED,GAA2B,IAAvBA,EAAcq9L,KAMhB,OALA5zb,GAAS,CACP3rG,KAAMkiW,EAAcliW,KACpBgB,OAAQkhW,EAAclhW,OACtBm6D,KAAMwwC,IAEDu2P,EAAcliW,KAGvB,QAA6Bf,IAAzBijW,EAAclhW,OAAsB,CACtC,IAAIm6D,EAAO+mS,EAAc/mS,KAEzB,QAAal8D,IAATk8D,EAGF,UAAgBl8D,IAATk8D,GACLwwC,GAAS,CACP3rG,KAAMm7D,EAAKn7D,KACXgB,OAAQm6D,EAAKn6D,OACbm6D,KAAMwwC,IAERxwC,EAAOA,EAAKA,KAUhB,OANa+mS,EAAclhW,OAAS,GAOtC,CAEA,OA2CR,SAAgCgtY,EAAauwJ,EAAYvyhB,GACvD,IAAI+nB,EAAS,GAEb,GAAIvpB,MAAM8C,QAAQtB,GAChB,IAAK,IAAIrR,EAAI,EAAGA,EAAIqR,EAAI/V,OAAQ0E,IAC9Bo5B,GAAUsrgB,GAAoBrxJ,EAAauwJ,EAAYvyhB,EAAIrR,IAAM,SAGnE,IAAK,IAAIs8C,KAAQjrC,EAAK,CACpB,IAAIjT,EAAQiT,EAAIirC,GAEhB,GAAqB,kBAAVl+C,EACS,MAAdwliB,QAA4Ct/hB,IAAtBs/hB,EAAWxliB,GACnCg7B,GAAUkjB,EAAO,IAAMsnf,EAAWxliB,GAAS,IAClCkmiB,GAAmBlmiB,KAC5Bg7B,GAAUmrgB,GAAiBjof,GAAQ,IAAMmof,GAAkBnof,EAAMl+C,GAAS,UAO5E,IAAIyR,MAAM8C,QAAQvU,IAA8B,kBAAbA,EAAM,IAAkC,MAAdwliB,QAA+Ct/hB,IAAzBs/hB,EAAWxliB,EAAM,IAM7F,CACL,IAAIymiB,EAAeH,GAAoBrxJ,EAAauwJ,EAAYxliB,GAEhE,OAAQk+C,GACN,IAAK,YACL,IAAK,gBAEDljB,GAAUmrgB,GAAiBjof,GAAQ,IAAMuof,EAAe,IACxD,MAGJ,QAMIzrgB,GAAUkjB,EAAO,IAAMuof,EAAe,IAG9C,MAzBE,IAAK,IAAIxxgB,EAAK,EAAGA,EAAKj1B,EAAM9C,OAAQ+3B,IAC9BixgB,GAAmBlmiB,EAAMi1B,MAC3B+F,GAAUmrgB,GAAiBjof,GAAQ,IAAMmof,GAAkBnof,EAAMl+C,EAAMi1B,IAAO,IAyBxF,CAGF,OAAO+F,CACT,CAjGe0rgB,CAAuBzxJ,EAAauwJ,EAAYr8L,GAG3D,IAAK,WAED,QAAoBjjW,IAAhB+uY,EAA2B,CAC7B,IAAI0xJ,EAAiB/zb,GACjB32F,EAASktV,EAAc8rC,GAE3B,OADAriS,GAAS+zb,EACFL,GAAoBrxJ,EAAauwJ,EAAYvphB,EACtD,EAyBN,GAAkB,MAAduphB,EACF,OAAOr8L,EAGT,IAAIqvD,EAASgtI,EAAWr8L,GACxB,YAAkBjjW,IAAXsyZ,EAAuBA,EAASrvD,CACzC,CA0DA,IASIv2P,GATAg0b,GAAe,iCAUnB,IAAIC,GAAkB,SAAyBtvhB,EAAMiuhB,EAAYvwJ,GAC/D,GAAoB,IAAhB19X,EAAKra,QAAmC,kBAAZqa,EAAK,IAA+B,OAAZA,EAAK,SAAkCrR,IAAnBqR,EAAK,GAAGtP,OAClF,OAAOsP,EAAK,GAGd,IAAIuvhB,GAAa,EACb7+hB,EAAS,GACb2qG,QAAS1sG,EACT,IAAI6giB,EAAUxvhB,EAAK,GAEJ,MAAXwvhB,QAAmC7giB,IAAhB6giB,EAAQ/wf,KAC7B8wf,GAAa,EACb7+hB,GAAUq+hB,GAAoBrxJ,EAAauwJ,EAAYuB,IAMvD9+hB,GAAU8+hB,EAAQ,GAIpB,IAAK,IAAInliB,EAAI,EAAGA,EAAI2V,EAAKra,OAAQ0E,IAC/BqG,GAAUq+hB,GAAoBrxJ,EAAauwJ,EAAYjuhB,EAAK3V,IAExDkliB,IAKF7+hB,GAAU8+hB,EAAQnliB,IActBgliB,GAAa/ohB,UAAY,EAIzB,IAHA,IACInF,EADAsuhB,EAAiB,GAG0B,QAAvCtuhB,EAAQkuhB,GAAatshB,KAAKrS,KAChC++hB,GAAkB,IAClBtuhB,EAAM,GAkBR,MAAO,CACLzR,KAhBSggiB,GAAWh/hB,GAAU++hB,EAiB9B/+hB,OAAQA,EACRm6D,KAAMwwC,GAEV,EChTIr2F,GAAiB,CAAC,EAAEA,eAEpB2qhB,IAAqCrmiB,EAAAA,EAAAA,eAMlB,qBAAhBuzU,YAA6CypB,GAAY,CAC9DzgW,IAAK,QACF,MAMe8piB,GAAoBlmiB,SAAxC,IAKImmiB,GAAmB,SAA0B3ogB,GAE/C,OAAoByjS,EAAAA,EAAAA,aAAW,SAAUhkU,EAAOyG,GAE9C,IAAIyX,GAAQy1S,EAAAA,EAAAA,YAAWs1O,IACvB,OAAO1ogB,EAAKvgC,EAAOke,EAAOzX,EAC5B,GACF,EAEIw2U,IAA8Br6U,EAAAA,EAAAA,eAAc,CAAC,GA6DjD,IA2CIkxT,GAAqB9nS,EAA+B,mBAAIA,EAA+B,mBAAI,SAA4B3b,GACzHA,GACF,EACA,SAAS84hB,GAAwB94hB,GAE/ByjT,GAAmBzjT,EACrB,CAEA,IAAI+4hB,GAAe,qCA2BfC,GAAY,SAAmBj/hB,GACjC,IAAI8T,EAAQ9T,EAAK8T,MACbmphB,EAAaj9hB,EAAKi9hB,WAClBO,EAAcx9hB,EAAKw9hB,YACvBD,GAAezphB,EAAOmphB,EAAYO,GACtBuB,IAAwB,WAClC,OAAOtB,GAAa3phB,EAAOmphB,EAAYO,EACzC,IAEA,OAAO,IACT,EAEI0B,GAAyBJ,IAAiB,SAAUlpiB,EAAOke,EAAOzX,GACpE,IAAI8iiB,EAAUvpiB,EAAM2tC,IAIG,kBAAZ47f,QAAsDthiB,IAA9BiW,EAAMqphB,WAAWgC,KAClDA,EAAUrrhB,EAAMqphB,WAAWgC,IAG7B,IAAInyN,EAAmBp3U,EAAMopiB,IACzB3B,EAAmB,CAAC8B,GACpBhoiB,EAAY,GAEe,kBAApBvB,EAAMuB,UACfA,EAAYimiB,GAAoBtphB,EAAMqphB,WAAYE,EAAkBzniB,EAAMuB,WAC9C,MAAnBvB,EAAMuB,YACfA,EAAYvB,EAAMuB,UAAY,KAGhC,IAAI8liB,EAAauB,GAAgBnB,OAAkBx/hB,GAAW0rT,EAAAA,EAAAA,YAAWspB,KAUzE17U,GAAa2c,EAAM/e,IAAM,IAAMkoiB,EAAWr+hB,KAC1C,IAAI4mB,EAAW,CAAC,EAEhB,IAAK,IAAIzwB,KAAOa,EACVse,GAAevM,KAAK/R,EAAOb,IAAgB,QAARA,GAAiBA,IAAQiqiB,KAC9Dx5gB,EAASzwB,GAAOa,EAAMb,IAM1B,OAFAywB,EAASnpB,IAAMA,EACfmpB,EAASruB,UAAYA,GACDkD,EAAAA,EAAAA,eAAc+rB,EAAAA,SAAU,MAAmB/rB,EAAAA,EAAAA,eAAc4kiB,GAAW,CACtFnrhB,MAAOA,EACPmphB,WAAYA,EACZO,YAAyC,kBAArBxwN,KACL3yU,EAAAA,EAAAA,eAAc2yU,EAAkBxnT,GACnD,eCrGIooT,GAAM,SAAaxxU,EAAMxG,GAC3B,IAAIsZ,EAAO9Z,UAEX,GAAa,MAATQ,IAAkBse,GAAevM,KAAK/R,EAAO,OAE/C,OAAOyE,EAAAA,cAAcgP,WAAMxL,EAAWqR,GAGxC,IAAIkwhB,EAAalwhB,EAAKra,OAClBwqiB,EAAwB,IAAIj2hB,MAAMg2hB,GACtCC,EAAsB,GAAKH,GAC3BG,EAAsB,GDQC,SAA4BjjiB,EAAMxG,GAMzD,IAAI4vB,EAAW,CAAC,EAEhB,IAAK,IAAIzwB,KAAOa,EACVse,GAAevM,KAAK/R,EAAOb,KAC7BywB,EAASzwB,GAAOa,EAAMb,IAY1B,OARAywB,EAASw5gB,IAAgB5iiB,EAQlBopB,CACT,CC/B6B85gB,CAAmBljiB,EAAMxG,GAEpD,IAAK,IAAI2D,EAAI,EAAGA,EAAI6liB,EAAY7liB,IAC9B8liB,EAAsB9liB,GAAK2V,EAAK3V,GAIlC,OAAOc,EAAAA,cAAcgP,MAAM,KAAMg2hB,EACnC,EAEyBz9gB,EAA+B,mBAAIA,EAA+B,mBAAI+nS,EAAAA,gBAmF/F,SAASpmR,KACP,IAAK,IAAIqS,EAAOxgD,UAAUP,OAAQqa,EAAO,IAAI9F,MAAMwsC,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E3mC,EAAK2mC,GAAQzgD,UAAUygD,GAGzB,OAAO2of,GAAgBtvhB,EACzB,CAEA,IAcIqwhB,GAAa,SAASA,EAAWrwhB,GAKnC,IAJA,IAAIzT,EAAMyT,EAAKra,OACX0E,EAAI,EACJ+wU,EAAM,GAEH/wU,EAAIkC,EAAKlC,IAAK,CACnB,IAAI8rF,EAAMn2E,EAAK3V,GACf,GAAW,MAAP8rF,EAAJ,CACA,IAAIm6c,OAAQ,EAEZ,cAAen6c,GACb,IAAK,UACH,MAEF,IAAK,SAED,GAAIj8E,MAAM8C,QAAQm5E,GAChBm6c,EAAQD,EAAWl6c,QAQnB,IAAK,IAAIqO,KAFT8rc,EAAQ,GAEMn6c,EACRA,EAAIqO,IAAMA,IACZ8rc,IAAUA,GAAS,KACnBA,GAAS9rc,GAKf,MAGJ,QAEI8rc,EAAQn6c,EAIVm6c,IACFl1N,IAAQA,GAAO,KACfA,GAAOk1N,EArCgB,CAuC3B,CAEA,OAAOl1N,CACT,EAaA,IAAI20N,GAAY,SAAmBj/hB,GACjC,IAAI8T,EAAQ9T,EAAK8T,MACb2rhB,EAAgBz/hB,EAAKy/hB,cACbV,IAAwB,WAElC,IAAK,IAAIxliB,EAAI,EAAGA,EAAIkmiB,EAAc5qiB,OAAQ0E,IAC9BkkiB,GAAa3phB,EAAO2rhB,EAAclmiB,IAAI,EAEpD,IAEA,OAAO,IACT,EAEImmiB,GAA4BZ,IAAiB,SAAUlpiB,EAAOke,GAChE,IACI2rhB,EAAgB,GAEhBl8f,EAAM,WAKR,IAAK,IAAIqS,EAAOxgD,UAAUP,OAAQqa,EAAO,IAAI9F,MAAMwsC,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/E3mC,EAAK2mC,GAAQzgD,UAAUygD,GAGzB,IAAIonf,EAAauB,GAAgBtvhB,EAAM4E,EAAMqphB,YAI7C,OAHAsC,EAAcjpiB,KAAKymiB,GAEnBM,GAAezphB,EAAOmphB,GAAY,GAC3BnphB,EAAM/e,IAAM,IAAMkoiB,EAAWr+hB,IACtC,EAcIkW,EAAU,CACZyuB,IAAKA,EACLk4Z,GAdO,WAKP,IAAK,IAAIjxY,EAAQp1D,UAAUP,OAAQqa,EAAO,IAAI9F,MAAMohD,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFv7C,EAAKu7C,GAASr1D,UAAUq1D,GAG1B,OArDJ,SAAe0ye,EAAY55f,EAAKpsC,GAC9B,IAAIkmiB,EAAmB,GACnBC,EAAeF,GAAoBD,EAAYE,EAAkBlmiB,GAErE,OAAIkmiB,EAAiBxoiB,OAAS,EACrBsC,EAGFmmiB,EAAe/5f,EAAI85f,EAC5B,CA4CW5xhB,CAAMqI,EAAMqphB,WAAY55f,EAAKg8f,GAAWrwhB,GACjD,EAKEopJ,OAAOixJ,EAAAA,EAAAA,YAAWspB,KAEhBuhD,EAAMx+X,EAAMmD,SAAS+b,GAEzB,OAAoBza,EAAAA,EAAAA,eAAc+rB,EAAAA,SAAU,MAAmB/rB,EAAAA,EAAAA,eAAc4kiB,GAAW,CACtFnrhB,MAAOA,EACP2rhB,cAAeA,IACbrrK,EACN,q5QApIgB,WACd,IAAIurK,EAAap8f,GAAIl6B,WAAM,EAAQjU,WAC/BwJ,EAAO,aAAe+giB,EAAW/giB,KAErC,MAAO,CACLA,KAAMA,EACNgB,OAAQ,cAAgBhB,EAAO,IAAM+giB,EAAW//hB,OAAS,IACzDu+hB,KAAM,EACN/whB,SAAU,WACR,MAAO,QAAUrZ,KAAK6K,KAAO,IAAM7K,KAAK6L,OAAS,OACnD,EAEJ,UClQA,SAAgCjJ,EAAG8e,GACjC,OAAOA,IAAMA,EAAI9e,EAAEwV,MAAM,IAAK1X,OAAO4uH,OAAO5uH,OAAO6V,iBAAiB3T,EAAG,CACrEg3C,IAAK,CACHh2C,MAAOlD,OAAO4uH,OAAO5tG,MAG3B,+jLCDIi5E,GAAY,CAAC,oBAAqB,oBAAqB,eAAgB,aAAc,aAAc,WAAY,gBAAiB,cAAe,aAAc,SCLjK,IAAIkxc,GAAY3giB,OAAOC,OACnB,SAAkBvH,GACd,MAAwB,kBAAVA,GAAsBA,IAAUA,CAClD,EAUJ,SAASkoiB,GAAeC,EAAWC,GAC/B,GAAID,EAAUjriB,SAAWkriB,EAAWlriB,OAChC,OAAO,EAEX,IAAK,IAAI0E,EAAI,EAAGA,EAAIumiB,EAAUjriB,OAAQ0E,IAClC,GAdSwzB,EAcI+ygB,EAAUvmiB,GAdPyzB,EAcW+ygB,EAAWxmiB,KAbtCwzB,IAAUC,GAGV4ygB,GAAU7ygB,IAAU6ygB,GAAU5ygB,IAW1B,OAAO,EAfnB,IAAiBD,EAAOC,EAkBpB,OAAO,CACX,CAyBA,SAvBA,SAAoBgzgB,EAAU/6M,GAE1B,IAAInkB,OADY,IAAZmkB,IAAsBA,EAAU46M,IAEpC,IACI7+N,EADAD,EAAW,GAEXF,GAAa,EAejB,OAdA,WAEI,IADA,IAAID,EAAU,GACLh0S,EAAK,EAAGA,EAAKx3B,UAAUP,OAAQ+3B,IACpCg0S,EAAQh0S,GAAMx3B,UAAUw3B,GAE5B,OAAIi0S,GAAcC,IAAa/sU,MAAQkxV,EAAQrkB,EAASG,KAGxDC,EAAag/N,EAAS32hB,MAAMtV,KAAM6sU,GAClCC,GAAa,EACbC,EAAW/sU,KACXgtU,EAAWH,GALAI,CAOf,CAEJ,mr3CCvBA,IAAIi/N,IAAkCrmO,EAAAA,EAAAA,aAAW,SAAUhkU,EAAOyG,GAChE,IAAI6jiB,EFlBN,SAAyBlgiB,GACvB,IAAImgiB,EAAwBngiB,EAAKogiB,kBAC7BA,OAA8C,IAA1BD,EAAmC,GAAKA,EAC5DE,EAAwBrgiB,EAAKsgiB,kBAC7BA,OAA8C,IAA1BD,GAA2CA,EAC/DE,EAAoBvgiB,EAAKvH,aACzBA,OAAqC,IAAtB8niB,EAA+B,KAAOA,EACrDC,EAAkBxgiB,EAAK0xO,WACvB+uT,EAAkBzgiB,EAAK0giB,WACvBC,EAAgB3giB,EAAK09B,SACrBkjgB,EAAqB5giB,EAAKw6X,cAC1BqmK,EAAmB7giB,EAAK8giB,YACxBC,EAAkB/giB,EAAKghiB,WACvBC,EAAajhiB,EAAKrI,MAClBupiB,EAAkB94M,EAAyBpoV,EAAM0uF,IAGjD0iQ,EAAa9H,IADDv/B,EAAAA,EAAAA,eAA6BlsT,IAApB2iiB,EAAgCA,EAAkBJ,GAChC,GACvCe,EAAkB/vM,EAAW,GAC7BgwM,EAAqBhwM,EAAW,GAGhC6Y,EAAa3gB,IADAv/B,EAAAA,EAAAA,eAA6BlsT,IAApB4iiB,EAAgCA,EAAkBH,GAChC,GACxCe,EAAkBp3L,EAAW,GAC7Bq3L,EAAqBr3L,EAAW,GAGhC6oE,EAAaxpF,IADAv/B,EAAAA,EAAAA,eAAwBlsT,IAAfojiB,EAA2BA,EAAaxoiB,GACtB,GACxC03a,EAAa2C,EAAW,GACxB1C,EAAgB0C,EAAW,GAE3Bp1Y,GAAW4rR,EAAAA,EAAAA,cAAY,SAAU3xT,EAAO4piB,GACb,oBAAlBZ,GACTA,EAAchpiB,EAAO4piB,GAGvBnxH,EAAcz4a,EAChB,GAAG,CAACgpiB,IACAnmK,GAAgBlxE,EAAAA,EAAAA,cAAY,SAAU3xT,EAAO4piB,GAC/C,IAAI9+e,EAE8B,oBAAvBm+e,IACTn+e,EAAWm+e,EAAmBjpiB,EAAO4piB,IAGvCH,OAAgCvjiB,IAAb4kD,EAAyBA,EAAW9qD,EACzD,GAAG,CAACipiB,IACAI,GAAa13O,EAAAA,EAAAA,cAAY,WACI,oBAApBy3O,GACTA,IAGFO,GAAmB,EACrB,GAAG,CAACP,IACAD,GAAcx3O,EAAAA,EAAAA,cAAY,WACI,oBAArBu3O,GACTA,IAGFS,GAAmB,EACrB,GAAG,CAACT,IACAnvT,OAAiC7zO,IAApB2iiB,EAAgCA,EAAkBW,EAC/DT,OAAiC7iiB,IAApB4iiB,EAAgCA,EAAkBY,EAC/D1piB,OAAuBkG,IAAfojiB,EAA2BA,EAAa9wH,EACpD,OAAOqxH,GAAeA,GAAe,CAAC,EAAGN,GAAkB,CAAC,EAAG,CAC7DxvT,WAAYA,EACZgvT,WAAYA,EACZhjgB,SAAUA,EACV88V,cAAeA,EACfsmK,YAAaA,EACbE,WAAYA,EACZrpiB,MAAOA,GAEX,CEvDwB8piB,CAAgB7riB,GACtC,OAAoBgsB,EAAAA,cAAoBq4F,IAAQ7zD,EAAAA,EAAAA,GAAS,CACvD/pD,IAAKA,GACJ6jiB,GACL,IAsCA,aC/CQ33I,SAAS,IAAIr4B,GAkBrB,MACMkhB,GAAW,UAcjBjuE,KAAAA,cAAoB,SAEpB,MAypBA,GAzpBiBvtU,IACf,MAAO8riB,EAAWC,IAAgB53O,EAAAA,EAAAA,UAAS,KACpC63O,EAAgBC,IAAqB93O,EAAAA,EAAAA,UAAS,YAC9C+3O,EAAgBC,IAAqBh4O,EAAAA,EAAAA,UAAS,KAC9Ci4O,EAAYC,IAAiBl4O,EAAAA,EAAAA,UAAS,KACtCm4N,EAAWC,IAAgBp4N,EAAAA,EAAAA,UAAS,KACpCm4O,EAAgBC,IAAqBp4O,EAAAA,EAAAA,UAAS,KAC9Cq4N,EAASC,IAAct4N,EAAAA,EAAAA,UAAS,KAChCw4N,EAAKC,IAAUz4N,EAAAA,EAAAA,UAAS,KACxB5wR,EAAYipgB,IAAiBr4O,EAAAA,EAAAA,UAAS,aACtC+M,GAAQqrE,GAAK/xC,WACb4xL,EAASC,IAAcl4N,EAAAA,EAAAA,UAAS,OACjC,KAAE1oT,EAAI,eAAEuhhB,EAAc,MAAEn5gB,GtBvBjB,SAAsB9G,GACpC,IADyC+N,EAAOtb,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,KAAMiO,EAAMjO,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,OAAQ6Y,EAAW7Y,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,mBAAoB6xc,EAAQ7xc,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,KAAM8xc,EAAkB9xc,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,KAE/I,MAAOiM,EAAMof,IAAWspS,EAAAA,EAAAA,UAAS,OAC1B64N,EAAgBC,IAAsB94N,EAAAA,EAAAA,UAAS,OAC/CtgT,EAAOq5gB,IAAY/4N,EAAAA,EAAAA,UAAS,OAC5B/nT,EAAS+ghB,IAAch5N,EAAAA,EAAAA,UAAS,MAkEvC,OAjEA+8I,IAAgB,KACZvzb,QAAQymC,IAAI,uBAAwBr3C,GACpC4Q,QAAQymC,IAAI,2BAA4BtpC,GAGxC,MAAMsygB,EAAY,IAAIC,gBACtB,OAAW,OAARtghB,GACC4Q,QAAQymC,IAAI,8CACZ6oe,GAAkB,KAGtBA,GAAkB,GAClBtvgB,QAAQymC,IAAI,4CACS,MAAlBtpC,EAAQlT,SACP+V,QAAQymC,IAAI,wDAAyDtpC,GACrE9K,KAAM,CACFvC,OAAQA,EACRX,QAASC,EACTtB,KAAMqP,EACNnP,QAASylc,GAAc/4b,EAAYg5b,EAASC,KAC7Cjgc,MAAMlE,IAEL8/gB,GAAkB,GACY,MAA3B9/gB,EAAS1B,KAAK+wU,WACb3xT,EAAQ,MACRoigB,GAAkB,GAClBC,EAASr5gB,GACT8J,QAAQymC,IAAI,uCACZx8C,GAAQiM,MAAM,0BAGdgX,EAAQ1d,EAAS1B,MACjByhhB,EAAS,MACTvvgB,QAAQymC,IAAI,YAAatpC,GACzB6C,QAAQymC,IAAI,mBAAoBtpC,EAAQ7b,QACxC2I,GAAQiiB,QAAQ,+BAChBsjgB,EAAWhghB,EAAShC,QACxB,IAEDyoE,OAAO//D,IAEN8J,QAAQymC,IAAIvwC,GAIRo5gB,GAAkB,GAClBC,EAASr5gB,GACT8J,QAAQymC,IAAI,uCACZx8C,GAAQiM,MAAM,uBAAuB,KAM7C8J,QAAQymC,IAAI,oBAAqBtpC,GAI9B,IAAMsygB,EAAU79gB,QAAO,GAC/B,CAACxC,EAAK+N,IAET6C,QAAQymC,IAAI,SAAS34C,GACrBkS,QAAQymC,IAAI,qBAAqB4oe,GACjCrvgB,QAAQymC,IAAI,UAAUvwC,GACtB8J,QAAQymC,IAAI,YAAYh4C,GACjB,CAAEX,OAAMuhhB,iBAAgBn5gB,QAAOzH,UAC1C,CsBjD0CqgiB,CACtC76F,GACAw6E,EACA,OACA,oBAGF,MAAOsgB,EAAaC,IAAax4O,EAAAA,EAAAA,WAAS,IACnCy4O,EAAWC,IAAgB14O,EAAAA,EAAAA,WAAS,IACpC24O,EAAUC,IAAa54O,EAAAA,EAAAA,UAAS,CAAC,IACjC64O,EAAWC,IAAgB94O,EAAAA,EAAAA,UAAS,mBACpC+4O,EAAUC,IAAeh5O,EAAAA,EAAAA,UAAS,KAClCi3N,EAAYgiB,IAAiBj5O,EAAAA,EAAAA,UAAS,KAEtCk5O,EAAUC,IAAen5O,EAAAA,EAAAA,UAAS,KAClCo5O,EAAUC,IAAer5O,EAAAA,EAAAA,UAAS,KAClCs5O,EAAOC,IAAYv5O,EAAAA,EAAAA,UAAS,IA0BnCt4S,OAAO1M,iBACL,cACAu6D,eAAgB3oE,GACd,IAAIyrhB,EAAUzrhB,EAAEq9S,OAAOt7S,GACnB0qhB,EAAMzshB,EAAEq9S,OAAOovO,IACf8e,EAAiBvriB,EAAEq9S,OAAOkuP,eAE9B7f,EAAWD,GACXI,EAAOY,GACP+e,EAAkBD,EACpB,IACA,GAWFp7F,IAAgB,KAGd,GAFAvzb,QAAQymC,IAAI,qBAERgof,EAAWntiB,OAAS,EAKtB,OAJA0e,QAAQymC,IAAI,gDACZzmC,QAAQymC,IAAI,SAAU34C,GACtBkS,QAAQymC,IAAI,UAAWvwC,GAEW,OAAVA,GACtB,KAAa,EACX8J,QAAQymC,IAAI,qBACZzmC,QAAQymC,IAAI,YAEZ88Q,EAAKqiB,eAAe,CAClB37U,QAAS,KAEX,MACF,KAAY,EACV+V,QAAQymC,IAAI,qBAEZ88Q,EAAKqiB,eAAe,CAClB37U,QAAS,KAEX,MACF,QAEEs5T,EAAKqiB,eAAe,CAClB37U,QAAS,KAIjB,GACC,CAACiM,EAAOpI,KAEXmoT,EAAAA,EAAAA,YAAU,KAUR,GATAy4O,EAAcrsiB,EAAMythB,gBACpBlB,EAAavshB,EAAMsshB,WACnB3ugB,QAAQymC,IACN,iEAEFzmC,QAAQymC,IAAI,wBAAyBpkD,EAAMythB,gBAIvCzthB,EAAMythB,eAAexuhB,OAAS,GAA2B,GAAtBe,EAAM0thB,aAAuB,CAClE/vgB,QAAQymC,IACN,+EAEFzmC,QAAQymC,IAAI,YAAapkD,EAAMythB,gBAC/B9vgB,QAAQymC,IAAI,YAAagof,GACzBzuhB,QAAQymC,IAAI,oBAAqB88Q,EAAKyhB,cAAc64D,KAEpD,IACEt6E,EAAKqiB,eAAe,CAClBoqN,MAAO3tiB,EAAMythB,gBAEjB,CAAE,MAAO55gB,GACP8J,QAAQymC,IAAI,aAAcvwC,EAC5B,CACF,KAAO,CACL8J,QAAQymC,IAAI,4CACZ,IACE88Q,EAAKqiB,eAAe,CAClBoqN,MAAO,GACP/liB,QAAS,IAEb,CAAE,MAAOiM,GACP8J,QAAQymC,IAAI,aAAcvwC,EAC5B,CAEA,IAAI43C,EAAQ,IAAImie,YAAY,iBAAkB,CAC5CxvO,OAAQ,CAAEsvO,aAAc,MAE1B7xgB,OAAOygS,cAAc7wP,EACvB,IACC,CAACzrD,EAAMythB,eAAgBzthB,EAAM0thB,aAAc1thB,EAAMsshB,YAMpD,MAmEMshB,EAAoB7siB,IACxB,IAAI8siB,EAAkB9siB,EAAEqV,OAAOrU,MAC/BqriB,EAAcS,GACd,IAAIC,EAAiB5B,EAAejlZ,UAAU,EAAGilZ,EAAerqiB,QAAQ,oBAAsBgsiB,EAAkB,IAAM3B,EAAejlZ,UAAUilZ,EAAerqiB,QAAQ,MAAQ,GAC9K8b,QAAQymC,IAAI0pf,GAEZ5sO,EAAKqiB,eAAe,CAClB37U,QAASkmiB,GACT,EAIEC,EAAkBhtiB,IACtB,IAAI8siB,EAAkB9siB,EAAEqV,OAAOrU,MAC/BuriB,EAAYO,EAAgB,EAUxBG,EAAkBjtiB,IACtB,IAAI8siB,EAAkB9siB,EAAEqV,OAAOrU,MAC/ByriB,EAAYK,GACZ,IAAIC,EAAiB5B,EAAejlZ,UAAU,EAAGilZ,EAAerqiB,QAAQ,oBAAsBwriB,EAAWnB,EAAejlZ,UAAUilZ,EAAerqiB,QAAQ,MAAQ,EAAGqqiB,EAAerqiB,QAAQ,oBAAsBgsiB,EAAkB,IAAM3B,EAAejlZ,UAAUilZ,EAAerqiB,QAAQ,MAAQ,GACjS8b,QAAQymC,IAAI0pf,GAEZ5sO,EAAKqiB,eAAe,CAClB37U,QAASkmiB,GACT,EA+CJ,SAASG,EAASjuiB,GAChB,MAAOkuiB,EAAcC,IAAmBh6O,EAAAA,EAAAA,YAwBxC,OACE61N,EAAAA,EAAAA,MAAAokB,EAAAA,SAAA,CAAAjriB,SAAA,EACEq6U,EAAAA,EAAAA,KAAA,SACEzvQ,KAAK,WAEL/kE,KAAK,UACL6/B,YAAamkgB,EACbllgB,SA9BN,SAAsB2jB,GACpB,MAAM,MAAE1pD,GAAU0pD,EAAMr1C,OACxBuH,QAAQymC,IAAI,0BAIZ,MAAMiqf,EAAUruiB,EAAMsuiB,SAAShthB,MAAMxP,GAAMA,EAAE9I,OAASjH,IAGtD,GAFA4b,QAAQymC,IAAI,kBAAmBiqf,QAEfpmiB,IAAZomiB,EAAuB,CAEzBF,EAAgBE,EAAQtsiB,OACxBkriB,EAAaoB,EAAQtsiB,OACrBoriB,EAAYkB,EAAQlqT,MACpB,IAAIoqT,EAAc,oBAAsBF,EAAQtsiB,MAAQ,uBAAyBssiB,EAAQlqT,KAAO,IAChG+8E,EAAKqiB,eAAe,CAClB37U,QAAS2miB,IAEX5whB,QAAQymC,IAAI,kBAAmBiqf,EAAQtsiB,OACvC4b,QAAQymC,IAAI,iBAAkBiqf,EAAQlqT,KACxC,CACF,KAWIq5F,EAAAA,EAAAA,KAAA,YAAU16U,GAAG,WAAUK,SACpBnD,EAAMsuiB,SAASzthB,KAAKwthB,IACnB7wN,EAAAA,EAAAA,KAAA,UAEE,aAAY6wN,EAAQtsiB,MACpBA,MAAOssiB,EAAQrliB,MAFVqliB,EAAQtsiB,aAQzB,CAEA,OACEy7U,EAAAA,EAAAA,KAACukH,GAAI,CAACvwU,MAAM,GAAG8uU,WAAS,EAAAn9b,UACtB6mhB,EAAAA,EAAAA,MAACz9I,GAAI,CACHnsW,SAAU4sf,EACV9rN,KAAMA,EACN+5E,OAAO,WACPx2E,SAtUWA,KACf,GAAI2nO,EAAWntiB,OAAS,GAAKiiU,EAAKyhB,cAAc64D,IAAUv8Y,OAAS,EAAG,CACpE0e,QAAQymC,IAAI,mBAAoB88Q,EAAKyhB,cAAc64D,KAEnD,IAAIgzJ,EAAa,CACfb,MAAOvB,EACP9f,UAAWA,EACX1khB,QAASs5T,EAAKyhB,cAAc64D,IAC5BgxI,QAASA,EACTgB,IAAKb,GAEPN,EAAWmiB,GACXttO,EAAKqiB,eAAe,CAClB37U,QAAS,KAEXwliB,EAAc,IACdE,EAAY,IACZE,EAAY,IACZE,EAAS,IACT/vhB,QAAQymC,IAAI,eAAgB88Q,GAC5BvjT,QAAQymC,IAAI,gBAAiBoqf,EAC/B,GAkTIt1M,eAxMiBA,KACrBtxV,GAAQiM,MAAM,+BAA+B,EAwMzC0mX,aAAa,MAAKp3X,SAAA,EAElBq6U,EAAAA,EAAAA,KAAC+uD,GAAKttW,KAAI,CACRj2B,KA1XI,QA2XJ0+B,MAAM,eACNqnB,MAAO,CACL,CACEysM,UAAU,EACV/8O,QAAS+yb,GAAMC,gBACf7pc,QAAS,KAEXzE,UAEFq6U,EAAAA,EAAAA,KAAC88C,GAAK,CAACxyV,SAhFY/mC,IACzBsriB,EAActriB,EAAEqV,OAAOrU,OACvBm/T,EAAKqiB,eAAe,CAClBoqN,MAAO5siB,EAAEqV,OAAOrU,OAChB,EA4EwC8mC,YAAY,oBAElD20S,EAAAA,EAAAA,KAAC+uD,GAAKttW,KAAI,CAAA97B,UACRq6U,EAAAA,EAAAA,KAACwxH,GAAS,CACR/wE,OAAK,EACL9oX,QAAS,CAAC,UAAW,YAAa,OAAQ,KAAM,UAChD2yB,SA/EmB/mC,IAC3B4c,QAAQymC,IAAIrjD,GACZkriB,EAAkBlriB,EAAE,OAiFhBy8U,EAAAA,EAAAA,KAACn5N,GAAM,CACLx7E,YAAY,0CACZ1zB,QACoB,WAAlB62hB,EACI78gB,GACkB,aAAlB68gB,EACE5G,GACkB,QAAlB4G,EACE3G,GACkB,MAAlB2G,EACE1G,GACAC,GAEZxjiB,MAAOmqiB,EAEPpkgB,SAxHc/mC,IACpB4c,QAAQymC,IAAI,cAAerjD,GAC3BgsiB,EAAUhsiB,GACV8riB,GAAa,GACbV,EAAkBpriB,EAAEgB,OACpBm/T,EAAKqiB,eAAe,CAClB37U,QAAS7G,EAAEgB,OACX,EAkHI0siB,cAAe,MAEE,UAAlBzC,EAEG,6EADFE,GACmG,4FAAlBA,GAC/EliB,EAAAA,EAAAA,MAAAokB,EAAAA,SAAA,CAAAjriB,SAAA,EACEq6U,EAAAA,EAAAA,KAAA,SAAOh0U,MAAO,CAAEg7D,UAAW,OAAQq0F,aAAc,OAAQ11J,SACtD+oiB,KAEH1uN,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,YAAUh0U,MAAO,CAAEqvJ,aAAc,QAAU/wH,SA7MjC/mC,IACpB,IAAI8siB,EAAkB9siB,EAAEqV,OAAOrU,MAC3B+riB,EAAiB5B,EAAiB,KAAO2B,EAC7ClwhB,QAAQymC,IAAI0pf,GACZjB,GAAa,GACb3rO,EAAKqiB,eAAe,CAClB37U,QAASkmiB,GACT,EAsM2E9kiB,KAAK,cAAcutZ,KAAM,EAAGz4E,KAAM,QA8CvG,kEADFouN,GACwF,sFAAlBA,GACpEliB,EAAAA,EAAAA,MAAAokB,EAAAA,SAAA,CAAAjriB,SAAA,EACEq6U,EAAAA,EAAAA,KAAA,SAAOh0U,MAAO,CAAEg7D,UAAW,OAAQq0F,aAAc,OAAQ11J,SACtD+oiB,KAEH1uN,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,YAAUh0U,MAAO,CAAEqvJ,aAAc,QAAU/wH,SAtP7B/mC,IACxB,IAAI8siB,EAAkB9siB,EAAEqV,OAAOrU,MAC3B+riB,EAAiB5B,EAAiB,KAAO2B,EAC7ClwhB,QAAQymC,IAAI0pf,GACZjB,GAAa,GACb3rO,EAAKqiB,eAAe,CAClB37U,QAASkmiB,GACT,EA+O+E9kiB,KAAK,cAAcutZ,KAAM,EAAGz4E,KAAM,QAIzF,qEAAlBouN,GAA2G,8EAAlBA,GAGrF1uN,EAAAA,EAAAA,KAAA4wN,EAAAA,SAAA,CAAAjriB,UAKE6mhB,EAAAA,EAAAA,MAAC72E,GAAK,CAAC3pc,MAAO,CAAEg7D,UAAW,OAAQq0F,aAAc,QAAS11J,SAAA,EACxDq6U,EAAAA,EAAAA,KAAA,SAAAr6U,SAAO,sBACPq6U,EAAAA,EAAAA,KAACywN,EAAQ,CAACK,SAAU9I,MASpBhoN,EAAAA,EAAAA,KAAA,SAAAr6U,SAAO,uBAEPq6U,EAAAA,EAAAA,KAACm1E,GAAQ,CAACvyX,UAAU,EAAMm2X,KAAM,EAAG/sZ,MAAO,CAAE43K,SAAU,OAASv4I,YAAaqkgB,SAgBlFhB,EAAez1gB,SAAS,gEAAkEy1gB,EAAez1gB,SAAS,+EAiBhHy1gB,EAAez1gB,SAAS,kCAAoCy1gB,EAAez1gB,SAAS,qCAkBlFy1gB,EAAez1gB,SAAS,mCAAqCy1gB,EAAez1gB,SAAS,uDAhCrF+mT,EAAAA,EAAAA,KAAA4wN,EAAAA,SAAA,CAAAjriB,UAIE6mhB,EAAAA,EAAAA,MAAC72E,GAAK,CAAC3pc,MAAO,CAAEg7D,UAAW,OAAQq0F,aAAc,QAAS11J,SAAA,EACxDq6U,EAAAA,EAAAA,KAAA,SAAAr6U,SAAQ+oiB,EAAejlZ,UAAU,EAAGilZ,EAAerqiB,QAAQ,uBAC3D27U,EAAAA,EAAAA,KAAA,YAAUh0U,MAAO,CAAEqvJ,aAAc,QAAU92J,MAAOqphB,EAAYtjf,SAAU8lgB,EAAkB5kiB,KAAK,cAAcutZ,KAAM,EAAGz4E,KAAM,MAC5HN,EAAAA,EAAAA,KAAA,SAAAr6U,SAAQ+oiB,EAAejlZ,UAAUilZ,EAAerqiB,QAAQ,MAAQ,UA2ClEqqiB,EAAez1gB,SAAS,+CAAiDy1gB,EAAez1gB,SAAS,6CAG7F+mT,EAAAA,EAAAA,KAAA4wN,EAAAA,SAAA,CAAAjriB,UAIE6mhB,EAAAA,EAAAA,MAAC72E,GAAK,CAAC3pc,MAAO,CAAEg7D,UAAW,OAAQq0F,aAAc,QAAS11J,SAAA,EACxDq6U,EAAAA,EAAAA,KAAA,SAAAr6U,SAAQ+oiB,EAAejlZ,UAAU,EAAGilZ,EAAerqiB,QAAQ,uBAC3D27U,EAAAA,EAAAA,KAAA,YAAUh0U,MAAO,CAAEqvJ,aAAc,QAAU92J,MAAOsriB,EAAUvlgB,SAAUimgB,EAAgB/kiB,KAAK,cAAcutZ,KAAM,EAAGz4E,KAAM,MACxHN,EAAAA,EAAAA,KAAA,SAAAr6U,SAAQ+oiB,EAAejlZ,UAAUilZ,EAAerqiB,QAAQ,MAAQ,EAAGqqiB,EAAerqiB,QAAQ,uBAC1F27U,EAAAA,EAAAA,KAAA,YAAUh0U,MAAO,CAAEqvJ,aAAc,QAAU92J,MAAOwriB,EAAUzlgB,SAAUkmgB,EAAgBhliB,KAAK,cAAcutZ,KAAM,EAAGz4E,KAAM,MACxHN,EAAAA,EAAAA,KAAA,SAAAr6U,SAAQ+oiB,EAAejlZ,UAAUilZ,EAAerqiB,QAAQ,MAAQ,UAQtEqqiB,EAAez1gB,SAAS,yCAA2Cy1gB,EAAez1gB,SAAS,uCAGvF+mT,EAAAA,EAAAA,KAAA4wN,EAAAA,SAAA,CAAAjriB,UAIE6mhB,EAAAA,EAAAA,MAAC72E,GAAK,CAAC3pc,MAAO,CAAEg7D,UAAW,OAAQq0F,aAAc,QAAS11J,SAAA,EACxDq6U,EAAAA,EAAAA,KAAA,SAAAr6U,SAAQ+oiB,EAAejlZ,UAAU,EAAGilZ,EAAerqiB,QAAQ,uBAC3D27U,EAAAA,EAAAA,KAAA,YAAUh0U,MAAO,CAAEqvJ,aAAc,QAAU92J,MAAOsriB,EAAUvlgB,SAAUimgB,EAAgB/kiB,KAAK,cAAcutZ,KAAM,EAAGz4E,KAAM,MACxHN,EAAAA,EAAAA,KAAA,SAAAr6U,SAAQ+oiB,EAAejlZ,UAAUilZ,EAAerqiB,QAAQ,MAAQ,EAAGqqiB,EAAerqiB,QAAQ,uBAC1F27U,EAAAA,EAAAA,KAAA,YAAUh0U,MAAO,CAAEqvJ,aAAc,QAAU92J,MAAOwriB,EAAUzlgB,SAAUkmgB,EAAgBhliB,KAAK,cAAcutZ,KAAM,EAAGz4E,KAAM,UAS9HouN,EAAez1gB,SAAS,mBAAqBy1gB,EAAez1gB,SAAS,uBAGjE+mT,EAAAA,EAAAA,KAAA4wN,EAAAA,SAAA,CAAAjriB,UAIE6mhB,EAAAA,EAAAA,MAAC72E,GAAK,CAAC3pc,MAAO,CAAEg7D,UAAW,OAAQq0F,aAAc,QAAS11J,SAAA,EACxDq6U,EAAAA,EAAAA,KAAA,SAAAr6U,SAAQ+oiB,EAAejlZ,UAAU,EAAGilZ,EAAerqiB,QAAQ,uBAC3D27U,EAAAA,EAAAA,KAAA,YAAUh0U,MAAO,CAAEqvJ,aAAc,QAAUhwH,YAAY,aAAa9mC,MAAOsriB,EAAUvlgB,SAAUimgB,EAAgB/kiB,KAAK,cAAcutZ,KAAM,EAAGz4E,KAAM,MACjJN,EAAAA,EAAAA,KAAA,SAAAr6U,SAAQ+oiB,EAAejlZ,UAAUilZ,EAAerqiB,QAAQ,MAAQ,EAAGqqiB,EAAerqiB,QAAQ,cAAoB,MAC9G27U,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,YAAUh0U,MAAO,CAAEqvJ,aAAc,QAAUhwH,YAAY,cAAc9mC,MAAO0riB,EAAO3lgB,SAvV5F/mC,IACnB,IAAI8siB,EAAkB9siB,EAAEqV,OAAOrU,MAC/B2riB,EAASG,GACT,IAAIC,EAAiB5B,EAAejlZ,UAAU,EAAGilZ,EAAerqiB,QAAQ,oBAAsBwriB,EAAWnB,EAAejlZ,UAAUilZ,EAAerqiB,QAAQ,MAAQ,EAAGqqiB,EAAerqiB,QAAQ,YAAc,OAASgsiB,EAClNlwhB,QAAQymC,IAAI0pf,GAEZ5sO,EAAKqiB,eAAe,CAClB37U,QAASkmiB,GACT,EA+UoI9kiB,KAAK,cAAcutZ,KAAM,EAAGz4E,KAAM,WAShJN,EAAAA,EAAAA,KAAA4wN,EAAAA,SAAA,CAAAjriB,UACEq6U,EAAAA,EAAAA,KAAC21H,GAAK,CAAC3pc,MAAO,CAAEg7D,UAAW,OAAQq0F,aAAc,QAAS11J,UACxDq6U,EAAAA,EAAAA,KAAA,SAAAr6U,SAAO,wCAK7Bq6U,EAAAA,EAAAA,KAAA4wN,EAAAA,SAAA,CAAAjriB,UACEq6U,EAAAA,EAAAA,KAAC+uD,GAAKttW,KAAI,CACRj2B,KAAMwyY,GACNzsV,MAAO,CACL,CACEysM,UAAU,IAEZr4P,UAEFq6U,EAAAA,EAAAA,KAACm1E,GAAQ,CAACvyX,UAAU,EAAMm2X,KAAM,EAAG1tX,YAAa,UAKtD20S,EAAAA,EAAAA,KAAC+uD,GAAKttW,KAAI,CAAA97B,UACR6mhB,EAAAA,EAAAA,MAAC72E,GAAK,CAAAhwc,SAAA,EACJq6U,EAAAA,EAAAA,KAACr+S,GAAM,CAAC34B,KAAK,UAAUihZ,SAAS,SAAQtkZ,SAAC,YAMzCq6U,EAAAA,EAAAA,KAACr+S,GAAM,CAACsoX,SAAS,SAAShiX,QAlepBurd,KACd+7C,EAAU,CAAC,GACXI,EAAY,IACZF,EAAa,IACbd,EAAkB,IAClBU,GAAa,GACb3rO,EAAKqiB,eAAe,CAClBoqN,MAAO,GACP/liB,QAAS,IACT,EAydiDzE,SAAC,UAG3CypiB,GACCpvN,EAAAA,EAAAA,KAAA4wN,EAAAA,SAAA,CAAAjriB,UACEq6U,EAAAA,EAAAA,KAACr+S,GAAM,CAACsoX,SAAS,SAAShiX,QA3dtBipgB,KACA,MAAZ5B,IACFD,GAAa,GACbO,EAAc,IACdD,EAAY,IACZF,EAAa,IACbd,EAAkBW,EAAS/qiB,OAC3Bm/T,EAAKqiB,eAAe,CAClB37U,QAASkliB,EAAS/qiB,QAEtB,EAidyDoB,SAAC,4BAKhDq6U,EAAAA,EAAAA,KAAA4wN,EAAAA,SAAA,CAAAjriB,UACEq6U,EAAAA,EAAAA,KAACr+S,GAAM,CAACsoX,SAAS,SAAShiX,QArdtBkpgB,KACA,MAAZ7B,IACFD,GAAa,GACbO,EAAc,IACdD,EAAY,IACZF,EAAa,IACbd,EAAkBW,EAAS3H,cAC3BjkO,EAAKqiB,eAAe,CAClB37U,QAASkliB,EAAS3H,eAEtB,EA2cyDhiiB,SAAC,oCAQnD,EC5sBEyriB,GAAgB,CACzB,CACI7siB,MAAO,YACPiH,KAAM,aAEV,CACIjH,MAAO,cACPiH,KAAM,eAEV,CACIjH,MAAO,aACPiH,KAAM,cAEV,CACIjH,MAAO,WACPiH,KAAM,YAEV,CACIjH,MAAO,eACPiH,KAAM,gBAEV,CACIjH,MAAO,YACPiH,KAAM,aAEV,CACIjH,MAAO,cACPiH,KAAM,eAEV,CACIjH,MAAO,qBACPiH,KAAM,8BC/BD6liB,GAAmB,CAC5B,CACI9siB,MAAO,YACPiH,KAAM,aAEV,CACIjH,MAAO,YACPiH,KAAM,cCDd,SAASooc,KAA4F,IAA9E/4b,EAAW7Y,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,mBAAoB6xc,EAAQ7xc,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,KAAM8xc,EAAkB9xc,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,KAC3F,OAAgD,OAAvB8xc,GACrB,KAAW,EACP,MAAO,CACH,eAAgBj5b,EAChB,YAAag5b,EACb,mBAAsBC,GAE9B,KAAY,EACR,MAAO,CACH,eAAgBj5b,EAChB,mBAAsBi5b,GAG9B,KAAW,EACP,MAAO,CACH,eAAgBj5b,EAChB,YAAag5b,GAErB,KAAY,EACZ,MAAO,CACH,eAAgBh5b,GAEpB,QACI,MAAO,CACH,eAAgBA,EAChB,YAAag5b,EACb,mBAAsBC,GAGtC,CAOe,SAASw9F,GAAe/hiB,GACtC,IAD2C+N,EAAOtb,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,KAAMiO,EAAMjO,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,OAAQ6Y,EAAW7Y,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,mBAAoB6xc,EAAQ7xc,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,KAAM8xc,EAAkB9xc,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,KAEjJ,MAAOiM,EAAMof,IAAWspS,EAAAA,EAAAA,UAAS,OAC1B64N,EAAgBC,IAAsB94N,EAAAA,EAAAA,UAAS,OAC/CtgT,EAAOq5gB,IAAY/4N,EAAAA,EAAAA,UAAS,OAC5B/nT,EAAS+ghB,IAAch5N,EAAAA,EAAAA,UAAS,MAmEvC,OAlEA+8I,IAAgB,KACZvzb,QAAQymC,IAAI,uBAAwBr3C,GACpC4Q,QAAQymC,IAAI,2BAA4BtpC,GACxC6C,QAAQymC,IAAI,YAAYgtZ,GAAc/4b,EAAag5b,EAAUC,IAE7D,MAAM87E,EAAY,IAAIC,gBACtB,OAAW,OAARtghB,GACC4Q,QAAQymC,IAAI,8CACZ6oe,GAAkB,KAGtBA,GAAkB,GAClBtvgB,QAAQymC,IAAI,4CACQ,MAAjBtpC,EAAQm+V,QAAkC,MAAjBn+V,EAAQqzD,OAChCxwD,QAAQymC,IAAI,wDAAyDtpC,GACrE9K,KAAM,CACFvC,OAAQA,EACRX,QAASC,EACTtB,KAAMqP,EACNnP,QAASylc,GAAc/4b,EAAYg5b,EAASC,KAC7Cjgc,MAAMlE,IAELwQ,QAAQymC,IAAI,kBAAmBj3C,EAAS1B,MACxCwhhB,GAAkB,GACY,MAA3B9/gB,EAAS1B,KAAK+wU,WACb3xT,EAAQ,MACRoigB,GAAkB,GAClBC,EAASr5gB,GAETjM,GAAQiM,MAAM,wBAGdgX,EAAQ1d,EAAS1B,MACjByhhB,EAAS,MACTvvgB,QAAQymC,IAAI,YAAatpC,GACzB6C,QAAQymC,IAAI,mBAAoBtpC,EAAQ7b,QACxC2I,GAAQiiB,QAAQ,0BAChBsjgB,EAAWhghB,EAAShC,QACxB,IAEDyoE,OAAO//D,IAEN8J,QAAQymC,IAAIvwC,GAIRo5gB,GAAkB,GAClBC,EAASr5gB,GACT8J,QAAQymC,IAAI,sBACZx8C,GAAQiM,MAAM,qBAAqB,KAM3C8J,QAAQymC,IAAI,oBAAqBtpC,GAI9B,IAAMsygB,EAAU79gB,QAAO,GAC/B,CAACxC,EAAK+N,IAET6C,QAAQymC,IAAI,SAAS34C,GACrBkS,QAAQymC,IAAI,qBAAqB4oe,GACjCrvgB,QAAQymC,IAAI,UAAUvwC,GACtB8J,QAAQymC,IAAI,YAAYh4C,GACjB,CAAEX,OAAMuhhB,iBAAgBn5gB,QAAOzH,UAC1C,CC/FA,MAAQumZ,SAAS,IAAIr4B,GAmBrB,MAAMkhB,GAAW,SACXuzJ,GAAY,QACZC,GAAe,eAcrBzhO,KAAAA,cAAoB,SAEpB,MA6iBA,GA7iBiBvtU,IACf,MAAO8riB,EAAWC,IAAgB53O,EAAAA,EAAAA,UAAS,KACpC63O,EAAgBC,IAAqB93O,EAAAA,EAAAA,UAAS,YAC9C+3O,EAAgBC,IAAqBh4O,EAAAA,EAAAA,UAAS,KAC9Ci4O,EAAYC,IAAiBl4O,EAAAA,EAAAA,UAAS,KACtC86O,EAAaC,IAAkB/6O,EAAAA,EAAAA,UAAS,KACxCg7O,EAAYC,IAAiBj7O,EAAAA,EAAAA,UAAS,KACtCm4N,EAAWC,IAAgBp4N,EAAAA,EAAAA,UAAS,KACpCm4O,EAAgBC,IAAqBp4O,EAAAA,EAAAA,UAAS,KAC9Cq4N,EAASC,IAAct4N,EAAAA,EAAAA,UAAS,KAChCw4N,EAAKC,IAAUz4N,EAAAA,EAAAA,UAAS,KACxB5wR,EAAYipgB,IAAiBr4O,EAAAA,EAAAA,UAAS,aACtC+M,GAAQqrE,GAAK/xC,WACb4xL,EAASC,IAAcl4N,EAAAA,EAAAA,UAAS,OACjC,KAAE1oT,EAAI,eAAEuhhB,EAAc,MAAEn5gB,GAAUi7hB,GACtCl9F,GACAw6E,EACA,OACA,oBAGF,MAAOsgB,EAAaC,IAAax4O,EAAAA,EAAAA,WAAS,IACnCy4O,EAAWC,IAAgB14O,EAAAA,EAAAA,WAAS,IACpC24O,EAAUC,IAAa54O,EAAAA,EAAAA,UAAS,CAAC,IACjCk7O,EAAaC,IAAkBn7O,EAAAA,EAAAA,WAAS,IACxCo7O,EAAcC,IAAmBr7O,EAAAA,EAAAA,WAAS,IAC1C64O,EAAWC,IAAgB94O,EAAAA,EAAAA,UAAS,iBACpCs7O,EAAiBC,IAAsBv7O,EAAAA,EAAAA,UAAS,cAChD+5O,EAAcC,IAAmBh6O,EAAAA,EAAAA,aACjC+4O,EAAUC,IAAeh5O,EAAAA,EAAAA,UAAS,KAClCi3N,EAAYgiB,IAAiBj5O,EAAAA,EAAAA,UAAS,KACtC31N,EAAYmxc,IAAiBx7O,EAAAA,EAAAA,UAAS,CAAC,CAC5Cx1H,IAAK,EACLnE,MAAO,EACP9C,KAAM,EACNk4W,GAAI,EACJnxW,OAAQ,EACRoxW,IAAK,EACLC,MAAO,EACP5lT,GAAG,KAiJLruO,OAAO1M,iBACL,cACAu6D,eAAgB3oE,GACd,IAAIyrhB,EAAUzrhB,EAAEq9S,OAAOt7S,GACnB0qhB,EAAMzshB,EAAEq9S,OAAOovO,IACf8e,EAAiBvriB,EAAEq9S,OAAOkuP,eAE9B7f,EAAWD,GACXI,EAAOY,GACP+e,EAAkBD,EACpB,IACA,GAGFp7F,IAAgB,KAGd,GAFAvzb,QAAQymC,IAAI,qBAER6qf,EAAYhwiB,OAAS,GAAKkwiB,EAAWlwiB,OAAS,EAKhD,OAJA0e,QAAQymC,IAAI,+CACZzmC,QAAQymC,IAAI,SAAU34C,GACtBkS,QAAQymC,IAAI,UAAWvwC,GAEW,OAAVA,GACtB,KAAa,EACX8J,QAAQymC,IAAI,qBACZzmC,QAAQymC,IAAI,YAEZ88Q,EAAKqiB,eAAe,CAClB01B,OAAQ,GACR9qS,MAAO,GACP4he,aAAc,YACdC,aAAa,IAEf,MACF,KAAY,EACVryhB,QAAQymC,IAAI,qBAEZ88Q,EAAKqiB,eAAe,CAClB01B,OAAQ,GACR9qS,MAAO,GACP4he,aAAc,YACdC,aAAa,IAEf,MACF,QAEE9uO,EAAKqiB,eAAe,CAClB01B,OAAQ,GACR9qS,MAAO,GACP4he,aAAc,YACdC,aAAa,IAIrB,GACC,CAACn8hB,EAAOpI,KAEXmoT,EAAAA,EAAAA,YAAU,KACHy7O,IAAeE,IAClBv/hB,KAAM,CACJvC,OAAQ,OACRX,QAAS8kc,GACTnmc,KAAM,CAAC,IACN4F,MAAMlE,IACP,IAAI8iiB,EAAY,GAChBA,EAAUrviB,KAAKuM,EAAS1B,MACxBkS,QAAQymC,IAAI,kCAAmC6rf,GAC/CN,EAAcM,EAAU,IAEvBr8d,OAAO//D,IACR8J,QAAQymC,IAAIvwC,EAAM,IAEpBy7hB,GAAe,GACfE,GAAgB,GAClB,GAEC,CAACH,EAAaE,KAEjB37O,EAAAA,EAAAA,YAAU,KAKR,GAJAj2S,QAAQymC,IACN,mCAGEpkD,EAAMythB,eAAexuhB,OAAS,GAA2B,GAAtBe,EAAM0thB,aAAuB,CAClE/vgB,QAAQymC,IACN,+EAEFzmC,QAAQymC,IAAI,YAAapkD,EAAMythB,gBAC/B9vgB,QAAQymC,IAAI,YAAagof,GACzBzuhB,QAAQymC,IAAI,oBAAqB88Q,EAAKyhB,cAAc64D,KAEpD,IACE79X,QAAQymC,IAAIpkD,EAAMythB,eACpB,CAAE,MAAO55gB,GACP8J,QAAQymC,IAAI,aAAcvwC,EAC5B,CACF,KAAO,CACL8J,QAAQymC,IAAI,4CACZ,IACE88Q,EAAKqiB,eAAe,CAClB01B,OAAQ,GACR9qS,MAAO,GACP4he,aAAc,YACdC,aAAa,GAEjB,CAAE,MAAOn8hB,GACP8J,QAAQymC,IAAI,aAAcvwC,EAC5B,CAEA,IAAI43C,EAAQ,IAAImie,YAAY,iBAAkB,CAC5CxvO,OAAQ,CAAEsvO,aAAc,MAE1B7xgB,OAAOygS,cAAc7wP,EACvB,IACC,CAACzrD,EAAMythB,eAAgBzthB,EAAM0thB,aAAc1thB,EAAMsshB,YAyCpD,SAAS4jB,EAAalwiB,GAqBpB,OApBA2d,QAAQymC,IAAI,wBAAyBpkD,IAqBnCgqhB,EAAAA,EAAAA,MAAAokB,EAAAA,SAAA,CAAAjriB,SAAA,EACEq6U,EAAAA,EAAAA,KAAA,SACEzvQ,KAAK,WAEL/kE,KAAK,UACL6/B,YAAa4mgB,EACb3ngB,SA1BN,SAA8B2jB,GAC5B,MAAM,MAAE1pD,GAAU0pD,EAAMr1C,OACxBuH,QAAQymC,IAAI,mCAGZ,MAAM59C,EAAOxG,EAAMwG,KAAK8a,MAAMxP,GAAMA,EAAE9I,OAASjH,IAC/C4b,QAAQymC,IAAI,wBAAyB59C,EAAKzE,YAI7BkG,IAATzB,IACFkpiB,EAAmBlpiB,EAAKzE,OAExBm/T,EAAKqiB,eAAe,CAClBwsN,aAAcvpiB,EAAKzE,QAGzB,KAWIy7U,EAAAA,EAAAA,KAAA,YAAU16U,GAAG,WAAUK,SACpBnD,EAAMwG,KAAKqa,KAAKra,IACfg3U,EAAAA,EAAAA,KAAA,UAEE,aAAYh3U,EAAKzE,MACjBA,MAAOyE,EAAKwC,MAFPxC,EAAKzE,aAQtB,CAIA,SAASksiB,GAASjuiB,GAuBhB,OAtBA2d,QAAQymC,IAAI,oBAAqBpkD,IAuB/BgqhB,EAAAA,EAAAA,MAAAokB,EAAAA,SAAA,CAAAjriB,SAAA,EACEq6U,EAAAA,EAAAA,KAAA,SACEzvQ,KAAK,WAEL/kE,KAAK,UACL6/B,YAAamkgB,EACbllgB,SA5BN,SAAsB2jB,GACpB,MAAM,MAAE1pD,GAAU0pD,EAAMr1C,OACxBuH,QAAQymC,IAAI,0BAGZ,MAAMiqf,EAAUruiB,EAAMsuiB,SAAShthB,MAAMxP,GAAMA,EAAE9I,OAASjH,IACtD4b,QAAQymC,IAAI,kBAAmBiqf,EAAQtsiB,YAIvBkG,IAAZomiB,IACFe,EAAcf,EAAQtsiB,OAEtBosiB,EAAgBE,EAAQtsiB,OACxBkriB,EAAaoB,EAAQtsiB,OACrBm/T,EAAKqiB,eAAe,CAClBp1Q,MAAOkge,EAAQtsiB,QAGrB,KAWIy7U,EAAAA,EAAAA,KAAA,YAAU16U,GAAG,WAAUK,SACpBnD,EAAMsuiB,SAASzthB,KAAKwthB,IACnB7wN,EAAAA,EAAAA,KAAA,UAEE,aAAY6wN,EAAQtsiB,MACpBA,MAAOssiB,EAAQrliB,MAFVqliB,EAAQtsiB,aAQzB,CAEA,OACEiohB,EAAAA,EAAAA,MAAA,OAAKxghB,MAAO,CAAEu0E,UAAW,QAASm7E,YAAa,OAAQC,aAAc,OAAQx/G,SAAU,QAASx2C,SAAA,EAE5Fq6U,EAAAA,EAAAA,KAAA,OAAKj8U,UAAU,gBAAe4B,UAC5Bq6U,EAAAA,EAAAA,KAACssD,GAAK,CAACtrS,WAAYA,EAAYs0M,QA1XvB,CACd,CACEthL,MAAO,YACPkjV,UAAW,MACXv1c,IAAK,OAEP,CACEqyH,MAAO,cACPkjV,UAAW,QACXv1c,IAAK,SAEP,CACEqyH,MAAO,aACPkjV,UAAW,OACXv1c,IAAK,QAEP,CACEqyH,MAAO,WACPkjV,UAAW,KACXv1c,IAAK,MAEP,CACEqyH,MAAO,eACPkjV,UAAW,SACXv1c,IAAK,UAEP,CACEqyH,MAAO,YACPkjV,UAAW,MACXv1c,IAAK,OAEP,CACEqyH,MAAO,cACPkjV,UAAW,QACXv1c,IAAK,SAEP,CACEqyH,MAAO,WACPkjV,UAAW,KACXv1c,IAAK,YAsVH6qhB,EAAAA,EAAAA,MAACz9I,GAAI,CACHnsW,SAAU4sf,EACV9rN,KAAMA,EACN+5E,OAAO,WACPx2E,SA1USA,KACf,IAAI+pO,EAAa,CACfv1L,OAAQ/3C,EAAKyhB,cAAc64D,IAC3BrtU,MAAO+yP,EAAKyhB,cAAcosN,IAC1BgB,aAAc7uO,EAAKyhB,cAAcqsN,IACjCgB,aAAa,EACbxjB,QAASA,EACTgB,IAAKb,EACLwjB,YAAa,SAIf,GADAxyhB,QAAQymC,IAAI,gBAAiBoqf,GAvBPv1L,KACtB,IAAIj7V,GAAS,EAIb,MAIO,QAAQnD,KAPQo+V,IAAWn4V,SAASm4V,IAAW,GAAKA,EAAOh6W,OAAS,IACzE+e,GAAS,GAEJA,CAAM,EAmBToyhB,CAAenB,IAAgBE,EAAWlwiB,OAAQ,CACpD0e,QAAQymC,IAAI,qBAAsB6qf,GAClCtxhB,QAAQymC,IAAI,qBAAsB+qf,GAE9BX,EAAa,CACfv1L,OAAQ/3C,EAAKyhB,cAAc64D,IAC3BrtU,MAAO+yP,EAAKyhB,cAAcosN,IAC1BgB,aAAc7uO,EAAKyhB,cAAcqsN,IACjCgB,aAAa,EACbxjB,QAASA,EACTgB,IAAKb,EACLwjB,YAAa,SAEf9jB,EAAWmiB,GACXU,EAAe,IACfE,EAAc,IACdnC,EAAa,gBACbkB,EAAgB,IAChBuB,EAAmB,aACnBxuO,EAAKqiB,eAAe,CAClB01B,OAAQ,GACR9qS,MAAO,GACP4he,aAAc,YACdC,aAAa,IAEfryhB,QAAQymC,IAAI,eAAgB88Q,GAC5BvjT,QAAQymC,IAAI,gBAAiBoqf,GAC7BgB,GAAgB,EAClB,GAmSMt2M,eAzIeA,KACrBtxV,GAAQiM,MAAM,+BAA+B,EAyIvC0mX,aAAa,MAAKp3X,SAAA,EAwClB6mhB,EAAAA,EAAAA,MAAC72E,GAAK,CAAC3pc,MAAO,CAAEg7D,UAAW,MAAOq0F,aAAc,QAAS11J,SAAA,CACnC,aAAnBssiB,GACCjyN,EAAAA,EAAAA,KAAA4wN,EAAAA,SAAA,CAAAjriB,UACEq6U,EAAAA,EAAAA,KAAA,SAAAr6U,SAAO,cAGTq6U,EAAAA,EAAAA,KAAA4wN,EAAAA,SAAA,CAAAjriB,UACEq6U,EAAAA,EAAAA,KAAA,SAAAr6U,SAAO,gBA4BXq6U,EAAAA,EAAAA,KAAC0yN,EAAY,CAAC1piB,KAAMqoiB,MACpBrxN,EAAAA,EAAAA,KAAA,SAAAr6U,SAAO,mBACPq6U,EAAAA,EAAAA,KAACywN,GAAQ,CAACK,SAAUM,KACA,aAAnBa,GACCjyN,EAAAA,EAAAA,KAAA4wN,EAAAA,SAAA,CAAAjriB,UACEq6U,EAAAA,EAAAA,KAAA,SAAAr6U,SAAO,UAGTq6U,EAAAA,EAAAA,KAAA4wN,EAAAA,SAAA,CAAAjriB,UACEq6U,EAAAA,EAAAA,KAAA,SAAAr6U,SAAO,UAIXq6U,EAAAA,EAAAA,KAACm1E,GAAQ,CAAC5wZ,MAAOktiB,EAAanngB,SA5MlB/mC,IACpBmuiB,EAAenuiB,EAAEqV,OAAOrU,OACxB,IAAI8riB,EAAkB9siB,EAAEqV,OAAOrU,MAC/B4b,QAAQymC,IAAI,YAAaypf,GACzB,IAAIC,EAAiB5B,EAAiB,KAAO2B,EAC7ClwhB,QAAQymC,IAAI0pf,GACZjB,GAAa,GACb3rO,EAAKqiB,eAAe,CAClB01B,OAAQ40L,GACR,EAmM4Dt3I,KAAM,EAAG/sZ,MAAO,CAAE43K,SAAU,OAASv4I,YAAa,sBAG1G20S,EAAAA,EAAAA,KAAC+uD,GAAKttW,KAAI,CAAA97B,UACR6mhB,EAAAA,EAAAA,MAAC72E,GAAK,CAAAhwc,SAAA,EACJq6U,EAAAA,EAAAA,KAACr+S,GAAM,CAAC34B,KAAK,UAAUihZ,SAAS,SAAQtkZ,SAAC,YAMzCq6U,EAAAA,EAAAA,KAACr+S,GAAM,CAACsoX,SAAS,SAAShiX,QAzOtBurd,KACd+7C,EAAU,CAAC,GACXmC,EAAe,IACfE,EAAc,IACdjC,EAAY,IACZF,EAAa,IACbyC,EAAmB,aACnBvD,EAAkB,IAClBU,GAAa,GACb3rO,EAAKqiB,eAAe,CAClB01B,OAAQ,GACR9qS,MAAO,GACP4he,aAAc,YACdC,aAAa,GACb,EA2NmD7siB,SAAC,WAG5Cq6U,EAAAA,EAAAA,KAACr+S,GAAM,CAACsoX,SAAS,SAAShiX,QAvYhB4qgB,KAEpB1yhB,QAAQymC,IAAI,qBAAsB6qf,GAClCtxhB,QAAQymC,IAAI,qBAAsB+qf,GAElC,IAAIX,EAAa,CACfv1L,OAAQ/3C,EAAKyhB,cAAc64D,IAC3BrtU,MAAO+yP,EAAKyhB,cAAcosN,IAC1BgB,aAAc,YACdC,aAAa,EACbxjB,QAASA,EACTgB,IAAKb,EACLwjB,YAAa,SAEf9jB,EAAWmiB,GACXU,EAAe,IACfE,EAAc,IACdnC,EAAa,gBACbkB,EAAgB,IAChBuB,EAAmB,aACnBxuO,EAAKqiB,eAAe,CAClB01B,OAAQ,GACR9qS,MAAO,GACP4he,aAAc,YACdC,aAAa,IAEfryhB,QAAQymC,IAAI,eAAgB88Q,GAC5BvjT,QAAQymC,IAAI,gBAAiBoqf,GAC7BgB,GAAgB,EAAK,EA2WsCrsiB,SAAC,sBAGlDq6U,EAAAA,EAAAA,KAACr+S,GAAM,CAACsoX,SAAS,SAAShiX,QAASA,KAAQ+pgB,GAAgB,EAAK,EAAGrsiB,SAAC,oCAOxE,EC9lBV,SAASiuc,KAA4F,IAA9E/4b,EAAW7Y,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,mBAAoB6xc,EAAQ7xc,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,KAAM8xc,EAAkB9xc,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,KAC3F,OAAgD,OAAvB8xc,GACrB,KAAW,EACP,MAAO,CACH,eAAgBj5b,EAChB,YAAag5b,EACb,mBAAsBC,GAE9B,KAAY,EACR,MAAO,CACH,eAAgBj5b,EAChB,mBAAsBi5b,GAG9B,KAAW,EACP,MAAO,CACH,eAAgBj5b,EAChB,YAAag5b,GAErB,KAAY,EACZ,MAAO,CACH,eAAgBh5b,GAEpB,QACI,MAAO,CACH,eAAgBA,EAChB,YAAag5b,EACb,mBAAsBC,GAGtC,CCdA,MAAQ3+C,SAAS,IAAIr4B,GAmBrB,MAAMkhB,GAAW,eAEX80J,GAAmB,mBAczB/iO,KAAAA,cAAoB,SAEpB,MA4VA,GA5VuBvtU,IACrB,MAAO8riB,EAAWC,IAAgB53O,EAAAA,EAAAA,UAAS,KACpC63O,EAAgBC,IAAqB93O,EAAAA,EAAAA,UAAS,YAC9C+3O,EAAgBC,IAAqBh4O,EAAAA,EAAAA,UAAS,KAC9Ci4O,EAAYC,IAAiBl4O,EAAAA,EAAAA,UAAS,KACtCo8O,EAAmBC,IAAwBr8O,EAAAA,EAAAA,UAAS,KACpDm4N,EAAWC,IAAgBp4N,EAAAA,EAAAA,UAAS,KACpCm4O,EAAgBC,IAAqBp4O,EAAAA,EAAAA,UAAS,KAC9Cq4N,EAASC,IAAct4N,EAAAA,EAAAA,UAAS,KAChCw4N,EAAKC,IAAUz4N,EAAAA,EAAAA,UAAS,KACxB5wR,EAAYipgB,IAAiBr4O,EAAAA,EAAAA,UAAS,aACtC+M,GAAQqrE,GAAK/xC,WACb4xL,EAASC,IAAcl4N,EAAAA,EAAAA,UAAS,OACjC,KAAE1oT,EAAI,eAAEuhhB,EAAc,MAAEn5gB,GD7BjB,SAA8B9G,GAC5C,IADiD+N,EAAOtb,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,KAAMiO,EAAMjO,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,OAAQ6Y,EAAW7Y,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,mBAAoB6xc,EAAQ7xc,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,KAAM8xc,EAAkB9xc,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG,KAEvJ,MAAOiM,EAAMof,IAAWspS,EAAAA,EAAAA,UAAS,OAC1B64N,EAAgBC,IAAsB94N,EAAAA,EAAAA,UAAS,OAC/CtgT,EAAOq5gB,IAAY/4N,EAAAA,EAAAA,UAAS,OAC5B/nT,EAAS+ghB,IAAch5N,EAAAA,EAAAA,UAAS,MAmEvC,OAlEA+8I,IAAgB,KACZvzb,QAAQymC,IAAI,uBAAwBr3C,GACpC4Q,QAAQymC,IAAI,2BAA4BtpC,GACxC6C,QAAQymC,IAAI,YAAYgtZ,GAAc/4b,EAAag5b,EAAUC,IAE7D,MAAM87E,EAAY,IAAIC,gBACtB,OAAW,OAARtghB,GACC4Q,QAAQymC,IAAI,8CACZ6oe,GAAkB,KAGtBA,GAAkB,GAClBtvgB,QAAQymC,IAAI,4CACc,MAAvBtpC,EAAQ21hB,cAAmD,MAA5B31hB,EAAQ41hB,kBACtC/yhB,QAAQymC,IAAI,wDAAyDtpC,GACrE9K,KAAM,CACFvC,OAAQA,EACRX,QAASC,EACTtB,KAAMqP,EACNnP,QAASylc,GAAc/4b,EAAYg5b,EAASC,KAC7Cjgc,MAAMlE,IAELwQ,QAAQymC,IAAI,kBAAmBj3C,EAAS1B,MACxCwhhB,GAAkB,GACY,MAA3B9/gB,EAAS1B,KAAK+wU,WACb3xT,EAAQ,MACRoigB,GAAkB,GAClBC,EAASr5gB,GAETjM,GAAQiM,MAAM,+BAGdgX,EAAQ1d,EAAS1B,MACjByhhB,EAAS,MACTvvgB,QAAQymC,IAAI,YAAatpC,GACzB6C,QAAQymC,IAAI,mBAAoBtpC,EAAQ7b,QACxC2I,GAAQiiB,QAAQ,iCAChBsjgB,EAAWhghB,EAAShC,QACxB,IAEDyoE,OAAO//D,IAEN8J,QAAQymC,IAAIvwC,GAIRo5gB,GAAkB,GAClBC,EAASr5gB,GACT8J,QAAQymC,IAAI,6BACZx8C,GAAQiM,MAAM,4BAA4B,KAMlD8J,QAAQymC,IAAI,oBAAqBtpC,GAI9B,IAAMsygB,EAAU79gB,QAAO,GAC/B,CAACxC,EAAK+N,IAET6C,QAAQymC,IAAI,SAAS34C,GACrBkS,QAAQymC,IAAI,qBAAqB4oe,GACjCrvgB,QAAQymC,IAAI,UAAUvwC,GACtB8J,QAAQymC,IAAI,YAAYh4C,GACjB,CAAEX,OAAMuhhB,iBAAgBn5gB,QAAOzH,UAC1C,CC5C0CukiB,CACtC/+F,GACAw6E,EACA,OACA,oBAGF,MAAOsgB,EAAaC,IAAax4O,EAAAA,EAAAA,WAAS,IACnCy4O,EAAWC,IAAgB14O,EAAAA,EAAAA,WAAS,IACpC24O,EAAUC,IAAa54O,EAAAA,EAAAA,UAAS,CAAC,IACjCk7O,EAAaC,IAAkBn7O,EAAAA,EAAAA,WAAS,IACxCo7O,EAAcC,IAAmBr7O,EAAAA,EAAAA,WAAS,IAC1C64O,EAAWC,IAAgB94O,EAAAA,EAAAA,UAAS,iBACpCy8O,EAAqBC,IAA0B18O,EAAAA,EAAAA,UAAS,cACxD+5O,EAAcC,IAAmBh6O,EAAAA,EAAAA,aACjC+4O,EAAUC,IAAeh5O,EAAAA,EAAAA,UAAS,KAClCi3N,EAAYgiB,IAAiBj5O,EAAAA,EAAAA,UAAS,KACtC31N,EAAYmxc,IAAiBx7O,EAAAA,EAAAA,UAAS,CAAC,CAC5Cx1H,IAAK,EACLnE,MAAO,EACP9C,KAAM,EACNk4W,GAAI,EACJnxW,OAAQ,EACRoxW,IAAK,EACLC,MAAO,KAuFTj0hB,OAAO1M,iBACL,cACAu6D,eAAgB3oE,GACd,IAAIyrhB,EAAUzrhB,EAAEq9S,OAAOt7S,GACnB0qhB,EAAMzshB,EAAEq9S,OAAOovO,IACf8e,EAAiBvriB,EAAEq9S,OAAOkuP,eAE9B7f,EAAWD,GACXI,EAAOY,GACP+e,EAAkBD,EACpB,IACA,GAGFp7F,IAAgB,KAGd,GAFAvzb,QAAQymC,IAAI,qBAERmsf,EAAkBtxiB,OAAS,EAK7B,OAJA0e,QAAQymC,IAAI,qDACZzmC,QAAQymC,IAAI,SAAU34C,GACtBkS,QAAQymC,IAAI,UAAWvwC,GAEW,OAAVA,GACtB,KAAa,EACX8J,QAAQymC,IAAI,qBACZzmC,QAAQymC,IAAI,YAEZ88Q,EAAKqiB,eAAe,CAClBktN,aAAc,GACdC,iBAAkB,cAEpB,MACF,KAAY,EACV/yhB,QAAQymC,IAAI,qBAEZ88Q,EAAKqiB,eAAe,CAClBktN,aAAc,GACdC,iBAAkB,cAEpB,MACF,QAEExvO,EAAKqiB,eAAe,CAClBktN,aAAc,GACdC,iBAAkB,cAI1B,GACC,CAAC78hB,EAAOpI,KAEXmoT,EAAAA,EAAAA,YAAU,KACHy7O,IAAeE,IAClBv/hB,KAAM,CACJvC,OAAQ,OACRX,QAAS8kc,GACTnmc,KAAM,CAAC,IACN4F,MAAMlE,IACP,IAAI8iiB,EAAY,GAChBA,EAAUrviB,KAAKuM,EAAS1B,MACxBkS,QAAQymC,IAAI,kCAAmC6rf,GAC/CN,EAAcM,EAAU,IAEvBr8d,OAAO//D,IACR8J,QAAQymC,IAAIvwC,EAAM,IAEpBy7hB,GAAe,GACfE,GAAgB,GAClB,GAEC,CAACH,EAAaE,KAEjB37O,EAAAA,EAAAA,YAAU,KAKR,GAJAj2S,QAAQymC,IACN,mCAGEpkD,EAAMythB,eAAexuhB,OAAS,GAA2B,GAAtBe,EAAM0thB,aAAuB,CAClE/vgB,QAAQymC,IACN,+EAEFzmC,QAAQymC,IAAI,YAAapkD,EAAMythB,gBAC/B9vgB,QAAQymC,IAAI,YAAagof,GACzBzuhB,QAAQymC,IAAI,oBAAqB88Q,EAAKyhB,cAAc64D,KAEpD,IACE79X,QAAQymC,IAAIpkD,EAAMythB,eACpB,CAAE,MAAO55gB,GACP8J,QAAQymC,IAAI,aAAcvwC,EAC5B,CACF,KAAO,CACL8J,QAAQymC,IAAI,4CACZ,IACE88Q,EAAKqiB,eAAe,CAClBktN,aAAc,GACdC,iBAAkB,aAEtB,CAAE,MAAO78hB,GACP8J,QAAQymC,IAAI,aAAcvwC,EAC5B,CAEA,IAAI43C,EAAQ,IAAImie,YAAY,iBAAkB,CAC5CxvO,OAAQ,CAAEsvO,aAAc,MAE1B7xgB,OAAOygS,cAAc7wP,EACvB,IACC,CAACzrD,EAAMythB,eAAgBzthB,EAAM0thB,aAAc1thB,EAAMsshB,YAiFpD,OACE9uM,EAAAA,EAAAA,KAAA,OAAKh0U,MAAO,CAAEu0E,UAAW,QAASm7E,YAAa,OAAQC,aAAc,OAAQx/G,SAAU,QAASx2C,UAG5F6mhB,EAAAA,EAAAA,MAACz9I,GAAI,CACHnsW,SAAU4sf,EACV9rN,KAAMA,EACN+5E,OAAO,WACPx2E,SAlOSA,KACf,IAAI+pO,EAAa,CACfiC,aAAcvvO,EAAKyhB,cAAc64D,IACjCk1J,iBAAkBxvO,EAAKyhB,cAAc2tN,KAMvC,GADA3yhB,QAAQymC,IAAI,gBAAiBoqf,GApBDiC,KAC5B,IAAIzyhB,GAAS,EAIb,OAHIyyhB,EAAaxxiB,OAAS,IACxB+e,GAAS,GAEJA,CAAM,EAgBT8yhB,CAAqBP,GAAoB,CAC3C5yhB,QAAQymC,IAAI,qBAAsBmsf,GAE9B/B,EAAa,CACfiC,aAAcvvO,EAAKyhB,cAAc64D,IACjCk1J,iBAAkBxvO,EAAKyhB,cAAc2tN,KAEvCjkB,EAAWmiB,GACXgC,EAAqB,IACrBK,EAAuB,aACvB3vO,EAAKqiB,eAAe,CAClBktN,aAAc,GACdC,iBAAkB,cAEpB/yhB,QAAQymC,IAAI,eAAgB88Q,GAC5BvjT,QAAQymC,IAAI,gBAAiBoqf,GAC7BgB,GAAgB,EAClB,GAyMMt2M,eApFeA,KACrBtxV,GAAQiM,MAAM,+BAA+B,EAoFvC0mX,aAAa,MAAKp3X,SAAA,EAGlB6mhB,EAAAA,EAAAA,MAAC72E,GAAK,CAAC3pc,MAAO,CAAEg7D,UAAW,MAAOq0F,aAAc,QAAS11J,SAAA,EACzDq6U,EAAAA,EAAAA,KAAA,SAAAr6U,SAAO,WAELq6U,EAAAA,EAAAA,KAACm1E,GAAQ,CAAC5wZ,MAAOwuiB,EAAmBzogB,SA1ExB/mC,IACpByviB,EAAqBzviB,EAAEqV,OAAOrU,OAC9B,IAAI8riB,EAAkB9siB,EAAEqV,OAAOrU,MAC/B4b,QAAQymC,IAAI,YAAaypf,GACzB,IAAIC,EAAiB5B,EAAiB,KAAO2B,EAC7ClwhB,QAAQymC,IAAI0pf,GACZjB,GAAa,GACb3rO,EAAKqiB,eAAe,CAClBktN,aAAc5C,GACd,EAiEkEt3I,KAAM,EAAG/sZ,MAAO,CAAE43K,SAAU,QAAU08J,KAAM,IAAKj1S,YAAa,4BAK5H20S,EAAAA,EAAAA,KAAC+uD,GAAKttW,KAAI,CAAA97B,UACR6mhB,EAAAA,EAAAA,MAAC72E,GAAK,CAAAhwc,SAAA,EACJq6U,EAAAA,EAAAA,KAACr+S,GAAM,CAAC34B,KAAK,UAAUihZ,SAAS,SAAQtkZ,SAAC,YAGzCq6U,EAAAA,EAAAA,KAACr+S,GAAM,CAACsoX,SAAS,SAAShiX,QAjGtBurd,KACd+7C,EAAU,CAAC,GACXyD,EAAqB,IACrBK,EAAuB,aACvB1E,EAAkB,IAClBU,GAAa,GACb3rO,EAAKqiB,eAAe,CAClBktN,aAAc,GACdC,iBAAkB,aAClB,EAwFmDvtiB,SAAC,mBAQhD,GC/XFwvZ,SAAS,IAAIr4B,GAmBrB,MAAMkhB,GAAW,SAgBjBjuE,KAAAA,cAAoB,SAEpB,MAwrBA,GAxrBqBvtU,IACnB,MAAO8riB,EAAWC,IAAgB53O,EAAAA,EAAAA,UAAS,KACpC63O,EAAgBC,IAAqB93O,EAAAA,EAAAA,UAAS,YAC9C+3O,EAAgBC,IAAqBh4O,EAAAA,EAAAA,UAAS,KAC9Ci4O,EAAYC,IAAiBl4O,EAAAA,EAAAA,UAAS,KACtC86O,EAAaC,IAAkB/6O,EAAAA,EAAAA,UAAS,KACxCg7O,EAAYC,IAAiBj7O,EAAAA,EAAAA,UAAS,KACtCm4N,EAAWC,IAAgBp4N,EAAAA,EAAAA,UAAS,KACpCm4O,EAAgBC,IAAqBp4O,EAAAA,EAAAA,UAAS,KAC9Cq4N,EAASC,IAAct4N,EAAAA,EAAAA,UAAS,KAChCw4N,EAAKC,IAAUz4N,EAAAA,EAAAA,UAAS,KACxB5wR,EAAYipgB,IAAiBr4O,EAAAA,EAAAA,UAAS,aACtC+M,GAAQqrE,GAAK/xC,WACb4xL,EAASC,IAAcl4N,EAAAA,EAAAA,UAAS,OACjC,KAAE1oT,EAAI,eAAEuhhB,EAAc,MAAEn5gB,GAAUi7hB,GACtCl9F,GACAw6E,EACA,OACA,oBAGF,MAAOsgB,EAAaC,IAAax4O,EAAAA,EAAAA,WAAS,IACnCy4O,EAAWC,IAAgB14O,EAAAA,EAAAA,WAAS,IACpC24O,EAAUC,IAAa54O,EAAAA,EAAAA,UAAS,CAAC,IACjCk7O,EAAaC,IAAkBn7O,EAAAA,EAAAA,WAAS,IACxCo7O,EAAcC,IAAmBr7O,EAAAA,EAAAA,WAAS,IAC1C64O,EAAWC,IAAgB94O,EAAAA,EAAAA,UAAS,iBACpCs7O,EAAiBC,IAAsBv7O,EAAAA,EAAAA,UAAS,cAChD+5O,EAAcC,IAAmBh6O,EAAAA,EAAAA,aACjC+4O,EAAUC,IAAeh5O,EAAAA,EAAAA,UAAS,KAClCi3N,EAAYgiB,IAAiBj5O,EAAAA,EAAAA,UAAS,KAStC31N,EAAYmxc,IAAiBx7O,EAAAA,EAAAA,UAAS,CAAC,CAC5Cx1H,IAAK,SACLnE,MAAO,SACP9C,KAAM,SACNk4W,GAAI,SACJnxW,OAAQ,SACRoxW,IAAK,SACLC,MAAO,SACP5lT,GAAG,UAEL,CACEvrD,IAAK,EACLnE,MAAO,EACP9C,KAAM,EACNk4W,GAAI,EACJnxW,OAAQ,EACRoxW,IAAK,EACLC,MAAO,EACP5lT,GAAI,KAgCN,MAAM4oD,EAAU,CACd,CACEthL,MAAO,YACPkjV,UAAW,MACXv1c,IAAK,MACL+D,OAAOmD,IACE,CACLrG,MAAO,CACLwJ,MAAO,CAAEqmU,WAAqB,UAARxpU,EAAoB,UAAY,YAExDlD,UAAUq6U,EAAAA,EAAAA,KAAA,OAAAr6U,SAAMkD,OAItB,CACEmrH,MAAO,cACPkjV,UAAW,QACXv1c,IAAK,QACL+D,OAAOmD,IACE,CACLrG,MAAO,CACLwJ,MAAO,CAAEqmU,WAAqB,UAARxpU,EAAoB,UAAY,YAExDlD,UAAUq6U,EAAAA,EAAAA,KAAA,OAAAr6U,SAAMkD,OAItB,CACEmrH,MAAO,aACPkjV,UAAW,OACXv1c,IAAK,OACL+D,OAAOmD,IACE,CACLrG,MAAO,CACLwJ,MAAO,CAAEqmU,WAAqB,UAARxpU,EAAoB,UAAY,YAExDlD,UAAUq6U,EAAAA,EAAAA,KAAA,OAAAr6U,SAAMkD,OAItB,CACEmrH,MAAO,WACPkjV,UAAW,KACXv1c,IAAK,KACL+D,OAAOmD,IACE,CACLrG,MAAO,CACLwJ,MAAO,CAAEqmU,WAAqB,UAARxpU,EAAoB,UAAY,YAExDlD,UAAUq6U,EAAAA,EAAAA,KAAA,OAAAr6U,SAAMkD,OAItB,CACEmrH,MAAO,eACPkjV,UAAW,SACXv1c,IAAK,SACL+D,OAAOmD,IACE,CACLrG,MAAO,CACLwJ,MAAO,CAAEqmU,WAAqB,UAARxpU,EAAoB,UAAY,YAExDlD,UAAUq6U,EAAAA,EAAAA,KAAA,OAAAr6U,SAAMkD,OAItB,CACEmrH,MAAO,YACPkjV,UAAW,MACXv1c,IAAK,MACL+D,OAAOmD,IACE,CACLrG,MAAO,CACLwJ,MAAO,CAAEqmU,WAAqB,UAARxpU,EAAoB,UAAY,YAExDlD,UAAUq6U,EAAAA,EAAAA,KAAA,OAAAr6U,SAAMkD,OAItB,CACEmrH,MAAO,cACPkjV,UAAW,QACXv1c,IAAK,QACL+D,OAAOmD,IACE,CACLrG,MAAO,CACLwJ,MAAO,CAAEqmU,WAAqB,UAARxpU,EAAoB,UAAY,YAExDlD,UAAUq6U,EAAAA,EAAAA,KAAA,OAAAr6U,SAAMkD,OAItB,CACEmrH,MAAO,WACPkjV,UAAW,KACXv1c,IAAK,KACL+D,OAAOmD,IACE,CACLrG,MAAO,CACLwJ,MAAO,CAAEqmU,WAAqB,UAARxpU,EAAoB,UAAY,YAExDlD,UAAUq6U,EAAAA,EAAAA,KAAA,OAAAr6U,SAAMkD,QAyFxBwV,OAAO1M,iBACL,cACAu6D,eAAgB3oE,GACd,IAAIyrhB,EAAUzrhB,EAAEq9S,OAAOt7S,GACnB0qhB,EAAMzshB,EAAEq9S,OAAOovO,IACf8e,EAAiBvriB,EAAEq9S,OAAOkuP,eAE9B7f,EAAWD,GACXI,EAAOY,GACP+e,EAAkBD,EACpB,IACA,GAKFp7F,IAAgB,KAGd,GAFAvzb,QAAQymC,IAAI,qBAER6qf,EAAYhwiB,OAAS,GAAKkwiB,EAAWlwiB,OAAS,EAKhD,OAJA0e,QAAQymC,IAAI,+CACZzmC,QAAQymC,IAAI,SAAU34C,GACtBkS,QAAQymC,IAAI,UAAWvwC,GAEW,OAAVA,GACtB,KAAa,EACX8J,QAAQymC,IAAI,qBACZzmC,QAAQymC,IAAI,YAEZ88Q,EAAKqiB,eAAe,CAClB01B,OAAQ,GACR9qS,MAAO,GACP4he,aAAc,YACdC,aAAa,IAEf,MACF,KAAY,EACVryhB,QAAQymC,IAAI,qBAEZ88Q,EAAKqiB,eAAe,CAClB01B,OAAQ,GACR9qS,MAAO,GACP4he,aAAc,YACdC,aAAa,IAEf,MACF,QAEE9uO,EAAKqiB,eAAe,CAClB01B,OAAQ,GACR9qS,MAAO,GACP4he,aAAc,YACdC,aAAa,IAIrB,GACC,CAACn8hB,EAAOpI,KAGXmoT,EAAAA,EAAAA,YAAU,KACHy7O,IAAeE,IAClBv/hB,KAAM,CACJvC,OAAQ,OACRX,QAAS8kc,GACTnmc,KAAM,CAAC,IACN4F,MAAMlE,IACP,IAAI8iiB,EAAY,GACZc,EAAS,CAAC,EACVC,EAAS,CAAC,EAEdD,EAAY,IAAI5jiB,EAAS1B,KAAKkzL,IAC9BoyW,EAAc,MAAI5jiB,EAAS1B,KAAK+uL,MAChCu2W,EAAa,KAAI5jiB,EAAS1B,KAAKisL,KAC/Bq5W,EAAW,GAAI5jiB,EAAS1B,KAAKmkiB,GAC7BmB,EAAe,OAAI5jiB,EAAS1B,KAAKgzL,OACjCsyW,EAAY,IAAI5jiB,EAAS1B,KAAKokiB,IAC9BkB,EAAc,MAAI5jiB,EAAS1B,KAAKqkiB,MAChCiB,EAAW,GAAI5jiB,EAAS1B,KAAKy+O,GAC7B+lT,EAAUrviB,KAAKmwiB,GAEfC,EAAY,IAAI7jiB,EAAS1B,KAAKwliB,iBAC9BD,EAAc,MAAI7jiB,EAAS1B,KAAKyliB,mBAChCF,EAAa,KAAI7jiB,EAAS1B,KAAK0liB,kBAC/BH,EAAW,GAAI7jiB,EAAS1B,KAAK2liB,gBAC7BJ,EAAe,OAAI7jiB,EAAS1B,KAAK4liB,oBACjCL,EAAY,IAAI7jiB,EAAS1B,KAAK6liB,iBAC9BN,EAAc,MAAI7jiB,EAAS1B,KAAK8liB,mBAChCP,EAAW,GAAI7jiB,EAAS1B,KAAK+liB,gBAC7BvB,EAAUrviB,KAAKowiB,GAEfrB,EAAcM,EAAU,IAEvBr8d,OAAO//D,IACR8J,QAAQymC,IAAIvwC,EAAM,IAEpBy7hB,GAAe,GACfE,GAAgB,GAClB,GAEC,CAACH,EAAaE,KAEjB37O,EAAAA,EAAAA,YAAU,KACR,MAAM69O,EAAa7tT,aAAY,KAC7B,IAAIqsT,EAAY,GAChBtyhB,QAAQymC,IAAI,uCACZp0C,KAAM,CACJvC,OAAQ,OACRX,QAAS8kc,GACTnmc,KAAM,CAAC,IACN4F,MAAMlE,IACP,IAAI4jiB,EAAS,CAAC,EACVC,EAAS,CAAC,EAEdD,EAAY,IAAI5jiB,EAAS1B,KAAKkzL,IAC9BoyW,EAAc,MAAI5jiB,EAAS1B,KAAK+uL,MAChCu2W,EAAa,KAAI5jiB,EAAS1B,KAAKisL,KAC/Bq5W,EAAW,GAAI5jiB,EAAS1B,KAAKmkiB,GAC7BmB,EAAe,OAAI5jiB,EAAS1B,KAAKgzL,OACjCsyW,EAAY,IAAI5jiB,EAAS1B,KAAKokiB,IAC9BkB,EAAc,MAAI5jiB,EAAS1B,KAAKqkiB,MAChCiB,EAAW,GAAI5jiB,EAAS1B,KAAKy+O,GAC7B+lT,EAAUrviB,KAAKmwiB,GAEfC,EAAY,IAAI7jiB,EAAS1B,KAAKwliB,iBAC9BD,EAAc,MAAI7jiB,EAAS1B,KAAKyliB,mBAChCF,EAAa,KAAI7jiB,EAAS1B,KAAK0liB,kBAC/BH,EAAW,GAAI7jiB,EAAS1B,KAAK2liB,gBAC7BJ,EAAe,OAAI7jiB,EAAS1B,KAAK4liB,oBACjCL,EAAY,IAAI7jiB,EAAS1B,KAAK6liB,iBAC9BN,EAAc,MAAI7jiB,EAAS1B,KAAK8liB,mBAChCP,EAAW,GAAI7jiB,EAAS1B,KAAK+liB,gBAC7BvB,EAAUrviB,KAAKowiB,GAEfrB,EAAcM,EAAU,IAwBvBr8d,OAAO//D,IACR8J,QAAQymC,IAAIvwC,EAAM,GAClB,GACD,KAEH,MAAO,IAAM6vO,cAAc+tT,EAAW,GACvC,KAED79O,EAAAA,EAAAA,YAAU,KACR,IAAKy7O,GAAeE,EAAc,CAChC,IAAIU,EAAY,GAChBjgiB,KAAM,CACJvC,OAAQ,OACRX,QAAS8kc,GACTnmc,KAAM,CAAC,IACN4F,MAAMlE,IAEP,IAAI4jiB,EAAS,CAAC,EACVC,EAAS,CAAC,EAEdD,EAAY,IAAI5jiB,EAAS1B,KAAKkzL,IAC9BoyW,EAAc,MAAI5jiB,EAAS1B,KAAK+uL,MAChCu2W,EAAa,KAAI5jiB,EAAS1B,KAAKisL,KAC/Bq5W,EAAW,GAAI5jiB,EAAS1B,KAAKmkiB,GAC7BmB,EAAe,OAAI5jiB,EAAS1B,KAAKgzL,OACjCsyW,EAAY,IAAI5jiB,EAAS1B,KAAKokiB,IAC9BkB,EAAc,MAAI5jiB,EAAS1B,KAAKqkiB,MAChCiB,EAAW,GAAI5jiB,EAAS1B,KAAKy+O,GAC7B+lT,EAAUrviB,KAAKmwiB,GAEfC,EAAY,IAAI7jiB,EAAS1B,KAAKwliB,iBAC9BD,EAAc,MAAI7jiB,EAAS1B,KAAKyliB,mBAChCF,EAAa,KAAI7jiB,EAAS1B,KAAK0liB,kBAC/BH,EAAW,GAAI7jiB,EAAS1B,KAAK2liB,gBAC7BJ,EAAe,OAAI7jiB,EAAS1B,KAAK4liB,oBACjCL,EAAY,IAAI7jiB,EAAS1B,KAAK6liB,iBAC9BN,EAAc,MAAI7jiB,EAAS1B,KAAK8liB,mBAChCP,EAAW,GAAI7jiB,EAAS1B,KAAK+liB,gBAC7BvB,EAAUrviB,KAAKowiB,GAEfrB,EAAcM,EAAU,IAwBvBr8d,OAAO//D,IACR8J,QAAQymC,IAAIvwC,EAAM,IAEpBy7hB,GAAe,GACfE,GAAgB,EAClB,IAEC,CAACH,EAAaE,KAEjB37O,EAAAA,EAAAA,YAAU,KAKR,GAJAj2S,QAAQymC,IACN,mCAGEpkD,EAAMythB,eAAexuhB,OAAS,GAA2B,GAAtBe,EAAM0thB,aAAuB,CAClE/vgB,QAAQymC,IACN,+EAEFzmC,QAAQymC,IAAI,YAAapkD,EAAMythB,gBAC/B9vgB,QAAQymC,IAAI,YAAagof,GACzBzuhB,QAAQymC,IAAI,oBAAqB88Q,EAAKyhB,cAAc64D,KAEpD,IACE79X,QAAQymC,IAAIpkD,EAAMythB,eACpB,CAAE,MAAO55gB,GACP8J,QAAQymC,IAAI,aAAcvwC,EAC5B,CACF,KAAO,CACL8J,QAAQymC,IAAI,4CACZ,IACE88Q,EAAKqiB,eAAe,CAClB01B,OAAQ,GACR9qS,MAAO,GACP4he,aAAc,YACdC,aAAa,GAEjB,CAAE,MAAOn8hB,GACP8J,QAAQymC,IAAI,aAAcvwC,EAC5B,CAEA,IAAI43C,EAAQ,IAAImie,YAAY,iBAAkB,CAC5CxvO,OAAQ,CAAEsvO,aAAc,MAE1B7xgB,OAAOygS,cAAc7wP,EACvB,IACC,CAACzrD,EAAMythB,eAAgBzthB,EAAM0thB,aAAc1thB,EAAMsshB,YAmIpD,OACE9uM,EAAAA,EAAAA,KAAA,OAAKh0U,MAAO,CAAEu0E,UAAW,QAASm7E,YAAa,OAAQC,aAAc,OAAQx/G,SAAU,QAASx2C,UAE5F6mhB,EAAAA,EAAAA,MAAA,OAAKzohB,UAAU,gBAAe4B,SAAA,EAC5Bq6U,EAAAA,EAAAA,KAACssD,GAAK,CAACtrS,WAAYA,EAAYs0M,QAASA,KAGxC0qC,EAAAA,EAAAA,KAAC+uD,GAAKttW,KAAI,CAAA97B,UACRq6U,EAAAA,EAAAA,KAAC21H,GAAK,CAAAhwc,UACJq6U,EAAAA,EAAAA,KAACr+S,GAAM,CAACsoX,SAAS,SAAShiX,QAASA,KAAQ+pgB,GAAgB,EAAK,EAAGrsiB,SAAC,iCAOxE,EC7uBV,SADsB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,mPAAuP,KAAQ,UAAW,MAAS,YCMhb,IAAIuuiB,GAAkB,SAAyB1xiB,EAAOyG,GACpD,OAAoBulB,EAAAA,cAAoB20W,IAAUnwU,EAAAA,EAAAA,GAAS,CAAC,EAAGxwD,EAAO,CACpEyG,IAAKA,EACLg9C,KAAMkuf,KAEV,EAOA,SAJ2B3lhB,EAAAA,WAAiB0lhB,ICb5C,SADsB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,sxDAA0xD,KAAQ,UAAW,MAAS,YCMn9D,IAAIE,GAAkB,SAAyB5xiB,EAAOyG,GACpD,OAAoBulB,EAAAA,cAAoB20W,IAAUnwU,EAAAA,EAAAA,GAAS,CAAC,EAAGxwD,EAAO,CACpEyG,IAAKA,EACLg9C,KAAMouf,KAEV,EAOA,SAJ2B7lhB,EAAAA,WAAiB4lhB,ICb5C,SADiB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,6UAAiV,KAAQ,OAAQ,MAAS,UCMlgB,IAAIE,GAAa,SAAoB9xiB,EAAOyG,GAC1C,OAAoBulB,EAAAA,cAAoB20W,IAAUnwU,EAAAA,EAAAA,GAAS,CAAC,EAAGxwD,EAAO,CACpEyG,IAAKA,EACLg9C,KAAMsuf,KAEV,EAOA,SAJ2B/lhB,EAAAA,WAAiB8lhB,ICb5C,SADmB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,8XAAkY,KAAQ,OAAQ,MAAS,YCMrjB,IAAIE,GAAe,SAAsBhyiB,EAAOyG,GAC9C,OAAoBulB,EAAAA,cAAoB20W,IAAUnwU,EAAAA,EAAAA,GAAS,CAAC,EAAGxwD,EAAO,CACpEyG,IAAKA,EACLg9C,KAAMwuf,KAEV,EAOA,SAJ2BjmhB,EAAAA,WAAiBgmhB,ICf5C,MAyBA,GAzB4B5giB,IAC1B,MAAM,aACJ+hW,EAAY,OACZ++L,EAAM,aACNC,EAAY,eACZC,EAAc,kBACdC,GACEjhiB,EACJ,MAAO,CACL,CAAC,GAADvJ,OAAIsrW,EAAY,iBAAiB,CAC/BtjC,WAAYsiO,EACZ,CAAC,GAADtqiB,OAAIsrW,EAAY,mBAAmB,CACjCnyK,MAAOqxW,EACPxiO,WAAYuiO,GAEd,CAAC,GAADvqiB,OAAIsrW,EAAY,8BAA8B,CAC5CnyK,MAAOqxW,EACPxiO,WAAYuiO,EACZt1d,OAAQ,aAAFj1E,OAAeqqiB,GAErBz9K,kBAAmB,IAGxB,ECpBG69K,GAAiBlhiB,IACrB,MAAM,OACJogX,EAAM,aAENre,EAAY,UAEZzC,EAAS,aACT6hM,EAAY,SACZ5uB,EAAQ,UACR6uB,EAAS,aACThyG,EAAY,cACZiyG,EAAa,YACb5vB,EAAW,cACX6vB,EAAa,cACbC,EAAa,kBACbC,EAAiB,iBACjBC,EAAgB,kBAChB1qL,EAAiB,mBACjBnX,EAAkB,SAClBptM,EAAQ,aACRmsK,EAAY,OACZmiO,EAAM,SACNtxG,EAAQ,QACRkyG,GACE1hiB,EACJ,MAAO,CACL,CAAC+hW,GAAet0W,OAAOoE,OAAOpE,OAAOoE,OAAO,CAC1C8qB,QAAS,OACT2gM,KAAM,OACNmuK,cAAe,SAEf5+S,UAAW,EACX4xP,WAAYqiO,EACZ,OAAQ,CACNtxd,UAAW,cAEb,CAAC,IAAD/4E,OAAKsrW,EAAY,eAAe,CAC9B0pB,cAAe,MACf,CAAC,KAADh1X,OAAMsrW,EAAY,QAAAtrW,OAAOsrW,EAAY,aAAa,CAEhDxlV,MAAO,IAGX,CAAC,GAAD9lB,OAAIsrW,EAAY,cAAAtrW,OAAasrW,EAAY,YAAY,CACnDzkJ,KAAM,YAER,CAAC,GAAD7mN,OAAIsrW,EAAY,WAAW,CACzBzzV,SAAU,WAEVk2L,SAAU,EACVi6H,WAAYijO,EACZ58f,WAAY,OAAFruC,OAASsgX,EAAiB,mBACpC,aAAc,CACZv6V,OAAQ,OAIR42C,WAAY,GACZ40F,WAAY,GACZ,CAAC,GAADvxJ,OAAI2pX,EAAM,SAAA3pX,OAAQ2pX,EAAM,2BAA2B,CACjD7jW,MAAO,SAGX,gBAAiB,CACfooW,cAAe48K,GAEjB,UAAW,CACT5+P,MAAO,GAET,YAAa,CACXr0R,SAAU,QACV6yB,OAAQ,EACR6sK,OAAQ,EACRxxL,OAAQ+khB,EACR3xW,MAAOuxW,EACPz+P,WAAYztB,GAAKssR,GACjB9iL,UAAW,SACXhgD,WAAY2iO,EACZ79b,OAAQ,UACRz+D,WAAY,OAAFruC,OAASsgX,IAErB,eAAgB,CACd,MAAO,CACLxuU,SAAU,UAEZ,YAAa,CACXj6B,SAAU,WACVuK,IAAKu2a,EACLhqE,eAAgBplX,EAAMshW,KAAKmgM,GAAkBjgM,KAAK,GAAG9uC,QACrD1kH,OAAQ,EACRzxL,MAAOklhB,EACPjlhB,OAAQglhB,EACR5xW,MAAOuxW,EACP3uY,SAAUxyJ,EAAM+vW,WAChBpzV,QAAS,OACT4hW,WAAY,SACZu1B,eAAgB,SAChBr1E,WAAYijO,EACZ9/L,uBAAwB,EACxBF,qBAAsB/iC,EACtBgjC,mBAAoBhjC,EACpBkjC,qBAAsB,EACtBt+P,OAAQ,UACRz+D,WAAY,cAAFruC,OAAgBmpW,EAAkB,SAC5C,WAAY,CACVtxV,SAAU,WACVw8a,MAAO,EACPrsH,WAAY,cACZ35R,WAAY,OAAFruC,OAASmpW,GACnB9xV,QAAS,MAEX,iBAAkB,CAChB2wT,WAAY,4BAEd,UAAW,CACT0mD,iBAAkBnlX,EAAMshW,KAAKmgM,GAAkBjgM,KAAK,GAAG9uC,QACvDkvC,uBAAwBjjC,EACxB+iC,qBAAsB,EACtBC,mBAAoB,EACpBE,qBAAsBljC,OAK7BgjO,GAAoB3hiB,IAAS,CAE9B,QAAS,CACP4hC,UAAW,SAIf,CAAC,GAADnrC,OAAIsrW,EAAY,YAAY,CAC1BvlV,OAAQ4ya,EACR3ya,QAAS4khB,EACTzxW,MAAO6hV,EACP/uO,WAAYztB,GAAKm6K,GACjB3wH,WAAY+wH,EAGZ,CAAC,GAAD/4b,OAAI2pX,EAAM,UAAU,CAClB19E,WAAY,YAIhB,CAAC,GAADjsS,OAAIsrW,EAAY,YAAY,CAC1BtlV,QAAS6khB,EACT1xW,MAAO0vK,EACP9sM,WACAisK,WAAY8zM,GAGd,CAAC,GAAD97gB,OAAIsrW,EAAY,aAAa,CAC3BzkJ,KAAM,OACN1tB,MAAO0vK,EAEPzyR,UAAW,GAEd,EAsCH,GAAe2zS,GAAc,UAAUxgX,GAAS,CAACkhiB,GAAelhiB,MApC3BA,IACnC,MAAM,cACJ4xW,EAAa,cACbpH,EAAa,gBACbyE,EAAe,UACf3P,EAAS,gBACTyP,EAAe,UACfmM,EAAS,oBACTjC,EAAmB,iBACnBpH,GACE7xW,EACEyhX,EAAkC,KAAlBxS,EACtB,MAAO,CAEL2yL,cAAe,UACfC,YAAajwL,EACbkwL,eAAgB,UAChBhB,OAAQlvL,EACR49E,SAAU,UACVJ,aAA8B,EAAhB5kF,EACd62L,cAAe,KAAF5qiB,OAAOgrX,EAAa,MACjCgwJ,YAAanyK,EACbgiM,cAAe,GAAF7qiB,OAAKs4W,EAAe,OAAAt4W,OAAMgrX,EAAa,MACpD8wJ,SAAU3gK,EACV8vL,QAAS,UACTH,cAAetyL,EAA8B,EAAZiM,EACjCkmL,UAAW,UACXD,aAAcloL,EACdwoL,iBAAkBxyL,EAClBuyL,kBAAmBvyL,EACnB8xL,aAAclvL,EACdmvL,eAAgBnvL,EAChBovL,kBAAmB3hM,EACpB,GAG6F,CAC9F8f,iBAAkB,CAAC,CAAC,cAAe,UAAW,CAAC,gBAAiB,YAAa,CAAC,iBAAkB,gBCpMlG,IAAIrH,GAAgC,SAAU5oW,EAAGxf,GAC/C,IAAI8e,EAAI,CAAC,EACT,IAAK,IAAIS,KAAKC,EAAO1hB,OAAOsR,UAAUmO,eAAevM,KAAKwO,EAAGD,IAAMvf,EAAEc,QAAQye,GAAK,IAAGT,EAAES,GAAKC,EAAED,IAC9F,GAAS,MAALC,GAAqD,oBAAjC1hB,OAAO4sQ,sBAA2C,KAAI9nQ,EAAI,EAAb,IAAgB2c,EAAIzhB,OAAO4sQ,sBAAsBlrP,GAAI5c,EAAI2c,EAAErhB,OAAQ0E,IAClI5C,EAAEc,QAAQye,EAAE3c,IAAM,GAAK9E,OAAOsR,UAAU87R,qBAAqBl6R,KAAKwO,EAAGD,EAAE3c,MAAKkc,EAAES,EAAE3c,IAAM4c,EAAED,EAAE3c,IADuB,CAGvH,OAAOkc,CACT,EAQA,SAASszhB,GAAU/oiB,GACjB,IAAI,UACFq0U,EAAS,QACTj1R,EAAO,YACPkhN,GACEtgQ,EACJ,OAAOgpiB,GACwBpnhB,EAAAA,YAAiB,CAAChsB,EAAOyG,IAAuBulB,EAAAA,cAAoBonhB,EAAgBv0iB,OAAOoE,OAAO,CAC7HwD,IAAKA,EACLg4U,UAAWA,EACXj1R,QAASA,GACRxpD,KAMP,CACA,MAAMqziB,GAAqBrnhB,EAAAA,YAAiB,CAAChsB,EAAOyG,KAClD,MACIi2V,UAAWhe,EAAkB,UAC7BD,EAAS,UACTl9U,EACAioD,QAAS8pf,GACPtziB,EACJmhZ,EAASh4B,GAAOnpX,EAAO,CAAC,YAAa,YAAa,YAAa,aAC3D,aACJu+U,GACEvyT,EAAAA,WAAiB+5F,GACf22O,EAAYne,EAAa,SAAUG,IAClC60N,EAAS/vM,EAAQ8uB,GAAaX,GAASj1B,GACxC82M,EAAsB/0N,EAAY,GAAH52U,OAAM60V,EAAS,KAAA70V,OAAI42U,GAAcie,EACtE,OAAO62M,EAAsBvnhB,EAAAA,cAAoBsnhB,EAASz0iB,OAAOoE,OAAO,CACtE1B,UAAWyuB,IAAW0uT,GAAsB80N,EAAqBjyiB,EAAWiiW,EAAQ8uB,GACpF7rX,IAAKA,GACJ06Y,IAAS,IAERsyJ,GAA2BznhB,EAAAA,YAAiB,CAAChsB,EAAOyG,KACxD,MAAM,UACJusC,GACEhnB,EAAAA,WAAiB+5F,IACd2tb,EAAQC,GAAa3nhB,EAAAA,SAAe,KAEvC0wU,UAAWhe,EAAkB,UAC7Bn9U,EAAS,cACT28X,EAAa,SACb/6X,EAAQ,SACRywiB,EACApqf,QAASqqf,EAAG,MACZrqiB,GACExJ,EAEA8xa,EAAc31E,GADTgtB,GAAOnpX,EAAO,CAAC,YAAa,YAAa,gBAAiB,WAAY,WAAY,UAAW,UACvE,CAAC,eAC5B,aACJu+U,EAAY,OACZ08D,GACEjvX,EAAAA,WAAiB+5F,GACf22O,EAAYne,EAAa,SAAUG,GACnCo1N,EC1EO,SAAqBJ,EAAQvwiB,EAAUywiB,GACpD,MAAwB,mBAAbA,EACFA,IAELF,EAAOz0iB,QAGQ+d,EAAQ7Z,GACTjE,MAAKixB,GAAQA,EAAK3pB,OAASqme,IAC/C,CDiEyBknE,CAAYL,EAAQvwiB,EAAUywiB,IAC9CvhL,EAAY7uB,EAAQ8uB,GAAaX,GAASj1B,GAC3C5nB,EAAc9kT,IAAW0sU,EAAW,CACxC,CAAC,GAAD70V,OAAI60V,EAAS,eAAeo3M,EAC5B,CAAC,GAADjsiB,OAAI60V,EAAS,SAAuB,QAAd1pT,GACV,OAAXioW,QAA8B,IAAXA,OAAoB,EAASA,EAAO15Y,UAAWA,EAAW28X,EAAe16B,EAAQ8uB,GACjG/0C,EAAevxT,EAAAA,SAAc,KAAM,CACvCmgd,UAAW,CACTC,SAAUtpe,IACR6wiB,GAAU9hhB,GAAQ,GAAGhqB,OAAOu5U,EAAmBvvT,GAAO,CAAC/uB,KAAK,EAE9Dupe,YAAavpe,IACX6wiB,GAAU9hhB,GAAQA,EAAKnwB,QAAO6uZ,GAAaA,IAAcztZ,KAAI,MAG/D,IACJ,OAAOuvX,EAAyBrmW,EAAAA,cAAoBkgd,GAAcnpe,SAAU,CAC1EhB,MAAOw7U,GACOvxT,EAAAA,cAAoB6nhB,EAAKh1iB,OAAOoE,OAAO,CACrDwD,IAAKA,EACLlF,UAAWuzU,EACXtrU,MAAO3K,OAAOoE,OAAOpE,OAAOoE,OAAO,CAAC,EAAc,OAAXg4Y,QAA8B,IAAXA,OAAoB,EAASA,EAAOzxY,OAAQA,IACrGsoa,GAAc3ua,IAAW,IAExB6wiB,GAASb,GAAU,CACvB3pf,QAAS,MACTkhN,YAAa,UAFAyoS,CAGZM,IACG5nF,GAASsnF,GAAU,CACvB10N,UAAW,SACXj1R,QAAS,SACTkhN,YAAa,UAHAyoS,CAIZE,IACGvnF,GAASqnF,GAAU,CACvB10N,UAAW,SACXj1R,QAAS,SACTkhN,YAAa,UAHAyoS,CAIZE,IACGY,GAAUd,GAAU,CACxB10N,UAAW,UACXj1R,QAAS,OACTkhN,YAAa,WAHCyoS,CAIbE,IElHGW,GFoHN,GEnHAA,GAAOnoF,OAASA,GAChBmoF,GAAOloF,OAASA,GAChBkoF,GAAOC,QAAUA,GACjBD,GAAOnnE,MAAQA,GACfmnE,GAAOE,sBAAwBvnE,GAC/B,sCCLA,IAAIwnE,GAJJ,SAA0B11iB,GACxBA,GACF,EAIO,MAEM21iB,GAAWA,IAAMD,GCRjBE,IAAiCzxiB,EAAAA,EAAAA,eAAc,MCkBrD,SAAS0xiB,KAOd,OANqB3gP,EAAAA,EAAAA,YAAW0gP,GAOlC,CCvBA,IAAI75N,GCJ0B+5N,KAC5B,MAAM,IAAIj2iB,MAAM,wBAAwB,EDInC,MAIDk2iB,GAAcA,CAACz1hB,EAAGC,IAAMD,IAAMC,EAS7B,SAASy1hB,KAAgD,IAA7B/0iB,EAAOF,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAG60iB,GAC3C,MAAMC,EAAkB50iB,IAAY20iB,GAAoBK,GAAyB,KAAM/gP,EAAAA,EAAAA,YAAWj0T,GAClG,OAAO,SAAqBqpD,GAAoC,IAA1B4rf,EAAUn1iB,UAAAP,OAAA,QAAAgJ,IAAAzI,UAAA,GAAAA,UAAA,GAAGg1iB,GAejD,MAAM,MACJvkd,EAAK,aACL2kd,EAAY,eACZC,GACEP,IACEQ,EAAgBt6N,GAAiCo6N,EAAaG,aAAc9kd,EAAM+kd,SAAUH,GAAkB5kd,EAAM+kd,SAAUjsf,EAAU4rf,GAE9I,OADAvgP,EAAAA,EAAAA,eAAc0gP,GACPA,CACT,CACF,CAyBO,MAAMG,GAA2BR,aEGxC,MAAMS,GAAgB,CACpBC,MAAAA,GAAU,EAEV1siB,IAAKA,IAAM,IAEN,SAAS2siB,GAAmBnld,EAAOold,GACxC,IAAItpiB,EACA42S,EAAYuyP,GAWhB,SAASI,IACHV,EAAaW,eACfX,EAAaW,eAEjB,CAMA,SAASC,IACFzpiB,IACHA,EAAcspiB,EAAYA,EAAUN,aAAaO,GAAuBrld,EAAMzgF,UAAU8liB,GACxF3yP,EAnGN,WACE,MAAMwxP,EAAQC,KACd,IAAIj9gB,EAAQ,KACR6sC,EAAO,KACX,MAAO,CACL6B,KAAAA,GACE1uC,EAAQ,KACR6sC,EAAO,IACT,EAEAmxe,MAAAA,GACEhB,GAAM,KACJ,IAAInsiB,EAAWmvB,EAEf,KAAOnvB,GACLA,EAASvJ,WACTuJ,EAAWA,EAASm8D,IACtB,GAEJ,EAEA17D,GAAAA,GACE,IAAIk6S,EAAY,GACZ36S,EAAWmvB,EAEf,KAAOnvB,GACL26S,EAAU/hT,KAAKoH,GACfA,EAAWA,EAASm8D,KAGtB,OAAOw+O,CACT,EAEAnzS,SAAAA,CAAU/Q,GACR,IAAIg3iB,GAAe,EACfztiB,EAAWg8D,EAAO,CACpBvlE,WACA0lE,KAAM,KACNtyC,KAAMmyC,GASR,OANIh8D,EAAS6pB,KACX7pB,EAAS6pB,KAAKsyC,KAAOn8D,EAErBmvB,EAAQnvB,EAGH,WACAytiB,GAA0B,OAAVt+gB,IACrBs+gB,GAAe,EAEXztiB,EAASm8D,KACXn8D,EAASm8D,KAAKtyC,KAAO7pB,EAAS6pB,KAE9BmyC,EAAOh8D,EAAS6pB,KAGd7pB,EAAS6pB,KACX7pB,EAAS6pB,KAAKsyC,KAAOn8D,EAASm8D,KAE9BhtC,EAAQnvB,EAASm8D,KAErB,CACF,EAGJ,CAiCkBuxe,GAEhB,CAWA,MAAMd,EAAe,CACnBG,aApCF,SAAsB/siB,GAEpB,OADAwtiB,IACO7yP,EAAUnzS,UAAUxH,EAC7B,EAkCE2tiB,iBAhCF,WACEhzP,EAAUwyP,QACZ,EA+BEG,sBACAG,aAxBF,WACE,OAAOtxiB,QAAQ4H,EACjB,EAuBEypiB,eACAI,eAfF,WACM7piB,IACFA,IACAA,OAAc9D,EACd06S,EAAU98O,QACV88O,EAAYuyP,GAEhB,EASEW,aAAcA,IAAMlzP,GAEtB,OAAOiyP,CACT,CCpHO,MACM1iK,KADiC,qBAAXr2X,QAAqD,qBAApBA,OAAOrX,UAAqE,qBAAlCqX,OAAOrX,SAASC,eACzEsvT,EAAAA,gBAAkBH,EAAAA,UCOvE,IAAIY,GAAuB+/O,KCyB3B,SAtCA,SAAiBnqiB,GAKd,IALe,MAChB6lF,EAAK,QACLvwF,EAAO,SACPyD,EAAQ,YACR2yiB,GACD1riB,EACC,MAAMmzU,GAAevpB,EAAAA,EAAAA,UAAQ,KAC3B,MAAM4gP,EAAeQ,GAAmBnld,GACxC,MAAO,CACLA,QACA2kd,eACAC,eAAgBiB,EAAc,IAAMA,OAAc7tiB,EACnD,GACA,CAACgoF,EAAO6ld,IACLC,GAAgB/hP,EAAAA,EAAAA,UAAQ,IAAM/jO,EAAM+kd,YAAY,CAAC/kd,IACvDiiT,IAA0B,KACxB,MAAM,aACJ0iK,GACEr3N,EAQJ,OAPAq3N,EAAaW,cAAgBX,EAAae,iBAC1Cf,EAAaY,eAETO,IAAkB9ld,EAAM+kd,YAC1BJ,EAAae,mBAGR,KACLf,EAAagB,iBACbhB,EAAaW,mBAAgBttiB,CAAS,CACvC,GACA,CAACs1U,EAAcw4N,IAClB,MAAM92N,EAAUv/U,GAAW20iB,GAE3B,OAAoBrohB,EAAAA,cAAoBizT,EAAQl8U,SAAU,CACxDhB,MAAOw7U,GACNp6U,EACL,ERlCwB6yiB,OGFa3giB,KACnCmlU,GAAmCnlU,CAAE,EMGvC4giB,CAAsBz7N,GAAAA,kCFUWnlU,KAC/Bm/S,GAAuBn/S,CAAE,EEV3B6giB,CAAkB1hP,GAAAA,sBTHMwhP,GSMf7B,GAAAA,wBTN2BA,GAAQ6B,+FUDxCG,GACM,iBADNA,GAEM,iBAFNA,GAGO,kBAGPC,GAAY,CACZC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNtiI,KAAM,OACNuiI,SAAU,WACVC,OAAQ,SACRC,MAAO,QACPC,MAAO,SAOPC,IAJkBj4iB,OAAOE,KAAKq3iB,IAAWv1hB,KAAI,SAAU7X,GACvD,OAAOotiB,GAAUptiB,EACrB,IAGa,WADT8tiB,GAEU,UAFVA,GAGM,OAHNA,GAIW,aAJXA,GAKY,YALZA,GAMW,WANXA,GAOM,OAPNA,GAQU,WARVA,GASK,MATLA,GAUK,MAVLA,GAWQ,SAGRC,GAAgB,CAChBC,UAAW,YACXj7N,QAAS,UACTpiR,MAAO,YACPs9e,gBAAiB,kBACjBC,YAAa,cACb,aAAc,YACdC,SAAU,WACVC,SAAU,YAGVC,GACe,eADfA,GAEO,QAFPA,GAG2B,0BAH3BA,GAIwB,sBAJxBA,GAKgB,gBAGhBC,GAAez4iB,OAAOE,KAAKg4iB,IAAe7siB,QAAO,SAAU8K,EAAK7V,GAEhE,OADA6V,EAAI+hiB,GAAc53iB,IAAQA,EACnB6V,CACX,GAAG,CAAC,GAEAuiiB,GAAoB,CAACnB,GAAUM,SAAUN,GAAUO,OAAQP,GAAUQ,OAErEY,GAAmB,oBAEnBvnO,GAA4B,oBAAX/vT,QAAoD,kBAApBA,OAAOqvR,SAAwB,SAAUv6R,GAC5F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAyB,oBAAXkL,QAAyBlL,EAAI1V,cAAgB4gB,QAAUlL,IAAQkL,OAAO/P,UAAY,gBAAkB6E,CAC3H,EAQIyiiB,GAAc,WAChB,SAAS/iiB,EAAiB0B,EAAQpW,GAChC,IAAK,IAAI2D,EAAI,EAAGA,EAAI3D,EAAMf,OAAQ0E,IAAK,CACrC,IAAIwwB,EAAan0B,EAAM2D,GACvBwwB,EAAWlU,WAAakU,EAAWlU,aAAc,EACjDkU,EAAWlN,cAAe,EACtB,UAAWkN,IAAYA,EAAWjN,UAAW,GACjDroB,OAAO8V,eAAeyB,EAAQ+d,EAAWh1B,IAAKg1B,EAChD,CACF,CAEA,OAAO,SAAU+3S,EAAaC,EAAYC,GAGxC,OAFID,GAAYz3T,EAAiBw3T,EAAY/7T,UAAWg8T,GACpDC,GAAa13T,EAAiBw3T,EAAaE,GACxCF,CACT,CACF,CAhBkB,GAkBd17Q,GAAW3xD,OAAOoE,QAAU,SAAUmT,GACxC,IAAK,IAAIzS,EAAI,EAAGA,EAAInE,UAAUP,OAAQ0E,IAAK,CACzC,IAAIkO,EAASrS,UAAUmE,GAEvB,IAAK,IAAIxE,KAAO0S,EACVhT,OAAOsR,UAAUmO,eAAevM,KAAKF,EAAQ1S,KAC/CiX,EAAOjX,GAAO0S,EAAO1S,GAG3B,CAEA,OAAOiX,CACT,EAkBIshiB,GAA0B,SAAU1iiB,EAAKjW,GAC3C,IAAIqX,EAAS,CAAC,EAEd,IAAK,IAAIzS,KAAKqR,EACRjW,EAAK8C,QAAQ8B,IAAM,GAClB9E,OAAOsR,UAAUmO,eAAevM,KAAKiD,EAAKrR,KAC/CyS,EAAOzS,GAAKqR,EAAIrR,IAGlB,OAAOyS,CACT,EAUIuhiB,GAA0B,SAAiC/tiB,GAG3D,OAAe,OAFFpK,UAAUP,OAAS,QAAsBgJ,IAAjBzI,UAAU,KAAmBA,UAAU,IAGjEmgB,OAAO/V,GAGX+V,OAAO/V,GAAKC,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,UAAUA,QAAQ,KAAM,SAChI,EAEI+tiB,GAAwB,SAA+BC,GACvD,IAAIC,EAAiBC,GAAqBF,EAAWzB,GAAUS,OAC3DmB,EAAoBD,GAAqBF,EAAWR,IAExD,GAAIW,GAAqBF,EAErB,OAAOE,EAAkBnuiB,QAAQ,OAAO,WACpC,OAAO2J,MAAM8C,QAAQwhiB,GAAkBA,EAAej+hB,KAAK,IAAMi+hB,CACrE,IAGJ,IAAIG,EAAwBF,GAAqBF,EAAWR,IAE5D,OAAOS,GAAkBG,QAAyBhwiB,CACtD,EAEIiwiB,GAAyB,SAAgCL,GACzD,OAAOE,GAAqBF,EAAWR,KAAwC,WAAa,CAChG,EAEIc,GAA6B,SAAoCC,EAASP,GAC1E,OAAOA,EAAUn2iB,QAAO,SAAU1B,GAC9B,MAAiC,qBAAnBA,EAAMo4iB,EACxB,IAAGv3hB,KAAI,SAAU7gB,GACb,OAAOA,EAAMo4iB,EACjB,IAAGluiB,QAAO,SAAUmuiB,EAAUzmhB,GAC1B,OAAO4+B,GAAS,CAAC,EAAG6nf,EAAUzmhB,EAClC,GAAG,CAAC,EACR,EAEI0mhB,GAA0B,SAAiCC,EAAmBV,GAC9E,OAAOA,EAAUn2iB,QAAO,SAAU1B,GAC9B,MAAwC,qBAA1BA,EAAMo2iB,GAAUC,KAClC,IAAGx1hB,KAAI,SAAU7gB,GACb,OAAOA,EAAMo2iB,GAAUC,KAC3B,IAAGj1hB,UAAUlX,QAAO,SAAUsuiB,EAAkBz/R,GAC5C,IAAKy/R,EAAiBv5iB,OAGlB,IAFA,IAAIF,EAAOF,OAAOE,KAAKg6Q,GAEdp1Q,EAAI,EAAGA,EAAI5E,EAAKE,OAAQ0E,IAAK,CAClC,IACI80iB,EADe15iB,EAAK4E,GACiBmG,cAEzC,IAA0D,IAAtDyuiB,EAAkB12iB,QAAQ42iB,IAAiC1/R,EAAI0/R,GAC/D,OAAOD,EAAiB3wiB,OAAOkxQ,EAEvC,CAGJ,OAAOy/R,CACX,GAAG,GACP,EAEIE,GAAuB,SAA8Blvf,EAAS+uf,EAAmBV,GAEjF,IAAIc,EAAmB,CAAC,EAExB,OAAOd,EAAUn2iB,QAAO,SAAU1B,GAC9B,QAAIwT,MAAM8C,QAAQtW,EAAMwpD,MAGM,qBAAnBxpD,EAAMwpD,IACb5rC,GAAK,WAAa4rC,EAAU,mDAAwDymR,GAAQjwU,EAAMwpD,IAAY,MAE3G,EACX,IAAG3oC,KAAI,SAAU7gB,GACb,OAAOA,EAAMwpD,EACjB,IAAGpoC,UAAUlX,QAAO,SAAU0uiB,EAAcC,GACxC,IAAIC,EAAmB,CAAC,EAExBD,EAAan3iB,QAAO,SAAUq3Q,GAG1B,IAFA,IAAIggS,OAAsB,EACtBh6iB,EAAOF,OAAOE,KAAKg6Q,GACdp1Q,EAAI,EAAGA,EAAI5E,EAAKE,OAAQ0E,IAAK,CAClC,IAAIq1iB,EAAej6iB,EAAK4E,GACpB80iB,EAAwBO,EAAalviB,eAGiB,IAAtDyuiB,EAAkB12iB,QAAQ42iB,IAAmCM,IAAwBjC,IAAiE,cAA3C/9R,EAAIggS,GAAqBjviB,eAAoC2uiB,IAA0B3B,IAAmE,eAA7C/9R,EAAI0/R,GAAuB3uiB,gBACnPiviB,EAAsBN,IAGuB,IAA7CF,EAAkB12iB,QAAQm3iB,IAAyBA,IAAiBlC,IAA6BkC,IAAiBlC,IAA2BkC,IAAiBlC,KAC9JiC,EAAsBC,EAE9B,CAEA,IAAKD,IAAwBhgS,EAAIggS,GAC7B,OAAO,EAGX,IAAIh3iB,EAAQg3Q,EAAIggS,GAAqBjviB,cAUrC,OARK6uiB,EAAiBI,KAClBJ,EAAiBI,GAAuB,CAAC,GAGxCD,EAAiBC,KAClBD,EAAiBC,GAAuB,CAAC,IAGxCJ,EAAiBI,GAAqBh3iB,KACvC+2iB,EAAiBC,GAAqBh3iB,IAAS,GACxC,EAIf,IAAGqf,UAAU5iB,SAAQ,SAAUu6Q,GAC3B,OAAO6/R,EAAah4iB,KAAKm4Q,EAC7B,IAIA,IADA,IAAIh6Q,EAAOF,OAAOE,KAAK+5iB,GACdn1iB,EAAI,EAAGA,EAAI5E,EAAKE,OAAQ0E,IAAK,CAClC,IAAIq1iB,EAAej6iB,EAAK4E,GACpBs1iB,EAAWC,KAAa,CAAC,EAAGP,EAAiBK,GAAeF,EAAiBE,IAEjFL,EAAiBK,GAAgBC,CACrC,CAEA,OAAOL,CACX,GAAG,IAAIx3hB,SACX,EAEI22hB,GAAuB,SAA8BF,EAAWtsf,GAChE,IAAK,IAAI5nD,EAAIk0iB,EAAU54iB,OAAS,EAAG0E,GAAK,EAAGA,IAAK,CAC5C,IAAI3D,EAAQ63iB,EAAUl0iB,GAEtB,GAAI3D,EAAMse,eAAeitC,GACrB,OAAOvrD,EAAMurD,EAErB,CAEA,OAAO,IACX,EAoBI4tf,GAAc,WACd,IAAIC,EAAQ7+hB,KAAKK,MAEjB,OAAO,SAAUnc,GACb,IAAI46iB,EAAc9+hB,KAAKK,MAEnBy+hB,EAAcD,EAAQ,IACtBA,EAAQC,EACR56iB,EAAS46iB,IAETvwiB,YAAW,WACPqwiB,GAAY16iB,EAChB,GAAG,EAEX,CACJ,CAfkB,GAiBd66iB,GAAc,SAAqBx2iB,GACnC,OAAO02B,aAAa12B,EACxB,EAEIm7B,GAA0C,qBAAXpiB,OAAyBA,OAAOoiB,uBAAyBpiB,OAAOoiB,sBAAsBpuB,KAAKgM,SAAWA,OAAO+uB,6BAA+B/uB,OAAOgvB,0BAA4BsugB,GAAc1pL,EAAAA,EAAOxxV,uBAAyBk7gB,GAE5PlugB,GAAyC,qBAAXpvB,OAAyBA,OAAOovB,sBAAwBpvB,OAAOqvB,4BAA8BrvB,OAAOsvB,yBAA2BmugB,GAAc7pL,EAAAA,EAAOxkV,sBAAwBqugB,GAE1M17hB,GAAO,SAAc4jQ,GACrB,OAAO7jQ,SAAmC,oBAAjBA,QAAQC,MAAuBD,QAAQC,KAAK4jQ,EACzE,EAEI+3R,GAAkB,KAmBlBC,GAAmB,SAA0B17R,EAAUuzB,GACvD,IAAIooQ,EAAU37R,EAAS27R,QACnBC,EAAiB57R,EAAS47R,eAC1BC,EAAiB77R,EAAS67R,eAC1BC,EAAW97R,EAAS87R,SACpBC,EAAW/7R,EAAS+7R,SACpBC,EAAeh8R,EAASg8R,aACxBC,EAAsBj8R,EAASi8R,oBAC/BC,EAAal8R,EAASk8R,WACtBC,EAAYn8R,EAASm8R,UACrBzob,EAAQssJ,EAAStsJ,MACjB0ob,EAAkBp8R,EAASo8R,gBAE/BC,GAAiB/D,GAAUE,KAAMoD,GACjCS,GAAiB/D,GAAUI,KAAMmD,GAEjCS,GAAY5ob,EAAO0ob,GAEnB,IAAIG,EAAa,CACbZ,QAASa,GAAWlE,GAAUC,KAAMoD,GACpCG,SAAUU,GAAWlE,GAAUK,KAAMmD,GACrCC,SAAUS,GAAWlE,GAAUjiI,KAAM0lI,GACrCC,aAAcQ,GAAWlE,GAAUM,SAAUoD,GAC7CE,WAAYM,GAAWlE,GAAUO,OAAQqD,GACzCC,UAAWK,GAAWlE,GAAUQ,MAAOqD,IAGvCM,EAAY,CAAC,EACbC,EAAc,CAAC,EAEnB37iB,OAAOE,KAAKs7iB,GAAY77iB,SAAQ,SAAU45iB,GACtC,IAAIqC,EAAsBJ,EAAWjC,GACjCsC,EAAUD,EAAoBC,QAC9BC,EAAUF,EAAoBE,QAG9BD,EAAQz7iB,SACRs7iB,EAAUnC,GAAWsC,GAErBC,EAAQ17iB,SACRu7iB,EAAYpC,GAAWiC,EAAWjC,GAASuC,QAEnD,IAEAtpQ,GAAMA,IAEN0oQ,EAAoBj8R,EAAUy8R,EAAWC,EAC7C,EAEII,GAAe,SAAsBC,GACrC,OAAOrniB,MAAM8C,QAAQukiB,GAAiBA,EAAchhiB,KAAK,IAAMghiB,CACnE,EAEIT,GAAc,SAAqB5ob,EAAO93D,GACrB,qBAAV83D,GAAyBhtH,SAASgtH,QAAUA,IACnDhtH,SAASgtH,MAAQopb,GAAappb,IAGlC2ob,GAAiB/D,GAAUS,MAAOn9e,EACtC,EAEIygf,GAAmB,SAA0B3wf,EAASkQ,GACtD,IAAIohf,EAAat2iB,SAASs4D,qBAAqBtT,GAAS,GAExD,GAAKsxf,EAAL,CASA,IALA,IAAIC,EAAwBD,EAAWr9f,aAAa+5f,IAChDwD,EAAmBD,EAAwBA,EAAsBv5iB,MAAM,KAAO,GAC9Ey5iB,EAAqB,GAAGpziB,OAAOmziB,GAC/BE,EAAgBr8iB,OAAOE,KAAK26D,GAEvB/1D,EAAI,EAAGA,EAAIu3iB,EAAcj8iB,OAAQ0E,IAAK,CAC3C,IAAIqjL,EAAYk0X,EAAcv3iB,GAC1B5B,EAAQ23D,EAAWstH,IAAc,GAEjC8zX,EAAWr9f,aAAaupI,KAAejlL,GACvC+4iB,EAAWvziB,aAAay/K,EAAWjlL,IAGM,IAAzCi5iB,EAAiBn5iB,QAAQmlL,IACzBg0X,EAAiBp6iB,KAAKomL,GAG1B,IAAIm0X,EAAcF,EAAmBp5iB,QAAQmlL,IACxB,IAAjBm0X,GACAF,EAAmB/4iB,OAAOi5iB,EAAa,EAE/C,CAEA,IAAK,IAAInkhB,EAAKikhB,EAAmBh8iB,OAAS,EAAG+3B,GAAM,EAAGA,IAClD8jhB,EAAWxziB,gBAAgB2ziB,EAAmBjkhB,IAG9CgkhB,EAAiB/7iB,SAAWg8iB,EAAmBh8iB,OAC/C67iB,EAAWxziB,gBAAgBkwiB,IACpBsD,EAAWr9f,aAAa+5f,MAAsB0D,EAAcrhiB,KAAK,MACxEihiB,EAAWvziB,aAAaiwiB,GAAkB0D,EAAcrhiB,KAAK,KAhCjE,CAkCJ,EAEIygiB,GAAa,SAAoB9ziB,EAAM6wE,GACvC,IAAI+je,EAAc52iB,SAAS6mD,MAAQ7mD,SAAS++D,cAAc6ye,GAAUG,MAChE8E,EAAWD,EAAYtyf,iBAAiBtiD,EAAO,IAAMgxiB,GAAmB,KACxEmD,EAAUnniB,MAAMrD,UAAUoG,MAAMxE,KAAKspiB,GACrCX,EAAU,GACVY,OAAgB,EA4CpB,OA1CIjke,GAAQA,EAAKp4E,QACbo4E,EAAK74E,SAAQ,SAAUu6Q,GACnB,IAAI7uN,EAAa1lD,SAASC,cAAc+B,GAExC,IAAK,IAAIwgL,KAAa+xF,EAClB,GAAIA,EAAIz6P,eAAe0oK,GACnB,GAAIA,IAAc8vX,GACd5sf,EAAW5lD,UAAYy0Q,EAAIz0Q,eACxB,GAAI0iL,IAAc8vX,GACjB5sf,EAAWqxf,WACXrxf,EAAWqxf,WAAW1/d,QAAUk9L,EAAIl9L,QAEpC3xB,EAAW5kD,YAAYd,SAASe,eAAewzQ,EAAIl9L,cAEpD,CACH,IAAI95E,EAAkC,qBAAnBg3Q,EAAI/xF,GAA6B,GAAK+xF,EAAI/xF,GAC7D98H,EAAW3iD,aAAay/K,EAAWjlL,EACvC,CAIRmoD,EAAW3iD,aAAaiwiB,GAAkB,QAGtCmD,EAAQz7iB,MAAK,SAAUs8iB,EAAa5piB,GAEpC,OADA0piB,EAAgB1piB,EACTs4C,EAAWuxf,YAAYD,EAClC,IACIb,EAAQz4iB,OAAOo5iB,EAAe,GAE9BZ,EAAQ95iB,KAAKspD,EAErB,IAGJywf,EAAQn8iB,SAAQ,SAAUu6Q,GACtB,OAAOA,EAAIl0Q,WAAWkB,YAAYgzQ,EACtC,IACA2hS,EAAQl8iB,SAAQ,SAAUu6Q,GACtB,OAAOqiS,EAAY91iB,YAAYyzQ,EACnC,IAEO,CACH4hS,QAASA,EACTD,QAASA,EAEjB,EAEIgB,GAAoC,SAA2Chif,GAC/E,OAAO76D,OAAOE,KAAK26D,GAAYxvD,QAAO,SAAUN,EAAKzK,GACjD,IAAIy6D,EAAkC,qBAApBF,EAAWv6D,GAAuBA,EAAM,KAAQu6D,EAAWv6D,GAAO,IAAO,GAAKA,EAChG,OAAOyK,EAAMA,EAAM,IAAMgwD,EAAOA,CACpC,GAAG,GACP,EAyBI+hf,GAAuC,SAA8Cjif,GACrF,IAAIkif,EAAYp8iB,UAAUP,OAAS,QAAsBgJ,IAAjBzI,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAErF,OAAOX,OAAOE,KAAK26D,GAAYxvD,QAAO,SAAU8K,EAAK7V,GAEjD,OADA6V,EAAI+hiB,GAAc53iB,IAAQA,GAAOu6D,EAAWv6D,GACrC6V,CACX,GAAG4miB,EACP,EA8CIC,GAAmB,SAA0Br1iB,EAAM6wE,EAAM99D,GACzD,OAAQ/S,GACJ,KAAK4viB,GAAUS,MACX,MAAO,CACHjiZ,YAAa,WACT,OAxCgB,SAAuCpuJ,EAAMgrH,EAAO93D,GACpF,IAAIoif,EAGAF,IAAaE,EAAa,CAC1B38iB,IAAKqyH,IACKgmb,KAAoB,EAAMsE,GACpC97iB,EAAQ27iB,GAAqCjif,EAAYkif,GAE7D,MAAO,CAAC5vhB,EAAAA,cAAoBoqhB,GAAUS,MAAO72iB,EAAOwxH,GACxD,CA8B2Buqb,CAA8Bv1iB,EAAM6wE,EAAKm6C,MAAOn6C,EAAK6ie,gBAChE,EACA1iiB,SAAU,WACN,OApFQ,SAA+BhR,EAAMgrH,EAAO93D,EAAYngD,GAChF,IAAIyiiB,EAAkBN,GAAkChif,GACpDuif,EAAiBrB,GAAappb,GAClC,OAAOwqb,EAAkB,IAAMx1iB,EAAO,IAAMgxiB,GAAmB,WAAewE,EAAkB,IAAMrE,GAAwBsE,EAAgB1iiB,GAAU,KAAO/S,EAAO,IAAM,IAAMA,EAAO,IAAMgxiB,GAAmB,WAAeG,GAAwBsE,EAAgB1iiB,GAAU,KAAO/S,EAAO,GACrS,CAgF2B01iB,CAAsB11iB,EAAM6wE,EAAKm6C,MAAOn6C,EAAK6ie,gBAAiB3giB,EACzE,GAER,KAAK48hB,GACL,KAAKA,GACD,MAAO,CACHvhZ,YAAa,WACT,OAAO+mZ,GAAqCtke,EAChD,EACA7/D,SAAU,WACN,OAAOkkiB,GAAkCrke,EAC7C,GAER,QACI,MAAO,CACHu9E,YAAa,WACT,OA/Ce,SAAsCpuJ,EAAM6wE,GAC3E,OAAOA,EAAKx2D,KAAI,SAAUk4P,EAAKp1Q,GAC3B,IAAIw4iB,EAEAC,IAAaD,EAAa,CAC1Bh9iB,IAAKwE,IACK6ziB,KAAoB,EAAM2E,GAaxC,OAXAt9iB,OAAOE,KAAKg6Q,GAAKv6Q,SAAQ,SAAUwoL,GAC/B,IAAIq1X,EAAkBtF,GAAc/vX,IAAcA,EAElD,GAAIq1X,IAAoBvF,IAA6BuF,IAAoBvF,GAAyB,CAC9F,IAAI53hB,EAAU65P,EAAIz0Q,WAAay0Q,EAAIl9L,QACnCuge,EAAUh4iB,wBAA0B,CAAEC,OAAQ6a,EAClD,MACIk9hB,EAAUC,GAAmBtjS,EAAI/xF,EAEzC,IAEOh7J,EAAAA,cAAoBxlB,EAAM41iB,EACrC,GACJ,CA0B2BE,CAA6B91iB,EAAM6wE,EAC9C,EACA7/D,SAAU,WACN,OAjGO,SAA8BhR,EAAM6wE,EAAM99D,GACjE,OAAO89D,EAAKntE,QAAO,SAAUN,EAAKmvQ,GAC9B,IAAIwjS,EAAgB19iB,OAAOE,KAAKg6Q,GAAKr3Q,QAAO,SAAUslL,GAClD,QAASA,IAAc8vX,IAA6B9vX,IAAc8vX,GACtE,IAAG5siB,QAAO,SAAU6yB,EAAQiqJ,GACxB,IAAIptH,EAAiC,qBAAnBm/M,EAAI/xF,GAA6BA,EAAYA,EAAY,KAAQ2wX,GAAwB5+R,EAAI/xF,GAAYztK,GAAU,IACrI,OAAOwjB,EAASA,EAAS,IAAM68B,EAAOA,CAC1C,GAAG,IAEC4if,EAAazjS,EAAIz0Q,WAAay0Q,EAAIl9L,SAAW,GAE7C4ge,GAAqD,IAArClF,GAAkB11iB,QAAQ2E,GAE9C,OAAOoD,EAAM,IAAMpD,EAAO,IAAMgxiB,GAAmB,WAAe+E,GAAiBE,EAAgB,KAAO,IAAMD,EAAa,KAAOh2iB,EAAO,IAC/I,GAAG,GACP,CAkF2Bk2iB,CAAqBl2iB,EAAM6wE,EAAM99D,EAC5C,GAGhB,EAEI49T,GAAmB,SAA0B/sU,GAC7C,IAAIqviB,EAAUrviB,EAAKqviB,QACfC,EAAiBtviB,EAAKsviB,eACtBngiB,EAASnP,EAAKmP,OACdogiB,EAAiBvviB,EAAKuviB,eACtBC,EAAWxviB,EAAKwviB,SAChBC,EAAWzviB,EAAKyviB,SAChBC,EAAe1viB,EAAK0viB,aACpBE,EAAa5viB,EAAK4viB,WAClBC,EAAY7viB,EAAK6viB,UACjB0C,EAAavyiB,EAAKonH,MAClBA,OAAuBvpH,IAAf00iB,EAA2B,GAAKA,EACxCzC,EAAkB9viB,EAAK8viB,gBAC3B,MAAO,CACH56V,KAAMu8V,GAAiBzF,GAAUC,KAAMoD,EAASlgiB,GAChDmgiB,eAAgBmC,GAAiB1F,GAAsBuD,EAAgBngiB,GACvEogiB,eAAgBkC,GAAiB1F,GAAsBwD,EAAgBpgiB,GACvE4qO,KAAM03T,GAAiBzF,GAAUK,KAAMmD,EAAUrgiB,GACjD27R,KAAM2mQ,GAAiBzF,GAAUjiI,KAAM0lI,EAAUtgiB,GACjDqjiB,SAAUf,GAAiBzF,GAAUM,SAAUoD,EAAcvgiB,GAC7DwuD,OAAQ8ze,GAAiBzF,GAAUO,OAAQqD,EAAYzgiB,GACvD/P,MAAOqyiB,GAAiBzF,GAAUQ,MAAOqD,EAAW1giB,GACpDi4G,MAAOqqb,GAAiBzF,GAAUS,MAAO,CAAErlb,MAAOA,EAAO0ob,gBAAiBA,GAAmB3giB,GAErG,EA0PIsjiB,GAxPS,SAAgBx9iB,GACzB,IAAIy9iB,EAAQrvO,EAEZ,OAAOA,EAAQqvO,EAAS,SAAUtuN,GAG9B,SAASuuN,IAEL,OAjlBS,SAAUp2iB,EAAUulU,GACvC,KAAMvlU,aAAoBulU,GACxB,MAAM,IAAIj7T,UAAU,oCAExB,CA4kBY+riB,CAAe7+iB,KAAM4+iB,GA9gBD,SAAUp1f,EAAM51C,GAC9C,IAAK41C,EACH,MAAM,IAAIslR,eAAe,6DAG3B,OAAOl7T,GAAyB,kBAATA,GAAqC,oBAATA,EAA8B41C,EAAP51C,CAC5E,CAygBmBkriB,CAA0B9+iB,KAAMqwV,EAAiB/6U,MAAMtV,KAAMqB,WACxE,CA6LA,OAzuBO,SAAUuuU,EAAUC,GACjC,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAI/8T,UAAU,kEAAoE+8T,GAG1FD,EAAS59T,UAAYtR,OAAOwR,OAAO29T,GAAcA,EAAW79T,UAAW,CACrE7Q,YAAa,CACXyC,MAAOgsU,EACP9tT,YAAY,EACZiH,UAAU,EACVD,cAAc,KAGd+mT,IAAYnvU,OAAO4sB,eAAiB5sB,OAAO4sB,eAAesiT,EAAUC,GAAcD,EAASriT,UAAYsiT,EAC7G,CAyhBQ/7T,CAAS8qiB,EAAevuN,GAOxBuuN,EAAc5siB,UAAUtQ,sBAAwB,SAA+BC,GAC3E,OAAQuvV,KAAQlxV,KAAK6B,MAAOF,EAChC,EAEAi9iB,EAAc5siB,UAAU+siB,yBAA2B,SAAkCp3iB,EAAOq3iB,GACxF,IAAKA,EACD,OAAO,KAGX,OAAQr3iB,EAAMU,MACV,KAAK4viB,GAAUO,OACf,KAAKP,GAAUM,SACX,MAAO,CACHpyiB,UAAW64iB,GAGnB,KAAK/G,GAAUQ,MACX,MAAO,CACH/6d,QAASshe,GAIrB,MAAM,IAAI7+iB,MAAM,IAAMwH,EAAMU,KAAO,qGACvC,EAEAu2iB,EAAc5siB,UAAUitiB,yBAA2B,SAAkChziB,GACjF,IAAIiziB,EAEAv3iB,EAAQsE,EAAKtE,MACbw3iB,EAAoBlziB,EAAKkziB,kBACzBC,EAAgBnziB,EAAKmziB,cACrBJ,EAAiB/yiB,EAAK+yiB,eAE1B,OAAO3sf,GAAS,CAAC,EAAG8sf,IAAoBD,EAAwB,CAAC,GAAyBv3iB,EAAMU,MAAQ,GAAGqB,OAAOy1iB,EAAkBx3iB,EAAMU,OAAS,GAAI,CAACgqD,GAAS,CAAC,EAAG+sf,EAAep/iB,KAAK++iB,yBAAyBp3iB,EAAOq3iB,MAAoBE,GACjP,EAEAN,EAAc5siB,UAAUqtiB,sBAAwB,SAA+B1mf,GAC3E,IAAI2mf,EAAwBC,EAExB53iB,EAAQgxD,EAAMhxD,MACd8pB,EAAWknC,EAAMlnC,SACjB2thB,EAAgBzmf,EAAMymf,cACtBJ,EAAiBrmf,EAAMqmf,eAE3B,OAAQr3iB,EAAMU,MACV,KAAK4viB,GAAUS,MACX,OAAOrmf,GAAS,CAAC,EAAG5gC,IAAW6thB,EAAyB,CAAC,GAA0B33iB,EAAMU,MAAQ22iB,EAAgBM,EAAuBvD,gBAAkB1pf,GAAS,CAAC,EAAG+sf,GAAgBE,IAE3L,KAAKrH,GAAUE,KACX,OAAO9lf,GAAS,CAAC,EAAG5gC,EAAU,CAC1B8phB,eAAgBlpf,GAAS,CAAC,EAAG+sf,KAGrC,KAAKnH,GAAUI,KACX,OAAOhmf,GAAS,CAAC,EAAG5gC,EAAU,CAC1B+phB,eAAgBnpf,GAAS,CAAC,EAAG+sf,KAIzC,OAAO/sf,GAAS,CAAC,EAAG5gC,IAAW8thB,EAAyB,CAAC,GAA0B53iB,EAAMU,MAAQgqD,GAAS,CAAC,EAAG+sf,GAAgBG,GAClI,EAEAX,EAAc5siB,UAAUwtiB,4BAA8B,SAAqCL,EAAmB1thB,GAC1G,IAAIguhB,EAAoBptf,GAAS,CAAC,EAAG5gC,GAQrC,OANA/wB,OAAOE,KAAKu+iB,GAAmB9+iB,SAAQ,SAAUq/iB,GAC7C,IAAIC,EAEJF,EAAoBptf,GAAS,CAAC,EAAGotf,IAAoBE,EAAyB,CAAC,GAA0BD,GAAkBP,EAAkBO,GAAiBC,GAClK,IAEOF,CACX,EAEAb,EAAc5siB,UAAU4tiB,sBAAwB,SAA+Bj4iB,EAAOq3iB,GAmBlF,OAAO,CACX,EAEAJ,EAAc5siB,UAAU6tiB,mBAAqB,SAA4B76iB,EAAUysB,GAC/E,IAAIqoL,EAAS95M,KAETm/iB,EAAoB,CAAC,EAyCzB,OAvCAtxhB,EAAAA,SAAextB,QAAQ2E,GAAU,SAAU2C,GACvC,GAAKA,GAAUA,EAAM9F,MAArB,CAIA,IAAIkmb,EAAepgb,EAAM9F,MACrBm9iB,EAAiBj3H,EAAa/ib,SAG9Bo6iB,EAhOoB,SAA2Cv9iB,GAC/E,IAAIi+iB,EAAiBz+iB,UAAUP,OAAS,QAAsBgJ,IAAjBzI,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAE1F,OAAOX,OAAOE,KAAKiB,GAAOkK,QAAO,SAAU8K,EAAK7V,GAE5C,OADA6V,EAAIsiiB,GAAan4iB,IAAQA,GAAOa,EAAMb,GAC/B6V,CACX,GAAGipiB,EACP,CAyNoCC,CAFHxG,GAAwBxxH,EAAc,CAAC,cAMxD,OAFAjuO,EAAO8lW,sBAAsBj4iB,EAAOq3iB,GAE5Br3iB,EAAMU,MACV,KAAK4viB,GAAUK,KACf,KAAKL,GAAUjiI,KACf,KAAKiiI,GAAUM,SACf,KAAKN,GAAUO,OACf,KAAKP,GAAUQ,MACX0G,EAAoBrlW,EAAOmlW,yBAAyB,CAChDt3iB,MAAOA,EACPw3iB,kBAAmBA,EACnBC,cAAeA,EACfJ,eAAgBA,IAEpB,MAEJ,QACIvthB,EAAWqoL,EAAOulW,sBAAsB,CACpC13iB,MAAOA,EACP8pB,SAAUA,EACV2thB,cAAeA,EACfJ,eAAgBA,IA7B5B,CAiCJ,IAEAvthB,EAAWzxB,KAAKw/iB,4BAA4BL,EAAmB1thB,EAEnE,EAEAmthB,EAAc5siB,UAAUjN,OAAS,WAC7B,IAAI+lH,EAAS9qH,KAAK6B,MACdmD,EAAW8lH,EAAO9lH,SAClBnD,EAAQ03iB,GAAwBzub,EAAQ,CAAC,aAEzCr5F,EAAW4gC,GAAS,CAAC,EAAGxwD,GAM5B,OAJImD,IACAysB,EAAWzxB,KAAK6/iB,mBAAmB76iB,EAAUysB,IAG1C5D,EAAAA,cAAoB3sB,EAAWuwB,EAC1C,EAEA6nhB,GAAYsF,EAAe,KAAM,CAAC,CAC9B59iB,IAAK,YAyBLi5B,IAAK,SAAgB0xO,GACjBzqQ,EAAUyqQ,UAAYA,CAC1B,KAEGizS,CACX,CApMwB,CAoMtB/whB,EAAAA,WAAkB8whB,EAAOhghB,UAAY,CACnCwiL,KAAM1iL,KAAAA,OACN88gB,eAAgB98gB,KAAAA,OAChBz5B,SAAUy5B,KAAAA,UAAoB,CAACA,KAAAA,QAAkBA,KAAAA,MAAiBA,KAAAA,OAClEuhhB,aAAcvhhB,KAAAA,OACdwhhB,MAAOxhhB,KAAAA,KACP+6gB,wBAAyB/6gB,KAAAA,KACzB+8gB,eAAgB/8gB,KAAAA,OAChBunN,KAAMvnN,KAAAA,QAAkBA,KAAAA,QACxBs4Q,KAAMt4Q,KAAAA,QAAkBA,KAAAA,QACxBgghB,SAAUhghB,KAAAA,QAAkBA,KAAAA,QAC5Bm9gB,oBAAqBn9gB,KAAAA,KACrBmrC,OAAQnrC,KAAAA,QAAkBA,KAAAA,QAC1BpzB,MAAOozB,KAAAA,QAAkBA,KAAAA,QACzB40F,MAAO50F,KAAAA,OACPs9gB,gBAAiBt9gB,KAAAA,OACjBoyL,cAAepyL,KAAAA,QAChBkghB,EAAOp0b,aAAe,CACrB01b,OAAO,EACPzG,yBAAyB,GAC1BmF,EAAOrlO,KAAOp4U,EAAUo4U,KAAMqlO,EAAOplO,OAAS,WAC7C,IAAI2mO,EAAch/iB,EAAUq4U,SAkB5B,OAjBK2mO,IAEDA,EAAclnO,GAAiB,CAC3BsiO,QAAS,GACTC,eAAgB,CAAC,EACjB/B,yBAAyB,EACzBgC,eAAgB,CAAC,EACjBC,SAAU,GACVC,SAAU,GACVC,aAAc,GACdE,WAAY,GACZC,UAAW,GACXzob,MAAO,GACP0ob,gBAAiB,CAAC,KAInBmE,CACX,EAAG5wO,CACP,CAQmB6wO,CAFKC,MAnmBC,SAA4B1G,GACjD,MAAO,CACH4B,QAASnB,GAAwB,CAACxB,GAAqBA,IAAwBe,GAC/E6B,eAAgBvB,GAA2BhC,GAAsB0B,GACjEuG,MAAOrG,GAAqBF,EAAWR,IACvC99hB,OAAQw+hB,GAAqBF,EAAWR,IACxCsC,eAAgBxB,GAA2BhC,GAAsB0B,GACjE+B,SAAUlB,GAAqBtC,GAAUK,KAAM,CAACK,GAAoBA,IAAsBe,GAC1FgC,SAAUnB,GAAqBtC,GAAUjiI,KAAM,CAAC2iI,GAAqBA,GAAwBA,GAA0BA,GAAyBA,IAA2Be,GAC3KiC,aAAcpB,GAAqBtC,GAAUM,SAAU,CAACI,IAA4Be,GACpFkC,oBAAqB7B,GAAuBL,GAC5CmC,WAAYtB,GAAqBtC,GAAUO,OAAQ,CAACG,GAAoBA,IAA4Be,GACpGoC,UAAWvB,GAAqBtC,GAAUQ,MAAO,CAACE,IAA0Be,GAC5Ermb,MAAOomb,GAAsBC,GAC7BqC,gBAAiB/B,GAA2BhC,GAAuB0B,GAE3E,IAiC8B,SAAiC/5R,GACvDy7R,IACAtugB,GAAqBsugB,IAGrBz7R,EAASsgS,MACT7E,GAAkBt7gB,IAAsB,WACpCu7gB,GAAiB17R,GAAU,WACvBy7R,GAAkB,IACtB,GACJ,KAEAC,GAAiB17R,GACjBy7R,GAAkB,KAE1B,GAmiBoFpiO,GAA5DonO,EAJJ,WAChB,OAAO,IACX,KAKA1B,GAAa2B,aAAe3B,GAAanlO,6FC34BzC,IAAI+mO,GAA4BzyhB,EAAAA,YAAiB,SAAUhsB,EAAOyG,GAChE,IAAIi2V,EAAY18V,EAAM08V,UACpBu5C,EAAcj2Y,EAAMi2Y,YACpB10Y,EAAYvB,EAAMuB,UAClBiI,EAAQxJ,EAAMwJ,MACdrG,EAAWnD,EAAMmD,SACjBukG,EAAW1nG,EAAM0nG,SACjBitB,EAAO30H,EAAM20H,KAEbg/O,EAAmBjgB,GADC1nU,EAAAA,SAAe07E,GAAYuuS,GACI,GACnD08G,EAAWh/I,EAAiB,GAC5Bi/I,EAAcj/I,EAAiB,GAMjC,OALA3nV,EAAAA,WAAgB,YACViqX,GAAevuS,IACjBkrZ,GAAY,EAEhB,GAAG,CAAC38G,EAAavuS,IACZirZ,EAGe3me,EAAAA,cAAoB,MAAO,CAC7CvlB,IAAKA,EACLlF,UAAWooiB,IAAW,GAAG9hiB,OAAO60V,EAAW,aAAa1lB,EAAAA,EAAAA,IAAgBA,EAAAA,EAAAA,GAAgB,CAAC,EAAG,GAAGnvU,OAAO60V,EAAW,mBAAoBh1P,GAAW,GAAG7/F,OAAO60V,EAAW,sBAAuBh1P,GAAWnmG,GACvMiI,MAAOA,EACPmrH,KAAMA,GACQ3oG,EAAAA,cAAoB,MAAO,CACzCzqB,UAAW,GAAGsG,OAAO60V,EAAW,iBAC/Bv5V,IATM,IAUX,IACAs7iB,GAAa/zS,YAAc,eAC3B,YC/BA,IAAI5xK,GAAY,CAAC,YAAa,cAAe,WAAY,cAAe,cAAe,YAAa,YAAa,cAAe,YAAa,WAAY,QAAS,SAAU,aAAc,aAAc,uBAAwB,YAM5N4ld,GAA6B1yhB,EAAAA,YAAiB,SAAUhsB,EAAOyG,GACjE,IAAIi+b,EAAmB1kc,EAAM2kc,UAC3BA,OAAiC,IAArBD,GAAqCA,EACjDi6G,EAAc3+iB,EAAM2+iB,YACpBj3c,EAAW1nG,EAAM0nG,SACjB7lE,EAAc7hC,EAAM6hC,YACpBo0W,EAAcj2Y,EAAMi2Y,YACpB10Y,EAAYvB,EAAMuB,UAClBm7V,EAAY18V,EAAM08V,UAClBqwI,EAAc/se,EAAM+se,YACpB6xE,EAAY5+iB,EAAM4+iB,UAClBC,EAAW7+iB,EAAM6+iB,SACjB5sd,EAAQjyF,EAAMiyF,MACdujI,EAASx1N,EAAMw1N,OACfsyN,EAAa9nb,EAAM8nb,WACnBg3H,EAAa9+iB,EAAM8+iB,WACnBC,EAAuB/+iB,EAAM++iB,qBAC7B57iB,EAAWnD,EAAMmD,SACjB67iB,EAAaxsN,EAAyBxyV,EAAO84F,IAC3C14D,EAA2B,aAAhB2sc,EACXkyE,EAAoC,WAAhBlyE,EACpBmyE,EAAkC,SAAhBnyE,EAClBoyE,EAAyB,OAAVltd,QAA4BhqF,IAAVgqF,GAAwC,mBAAVA,EAC/Dmtd,EAAkB,WACJ,OAAhBv9gB,QAAwC,IAAhBA,GAA0BA,EAAYg9gB,EAChE,EAQItlL,EAAiC,oBAAfuuD,EAA4BA,EAAW9nb,GAAsBgsB,EAAAA,cAAoB,IAAK,CAC1GzqB,UAAW,UAETg4X,IACFA,EAAwBvtW,EAAAA,cAAoB,MAAO,CACjDzqB,UAAW,GAAGsG,OAAO60V,EAAW,gBAChCj3T,QAAS,CAAC,SAAU,QAAQhP,SAASs2c,GAAeqyE,OAAkBn3iB,GACrEsxX,IAEL,IAAI8lL,EAA0BrvhB,KAAWgnT,EAAAA,EAAAA,IAAgBA,EAAAA,EAAAA,IAAgBA,EAAAA,EAAAA,GAAgB,CAAC,EAAG,GAAGnvU,OAAO60V,EAAW,UAAU,GAAO,GAAG70V,OAAO60V,EAAW,gBAAiBh1P,GAAW,GAAG7/F,OAAO60V,EAAW,kBAAmBt8T,GAAW7+B,GAInO0qd,EAAc,CAChB1qd,UAJoByuB,IAAW2uhB,GAAa3nO,EAAAA,EAAAA,IAAgBA,EAAAA,EAAAA,IAAgBA,EAAAA,EAAAA,GAAgB,CAAC,EAAG,GAAGnvU,OAAO60V,EAAW,YAAY,GAAO,GAAG70V,OAAO60V,EAAW,4BAA6BuiN,GAAoB,GAAGp3iB,OAAO60V,EAAW,0BAA2BwiN,IAK9P,gBAAiBx3c,EACjB,gBAAiBtnE,EACjBkI,UAxBkB,SAAuBvnC,GAC3B,UAAVA,EAAE5B,KAAmB4B,EAAE+rG,UAAYolU,GAAQK,OAASxxa,EAAEsgG,QAAU6wU,GAAQK,OAC1E6sI,GAEJ,GA6BA,OAPKH,GAAsBC,IACzBjzF,EAAYxmb,QAAU25gB,EACtBnzF,EAAYt3V,KAAOiqb,EAAY,MAAQ,SACvC3yF,EAAYhob,SAAW7D,GAAY,EAAI,GAIrBpU,EAAAA,cAAoB,OAAOwkC,EAAAA,EAAAA,GAAS,CAAC,EAAGwuf,EAAY,CACtEv4iB,IAAKA,EACLlF,UAAW89iB,IACIrzhB,EAAAA,cAAoB,MAAOigc,EAAatnB,GAAaprE,EAAuBvtW,EAAAA,cAAoB,OAAQ,CACvHzqB,UAAW,GAAGsG,OAAO60V,EAAW,gBAChCj3T,QAAyB,WAAhBsnc,EAA2BqyE,OAAkBn3iB,GACrDutN,GAAS2pV,GAA6BnzhB,EAAAA,cAAoB,MAAO,CAClEzqB,UAAW,GAAGsG,OAAO60V,EAAW,WAC/BzqQ,IAAsBjmE,EAAAA,cAAoB6pX,IAAWrlV,EAAAA,EAAAA,GAAS,CAC/DrsB,QAASujE,EACTyuS,gBAAiB,GAAGtuY,OAAO60V,EAAW,oBACrCoiN,EAAY,CACb7oK,YAAaA,EACbD,cAAe+oK,KACb,SAAU30iB,EAAMg2Z,GAClB,IAAIxf,EAAkBx2Y,EAAK7I,UACzBihZ,EAAcp4Y,EAAKZ,MACrB,OAAoBwiB,EAAAA,cAAoByyhB,GAAc,CACpDh4iB,IAAK25Z,EACL1jE,UAAWA,EACXn7V,UAAWq/Y,EACXp3Y,MAAOg5Y,EACP96S,SAAUA,EACVuuS,YAAaA,EACbthR,KAAMiqb,EAAY,gBAAa,GAC9Bz7iB,EACL,IACF,IACA,YC9FA,IAAI21F,GAAY,CAAC,WAAY,QAAS,MAAO,cAAe,cAAe,wBAyH3E,SARA,SAAkB53D,EAAOo+gB,EAAat/iB,GACpC,OAAIwT,MAAM8C,QAAQ4qB,GA9GM,SAA6BA,EAAOlhC,GAC5D,IAAI08V,EAAY18V,EAAM08V,UACpBkiN,EAAY5+iB,EAAM4+iB,UAClB7xE,EAAc/se,EAAM+se,YACpBgyE,EAAuB/+iB,EAAM++iB,qBAC7Bl9gB,EAAc7hC,EAAM6hC,YACpB8+Y,EAAY3gb,EAAM2gb,UAClBm+H,EAAa9+iB,EAAM8+iB,WACnBh3H,EAAa9nb,EAAM8nb,WACrB,OAAO5mZ,EAAMrgB,KAAI,SAAUnY,EAAMkJ,GAC/B,IAAIzO,EAAWuF,EAAKvF,SAClBukC,EAAQh/B,EAAKg/B,MACbiyd,EAASjxf,EAAKvJ,IACdogjB,EAAiB72iB,EAAKqke,YACtByyE,EAAiB92iB,EAAKm5B,YACtB49gB,EAA0B/2iB,EAAKq2iB,qBAC/B39Y,EAAYoxL,EAAyB9pV,EAAMowF,IAIzC35F,EAAMwgB,OAAkB,OAAXg6e,QAA8B,IAAXA,EAAoBA,EAAS/nf,GAC7D8tiB,EAAsC,OAAnBH,QAA8C,IAAnBA,EAA4BA,EAAiBxyE,EAC3F4yE,EAAwD,OAA5BF,QAAgE,IAA5BA,EAAqCA,EAA0BV,EAM/Hr3c,GAAW,EAMf,OAJEA,EADEk3c,EACSj+H,EAAU,KAAOxhb,EAEjBwhb,EAAU9+a,QAAQ1C,IAAQ,EAEnB6sB,EAAAA,cAAoB0yhB,IAAeluf,EAAAA,EAAAA,GAAS,CAAC,EAAG4wG,EAAW,CAC7Es7L,UAAWA,EACXv9V,IAAKA,EACL0/iB,SAAU1/iB,EACVuoG,SAAUA,EACVk3c,UAAWA,EACXE,WAAYA,EACZh3H,WAAYA,EACZtyN,OAAQ9tL,EACRqlc,YAAa2yE,EACb79gB,YArBoB,SAAyB9/B,GACpB,aAArB29iB,IACJ79gB,EAAY9/B,GACO,OAAnBy9iB,QAA8C,IAAnBA,GAA6BA,EAAez9iB,GACzE,EAkBEg9iB,qBAAsBY,IACpBx8iB,EACN,GACF,CA+DWumb,CAAoBxoZ,EAAOlhC,GAE7Bgd,EAAQsiiB,GAAaz+hB,KAAI,SAAU/a,EAAO8L,GAC/C,OA7Dc,SAAqB9L,EAAO8L,EAAO5R,GACnD,IAAK8F,EAAO,OAAO,KACnB,IAAI42V,EAAY18V,EAAM08V,UACpBkiN,EAAY5+iB,EAAM4+iB,UAClB7xE,EAAc/se,EAAM+se,YACpBgyE,EAAuB/+iB,EAAM++iB,qBAC7Bl9gB,EAAc7hC,EAAM6hC,YACpB8+Y,EAAY3gb,EAAM2gb,UAClBm+H,EAAa9+iB,EAAM8+iB,WACnBh3H,EAAa9nb,EAAM8nb,WACjB3ob,EAAM2G,EAAM3G,KAAOwgB,OAAO/N,GAC1Bs0a,EAAepgb,EAAM9F,MACvBw1N,EAAS0wN,EAAa1wN,OACtBmpV,EAAcz4H,EAAay4H,YAC3BiB,EAA4B15H,EAAa64H,qBACzCc,EAAmB35H,EAAa6mD,YAChC+yE,EAAmB55H,EAAarkZ,YAC9B6lE,GAAW,EAEbA,EADEk3c,EACSj+H,EAAU,KAAOxhb,EAEjBwhb,EAAU9+a,QAAQ1C,IAAQ,EAEvC,IAAIugjB,EAAwC,OAArBG,QAAkD,IAArBA,EAA8BA,EAAmB9yE,EAMjGr7I,EAAa,CACfvyV,IAAKA,EACL0/iB,SAAU1/iB,EACVq2N,OAAQA,EACRmpV,YAAaA,EACbj3c,SAAUA,EACVg1P,UAAWA,EACXqiN,qBAAoD,OAA9Ba,QAAoE,IAA9BA,EAAuCA,EAA4Bb,EAC/HD,WAAYA,EACZF,UAAWA,EACXz7iB,SAAU2C,EAAM9F,MAAMmD,SACtB0+B,YAhBoB,SAAyB9/B,GACpB,aAArB29iB,IACJ79gB,EAAY9/B,GACS,OAArB+9iB,QAAkD,IAArBA,GAA+BA,EAAiB/9iB,GAC/E,EAaE+lb,WAAYA,EACZilD,YAAa2yE,GAIf,MAA0B,kBAAf55iB,EAAMU,KACRV,GAETjH,OAAOE,KAAK2yV,GAAYlzV,SAAQ,SAAU48B,GACJ,qBAAzBs2T,EAAWt2T,WACbs2T,EAAWt2T,EAEtB,IACoBpP,EAAAA,aAAmBlmB,EAAO4rV,GAChD,CAMWquN,CAAYj6iB,EAAO8L,EAAO5R,EACnC,GACF,EC/GA,SAASggjB,GAAmBr/H,GAC1B,IAAIs/H,EAAmBt/H,EACvB,IAAKnta,MAAM8C,QAAQ2piB,GAAmB,CACpC,IAAIC,GAAgBjwO,EAAAA,EAAAA,GAAQgwO,GAC5BA,EAAqC,WAAlBC,GAAgD,WAAlBA,EAA6B,CAACD,GAAoB,EACrG,CACA,OAAOA,EAAiBp/hB,KAAI,SAAU1hB,GACpC,OAAOwgB,OAAOxgB,EAChB,GACF,CACA,IAAIghjB,GAAwBn0hB,EAAAA,YAAiB,SAAUhsB,EAAOyG,GAC5D,IAAIg0X,EAAmBz6X,EAAM08V,UAC3BA,OAAiC,IAArB+9B,EAA8B,cAAgBA,EAC1D2lL,EAAwBpgjB,EAAM++iB,qBAC9BA,OAAiD,IAA1BqB,GAA2CA,EAClE52iB,EAAQxJ,EAAMwJ,MACdo1iB,EAAY5+iB,EAAM4+iB,UAClBr9iB,EAAYvB,EAAMuB,UAClB4B,EAAWnD,EAAMmD,SACjB4pe,EAAc/se,EAAM+se,YACpB+xE,EAAa9+iB,EAAM8+iB,WACnBh3H,EAAa9nb,EAAM8nb,WACnBu4H,EAAergjB,EAAM2gb,UACrBiZ,EAAmB55b,EAAM45b,iBACzBsxD,EAAYlrf,EAAM8nC,SAClB5G,EAAQlhC,EAAMkhC,MACZo/gB,EAAoBtwhB,IAAW0sU,EAAWn7V,GAC1Cwqb,EAAkBl4E,GAAe,GAAI,CACrC9xW,MAAOs+iB,EACPv4gB,SAAU,SAAkBpuB,GAC1B,OAAqB,OAAdwxe,QAAoC,IAAdA,OAAuB,EAASA,EAAUxxe,EACzE,EACA7W,aAAc+2b,EACd7lF,UAAWisM,KAEb7kL,EAAmBznC,GAAeq4F,EAAiB,GACnDpL,EAAYxlD,EAAiB,GAC7BolL,EAAeplL,EAAiB,GAkBlCvxD,IAASzmU,EAAU,+FACnB,IAAI+rZ,EAAiBsxJ,GAASt/gB,EAAO/9B,EAAU,CAC7Cu5V,UAAWA,EACXkiN,UAAWA,EACXE,WAAYA,EACZh3H,WAAYA,EACZilD,YAAaA,EACbgyE,qBAAsBA,EACtBl9gB,YAzBgB,SAAqB1iC,GACrC,OAAOohjB,GAAa,WAClB,OAAI3B,EACKj+H,EAAU,KAAOxhb,EAAM,GAAK,CAACA,GAE1Bwhb,EAAU9+a,QAAQ1C,IACN,EAEfwhb,EAAUj/a,QAAO,SAAUgH,GAChC,OAAOA,IAASvJ,CAClB,IAEK,GAAG0I,OAAOu5U,EAAmBu/F,GAAY,CAACxhb,GACnD,GACF,EAYEwhb,UAAWA,IAIb,OAAoB30Z,EAAAA,cAAoB,OAAOwkC,EAAAA,EAAAA,GAAS,CACtD/pD,IAAKA,EACLlF,UAAW++iB,EACX92iB,MAAOA,EACPmrH,KAAMiqb,EAAY,eAAY32iB,GAC7B86X,GAAU/iY,EAAO,CAClBmrH,MAAM,EACN1/G,MAAM,KACHyjZ,EACP,IACA,SAAerwZ,OAAOoE,OAAOk9iB,GAAU,CAIrCzzF,MAAOgyF,KC5FT,MAKYyB,GAASzzF,MCCrB,MAwBA,GAxBmC1gc,EAAAA,YAAiB,CAAChsB,EAAOyG,KAK1D,MAAM,aACJ83U,GACEvyT,EAAAA,WAAiB+5F,IAEnB22O,UAAWhe,EAAkB,UAC7Bn9U,EAAS,UACTojc,GAAY,GACV3kc,EACE08V,EAAYne,EAAa,WAAYG,GACrC+hO,EAAyBzwhB,IAAW,CACxC,CAAC,GAADnoB,OAAI60V,EAAS,eAAeioG,GAC3Bpjc,GACH,OAAoByqB,EAAAA,cAAoB00hB,GAAAA,MAAkB7hjB,OAAOoE,OAAO,CACtEwD,IAAKA,GACJzG,EAAO,CACR08V,UAAWA,EACXn7V,UAAWk/iB,IACV,ICzBQjrJ,GAAepkZ,IAC1B,MAAM,aACJ+hW,EAAY,UACZqvL,EAAS,QACT30gB,EAAO,SACP+ya,EAAQ,cACR6xG,EAAa,wBACbkO,EAAuB,wBACvBC,EAAuB,0BACvBC,EAAyB,UACzBluM,EAAS,SACTmI,EAAQ,YACRuI,EAAW,UACX3S,EAAS,iBACTwZ,EAAgB,kBAChB7Y,EAAiB,WACjB2P,EAAU,WACVltE,EAAU,aACVotE,EAAY,SACZsL,EAAQ,UACRZ,EAAS,UACTE,EAAS,UACTH,EAAS,mBACT3a,EAAkB,aAClB6Z,EAAY,eACZ03K,EAAc,WACd9gL,EAAU,aACVC,GACEtwW,EACE0viB,EAAa,GAAHj5iB,OAAMw+Q,GAAKssF,GAAU,KAAA9qW,OAAIizW,EAAQ,KAAAjzW,OAAIw7W,GACrD,MAAO,CACL,CAAClQ,GAAet0W,OAAOoE,OAAOpE,OAAOoE,OAAO,CAAC,EAAGutW,GAAep/V,IAAS,CACtEw+T,gBAAiBgxH,EACjB9jX,OAAQgke,EACR/wO,aAAc8wO,EACd,QAAS,CACP7tgB,UAAW,OAEb,CAAC,OAADnrC,OAAQsrW,EAAY,UAAU,CAC5B+hB,aAAc4rL,EACd,eAAgB,CACd,CAAC,qCAADj5iB,OAEQsrW,EAAY,YAAY,CAC9BpjC,aAAc,OAAFloU,OAASw+Q,GAAKw6R,GAA0B,KAAAh5iB,OAAIw+Q,GAAKw6R,MAGjE,CAAC,KAADh5iB,OAAMsrW,EAAY,YAAY,CAC5BzzV,SAAU,WAEVqO,QAAS,OACTm1W,SAAU,SACVvT,WAAY,aACZ9hW,QAAS4khB,EACTzxW,MAAOkpL,EACPp2E,aACAn/L,OAAQ,UACRz+D,WAAY,OAAFruC,OAASmpW,EAAkB,mBACrC,CAAC,KAADnpW,OAAMsrW,EAAY,iBAAiB,CACjCzkJ,KAAM,QAER,UAAW,CACTshH,QAAS,QAGX,CAAC,GAADnoU,OAAIsrW,EAAY,iBAAiB,CAC/BvlV,OAAQ6zV,EACR1zV,QAAS,OACT4hW,WAAY,SACZ8F,iBAAkBjJ,GAEpB,CAAC,GAAD3kX,OAAIsrW,EAAY,WAAWt0W,OAAOoE,OAAOpE,OAAOoE,OAAO,CAAC,EzqBlDzC,CACvB8qB,QAAS,cACT4hW,WAAY,SACZ3uL,MAAO,UACP4uL,UAAW,SACX97E,WAAY,EACZ+7E,UAAW,SACXC,cAAe,OAEfC,cAAe,WACfC,cAAe,qBACf,yBAA0B,cAC1B,0BAA2B,YAC3B,MAAO,CACLl8E,WAAY,GAEdm8E,IAAK,CACHliW,QAAS,kByqBiCsE,CACvE61I,SAAUinN,EAEV30U,WAAY,aAAFruC,OAAempW,GAEzBif,IAAK,CACH/5U,WAAY,aAAFruC,OAAempW,MAI7B,CAAC,GAADnpW,OAAIsrW,EAAY,iBAAiB,CAC/BV,gBAAiB,SAGrB,CAAC,GAAD5qW,OAAIsrW,EAAY,2BAA2B,CACzCx+P,OAAQ,QACR,CAAC,GAAD9sG,OAAIsrW,EAAY,iBAAiB,CAC/Bx+P,OAAQ,aAId,CAAC,GAAD9sG,OAAIsrW,EAAY,aAAa,CAC3BnyK,MAAO0vK,EACP9gC,gBAAiB4yN,EACjBvtK,UAAW6rL,EACX,CAAC,OAADj5iB,OAAQsrW,EAAY,iBAAiB,CACnCtlV,QAAS00gB,GAEX,WAAY,CACVx0gB,QAAS,SAGb,UAAW,CACT,CAAC,KAADlmB,OAAMsrW,EAAY,UAAU,CAC1B,CAAC,KAADtrW,OAAMsrW,EAAY,YAAY,CAC5BtlV,QAAS8yhB,EACTj7J,mBAAoB/5B,EACpB,CAAC,KAAD9jX,OAAMsrW,EAAY,iBAAiB,CAEjCwiB,kBAAmBvkX,EAAMshW,KAAKkZ,GAAWkK,IAAInK,GAAW7nD,UAG5D,CAAC,KAADj8T,OAAMsrW,EAAY,eAAAtrW,OAAcsrW,EAAY,iBAAiB,CAC3DtlV,QAAS+9V,KAIf,UAAW,CACT,CAAC,KAAD/jX,OAAMsrW,EAAY,UAAU,CAC1BvvM,SAAUo9M,EACVltE,WAAYotE,EACZ,CAAC,KAADr5W,OAAMsrW,EAAY,YAAY,CAC5BtlV,QAAS+yhB,EACTl7J,mBAAoB73X,EACpB,CAAC,KAADhmB,OAAMsrW,EAAY,iBAAiB,CACjCvlV,OAAQ8zV,EAERiU,kBAAmBvkX,EAAMshW,KAAKoZ,GAAWgK,IAAIjoW,GAASi2S,UAG1D,CAAC,KAADj8T,OAAMsrW,EAAY,eAAAtrW,OAAcsrW,EAAY,iBAAiB,CAC3DtlV,QAASi+V,KAIf,CAAC,GAADjkX,OAAIsrW,EAAY,qBAAqB,CACnC+hB,aAAc,EACd,CAAC,KAADrtX,OAAMsrW,EAAY,aAAa,CAC7BpjC,aAAc,OAAFloU,OAASw+Q,GAAKw6R,GAA0B,KAAAh5iB,OAAIw+Q,GAAKw6R,MAGjE,CAAC,KAADh5iB,OAAMsrW,EAAY,qBAAAtrW,OAAoBsrW,EAAY,YAAY,CAC5D,iDAGI,CACFnyK,MAAOqwK,EACP18P,OAAQ,gBAIZ,CAAC,IAAD9sG,OAAKsrW,EAAY,uBAAuB,CACtC,CAAC,OAADtrW,OAAQsrW,EAAY,UAAU,CAC5B,CAAC,KAADtrW,OAAMsrW,EAAY,YAAY,CAC5B,CAAC,GAADtrW,OAAIsrW,EAAY,iBAAiB,CAC/Bp/D,MAAO,EACP0hF,iBAAkB,EAClBiwB,mBAAoBl5B,QAM/B,EAEGu0L,GAAgB3viB,IACpB,MAAM,aACJ+hW,GACE/hW,EACE4viB,EAAgB,KAAHn5iB,OAAQsrW,EAAY,YAAAtrW,OAAWsrW,EAAY,YAAAtrW,OAAWsrW,EAAY,UACrF,MAAO,CACL,CAAC,GAADtrW,OAAIsrW,EAAY,SAAS,CACvB,CAAC6tM,GAAgB,CACf9jgB,UAAW,mBAGhB,EAEGw3U,GAAqBtjX,IACzB,MAAM,aACJ+hW,EAAY,SACZytF,EAAQ,WACRl1E,EAAU,YACVrI,GACEjyW,EACJ,MAAO,CACL,CAAC,GAADvJ,OAAIsrW,EAAY,gBAAgB,CAC9BvjC,gBAAiBgxH,EACjB9jX,OAAQ,EACR,CAAC,KAADj1E,OAAMsrW,EAAY,UAAU,CAC1B+hB,aAAc,aAAFrtX,OAAew7W,IAE7B,CAAC,eAADx7W,OACMsrW,EAAY,iCAAAtrW,OACZsrW,EAAY,qBAAAtrW,OAAoBsrW,EAAY,oBAC9C,CACFpjC,aAAc,GAEhB,CAAC,KAADloU,OAAMsrW,EAAY,qBAAqB,CACrC+hB,aAAc,GAEhB,CAAC,KAADrtX,OAAMsrW,EAAY,YAAAtrW,OAAWsrW,EAAY,aAAa,CACpDvjC,gBAAiB,cACjBqlD,UAAW,GAEb,CAAC,KAADptX,OAAMsrW,EAAY,YAAAtrW,OAAWsrW,EAAY,eAAAtrW,OAAcsrW,EAAY,iBAAiB,CAClF/5M,WAAYsyN,IAGjB,EAEGu1L,GAAgB7viB,IACpB,MAAM,aACJ+hW,EAAY,UACZyY,GACEx6W,EACJ,MAAO,CACL,CAAC,GAADvJ,OAAIsrW,EAAY,WAAW,CACzBvjC,gBAAiB,cACjB9yP,OAAQ,EACR,CAAC,KAADj1E,OAAMsrW,EAAY,UAAU,CAC1B+hB,aAAc,EACd,CAAC,KAADrtX,OAAMsrW,EAAY,aAAa,CAC7BvjC,gBAAiB,cACjB9yP,OAAQ,EACR,CAAC,KAADj1E,OAAMsrW,EAAY,iBAAiB,CACjCuf,aAAc9G,MAKvB,EASH,GAAegG,GAAc,YAAYxgX,IACvC,MAAM8viB,EAAgB9wL,GAAWh/W,EAAO,CACtCuviB,wBAAyB,GAAF94iB,OAAKw+Q,GAAKj1Q,EAAMu6W,WAAU,KAAA9jX,OAAIw+Q,GAAKj1Q,EAAMw6W,YAChEg1L,wBAAyB,GAAF/4iB,OAAKw+Q,GAAKj1Q,EAAMyc,SAAQ,KAAAhmB,OAAIw+Q,GAAKj1Q,EAAM06W,YAC9D+0L,0BAA2BzviB,EAAM6uW,iBAEnC,MAAO,CAACu1C,GAAa0rJ,GAAgBxsL,GAAmBwsL,GAAgBD,GAAcC,GAAgBH,GAAcG,GAAgBnsE,GAAkBmsE,GAAe,IAblI9viB,IAAS,CAC5CqhiB,cAAe,GAAF5qiB,OAAKuJ,EAAMw6W,UAAS,OAAA/jX,OAAMuJ,EAAMyc,QAAO,MACpD+ya,SAAUxvb,EAAMy4W,eAChB04K,eAAgB,GAAF16hB,OAAKuJ,EAAMyc,QAAO,WAEhC20gB,UAAWpxhB,EAAM6xW,qBCpObk9L,GAAwBn0hB,EAAAA,YAAiB,CAAChsB,EAAOyG,KACrD,MAAM,aACJ83U,EAAY,UACZvrS,EAAS,SACT23V,GACE3+W,EAAAA,WAAiB+5F,IAEnB22O,UAAWhe,EAAkB,UAC7Bn9U,EAAS,cACT28X,EAAa,MACb10X,EAAK,SACLw4X,GAAW,EAAI,MACfwlB,EACAtuX,KAAMquX,EAAa,mBACnB45J,EAAqB,QAAO,SAC5Bh+iB,EAAQ,WACR2kb,GACE9nb,EACEm+X,EAAaC,IAAQC,IACzB,IAAI/1X,EACJ,OAA2F,QAAnFA,EAAuB,OAAlBi/Y,QAA4C,IAAlBA,EAA2BA,EAAgBlpB,SAAwB,IAAP/1X,EAAgBA,EAAK,QAAQ,IAE5Ho0V,EAAYne,EAAa,WAAYG,GACrCoyC,EAAgBvyC,KACf8zC,EAAY7uB,EAAQ8uB,GAAaX,GAASj1B,GAOjD,MAAM0kN,EAA2Bp1hB,EAAAA,SAAc,IAClB,SAAvBm1hB,EACK,QAEqB,UAAvBA,EAAiC,MAAQA,GAC/C,CAACA,IACE34H,EAAkC,OAAfV,QAAsC,IAAfA,EAAwBA,EAA0B,OAAbn9C,QAAkC,IAAbA,OAAsB,EAASA,EAASm9C,WAC5Iy7B,EAAmBv3b,EAAAA,aAAkB,WACzC,IAAIq1hB,EAAa7hjB,UAAUP,OAAS,QAAsBgJ,IAAjBzI,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACtF,MAAMikD,EAAmC,oBAArB+kY,EAAkCA,EAAiB64H,GAA6Br1hB,EAAAA,cAAoBm/c,GAAe,CACrI/qG,OAAQihL,EAAW35c,SAAW,QAAKz/F,EACnC,aAAco5iB,EAAW35c,SAAW,WAAa,cAEnD,OAAOt2E,GAAaqyB,GAAM,KACxB,IAAIn7C,EACJ,MAAO,CACL/G,UAAWyuB,IAA6E,QAAjE1nB,EAAc,OAATm7C,QAA0B,IAATA,OAAkB,EAASA,EAAKzjD,aAA0B,IAAPsI,OAAgB,EAASA,EAAG/G,UAAW,GAAFsG,OAAK60V,EAAS,WACpJ,GAEL,GAAG,CAAC8rF,EAAkB9rF,IAChB4jN,EAAoBtwhB,IAAW,GAADnoB,OAAI60V,EAAS,mBAAA70V,OAAkBu5iB,GAA4B,CAC7F,CAAC,GAADv5iB,OAAI60V,EAAS,iBAAiBslC,EAC9B,CAAC,GAADn6X,OAAI60V,EAAS,SAAuB,QAAd1pT,EACtB,CAAC,GAADnrC,OAAI60V,EAAS,aAAa8qD,EAC1B,CAAC,GAAD3/Y,OAAI60V,EAAS,KAAA70V,OAAIs2X,IAA8B,WAAfA,GAClB,OAAbwM,QAAkC,IAAbA,OAAsB,EAASA,EAASppY,UAAWA,EAAW28X,EAAe16B,EAAQ8uB,GACvGwsL,EAAajgjB,OAAOoE,OAAOpE,OAAOoE,OAAO,CAAC,EAAG0ye,GAAmB7kH,IAAiB,CACrF4hB,cAAc,EACdyD,gBAAiB,GAAFtuY,OAAK60V,EAAS,qBAEzBx7T,EAAQlV,EAAAA,SAAc,IAAM7oB,EAAW6Z,EAAQ7Z,GAAU0d,KAAI,CAAC/a,EAAO8L,KACzE,IAAItJ,EAAIC,EACR,GAA2B,QAAtBD,EAAKxC,EAAM9F,aAA0B,IAAPsI,OAAgB,EAASA,EAAG83B,SAAU,CACvE,MAAMjhC,EAA2B,QAApBoJ,EAAKzC,EAAM3G,WAAwB,IAAPoJ,EAAgBA,EAAKoX,OAAO/N,IAC/D,SACJwuB,EAAQ,YACR2sc,GACEjne,EAAM9F,MAKV,OAAOoxB,GAAatrB,EAJDjH,OAAOoE,OAAOpE,OAAOoE,OAAO,CAAC,EAAGk5V,GAAKr2V,EAAM9F,MAAO,CAAC,cAAe,CACnFb,MACA4te,YAA6B,OAAhBA,QAAwC,IAAhBA,EAAyBA,EAAc3sc,EAAW,gBAAan4B,IAGxG,CACA,OAAOnC,CAAK,IACT,MAAM,CAAC3C,IACZ,OAAOkvX,EAGPrmW,EAAAA,cAAoB00hB,GAAY7hjB,OAAOoE,OAAO,CAC5CwD,IAAKA,EACLq4iB,WAAYA,GACX3iN,GAAKn8V,EAAO,CAAC,kBAAmB,CACjC8nb,WAAYy7B,EACZ7mH,UAAWA,EACXn7V,UAAW++iB,EACX92iB,MAAO3K,OAAOoE,OAAOpE,OAAOoE,OAAO,CAAC,EAAgB,OAAb0nY,QAAkC,IAAbA,OAAsB,EAASA,EAASnhY,OAAQA,KAC1G03B,GAAO,IAKb,MCzGA,GDyGeriC,OAAOoE,OAAOk9iB,GAAU,CACrCzzF,MAAOgyF,KEpGT,IAWI4C,GAAK9iiB,WAAY+iiB,GAAMC,YAAaC,GAAMC,YAE1CC,GAAO,IAAIL,GAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAgB,EAAG,EAAoB,IAG1IM,GAAO,IAAIN,GAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAiB,EAAG,IAEjIO,GAAO,IAAIP,GAAG,CAAC,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,KAE7EQ,GAAO,SAAUvwQ,EAAIv8P,GAErB,IADA,IAAIh2B,EAAI,IAAIuiiB,GAAI,IACP59iB,EAAI,EAAGA,EAAI,KAAMA,EACtBqb,EAAErb,GAAKqxC,GAAS,GAAKu8P,EAAG5tS,EAAI,GAGhC,IAAImc,EAAI,IAAI2hiB,GAAIziiB,EAAE,KAClB,IAASrb,EAAI,EAAGA,EAAI,KAAMA,EACtB,IAAK,IAAIggE,EAAI3kD,EAAErb,GAAIggE,EAAI3kD,EAAErb,EAAI,KAAMggE,EAC/B7jD,EAAE6jD,GAAOA,EAAI3kD,EAAErb,IAAO,EAAKA,EAGnC,MAAO,CAACqb,EAAGc,EACf,EACIxX,GAAKw5iB,GAAKH,GAAM,GAAIrhP,GAAKh4T,GAAG,GAAIy5iB,GAAQz5iB,GAAG,GAE/Cg4T,GAAG,IAAM,IAAKyhP,GAAM,KAAO,GAI3B,IAHA,IAAIx5iB,GAAKu5iB,GAAKF,GAAM,GAAI9kQ,GAAKv0S,GAAG,GAAIy5iB,GAAQz5iB,GAAG,GAE3C05iB,GAAM,IAAIV,GAAI,OACT59iB,GAAI,EAAGA,GAAI,QAASA,GAAG,CAE5B,IAAIsoC,IAAU,MAAJtoC,MAAgB,GAAW,MAAJA,KAAe,EAEhDsoC,IAAU,OADVA,IAAU,MAAJA,MAAgB,GAAW,MAAJA,KAAe,MACtB,GAAW,KAAJA,KAAe,EAC5Cg2gB,GAAIt+iB,MAAY,MAAJsoC,MAAgB,GAAW,IAAJA,KAAe,KAAQ,CAC9D,CAIA,IAAIi2gB,GAAQ,SAAUvlQ,EAAI5K,EAAIjyR,GAO1B,IANA,IAAIS,EAAIo8R,EAAG19S,OAEP0E,EAAI,EAEJ4N,EAAI,IAAIgwiB,GAAIxvQ,GAETpuS,EAAI4c,IAAK5c,IACV4N,EAAEorS,EAAGh5S,GAAK,GAEhB,IAIIw+iB,EAJA5/P,EAAK,IAAIg/P,GAAIxvQ,GACjB,IAAKpuS,EAAI,EAAGA,EAAIouS,IAAMpuS,EAClB4+S,EAAG5+S,GAAM4+S,EAAG5+S,EAAI,GAAK4N,EAAE5N,EAAI,IAAO,EAGtC,GAAImc,EAAG,CAEHqiiB,EAAK,IAAIZ,GAAI,GAAKxvQ,GAElB,IAAIqwQ,EAAM,GAAKrwQ,EACf,IAAKpuS,EAAI,EAAGA,EAAI4c,IAAK5c,EAEjB,GAAIg5S,EAAGh5S,GAQH,IANA,IAAIyuP,EAAMzuP,GAAK,EAAKg5S,EAAGh5S,GAEnB0+iB,EAAMtwQ,EAAK4K,EAAGh5S,GAEd+V,EAAI6oS,EAAG5F,EAAGh5S,GAAK,MAAQ0+iB,EAElBriiB,EAAItG,GAAM,GAAK2oiB,GAAO,EAAI3oiB,GAAKsG,IAAKtG,EAEzCyoiB,EAAGF,GAAIvoiB,KAAO0oiB,GAAOhwT,CAIrC,MAGI,IADA+vT,EAAK,IAAIZ,GAAIhhiB,GACR5c,EAAI,EAAGA,EAAI4c,IAAK5c,EACjBw+iB,EAAGx+iB,GAAKs+iB,GAAI1/P,EAAG5F,EAAGh5S,GAAK,QAAW,GAAKg5S,EAAGh5S,GAElD,OAAOw+iB,CACX,EAEIG,GAAM,IAAIhB,GAAG,KACjB,IAAS39iB,GAAI,EAAGA,GAAI,MAAOA,GACvB2+iB,GAAI3+iB,IAAK,EACb,IAASA,GAAI,IAAKA,GAAI,MAAOA,GACzB2+iB,GAAI3+iB,IAAK,EACb,IAASA,GAAI,IAAKA,GAAI,MAAOA,GACzB2+iB,GAAI3+iB,IAAK,EACb,IAASA,GAAI,IAAKA,GAAI,MAAOA,GACzB2+iB,GAAI3+iB,IAAK,EAEb,IAAI4+iB,GAAM,IAAIjB,GAAG,IACjB,IAAS39iB,GAAI,EAAGA,GAAI,KAAMA,GACtB4+iB,GAAI5+iB,IAAK,EAEb,IAAI6+iB,GAAoBN,GAAKI,GAAK,EAAG,GAAIG,GAAqBP,GAAKI,GAAK,EAAG,GAEvEI,GAAoBR,GAAKK,GAAK,EAAG,GAAII,GAAqBT,GAAKK,GAAK,EAAG,GAEvErhiB,GAAM,SAAUnC,GAEhB,IADA,IAAIiB,EAAIjB,EAAE,GACDpb,EAAI,EAAGA,EAAIob,EAAE9f,SAAU0E,EACxBob,EAAEpb,GAAKqc,IACPA,EAAIjB,EAAEpb,IAEd,OAAOqc,CACX,EAEI4iiB,GAAO,SAAUl/iB,EAAG4c,EAAGN,GACvB,IAAIhc,EAAKsc,EAAI,EAAM,EACnB,OAAS5c,EAAEM,GAAMN,EAAEM,EAAI,IAAM,MAAa,EAAJsc,GAAUN,CACpD,EAEI6iiB,GAAS,SAAUn/iB,EAAG4c,GACtB,IAAItc,EAAKsc,EAAI,EAAM,EACnB,OAAS5c,EAAEM,GAAMN,EAAEM,EAAI,IAAM,EAAMN,EAAEM,EAAI,IAAM,OAAc,EAAJsc,EAC7D,EAEIwiiB,GAAO,SAAUxiiB,GAAK,OAASA,EAAI,EAAM,IAAU,EAAJA,GAAS,EAAI,EAG5DyiiB,GAAM,SAAUrpiB,EAAG6G,EAAGxf,IACb,MAALwf,GAAaA,EAAI,KACjBA,EAAI,IACC,MAALxf,GAAaA,EAAI2Y,EAAEza,UACnB8B,EAAI2Y,EAAEza,QAEV,IAAI8gB,EAAI,IAAKrG,aAAa6niB,GAAMA,GAAM7niB,aAAa+niB,GAAMA,GAAMH,IAAIvgjB,EAAIwf,GAEvE,OADAR,EAAEqY,IAAI1e,EAAEspiB,SAASziiB,EAAGxf,IACbgf,CACX,EAEIkjiB,GAAQ,SAAUC,EAAKC,EAAKC,GAE5B,IAAIvxT,EAAKqxT,EAAIjkjB,OAETokjB,GAASF,GAAOC,EAEhBE,GAAQF,GAAMA,EAAGz/iB,EAChBy/iB,IACDA,EAAK,CAAC,GAELD,IACDA,EAAM,IAAI7B,GAAQ,EAALzvT,IAEjB,IAAI0xT,EAAO,SAAUhyiB,GACjB,IAAI4uT,EAAKgjP,EAAIlkjB,OAEb,GAAIsS,EAAI4uT,EAAI,CAER,IAAIqjP,EAAO,IAAIlC,GAAGrqiB,KAAKiK,IAAS,EAALi/S,EAAQ5uT,IACnCiyiB,EAAKprhB,IAAI+qhB,GACTA,EAAMK,CACV,CACJ,EAEIC,EAAQL,EAAGt6hB,GAAK,EAAGsiE,EAAMg4d,EAAG9iiB,GAAK,EAAG2sZ,EAAKm2I,EAAGpkiB,GAAK,EAAG0kiB,EAAKN,EAAG7xiB,EAAGoyiB,EAAKP,EAAG1/iB,EAAGkgjB,EAAMR,EAAGpjiB,EAAG6jiB,EAAMT,EAAGrjiB,EAE/F+jiB,EAAY,EAALjyT,EACX,EAAG,CACC,IAAK6xT,EAAI,CAELN,EAAGt6hB,EAAI26hB,EAAQb,GAAKM,EAAK93d,EAAK,GAE9B,IAAI5kF,EAAOo8iB,GAAKM,EAAK93d,EAAM,EAAG,GAE9B,GADAA,GAAO,GACF5kF,EAAM,CAEP,IAAuB+K,EAAI2xiB,GAAvB3iiB,EAAIuiiB,GAAK13d,GAAO,GAAe,GAAM83d,EAAI3iiB,EAAI,IAAM,EAAIV,EAAIU,EAAIhP,EACnE,GAAIsO,EAAIgyO,EAAI,CACR,GAAIyxT,EACA,KAAM,iBACV,KACJ,CAEID,GACAE,EAAKt2I,EAAK17Z,GAEd4xiB,EAAI/qhB,IAAI8qhB,EAAIF,SAASziiB,EAAGV,GAAIotZ,GAE5Bm2I,EAAGpkiB,EAAIiuZ,GAAM17Z,EAAG6xiB,EAAG9iiB,EAAI8qE,EAAU,EAAJvrE,EAC7B,QACJ,CACK,GAAY,GAARrZ,EACLk9iB,EAAKjB,GAAMkB,EAAKhB,GAAMiB,EAAM,EAAGC,EAAM,MACpC,IAAY,GAARr9iB,EAqDL,KAAM,qBAnDN,IAAIu9iB,EAAOnB,GAAKM,EAAK93d,EAAK,IAAM,IAAK44d,EAAQpB,GAAKM,EAAK93d,EAAM,GAAI,IAAM,EACnEg2O,EAAK2iP,EAAOnB,GAAKM,EAAK93d,EAAM,EAAG,IAAM,EACzCA,GAAO,GAKP,IAHA,IAAI64d,EAAM,IAAI3C,GAAGlgP,GAEb8iP,EAAM,IAAI5C,GAAG,IACR39iB,EAAI,EAAGA,EAAIqgjB,IAASrgjB,EAEzBugjB,EAAIrC,GAAKl+iB,IAAMi/iB,GAAKM,EAAK93d,EAAU,EAAJznF,EAAO,GAE1CynF,GAAe,EAAR44d,EAEP,IAAIG,EAAMjjiB,GAAIgjiB,GAAME,GAAU,GAAKD,GAAO,EAC1C,IAAKb,GAAQl4d,EAAMg2O,GAAM+iP,EAAM,GAAKL,EAChC,MAEJ,IAAIO,EAAMnC,GAAKgC,EAAKC,EAAK,GACzB,IAASxgjB,EAAI,EAAGA,EAAIy9T,GAAK,CACrB,IAII7gT,EAJAT,EAAIukiB,EAAIzB,GAAKM,EAAK93d,EAAKg5d,IAM3B,GAJAh5d,GAAW,GAAJtrE,GAEHS,EAAIT,IAAM,GAEN,GACJmkiB,EAAItgjB,KAAO4c,MAEV,CAED,IAAIzO,EAAI,EAAGiO,EAAI,EAOf,IANS,IAALQ,GACAR,EAAI,EAAI6iiB,GAAKM,EAAK93d,EAAK,GAAIA,GAAO,EAAGt5E,EAAImyiB,EAAItgjB,EAAI,IACvC,IAAL4c,GACLR,EAAI,EAAI6iiB,GAAKM,EAAK93d,EAAK,GAAIA,GAAO,GACxB,IAAL7qE,IACLR,EAAI,GAAK6iiB,GAAKM,EAAK93d,EAAK,KAAMA,GAAO,GAClCrrE,KACHkkiB,EAAItgjB,KAAOmO,CACnB,CACJ,CAEA,IAAIm8O,EAAKg2T,EAAIjB,SAAS,EAAGe,GAAOO,EAAKL,EAAIjB,SAASe,GAElDH,EAAM1iiB,GAAI+sO,GAEV41T,EAAM3iiB,GAAIojiB,GACVZ,EAAKxB,GAAKj0T,EAAI21T,EAAK,GACnBD,EAAKzB,GAAKoC,EAAIT,EAAK,EAGO,CAC9B,GAAIz4d,EAAM04d,EACN,KAAM,gBACd,CAGIT,GACAE,EAAKt2I,EAAK,QAGd,IAFA,IAAIs3I,GAAO,GAAKX,GAAO,EAAGY,GAAO,GAAKX,GAAO,EACzCY,EAAMb,EAAMC,EAAM,GACfP,GAAQl4d,EAAMq5d,EAAMX,GAAM,CAE7B,IAAoCY,GAAhC5yiB,EAAI4xiB,EAAGb,GAAOK,EAAK93d,GAAOm5d,MAAkB,EAEhD,IADAn5d,GAAW,GAAJt5E,GACGgyiB,EACN,KAAM,iBACV,IAAKhyiB,EACD,KAAM,yBACV,GAAI4yiB,EAAM,IACNvB,EAAIl2I,KAAQy3I,MACX,IAAW,KAAPA,EAAY,CACjBhB,EAAK,KACL,KACJ,CAEI,IAAIlhjB,EAAMkijB,EAAM,IAEhB,GAAIA,EAAM,IAAK,CAEX,IAAmB1liB,EAAI2iiB,GAAnBh+iB,EAAI+gjB,EAAM,KACdlijB,EAAMogjB,GAAKM,EAAK93d,GAAM,GAAKpsE,GAAK,GAAKshT,GAAG38T,GACxCynF,GAAOpsE,CACX,CAEA,IAAItb,EAAIigjB,EAAGd,GAAOK,EAAK93d,GAAOo5d,GAAMG,EAAOjhjB,IAAM,EACjD,IAAKA,EACD,KAAM,mBACV0nF,GAAW,GAAJ1nF,EACH4gjB,EAAKxnQ,GAAG6nQ,GACZ,GAAIA,EAAO,EAAG,CACN3liB,EAAI4iiB,GAAK+C,GACbL,GAAMzB,GAAOK,EAAK93d,IAAS,GAAKpsE,GAAK,EAAIosE,GAAOpsE,CACpD,CACA,GAAIosE,EAAM04d,EACN,KAAM,iBACNT,GACAE,EAAKt2I,EAAK,QAEd,IADA,IAAItpU,EAAMspU,EAAKzqa,EACRyqa,EAAKtpU,EAAKspU,GAAM,EACnBk2I,EAAIl2I,GAAMk2I,EAAIl2I,EAAKq3I,GACnBnB,EAAIl2I,EAAK,GAAKk2I,EAAIl2I,EAAK,EAAIq3I,GAC3BnB,EAAIl2I,EAAK,GAAKk2I,EAAIl2I,EAAK,EAAIq3I,GAC3BnB,EAAIl2I,EAAK,GAAKk2I,EAAIl2I,EAAK,EAAIq3I,GAE/Br3I,EAAKtpU,CACT,CACJ,CACAy/c,EAAG7xiB,EAAImyiB,EAAIN,EAAG9iiB,EAAI8qE,EAAKg4d,EAAGpkiB,EAAIiuZ,EAC1By2I,IACAD,EAAQ,EAAGL,EAAGpjiB,EAAI4jiB,EAAKR,EAAG1/iB,EAAIigjB,EAAIP,EAAGrjiB,EAAI8jiB,EACjD,QAAUJ,GACV,OAAOx2I,GAAMk2I,EAAIlkjB,OAASkkjB,EAAMJ,GAAII,EAAK,EAAGl2I,EAChD,EAEI23I,GAAQ,SAAUlhjB,EAAG4c,EAAG5G,GACxBA,IAAU,EAAJ4G,EACN,IAAItc,EAAKsc,EAAI,EAAM,EACnB5c,EAAEM,IAAM0V,EACRhW,EAAEM,EAAI,IAAM0V,IAAM,CACtB,EAEImriB,GAAU,SAAUnhjB,EAAG4c,EAAG5G,GAC1BA,IAAU,EAAJ4G,EACN,IAAItc,EAAKsc,EAAI,EAAM,EACnB5c,EAAEM,IAAM0V,EACRhW,EAAEM,EAAI,IAAM0V,IAAM,EAClBhW,EAAEM,EAAI,IAAM0V,IAAM,EACtB,EAEIoriB,GAAQ,SAAUphjB,EAAGquS,GAGrB,IADA,IAAIlyR,EAAI,GACClc,EAAI,EAAGA,EAAID,EAAEzE,SAAU0E,EACxBD,EAAEC,IACFkc,EAAEjf,KAAK,CAAE2f,EAAG5c,EAAGmlB,EAAGplB,EAAEC,KAE5B,IAAI4c,EAAIV,EAAE5gB,OACN8ljB,EAAKlliB,EAAEtJ,QACX,IAAKgK,EACD,MAAO,CAAC,IAAI+giB,GAAG,GAAI,GACvB,GAAS,GAAL/giB,EAAQ,CACR,IAAI7G,EAAI,IAAI4niB,GAAGzhiB,EAAE,GAAGU,EAAI,GAExB,OADA7G,EAAEmG,EAAE,GAAGU,GAAK,EACL,CAAC7G,EAAG,EACf,CACAmG,EAAEupE,MAAK,SAAUrqE,EAAGC,GAAK,OAAOD,EAAE+J,EAAI9J,EAAE8J,CAAG,IAG3CjJ,EAAEjf,KAAK,CAAE2f,GAAI,EAAGuI,EAAG,QACnB,IAAIvX,EAAIsO,EAAE,GAAIC,EAAID,EAAE,GAAImliB,EAAK,EAAG14N,EAAK,EAAGE,EAAK,EAO7C,IANA3sU,EAAE,GAAK,CAAEU,GAAI,EAAGuI,EAAGvX,EAAEuX,EAAIhJ,EAAEgJ,EAAGvX,EAAGA,EAAGuO,EAAGA,GAMhCwsU,GAAM/rU,EAAI,GACbhP,EAAIsO,EAAEA,EAAEmliB,GAAIl8hB,EAAIjJ,EAAE2sU,GAAI1jU,EAAIk8hB,IAAOx4N,KACjC1sU,EAAID,EAAEmliB,GAAM14N,GAAMzsU,EAAEmliB,GAAIl8hB,EAAIjJ,EAAE2sU,GAAI1jU,EAAIk8hB,IAAOx4N,KAC7C3sU,EAAEysU,KAAQ,CAAE/rU,GAAI,EAAGuI,EAAGvX,EAAEuX,EAAIhJ,EAAEgJ,EAAGvX,EAAGA,EAAGuO,EAAGA,GAE9C,IAAImliB,EAASF,EAAG,GAAGxkiB,EACnB,IAAS5c,EAAI,EAAGA,EAAI4c,IAAK5c,EACjBohjB,EAAGphjB,GAAG4c,EAAI0kiB,IACVA,EAASF,EAAGphjB,GAAG4c,GAGvB,IAAIw2D,EAAK,IAAIwqe,GAAI0D,EAAS,GAEtBC,EAAMp3T,GAAGjuO,EAAEysU,EAAK,GAAIv1Q,EAAI,GAC5B,GAAImue,EAAMnzQ,EAAI,CAINpuS,EAAI,EAAR,IAAW2gjB,EAAK,EAEZa,EAAMD,EAAMnzQ,EAAIqzQ,EAAM,GAAKD,EAE/B,IADAJ,EAAG37d,MAAK,SAAUrqE,EAAGC,GAAK,OAAO+3D,EAAG/3D,EAAEuB,GAAKw2D,EAAGh4D,EAAEwB,IAAMxB,EAAE+J,EAAI9J,EAAE8J,CAAG,IAC1DnlB,EAAI4c,IAAK5c,EAAG,CACf,IAAI0hjB,EAAON,EAAGphjB,GAAG4c,EACjB,KAAIw2D,EAAGsue,GAAQtzQ,GAKX,MAJAuyQ,GAAMc,GAAO,GAAMF,EAAMnue,EAAGsue,IAC5Btue,EAAGsue,GAAQtzQ,CAInB,CAEA,IADAuyQ,KAAQa,EACDb,EAAK,GAAG,CACX,IAAIgB,EAAOP,EAAGphjB,GAAG4c,EACbw2D,EAAGuue,GAAQvzQ,EACXuyQ,GAAM,GAAMvyQ,EAAKh7N,EAAGuue,KAAU,IAE5B3hjB,CACV,CACA,KAAOA,GAAK,GAAK2gjB,IAAM3gjB,EAAG,CACtB,IAAI4hjB,EAAOR,EAAGphjB,GAAG4c,EACbw2D,EAAGwue,IAASxzQ,MACVh7N,EAAGwue,KACHjB,EAEV,CACAY,EAAMnzQ,CACV,CACA,MAAO,CAAC,IAAIuvQ,GAAGvqe,GAAKmue,EACxB,EAEIp3T,GAAK,SAAU/tO,EAAGxO,EAAG7N,GACrB,OAAe,GAARqc,EAAEQ,EACHtJ,KAAKiK,IAAI4sO,GAAG/tO,EAAExO,EAAGA,EAAG7N,EAAI,GAAIoqP,GAAG/tO,EAAED,EAAGvO,EAAG7N,EAAI,IAC1C6N,EAAEwO,EAAEQ,GAAK7c,CACpB,EAEI41S,GAAK,SAAUxnS,GAGf,IAFA,IAAIyO,EAAIzO,EAAE7S,OAEHshB,IAAMzO,IAAIyO,KAMjB,IAJA,IAAIsiT,EAAK,IAAI0+O,KAAMhhiB,GAEfiliB,EAAM,EAAGC,EAAM3ziB,EAAE,GAAI4iU,EAAM,EAC3Bx8R,EAAI,SAAUx+B,GAAKmpT,EAAG2iP,KAAS9riB,CAAG,EAC7B/V,EAAI,EAAGA,GAAK4c,IAAK5c,EACtB,GAAImO,EAAEnO,IAAM8hjB,GAAO9hjB,GAAK4c,IAClBm0T,MACD,CACD,IAAK+wO,GAAO/wO,EAAM,EAAG,CACjB,KAAOA,EAAM,IAAKA,GAAO,IACrBx8R,EAAE,OACFw8R,EAAM,IACNx8R,EAAEw8R,EAAM,GAAOA,EAAM,IAAO,EAAK,MAAUA,EAAM,GAAM,EAAK,OAC5DA,EAAM,EAEd,MACK,GAAIA,EAAM,EAAG,CAEd,IADAx8R,EAAEutgB,KAAQ/wO,EACHA,EAAM,EAAGA,GAAO,EACnBx8R,EAAE,MACFw8R,EAAM,IACNx8R,EAAIw8R,EAAM,GAAM,EAAK,MAAOA,EAAM,EAC1C,CACA,KAAOA,KACHx8R,EAAEutgB,GACN/wO,EAAM,EACN+wO,EAAM3ziB,EAAEnO,EACZ,CAEJ,MAAO,CAACk/T,EAAGmgP,SAAS,EAAGwC,GAAMjliB,EACjC,EAEImliB,GAAO,SAAU1/P,EAAI6c,GAErB,IADA,IAAItxT,EAAI,EACC5N,EAAI,EAAGA,EAAIk/T,EAAG5jU,SAAU0E,EAC7B4N,GAAKy0S,EAAGriT,GAAKk/T,EAAGl/T,GACpB,OAAO4N,CACX,EAGIo0iB,GAAQ,SAAU9nc,EAAKzyB,EAAK83d,GAE5B,IAAI3iiB,EAAI2iiB,EAAIjkjB,OACR+E,EAAI8+iB,GAAK13d,EAAM,GACnByyB,EAAI75G,GAAS,IAAJuc,EACTs9F,EAAI75G,EAAI,GAAKuc,IAAM,EACnBs9F,EAAI75G,EAAI,GAAc,IAAT65G,EAAI75G,GACjB65G,EAAI75G,EAAI,GAAkB,IAAb65G,EAAI75G,EAAI,GACrB,IAAK,IAAIL,EAAI,EAAGA,EAAI4c,IAAK5c,EACrBk6G,EAAI75G,EAAIL,EAAI,GAAKu/iB,EAAIv/iB,GACzB,OAAqB,GAAbK,EAAI,EAAIuc,EACpB,EAEIqliB,GAAO,SAAU1C,EAAKrlc,EAAK4lc,EAAOoC,EAAMx/P,EAAIJ,EAAI1U,EAAIqhB,EAAIhqE,EAAIu3E,EAAI7/S,GAChEskiB,GAAM/mc,EAAKv9F,IAAKmjiB,KACdp9P,EAAG,KAML,IALA,IAAI/9S,EAAKw8iB,GAAMz+P,EAAI,IAAKy/P,EAAMx9iB,EAAG,GAAIy9iB,EAAMz9iB,EAAG,GAC1CC,EAAKu8iB,GAAM7+P,EAAI,IAAK+/P,EAAMz9iB,EAAG,GAAI09iB,EAAM19iB,EAAG,GAC1Cu5X,EAAKxoF,GAAGwsQ,GAAMI,EAAOpkL,EAAG,GAAIqkL,EAAMrkL,EAAG,GACrC1hH,EAAKk5B,GAAG0sQ,GAAMI,EAAOhmS,EAAG,GAAIimS,EAAMjmS,EAAG,GACrCkmS,EAAS,IAAI/E,GAAI,IACZ59iB,EAAI,EAAGA,EAAIuijB,EAAKjnjB,SAAU0E,EAC/B2ijB,EAAiB,GAAVJ,EAAKvijB,MAChB,IAASA,EAAI,EAAGA,EAAIyijB,EAAKnnjB,SAAU0E,EAC/B2ijB,EAAiB,GAAVF,EAAKzijB,MAGhB,IAFA,IAAIw/Y,EAAK2hK,GAAMwB,EAAQ,GAAIC,EAAMpjK,EAAG,GAAIqjK,EAAOrjK,EAAG,GAC9CsjK,EAAO,GACJA,EAAO,IAAMF,EAAI1E,GAAK4E,EAAO,MAAOA,GAE3C,IAKI/C,EAAI9iP,EAAI+iP,EAAItjP,EALZqmP,EAAQvmP,EAAK,GAAM,EACnBwmP,EAAQjB,GAAKr/P,EAAIi8P,IAAOoD,GAAKz/P,EAAIs8P,IAAOhxQ,EACxCq1Q,EAAQlB,GAAKr/P,EAAIy/P,GAAOJ,GAAKz/P,EAAI+/P,GAAOz0Q,EAAK,GAAK,EAAIk1Q,EAAOf,GAAKY,EAAQC,IAAQ,EAAID,EAAO,IAAM,EAAIA,EAAO,IAAM,EAAIA,EAAO,KACnI,GAAII,GAAQC,GAASD,GAAQE,EACzB,OAAOjB,GAAM9nc,EAAKv9F,EAAG4iiB,EAAIF,SAASp6T,EAAIA,EAAKu3E,IAG/C,GADAykP,GAAM/mc,EAAKv9F,EAAG,GAAKsmiB,EAAQD,IAASrmiB,GAAK,EACrCsmiB,EAAQD,EAAO,CACfjD,EAAKxB,GAAK4D,EAAKC,EAAK,GAAInlP,EAAKklP,EAAKnC,EAAKzB,GAAK8D,EAAKC,EAAK,GAAI5lP,EAAK2lP,EAC/D,IAAIa,EAAM3E,GAAKqE,EAAKC,EAAM,GAC1B5B,GAAM/mc,EAAKv9F,EAAG6liB,EAAM,KACpBvB,GAAM/mc,EAAKv9F,EAAI,EAAG+liB,EAAM,GACxBzB,GAAM/mc,EAAKv9F,EAAI,GAAImmiB,EAAO,GAC1BnmiB,GAAK,GACL,IAAS3c,EAAI,EAAGA,EAAI8ijB,IAAQ9ijB,EACxBihjB,GAAM/mc,EAAKv9F,EAAI,EAAI3c,EAAG4ijB,EAAI1E,GAAKl+iB,KACnC2c,GAAK,EAAImmiB,EAET,IADA,IAAIK,EAAO,CAACZ,EAAME,GACT93a,EAAK,EAAGA,EAAK,IAAKA,EACvB,KAAIy4a,EAAOD,EAAKx4a,GAChB,IAAS3qI,EAAI,EAAGA,EAAIojjB,EAAK9njB,SAAU0E,EAAG,CAClC,IAAIkC,EAAgB,GAAVkhjB,EAAKpjjB,GACfihjB,GAAM/mc,EAAKv9F,EAAGumiB,EAAIhhjB,IAAOya,GAAKimiB,EAAI1gjB,GAC9BA,EAAM,KACN++iB,GAAM/mc,EAAKv9F,EAAIymiB,EAAKpjjB,KAAO,EAAK,KAAM2c,GAAKymiB,EAAKpjjB,KAAO,GAC/D,CANmB,CAQ3B,MAEI+/iB,EAAKlB,GAAK5hP,EAAK0hP,GAAKqB,EAAKjB,GAAKriP,EAAKkiP,GAEvC,IAAS5+iB,EAAI,EAAGA,EAAIivT,IAAMjvT,EACtB,GAAIkijB,EAAKlijB,GAAK,IAAK,CACXkC,EAAOggjB,EAAKlijB,KAAO,GAAM,GAC7BkhjB,GAAQhnc,EAAKv9F,EAAGojiB,EAAG79iB,EAAM,MAAOya,GAAKsgT,EAAG/6T,EAAM,KAC1CA,EAAM,IACN++iB,GAAM/mc,EAAKv9F,EAAIuliB,EAAKlijB,KAAO,GAAM,IAAK2c,GAAKqhiB,GAAK97iB,IACpD,IAAImhjB,EAAgB,GAAVnB,EAAKlijB,GACfkhjB,GAAQhnc,EAAKv9F,EAAGqjiB,EAAGqD,IAAO1miB,GAAK+/S,EAAG2mP,GAC9BA,EAAM,IACNnC,GAAQhnc,EAAKv9F,EAAIuliB,EAAKlijB,KAAO,EAAK,MAAO2c,GAAKshiB,GAAKoF,GAC3D,MAEInC,GAAQhnc,EAAKv9F,EAAGojiB,EAAGmC,EAAKlijB,KAAM2c,GAAKsgT,EAAGilP,EAAKlijB,IAInD,OADAkhjB,GAAQhnc,EAAKv9F,EAAGojiB,EAAG,MACZpjiB,EAAIsgT,EAAG,IAClB,EAEIqmP,GAAoB,IAAIxF,GAAI,CAAC,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,QAAS,UAE/Ft3T,GAAmB,IAAIm3T,GAAG,GAE1B4F,GAAO,SAAUhE,EAAKiE,EAAKC,EAAMxxB,EAAKzrL,EAAMk9M,GAC5C,IAAI9miB,EAAI2iiB,EAAIjkjB,OACR+E,EAAI,IAAIs9iB,GAAG1rB,EAAMr1gB,EAAI,GAAK,EAAItJ,KAAKC,MAAMqJ,EAAI,MAAS4pV,GAEtDjyT,EAAIl0C,EAAEg/iB,SAASptB,EAAK5xhB,EAAE/E,OAASkrW,GAC/B/+Q,EAAM,EACV,IAAK+7d,GAAO5miB,EAAI,EACZ,IAAK,IAAI5c,EAAI,EAAGA,GAAK4c,EAAG5c,GAAK,MAAO,CAEhC,IAAI5C,EAAI4C,EAAI,MACR5C,EAAIwf,EAEJ6qE,EAAMu6d,GAAMztgB,EAAGkzC,EAAK83d,EAAIF,SAASr/iB,EAAG5C,KAIpCm3C,EAAEv0C,GAAK0jjB,EACPj8d,EAAMu6d,GAAMztgB,EAAGkzC,EAAK83d,EAAIF,SAASr/iB,EAAG4c,IAE5C,KAEC,CAeD,IAdA,IAAIhD,EAAM0piB,GAAIE,EAAM,GAChBpniB,EAAIxC,IAAQ,GAAIzL,EAAU,KAANyL,EACpB+piB,GAAS,GAAKF,GAAQ,EAEtBv1hB,EAAO,IAAI0vhB,GAAI,OAAQl2f,EAAO,IAAIk2f,GAAI+F,EAAQ,GAC9CC,EAAQtwiB,KAAK4pG,KAAKumc,EAAO,GAAII,EAAQ,EAAID,EACzCE,EAAM,SAAU9jjB,GAAK,OAAQu/iB,EAAIv/iB,GAAMu/iB,EAAIv/iB,EAAI,IAAM4jjB,EAAUrE,EAAIv/iB,EAAI,IAAM6jjB,GAAUF,CAAO,EAG9FzB,EAAO,IAAIpE,GAAI,MAEfp7P,EAAK,IAAIk7P,GAAI,KAAMt7P,EAAK,IAAIs7P,GAAI,IAEhCmG,EAAO,EAAGn2Q,EAAK,EAAUqhB,GAAPjvT,EAAI,EAAQ,GAAGwvT,EAAK,EAAGvqE,EAAK,EAC3CjlP,EAAI4c,IAAK5c,EAAG,CAEf,IAAIgkjB,EAAKF,EAAI9jjB,GAETikjB,EAAW,MAAJjkjB,EAEPkkjB,EAAQx8f,EAAKs8f,GAKjB,GAJA91hB,EAAK+1hB,GAAQC,EACbx8f,EAAKs8f,GAAMC,EAGPz0P,GAAMxvT,EAAG,CAET,IAAImkjB,EAAMvniB,EAAI5c,EACd,IAAK+jjB,EAAO,KAAQ90P,EAAK,QAAUk1P,EAAM,IAAK,CAC1C18d,EAAMw6d,GAAK1C,EAAKhrgB,EAAG,EAAG2tgB,EAAMx/P,EAAIJ,EAAI1U,EAAIqhB,EAAIhqE,EAAIjlP,EAAIilP,EAAIx9J,GACxDwnO,EAAK80P,EAAOn2Q,EAAK,EAAG3oD,EAAKjlP,EACzB,IAAK,IAAIggE,EAAI,EAAGA,EAAI,MAAOA,EACvB0iP,EAAG1iP,GAAK,EACZ,IAASA,EAAI,EAAGA,EAAI,KAAMA,EACtBsiP,EAAGtiP,GAAK,CAChB,CAEA,IAAIpyD,EAAI,EAAG7N,EAAI,EAAGqkjB,EAAOj2iB,EAAGk2iB,EAAOJ,EAAOC,EAAS,MACnD,GAAIC,EAAM,GAAKH,GAAMF,EAAI9jjB,EAAIqkjB,GAMzB,IALA,IAAIC,EAAOhxiB,KAAKoK,IAAItB,EAAG+niB,GAAO,EAC1BI,EAAOjxiB,KAAKoK,IAAI,MAAO1d,GAGvBorP,EAAK93O,KAAKoK,IAAI,IAAKymiB,GAChBE,GAAOE,KAAUH,GAAQH,GAAQC,GAAO,CAC3C,GAAI3E,EAAIv/iB,EAAI4N,IAAM2xiB,EAAIv/iB,EAAI4N,EAAIy2iB,GAAM,CAEhC,IADA,IAAIt4T,EAAK,EACFA,EAAKX,GAAMm0T,EAAIv/iB,EAAI+rP,IAAOwzT,EAAIv/iB,EAAI+rP,EAAKs4T,KAAQt4T,GAEtD,GAAIA,EAAKn+O,EAAG,CAGR,GAFAA,EAAIm+O,EAAIhsP,EAAIskjB,EAERt4T,EAAKu4T,EACL,MAIJ,IAAIE,EAAMlxiB,KAAKoK,IAAI2miB,EAAKt4T,EAAK,GACzB0tD,EAAK,EACT,IAASz5O,EAAI,EAAGA,EAAIwkf,IAAOxkf,EAAG,CAC1B,IAAI+uL,EAAM/uP,EAAIqkjB,EAAMrkf,EAAI,MAAS,MAE7Bg5O,EAAMjqD,EADA7gO,EAAK6gO,GACM,MAAS,MAC1BiqD,EAAKS,IACLA,EAAKT,EAAIkrQ,EAAQn1T,EACzB,CACJ,CACJ,CAGAs1T,IADAJ,EAAOC,IAAOA,EAAQh2hB,EAAK+1hB,IACJ,MAAS,KACpC,CAGJ,GAAIlkjB,EAAG,CAGHmijB,EAAKjzP,KAAQ,UAAamvP,GAAMxwiB,IAAM,GAAMywiB,GAAMt+iB,GAClD,IAAI0kjB,EAAiB,GAAXrG,GAAMxwiB,GAAS82iB,EAAiB,GAAXrG,GAAMt+iB,GACrC6tS,GAAMowQ,GAAKyG,GAAOxG,GAAKyG,KACrBhiQ,EAAG,IAAM+hQ,KACTniQ,EAAGoiQ,GACLl1P,EAAKxvT,EAAI4N,IACPm2iB,CACN,MAEI7B,EAAKjzP,KAAQswP,EAAIv/iB,KACf0iT,EAAG68P,EAAIv/iB,GAEjB,CACJ,CACAynF,EAAMw6d,GAAK1C,EAAKhrgB,EAAGmvgB,EAAKxB,EAAMx/P,EAAIJ,EAAI1U,EAAIqhB,EAAIhqE,EAAIjlP,EAAIilP,EAAIx9J,GAErDi8d,IACDj8d,EAAMu6d,GAAMztgB,EAAGkzC,EAAK++J,IAC5B,CACA,OAAO44T,GAAI/+iB,EAAG,EAAG4xhB,EAAMktB,GAAK13d,GAAO++Q,EACvC,EA2BIm+M,GAAQ,WACR,IAAIvpiB,EAAI,EAAGC,EAAI,EACf,MAAO,CACHsB,EAAG,SAAU5c,GAIT,IAFA,IAAIqc,EAAIhB,EAAGiB,EAAIhB,EACXzN,EAAI7N,EAAEzE,OACD0E,EAAI,EAAGA,GAAK4N,GAAI,CAErB,IADA,IAAIxQ,EAAIkW,KAAKoK,IAAI1d,EAAI,KAAM4N,GACpB5N,EAAI5C,IAAK4C,EACDqc,GAAXD,GAAKrc,EAAEC,GACXoc,GAAK,MAAOC,GAAK,KACrB,CACAjB,EAAIgB,EAAGf,EAAIgB,CACf,EACAtc,EAAG,WAAc,OAASqb,IAAM,GAAM,IAAU,IAAJC,IAAY,EAAKA,IAAM,GAA0B,IAAd,IAAJD,IAAY,GAAS,EAExG,EAGIwpiB,GAAO,SAAUrF,EAAK3liB,EAAKq4gB,EAAKzrL,EAAMi5M,GACtC,OAAO8D,GAAKhE,EAAkB,MAAb3liB,EAAI07E,MAAgB,EAAI17E,EAAI07E,MAAkB,MAAX17E,EAAIiriB,IAAcvxiB,KAAK4pG,KAAuD,IAAlD5pG,KAAKiK,IAAI,EAAGjK,KAAKoK,IAAI,GAAIpK,KAAKmtC,IAAI8+f,EAAIjkjB,WAAoB,GAAKse,EAAIiriB,IAAM5yB,EAAKzrL,GAAOi5M,EACzK,EA8HIqF,GAAS,SAAU/kjB,EAAGsb,EAAGtF,GACzB,KAAOA,IAAKsF,EACRtb,EAAEsb,GAAKtF,EAAGA,KAAO,CACzB,EAkCIgviB,GAAM,SAAU52iB,EAAG9N,GACnB,IAAIqqP,EAAKrqP,EAAEi1F,MAAOqnO,EAAW,GAANjyE,EAAU,EAAIA,EAAK,EAAI,EAAU,GAANA,EAAU,EAAI,EAChEv8O,EAAE,GAAK,IAAKA,EAAE,GAAMwuT,GAAM,GAAMA,EAAM,GAAK,EAAIA,EAAM,EACzD,EAEIqoP,GAAM,SAAUjljB,GAChB,GAAmB,IAAP,GAAPA,EAAE,KAAkBA,EAAE,KAAO,EAAK,IAAOA,EAAE,IAAM,EAAIA,EAAE,IAAM,GAC9D,KAAM,oBACV,GAAW,GAAPA,EAAE,GACF,KAAM,sDACd,EA+WO,SAASkljB,GAASn9iB,EAAMgS,QACd,IAATA,IAAmBA,EAAO,CAAC,GAC/B,IAAIsB,EAAIupiB,KACRvpiB,EAAEuB,EAAE7U,GACJ,IAAI/H,EAAI6kjB,GAAK98iB,EAAMgS,EAAM,EAAG,GAC5B,OAAOiriB,GAAIhljB,EAAG+Z,GAAOgriB,GAAO/kjB,EAAGA,EAAEzE,OAAS,EAAG8f,EAAErb,KAAMA,CACzD,CA4EO,SAASmljB,GAAWp9iB,EAAMoyG,GAC7B,OAAOolc,IAAO0F,GAAIl9iB,GAAOA,EAAKu3iB,SAAS,GAAI,IAAKnlc,EACpD,CCh0CO,IAAIirc,GAAgB,iBAClB,oBAAuBjtiB,OAC1BA,OACA,oBAAuB4zW,EAAAA,EACvBA,EAAAA,EACA,oBAAuB9nU,KACvBA,KACAxpD,IAAAA,CAPqB,GCE3B,SAAS4qjB,KACHD,GAAanriB,SAA+C,mBAA7BmriB,GAAanriB,QAAQymC,KACtD0kgB,GAAanriB,QAAQymC,IAAI3wC,MAAMq1iB,GAAanriB,QAASne,UAAAA,CAuBlD,IAAIme,GAAU,CACnBymC,IAAK2kgB,GACLnriB,KArBF,SAAqBhU,GACfk/iB,GAAanriB,UAC0B,mBAA9BmriB,GAAanriB,QAAQC,KAC9BkriB,GAAanriB,QAAQC,KAAKnK,MAAMq1iB,GAAanriB,QAASne,WAEtDupjB,GAAWh3iB,KAAK,KAAMvS,WAAAA,EAiB1BqU,MAZF,SAAsBjK,GAChBk/iB,GAAanriB,UAC2B,mBAA/BmriB,GAAanriB,QAAQ9J,MAC9Bi1iB,GAAanriB,QAAQ9J,MAAMJ,MAAMq1iB,GAAanriB,QAASne,WAEvDupjB,GAAWn/iB,GAAAA,GCWjB,SAASo/iB,GAASj8iB,EAAK/D,EAAMyU,GAAAA,IACvB+rD,EAAM,IAAIn9D,eACdm9D,EAAIh8D,KAAK,MAAOT,GAChBy8D,EAAI59D,aAAe,OACnB49D,EAAI0yQ,OAAS,WACX+sO,GAAOz/e,EAAIr8D,SAAUnE,EAAMyU,EAAAA,EAE7B+rD,EAAIr7D,QAAU,WACZwP,GAAQ9J,MAAM,4BAEhB21D,EAAI55D,MAAAA,CAGN,SAASs5iB,GAAYn8iB,GAAAA,IACfy8D,EAAM,IAAIn9D,eAEdm9D,EAAIh8D,KAAK,OAAQT,GAAAA,GAAK,IAEpBy8D,EAAI55D,MAAAA,CACJ,MAAO7O,GAAAA,CAAAA,OACFyoE,EAAIn8D,QAAU,KAAOm8D,EAAIn8D,QAAU,IAI5C,SAAS0xG,GAAM5uF,GAAAA,IAEXA,EAAKmsR,cAAc,IAAI6sQ,WAAW,UAClC,MAAOpojB,IAAAA,IACHqojB,EAAM5kjB,SAAS0wG,YAAY,eAC/Bk0c,EAAIC,eACF,YACA,EAEAxtiB,OACA,EACA,EACA,EACA,GACA,OACA,GACA,GACA,EAEA,EACA,MAEFsU,EAAKmsR,cAAc8sQ,EAAAA,CAAAA,CAIvB,IClFIE,GAAM18iB,GDkFNq8iB,GACFM,GAAQN,SAEW,gCAAXptiB,OAAAA,aAAAA,EAAAA,EAAAA,GAAAA,UAAuBA,SAAW0tiB,GACtC,aAI2B,oBAAtBC,mBACL,aAAcA,kBAAkBr5iB,UAChC,SAAgBs5iB,EAAMzgjB,EAAMyU,GAAAA,IACtBisiB,EAAMH,GAAQG,KAAOH,GAAQI,UAC7B5qiB,EAAIva,SAASC,cAAc,KAC/BuE,EAAOA,GAAQygjB,EAAKzgjB,MAAQ,WAE5B+V,EAAEiqiB,SAAWhgjB,EACb+V,EAAEyme,IAAM,WAKY,iBAATikE,GAET1qiB,EAAE1D,KAAOouiB,EACL1qiB,EAAE+rL,SAAWhvL,SAASgvL,OACxBo+W,GAAYnqiB,EAAE1D,MACV2tiB,GAASS,EAAMzgjB,EAAMyU,GACrBshG,GAAMhgG,EAAIA,EAAE3I,OAAS,UAEzB2oG,GAAMhgG,KAIRA,EAAE1D,KAAOquiB,EAAIE,gBAAgBH,GAC7B3gjB,YAAW,WACT4gjB,EAAIG,gBAAgB9qiB,EAAE1D,KAAAA,GACrB,KACHvS,YAAW,WACTi2G,GAAMhgG,EAAAA,GACL,KAIT,qBAAsB9D,UACpB,SAAgBwuiB,EAAMzgjB,EAAMyU,GAAAA,GAC1BzU,EAAOA,GAAQygjB,EAAKzgjB,MAAQ,WAER,iBAATygjB,EAAAA,GACLP,GAAYO,GACdT,GAASS,EAAMzgjB,EAAMyU,OAChB,KACDsB,EAAIva,SAASC,cAAc,KAC/Bsa,EAAE1D,KAAOouiB,EACT1qiB,EAAE3I,OAAS,SACXtN,YAAW,WACTi2G,GAAMhgG,EAAAA,GAAAA,MAIV9D,UAAU6uiB,iBAjIpB,SAAaL,EAAMhsiB,GAAAA,YAAAA,IACNA,EAAsBA,EAAO,CAAEssiB,SAAS,GAC1B,YAAhB95O,EAAAA,EAAAA,GAAOxyT,KACdE,GAAQC,KAAK,sDACbH,EAAO,CAAEssiB,SAAUtsiB,IAMnBA,EAAKssiB,SACL,6EAA6ElviB,KAC3E4uiB,EAAKjjjB,MAGA,IAAIkW,KAAK,CAACiD,OAAO0wD,aAAa,OAASo5e,GAAO,CAAEjjjB,KAAMijjB,EAAKjjjB,OAE7DijjB,CAAAA,CAjBT,CAiIyCA,EAAMhsiB,GAAOzU,EAAAA,EAIhD,SAAgBygjB,EAAMzgjB,EAAMyU,EAAM0gN,GAAAA,IAGhCA,EAAQA,GAAS3wN,KAAK,GAAI,aAExB2wN,EAAM35N,SAASgtH,MAAQ2sG,EAAM35N,SAASumB,KAAKi/hB,UACzC,kBAGgB,iBAATP,EAAmB,OAAOT,GAASS,EAAMzgjB,EAAMyU,GAAAA,IAEtDglF,EAAsB,6BAAdgnd,EAAKjjjB,KACbyjjB,EACF,eAAepviB,KAAK0uiB,GAAQpzO,cAAgBozO,GAAQrkiB,OAClDgliB,EAAc,eAAerviB,KAAKI,UAAUC,WAAAA,IAG7CgviB,GAAgBznd,GAASwnd,IACJ,gCAAfE,WAAAA,aAAAA,EAAAA,EAAAA,GAAAA,aACP,KAEIC,EAAS,IAAID,WACjBC,EAAOp9iB,UAAY,eACbD,EAAMq9iB,EAAOpsiB,OACjBjR,EAAMm9iB,EACFn9iB,EACAA,EAAIlD,QAAQ,eAAgB,yBAC5Bs0N,EAAOA,EAAMriN,SAAST,KAAOtO,EAC5B+O,SAAW/O,EAChBoxN,EAAQ,MAEVisV,EAAOC,cAAcZ,EAAAA,KAChB,KACDC,EAAMH,GAAQG,KAAOH,GAAQI,UAC7B58iB,EAAM28iB,EAAIE,gBAAgBH,GAC1BtrV,EAAOA,EAAMriN,SAAW/O,EACvB+O,SAAST,KAAOtO,EACrBoxN,EAAQ,KACRr1N,YAAW,WACT4gjB,EAAIG,gBAAgB98iB,EAAAA,GACnB,QEpLb,SAASu9iB,GAASC,GAAAA,IAaZC,EAZJD,EAAeA,GAAgB,QAC1B5tP,IAAK,EAGoB,KAA1B4tP,EAAa3uiB,OAAO,KAEtB2uiB,EAAeA,EAAanuiB,OAAO,EAAG,IA2JxCmuiB,EAjJoB,CAClBtzX,UAAW,SACXC,aAAc,SACdC,KAAM,SACNC,WAAY,SACZC,MAAO,SACPC,MAAO,SACPC,OAAQ,SACRC,MAAO,SACPC,eAAgB,SAChBC,KAAM,SACNC,WAAY,SACZC,MAAO,SACPC,UAAW,SACXC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,MAAO,SACPC,eAAgB,SAChBC,SAAU,SACVC,QAAS,SACTC,KAAM,SACNC,SAAU,SACVC,SAAU,SACVC,cAAe,SACfC,SAAU,SACVC,UAAW,SACXE,UAAW,SACXC,YAAa,SACbC,eAAgB,SAChBC,WAAY,SACZC,WAAY,SACZC,QAAS,SACTC,WAAY,SACZC,aAAc,SACdC,cAAe,SACfC,cAAe,SACfE,cAAe,SACfC,WAAY,SACZC,SAAU,SACVC,YAAa,SACbC,QAAS,SACTE,WAAY,SACZC,SAAU,SACVC,UAAW,SACXC,YAAa,SACbC,YAAa,SACbC,QAAS,SACTC,UAAW,SACXC,WAAY,SACZC,KAAM,SACNC,UAAW,SACXC,KAAM,SACNC,MAAO,SACPC,YAAa,SACbE,SAAU,SACVC,QAAS,SACTC,UAAW,SACXC,OAAQ,SACRC,MAAO,SACPC,MAAO,SACPC,SAAU,SACVC,cAAe,SACfC,UAAW,SACXC,aAAc,SACdC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,qBAAsB,SACtBG,UAAW,SACXD,WAAY,SACZE,UAAW,SACXC,YAAa,SACbC,cAAe,SACfC,aAAc,SACdC,eAAgB,SAChBC,eAAgB,SAChBE,eAAgB,SAChBC,YAAa,SACbC,KAAM,SACNC,UAAW,SACXC,MAAO,SACPC,QAAS,SACTC,OAAQ,SACRC,iBAAkB,SAClBC,WAAY,SACZC,aAAc,SACdC,aAAc,SACdC,eAAgB,SAChBC,gBAAiB,SACjBC,kBAAmB,SACnBC,gBAAiB,SACjBC,gBAAiB,SACjBC,aAAc,SACdC,UAAW,SACXC,UAAW,SACXC,SAAU,SACVC,YAAa,SACbC,KAAM,SACNC,QAAS,SACTC,MAAO,SACPC,UAAW,SACXC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,cAAe,SACfC,UAAW,SACXC,cAAe,SACfC,cAAe,SACfC,WAAY,SACZC,UAAW,SACXC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,WAAY,SACZC,OAAQ,SACRE,IAAK,SACLC,UAAW,SACXC,UAAW,SACXC,YAAa,SACbC,OAAQ,SACRC,WAAY,SACZC,SAAU,SACVC,SAAU,SACVC,OAAQ,SACRC,OAAQ,SACRC,QAAS,SACTC,UAAW,SACXC,UAAW,SACXE,KAAM,SACNC,YAAa,SACbC,UAAW,SACXC,IAAK,SACLC,KAAM,SACNC,QAAS,SACTC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,UAAW,SACXC,MAAO,SACPC,MAAO,SACPC,WAAY,SACZC,OAAQ,SACRC,YAAa,UArJfgqX,GADAA,EAAeA,EAAa1gjB,QAAQ,KAAM,KACdC,gBAuJkBygjB,EAAAA,IAAAA,IAG1CE,EAAa,CACf,CACEhqX,GAAI,+CACJiqX,QAAS,CAAC,oBAAqB,oBAC/BnziB,QAAS,SAASqriB,GAAAA,MACT,CAAC9hiB,SAAS8hiB,EAAK,IAAK9hiB,SAAS8hiB,EAAK,IAAK9hiB,SAAS8hiB,EAAK,OAGhE,CACEniX,GAAI,0BACJiqX,QAAS,CAAC,UAAW,UACrBnziB,QAAS,SAASqriB,GAAAA,MACT,CACL9hiB,SAAS8hiB,EAAK,GAAI,IAClB9hiB,SAAS8hiB,EAAK,GAAI,IAClB9hiB,SAAS8hiB,EAAK,GAAI,OAIxB,CACEniX,GAAI,0BACJiqX,QAAS,CAAC,OAAQ,OAClBnziB,QAAS,SAASqriB,GAAAA,MACT,CACL9hiB,SAAS8hiB,EAAK,GAAKA,EAAK,GAAI,IAC5B9hiB,SAAS8hiB,EAAK,GAAKA,EAAK,GAAI,IAC5B9hiB,SAAS8hiB,EAAK,GAAKA,EAAK,GAAI,QAO3Bj/iB,EAAI,EAAGA,EAAI8mjB,EAAWxrjB,OAAQ0E,IAAK,KACtC88L,EAAKgqX,EAAW9mjB,GAAG88L,GACnBkqX,EAAYF,EAAW9mjB,GAAG4T,QAC1BqriB,EAAOniX,EAAGpkL,KAAKkuiB,GACf3H,IACF4H,EAAWG,EAAU/H,GAAAA,KAChB9iiB,EAAI0qiB,EAAS,QACbvtd,EAAIutd,EAAS,QACbxriB,EAAIwriB,EAAS,QACb7tP,IAAK,QAKT78S,EAAI3hB,KAAK2hB,EAAI,GAAKxW,MAAMnL,KAAK2hB,GAAK,EAAI3hB,KAAK2hB,EAAI,IAAM,IAAM3hB,KAAK2hB,EAAAA,KAChEm9E,EAAI9+F,KAAK8+F,EAAI,GAAK3zF,MAAMnL,KAAK8+F,GAAK,EAAI9+F,KAAK8+F,EAAI,IAAM,IAAM9+F,KAAK8+F,EAAAA,KAChEj+E,EAAI7gB,KAAK6gB,EAAI,GAAK1V,MAAMnL,KAAK6gB,GAAK,EAAI7gB,KAAK6gB,EAAI,IAAM,IAAM7gB,KAAK6gB,EAAAA,KAGhE4riB,MAAQ,iBACJ,OAASzsjB,KAAK2hB,EAAI,KAAO3hB,KAAK8+F,EAAI,KAAO9+F,KAAK6gB,EAAI,UAEtD6jL,MAAQ,eACP/iL,EAAI3hB,KAAK2hB,EAAEtI,SAAS,IACpBylF,EAAI9+F,KAAK8+F,EAAEzlF,SAAS,IACpBwH,EAAI7gB,KAAK6gB,EAAExH,SAAS,WACR,GAAZsI,EAAE7gB,SAAa6gB,EAAI,IAAMA,GACb,GAAZm9E,EAAEh+F,SAAag+F,EAAI,IAAMA,GACb,GAAZj+E,EAAE/f,SAAa+f,EAAI,IAAMA,GACtB,IAAMc,EAAIm9E,EAAIj+E,CAAAA,CAAAA,CChOzB,SAAS6riB,GAAS5+gB,EAAG6xD,GAAAA,IACf/+E,EAAIktB,EAAE,GACRjtB,EAAIitB,EAAE,GACNn6B,EAAIm6B,EAAE,GACNvoC,EAAIuoC,EAAE,GAERltB,EAAIwrO,GAAGxrO,EAAGC,EAAGlN,EAAGpO,EAAGo6F,EAAE,GAAI,GAAI,WAC7Bp6F,EAAI6mP,GAAG7mP,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,GAAI,IAAK,WAC9BhsF,EAAIy4O,GAAGz4O,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,GAAI,GAAI,WAC7B9+E,EAAIurO,GAAGvrO,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,GAAI,IAAK,YAC9B/+E,EAAIwrO,GAAGxrO,EAAGC,EAAGlN,EAAGpO,EAAGo6F,EAAE,GAAI,GAAI,WAC7Bp6F,EAAI6mP,GAAG7mP,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,GAAI,GAAI,YAC7BhsF,EAAIy4O,GAAGz4O,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,GAAI,IAAK,YAC9B9+E,EAAIurO,GAAGvrO,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,GAAI,IAAK,UAC9B/+E,EAAIwrO,GAAGxrO,EAAGC,EAAGlN,EAAGpO,EAAGo6F,EAAE,GAAI,EAAG,YAC5Bp6F,EAAI6mP,GAAG7mP,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,GAAI,IAAK,YAC9BhsF,EAAIy4O,GAAGz4O,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,IAAK,IAAK,OAC/B9+E,EAAIurO,GAAGvrO,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,IAAK,IAAK,YAC/B/+E,EAAIwrO,GAAGxrO,EAAGC,EAAGlN,EAAGpO,EAAGo6F,EAAE,IAAK,EAAG,YAC7Bp6F,EAAI6mP,GAAG7mP,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,IAAK,IAAK,UAC/BhsF,EAAIy4O,GAAGz4O,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,IAAK,IAAK,YAG/B/+E,EAAI46Q,GAAG56Q,EAFPC,EAAIurO,GAAGvrO,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,IAAK,GAAI,YAEjBhsF,EAAGpO,EAAGo6F,EAAE,GAAI,GAAI,WAC7Bp6F,EAAIi2R,GAAGj2R,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,GAAI,GAAI,YAC7BhsF,EAAI6nR,GAAG7nR,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,IAAK,GAAI,WAC9B9+E,EAAI26Q,GAAG36Q,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,GAAI,IAAK,WAC9B/+E,EAAI46Q,GAAG56Q,EAAGC,EAAGlN,EAAGpO,EAAGo6F,EAAE,GAAI,GAAI,WAC7Bp6F,EAAIi2R,GAAGj2R,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,IAAK,EAAG,UAC7BhsF,EAAI6nR,GAAG7nR,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,IAAK,IAAK,WAC/B9+E,EAAI26Q,GAAG36Q,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,GAAI,IAAK,WAC9B/+E,EAAI46Q,GAAG56Q,EAAGC,EAAGlN,EAAGpO,EAAGo6F,EAAE,GAAI,EAAG,WAC5Bp6F,EAAIi2R,GAAGj2R,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,IAAK,GAAI,YAC9BhsF,EAAI6nR,GAAG7nR,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,GAAI,IAAK,WAC9B9+E,EAAI26Q,GAAG36Q,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,GAAI,GAAI,YAC7B/+E,EAAI46Q,GAAG56Q,EAAGC,EAAGlN,EAAGpO,EAAGo6F,EAAE,IAAK,GAAI,YAC9Bp6F,EAAIi2R,GAAGj2R,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,GAAI,GAAI,UAC7BhsF,EAAI6nR,GAAG7nR,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,GAAI,GAAI,YAG7B/+E,EAAIymQ,GAAGzmQ,EAFPC,EAAI26Q,GAAG36Q,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,IAAK,IAAK,YAElBhsF,EAAGpO,EAAGo6F,EAAE,GAAI,GAAI,QAC7Bp6F,EAAI8hR,GAAG9hR,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,GAAI,IAAK,YAC9BhsF,EAAI0zQ,GAAG1zQ,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,IAAK,GAAI,YAC9B9+E,EAAIwmQ,GAAGxmQ,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,IAAK,IAAK,UAC/B/+E,EAAIymQ,GAAGzmQ,EAAGC,EAAGlN,EAAGpO,EAAGo6F,EAAE,GAAI,GAAI,YAC7Bp6F,EAAI8hR,GAAG9hR,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,GAAI,GAAI,YAC7BhsF,EAAI0zQ,GAAG1zQ,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,GAAI,IAAK,WAC9B9+E,EAAIwmQ,GAAGxmQ,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,IAAK,IAAK,YAC/B/+E,EAAIymQ,GAAGzmQ,EAAGC,EAAGlN,EAAGpO,EAAGo6F,EAAE,IAAK,EAAG,WAC7Bp6F,EAAI8hR,GAAG9hR,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,GAAI,IAAK,WAC9BhsF,EAAI0zQ,GAAG1zQ,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,GAAI,IAAK,WAC9B9+E,EAAIwmQ,GAAGxmQ,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,GAAI,GAAI,UAC7B/+E,EAAIymQ,GAAGzmQ,EAAGC,EAAGlN,EAAGpO,EAAGo6F,EAAE,GAAI,GAAI,WAC7Bp6F,EAAI8hR,GAAG9hR,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,IAAK,IAAK,WAC/BhsF,EAAI0zQ,GAAG1zQ,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,IAAK,GAAI,WAG9B/+E,EAAImiL,GAAGniL,EAFPC,EAAIwmQ,GAAGxmQ,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,GAAI,IAAK,WAEjBhsF,EAAGpO,EAAGo6F,EAAE,GAAI,GAAI,WAC7Bp6F,EAAIw9L,GAAGx9L,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,GAAI,GAAI,YAC7BhsF,EAAIovL,GAAGpvL,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,IAAK,IAAK,YAC/B9+E,EAAIkiL,GAAGliL,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,GAAI,IAAK,UAC9B/+E,EAAImiL,GAAGniL,EAAGC,EAAGlN,EAAGpO,EAAGo6F,EAAE,IAAK,EAAG,YAC7Bp6F,EAAIw9L,GAAGx9L,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,GAAI,IAAK,YAC9BhsF,EAAIovL,GAAGpvL,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,IAAK,IAAK,SAC/B9+E,EAAIkiL,GAAGliL,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,GAAI,IAAK,YAC9B/+E,EAAImiL,GAAGniL,EAAGC,EAAGlN,EAAGpO,EAAGo6F,EAAE,GAAI,EAAG,YAC5Bp6F,EAAIw9L,GAAGx9L,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,IAAK,IAAK,UAC/BhsF,EAAIovL,GAAGpvL,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,GAAI,IAAK,YAC9B9+E,EAAIkiL,GAAGliL,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,IAAK,GAAI,YAC9B/+E,EAAImiL,GAAGniL,EAAGC,EAAGlN,EAAGpO,EAAGo6F,EAAE,GAAI,GAAI,WAC7Bp6F,EAAIw9L,GAAGx9L,EAAGqb,EAAGC,EAAGlN,EAAGgsF,EAAE,IAAK,IAAK,YAC/BhsF,EAAIovL,GAAGpvL,EAAGpO,EAAGqb,EAAGC,EAAG8+E,EAAE,GAAI,GAAI,WAC7B9+E,EAAIkiL,GAAGliL,EAAGlN,EAAGpO,EAAGqb,EAAG++E,EAAE,GAAI,IAAK,WAE9B7xD,EAAE,GAAK6+gB,GAAM/riB,EAAGktB,EAAE,IAClBA,EAAE,GAAK6+gB,GAAM9riB,EAAGitB,EAAE,IAClBA,EAAE,GAAK6+gB,GAAMh5iB,EAAGm6B,EAAE,IAClBA,EAAE,GAAK6+gB,GAAMpnjB,EAAGuoC,EAAE,IAGpB,SAAS8+gB,GAAIvoX,EAAGzjL,EAAGC,EAAGitB,EAAG1rB,EAAGV,GAAAA,OAC1Bd,EAAI+riB,GAAMA,GAAM/riB,EAAGyjL,GAAIsoX,GAAM7+gB,EAAGpsB,IACzBiriB,GAAO/riB,GAAKwB,EAAMxB,IAAO,GAAKwB,EAAKvB,EAAAA,CAG5C,SAASurO,GAAGxrO,EAAGC,EAAGlN,EAAGpO,EAAGuoC,EAAG1rB,EAAGV,GAAAA,OACrBkriB,GAAK/riB,EAAIlN,GAAOkN,EAAItb,EAAIqb,EAAGC,EAAGitB,EAAG1rB,EAAGV,EAAAA,CAG7C,SAAS85Q,GAAG56Q,EAAGC,EAAGlN,EAAGpO,EAAGuoC,EAAG1rB,EAAGV,GAAAA,OACrBkriB,GAAK/riB,EAAItb,EAAMoO,GAAKpO,EAAIqb,EAAGC,EAAGitB,EAAG1rB,EAAGV,EAAAA,CAG7C,SAAS2lQ,GAAGzmQ,EAAGC,EAAGlN,EAAGpO,EAAGuoC,EAAG1rB,EAAGV,GAAAA,OACrBkriB,GAAI/riB,EAAIlN,EAAIpO,EAAGqb,EAAGC,EAAGitB,EAAG1rB,EAAGV,EAAAA,CAGpC,SAASqhL,GAAGniL,EAAGC,EAAGlN,EAAGpO,EAAGuoC,EAAG1rB,EAAGV,GAAAA,OACrBkriB,GAAIj5iB,GAAKkN,GAAKtb,GAAIqb,EAAGC,EAAGitB,EAAG1rB,EAAGV,EAAAA,CAGvC,SAASmriB,GAAKzqiB,GAAAA,IAIV5c,EAFEoc,EAAIQ,EAAEthB,OACRgB,EAAQ,CAAC,YAAa,WAAY,WAAY,eAE3C0D,EAAI,GAAIA,GAAK4c,EAAEthB,OAAQ0E,GAAK,GAC/BknjB,GAAS5qjB,EAAOgrjB,GAAO1qiB,EAAE0mI,UAAUtjJ,EAAI,GAAIA,KAE7C4c,EAAIA,EAAE0mI,UAAUtjJ,EAAI,QAChBg2T,EAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OACpDh2T,EAAI,EAAGA,EAAI4c,EAAEthB,OAAQ0E,IACxBg2T,EAAKh2T,GAAK,IAAM4c,EAAEpB,WAAWxb,KAAOA,EAAI,GAAK,MAC/Cg2T,EAAKh2T,GAAK,IAAM,MAASA,EAAI,GAAK,GAC9BA,EAAI,GAAI,IACVknjB,GAAS5qjB,EAAO05T,GACXh2T,EAAI,EAAGA,EAAI,GAAIA,IAAKg2T,EAAKh2T,GAAK,SAErCg2T,EAAK,IAAU,EAAJ55S,EACX8qiB,GAAS5qjB,EAAO05T,GACT15T,CAAAA,CAkBT,SAASgrjB,GAAO1qiB,GAAAA,IAGZ5c,EADEunjB,EAAU,OAETvnjB,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvBunjB,EAAQvnjB,GAAK,GACX4c,EAAEpB,WAAWxb,IACZ4c,EAAEpB,WAAWxb,EAAI,IAAM,IACvB4c,EAAEpB,WAAWxb,EAAI,IAAM,KACvB4c,EAAEpB,WAAWxb,EAAI,IAAM,WAErBunjB,CAAAA,CF1JP5B,GAAOR,GAAaQ,KAAKz5iB,KAAKi5iB,IAC9Bl8iB,GAAOk8iB,GAAal8iB,KAAKiD,KAAKi5iB,IE4JhC,IAAIqC,GAAU,mBAAmB3pjB,MAAM,IAEvC,SAAS4pjB,GAAKrriB,GAAAA,IAAAA,IACRQ,EAAI,GACNojD,EAAI,EACCA,EAAI,EAAGA,IACZpjD,GAAK4qiB,GAASpriB,GAAU,EAAJ4jD,EAAQ,EAAM,IAAQwnf,GAASpriB,GAAU,EAAJ4jD,EAAU,WAC9DpjD,CAAAA,CAST,SAAS8qiB,GAAmBtriB,GAAAA,OACnBJ,OAAO0wD,aACP,IAAJtwD,GACI,MAAJA,IAAe,GACX,SAAJA,IAAiB,IACb,WAAJA,IAAmB,IAUxB,SAASuriB,GAAO/qiB,GAAAA,OACMyqiB,GAAKzqiB,GALhBM,IAAIwqiB,IAAoBxxiB,KAAK,IAaxC,IAAI0xiB,GAA2B,oCA9B/B,SAAat/gB,GAAAA,IACN,IAAItoC,EAAI,EAAGA,EAAIsoC,EAAEhtC,OAAQ0E,IAAKsoC,EAAEtoC,GAAKynjB,GAAKn/gB,EAAEtoC,IAAAA,OAC1CsoC,EAAEpyB,KAAK,IAFhB,CA2BamxiB,GAGM,UAEnB,SAASF,GAAM/riB,EAAGC,GAAAA,GACZusiB,GAAU,KAKRC,GAAW,MAAJzsiB,IAAmB,MAAJC,GAAAA,OACjBD,GAAK,KAAOC,GAAK,KAAOwsiB,GAAO,KACzB,GAAa,MAANA,CAAAA,CAAAA,OAOdzsiB,EAAIC,EAAK,WCrMrB,SAASysiB,GAAItsjB,EAAKsM,GAAAA,IACZigjB,EAAStuS,EAdCxzQ,EAAKy8U,EAAAA,GAeflnV,IAAQusjB,EAAS,SACf5td,GAhBQl0F,EAgBGzK,EAhBEknV,EAgB+B,GAA1B,IAAMlnV,EAAIF,OAAW,GAftC,IAAIuU,MAAM6yU,EAAM,GAAGxsU,KAAKjQ,IAgBzB3J,EAAQ,GACH0D,EAAI,EAAGA,EAAI,IAAKA,IACvB1D,EAAM0D,GAAKA,EAAAA,IAETggE,EAAI,MACChgE,EAAI,EAAGA,EAAI,IAAKA,IAAK,KACxBkc,EAAI5f,EAAM0D,GACdggE,GAAKA,EAAI9jD,EAAIi+E,EAAE3+E,WAAWxb,IAAM,IAChC1D,EAAM0D,GAAK1D,EAAM0jE,GACjB1jE,EAAM0jE,GAAK9jD,CAAAA,CAEb6riB,EAAUvsjB,EACVi+Q,EAAYn9Q,CAAAA,MAEZA,EAAQm9Q,EAAAA,IAENn+Q,EAASwM,EAAKxM,OACd8f,EAAI,EACJC,EAAI,EACJ6+F,EAAM,OACDl6G,EAAI,EAAGA,EAAI1E,EAAQ0E,IAG1Bqb,GAAKA,GADLa,EAAI5f,EADJ8e,GAAKA,EAAI,GAAK,OAEA,IACd9e,EAAM8e,GAAK9e,EAAM+e,GACjB/e,EAAM+e,GAAKa,EACXi+E,EAAI79F,GAAOA,EAAM8e,GAAK9e,EAAM+e,IAAM,KAClC6+F,GAAOl+F,OAAO0wD,aAAa5kE,EAAK0T,WAAWxb,GAAKm6F,GAAAA,OAE3C+f,CAAAA,CCxCT,IAAI8tc,GAAoB,CACtBC,MAAO,EACPC,OAAQ,EACR3iN,KAAM,iBACS,IAgBjB,SAAS4iN,GAAYC,EAAaC,EAAcC,EAAeC,GAAAA,KACxDxyiB,EAAI,OACJoG,EAAI,MAGLqsiB,EAAa,IACjBJ,EAAYvtjB,SAAQ,SAAS4tjB,GAAAA,QAAAA,IAChBT,GAAkBS,KAAAA,MACrB,IAAI9tjB,MAAM,uBAAyB8tjB,GAE3CD,GAAcR,GAAkBS,EAAAA,IAAAA,KAI7Bv+hB,QACH,yEAEEw+hB,GAAsBL,EAAe7tjB,KAAK0vB,SAASzR,OAAO,EAAG,IAC7DkwiB,GAAuBL,EAAgB9tjB,KAAK0vB,SAASzR,OAAO,EAAG,SAE9DulE,EAAIxjF,KAAKoujB,qBAAqBF,EAAoBC,GAAAA,KAClD57P,IAA2B,GAAP,IAAby7P,IAAAA,KACPK,cAAgBlB,GACnBe,EACElujB,KAAKwjF,EACLxjF,KAAKsujB,aAAatujB,KAAKuyT,GACvBvyT,KAAKuujB,WAAWR,IAClB9viB,OAAO,EAAG,QACPs+S,EAAI+wP,GAAIttjB,KAAKqujB,cAAerujB,KAAK0vB,QAAAA,CC1DxC,SAAS8+hB,GAAU/ijB,GAAAA,GAEb,mBAAmBiR,KAAKjR,GAAAA,MAEpB,IAAItL,MACR,4BAA8BsL,EAAM,2CAGpCoU,EAAS,GACX4uiB,EAAYhjjB,EAAI3K,OACT0E,EAAI,EAAGA,EAAIipjB,EAAWjpjB,IAAK,KAC9BysE,EAAWxmE,EAAIuV,WAAWxb,GAuB5Bqa,GArBAoyD,EAAW,IACE,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,MAAbA,GACa,MAAbA,GACAA,EAAW,IASD,KAFS,IADNA,EAAS54D,SAAS,KACEjB,OAAO,GAK9B3M,EAAIjG,EAAAA,CAAAA,OAGXqa,CAAAA,CC3BT,SAAS6uiB,GAAOntjB,GAAAA,GACS,YAAnBuwU,EAAAA,EAAAA,GAAOvwU,GAAAA,MACH,IAAIpB,MACR,kEAGAwujB,EAAS,CAAC,EAAD,KAERt9iB,UAAY,SAASu9iB,EAAOtujB,EAAUyqU,GAAAA,GACzCA,EAAOA,IAAAA,EAEY,iBAAV6jP,GACa,mBAAbtujB,GACS,kBAATyqU,EAAAA,MAED,IAAI5qU,MACR,+DAICwujB,EAAOxuiB,eAAeyuiB,KACzBD,EAAOC,GAAS,CAAC,GAAD,IAGd37iB,EAAQ6F,KAAK6hB,SAASthB,SAAS,WACnCs1iB,EAAOC,GAAO37iB,GAAS,CAAC3S,IAAYyqU,GAE7B93T,CAAAA,EAAAA,KAGJrF,YAAc,SAASqF,GAAAA,IACrB,IAAI27iB,KAASD,EAAAA,GACZA,EAAOC,GAAO37iB,GAAAA,cACT07iB,EAAOC,GAAO37iB,GACqB,IAAtCvS,OAAOE,KAAK+tjB,EAAOC,IAAQ9tjB,eACtB6tjB,EAAOC,IAAAA,EAET,QAGJ,OAGJC,QAAU,SAASD,GAAAA,GAClBD,EAAOxuiB,eAAeyuiB,GAAQ,KAC5BzziB,EAAO9F,MAAMrD,UAAUoG,MAAMxE,KAAKvS,UAAW,GAC/CuqR,EAAS,OAEN,IAAI34Q,KAAS07iB,EAAOC,GAAQ,KAC3Bj3L,EAAMg3L,EAAOC,GAAO37iB,GAAAA,IAEtB0kX,EAAI,GAAGriX,MAAM/T,EAAS4Z,EAAAA,CACtB,MAAO0qC,GACH8kgB,GAAanriB,SACfA,GAAQ9J,MAAM,qBAAsBmwC,EAAGp8C,QAASo8C,EAAAA,CAGhD8xU,EAAI,IAAI/rG,EAAOnpR,KAAKwQ,EAAAA,CAEtB24Q,EAAO9qR,QAAQ8qR,EAAOvrR,QAAQL,KAAK4N,YAAAA,CAAAA,EAAAA,KAItCkhjB,UAAY,kBACRH,CAAAA,CAAAA,CAIX,SAASI,GAAO1kf,GAAAA,KACRrqE,gBAAgB+ujB,IAAAA,OACb,IAAIA,GAAO1kf,GAAAA,IAWhB2kf,EAAY,yBAAyB3rjB,MAAM,SAC1C,IAAI8e,KAAKkoD,EACRA,EAAWlqD,eAAegC,IAAM6siB,EAAUtrjB,QAAQye,IAAM,SACrDA,GAAKkoD,EAAWloD,IAAAA,KAOpBxd,GAAK,QAKLsqjB,cAAgB,EAoBvB,SAASC,GAAQC,EAAQlvgB,GAAAA,KAClBkvgB,OAASA,EAAAA,KACTlvgB,OAASA,EAAAA,KAETt7C,GAAK,QACLsqjB,cAAgB,EAGvB,SAASG,GAAe/mjB,EAAM2vL,EAAQksL,EAAQirM,EAAQlvgB,GAAAA,KAC9CjgD,gBAAgBovjB,IAAAA,OACb,IAAIA,GAAe/mjB,EAAM2vL,EAAQksL,EAAQirM,EAAQlvgB,GAAAA,KAIrD53C,KAAgB,UAATA,EAAmB,EAAI,OAC9B2vL,OAASA,EAAAA,KACTksL,OAASA,EAEdgrM,GAAQt7iB,KAAK5T,KAAMmvjB,EAAQlvgB,EAAAA,CAG7B,SAASovgB,GAAcC,EAAaC,EAAOC,EAAOL,EAAQlvgB,GAAAA,KAClDjgD,gBAAgBqvjB,IAAAA,OACb,IAAIA,GAAcC,EAAaC,EAAOC,EAAOL,EAAQlvgB,GAAAA,KAGzDqvgB,YAAcA,EAAAA,KACdC,MAAQA,EAAAA,KACRC,MAAQA,EAAAA,KAERC,OAAS,QAETC,WAAa,EAElBR,GAAQt7iB,KAAK5T,KAAMmvjB,EAAQlvgB,EAAAA,CAsC7B,SAAS0vgB,GAAM34iB,GAAAA,IAOT2wO,EANAh/L,EAAsC,iBAAjBtnD,UAAU,GAAkBA,UAAU,GAAK,IAChE6mR,EAAO7mR,UAAU,GACjBirB,EAASjrB,UAAU,GACnBuujB,EAAcvujB,UAAU,GACxBkoI,EAAU,GACVsmb,EAAW,EAEX9zT,EAAiB,GACjB+zT,EAAuB,IACvBC,EAAoB,KAID,YAAnBj+O,EAAAA,EAAAA,GAFJ96T,EAAUA,GAAW,CAAC,KAGpB2xC,EAAc3xC,EAAQ2xC,YACtBu/N,EAAOlxQ,EAAQkxQ,MAAQA,EACvB57P,EAAStV,EAAQsV,QAAUA,EAC3BsjiB,EAAc54iB,EAAQg5iB,UAAYh5iB,EAAQ44iB,aAAeA,EAE/B,QAD1BG,EAAoB/4iB,EAAQi5iB,YAAc,QAExCF,EAAkBlC,aAAekC,EAAkBlC,cAAgB,GACnEkC,EAAkBjC,cAAgBiC,EAAkBjC,eAAiB,GACrEiC,EAAkBG,gBAChBH,EAAkBG,iBAAmB,IAEzCL,EAC8B,iBAArB74iB,EAAQ64iB,SAAwB/2iB,KAAK81B,IAAI53B,EAAQ64iB,UAAY,WAC3D74iB,EAAQ2wO,YACjBA,EAAY3wO,EAAQ2wO,gBAAAA,IAEX3wO,EAAQ+kP,iBACjBA,EAAiB/kP,EAAQ+kP,gBAE3B+zT,EAAuB94iB,EAAQ84iB,sBAAwB,KAGzDvmb,EACEvyH,EAAQuyH,WAAY,IAAAqmb,EAAuB,CAAC,eAAiBrmb,GAE/D2+I,EAAOA,GAAQ,KACfv/N,GAAe,IAAMA,GAAe,MAAMh9C,cAAAA,IACtCwkjB,EAAmBn5iB,EAAQm5iB,mBAAoB,EAC/CC,EAAY,CAAC,EAEbC,EAAM,CACRC,SAAU,CAAC,EACXC,YAAa,CAAC,GAGhBF,EAAIE,YAAY7B,OAASA,GAAAA,IAErB8B,EAAa,MACbC,EAAiBJ,EAAIE,YAAYE,cAAgB,kBAC5CD,CAAAA,EAGTH,EAAIE,YAAYG,cAAgB,SAAS9sjB,GACvC4sjB,EAAa5sjB,CAAAA,EAAAA,IAIX+sjB,EAAc,CAChBC,GAAI,CAAC,QAAS,SACdruJ,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdquJ,GAAI,CAAC,OAAQ,SACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,MAAO,QACZC,GAAI,CAAC,OAAQ,OACbC,IAAK,CAAC,KAAM,QACZC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,OAAQ,SACbC,GAAI,CAAC,MAAO,QACZC,GAAI,CAAC,OAAQ,OACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,IAAK,CAAC,MAAO,QACbC,GAAI,CAAC,QAAS,SACd7lC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACd6lC,GAAI,CAAC,OAAQ,SACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,IAAK,CAAC,MAAO,QACbtwP,GAAI,CAAC,OAAQ,QACbh0B,OAAQ,CAAC,IAAK,yBACO,CAAC,IAAK,KAC3BukR,MAAO,CAAC,IAAK,qBACG,CAAC,IAAK,KACtBC,OAAQ,CAAC,KAAM,KACfC,QAAS,CAAC,IAAK,oBACA,CAAC,IAAK,MAGvBtC,EAAIE,YAAYqC,eAAiB,kBACxBjC,CAAAA,EAAAA,IAGLkC,EAAiBxC,EAAIE,YAAYsC,cAAgB,SAASjvjB,GAAAA,OACrD+sjB,EAAY/sjB,EAAAA,EAGrB0oB,EAASA,GAAU,SAEfwmiB,EACM,SADNA,EAEQ,WAERC,EAAUD,EAAQE,SAEbC,IAAAA,KAIFC,oBACLxzc,EACE,IAAIyzc,GACFC,GACA,EACA,GACCA,GACD,EACAC,KAAkBD,IAClB/5iB,WAAa,YAEZi6iB,YAAYtzjB,KAAKuzjB,cAAgBH,IAItCtD,EAAuB,IAEvBiD,EAAUD,CAAQU,CAAAA,SAGXC,IAAAA,KACFC,uBACL5D,EAAuB,IACvBiD,EAAUD,CAAQE,CAAAA,IAUhBW,EAAiCtD,EAAIE,YAAYoD,8BAAgC,SACnFliM,EACA5iK,GAAAA,GAGgB,QAAb4iK,GAAqC,UAAd5iK,GACV,QAAb4iK,GAAqC,KAAd5iK,GACV,UAAb4iK,GAAuC,UAAd5iK,GACZ,QAAb4iK,GAAqC,UAAd5iK,EAAAA,MAElB,IAAI1uN,MAAM,0DAEd0uN,IACF4iK,EACgB,KAAd5iK,GAAoC,WAAfA,EACH,WAAd4iK,EACE,SACA,SACa,KAAd5iK,GAAoC,SAAfA,GACR,WAAd4iK,GAEe,KAAd5iK,EAAoB,OAASA,GAAc,GAAK4iK,EADjD,QAGDA,CAAAA,EA6BT4+L,EAAI4C,YAAc,SAASrmiB,GAAAA,IACrBgniB,EAAWb,IAAYD,EAAQE,OAE/BY,GACFX,EAAYr/iB,KAAK5T,MAGC,mBAAT4sB,IAIXA,EAAK5sB,MAED4zjB,GACFH,EAAU7/iB,KAAK5T,OANRA,IAAAA,EAqBXqwjB,EAAIoD,UAAY,SAAS7miB,GAAAA,IACnBgniB,EAAWb,IAAYD,EAAQU,OAE/BI,GACFH,EAAU7/iB,KAAK5T,MAGG,mBAAT4sB,IAIXA,EAAK5sB,MAED4zjB,GACFX,EAAYr/iB,KAAK5T,OANVA,IAAAA,EAiBXqwjB,EAAIwD,cAAgB,kBACXd,IAAYD,CAAQU,EAAAA,IAyBzBM,EAtBAC,EAAsB,SAAS3xgB,GAAAA,GAC7B2wgB,IAAYD,EAAkB,MAC1B,IAAI3yjB,MACRiiD,EAAAA,mFAAAA,EAOF4xgB,EAAoB3D,EAAI2D,iBAAmB3D,EAAIE,YAAYyD,iBAAmB,SAChF/9iB,EACAg+iB,GAAAA,IAEIC,EAAevsU,GAAassU,EAAAA,GAC5B9ojB,MAAM8K,IAAW9K,MAAM+ojB,GAAAA,MACnB,IAAI/zjB,MAAM,4DAEX8V,EAAO6xO,QAAQosU,GAAcxojB,QAAQ,MAAO,KAMnDoojB,EAAMzD,EAAIyD,IAAMzD,EAAIE,YAAYuD,IADJ,iBAAnB/3T,EAC6B,SAAS9lP,GAAAA,GACzC9K,MAAM8K,GAAAA,MACF,IAAI9V,MAAM,+CAEX6zjB,EAAiB/9iB,EAAQ8lP,EAAAA,EAEN,UAAnBA,EAC6B,SAAS9lP,GAAAA,GACzC9K,MAAM8K,GAAAA,MACF,IAAI9V,MAAM,+CAGT6zjB,EAAiB/9iB,EADtBA,GAAU,GAAKA,EAAS,EACM,GAEA,IAIE,SAASA,GAAAA,GACzC9K,MAAM8K,GAAAA,MACF,IAAI9V,MAAM,+CAEX6zjB,EAAiB/9iB,EAAQ,SAGhCk+iB,EAAM9D,EAAI8D,GAAK9D,EAAIE,YAAY4D,GAAK,SAASl+iB,GAAAA,GAC3C9K,MAAM8K,GAAAA,MACF,IAAI9V,MAAM,8CAEX6zjB,EAAiB/9iB,EAAQ,IAG9Bm+iB,EAAM/D,EAAIE,YAAY6D,GAAK,SAASn+iB,GAAAA,GAClC9K,MAAM8K,GAAAA,MACF,IAAI9V,MAAM,8CAEX6zjB,EAAiB/9iB,EAAQ,IAG9Bi9B,EAASm9gB,EAAIn9gB,MAAQm9gB,EAAIE,YAAYr9gB,MAAQ,SAASj9B,GAAAA,GACpD9K,MAAM8K,GAAAA,MACF,IAAI9V,MAAM,iDAEd4yjB,IAAYD,EACP78iB,EAASm9iB,GACPL,IAAYD,EACd78iB,OAAAA,CADF,EAaLo+iB,EAAkB,SAASj/gB,GAAAA,OACtBlC,EATQ,SAASkC,GAAAA,OACpB29gB,IAAYD,EACPO,KAAkBj+gB,EAChB29gB,IAAYD,EACd19gB,OAAAA,CADF,CAMMgtf,CAAWhtf,GAAAA,EAW1Bi7gB,EAAIE,YAAY+D,aAAejE,EAAIiE,aAAe,SAAS1wjB,GACtB,iBAAxB+e,SAAS/e,EAAO,MACzB+jP,EAAYhlO,SAAS/e,EAAO,UA0D5B2wjB,EAtDAxG,EAAS,mCAETyG,EAAanE,EAAIE,YAAYiE,UAAY,kBACpCzG,CAAAA,EAGL0G,EAAapE,EAAIE,YAAYkE,UAAY,SAAS7wjB,GAAAA,OAElDmqjB,OAAAA,IADSnqjB,GAAyB,oBAAoB8Y,KAAK9Y,GAClDA,EAAM2L,cAENw+iB,EACN1qjB,MAAM,IACNqf,KAAI,iBACI,mBAAmBjF,OAAO3E,KAAKC,MAAsB,GAAhBD,KAAK6hB,UAAAA,IAElDjf,KAAK,IAGgB,OAAtBq0iB,IACFE,GAAa,IAAItC,GACfoC,EAAkBG,gBAClBH,EAAkBlC,aAClBkC,EAAkBjC,cAClBC,IAGGA,CAAAA,EAWTsC,EAAIoE,UAAY,SAAS7wjB,GAAAA,OACvB6wjB,EAAU7wjB,GACH5D,IAAAA,EAWTqwjB,EAAImE,UAAY,kBACPA,GAAAA,EAAAA,IAKLE,EAAwBrE,EAAIE,YAAYmE,qBAAuB,SACjEC,GAAAA,IAGIC,EAAWD,EAASn1R,oBACtBq1R,EAASD,EAAW,EAAI,IAAM,IAC9BE,EAASh8iB,KAAKC,MAAMD,KAAK81B,IAAIgmhB,EAAW,KACxCG,EAAQj8iB,KAAK81B,IAAIgmhB,EAAW,IAC5BI,EAAiB,CAACH,EAAQI,EAAMH,GAAS,IAAKG,EAAMF,GAAQ,KAAKr5iB,KAAK,UAE/D,CACP,KACAi5iB,EAASplS,cACT0lS,EAAMN,EAASp6R,WAAa,GAC5B06R,EAAMN,EAASn6R,WACfy6R,EAAMN,EAASO,YACfD,EAAMN,EAASQ,cACfF,EAAMN,EAASS,cACfJ,GACAt5iB,KAAK,KAIL25iB,EAAwBhF,EAAIE,YAAY8E,qBAAuB,SACjEC,GAAAA,IAEIrsS,EAAOtmQ,SAAS2yiB,EAAYr3iB,OAAO,EAAG,GAAI,IAC1CwrQ,EAAQ9mQ,SAAS2yiB,EAAYr3iB,OAAO,EAAG,GAAI,IAAM,EACjD66E,EAAOn2E,SAAS2yiB,EAAYr3iB,OAAO,EAAG,GAAI,IAC1C89Q,EAAOp5Q,SAAS2yiB,EAAYr3iB,OAAO,GAAI,GAAI,IAC3Cs2Q,EAAU5xQ,SAAS2yiB,EAAYr3iB,OAAO,GAAI,GAAI,IAC9C02Q,EAAUhyQ,SAAS2yiB,EAAYr3iB,OAAO,GAAI,GAAI,WAI9B,IAAI7B,KAAK6sQ,EAAMQ,EAAO3wL,EAAMijM,EAAMxH,EAASI,EAAS,IAItE4gS,EAAmBlF,EAAIE,YAAYgF,gBAAkB,SAASz8d,GAAAA,IAC5D08d,EAAAA,QAAAA,IAEO18d,IACTA,EAAO,IAAI18E,MAGT08E,aAAgB18E,KAClBo5iB,EAAwBd,EAAqB57d,OACxC,KAPoB,kMAOKp8E,KAAKo8E,GAAAA,MAG7B,IAAI34F,MAAM,oDAFhBq1jB,EAAwB18d,CAAAA,CAAAA,OAI1By7d,EAAeiB,CAAAA,EAIbC,EAAmBpF,EAAIE,YAAYkF,gBAAkB,SAASptjB,GAAAA,IAC5DwX,EAAS00iB,EAAAA,MACA,WAATlsjB,IACFwX,EAASw1iB,EAAqBd,IAEzB10iB,CAAAA,EAWTwwiB,EAAIkF,gBAAkB,SAASz8d,GAAAA,OAC7By8d,EAAgBz8d,GACT94F,IAAAA,EAWTqwjB,EAAIoF,gBAAkB,SAASptjB,GAAAA,OACtBotjB,EAAgBptjB,EAAAA,EAAAA,IAmBrB+hf,EAhBA6qE,EAAS5E,EAAIE,YAAY0E,MAAQ,SAASh/iB,GAAAA,OACpC,IAAM0M,SAAS1M,IAASmC,OAAO,IAGrCs9iB,EAAYrF,EAAIE,YAAYmF,SAAW,SAASC,GAAAA,OAE1C,MADRA,EAAYA,EAAUt8iB,aACI4E,OAAO03iB,EAAU70jB,OAAAA,EAGzCmujB,EAAe,EACfloG,EAAU,GACVhmc,EAAU,GACV60iB,EAAgB,EAChBC,EAAoB,GAEpBC,EAAQ,GAERC,GAAAA,EACAC,EAAoBj1iB,EAcxBsviB,EAAIE,YAAY0F,2BAA6B,SAASvygB,GACpDqygB,GAAAA,EACAC,EAAoBtygB,CAAAA,EAAAA,IAElBwygB,EAAuB,SAASxygB,GAC7BqygB,IACHC,EAAoBtygB,EAAAA,EAIxB2sgB,EAAIE,YAAY4F,6BAA+B,WAC7CJ,GAAAA,EACAC,EAAoBj1iB,CAAAA,EAAAA,IAGlB2+F,EAAO2wc,EAAIE,YAAY7wc,IAAM,SAAS9gF,GAAAA,OACxCA,EAASA,EAAOvlB,WAChBu8iB,GAAiBh3hB,EAAO99B,OAAS,EACjCk1jB,EAAkBvzjB,KAAKm8B,GAEhBo3hB,CAAAA,EAGLn6iB,EAASw0iB,EAAIE,YAAY10iB,MAAQ,SAASjY,GAAAA,OACrC87G,EACgB,IAArBr+G,UAAUP,OACN8C,EAAMyV,WACNhE,MAAMrD,UAAU0J,KAAK9H,KAAKvS,UAAW,OAIzC+0jB,GAAkB/F,EAAIE,YAAY6F,eAAiB,SAAS9ojB,GAAAA,IAAAA,IAC1D5F,EAAM4F,EAAKxM,OACbkyS,EAAK,IAAIzyR,YAAY7Y,GACrBy7iB,EAAK,IAAI9iiB,WAAW2yR,GAEftrS,KAAOy7iB,EAAGz7iB,GAAO4F,EAAK0T,WAAWtZ,GAAAA,OACjCsrS,CAAAA,EAGLqjR,GAAgB,CAClB,CAAC,YAAa,YAAa,SAAU,mBACrC,CAAC,iBAAkB,YAAa,OAAQ,mBACxC,CAAC,oBAAqB,YAAa,SAAU,mBAC7C,CAAC,wBAAyB,YAAa,aAAc,mBACrD,CAAC,UAAW,UAAW,SAAU,mBACjC,CAAC,eAAgB,UAAW,OAAQ,mBACpC,CAAC,kBAAmB,UAAW,SAAU,mBACzC,CAAC,sBAAuB,UAAW,aAAc,mBACjD,CAAC,cAAe,QAAS,SAAU,mBACnC,CAAC,aAAc,QAAS,OAAQ,mBAChC,CAAC,eAAgB,QAAS,SAAU,mBACpC,CAAC,mBAAoB,QAAS,aAAc,mBAC5C,CAAC,eAAgB,eAAgB,SAAU,MAC3C,CAAC,SAAU,SAAU,SAAU,OAGjChG,EAAIE,YAAY+F,iBAAmB,kBAC1BD,EAAAA,EAAAA,IAGLE,GAAiBv/iB,EAAQyuJ,UAAY,GAYzC4qZ,EAAIE,YAAY+C,YAAcjD,EAAIiD,YAAc,SAASv4hB,GAAAA,OAErDw7hB,GADExD,IAAYD,EACG/3hB,EAAOq4hB,GAEPr4hB,EAEZ/6B,IAAAA,EAAAA,IAkDLw2jB,GAtCAjD,GAAelD,EAAIE,YAAYgD,YAAclD,EAAIkD,YAAc,kBAC7DR,IAAYD,EACPyD,GAEAA,GAAiBnD,EAAAA,EAIxBqD,GAAMz/iB,EAAQy/iB,MAAO,EAYzBpG,EAAIE,YAAYmG,OAASrG,EAAIqG,OAAS,SAAS9yjB,GAAAA,OAC7C6yjB,GAAM7yjB,EACC5D,IAAAA,EAYTqwjB,EAAIE,YAAYoG,OAAStG,EAAIsG,OAAS,kBAC7BF,EAAAA,EAAAA,IAkCLG,GA7BAC,GAAexG,EAAIE,YAAYsG,YAAc,SAAS/uhB,GAOtD,GAGE,+BAA+BprB,KAAKorB,GACtC0uhB,GAAW1uhB,OACN,GAAK38B,MAAM28B,GAEX,KAAsC,IAbxB,MAAC,EAEpB,KACA,YACA,aACA,WACA,YAOwBpkC,QAAQokC,GAAAA,MAG1B,IAAI3nC,MACR,gHACE2nC,EACA,wBALJ0uhB,GAAW1uhB,CAAAA,MAFX0uhB,GAAW7ziB,SAASmlB,EAAM,KAY9BuohB,EAAIE,YAAYuG,YAAc,kBACrBN,EAAAA,EAAAA,IA4BLO,GAxBAC,GAAe3G,EAAIE,YAAYyG,YAAc,SAASC,GAAAA,IAUlB,GATjB,MAAC,EAEpB,KACA,UACA,cACA,YACA,cAGiBvzjB,QAAQuzjB,GAAAA,MACnB,IAAI92jB,MACR,6EACE82jB,EACA,wBAGNL,GAAWK,CAAAA,EAGb5G,EAAIE,YAAY2G,YAAc,kBACrBN,EAAAA,EAAAA,IAILO,GAAiB9G,EAAIE,YAAY4G,cAAgB,SAASr6K,GAAAA,IAWnB,GAVlB,MAAC,EAEtB,KACA,aACA,SACA,UACA,WACA,OAGmBp5Y,QAAQo5Y,GAAAA,MACrB,IAAI38Y,MACR,sEACE28Y,EACA,wBAGNi6K,GAAaj6K,CAAAA,EAGfuzK,EAAIE,YAAY6G,cAAgB,kBACvBL,EAAAA,EA4BT1G,EAAIE,YAAY8G,eAAiBhH,EAAIgH,eAAiB,SACpDvvhB,EACAg1W,EACAm6K,GAAAA,OAEAJ,GAAY/uhB,GACZqvhB,GAAcr6K,GACdk6K,GAAYC,GACLj3jB,IAAAA,EAAAA,IAGLs3jB,GAAqB,CACvBjkc,MAAO,GACPkkc,QAAS,GACTC,OAAQ,GACRC,SAAU,GACVtkiB,QAAS,IAGXk9hB,EAAIE,YAAYmH,oBAAsB,SAAS12jB,GAAAA,IACS,IAAlDN,OAAOE,KAAK02jB,IAAoB5zjB,QAAQ1C,GAAAA,MACpC,IAAIb,MAAM,+DAEXm3jB,GAAmBt2jB,EAAAA,EAG5BqvjB,EAAIE,YAAYoH,sBAAwB,kBAC/BL,EAAAA,EAaTjH,EAAIE,YAAYqH,sBAAwBvH,EAAIwH,cAAgBxH,EAAIuH,sBAAwB,SACtF9sjB,GAAAA,IAGK,IAAIsiD,KAAYkqgB,GACfA,GAAmBn3iB,eAAeitC,IAAatiD,EAAWsiD,KAC5DkqgB,GAAmBlqgB,GAAYtiD,EAAWsiD,IAAAA,OAGvCptD,IAAAA,EAGTqwjB,EAAIE,YAAYuH,oBAAsB,SAAS92jB,EAAK4C,GAAAA,IACI,IAAlDlD,OAAOE,KAAK02jB,IAAoB5zjB,QAAQ1C,GAAAA,MACpC,IAAIb,MAAM,gEAEVm3jB,GAAmBt2jB,GAAO4C,CAAAA,EAAAA,IAKhCm0jB,GAOA3E,GASA72gB,GACAC,GACAw7gB,GApBAC,GAAQ,CAAC,EACTC,GAAU,CAAC,EAEXC,GAAiB,GACjB59M,GAAW,CAAC,EACZ69M,GAAa,CAAC,EACdC,GAAU,CAAC,EACXC,GAAa,CAAC,EACdC,GAAe,KAEf38Y,GAAO,EACP48Y,GAAe,GACf5qiB,GAAS,IAAI8giB,GAAO2B,GACpBoI,GAAWzhjB,EAAQyhjB,UAAY,GAE/BC,GAAgB,CAAC,EACjBC,GAAkB,CAAC,EACnBC,GAAoB,GAsBpBzF,GAAS,SAATA,EAAkB0F,EAAIC,EAAKC,EAAKC,EAAIC,EAAIC,GAAAA,KACpCl5jB,gBAAgBmzjB,GAAAA,OACb,IAAIA,EAAO0F,EAAIC,EAAKC,EAAKC,EAAIC,EAAIC,GAGtC/tjB,MAAM0tjB,KAAKA,EAAK,GAChB1tjB,MAAM2tjB,KAAMA,EAAM,GAClB3tjB,MAAM4tjB,KAAMA,EAAM,GAClB5tjB,MAAM6tjB,KAAKA,EAAK,GAChB7tjB,MAAM8tjB,KAAKA,EAAK,GAChB9tjB,MAAM+tjB,KAAKA,EAAK,QAEfC,QAAU,CAACN,EAAIC,EAAKC,EAAKC,EAAIC,EAAIC,EAAAA,EAOxCx4jB,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,KAAM,CAC5C1H,IAAK,kBACItK,KAAKm5jB,QAAQ,IAEtBl/hB,IAAK,SAASr2B,GAAAA,KACPu1jB,QAAQ,GAAKv1jB,CAAAA,IAQtBlD,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,MAAO,CAC7C1H,IAAK,kBACItK,KAAKm5jB,QAAQ,IAEtBl/hB,IAAK,SAASr2B,GAAAA,KACPu1jB,QAAQ,GAAKv1jB,CAAAA,IAQtBlD,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,MAAO,CAC7C1H,IAAK,kBACItK,KAAKm5jB,QAAQ,IAEtBl/hB,IAAK,SAASr2B,GAAAA,KACPu1jB,QAAQ,GAAKv1jB,CAAAA,IAQtBlD,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,KAAM,CAC5C1H,IAAK,kBACItK,KAAKm5jB,QAAQ,IAEtBl/hB,IAAK,SAASr2B,GAAAA,KACPu1jB,QAAQ,GAAKv1jB,CAAAA,IAQtBlD,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,KAAM,CAC5C1H,IAAK,kBACItK,KAAKm5jB,QAAQ,IAEtBl/hB,IAAK,SAASr2B,GAAAA,KACPu1jB,QAAQ,GAAKv1jB,CAAAA,IAQtBlD,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,KAAM,CAC5C1H,IAAK,kBACItK,KAAKm5jB,QAAQ,IAEtBl/hB,IAAK,SAASr2B,GAAAA,KACPu1jB,QAAQ,GAAKv1jB,CAAAA,IAItBlD,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,IAAK,CAC3C1H,IAAK,kBACItK,KAAKm5jB,QAAQ,IAEtBl/hB,IAAK,SAASr2B,GAAAA,KACPu1jB,QAAQ,GAAKv1jB,CAAAA,IAItBlD,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,IAAK,CAC3C1H,IAAK,kBACItK,KAAKm5jB,QAAQ,IAEtBl/hB,IAAK,SAASr2B,GAAAA,KACPu1jB,QAAQ,GAAKv1jB,CAAAA,IAItBlD,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,IAAK,CAC3C1H,IAAK,kBACItK,KAAKm5jB,QAAQ,IAEtBl/hB,IAAK,SAASr2B,GAAAA,KACPu1jB,QAAQ,GAAKv1jB,CAAAA,IAItBlD,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,IAAK,CAC3C1H,IAAK,kBACItK,KAAKm5jB,QAAQ,IAEtBl/hB,IAAK,SAASr2B,GAAAA,KACPu1jB,QAAQ,GAAKv1jB,CAAAA,IAItBlD,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,IAAK,CAC3C1H,IAAK,kBACItK,KAAKm5jB,QAAQ,IAEtBl/hB,IAAK,SAASr2B,GAAAA,KACPu1jB,QAAQ,GAAKv1jB,CAAAA,IAItBlD,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,IAAK,CAC3C1H,IAAK,kBACItK,KAAKm5jB,QAAQ,IAEtBl/hB,IAAK,SAASr2B,GAAAA,KACPu1jB,QAAQ,GAAKv1jB,CAAAA,IAQtBlD,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,WAAY,CAClD1H,IAAK,kBACIwO,KAAKsgjB,MAAMp5jB,KAAK+4jB,IAAK/4jB,KAAK64jB,GAAAA,IAQrCn4jB,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,SAAU,CAChD1H,IAAK,kBACItK,KAAKq5jB,YAAYnmhB,MAAM2lhB,EAAAA,IAQlCn4jB,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,SAAU,CAChD1H,IAAK,kBACItK,KAAKq5jB,YAAYnmhB,MAAM8lhB,EAAAA,IAQlCt4jB,OAAO8V,eAAe28iB,GAAOnhjB,UAAW,aAAc,CACpD1H,IAAK,kBACa,IAAZtK,KAAK64jB,IAGQ,IAAb74jB,KAAK84jB,KAGQ,IAAb94jB,KAAK+4jB,KAGO,IAAZ/4jB,KAAKg5jB,IAGO,IAAZh5jB,KAAKi5jB,IAGO,IAAZj5jB,KAAKk5jB,EAAAA,IAeb/F,GAAOnhjB,UAAU0J,KAAO,SAASg3D,GAAAA,MACxB,CAAC1yE,KAAK64jB,GAAI74jB,KAAK84jB,IAAK94jB,KAAK+4jB,IAAK/4jB,KAAKg5jB,GAAIh5jB,KAAKi5jB,GAAIj5jB,KAAKk5jB,IACzDx2iB,IAAIoxiB,GACJp4iB,KAAKg3D,EAAAA,EAWVygf,GAAOnhjB,UAAUsnjB,SAAW,SAASr5gB,GAAAA,IAC/B44gB,EAAK54gB,EAAO44gB,GAAK74jB,KAAK64jB,GAAK54gB,EAAO64gB,IAAM94jB,KAAK+4jB,IAC7CD,EAAM74gB,EAAO44gB,GAAK74jB,KAAK84jB,IAAM74gB,EAAO64gB,IAAM94jB,KAAKg5jB,GAC/CD,EAAM94gB,EAAO84gB,IAAM/4jB,KAAK64jB,GAAK54gB,EAAO+4gB,GAAKh5jB,KAAK+4jB,IAC9CC,EAAK/4gB,EAAO84gB,IAAM/4jB,KAAK84jB,IAAM74gB,EAAO+4gB,GAAKh5jB,KAAKg5jB,GAC9CC,EAAKh5gB,EAAOg5gB,GAAKj5jB,KAAK64jB,GAAK54gB,EAAOi5gB,GAAKl5jB,KAAK+4jB,IAAM/4jB,KAAKi5jB,GACvDC,EAAKj5gB,EAAOg5gB,GAAKj5jB,KAAK84jB,IAAM74gB,EAAOi5gB,GAAKl5jB,KAAKg5jB,GAAKh5jB,KAAKk5jB,GAAAA,OAEpD,IAAI/F,GAAO0F,EAAIC,EAAKC,EAAKC,EAAIC,EAAIC,EAAAA,EAO1C/F,GAAOnhjB,UAAUqnjB,UAAY,eACvBz4iB,EAAI5gB,KAAK64jB,GACTh4iB,EAAI7gB,KAAK84jB,IACTnljB,EAAI3T,KAAK+4jB,IACTxzjB,EAAIvF,KAAKg5jB,GACTp2jB,EAAI5C,KAAKi5jB,GACTtuiB,EAAI3qB,KAAKk5jB,GAET/0J,EAASrrZ,KAAKgyP,KAAKlqP,EAAIA,EAAIC,EAAIA,GAI/B04iB,GAHJ34iB,GAAKujZ,GAGWxwZ,GAFhBkN,GAAKsjZ,GAEmB5+Z,EACxBoO,GAAKiN,EAAI24iB,EACTh0jB,GAAKsb,EAAI04iB,EAAAA,IAELn1J,EAAStrZ,KAAKgyP,KAAKn3P,EAAIA,EAAIpO,EAAIA,GAAAA,OAGnCg0jB,GAASn1J,EAELxjZ,GAHJrb,GAAK6+Z,GAGOvjZ,GAJZlN,GAAKywZ,KAKHxjZ,GAAKA,EACLC,GAAKA,EACL04iB,GAASA,EACTp1J,GAAUA,GAGL,CACLjxX,MAAO,IAAIighB,GAAOhvJ,EAAQ,EAAG,EAAGC,EAAQ,EAAG,GAC3CnxX,UAAW,IAAIkghB,GAAO,EAAG,EAAG,EAAG,EAAGvwjB,EAAG+nB,GACrCs3W,OAAQ,IAAIkxL,GAAOvyiB,EAAGC,GAAIA,EAAGD,EAAG,EAAG,GACnC44iB,KAAM,IAAIrG,GAAO,EAAG,EAAGoG,EAAO,EAAG,EAAG,KAQxCpG,GAAOnhjB,UAAUqH,SAAW,SAAS46iB,GAAAA,OAC5Bj0jB,KAAK0b,KAAK,MAOnBy3iB,GAAOnhjB,UAAUynjB,SAAW,eACtB74iB,EAAI5gB,KAAK64jB,GACXh4iB,EAAI7gB,KAAK84jB,IACTnljB,EAAI3T,KAAK+4jB,IACTxzjB,EAAIvF,KAAKg5jB,GACTp2jB,EAAI5C,KAAKi5jB,GACTtuiB,EAAI3qB,KAAKk5jB,GAEPQ,EAAO,GAAK94iB,EAAIrb,EAAIsb,EAAIlN,GAExBgmjB,EAAOp0jB,EAAIm0jB,EACXE,GAAQ/4iB,EAAI64iB,EACZG,GAAQlmjB,EAAI+ljB,EACZI,EAAOl5iB,EAAI84iB,EAAAA,OAIR,IAAIvG,GAAOwG,EAAMC,EAAMC,EAAMC,GAHxBH,EAAO/2jB,EAAIi3jB,EAAOlviB,GAClBiviB,EAAOh3jB,EAAIk3jB,EAAOnviB,EAAAA,EAShCwoiB,GAAOnhjB,UAAU+njB,aAAe,SAAS5nU,GAAAA,IACnCrkN,EAAIqkN,EAAGrkN,EAAI9tC,KAAK64jB,GAAK1mU,EAAG/8M,EAAIp1C,KAAK+4jB,IAAM/4jB,KAAKi5jB,GAC5C7jhB,EAAI+8M,EAAGrkN,EAAI9tC,KAAK84jB,IAAM3mU,EAAG/8M,EAAIp1C,KAAKg5jB,GAAKh5jB,KAAKk5jB,GAAAA,OACzC,IAAI1oX,GAAM1iK,EAAGsH,EAAAA,EAOtB+9gB,GAAOnhjB,UAAUgojB,iBAAmB,SAASj8e,GAAAA,IACvCk8e,EAAMj6jB,KAAK+5jB,aAAah8e,GACxBm8e,EAAMl6jB,KAAK+5jB,aAAa,IAAIvpX,GAAMzyH,EAAKjwC,EAAIiwC,EAAKhkC,EAAGgkC,EAAK3oC,EAAI2oC,EAAK5mE,IAAAA,OAC9D,IAAIgjjB,GAAUF,EAAInshB,EAAGmshB,EAAI7khB,EAAG8khB,EAAIpshB,EAAImshB,EAAInshB,EAAGoshB,EAAI9khB,EAAI6khB,EAAI7khB,EAAAA,EAWhE+9gB,GAAOnhjB,UAAUgzD,MAAQ,eACnB6zf,EAAK74jB,KAAK64jB,GACVC,EAAM94jB,KAAK84jB,IACXC,EAAM/4jB,KAAK+4jB,IACXC,EAAKh5jB,KAAKg5jB,GACVC,EAAKj5jB,KAAKi5jB,GACVC,EAAKl5jB,KAAKk5jB,GAAAA,OAEP,IAAI/F,GAAO0F,EAAIC,EAAKC,EAAKC,EAAIC,EAAIC,EAAAA,EAG1C7I,EAAI8C,OAASA,GAAAA,IASTiH,GAAc/J,EAAI+J,WAAa,SAASC,EAAIC,GAAAA,OACvCA,EAAGhB,SAASe,EAAAA,EASjBE,GAAiB,IAAIpH,GAAO,EAAG,EAAG,EAAG,EAAG,EAAG,GAC/C9C,EAAImK,WAAanK,EAAIkK,eAAiBA,GAAAA,IAOlCE,GAAa,SAASz5jB,EAAKsf,GAAAA,IAEzB83iB,GAAWp3jB,GAAAA,CAAAA,IAGX05jB,GADSp6iB,aAAmB8uiB,GAAiB,KAAO,MAC7B1ujB,OAAOE,KAAK25W,IAAUz5W,OAAS,GAAGuY,SAAS,IACtEiH,EAAQ3b,GAAK+1jB,EAEbtC,GAAWp3jB,GAAO05jB,EAClBngN,GAASmgN,GAAcp6iB,EAEvBsN,GAAOihiB,QAAQ,aAAcvuiB,EAAAA,CAAAA,EAmB/B+viB,EAAIjB,eAAiBA,GAgBrBiB,EAAIhB,cAAgBA,GAWpBgB,EAAIsK,kBAAoB,SAAS35jB,EAAKsf,GAAAA,OACpCyziB,EAAoB,uBAEpB0G,GAAWz5jB,EAAKsf,GACTtgB,IAAAA,EAUTqwjB,EAAIuK,mBAAqB,SAASt6iB,GAChCyziB,EAAoB,wBAEpB8G,GACEv6iB,EAAQgviB,YAAY,GACpBhviB,EAAQgviB,YAAY,GACpBhviB,EAAQgviB,YAAY,GAAKhviB,EAAQgviB,YAAY,GAC7ChviB,EAAQgviB,YAAY,GAAKhviB,EAAQgviB,YAAY,GAC7ChviB,EAAQ2/B,OAAAA,EAcZowgB,EAAIyK,iBAAmB,SAAS95jB,EAAKsf,GACnCyziB,EAAoB,sBAGpBzziB,EAAQmviB,OAASqG,EAAM1rE,GAAa1ue,KAAK,MAEzC++iB,GAAWz5jB,EAAKsf,GAEhBsN,GAAOihiB,QAAQ,mBAAoBvuiB,GAGnCs4iB,GAAkB75iB,MAAMg8iB,SAAAA,EAAAA,IAGtBC,GAAa3K,EAAIE,YAAYyK,UAAY,eACvCC,EAAMC,KAAAA,OACVC,GAAuBF,GAAAA,GAChBA,CAAAA,EAILC,GAAqB7K,EAAIE,YAAY2K,kBAAoB,kBAC3DjM,IACAloG,EAAQkoG,GAAgB,kBACf2G,CAAAA,EAEF3G,CAAAA,EAGLkM,GAAyB,SAASF,EAAKG,GAAAA,OACzCA,EAA+B,kBAAbA,GAAyBA,EAC3Cr0G,EAAQk0G,GAAOrF,EACXwF,GACF17c,EAAIu7c,EAAM,UAELA,CAAAA,EAMLI,GAAuBhL,EAAIE,YAAY8K,oBAAsB,eAE3DxkjB,EAAM,CACRykjB,MAFUJ,KAGVn6iB,QAAS,WAEX80iB,EAAkBpzjB,KAAKoU,GAChBA,CAAAA,EAGL0kjB,GAAsBL,KACtBM,GAA0BN,KAM1BO,GAAqBpL,EAAIE,YAAYkL,kBAAoB,SAAS54X,GAAAA,IAChE64X,EAAe74X,EAAMx/L,MAAM,QAEL,IAAxBq4jB,EAAa56jB,QACQ,MAApB46jB,EAAa,IAAkC,MAApBA,EAAa,GAMjB,IAAxBA,EAAa56jB,QACQ,MAApB46jB,EAAa,IAAkC,MAApBA,EAAa,KAOzCA,EAAe,EAJJ,EAAMA,EAAa,KAAO,EAAMA,EAAa,KAC3C,EAAMA,EAAa,KAAO,EAAMA,EAAa,KAC9C,EAAMA,EAAa,KAAO,EAAMA,EAAa,IAEvB,UAblC,KAEIC,EAAW/thB,WAAW8thB,EAAa,IACvCA,EAAe,CAACC,EAAUA,EAAUA,EAAU,aAY5CC,EAAa,IACRp2jB,EAAI,EAAGA,EAAI,EAAGA,IACrBo2jB,IACE,IAAM9ijB,KAAKC,MAAoC,IAA9B60B,WAAW8thB,EAAal2jB,KAAW6T,SAAS,KAC7DjB,OAAO,UAEJwjjB,CAAAA,EAGLC,GAAqBxL,EAAIE,YAAYsL,kBAAoB,SAC3D7kjB,GAAAA,IAEI6rL,EAEmB,iBAAZ7rL,IACTA,EAAU,CACR8kjB,IAAK9kjB,IAAAA,IAGL8kjB,EAAM9kjB,EAAQ8kjB,IACdC,EAAM/kjB,EAAQ+kjB,IACdC,EAAMhljB,EAAQgljB,IACdC,EAAMjljB,EAAQiljB,IACdC,EACuB,SAAzBlljB,EAAQmljB,aAA0B,CAAC,IAAK,KAAM,KAAO,CAAC,IAAK,KAAM,QAEhD,iBAARL,GAAsC,MAAlBA,EAAIr+iB,OAAO,GAAY,KAChD2+iB,EAAW,IAAIjQ,GAAS2P,GAAAA,GACxBM,EAAS59P,GACXs9P,EAAMM,EAAS13X,aACV,IAAK,cAAchoL,KAAKo/iB,GAAAA,MACvB,IAAI37jB,MACR,kBAAoB27jB,EAAM,2CAKb,iBAARA,GAAoB,oBAAoBp/iB,KAAKo/iB,KACtDA,EAAM,IAAMA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,IAG5C,iBAARA,GAAoB,oBAAoBp/iB,KAAKo/iB,GAAM,KACxD72X,EAAMtiL,SAASm5iB,EAAI79iB,OAAO,GAAI,IAClC69iB,EAAO72X,GAAO,GAAM,IACpB82X,EAAO92X,GAAO,EAAK,IACnB+2X,EAAY,IAAN/2X,CAAAA,CAAAA,QAAAA,IAIC82X,QAAAA,IACCE,GAAuBH,IAAQC,GAAOA,IAAQC,EAAAA,GAGnC,iBAARF,EACTj5X,EAAQi5X,EAAM,IAAMI,EAAY,WAGzB,IADClljB,EAAQ2wO,UAEZ9kD,EAAQsxX,EAAG2H,EAAM,KAAO,IAAMI,EAAY,QAI1Cr5X,EAAQuxX,EAAG0H,EAAM,KAAO,IAAMI,EAAY,QAG3C,QAAI,IAAOD,GAAsC,YAAfnqP,EAAAA,EAAAA,GAAOmqP,GAAkB,IAE5DA,IAAQ9wjB,MAAM8wjB,EAAIr7iB,IAGN,IAAVq7iB,EAAIr7iB,EAAAA,MACE,CAAC,KAAM,KAAM,KAAMs7iB,EAAY,IAAIxgjB,KAAK,QAKjC,iBAARogjB,EACTj5X,EAAQ,CAACi5X,EAAKC,EAAKC,EAAKE,EAAY,IAAIxgjB,KAAK,aAGtC,IADC1E,EAAQ2wO,UAEZ9kD,EAAQ,CACNsxX,EAAG2H,EAAM,KACT3H,EAAG4H,EAAM,KACT5H,EAAG6H,EAAM,KACTE,EAAY,IACZxgjB,KAAK,UAIPmnL,EAAQ,CACNuxX,EAAG0H,EAAM,KACT1H,EAAG2H,EAAM,KACT3H,EAAG4H,EAAM,KACTE,EAAY,IACZxgjB,KAAK,aAKM,iBAARogjB,EACTj5X,EAAQ,CAACi5X,EAAKC,EAAKC,EAAKC,EAAKC,EAAY,IAAIxgjB,KAAK,aAG3C,IADC1E,EAAQ2wO,UAEZ9kD,EAAQ,CAACsxX,EAAG2H,GAAM3H,EAAG4H,GAAM5H,EAAG6H,GAAM7H,EAAG8H,GAAMC,EAAY,IAAIxgjB,KAC3D,UAKFmnL,EAAQ,CAACuxX,EAAG0H,GAAM1H,EAAG2H,GAAM3H,EAAG4H,GAAM5H,EAAG6H,GAAMC,EAAY,IAAIxgjB,KAC3D,YAKHmnL,CAAAA,EAGLw5X,GAAchM,EAAIE,YAAY8L,WAAa,kBACtC9yb,CAAAA,EAGL+yb,GAAajM,EAAIE,YAAY+L,UAAY,SAAStljB,GAAAA,IAEhD1J,GADJ0J,EAAUA,GAAW,CAAC,GACH1J,MAAQ,GACvBi8H,EAAUvyH,EAAQuyH,SAAW8yb,KAC7BE,EAAwBvljB,EAAQuljB,uBAAyB,GACzDC,EAAaxljB,EAAQwljB,aAAc,EACnCC,EAAiBnvjB,EAAKxM,OACtB47jB,EAAW1ljB,EAAQ0ljB,SACnBC,EAAY,SAASrvjB,GAAAA,OAChBA,CAAAA,EAAAA,GAEiB,OAAtByijB,QAAAA,IAAqC2M,EAAAA,MACjC,IAAIv8jB,MACR,4DAGsB,OAAtB4vjB,IACF4M,EAAY1M,GAAW0M,UAAUD,EAAU,QAGzCE,EAAgB,CAAC,GAAD,IAChBrzb,IACFA,EAAU,CAAC,oBAETszb,EAAY7ljB,EAAQ8ljB,qBAAuB,GAM3CC,GAJFH,OAAAA,IADSjN,GAAMU,IAAI2M,qBACHrN,GAAMU,IAAI2M,qBAAqB1vjB,EAAMi8H,GAErC,CAAEj8H,KAAMA,EAAM2vjB,aAAc,KAG9BA,cACb5njB,MAAM8C,QAAQokjB,GACXA,EAAsB7gjB,KAAK,KAC3B6gjB,EAAsBljjB,YAAAA,GAEM,IAA9BujjB,EAActvjB,KAAKxM,SACrB+7jB,EAAUp6jB,KAAK,CACbzB,IAAK,SACL4C,MAAOg5jB,EAActvjB,KAAKxM,UAAAA,IAExB07jB,GACFK,EAAUp6jB,KAAK,CACbzB,IAAK,UACL4C,MAAO64jB,KAKgB,GAAzBM,EAAej8jB,OAAAA,GACbi8jB,EAAe15jB,MAAM,KAAKvC,OAAS,GAAM,EAC3C+7jB,EAAUp6jB,KAAK,CACbzB,IAAK,SACL4C,MAAOm5jB,QAEJ,CACLF,EAAUp6jB,KAAK,CACbzB,IAAK,SACL4C,MAAO,IAAMm5jB,EAAiB,UAG3B,IAAIv3f,EAAI,EAAGA,EAAIq3f,EAAU/7jB,OAAQ0kE,GAAK,EAAG,GACnB,gBAArBq3f,EAAUr3f,GAAGxkE,IAAuB,SAClCk8jB,EAAmB,GAGjB13jB,EAAI,EACRA,EAAIo3jB,EAAcK,aAAa55jB,MAAM,KAAKvC,OAAS,EACnD0E,GAAK,EAEL03jB,EAAiBz6jB,KAAK,QAGxBy6jB,EAAiBz6jB,KAAKo6jB,EAAUr3f,GAAG5hE,OACnCi5jB,EAAUr3f,GAAG5hE,MAAQ,IAAMs5jB,EAAiBxhjB,KAAK,KAAO,KAMhEgkG,EAAI,UACC,IAAI/f,EAAI,EAAGA,EAAIk9d,EAAU/7jB,OAAQ6+F,IACpC+f,EAAI,IAAMm9c,EAAUl9d,GAAG3+F,IAAM,IAAM67jB,EAAUl9d,GAAG/7F,OAElD87G,EAAI,MAC8B,IAA9Bk9c,EAActvjB,KAAKxM,SACrB4+G,EAAI,UACJA,EAAIi9c,EAAUC,EAActvjB,OAC5BoyG,EAAI,eAIJy9c,GAAW9M,EAAIE,YAAY4M,QAAU,SAASvhZ,GAAAA,IAC5CwhZ,EAAaxhZ,EAAK3lK,OAClB3I,EAAOsuK,EAAKtuK,KACZ+vjB,EAAmBzhZ,EAAK0/Y,MACxBgC,EAAoB1hZ,EAAK2hZ,cAE7BpC,GAAuBkC,GAAAA,GACvB39c,EAAI,iBACJA,EAAI,WAAak8D,EAAK2/Y,oBAAsB,QAC5C77c,EAAI,cAAgBk8D,EAAK4/Y,wBAA0B,QACnD97c,EACE,cACE9xE,WAAWkmhB,EAAIl4Y,EAAK4hZ,SAASC,cAC7B,IACA7vhB,WAAWkmhB,EAAIl4Y,EAAK4hZ,SAASE,cAC7B,IACA5J,EAAIl4Y,EAAK4hZ,SAASG,WAClB,IACA7J,EAAIl4Y,EAAK4hZ,SAASI,WAClB,KAEiB,OAAjBhiZ,EAAKiiZ,SACPn+c,EACE,aACEo0c,EAAIl4Y,EAAKiiZ,QAAQJ,aACjB,IACA3J,EAAIl4Y,EAAKiiZ,QAAQH,aACjB,IACA5J,EAAIl4Y,EAAKiiZ,QAAQF,WACjB,IACA7J,EAAIl4Y,EAAKiiZ,QAAQD,WACjB,KAIgB,OAAlBhiZ,EAAKkiZ,UACPp+c,EACE,cACEo0c,EAAIl4Y,EAAKkiZ,SAASL,aAClB,IACA3J,EAAIl4Y,EAAKkiZ,SAASJ,aAClB,IACA5J,EAAIl4Y,EAAKkiZ,SAASH,WAClB,IACA7J,EAAIl4Y,EAAKkiZ,SAASF,WAClB,KAIe,OAAjBhiZ,EAAKmiZ,SACPr+c,EACE,aACEo0c,EAAIl4Y,EAAKmiZ,QAAQN,aACjB,IACA3J,EAAIl4Y,EAAKmiZ,QAAQL,aACjB,IACA5J,EAAIl4Y,EAAKmiZ,QAAQJ,WACjB,IACA7J,EAAIl4Y,EAAKmiZ,QAAQH,WACjB,KAIc,OAAhBhiZ,EAAKoiZ,QACPt+c,EACE,YACEo0c,EAAIl4Y,EAAKoiZ,OAAOP,aAChB,IACA3J,EAAIl4Y,EAAKoiZ,OAAON,aAChB,IACA5J,EAAIl4Y,EAAKoiZ,OAAOL,WAChB,IACA7J,EAAIl4Y,EAAKoiZ,OAAOJ,WAChB,KAIuB,iBAAlBhiZ,EAAKi0Y,UAA2C,IAAlBj0Y,EAAKi0Y,UAC5Cnwc,EAAI,aAAek8D,EAAKi0Y,UAG1BjiiB,GAAOihiB,QAAQ,UAAW,CACxByM,MAAO+B,EACPY,YAAazF,GAAa4E,GAC1BA,WAAYA,EACZxhZ,KAAMtuK,IAERoyG,EAAI,aAAe49c,EAAoB,QACvC59c,EAAI,MACJA,EAAI,cAEAw+c,EAAc5wjB,EAAKoO,KAAK,aAExBq3iB,IAAYD,IAEdoL,GAAe,OAGjB/C,GAAuBmC,GAAAA,GACvBhB,GAAU,CACRhvjB,KAAM4wjB,EACN30b,QAAS8yb,KACTK,SAAUY,IAEZ59c,EAAI,UACG29c,CAAAA,EAGLc,GAAY9N,EAAIE,YAAY4N,SAAW,eACrCv8iB,EACFpc,EACA44jB,EAAoB,OAEjBx8iB,EAAI,EAAGA,GAAKg6J,GAAMh6J,IACrB42iB,GAAa52iB,GAAG05iB,MAAQJ,KACxB1C,GAAa52iB,GAAG27iB,cAAgBrC,KAAAA,IAG7Bt5iB,EAAI,EAAGA,GAAKg6J,GAAMh6J,IACrBw8iB,EAAkB37jB,KAChB06jB,GAAQ,CACNlnjB,OAAQ2L,EACRtU,KAAMwojB,EAAMl0iB,GACZ05iB,MAAO9C,GAAa52iB,GAAG05iB,MACvBiC,cAAe/E,GAAa52iB,GAAG27iB,cAC/BC,SAAUhF,GAAa52iB,GAAG47iB,SAC1BK,QAASrF,GAAa52iB,GAAGi8iB,QACzBC,SAAUtF,GAAa52iB,GAAGk8iB,SAC1BC,QAASvF,GAAa52iB,GAAGm8iB,QACzBC,OAAQxF,GAAa52iB,GAAGo8iB,OACxBnO,SAAU2I,GAAa52iB,GAAGiuiB,SAC1B0L,oBAAqBA,GACrBC,wBAAyBA,MAI/BL,GAAuBI,IAAAA,GACvB77c,EAAI,sBACAsrS,EAAO,cACNxlZ,EAAI,EAAGA,EAAIo2K,GAAMp2K,IACpBwlZ,GAAQozK,EAAkB54jB,GAAK,QAEjCk6G,EAAIsrS,EAAO,KACXtrS,EAAI,UAAYk8D,IAChBl8D,EAAI,MACJA,EAAI,UACJ9xF,GAAOihiB,QAAQ,iBAGbwP,GAAU,SAASC,GACrB1wiB,GAAOihiB,QAAQ,UAAW,CACxByP,KAAMA,EACN5+c,IAAKA,EACLs7c,UAAWA,GACXsB,UAAWA,MAAAA,IAGTgC,EAAKC,kBACPD,EAAKrP,aAAe+L,KACpBt7c,EAAI,MACJA,EAAI,eACJA,EAAI,cAAgB8uc,GAAU8P,EAAKE,iBACnC9+c,EAAI,mBACyB,iBAAlB4+c,EAAKG,UACd/+c,EAAI,cAAgB4+c,EAAKG,UAE3B/+c,EAAI,iBACJA,EAAI,iBACJA,EAAI,MACJA,EAAI,YAiBJg/c,GAAa,SAASC,GACxBA,EAAQ1P,aAAe+L,KAAAA,IAEnBhkjB,EAAU,GACdA,EAAQvU,KAAK,CAAEzB,IAAK,OAAQ4C,MAAO,aACnCoT,EAAQvU,KAAK,CAAEzB,IAAK,UAAW4C,MAAO,UACtCoT,EAAQvU,KAAK,CACXzB,IAAK,OACL4C,MACE,IACA,CACEkwjB,EAAI6K,EAAQ7whB,GACZgmhB,EAAI6K,EAAQvphB,GACZ0+gB,EAAI6K,EAAQ7whB,EAAI6whB,EAAQnviB,OACxBskiB,EAAI6K,EAAQvphB,EAAIuphB,EAAQlviB,SACxB/T,KAAK,KACP,MAEJ1E,EAAQvU,KAAK,CACXzB,IAAK,SACL4C,MAAO,IAAM+6jB,EAAQ1+gB,OAAO5mC,WAAa,UAIvCo2iB,EAASkP,EAAQ7I,MAAM,GAAGp6iB,KAAK,MACnC4gjB,GAAU,CACRhvjB,KAAMmijB,EACNqN,oBAAqB9ljB,EACrB0ljB,SAAUiC,EAAQ1P,eAEpBvvc,EAAI,WAuDFk/c,GAAoB,SAASt+iB,EAASu+iB,GASxCA,IAAkBA,EAAgB,QAC9BC,EAAmB9D,KACnBvL,EAvD8B,SAASvrM,EAAQ26M,GAAAA,IAE/Cn9iB,EADAq9iB,EAAU,GAEVC,EAAK,GAAOH,EAAgB,OAC3Bn9iB,EAAI,EAAKA,EAAI,EAAKA,GAAKs9iB,EAC1BD,EAAQt8jB,KAAKif,GAAAA,GAEfq9iB,EAAQt8jB,KAAK,GAEW,GAApByhX,EAAO,GAAGprU,OAAe,KACvBk5gB,EAAK,CACPl5gB,OAAQ,EACR+pJ,MAAOqhL,EAAO,GAAGrhL,OAEnBqhL,EAAOlvW,QAAQg9iB,EAAAA,CAAAA,GAEuB,GAApC9tM,EAAOA,EAAOpjX,OAAS,GAAGg4C,OAAe,KACvCqze,EAAK,CACPrze,OAAQ,EACR+pJ,MAAOqhL,EAAOA,EAAOpjX,OAAS,GAAG+hM,OAEnCqhL,EAAOzhX,KAAK0phB,EAAAA,CAAAA,IAAAA,IAEVzsa,EAAM,GACNjsG,EAAQ,EAEHjO,EAAI,EAAGA,EAAIu5jB,EAAQj+jB,OAAQ0E,IAAK,KACvCkc,EAAIq9iB,EAAQv5jB,GACLkc,EAAIwiW,EAAOzwW,EAAQ,GAAGqlC,QAAQrlC,IAAAA,IACjCmN,EAAIsjW,EAAOzwW,GAAOqlC,OAElBvzC,GAAKmc,EAAId,IADLsjW,EAAOzwW,EAAQ,GAAGqlC,OACHl4B,GAEnBq+iB,EAAS/6M,EAAOzwW,GAAOovL,MACvBq8X,EAASh7M,EAAOzwW,EAAQ,GAAGovL,MAE/BnjF,GACEg2c,EAAS58iB,KAAK0lC,OAAO,EAAIj5C,GAAK05jB,EAAO,GAAK15jB,EAAI25jB,EAAO,IAAI7ljB,SAAS,KAClEq8iB,EAAS58iB,KAAK0lC,OAAO,EAAIj5C,GAAK05jB,EAAO,GAAK15jB,EAAI25jB,EAAO,IAAI7ljB,SAAS,KAClEq8iB,EAAS58iB,KAAK0lC,OAAO,EAAIj5C,GAAK05jB,EAAO,GAAK15jB,EAAI25jB,EAAO,IAAI7ljB,SAAS,YAE/DqmG,EAAI9kG,MAAAA,CAcEukjB,CAA8B7+iB,EAAQ4jW,OAAQ26M,GAEvD7njB,EAAU,GACdA,EAAQvU,KAAK,CAAEzB,IAAK,eAAgB4C,MAAO,MAC3CoT,EAAQvU,KAAK,CAAEzB,IAAK,SAAU4C,MAAO,cACrCoT,EAAQvU,KAAK,CAAEzB,IAAK,OAAQ4C,MAAO,IAAMi7jB,EAAgB,MACzD7njB,EAAQvU,KAAK,CAAEzB,IAAK,gBAAiB4C,MAAO,MAC5CoT,EAAQvU,KAAK,CAAEzB,IAAK,QAAS4C,MAAO,8BACpCoT,EAAQvU,KAAK,CAAEzB,IAAK,SAAU4C,MAAO,8BAErC04jB,GAAU,CACRhvjB,KAAMmijB,EACNqN,oBAAqB9ljB,EACrBuljB,sBAAuB,CAAC,mBACxBG,SAAUoC,IAEZp/c,EAAI,UAEJp/F,EAAQ2uiB,aAAe+L,KACvBt7c,EAAI,mBAAqBp/F,EAAQjY,MACjCq3G,EAAI,8BACAs4E,EACF,YACA87X,EAAIlmhB,WAAWttB,EAAQ03K,OAAO,KAC9B,IACA87X,EAAIlmhB,WAAWttB,EAAQ03K,OAAO,KAC9B,IACmB,IAAjB13K,EAAQjY,KAEV2vL,GACE87X,EAAIlmhB,WAAWttB,EAAQ03K,OAAO,KAC9B,IACA87X,EAAIlmhB,WAAWttB,EAAQ03K,OAAO,KAGhCA,GACE87X,EAAIlmhB,WAAWttB,EAAQ03K,OAAO,KAC9B,IACA87X,EAAIlmhB,WAAWttB,EAAQ03K,OAAO,KAC9B,IACA87X,EAAIlmhB,WAAWttB,EAAQ03K,OAAO,KAC9B,IACA87X,EAAIlmhB,WAAWttB,EAAQ03K,OAAO,KAGlCt4E,EADAs4E,GAAU,KAGN13K,EAAQ2/B,QACVy/D,EAAI,YAAcp/F,EAAQ2/B,OAAO5mC,WAAa,KAEhDqmG,EAAI,aAAeo/c,EAAmB,QACtCp/c,EAAI,uBACJA,EAAI,MACJA,EAAI,WAGF0/c,GAAmB,SAAS9+iB,EAAS++iB,GAAAA,IACnCC,EAAoBpE,KACpBqE,EAAkBvE,KAEtBqE,EAA8B58jB,KAAK,CACjC+8jB,aAAcF,EACdG,UAAWF,IAGbj/iB,EAAQ2uiB,aAAesQ,EAAAA,IACnBvojB,EAAU,GACdA,EAAQvU,KAAK,CAAEzB,IAAK,OAAQ4C,MAAO,aACnCoT,EAAQvU,KAAK,CAAEzB,IAAK,cAAe4C,MAAO,MAC1CoT,EAAQvU,KAAK,CAAEzB,IAAK,YAAa4C,MAAO,MACxCoT,EAAQvU,KAAK,CAAEzB,IAAK,aAAc4C,MAAO,MACzCoT,EAAQvU,KAAK,CACXzB,IAAK,OACL4C,MAAO,IAAM0c,EAAQgviB,YAAY5siB,IAAIoxiB,GAAKp4iB,KAAK,KAAO,MAExD1E,EAAQvU,KAAK,CAAEzB,IAAK,QAAS4C,MAAOkwjB,EAAIxziB,EAAQiviB,SAChDv4iB,EAAQvU,KAAK,CAAEzB,IAAK,QAAS4C,MAAOkwjB,EAAIxziB,EAAQkviB,SAChDx4iB,EAAQvU,KAAK,CAAEzB,IAAK,YAAa4C,MAAO07jB,EAAoB,SACxDh/iB,EAAQ2/B,QACVjpC,EAAQvU,KAAK,CACXzB,IAAK,SACL4C,MAAO,IAAM0c,EAAQ2/B,OAAO5mC,WAAa,MAI7CijjB,GAAU,CACRhvjB,KAAMgT,EAAQmviB,OACdqN,oBAAqB9ljB,EACrB0ljB,SAAUp8iB,EAAQ2uiB,eAEpBvvc,EAAI,WAgBFggd,GAAY,SAASvQ,GAAAA,IAGlB,IAAIhtiB,KAFTgtiB,EAAOF,aAAe+L,KACtBt7c,EAAI,MACUyvc,EAAAA,OACJhtiB,GAAAA,IACD,UACHu9F,EAAI,OAASy0c,EAAGhF,EAAOhtiB,KAAAA,MAAAA,IAEpB,iBACHu9F,EAAI,OAASy0c,EAAGhF,EAAOhtiB,KAI7Bu9F,EAAI,MACJA,EAAI,WAyHFigd,GAAwB,SAASC,GACnCzE,GAAuByE,EAAUJ,cAAc,GAC/C9/c,EAAI,MACJA,EAAI,iDA7EY,eAGX,IAAImgd,KAFTngd,EAAI,YAEgBu4c,GACdA,GAAM93iB,eAAe0/iB,MAAAA,IAErB1P,IAAAA,IACCA,GAA6BC,EAAUjwiB,eAAe0/iB,KAEvDngd,EAAI,IAAMmgd,EAAU,IAAM5H,GAAM4H,GAAS5Q,aAAe,QAI9Dvvc,EAAI,MAiEJogd,GA9D0B,cACtBp/jB,OAAOE,KAAK25W,IAAUz5W,OAAS,EAAG,KAE/B,IAAI45jB,KADTh7c,EAAI,eACmB66P,GAEnBA,GAASp6V,eAAeu6iB,IACxBngN,GAASmgN,aAAuBtL,IAChC70M,GAASmgN,GAAYzL,cAAgB,GAErCvvc,EACE,IAAMg7c,EAAa,IAAMngN,GAASmgN,GAAYzL,aAAe,QAKnErhiB,GAAOihiB,QAAQ,yBACfnvc,EAAI,OA+CNqgd,GA3CyB,SAASN,GAAAA,GAC9B/+jB,OAAOE,KAAK25W,IAAUz5W,OAAS,EAAG,KAE/B,IAAI45jB,KADTh7c,EAAI,eACmB66P,GAEnBA,GAASp6V,eAAeu6iB,IACxBngN,GAASmgN,aAAuBrK,EAAIhB,eACpC90M,GAASmgN,GAAYzL,cAAgB,GACrC10M,GAASmgN,GAAYzL,aAAewQ,GAEpC//c,EACE,IAAMg7c,EAAa,IAAMngN,GAASmgN,GAAYzL,aAAe,QAInErhiB,GAAOihiB,QAAQ,wBACfnvc,EAAI,OA4BNsgd,CAAqBJ,EAAUH,WAxBZ,cACf/+jB,OAAOE,KAAKy3jB,IAASv3jB,OAAS,EAAG,KAC/Bm/jB,EAAAA,IAECA,KADLvgd,EAAI,iBACc24c,GAEdA,GAAQl4iB,eAAe8/iB,IACvB5H,GAAQ4H,GAAWhR,cAAgB,GAEnCvvc,EAAI,IAAMugd,EAAY,IAAM5H,GAAQ4H,GAAWhR,aAAe,QAIlErhiB,GAAOihiB,QAAQ,iBACfnvc,EAAI,OAWNwgd,GApHmB,eAEd,IAAIC,KADTzgd,EAAI,eACmBg5c,GAEnBA,GAAcv4iB,eAAeggjB,IAC7BzH,GAAcyH,GAAYlR,cAAgB,GAE1Cvvc,EACE,IACEygd,EACA,IACAzH,GAAcyH,GAAYlR,aAC1B,QAMRrhiB,GAAOihiB,QAAQ,kBACfnvc,EAAI,MAkGJ0gd,GACA1gd,EAAI,MACJA,EAAI,WAGF2gd,GAAe,eAabhB,EAAgC,IAxXvB,eACR,IAAIQ,KAAW5H,GACdA,GAAM93iB,eAAe0/iB,MAAAA,IAErB1P,IAAAA,IACCA,GAA6BC,EAAUjwiB,eAAe0/iB,KAEvDxB,GAAQpG,GAAM4H,GAAAA,EAmXpBS,GAlJe,eACXL,EAAAA,IACCA,KAAa5H,GACZA,GAAQl4iB,eAAe8/iB,IACzBP,GAAUrH,GAAQ4H,GAAAA,CA+ItBM,GA7UgB,eACX,IAAIJ,KAAczH,GACjBA,GAAcv4iB,eAAeggjB,IAC/BzB,GAAWhG,GAAcyH,GAAAA,CA2U7BK,GAlLgB,SAASnB,GAAAA,IACrB3E,EAAAA,IACCA,KAAcngN,GACbA,GAASp6V,eAAeu6iB,KACtBngN,GAASmgN,aAAuBtL,GAClCwP,GAAkBrkN,GAASmgN,IAClBngN,GAASmgN,aAAuBrL,IACzC+P,GAAiB7kN,GAASmgN,GAAa2E,GAAAA,CA4K7CoB,CAAYpB,GAEZzxiB,GAAOihiB,QAAQ,gBACfwQ,EAA8Bh/jB,QAAQs/jB,IACtCA,GAAsB,CACpBH,aAAchE,GACdiE,UAAWv0jB,OAAO4za,mBAEpBlxZ,GAAOihiB,QAAQ,qBAcb6R,GAA0B,SAASpC,GACrCpG,GAAQoG,EAAKqC,UAAYzI,GAAQoG,EAAKqC,WAAa,CAAC,EACpDzI,GAAQoG,EAAKqC,UAAUrC,EAAK7sM,WAAa6sM,EAAK35jB,EAAAA,EAG5Ci8jB,GAAU,SACZpC,EACAmC,EACAlvM,EACAgtM,EACAoC,GAAAA,IAEIvC,EAAO,CACT35jB,GAAI,KAAOjE,OAAOE,KAAKq3jB,IAAOn3jB,OAAS,GAAGuY,SAAS,IACnDmljB,eAAgBA,EAChBmC,SAAUA,EACVlvM,UAAWA,EACXgtM,SAAUA,EACVoC,eAAgBA,IAAAA,EAChBC,SAAU,CAAC,GAAD,OAGZlziB,GAAOihiB,QAAQ,UAAW,CACxByP,KAAMA,EACN91jB,SAAUxI,OAGZi4jB,GAAMqG,EAAK35jB,IAAM25jB,EACjBoC,GAAwBpC,GACjBA,EAAK35jB,EAAAA,EA8MVo8jB,GAAa1Q,EAAIE,YAAYwQ,UAAY1Q,EAAI0Q,UAAY,SAC3D74jB,EACAnB,GAAAA,OAzJiB,SAASmB,EAAMnB,GAAAA,IAiD5BvB,EACF4N,EACA4tjB,EACAC,EACAC,EACAC,EACAC,EACA9xQ,EACA+xQ,EAAAA,GAGFL,GADAj6jB,EAAQA,GAAS,CAAC,GACKi6jB,gBAAkB,UACzCE,EAAiBn6jB,EAAMm6jB,gBAYpBn6jB,EAAMu6jB,YAAcJ,IACrBjJ,GAAMF,IAAe+I,UACrB7I,GAAMF,IAAe+I,SAASE,IAC9B/I,GAAMF,IAAe+I,SAASE,GAAgBvC,WAE9CwC,EAAgBhJ,GAAMF,IAAe+I,SAASE,GAAgBvC,UAGzDyC,GAAkBjJ,GAAMF,IAAe0G,WAC1CyC,EAAiBjJ,GAAMF,IAAe0G,WAInCyC,GAAkBD,EAAcM,YACnCL,EAAiBD,EAAcM,UAAU,IAGb,iBAAnBL,IACTA,EAAiBD,EAAcC,IAK7BA,GAAgB,KAClBE,GAAAA,EACAD,EAAU,GACL37jB,EAAI,EAAG4N,EAAIlL,EAAKpH,OAAQ0E,EAAI4N,EAAG5N,KAClC8pT,EAAK4xQ,EAAeh5jB,EAAK8Y,WAAWxb,KAElC27jB,EAAQ1+jB,KAAK+e,OAAO0wD,aAAao9O,IAEjC6xQ,EAAQ1+jB,KAAKyF,EAAK1C,IAKhB27jB,EAAQ37jB,GAAGwb,WAAW,IAAM,IAE9BogjB,GAAAA,GAGJl5jB,EAAOi5jB,EAAQzljB,KAAK,QAIxBlW,EAAI0C,EAAKpH,YAAAA,IAEFsgkB,GAAiC,IAAN57jB,GAC5B0C,EAAK8Y,WAAWxb,EAAI,IAAM,IAE5B47jB,GAAAA,GAEF57jB,IAAAA,IAEG47jB,EAAAA,OACIl5jB,EAAAA,IAGTi5jB,EAAUp6jB,EAAMy6jB,MAAQ,GAAK,CAAC,IAAK,KAC9Bh8jB,EAAI,EAAG4N,EAAIlL,EAAKpH,OAAQ0E,EAAI4N,EAAG5N,IAAK,KAEvC67jB,GADA/xQ,EAAKpnT,EAAK8Y,WAAWxb,KACT,IACD,EAAG,MAEN,IAAIrF,MACR,yBACEqF,EACA,eACA0C,EACA,qDAGNi5jB,EAAQ1+jB,KAAK4+jB,GACbF,EAAQ1+jB,KAAK6sT,GAAM+xQ,GAAO,WAErB7/iB,OAAO0wD,aAAa58D,WAAM,EAAW6rjB,EAAAA,CAoBrCM,CAAav5jB,EAAMnB,GACvB2E,QAAQ,MAAO,QACfA,QAAQ,MAAO,OACfA,QAAQ,MAAO,QAGhBg2jB,GAAarR,EAAIE,YAAYmR,UAAY,SAASp1iB,GACpDwpiB,IAAQl6Y,IAAQ,GAChB48Y,GAAa58Y,IAAQ,CACnB0/Y,MAAO,EACPiC,cAAe,EACf1N,SAAU3kjB,OAAO2kjB,GACjBmO,OAAQ,KACRF,SAAU,KACVD,QAAS,KACTE,QAAS,KACTP,SAAU,CACRC,YAAa,EACbC,YAAa,EACbC,UAAWzyjB,OAAOohB,EAAO,IACzBsxiB,UAAW1yjB,OAAOohB,EAAO,MAG7Bq1iB,GAAS/lZ,IACTs6Y,EAAqBJ,EAAM1rE,GAAAA,EAGzBw3E,GAAW,SAASC,EAAYC,GAAAA,IAC9Bh6W,EAAYt4L,EAAOC,EAAAA,OAEvBk5B,EAAcm5gB,GAAmBn5gB,EAEP,iBAAfk5gB,IACT/5W,EAAa+qW,EAAcgP,EAAWl2jB,eAClC0J,MAAM8C,QAAQ2vM,KAChBt4L,EAAQs4L,EAAW,GACnBr4L,EAASq4L,EAAW,KAIpBzyM,MAAM8C,QAAQ0pjB,KAChBryiB,EAAQqyiB,EAAW,GAAKzO,GACxB3jiB,EAASoyiB,EAAW,GAAKzO,IAGvBjojB,MAAMqkB,KACRA,EAAQlD,EAAO,GACfmD,EAASnD,EAAO,KAGdkD,EAAQ,OAASC,EAAS,SAC5BjQ,GAAQC,KACN,0GAEF+P,EAAQ1W,KAAKoK,IAAI,MAAOsM,GACxBC,EAAS3W,KAAKoK,IAAI,MAAOuM,IAG3BnD,EAAS,CAACkD,EAAOC,GAETk5B,EAAY1qC,OAAO,EAAG,QACvB,IACCwR,EAASD,IACXlD,EAAS,CAACmD,EAAQD,IAAAA,MAAAA,IAGjB,IACCA,EAAQC,IACVnD,EAAS,CAACmD,EAAQD,IAKxBkyiB,GAAUp1iB,GAGVy1iB,GAAavtN,IAEb90P,EAAI+tF,IAEc,IAAdu0X,IACFtid,EAAIsid,GAAY,MAEC,IAAfC,IACFvid,EAAIuid,GAAa,MAEnBr0iB,GAAOihiB,QAAQ,UAAW,CACxBuO,WAAYxhZ,IAAAA,EAIZsmZ,GAAc,SAAStgjB,GACrBA,EAAI,GAAKA,GAAKg6J,KAChBk6Y,EAAM/xjB,OAAO6d,EAAG,GAChB42iB,GAAaz0jB,OAAO6d,EAAG,GACvBg6J,KACIwuU,EAAcxuU,KAChBwuU,EAAcxuU,IAAAA,KAEXumZ,QAAQ/3E,GAAAA,EAIbu3E,GAAW,SAAS//iB,GAClBA,EAAI,GAAKA,GAAKg6J,KAChBwuU,EAAcxoe,EAAAA,EAIdwgjB,GAAoB/R,EAAIE,YAAY6R,iBAAmB/R,EAAI+R,iBAAmB,kBACzEtM,EAAMh1jB,OAAS,GAiBpBuhkB,GAAU,SAAS1B,EAAUlvM,EAAWz6W,GAAAA,IAExCsrjB,EADEthkB,OAAAA,EAAM8I,OAEVkN,EAAUA,GAAW,CAAC,EAEtB2pjB,OAAAA,IACEA,EAAyBA,EAAW1I,GAAMF,IAAe4I,SAC3DlvM,OAAAA,IACEA,EAA0BA,EAAYwmM,GAAMF,IAAetmM,UAC7D6wM,EAAoB3B,EAASh1jB,mBAAAA,IAG3BusjB,GAAQoK,SAAAA,IACRpK,GAAQoK,GAAmB7wM,GAE3BzwX,EAAMk3jB,GAAQoK,GAAmB7wM,QAAAA,IAEjCymM,GAAQyI,SAAAA,IACRzI,GAAQyI,GAAUlvM,GAElBzwX,EAAMk3jB,GAAQyI,GAAUlvM,IAAAA,IAEpBz6W,EAAQurjB,gBACV/ijB,GAAQC,KACN,0CACEkhjB,EACA,OACAlvM,EACA,kDAKHzwX,GAAQgW,EAAQwrjB,YAER,OADXxhkB,EAAMk3jB,GAAO/wN,MAAUsqB,MAErBzwX,EAAMk3jB,GAAO/wN,MAAPs7N,QAGHzhkB,CAAAA,EAGL0hkB,GAAWrS,EAAIE,YAAYmS,QAAU,eACnChG,EAAW1B,KACX2B,EAAY,SAASrvjB,GAAAA,OAChBA,CAAAA,EAAAA,IAOJ,IAAItM,KALiB,OAAtB+ujB,IACF4M,EAAY1M,GAAW0M,UAAUD,EAAU,IAE7Ch9c,EAAI,MACJA,EAAI,cAAgBqhd,GAAUpE,EAAU,SAAWhN,GAAMzwiB,UAAY,KACrDo4iB,GACVA,GAAmBn3iB,eAAenf,IAAQs2jB,GAAmBt2jB,IAC/D0+G,EACE,IACE1+G,EAAIid,OAAO,EAAG,GAAG1O,cACjBvO,EAAIid,OAAO,GACX,KACA8ijB,GAAUpE,EAAUrF,GAAmBt2jB,KACvC,KAIR0+G,EAAI,kBAAoBqhd,GAAUpE,EAAUpI,IAAiB,KAC7D70c,EAAI,MACJA,EAAI,WAGFijd,GAActS,EAAIE,YAAYoS,WAAa,SAAS3rjB,GAAAA,IAElD4rjB,GADJ5rjB,EAAUA,GAAW,CAAC,GAEZukjB,qBAAuBA,GAAAA,OACjCP,KACAt7c,EAAI,MACJA,EAAI,kBACJA,EAAI,UAAYkjd,EAAyB,QAEpCpM,KAAUA,GAAW,aAClBA,IAAAA,IACD,YACH92c,EAAI,4CAED,aACHA,EAAI,4CAED,WACHA,EAAI,sCAED,WACHA,EAAI,0DAGAmjd,EAAM,GAAKrM,GACoB,MAA/BqM,EAAI5kjB,OAAO4kjB,EAAI/hkB,OAAS,KAC1B01jB,GAAW7ziB,SAAS6ziB,IAAY,KACV,iBAAbA,IACT92c,EAAI,qCAAuCy0c,EAAGqC,IAAY,YAG3DO,KAAYA,GAAa,cACtBA,IAAAA,IACD,aACHr3c,EAAI,oCAED,SACHA,EAAI,qCAED,UACA,UACHA,EAAI,wCAED,WACHA,EAAI,+BAGJk3c,IAQFl3c,EAAI,cAAgBk3c,IAEtBhpiB,GAAOihiB,QAAQ,cACfnvc,EAAI,MACJA,EAAI,WAGFojd,GAAczS,EAAIE,YAAYuS,WAAa,WAC7Cpjd,EAAI,WACJA,EAAI,MACJA,EAAI,UAAYuvc,EAAe,IAE/Bvvc,EAAI,SAAWuvc,EAAe,QAC9Bvvc,EAAI,UAAYuvc,EAAe,GAAK,QACV,OAAtBc,GACFrwc,EAAI,YAAcuwc,GAAWgL,IAAM,QAErCv7c,EAAI,UAAYquc,EAAS,MAAQA,EAAS,OAC1Cruc,EAAI,OAGFqjd,GAAa1S,EAAIE,YAAYwS,UAAY,WAC3Crjd,EAAI,QAAU8wc,GACd9wc,EAAI,sBAGFsjd,GAAW3S,EAAIE,YAAYyS,QAAU,eACnC7gjB,EAAI,aAERu9F,EAAI,QACJA,EAAI,MAAQuvc,EAAe,IAC3Bvvc,EAAI,2BACC,IAAIl6G,EAAI,EAAGA,GAAKypjB,EAAczpjB,IAEX,mBADTuhd,EAAQvhd,GAEnBk6G,GAAKv9F,EAAI4kc,EAAQvhd,MAAM4S,OAAO,IAAM,sBAEzB2uc,EAAQvhd,GACjBk6G,GAAKv9F,EAAI4kc,EAAQvhd,IAAI4S,OAAO,IAAM,aAElCsnG,EAAI,wBAMRujd,GAAiB5S,EAAIE,YAAY0S,cAAgB,WAxrEnDhU,EAAe,EACf2G,EAAgB,EAChB70iB,EAAU,GACVgmc,EAAU,GACV8uG,EAAoB,GAEpB0F,GAAsBL,KACtBM,GAA0BN,KAmrE1BhF,EAAqBn1iB,GAErB6M,GAAOihiB,QAAQ,iBAEfkU,KACA5E,KAvjByB,WACzBvwiB,GAAOihiB,QAAQ,4BACV,IAAIrpjB,EAAI,EAAGA,EAAIqwjB,EAAkB/0jB,OAAQ0E,IAAK,KAC7CqR,EAAMg/iB,EAAkBrwjB,GAC5B21jB,GAAuBtkjB,EAAIykjB,OAAO,GAClC57c,EAAI7oG,EAAIkK,SACR2+F,EAAI,UAEN9xF,GAAOihiB,QAAQ,4BAgjBfqU,GACA7C,KAC0B,OAAtBtQ,IA1rBJE,GAAWgL,IAAMD,KACjBt7c,EAAI,MACJA,EAAI,qBACJA,EAAI,MAAQuwc,GAAW10iB,GACvBmkG,EAAI,MAAQuwc,GAAWtuiB,GACvB+9F,EAAI,OAASuwc,GAAW9wM,YAAY8wM,GAAW1zP,GAAK,KACpD78M,EAAI,OAASuwc,GAAW9wM,YAAY8wM,GAAWzse,GAAK,KACpDk8B,EAAI,MAAQuwc,GAAW19P,GACvB7yM,EAAI,MACJA,EAAI,WAkrBJgjd,KACAC,KAAAA,IAEIQ,EAAevN,EAAAA,OACnBoN,KACAF,KACApjd,EAAI,aACJA,EAAI,GAAKyjd,GACTzjd,EAAI,SAEJw2c,EAAqBJ,EAAM1rE,IAEpBrpe,EAAQrF,KAAK,OAGlB0njB,GAAW/S,EAAIE,YAAY6S,QAAU,SAAS91jB,GAAAA,OACzC,IAAIiR,KAAK,CAAC63iB,GAAe9ojB,IAAQ,CACtCjF,KAAM,qBA4BNw8Q,GAAUwrS,EAAIxrS,OAASwrS,EAAIE,YAAY1rS,OAjiBhC,SAAoB3tQ,GAAAA,OAC7BA,EAAGmsjB,IAAM,sBAEEnsjB,EAAG5B,MAAMtV,KAAMqB,UAAAA,CACtB,MAAOuB,GAAAA,IACHyT,EAAQzT,EAAEyT,OAAS,IAClBA,EAAM3S,QAAQ,UAAS2S,EAAQA,EAAMhT,MAAM,QAAQ,QACpDwe,EACF,qBACAxL,EAAMhT,MAAM,MAAM,GAAGA,MAAM,KAAK,GAChC,KACAT,EAAE6G,QAAAA,IACAkhjB,GAAanriB,QAAS,MAIlB,IAAIrf,MAAM0hB,GAHhB8oiB,GAAanriB,QAAQ9J,MAAMmM,EAAGjf,GAC1B+njB,GAAa/uK,OAAOA,MAAM/5X,EAAAA,CAAAA,EAMpC3K,EAAGmsjB,IAAIC,IAAMpsjB,EACNA,EAAGmsjB,GAAAA,CA4gBwCE,EAAK,SACvDl7jB,EACA2O,GAAAA,OAIuB,iBAFvBA,EAAUA,GAAW,CAAC,GAGpBA,EAAU,CACRwsjB,SAAUxsjB,GAGZA,EAAQwsjB,SAAWxsjB,EAAQwsjB,UAAY,gBAGjCn7jB,GAAAA,UAAAA,EACDyB,OACIm5jB,KAAAA,IACJ,OACH5S,EAAIoT,KAAKzsjB,EAAQwsjB,UAAAA,MAAAA,IAEd,qBACIpN,GAAe6M,MAAAA,IACnB,cACIG,GAAQH,MAAAA,IACZ,cACA,sBAGMtY,GAAaY,KACwB,mBAArCZ,GAAaY,IAAIE,gBAAAA,OAGrBd,GAAaY,KACZZ,GAAaY,IAAIE,gBAAgB2X,GAAQH,aAAAA,EAI7CzjjB,GAAQC,KACN,oHAID,oBACA,oBACCikjB,EAAU,GACVC,EAAcV,KAAAA,IAEhBS,EAAUj1jB,GAAKk1jB,EAAAA,CACf,MAAO/gkB,GACP8gkB,EAAUj1jB,GAAKH,SAASC,mBAAmBo1jB,IAAAA,CAAAA,MAG3C,iCACA3sjB,EAAQwsjB,SACR,WACAE,EAAAA,IAEC,wBAEgD,oBAAjDhjkB,OAAOsR,UAAUqH,SAASzF,KAAK+2iB,IAC/B,KACIiZ,EACF,0EACEC,EACF,uIAEE7sjB,EAAQ4sjB,eACVA,EAAe5sjB,EAAQ4sjB,aACvBC,EAAY,QAGVC,EACF,kIAEAF,EACA,IACAC,EACA,wCACA7jkB,KAAK6kR,OAAO,iBACZ,MACAnqQ,KAAKG,UAAU7D,GACf,6BACE+sjB,EAAKpZ,GAAat7iB,OAAAA,OAEX,OAAP00jB,GACFA,EAAG19jB,SAASwV,MAAMiojB,GAEbC,CAAAA,CAAAA,MAED,IAAI5jkB,MACR,0EAGD,oBAEgD,oBAAjDO,OAAOsR,UAAUqH,SAASzF,KAAK+2iB,IAC/B,KAEIqZ,EACF,kJAFahtjB,EAAQitjB,UAAY,mCAMjC,uBACAjtjB,EAAQwsjB,SALR,kDAQEU,EAAiBvZ,GAAat7iB,OAAAA,GAEX,OAAnB60jB,EAAyB,CAC3BA,EAAe79jB,SAASwV,MAAMmojB,GAAAA,IAC1B1+N,EAAQtlW,KACZkkkB,EAAe79jB,SAASs3C,gBAAgBynB,cACtC,cACA24Q,OAAS,WACTmmP,EAAe79jB,SAASgtH,MAAQr8G,EAAQwsjB,SACxCU,EAAe79jB,SAASs3C,gBACrBynB,cAAc,cACd2gP,cAAco+Q,qBAAqB90jB,KAClCi2V,EAAMzgF,OAAO,oBAIdq/S,CAAAA,CAAAA,MAED,IAAI/jkB,MACR,sEAGD,sBAEgD,oBAAjDO,OAAOsR,UAAUqH,SAASzF,KAAK+2iB,IAAAA,MAkBzB,IAAIxqjB,MACR,wEAjBEikkB,EACF,kIAIApkkB,KAAK6kR,OAAO,gBAAiB7tQ,GAJ7B,4BAOEqtjB,EAAmB1Z,GAAat7iB,OAAAA,GACX,OAArBg1jB,IACFA,EAAiBh+jB,SAASwV,MAAMuojB,GAChCC,EAAiBh+jB,SAASgtH,MAAQr8G,EAAQwsjB,UAExCa,GAAsC,oBAAXt9iB,OAC7B,OAAOs9iB,EAAAA,MAAAA,IAOR,cACA,iBACK1Z,GAAatkjB,SAASsX,SAAST,KAAOld,KAAK6kR,OACjD,gBACA7tQ,GAAAA,QAAAA,OAGK,SASTstjB,GAAY,SAASC,GAAAA,OAAAA,IAErBlvjB,MAAM8C,QAAQsgjB,KAAsBA,GAAS/0jB,QAAQ6gkB,IAAe,UAIhEr8S,GAAAA,IACD,KACHkrS,GAAc,YAEX,KACHA,GAAc,GAAK,eAEhB,KACHA,GAAc,GAAK,eAEhB,KACHA,GAAc,aAEX,KAEDA,GAD6B,GAA3BkR,GAAU,cACE,IAEA,GAAK,aAGlB,SAGA,KACHlR,GAAc,aAEX,KACHA,GAAc,mBAGM,iBAATlrS,EAAAA,MAGH,IAAI/nR,MAAM,iBAAmB+nR,GAFnCkrS,GAAclrS,EAAAA,IAMhB+nS,GAAa,KACjBsF,IACAd,IAAAA,IAcI+P,GAAenU,EAAIE,YAAYiU,YAAcnU,EAAImU,YAAc,SACjEC,GAAAA,GAEIt5jB,MAAMs5jB,IAAuBA,EAAqB,GAAM,EAAG,MACvD,IAAItkkB,MAAM,sDAGX,CACLm7jB,MAFU9C,GAAaiM,GAAoBnJ,MAG3C8B,WAAYqH,EACZxG,YAAazF,GAAaiM,GAAAA,EAI1BC,GAAsBrU,EAAIE,YAAYmU,mBAAqB,SAC7DpJ,GAAAA,GAEInwjB,MAAMmwjB,IAAUA,EAAQ,GAAM,EAAG,MAC7B,IAAIn7jB,MAAM,2DAEb,IAAIi9jB,KAAc5E,GAAAA,GACjBA,GAAa4E,GAAY9B,QAAUA,EAAAA,MAAAA,OAIlCkJ,GAAYpH,EAAAA,EAGjBuH,GAAsBtU,EAAIE,YAAYoU,mBAAqBtU,EAAIsU,mBAAqB,iBAC/E,CACLrJ,MAAO9C,GAAapuE,GAAakxE,MACjC8B,WAAYhzE,EACZ6zE,YAAazF,GAAapuE,GAAAA,EAgB9BimE,EAAIuU,QAAU,kBACZhD,GAAStsjB,MAAMtV,KAAMqB,WACdrB,IAAAA,EAmBTqwjB,EAAI8R,QAAU,kBACZR,GAASrsjB,MAAMtV,KAAMqB,WACrB60jB,EAAqBtijB,KAAK5T,KAAM81jB,EAAM1rE,IAC/Bpqf,IAAAA,EAYTqwjB,EAAIwU,WAAa,SAASC,GAAAA,OAAAA,KACnBF,UAAAA,KACAG,SAAS36E,EAAa06E,GACpB9kkB,IAAAA,EAYTqwjB,EAAI0U,SAAW,SAASC,EAAYF,GAAAA,IAC9BG,EAAUC,EAAAA,GACVF,EAAaF,EAAY,CAC3BG,EAAWnP,EAAMkP,GACjBE,EAAkB1M,GAAawM,GAAAA,IAC1B,IAAIx/jB,EAAIw/jB,EAAYx/jB,EAAIs/jB,EAAYt/jB,IACvCswjB,EAAMtwjB,GAAKswjB,EAAMtwjB,EAAI,GACrBgzjB,GAAahzjB,GAAKgzjB,GAAahzjB,EAAI,GAErCswjB,EAAMgP,GAAcG,EACpBzM,GAAasM,GAAcI,EAAAA,KACtB/C,QAAQ2C,EAAAA,MACR,GAAIE,EAAaF,EAAY,CAClCG,EAAWnP,EAAMkP,GACjBE,EAAkB1M,GAAawM,GAAAA,IAC1B,IAAIx/f,EAAIw/f,EAAYx/f,EAAIs/f,EAAYt/f,IACvCswf,EAAMtwf,GAAKswf,EAAMtwf,EAAI,GACrBgzf,GAAahzf,GAAKgzf,GAAahzf,EAAI,GAErCswf,EAAMgP,GAAcG,EACpBzM,GAAasM,GAAcI,EAAAA,KACtB/C,QAAQ2C,EAAAA,CAAAA,OAER9kkB,IAAAA,EAYTqwjB,EAAI8U,WAAa,kBACfjD,GAAY5sjB,MAAMtV,KAAMqB,WACjBrB,IAAAA,EAuCTqwjB,EAAIE,YAAYrojB,KAAOmojB,EAAInojB,KAAO,SAASA,EAAM4lC,EAAGsH,EAAGp+B,EAAS+nC,GAAAA,IAe1DpiC,EAASwuO,EAAIx4E,EAAOx4H,EAAOirhB,EAAWniZ,EAAUl8K,EAAOs+jB,EAkBvDC,EAnBAhgO,GADJtuV,EAAUA,GAAW,CAAC,GACFsuV,OAAStlW,KAAAA,GASX,iBAATkI,GACM,iBAAN4lC,IACO,iBAANsH,GAAkB//B,MAAM8C,QAAQi9B,IACxC,KACIosP,EAAMpsP,EACVA,EAAItH,EACJA,EAAI5lC,EACJA,EAAOs5R,CAAAA,CAAAA,GAKLngS,UAAU,aAAc8xjB,IAAAA,GAE1BxgZ,EAAQtxK,UAAU,GAClB84C,EAAQ94C,UAAU,GAEG,YAAjBywU,EAAAA,EAAAA,GAJJ/qU,EAAQ1F,UAAU,KAIyB,OAAV0F,IACV,iBAAV4rK,IACTx4H,EAAQw4H,EACRA,EAAQ,MAEW,iBAAV5rK,IACTozC,EAAQpzC,EACRA,EAAQ,MAEW,iBAAVA,IACT4rK,EAAQ5rK,EACRA,EAAQ,MAEViQ,EAAU,CACRjQ,MAAOA,EACP4rK,MAAOA,EACPx4H,MAAOA,MAIX45gB,EACE,yDAEFuR,EAAuBvmhB,GAGrB5zC,MAAM2iC,IAAM3iC,MAAMiqC,IAAlBjqC,MAA+BjD,EAAAA,MAC3B,IAAI/H,MAAM,6CAGE,IAAhB+H,EAAKpH,OAAAA,OACAwkW,EAAAA,IAILigO,EADAC,EAAO,GAEP7vR,EACkC,iBAA7B3+R,EAAQyujB,iBACXzujB,EAAQyujB,iBACRA,GACFrS,EAAc9tN,EAAMgrN,SAAS8C,YAAAA,SAExB1+I,EAAItyZ,GAAAA,OACXA,EAAIA,EAAE/e,MAAM,MAAMqY,KAAKrG,MAAM2B,EAAQ0ujB,QAAU,GAAGhqjB,KAAK,MAChDqljB,GAAU3+iB,EAAGrb,EAAAA,CAAAA,SAGb4+jB,EAA4Bz9jB,GAAAA,IAAAA,IAK/B09jB,EAHAhzU,EAAK1qP,EAAKwB,SACVyhP,EAAK,GACLzjP,EAAMkrP,EAAG9xP,OAIN4G,KAEgB,iBADrBk+jB,EAAQhzU,EAAG7oP,SAETohP,EAAG1oP,KAAKmjkB,GAGNvwjB,MAAM8C,QAAQjQ,KACI,IAAjB09jB,EAAM9kkB,aAAAA,IACJ8kkB,EAAM,aAAoBA,EAAM,IAEnCz6U,EAAG1oP,KAAKmjkB,EAAM,IAEdz6U,EAAG1oP,KAAK,CAACmjkB,EAAM,GAAIA,EAAM,GAAIA,EAAM,YAIlCz6U,CAAAA,CAAAA,SAGA06U,EAAsB39jB,EAAM49jB,GAAAA,IAC/BjmjB,EAAAA,GACgB,iBAAT3X,EACT2X,EAASimjB,EAAmB59jB,GAAM,QAC7B,GAAImN,MAAM8C,QAAQjQ,GAAO,SAK1B09jB,EACAG,EAJAnzU,EAAK1qP,EAAKwB,SACVyhP,EAAK,GACLzjP,EAAMkrP,EAAG9xP,OAKN4G,KAEgB,iBADrBk+jB,EAAQhzU,EAAG7oP,SAETohP,EAAG1oP,KAAKqjkB,EAAmBF,GAAO,IACzBvwjB,MAAM8C,QAAQytjB,IAA8B,iBAAbA,EAAM,KAC9CG,EAAYD,EAAmBF,EAAM,GAAIA,EAAM,GAAIA,EAAM,IACzDz6U,EAAG1oP,KAAK,CAACsjkB,EAAU,GAAIA,EAAU,GAAIA,EAAU,MAGnDlmjB,EAASsrO,CAAAA,CAAAA,OAEJtrO,CAAAA,CAAAA,IAILmmjB,GAAAA,EACAC,GAAAA,EAAwB,GAER,iBAAT/9jB,EACT89jB,GAAAA,OACK,GAAI3wjB,MAAM8C,QAAQjQ,GAAO,KAE1B0qP,EAAK1qP,EAAKwB,SACdyhP,EAAK,WAEDy6U,EADAl+jB,EAAMkrP,EAAG9xP,OAIN4G,MAGc,iBAFnBk+jB,EAAQhzU,EAAG7oP,UAGRsL,MAAM8C,QAAQytjB,IAA8B,iBAAbA,EAAM,MAEtCK,GAAAA,GAGJD,EAAqBC,CAAAA,CAAAA,IAAAA,IAEnBD,EAAAA,MACI,IAAI7lkB,MACR,0CACE+H,EACA,wBAWc,iBAATA,IAEPA,EADEA,EAAKoU,MAAM,WACNpU,EAAK7E,MAAM,eAEX,CAAC6E,IAAAA,IAKRunB,EAAS8miB,GAAiBjxN,EAAMgrN,SAAS8C,YACzC8S,EAAUz2iB,GAAUkmR,EAAa,UAE7B3+R,EAAQmvjB,UAAAA,IACT,SACH/whB,GAAK8whB,EAAAA,MAAAA,IAEF,MACH9whB,GAAK3lB,EAASy2iB,EAAAA,MAAAA,IAEX,UACH9whB,GAAK3lB,EAAS,EAAIy2iB,EAAAA,MAAAA,IAEf,SACH9whB,GAAK3lB,EAAS,EAAIy2iB,EAAAA,IAUtBjjZ,EAAWjsK,EAAQisK,UAAY,GAEhB,IACO,iBAAT/6K,EACTA,EAAOo9V,EAAM8gO,gBAAgBl+jB,EAAM+6K,GACe,mBAAzCviL,OAAOsR,UAAUqH,SAASzF,KAAK1L,KACxCA,EAAOA,EAAK6D,QAAO,SAASC,EAAKq6jB,GAAAA,OACxBr6jB,EAAItC,OAAO47V,EAAM8gO,gBAAgBC,EAAUpjZ,GAAAA,GACjD,MAKPtmK,EAAU,CACRzU,KAAMA,EACN4lC,EAAGA,EACHsH,EAAGA,EACHp+B,QAASA,EACTsvjB,MAAO,CACLvF,UAAWA,GACXhJ,cAAeA,GACfE,MAAOA,GACP1B,eAAgBA,KAGpB3oiB,GAAOihiB,QAAQ,iBAAkBlyiB,GAEjCzU,EAAOyU,EAAQzU,KAIfyqK,GAHA37J,EAAU2F,EAAQ3F,SAGF27J,MAGd2yZ,aAAgCnS,IAAAA,GAChCxgZ,GACiB,iBAAVA,EACP,CACAA,GAAS75J,KAAKkwf,GAAK,IAEe,IAA9Bhyf,EAAQuvjB,oBACV5zZ,GAASA,GAGPogZ,IAAYD,IACdngZ,GAASA,GAAAA,IAGPh/J,EAAImF,KAAK0tjB,IAAI7zZ,GACbvwJ,EAAItJ,KAAK2tjB,IAAI9zZ,GACjB2yZ,EAAuB,IAAInS,GAAOx/iB,EAAGyO,GAAIA,EAAGzO,EAAG,EAAG,QACzCg/J,GAASA,aAAiBwgZ,KACnCmS,EAAuB3yZ,GAGrBogZ,IAAYD,GAAqBwS,IACnCA,EAAuB/K,SAAAA,KAKzB6K,EAAYpujB,EAAQoujB,WAAasB,MAG/BlB,GAAQ1R,EAAI5ghB,EAAMkyhB,IAAc,aAC3BuB,aAAa3mkB,KAAK4mkB,gBAAkB,cAG3CvB,EAAkBrujB,EAAQqujB,mBAExBG,GAAQ1R,EAAsB,IAAlBuR,GAAyB,SAK5BrujB,EAAQotR,KAAAA,IAOfyiS,GAAiB,EACjBC,OAAAA,IACK9vjB,EAAQ6vjB,cACX7vjB,EAAQ6vjB,cACR7vjB,EAAQmse,OACV86E,EAAc34N,EAAMgrN,SAASqU,qBAAqB1G,YAAAA,OAE9C6I,GAAAA,KACD,SACA,IACA,OACHD,EAAgB,aAEb,SACA,IACA,SACHA,EAAgB,aAEb,MACA,iBACHA,EAAgB,aAEb,MACA,YACHA,EAAgB,aAEb,MACA,wBACHA,EAAgB,aAEb,MACA,8BACHA,EAAgB,aAEb,MACA,wCACHA,EAAgB,aAEb,MACA,uBACHA,EAAgB,MAIhBE,OAAAA,IACK9I,EAAY8I,kBACf9I,EAAY8I,mBACX,GAIgB,IAAnBF,EACFrB,GAAQqB,EAAgB,SAGQ,IAAvBE,IACTvB,GAAQ,WAGa,IAAnBqB,IACF5I,EAAY8I,kBAAoBF,GAIlC1shB,EAAQnjC,EAAQmjC,OAAS,WAOrB6shB,EANAC,EAAU1Q,GAAiB5gR,EAC3BuxR,EAAY5hO,EAAMgrN,SAASn6d,SAASj5C,WACpCiqhB,EAAalP,GAAMF,IACvBqN,EAAYpujB,EAAQoujB,WAAasB,GACjCzjZ,EAAWjsK,EAAQisK,UAAY,EAG/Bl8K,EAAQrG,OAAOoE,OAAO,CAAEw8jB,YAAY,EAAME,OAAO,GAAQxqjB,EAAQjQ,OAAAA,IAE7DqgkB,EAAqB,MAEoB,mBAAzC1mkB,OAAOsR,UAAUqH,SAASzF,KAAK1L,GAA4B,KAEzDm/jB,EADJl8U,EAAKw6U,EAA4Bz9jB,GAEnB,SAAViyC,IACF6shB,EAAa77U,EAAGzoO,KAAI,SAASnH,GAAAA,OAExB+pV,EAAMgiO,mBAAmB/rjB,EAAG,CAC3B+ijB,KAAM6I,EACN/B,UAAWA,EACX3/Z,SAAU8wZ,GACVgR,WAAW,IAEXhR,GACFnD,CAAAA,KAAAA,IAQFoU,EADAC,EAAY,KAEF,UAAVtthB,EAAmB,CAGrBrM,GAAKk5hB,EAAW,GAChB9+jB,EAAO,GACPR,EAAMyjP,EAAGrqP,OAAAA,IACJ,IAAI0E,EAAI,EAAGA,EAAIkC,EAAKlC,IACb,IAANA,GACFgikB,EAAOE,GAAwB55hB,GAC/Bu5hB,EAAOM,GAAsBvyhB,KAE7BoyhB,EAAOt0hB,EAAMu0hB,EAAYT,EAAWxhkB,IACpC6hkB,GAAQJ,GAEV/+jB,EAAKzF,KAAK,CAAC0oP,EAAG3lP,GAAIgikB,EAAMH,IACxBI,EAAYT,EAAWxhkB,EAAAA,MAEpB,GAAc,WAAV20C,EAAoB,CAG7BrM,GAAKk5hB,EAAW,GAAK,EACrB9+jB,EAAO,GACPR,EAAMyjP,EAAGrqP,OAAAA,IACJ,IAAI0kE,EAAI,EAAGA,EAAI99D,EAAK89D,IACb,IAANA,GACFgigB,EAAOE,GAAwB55hB,GAC/Bu5hB,EAAOM,GAAsBvyhB,KAE7BoyhB,EAAOt0hB,GAAOu0hB,EAAYT,EAAWxhgB,IAAM,GAC3C6hgB,GAAQJ,GAEV/+jB,EAAKzF,KAAK,CAAC0oP,EAAG3lL,GAAIgigB,EAAMH,IACxBI,EAAYT,EAAWxhgB,EAAAA,MAEpB,GAAc,SAAVrrB,EAAkB,CAC3BjyC,EAAO,GACPR,EAAMyjP,EAAGrqP,OAAAA,IACJ,IAAIqW,GAAI,EAAGA,GAAIzP,EAAKyP,KACvBjP,EAAKzF,KAAK0oP,EAAGh0O,IAAAA,KAEV,IAAc,YAAVgjC,EAAAA,MAsBH,IAAIh6C,MACR,8EAtBF+H,EAAO,GACPR,EAAMyjP,EAAGrqP,OACTmiL,EAAwB,IAAbA,EAAiBA,EAAWikZ,EAAAA,IAElC,IAAI9zjB,GAAI,EAAGA,GAAI1L,EAAK0L,KACvBi0jB,EAAa,IAANj0jB,GAAUu0jB,GAAsBvyhB,IAAM6xhB,EAC7CO,EAAa,IAANp0jB,GAAUs0jB,GAAwB55hB,GAAK,EAC1C16B,GAAI1L,EAAM,EACZ0/jB,EAAmB3kkB,KACjBqxjB,EACE5ghB,GACG+vI,EAAW+jZ,EAAW5zjB,MAAO+3O,EAAG/3O,IAAG/P,MAAM,KAAKvC,OAAS,MAK9DsmkB,EAAmB3kkB,KAAK,GAE1ByF,EAAKzF,KAAK,CAAC0oP,EAAG/3O,IAAIo0jB,EAAMH,GAAAA,CAAAA,EAUqC5Q,KAA1B,kBAAhBz/iB,EAAQy/iB,IAAoBz/iB,EAAQy/iB,IAAMA,MAEjEvujB,EAAO29jB,EAAsB39jB,GAAM,SAASA,EAAM0/jB,EAAMC,GAAAA,MAC/C,CACL3/jB,EACG7E,MAAM,IACN4f,UACAvH,KAAK,IACRksjB,EACAC,EAAAA,KAMNlrjB,EAAU,CACRzU,KAAMA,EACN4lC,EAAGA,EACHsH,EAAGA,EACHp+B,QAASA,EACTsvjB,MAAO,CACLvF,UAAWA,GACXhJ,cAAeA,GACfE,MAAOA,GACP1B,eAAgBA,KAGpB3oiB,GAAOihiB,QAAQ,kBAAmBlyiB,GAElCzU,EAAOyU,EAAQzU,KACfq9jB,EAAQ5ojB,EAAQ2pjB,MAAMf,QAAS,MAG3BuC,GAAqB7P,GAAMF,IAAe0G,SAGrB,oBAAvBqJ,IACuB,qBAAvBA,KAEA5/jB,EAAO29jB,EAAsB39jB,GAAM,SAASA,EAAM0/jB,EAAMC,GAAAA,MAC/C,CAACnzJ,EAAIxsa,GAAO0/jB,EAAMC,EAAAA,KAI7B18U,EAAKw6U,EAA4Bz9jB,GAEjCA,EAAO,WAIH0/jB,GACAC,GACA9mjB,GAHA85W,GAAUxlX,MAAM8C,QAAQgzO,EAAG,IADnB,EADC,EAMT48U,GAAc,GAEdC,GAAmB,SACrBC,EACAC,EACAC,GAAAA,IAEI5mjB,EAAW,UACX4mjB,aAAoChV,IAKpCgV,EAD2B,iBAAlBnxjB,EAAQ27J,MACUynZ,GACzB+N,EACA,IAAIhV,GAAO,EAAG,EAAG,EAAG,EAAG8U,EAAUC,IAGR9N,GACzB,IAAIjH,GAAO,EAAG,EAAG,EAAG,EAAG8U,EAAUC,GACjCC,GAIApV,IAAYD,IACdqV,EAA2B/N,GACzB,IAAIjH,GAAO,EAAG,EAAG,GAAI,EAAG,EAAG,GAC3BgV,IAIJ5mjB,EAAW4mjB,EAAyBzsjB,KAAK,KAAO,SAEhD6F,EAAWuyiB,EAAImU,GAAY,IAAMnU,EAAIoU,GAAY,QAE5C3mjB,CAAAA,EAGA6mjB,GAAY,EAAGA,GAAYj9U,EAAGrqP,OAAQsnkB,KAAa,QAC1DL,GAAc,GAENltM,IAAAA,KA9CE,EAgDN95W,IACGwkjB,EAAQ,IAAM,KAAOp6U,EAAGi9U,IAAW,IAAM7C,EAAQ,IAAM,KAC1DqC,GAAOh6hB,WAAWu9M,EAAGi9U,IAAW,IAChCP,GAAOj6hB,WAAWu9M,EAAGi9U,IAAW,eApDzB,EAuDPrnjB,IAAWwkjB,EAAQ,IAAM,KAAOp6U,EAAGi9U,KAAc7C,EAAQ,IAAM,KAC/DqC,GAAOF,GAAwB55hB,GAC/B+5hB,GAAOF,GAAsBvyhB,QAAAA,IAKxBgyhB,QAAAA,IACAA,EAAmBgB,MAE1BL,GAAcX,EAAmBgB,IAAa,SAG9B,IAAdA,GACFlgkB,EAAKzF,KACHslkB,GACEC,GAAiBJ,GAAMC,GAAMvC,GAC7BvkjB,IAxEK,IA0EA85W,GACT3yX,EAAKzF,KAAKslkB,GAAchnjB,IA1EhB,IA2EC85W,IACT3yX,EAAKzF,KACHslkB,GACEC,GAAiBJ,GAAMC,GAAMvC,GAC7BvkjB,GAAAA,CAKR7Y,EArFa,IAqFN2yX,GAAqB3yX,EAAKwT,KAAK,YAAcxT,EAAKwT,KAAK,SAC9DxT,GAAQ,YAEJ2X,GAAS,eACbA,IAAUk4iB,GAAgB,IAAMxB,GAAiB,QACjD12iB,IAAUi0iB,EAAIyC,GAAiB5gR,GAAc,QAC7C91R,IAAU6nY,GAAY,KACtB7nY,IAAU2ljB,EACV3ljB,IAAU3X,EAGVw3G,EAFA7/F,IAAU,MAGVuwiB,EAAU2H,KAAAA,EACHzyN,CAAAA,EAAAA,IA6BLv5U,GAAQskiB,EAAIE,YAAYxkiB,KAAOskiB,EAAItkiB,KAAO,SAASmyC,GAAAA,OAInDwhD,EADE,YAAcxhD,EACZ,KAEA,KAECl+D,IAAAA,EAaTqwjB,EAAIgY,YAAc,kBACTt8iB,GAAK,YAYdskiB,EAAIE,YAAY+X,YAAcjY,EAAIiY,YAAc,kBAC9C5od,EAAI,KACG1/G,IAAAA,EAAAA,IAGLuokB,GAAgBlY,EAAIE,YAAYgY,aAAe,SAASl9jB,GAAAA,IAetDwU,GAAAA,EAAS,OAC8B,IAflB,MAAC,EAExB,KACA,IACA,IACA,IACA,KACA,KACA,IACA,KACA,IACA,KACA,KAGqBnc,QAAQ2H,KAC7BwU,GAAAA,GAEKA,CAAAA,EAGTwwiB,EAAIE,YAAYiY,wBAA0BnY,EAAImY,wBAA0B,SACtEC,GAAAA,OAEIF,GAAaE,KACf3Y,EAAuB2Y,GAElBzokB,IAAAA,EAAAA,IAGLswY,GAAY+/K,EAAIE,YAAYjgL,SAAW+/K,EAAI//K,SAAW,SAASjlY,GAAAA,IAE7D+gF,EAAK0je,EAAAA,OAEDzkjB,GAAAA,IACD,QACA,IACH+gF,EAAK,cAEF,IACHA,EAAK,cAEF,SACA,KACHA,EAAK,cAEF,QACA,SACA,QACA,KAQHA,EAAK/gF,EAAAA,OAGF+gF,CAAAA,EAWLutI,GAAS02V,EAAI12V,MAAQ,kBACvBj6G,EAAI,KACG1/G,IAAAA,EAWTqwjB,EAAIltE,OAAS,kBACXzjY,EAAI,KACG1/G,IAAAA,EAaTqwjB,EAAI/tM,KAAO,SAAShiW,GAAAA,OAClBoojB,GAAwB,IAAKpojB,GACtBtgB,IAAAA,EAaTqwjB,EAAIsY,YAAc,SAASrojB,GAAAA,OACzBoojB,GAAwB,KAAMpojB,GACvBtgB,IAAAA,EAaTqwjB,EAAIuY,WAAa,SAAStojB,GAAAA,OACxBoojB,GAAwB,IAAKpojB,GACtBtgB,IAAAA,EAaTqwjB,EAAIwY,kBAAoB,SAASvojB,GAAAA,OAC/BoojB,GAAwB,KAAMpojB,GACvBtgB,IAAAA,EAAAA,IAGL0okB,GAA0B,SAASr9jB,EAAOiV,GACrB,YAAnBwxT,EAAAA,EAAAA,GAAOxxT,GACTwojB,GAAgBxojB,EAASjV,GAEzBq0G,EAAIr0G,EAAAA,EAIJ09jB,GAAW,SAAS19jB,GAEV,OAAVA,GACC0njB,IAAYD,QAAoB,IAAAznjB,IAKnCA,EAAQilY,GAASjlY,GAGjBq0G,EAAIr0G,GAAAA,EAAAA,SAGG29jB,GAAmBtO,EAAYpL,EAAaC,EAAOC,EAAOvvgB,GAAAA,IAC7D+kB,EAAQ,IAAIqqf,GACdC,GAAetvjB,KAAKsvjB,YACpBC,GAASvvjB,KAAKuvjB,MACdC,GAASxvjB,KAAKwvjB,MACdxvjB,KAAKmvjB,OACLlvgB,GAAUjgD,KAAKigD,QAEjB+kB,EAAMyqf,OAASzvjB,KAAKyvjB,OAAAA,IAChBzujB,EAAM05jB,EAAa,KAAO16jB,KAAK0vjB,aAAe,YAClD+K,GAAWz5jB,EAAKgkE,GACTA,CAAAA,CAAAA,IAGL8jgB,GAAkB,SAASG,EAAa59jB,GAAAA,IACtC69jB,EAAY9Q,GAAW6Q,EAAYjokB,KACnCsf,EAAUi6V,GAAS2uN,GAAAA,GAEnB5ojB,aAAmB8uiB,GACrB1vc,EAAI,KAEJA,EAAIypd,GAAkB99jB,IAElBiV,EAAQ6uiB,QACVkB,EAAI+Y,UAAU9ojB,EAAQ6uiB,QAExBzvc,EAAIupd,EAAYhphB,OAAO5mC,WAAa,OACpCqmG,EAAI,IAAMwpd,EAAY,OACtBxpd,EAAI,UACC,GAAIp/F,aAAmB+uiB,GAAe,KAGvCpvgB,EAAS,IAAIkzgB,GAAO,EAAG,EAAG,GAAI,EAAG,EAAGE,MAEpC4V,EAAYhphB,SACdA,EAASA,EAAOq5gB,SAAS2P,EAAYhphB,QAAUs6gB,IAG/C2O,EAAYF,GAAmBp1jB,KAC7B0M,EACA2ojB,EAAYjokB,IACZiokB,EAAY3Z,YACZ2Z,EAAY1Z,MACZ0Z,EAAYzZ,MACZvvgB,GACAt7C,IAGJ+6G,EAAI,KACJA,EAAI,eACJA,EAAI,IAAMwpd,EAAY,QAElB5ojB,EAAQ6uiB,QACVkB,EAAI+Y,UAAU9ojB,EAAQ6uiB,QAGxBzvc,EAAIr0G,GACJq0G,EAAI,OAIJypd,GAAoB,SAAS99jB,GAAAA,OACvBA,GAAAA,IACD,QACA,IAYI,IACJ,UACI,MAbA,IACJ,WACI,WACJ,IAGI,IAIJ,UACI,MAPA,IACJ,WACI,OAOA,EAcT6/J,GAAUmlZ,EAAInlZ,OAAS,SAASp9H,EAAGsH,GAAAA,OACrCsqE,EAAIo0c,EAAI5ghB,EAAMpF,IAAM,IAAMgmhB,EAAIO,EAAgBj/gB,IAAM,MAC7Cp1C,IAAAA,EAcLqpkB,GAAUhZ,EAAIgZ,OAAS,SAASv7hB,EAAGsH,GAAAA,OACrCsqE,EAAIo0c,EAAI5ghB,EAAMpF,IAAM,IAAMgmhB,EAAIO,EAAgBj/gB,IAAM,MAC7Cp1C,IAAAA,EAmBLspkB,GAAWjZ,EAAIiZ,QAAU,SAASv7hB,EAAIC,EAAIC,EAAIC,EAAIq7hB,EAAIC,GAAAA,OACxD9pd,EACE,CACEo0c,EAAI5ghB,EAAMnF,IACV+lhB,EAAIO,EAAgBrmhB,IACpB8lhB,EAAI5ghB,EAAMjF,IACV6lhB,EAAIO,EAAgBnmhB,IACpB4lhB,EAAI5ghB,EAAMq2hB,IACVzV,EAAIO,EAAgBmV,IACpB,KACA9tjB,KAAK,MAEF1b,IAAAA,EAiBTqwjB,EAAIE,YAAYvyiB,KAAOqyiB,EAAIryiB,KAAO,SAAS+vB,EAAIC,EAAIC,EAAIC,EAAI7iC,GAAAA,GAEvDF,MAAM4iC,IACN5iC,MAAM6iC,IACN7iC,MAAM8iC,IACN9iC,MAAM+iC,KACLq6hB,GAAal9jB,GAAAA,MAER,IAAIlL,MAAM,iDAEd4yjB,IAAYD,EACP9yjB,KAAK27K,MAAM,CAAC,CAAC1tI,EAAKF,EAAIG,EAAKF,IAAMD,EAAIC,EAAI,CAAC,EAAG,GAAI3iC,GAAS,KAE1DrL,KAAK27K,MAAM,CAAC,CAAC1tI,EAAKF,EAAIG,EAAKF,IAAMD,EAAIC,EAAI,CAAC,EAAG,IAAIm1c,QAAAA,EAuC5DktE,EAAIE,YAAY50Y,MAAQ00Y,EAAI10Y,MAAQ,SAClCA,EACA7tI,EACAsH,EACAlC,EACA7nC,EACAyjc,GAAAA,IAEI26H,EAAQC,EAAQlkkB,EAAG4N,EAAGu2jB,EAAK17hB,EAAIC,EAAIq7hB,EAAIC,EAAII,EAAIC,EAAIroS,EAAAA,GAOlC,iBAAV7lH,IACT6lH,EAAMpsP,EACNA,EAAItH,EACJA,EAAI6tI,EACJA,EAAQ6lH,GAGVtuP,EAAQA,GAAS,CAAC,EAAG,GACrB47Z,EAASA,IAAAA,EAGP3jc,MAAM2iC,IACN3iC,MAAMiqC,KACL//B,MAAM8C,QAAQwjK,KACdtmK,MAAM8C,QAAQ+6B,KACdq1hB,GAAal9jB,IACI,kBAAXyjc,EAAAA,MAED,IAAI3uc,MAAM,+CAIlB+qK,GAAOp9H,EAAGsH,GAEVq0hB,EAASv2hB,EAAM,GACfw2hB,EAASx2hB,EAAM,GACf9/B,EAAIuoK,EAAM76K,OAIV8okB,EAAK97hB,EACL+7hB,EAAKz0hB,EAEA5vC,EAAI,EAAGA,EAAI4N,EAAG5N,IAEE,KADnBmkkB,EAAMhuZ,EAAMn2K,IACJ1E,QAEN8okB,EAAKD,EAAI,GAAKF,EAASG,EACvBC,EAAKF,EAAI,GAAKD,EAASG,EACvBR,GAAOO,EAAIC,KAGX57hB,EAAK07hB,EAAI,GAAKF,EAASG,EACvB17hB,EAAKy7hB,EAAI,GAAKD,EAASG,EACvBN,EAAKI,EAAI,GAAKF,EAASG,EACvBJ,EAAKG,EAAI,GAAKD,EAASG,EACvBD,EAAKD,EAAI,GAAKF,EAASG,EACvBC,EAAKF,EAAI,GAAKD,EAASG,EACvBP,GAAQr7hB,EAAIC,EAAIq7hB,EAAIC,EAAII,EAAIC,IAAAA,OAI5B/6H,GACFn1O,KAGFovW,GAAS19jB,GACFrL,IAAAA,EAaTqwjB,EAAIt0iB,KAAO,SAAS4/J,GAAAA,IACb,IAAIn2K,EAAI,EAAGA,EAAIm2K,EAAM76K,OAAQ0E,IAAK,KACjCmkkB,EAAMhuZ,EAAMn2K,GACZwyL,EAAS2xY,EAAIh2jB,EAAAA,OACTg2jB,EAAIv9e,IAAAA,IACL,IACH8+E,GAAO8sB,EAAO,GAAIA,EAAO,cAEtB,IACHqxY,GAAOrxY,EAAO,GAAIA,EAAO,cAEtB,IACHsxY,GAAQh0jB,MAAMtV,KAAMg4L,GAAAA,MAAAA,IAEjB,IACH2hC,KAAAA,CAAAA,OAKC35N,IAAAA,EAwBTqwjB,EAAIE,YAAYxye,KAAOsye,EAAItye,KAAO,SAASjwC,EAAGsH,EAAG2E,EAAG5iC,EAAG9L,GAAAA,GACjDF,MAAM2iC,IAAM3iC,MAAMiqC,IAAMjqC,MAAM4uC,IAAM5uC,MAAMgM,KAAOoxjB,GAAal9jB,GAAAA,MAC1D,IAAIlL,MAAM,iDAEd4yjB,IAAYD,IACd37iB,GAAKA,GAGPuoG,EACE,CACEo0c,EAAI5ghB,EAAMpF,IACVgmhB,EAAIO,EAAgBj/gB,IACpB0+gB,EAAI5ghB,EAAM6G,IACV+5gB,EAAI5ghB,EAAM/7B,IACV,MACAuE,KAAK,MAGTqtjB,GAAS19jB,GACFrL,IAAAA,EA0BTqwjB,EAAIE,YAAYuZ,SAAWzZ,EAAIyZ,SAAW,SACxC/7hB,EACAC,EACAC,EACAC,EACAq7hB,EACAC,EACAn+jB,GAAAA,GAGEF,MAAM4iC,IACN5iC,MAAM6iC,IACN7iC,MAAM8iC,IACN9iC,MAAM+iC,IACN/iC,MAAMo+jB,IACNp+jB,MAAMq+jB,KACLjB,GAAal9jB,GAAAA,MAER,IAAIlL,MAAM,0DAEbw7K,MACH,CACE,CAAC1tI,EAAKF,EAAIG,EAAKF,GAAAA,CACdu7hB,EAAKt7hB,EAAIu7hB,EAAKt7hB,GAAAA,CACdH,EAAKw7hB,EAAIv7hB,EAAKw7hB,IAEjBz7hB,EACAC,EAAAA,CACC,EAAG,GACJ3iC,GAAAA,GAGKrL,IAAAA,EA0BTqwjB,EAAIE,YAAYwZ,YAAc1Z,EAAI0Z,YAAc,SAC9Cj8hB,EACAsH,EACA2E,EACA5iC,EACA4re,EACAC,EACA33e,GAAAA,GAGEF,MAAM2iC,IACN3iC,MAAMiqC,IACNjqC,MAAM4uC,IACN5uC,MAAMgM,IACNhM,MAAM43e,IACN53e,MAAM63e,KACLulF,GAAal9jB,GAAAA,MAER,IAAIlL,MAAM,qDAEd6pkB,EAAS,EAAI,GAAMlxjB,KAAKmxjB,MAAQ,UAEpClnF,EAAKjqe,KAAKoK,IAAI6/d,EAAQ,GAAJhpc,GAClBipc,EAAKlqe,KAAKoK,IAAI8/d,EAAQ,GAAJ7re,GAAAA,KAEbwkK,MACH,CACE,CAAC5hI,EAAI,EAAIgpc,EAAI,GACb,CAACA,EAAKinF,EAAO,EAAGjnF,EAAIC,EAAKA,EAAKgnF,EAAOjnF,EAAIC,GACzC,CAAC,EAAG7re,EAAI,EAAI6re,GACZ,CAAC,EAAGA,EAAKgnF,GAASjnF,EAAKinF,EAAQhnF,GAAKD,EAAIC,GACxC,CAAM,EAAID,EAARhpc,EAAY,GACd,EAAGgpc,EAAKinF,EAAQ,GAAIjnF,GAAMC,EAAKgnF,GAASjnF,GAAKC,GAC7C,CAAC,EAAQ,EAAIA,EAAR7re,GACL,CAAC,GAAK6re,EAAKgnF,EAAQjnF,EAAKinF,GAAQhnF,EAAID,GAAKC,IAE3Cl1c,EAAIi1c,EACJ3tc,EAAAA,CACC,EAAG,GACJ/pC,GAAAA,GAGKrL,IAAAA,EAwBTqwjB,EAAIE,YAAY2Z,QAAU7Z,EAAI6Z,QAAU,SAASp8hB,EAAGsH,EAAG2tc,EAAIC,EAAI33e,GAAAA,GAE3DF,MAAM2iC,IACN3iC,MAAMiqC,IACNjqC,MAAM43e,IACN53e,MAAM63e,KACLulF,GAAal9jB,GAAAA,MAER,IAAIlL,MAAM,iDAEdgqkB,EAAM,EAAI,GAAMrxjB,KAAKmxjB,MAAQ,GAAKlnF,EACpCqnF,EAAM,EAAI,GAAMtxjB,KAAKmxjB,MAAQ,GAAKjnF,EAAAA,OAEpC93U,GAAOp9H,EAAIi1c,EAAI3tc,GACfk0hB,GAAQx7hB,EAAIi1c,EAAI3tc,EAAIg1hB,EAAIt8hB,EAAIq8hB,EAAI/0hB,EAAI4tc,EAAIl1c,EAAGsH,EAAI4tc,GAC/CsmF,GAAQx7hB,EAAIq8hB,EAAI/0hB,EAAI4tc,EAAIl1c,EAAIi1c,EAAI3tc,EAAIg1hB,EAAIt8hB,EAAIi1c,EAAI3tc,GAChDk0hB,GAAQx7hB,EAAIi1c,EAAI3tc,EAAIg1hB,EAAIt8hB,EAAIq8hB,EAAI/0hB,EAAI4tc,EAAIl1c,EAAGsH,EAAI4tc,GAC/CsmF,GAAQx7hB,EAAIq8hB,EAAI/0hB,EAAI4tc,EAAIl1c,EAAIi1c,EAAI3tc,EAAIg1hB,EAAIt8hB,EAAIi1c,EAAI3tc,GAEhD2zhB,GAAS19jB,GACFrL,IAAAA,EAuBTqwjB,EAAIE,YAAY8Z,OAASha,EAAIga,OAAS,SAASv8hB,EAAGsH,EAAGzzB,EAAGtW,GAAAA,GAClDF,MAAM2iC,IAAM3iC,MAAMiqC,IAAMjqC,MAAMwW,KAAO4mjB,GAAal9jB,GAAAA,MAC9C,IAAIlL,MAAM,mDAEXH,KAAKkqkB,QAAQp8hB,EAAGsH,EAAGzzB,EAAGA,EAAGtW,EAAAA,EAgBlCgljB,EAAIia,QAAU,SAAS3J,EAAUlvM,EAAW5iK,GAAAA,OACtCA,IACF4iK,EAAYkiM,EAA8BliM,EAAW5iK,IAEvDkpW,GAAgBsK,GAAQ1B,EAAUlvM,EAAW,CAC3C8wM,gBAAgB,IAEXvikB,IAAAA,EAAAA,IAYLuqkB,GAAgBla,EAAIE,YAAY8R,QAAUhS,EAAIgS,QAAU,kBACnDpK,GAAMoK,GAAQ/sjB,MAAM+6iB,EAAKhvjB,WAAAA,EAclCgvjB,EAAIE,YAAYia,YAAcna,EAAIma,YAAc,eAE5C7J,EACAlvM,EAFE7hT,EAAO,CAAC,EAAD,IAIN+wf,KAAYzI,GAAAA,GACXA,GAAQ/3iB,eAAewgjB,GAAAA,IAEpBlvM,KADL7hT,EAAK+wf,GAAY,GACCzI,GAAQyI,GACpBzI,GAAQyI,GAAUxgjB,eAAesxW,IACnC7hT,EAAK+wf,GAAUl+jB,KAAKgvX,GAAAA,OAKrB7hT,CAAAA,EAiBTygf,EAAIuQ,QAAU,SACZpC,EACAmC,EACAlvM,EACA5iK,EACA4vW,GAAAA,IAEIgM,EAAkB,CACpB,mBACA,mBACA,aACA,0BAEEppkB,UAAU,KAAiD,IAA3CopkB,EAAgB/mkB,QAAQrC,UAAU,IAEpDo9jB,EAAWp9jB,UAAU,GACZA,UAAU,KAAgD,GAA1CopkB,EAAgB/mkB,QAAQrC,UAAU,MAC3DowX,EAAYkiM,EAA8BliM,EAAW5iK,IAGhD+xW,GAAQhtjB,KAAK5T,KAAMw+jB,EAAgBmC,EAAUlvM,EADpDgtM,EAAWA,GAAY,aACwCA,EAAAA,IAuE7DgH,GApEAjxN,GAAYx9V,EAAQw9V,WAAa,QAUjCk2N,GAAgBra,EAAIE,YAAYma,aAAera,EAAIqa,aAAe,kBAC7Dl2N,EAAAA,EAaLutN,GAAgB1R,EAAIE,YAAYwR,aAAe1R,EAAI0R,aAAe,SACpEvyiB,GAAAA,OAEAglV,GAAYhlV,EACZkwF,EAAIo0c,EAAI5ghB,EAAM1jB,IAAU,MACjBxvB,IAAAA,EAiBTqwjB,EAAIE,YAAYoa,YAAchb,GAAMU,IAAIsa,YAAchb,GAAMU,IAAIua,mBAAqB,SACnFC,EACAC,GAAAA,GAEAD,EAAYA,GAAa,GACzBC,EAAYA,GAAa,EAErB3/jB,MAAM2/jB,KAAez1jB,MAAM8C,QAAQ0yjB,GAAAA,MAC/B,IAAI1qkB,MAAM,wDAGlB0qkB,EAAYA,EACTnojB,KAAI,SAASorB,GAAAA,OACLgmhB,EAAI5ghB,EAAMpF,GAAAA,IAElBpyB,KAAK,KACRovjB,EAAYhX,EAAI5ghB,EAAM43hB,IAEtBprd,EAAI,IAAMmrd,EAAY,KAAOC,EAAY,MAClC9qkB,IAAAA,EAAAA,IAKLmiX,GAAiBkuM,EAAIE,YAAYpuM,cAAgBkuM,EAAIluM,cAAgB,kBAChEo0M,GAAiBkP,EAAAA,EAG1BpV,EAAIE,YAAYpuM,cAAgBkuM,EAAIluM,cAAgB,kBAC3Co0M,GAAiBkP,EAAAA,EAAAA,IAatBsF,GAAuB1a,EAAIE,YAAYwa,oBAAsB1a,EAAI0a,oBAAsB,SACzFnnkB,GAAAA,MAGqB,iBADrBA,EAAQA,GAAS,QAEf6hkB,GAAmB7hkB,GAEd5D,IAAAA,EAYLgrkB,GAAuB3a,EAAIE,YAAYya,oBAAsB3a,EAAI2a,oBAAsB,kBAClFvF,EAAAA,EAGTsF,GAAoB/zjB,EAAQ2+R,YAAAA,IAExB+xR,GAA2BrX,EAAIE,YAAYmX,wBAA0B,SACvE9jkB,GAAAA,OAEOsvC,EAAMtvC,EAAAA,EAGX+jkB,GAAyBtX,EAAIE,YAAYoX,sBAAwB,SACnE/jkB,GAAAA,OAEImvjB,IAAYD,EACPlvjB,EAGL40jB,GAAapuE,GAAaozE,SAASI,UACnCpF,GAAapuE,GAAaozE,SAASE,YACjBxqhB,EAAMtvC,EAAAA,EAI1BqnkB,GAAiC5a,EAAIE,YAAY0a,8BAAgC5a,EAAI4a,8BAAgC,SACvHrnkB,GAAAA,OAEOkwjB,EAAI4T,GAAwB9jkB,GAAAA,EAGjCsnkB,GAA+B7a,EAAIE,YAAY2a,4BAA8B7a,EAAI6a,4BAA8B,SACjHtnkB,GAAAA,OAEOkwjB,EAAI6T,GAAsB/jkB,GAAAA,EAG/B6pM,GAAcz2L,EAAQy2L,aAAe,MAWzC4iX,EAAIE,YAAY4a,eAAiB9a,EAAI+a,aAAe,kBAC3C3P,GAAkBhuX,GAAAA,EAyC3B4iX,EAAIE,YAAY8a,eAAiBhb,EAAIib,aAAe,SAClDxP,EACAC,EACAC,EACAC,GAAAA,OAWAxuX,GAAcouX,GATA,CACZC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLE,aAAc,OACdx0U,UAAW,IAIbjoI,EAAI+tF,IACGztM,IAAAA,EAAAA,IAGL8vY,GAAY94X,EAAQ84X,WAAa,MAWrCugL,EAAIE,YAAYgb,aAAelb,EAAIkb,aAAe,kBACzC9P,GAAkB3rL,GAAAA,EAyC3BugL,EAAIE,YAAYib,aAAenb,EAAImb,aAAe,SAChD1P,EACAC,EACAC,EACAC,GAAAA,OAWAnsL,GAAY+rL,GATE,CACZC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLE,aAAc,OACdx0U,UAAW,IAIbjoI,EAAIowR,IACG9vY,IAAAA,EAAAA,IAGL0nZ,GAAY1wY,EAAQ0wY,WAAa,MAUjC+jL,GAAgBpb,EAAIE,YAAYkb,aAAepb,EAAIob,aAAe,kBAC7DhQ,GAAkB/zK,GAAAA,EAwC3B2oK,EAAIE,YAAYmb,aAAerb,EAAIqb,aAAe,SAChD5P,EACAC,EACAC,EACAC,GAAAA,OAUAv0K,GAAYm0K,GARE,CACZC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLE,aAAc,OACdx0U,UAAW,IAIN3nP,IAAAA,EAAAA,IAGL0mkB,GAAkB1vjB,EAAQoujB,UAW1BwB,GAAgBvW,EAAIE,YAAYqW,aAAevW,EAAIuW,aAAe,kBAC7Dh5hB,WAAW84hB,IAAmB,IAavCrW,EAAIE,YAAYoW,aAAetW,EAAIsW,aAAe,SAASvB,GAAAA,GACrDj6jB,MAAMi6jB,GAAAA,MACF,IAAIjlkB,MAAM,wDAElBumkB,GAAkBtB,EACXplkB,IAAAA,EAAAA,IAGLgikB,GAAY,EAShB3R,EAAIsb,cAAgB,GACf,EACHC,KAAM,EACNC,IAAK,EACLC,MAAO,IACJ,EACHtthB,MAAO,EACPuthB,QAAS,EACT1B,OAAQ,IACL,EACH2B,WAAY,EACZC,QAAS,EACTC,OAAQ,EACRC,MAAO,GAcT9b,EAAIE,YAAY6b,WAAa/b,EAAI+b,WAAa,SAAS/gkB,GAAAA,IACjD1G,EAAK0rjB,EAAIsb,cAActgkB,GAAAA,QAAAA,IACvB1G,EAAAA,MACI,IAAIxE,MACR,sBACEkL,EACA,sFAGN22jB,GAAYr9jB,EACZ+6G,EAAI/6G,EAAK,MAEF3E,IAAAA,EAAAA,IAGLiikB,GAAa,EAYjB5R,EAAIE,YAAY8b,YAAchc,EAAIgc,YAAc,SAAShhkB,GAAAA,IACnD1G,EAAK0rjB,EAAIsb,cAActgkB,GAAAA,QAAAA,IACvB1G,EAAAA,MACI,IAAIxE,MACR,uBACEkL,EACA,sFAGN42jB,GAAat9jB,EACb+6G,EAAI/6G,EAAK,MAEF3E,IAAAA,EAcTqwjB,EAAIE,YAAY+b,kBAAoBjc,EAAIE,YAAYgc,cAAgBlc,EAAIic,kBAAoBjc,EAAIkc,cAAgB,SAC9GzrkB,GAAAA,GAEAA,EAASA,GAAU,EACfqK,MAAMrK,GAAAA,MACF,IAAIX,MAAM,6DAElBu/G,EAAIo0c,EAAI5ghB,EAAMpyC,IAAW,MAElBd,IAAAA,EAcTqwjB,EAAItB,OAASA,GAWbsB,EAAI+Y,UAAY,SAASja,IAErBA,EADoB,iBAAXA,EACAkJ,GAAQC,GAAWnJ,IAEnBqd,GAAU,KAAMrd,IAGf7tM,OAAOi3M,MACjB74c,EAAI,IAAMyvc,EAAOxqjB,GAAK,OACtB4zjB,GAAepJ,EAAAA,EAAAA,IASfqd,GAAY,SAASxrkB,EAAKmujB,GAAAA,IAExBnujB,IAAOs3jB,GAAWt3jB,GAAAA,CAAAA,IAClByrkB,GAAAA,EAAY,IACX,IAAIrqjB,KAAKi2iB,GAAAA,GACRA,GAAQl4iB,eAAeiC,IACrBi2iB,GAAQj2iB,GAAGk/V,OAAO6tM,GAAS,CAC7Bsd,GAAAA,EAAY,SAMdA,EACFtd,EAASkJ,GAAQj2iB,OACZ,KACD69iB,EAAY,MAAQv/jB,OAAOE,KAAKy3jB,IAASv3jB,OAAS,GAAGuY,SAAS,IAClEg/iB,GAAQ4H,GAAa9Q,EACrBA,EAAOxqjB,GAAKs7jB,CAAAA,CAAAA,OAIdj/jB,IAAQs3jB,GAAWt3jB,GAAOmujB,EAAOxqjB,IAEjCipB,GAAOihiB,QAAQ,YAAaM,GAErBA,CAAAA,CAAAA,EAcTkB,EAAImc,UAAY,SAASxrkB,EAAKmujB,GAAAA,OAC5Bqd,GAAUxrkB,EAAKmujB,GACRnvjB,IAAAA,EAYTqwjB,EAAI6C,kBAAoB,kBACtBxzc,EAAI,KAEJy4c,GAAe11jB,KAAK,CAClBzB,IAAK+2jB,GACLh9hB,KAAMw7hB,GACN1zX,MAAO6kN,KAEF1nZ,IAAAA,EAUTqwjB,EAAIqD,qBAAuB,WACzBh0c,EAAI,SAGAgtd,EAAYvU,GAAep5iB,MAAAA,OAC/Bg5iB,GAAgB2U,EAAU1rkB,IAC1Bu1jB,GAAiBmW,EAAU3xiB,KAC3B2sX,GAAYglL,EAAU7pY,MAEtB01X,GAAe,KAERv4jB,IAAAA,EAYTqwjB,EAAIsc,+BAAiC,SAAS1shB,GAAAA,OAC5Cy/D,EAAIz/D,EAAO5mC,WAAa,OACjBrZ,IAAAA,EAYTqwjB,EAAIxkN,QAAU,SAAS3jW,GAAAA,OACrBw3G,EAAI,IAAMx3G,GACHlI,IAAAA,EAAAA,IAMLwwM,GAAQ,SAAS1iK,EAAGsH,GAAAA,IAClBk3S,EAAKx+S,GAAK,EACdptC,OAAO8V,eAAexW,KAAM,IAAK,CAC/B8hB,YAAY,EACZxX,IAAK,kBACIgiV,CAAAA,EAETryT,IAAK,SAASr2B,GACPuH,MAAMvH,KACT0oV,EAAK1+S,WAAWhqC,GAAAA,IAAAA,IAKlBgpkB,EAAKx3hB,GAAK,EACd10C,OAAO8V,eAAexW,KAAM,IAAK,CAC/B8hB,YAAY,EACZxX,IAAK,kBACIsikB,CAAAA,EAET3yiB,IAAK,SAASr2B,GACPuH,MAAMvH,KACTgpkB,EAAKh/hB,WAAWhqC,GAAAA,IAAAA,IAKlBipkB,EAAQ,YACZnskB,OAAO8V,eAAexW,KAAM,OAAQ,CAClC8hB,YAAY,EACZxX,IAAK,kBACIuikB,CAAAA,EAET5yiB,IAAK,SAASr2B,GACZipkB,EAAQjpkB,EAAMyV,UAAAA,IAGXrZ,IAAAA,EAMLm6jB,GAAY,SAASrshB,EAAGsH,EAAG2E,EAAG5iC,GAChCq5L,GAAM58L,KAAK5T,KAAM8tC,EAAGsH,GAAAA,KACf/sC,KAAO,WAER2jR,EAAKjyO,GAAK,EACdr5C,OAAO8V,eAAexW,KAAM,IAAK,CAC/B8hB,YAAY,EACZxX,IAAK,kBACI0hR,CAAAA,EAET/xP,IAAK,SAASr2B,GACPuH,MAAMvH,KACTooR,EAAKp+O,WAAWhqC,GAAAA,IAAAA,IAKlB29b,EAAKpqb,GAAK,SACdzW,OAAO8V,eAAexW,KAAM,IAAK,CAC/B8hB,YAAY,EACZxX,IAAK,kBACIi3b,CAAAA,EAETtna,IAAK,SAASr2B,GACPuH,MAAMvH,KACT29b,EAAK3zZ,WAAWhqC,GAAAA,IAKf5D,IAAAA,EAOL8skB,GAAe,gBACZlxZ,KAAOA,GAAAA,KACPwuU,YAAcA,EAAAA,KACd0rE,MAAQA,EAAM19iB,MAAM,QACpBogjB,aAAeA,GAAapgjB,MAAM,QAClC01B,EAAIyO,GAAAA,KACJnH,EAAIoH,GAAAA,KACJyD,OAAS+3gB,GAAAA,KACTxoiB,MAAQu9iB,GAAa3iF,GAAAA,KACrB36d,OAAS4jiB,GAAcjpE,GAAAA,KACvB4rE,kBAAoBA,EAAAA,KAEpBrxjB,GAAK,QACLsqjB,cAAgB,GAGvB6d,GAAa96jB,UAAU+ojB,QAAU,WAC/Bn/Y,GAAO57K,KAAK47K,KACZwuU,EAAcpqf,KAAKoqf,YACnBouE,GAAex4jB,KAAKw4jB,aACpB1C,EAAQ91jB,KAAK81jB,MACbv5gB,GAAQv8C,KAAK8tC,EACb0O,GAAQx8C,KAAKo1C,EACb4ihB,GAAah4jB,KAAKigD,OAClB+shB,GAAa5iF,EAAapqf,KAAKwvB,OAC/By9iB,GAAc7iF,EAAapqf,KAAKyvB,QAChCumiB,EAAoBh2jB,KAAKg2jB,iBAAAA,EAAAA,IAGvB6E,GAAuB,SAAS/shB,EAAGsH,EAAG5lB,EAAOC,EAAQwwB,GAEvD24gB,GAAkBn2jB,KAAK,IAAIqqkB,IAG3BlxZ,GAAOwuU,EAAc,EACrB0rE,EAAQ,GACRv5gB,GAAQzO,EACR0O,GAAQpH,EAER4ihB,GAAa/3gB,EAEbyhhB,GAAU,CAAClyiB,EAAOC,GAAAA,EAsBMsriB,IAoIrB,IAAImS,MAhHT7c,EAAI8c,gBAAkB,SAASr/hB,EAAGsH,EAAG5lB,EAAOC,EAAQwwB,GAAAA,OAQlD46gB,GAAqB/shB,EAAGsH,EAAG5lB,EAAOC,EAAQwwB,GACnCjgD,IAAAA,EAWTqwjB,EAAI+c,cAAgB,SAASpskB,GAAAA,OA3DT,SAASA,GAAAA,GAEvB23jB,GAAgB33jB,GAClB43jB,GAAkB75iB,MAAMg8iB,cAAAA,CAAAA,IAKtBsS,EAAa,IAAIP,GAEjBQ,EAAY,MAAQ5skB,OAAOE,KAAK83jB,IAAe53jB,OAAS,GAAGuY,SAAS,IACxEg0jB,EAAW1okB,GAAK2okB,EAEhB3U,GAAgB33jB,GAAOsskB,EACvB5U,GAAc4U,GAAaD,EAE3Bz/iB,GAAOihiB,QAAQ,gBAAiBwe,GAGhCzU,GAAkB75iB,MAAMg8iB,SAAAA,CAAAA,CAyCxBqS,CAAcpskB,GACPhB,IAAAA,EAeTqwjB,EAAIkd,aAAe,SAASvskB,EAAKi/C,GAAAA,IAC3B0+gB,EAAUjG,GAAcC,GAAgB33jB,IAAAA,OAC5C0+G,EAAI,KACJA,EAAIz/D,EAAO5mC,WAAa,OACxBqmG,EAAI,IAAMi/c,EAAQh6jB,GAAK,OACvB+6G,EAAI,KACG1/G,IAAAA,EAYTqwjB,EAAImd,cAAgB,SAASxskB,GAAAA,IACvB29jB,EAAUjG,GAAcC,GAAgB33jB,IAAAA,MACrC,CACL8sC,EAAG6whB,EAAQ7whB,EACXsH,EAAGuphB,EAAQvphB,EACX5lB,MAAOmviB,EAAQnviB,MACfC,OAAQkviB,EAAQlviB,OAChBwwB,OAAQ0+gB,EAAQ1+gB,OAAAA,EAepBowgB,EAAIoT,KAAO,SAASD,EAAUxsjB,GAAAA,OAC5BwsjB,EAAWA,GAAY,iBAEvBxsjB,EAAUA,GAAW,CAAC,GACd4jV,cAAgB5jV,EAAQ4jV,gBAAiB,OAE7C5jV,EAAQ4jV,eACVkwN,GAAOsY,GAAQH,MAAkBO,GACJ,mBAAlB1Y,GAAO2iB,QACZ9iB,GAAahgjB,YACfA,WAAWmgjB,GAAO2iB,OAAQ,KAGvBztkB,MAEA,IAAIiN,SAAQ,SAASC,EAASC,GAAAA,IAAAA,IAE7B0S,EAASiriB,GAAOsY,GAAQH,MAAkBO,GACjB,mBAAlB1Y,GAAO2iB,QACZ9iB,GAAahgjB,YACfA,WAAWmgjB,GAAO2iB,OAAQ,KAG9BvgkB,EAAQ2S,EAAAA,CACR,MAAOjd,GACPuK,EAAOvK,EAAE6G,QAAAA,CAAAA,GAAAA,EAUEkmjB,GAAMU,IACnBV,GAAMU,IAAIlwiB,eAAe+sjB,MACZ,WAAXA,IAAuBvd,GAAMU,IAAIziiB,OAAO9sB,OAAAA,SAChC8sB,EAAQ8/iB,GAAAA,IAMZC,EAAWC,EAAkBpokB,EAAAA,IAE5BA,EAAIkokB,EAAU5skB,OAAS,GAAU,IAAP0E,EAAUA,IAMvCmokB,EAAYD,EAAUlokB,GAAG,GACzBookB,EAAmBF,EAAUlokB,GAAG,GAChCooB,EAAOvc,UAAUiE,MACfsY,EACA,CAAC+/iB,GAAWjkkB,OACkB,mBAArBkkkB,EACH,CAACA,GACDA,GAAAA,CAtB8B9skB,CA0BvC8sB,GAAQ+hiB,GAAMU,IAAIziiB,QAErByiiB,EAAI6c,IAAUvd,GAAMU,IAAI6c,KAAAA,IAK1BH,GAAgB1c,EAAI0c,aAAe,SAAS3P,GAAAA,OAG3C5E,GAFH4E,EAAaA,GAAchzE,GAECozE,SAASG,UACjCnF,GAAa4E,GAAYI,SAASC,aACpCrK,EAAAA,EAIA4Z,GAAgB3c,EAAI2c,aAAe,SAAS5P,EAAYx5jB,GAC1D40jB,GAAa4E,GAAYI,SAASG,UAChC/5jB,EAAQwvjB,GAAcoF,GAAa4E,GAAYI,SAASC,WAAAA,EAGxDpK,GAAiBhD,EAAIgD,cAAgB,SAAS+J,GAAAA,OAG7C5E,GAFH4E,EAAaA,GAAchzE,GAECozE,SAASI,UACjCpF,GAAa4E,GAAYI,SAASE,aACpCtK,EAAAA,EAIA6Z,GAAiB5c,EAAI4c,cAAgB,SAAS7P,EAAYx5jB,GAC5D40jB,GAAa4E,GAAYI,SAASI,UAChCh6jB,EAAQwvjB,GAAcoF,GAAa4E,GAAYI,SAASE,WAAAA,EAAAA,OAQ5DrN,EAAIC,SAAW,CACbyQ,UAAWA,GACXzwL,SAAUA,GACV+xL,QAASkI,GACThX,YAAaA,GACbqT,aAAcA,GACd6E,aAAcA,GACdtpN,cAAeA,GACf6oN,oBAAqBA,GACrBN,aAAcA,GACd7ujB,MAAOA,EACP6rjB,wBAAyBA,GACzBC,sBAAuBA,GACvBkG,oBAAqB5C,GACrBC,4BAA6BA,GAC7B4C,YAAa,CAAC,EACd9S,UAAWA,GACXK,oBAAqBA,GACrBH,kBAAmBA,GACnBC,uBAAwBA,GACxBkB,WAAYA,GACZC,UAAWA,GACX1uiB,OAAQA,GACRwliB,YAAaA,GACbj9d,SAAU,CACRj5C,SAAU,kBACD6vhB,GAAa3iF,EAAAA,EAEtBhpa,SAAU,SAASx9E,GACjBopkB,GAAa5iF,EAAaxmf,EAAAA,EAE5By5C,UAAW,kBACFg2gB,GAAcjpE,EAAAA,EAEvB/oa,UAAW,SAASz9E,GAClBqpkB,GAAc7iF,EAAaxmf,EAAAA,GAG/BmsjB,kBAAmBA,EACnBE,WAAYA,GACZ8d,aAzqFiB,SAASrR,GAAAA,OACA,OAAtB3M,EACKE,GAAW0M,UAAUD,EAAU,GAEjC,SAASpvjB,GAAAA,OACPA,CAAAA,CAAAA,EAqqFTu3Q,OAAQA,GACRu9S,iBAAkBA,GAClBtM,MAAOA,EACPp2c,IAAKA,EACLy0c,GAAIA,EACJC,GAAIA,EACJoQ,YAAaA,GACbE,mBAAoBA,GACpBC,mBAAoBA,GACpBqJ,cAAevd,EACfjgX,MAAOA,GACP2pX,UAAWA,GACXhH,OAAQA,GACRmR,UAAWA,IAGb5jkB,OAAO8V,eAAe65iB,EAAIC,SAASn6d,SAAU,QAAS,CACpD7rF,IAAK,kBACIyikB,GAAa3iF,EAAAA,EAEtBnwd,IAAK,SAASr2B,GACZopkB,GAAa5iF,EAAaxmf,EAAAA,EAE5Bke,YAAY,EACZgH,cAAc,IAEhBpoB,OAAO8V,eAAe65iB,EAAIC,SAASn6d,SAAU,SAAU,CACrD7rF,IAAK,kBACI+ojB,GAAcjpE,EAAAA,EAEvBnwd,IAAK,SAASr2B,GACZqpkB,GAAc7iF,EAAaxmf,EAAAA,EAE7Bke,YAAY,EACZgH,cAAc,IAl+GD,SAASmljB,GAAAA,IACjB,IAAIzokB,EAAI,EAAG4N,EAAIijjB,GAAcv1jB,OAAQ0E,EAAI4N,EAAG5N,IAAK,KAChDq6jB,EAAUe,GAAQhtjB,KACpB5T,KACAiukB,EAAazokB,GAAG,GAChByokB,EAAazokB,GAAG,GAChByokB,EAAazokB,GAAG,GAChB6wjB,GAAc7wjB,GAAG,QACjB,IAGE2qjB,IACFC,EAAUyP,IAAAA,GAAW,IAGnBvkjB,EAAQ2yjB,EAAazokB,GAAG,GAAGnC,MAAM,KACrCq9jB,GAAwB,CACtB/7jB,GAAIk7jB,EACJc,SAAUrljB,EAAM,GAChBm2W,UAAWn2W,EAAM,IAAM,KAG3BsS,GAAOihiB,QAAQ,WAAY,CACzBoJ,MAAOA,GACPiW,WAAYhW,IAAAA,EAi9GPtkjB,KAAKy8iB,EAAKgG,IACnB0B,GAAgB,KAChB6J,GAASt1iB,EAAQq8B,GAEjB/6B,GAAOihiB,QAAQ,eACRwB,CAAAA,CF9zLT1C,GAAY37iB,UAAUs8iB,aAAe,SAAShhjB,GAAAA,OACrCkU,OAAO0wD,aACE,IAAb5kE,EACAA,GAAQ,EAAK,IACbA,GAAQ,GAAM,IACdA,GAAQ,GAAM,MAYnBqgjB,GAAY37iB,UAAUmtW,YAAc,SAASgvN,GAAAA,OACpCA,EACJ9qkB,MAAM,IACNqf,KAAI,SAAS0rjB,GAAAA,OACJ,KAA4B,IAArBA,EAAKptjB,WAAW,IAAW3H,SAAS,KAAKjB,OAAO,MAEhEsD,KAAK,KAWViyiB,GAAY37iB,UAAUu8iB,WAAa,SAAStpX,GAAAA,IACrC,IAAIopY,EAAQ,GAAI16jB,EAAI,EAAGA,EAAIsxL,EAAInkM,OAAQ6S,GAAK,EAC/C06jB,EAAM5rkB,KAAK+e,OAAO0wD,aAAavvD,SAASsiL,EAAIhnL,OAAOtK,EAAG,GAAI,aACrD06jB,EAAM3yjB,KAAK,KAYpBiyiB,GAAY37iB,UAAUo8iB,qBAAuB,SAC3CF,EACAC,GAAAA,OAGOb,GADGH,GAAOgB,GAAqBlwiB,OAAO,EAAG,GAChCiwiB,EAAAA,EAiBlBP,GAAY37iB,UAAU2qjB,UAAY,SAASD,EAAU4R,GAAAA,IAC/CttkB,EAAMmsjB,GACRntjB,KAAKqujB,cACH7siB,OAAO0wD,aACM,IAAXwqf,EACCA,GAAY,EAAK,IACjBA,GAAY,GAAM,IACN,IAAb4R,EACCA,GAAc,EAAK,MAExBrwjB,OAAO,EAAG,WACL,SAAS3Q,GAAAA,OACPggjB,GAAItsjB,EAAKsM,EAAAA,CAAAA,EExCpByhjB,GAAO/8iB,UAAUsvW,OAAS,SAAgBx8K,GAAAA,IAEpC3iL,EADAwjV,EAAS,6BAER7gK,IAASgtI,EAAAA,EAAAA,GAAOhtI,MAAAA,EAAAA,EAAAA,GAAiB9kM,MAAM,OAAO,MAC/CipF,EAAQ,MACP9mE,KAAKniB,KAAM,KACV2lW,EAAOjiW,QAAQye,IAAM,OACrBniB,KAAKmgB,eAAegC,KAAO2iL,EAAM3kL,eAAegC,GAAI,OAAO,KAC3DniB,KAAKmiB,KAAO2iL,EAAM3iL,GAAI,OAAO,EACjC8mE,GAAAA,CAAAA,IAEG9mE,KAAK2iL,EACJA,EAAM3kL,eAAegC,IAAMwjV,EAAOjiW,QAAQye,GAAK,GAAG8mE,IAAAA,OAEvC,IAAVA,CAAAA,EA+xLT0me,GAAMU,IAAM,CACVziiB,OAAQ,IAQV+hiB,GAAMzwiB,QAAU,QC35LhB,IAAIqvjB,GAAW5e,GAAMU,IACjB+C,GAAc,EAEd2N,GAAY,SAASn9jB,GAAAA,OAChBA,EACJ8H,QAAQ,MAAO,QACfA,QAAQ,MAAO,OACfA,QAAQ,MAAO,QAEhB8ikB,GAAc,SAAS5qkB,GAAAA,OAClBA,EACJ8H,QAAQ,QAAS,MACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,MAGlByojB,GAAK,SAASl+iB,GAAAA,OACTA,EAAO6xO,QAAQ,IAGpB2mV,GAAK,SAASx4jB,GAAAA,OACTA,EAAO6xO,QAAQ,IAGxBymV,GAASG,aAAe,CAAC,EACzB,IAAI9qhB,GAAU,SAASj8C,EAAO43C,GAC5B53C,EAAMqK,UAAYtR,OAAOwR,OAAOqtC,EAAOvtC,WACvCrK,EAAMqK,UAAU7Q,YAAcwG,CAAAA,EAG5BurC,GAAQ,SAASpF,GAAAA,OACZA,EAAIslhB,EAAAA,EAGTub,GAAoB,SAASC,GAAAA,IAC3BC,EAAO,IAAIC,GACXr/iB,EAASs/iB,GAAmBze,SAASjzgB,UAAUuxhB,IAAe,EAC9Dp/iB,EAAQu/iB,GAAmBze,SAASpzgB,SAAS0xhB,IAAe,SAChEC,EAAKG,KAAO,CAAC,EAAG,EAAG9jkB,OAAOipjB,GAAG3kiB,IAAStkB,OAAOipjB,GAAG1kiB,KACzCo/iB,CAAAA,EAMLI,GAAUV,GAASG,aAAaO,OAAS,SAASh5jB,EAAQi5jB,GAAAA,GAC5Dj5jB,EAASA,GAAU,EACnBi5jB,EAAcA,GAAe,EAEzB/jkB,MAAM8K,IAAW9K,MAAM+jkB,GAAAA,MACnB,IAAI/ukB,MACR,oEAKJ8V,EAFc,GAAKi5jB,CAAAA,EAOjBC,GAAYZ,GAASG,aAAaS,SAAW,SAASl5jB,EAAQi5jB,GAAAA,GAChEj5jB,EAASA,GAAU,EACnBi5jB,EAAcA,GAAe,EAEzB/jkB,MAAM8K,IAAW9K,MAAM+jkB,GAAAA,MACnB,IAAI/ukB,MACR,sEAKJ8V,IAFc,GAAKi5jB,EAAAA,EAOjBE,GAAUb,GAASG,aAAaU,OAAS,SAASn5jB,EAAQi5jB,GAAAA,GACxD/jkB,MAAM8K,IAAW9K,MAAM+jkB,GAAAA,MACnB,IAAI/ukB,MACR,oEAGqC,IAAjC8V,EAAU,GAAKi5jB,GAAsB,EAAI,GAM/CG,GAAgBd,GAASG,aAAaW,aAAe,SACvDp5jB,EACAi5jB,GAAAA,GAEI/jkB,MAAM8K,IAAW9K,MAAM+jkB,GAAAA,MACnB,IAAI/ukB,MACR,0EAGGivkB,GAAOn5jB,EAAQi5jB,EAAc,IAGlCI,GAAgBf,GAASG,aAAaY,aAAe,SACvDr5jB,EACAi5jB,GAAAA,GAEI/jkB,MAAM8K,IAAW9K,MAAM+jkB,GAAAA,MACnB,IAAI/ukB,MACR,0EAGG8ukB,GAAOh5jB,EAAQi5jB,EAAc,IAGlCK,GAAkBhB,GAASG,aAAaa,eAAiB,SAC3Dt5jB,EACAi5jB,GAAAA,GAEI/jkB,MAAM8K,IAAW9K,MAAM+jkB,GAAAA,MACnB,IAAI/ukB,MACR,4EAGGgvkB,GAASl5jB,EAAQi5jB,EAAc,IAGpCM,GAAwBjB,GAASG,aAAac,qBAAuB,SACvEr0jB,EACAmqV,GAAAA,IAEIoiO,EAA0BpiO,EAAMgrN,SAASoX,wBACzCC,EAAwBriO,EAAMgrN,SAASqX,sBACvC75hB,EAAI3yB,EAAK,GACTi6B,EAAIj6B,EAAK,GACT4+B,EAAI5+B,EAAK,GACThE,EAAIgE,EAAK,GAETs0jB,EAAc,CAAC,EAAD,OAElBA,EAAYC,YAAchI,EAAwB55hB,IAAM,EACxD2hiB,EAAYE,YAAchI,EAAsBvyhB,EAAIj+B,IAAM,EAC1Ds4jB,EAAYG,aAAelI,EAAwB55hB,EAAIiM,IAAM,EAC7D01hB,EAAYI,aAAelI,EAAsBvyhB,IAAM,EAEhD,CACLlqC,OAAOipjB,GAAGsb,EAAYC,cACtBxkkB,OAAOipjB,GAAGsb,EAAYE,cACtBzkkB,OAAOipjB,GAAGsb,EAAYG,eACtB1kkB,OAAOipjB,GAAGsb,EAAYI,eAAAA,EAItBC,GAA4B,SAASlB,GAAAA,GACnCA,EAAWmB,wBAAyB,OAC/BnB,EAAWmB,wBAAAA,GAGfnB,EAAWvrY,GAAMurY,EAAWoB,GAAI,CAAJA,IAM7BvgB,EAAS,GACTvnjB,EAAO0mkB,EAAWqB,IAAMrB,EAAWoB,GACnCE,EAAUC,GAAWvB,EAAY1mkB,GACjC23jB,EAAU+O,EAAWtpO,MAAMgrN,SAAS+R,QACtCuM,EAAWjO,SACXiO,EAAWn9M,WACX9sX,GAGF8qjB,EAAOhtjB,KAAK,WACZgtjB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,MACZgtjB,EAAOhtjB,KAAKmskB,EAAWtpO,MAAMirN,YAAYsL,kBAAkB+S,EAAW/rY,QACtE4sX,EAAOhtjB,KAAK,IAAMo9jB,EAAU,IAAM1L,GAAG+b,EAAQzqa,UAAY,OACzDgqZ,EAAOhtjB,KAAK,kBACZgtjB,EAAOhtjB,KAAKytkB,EAAQhokB,MACpBunjB,EAAOhtjB,KAAK,MACZgtjB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,WAERstkB,EAA0BpB,GAAkBC,GAAAA,OAChDmB,EAAwBzqO,MAAQspO,EAAWtpO,MAC3CyqO,EAAwBtgB,OAASA,EAAO/ziB,KAAK,MACtCq0jB,CAAAA,CAAAA,EAGLI,GAAa,SAASvB,EAAY1mkB,GAAAA,IAChCkokB,EACsB,IAAxBxB,EAAWnpa,SAAiBmpa,EAAWwB,YAAcxB,EAAWnpa,SAC9D+5I,EAAc,CAChBt3S,KAAM,GACNu9J,SAAU,IASR4qa,GALJnokB,EACkC,MAFlCA,EAA4B,KAArBA,EAAK+V,OAAO,EAAG,GAAY/V,EAAK+V,OAAO,GAAK/V,GAE5C+V,OAAO/V,EAAKpH,OAAS,GACtBoH,EAAK+V,OAAO,EAAG/V,EAAKpH,OAAS,GAC7BoH,GAEe7E,MAAM,KAEzBgtkB,EADEzB,EAAW0B,UACDD,EAAU3tjB,KAAI,YAAA2lU,OAAQA,EAAKhlV,MAAM,SAEjCgtkB,EAAU3tjB,KAAI,YAAA2lU,MAAQ,CAACA,EAAAA,IAAAA,IAGjC5iL,EAAW2qa,EAIX3gjB,EAASs/iB,GAAmBze,SAASjzgB,UAAUuxhB,IAAe,EAClEn/iB,EAASA,EAAS,GAAKA,EAASA,EAAAA,IAC5BD,EAAQu/iB,GAAmBze,SAASpzgB,SAAS0xhB,IAAe,EAChEp/iB,EAAQA,EAAQ,GAAKA,EAAQA,EAAAA,IAEzB+gjB,EAAqB,SAAS/qkB,EAAGgrkB,EAAU/qa,GAAAA,GACzCjgK,EAAI,EAAI6qkB,EAAUvvkB,OAAQ,KACxB0gS,EAAMgvS,EAAW,IAAMH,EAAU7qkB,EAAI,GAAG,UAC5BirkB,GAAmBjvS,EAAKotS,EAAYnpa,GAAUj2I,OAC7CA,EAAQ,UAGlB,EAIXi2I,IACAira,EAAU,KAAOjra,EAAW,GAAG,CAC7Bv9J,EAAO,GACPu9J,IAAAA,IAMIkra,EAKAzzT,EAVA0zT,EAAaH,GAAmB,IAAK7B,EAAYnpa,GAAUh2I,OAC3DohjB,EAASjC,EAAW0B,UACpB7gjB,EAASg2I,GACRh2I,EAASmhjB,GAAc,EAIxBE,EAHJD,GA3BgB,EA+BZE,EAAkB,EACpBC,EAAiB,EAEfC,EAAW,KAEXxra,GAAY,EAAG,CAGjBv9J,EAAO,aACPA,GACE,oBACAuokB,GAAmBvokB,EAAM0mkB,EAJ3Bnpa,EAAW,IAIsCj2I,MAC/C,gBACAA,EACA,WAME,IAAK,IAFPghjB,EAAW,GACXU,EAAY,EACD1rkB,EAAI,EAAGA,EAAI6qkB,EAAUvvkB,OAAQ0E,IAAAA,GACtC6qkB,EAAUlwjB,eAAe3a,GAAAA,CAAAA,IACvB2rkB,GAAAA,EAAgB,GACQ,IAAxBd,EAAU7qkB,GAAG1E,QAAgBmwkB,IAAaZ,EAAU7qkB,GAAG1E,OAAS,EAAG,KAElE8vkB,EAxDO,IAwDsBM,EAAY,GAxDlC,EAyDRzhjB,EAAAA,SAESihjB,EAGXF,GAAYH,EAAU7qkB,GAAGyrkB,GACzBE,GAAAA,EACAH,EAAiBxrkB,EACjBA,GAAAA,KACK,CAELgrkB,EAC0C,MAF1CA,GAAYH,EAAU7qkB,GAAGyrkB,GAAY,KAE1BhzjB,OAAOuyjB,EAAS1vkB,OAAS,GAC9B0vkB,EAASvyjB,OAAO,EAAGuyjB,EAAS1vkB,OAAS,GACrC0vkB,EAAAA,IACFxvkB,EAAM2hB,SAASnd,GACf4rkB,EAAoBb,EAAmBvvkB,EAAKwvkB,EAAU/qa,GACtD4ra,EAAa7rkB,GAAK6qkB,EAAUvvkB,OAAS,KAErCswkB,IAAsBC,EAAY,CACpCb,GAAY,IACZS,EAAW,WAEN,GAAKG,GAAsBC,GAe3B,GAAIA,EACTL,EAAiBhwkB,OAAAA,GAGf4tkB,EAAW0B,YACVM,EApGK,IAoGwBM,EAAY,GApGpC,EAqGJzhjB,EAAAA,SAGOihjB,MAxBiC,KACvC9B,EAAW0B,UAAW,SAChBI,EAAAA,IAGNE,EArFG,IAqF0BM,EAAY,GArFtC,EAsFJzhjB,EAAAA,SAISihjB,EAEXM,EAAiBhwkB,CAAAA,CAAAA,CAAAA,IAAAA,IAkBnBgd,EAAO,GAEF8vB,EAAIijiB,EAAiBjjiB,GAAKkjiB,EAAgBljiB,IAAK,KAClDwjiB,EAAWjB,EAAUviiB,GAAAA,GACrB8giB,EAAW0B,UAAW,IACpBxiiB,IAAMkjiB,EAAgB,CACxBhzjB,GAAQszjB,EAASL,GAAY,IAC7BA,GAAYA,EAAW,GAAKK,EAASxwkB,OAAAA,QAAAA,CAAAA,GAGnCgtC,IAAMijiB,EAAiB,CACzB/yjB,GAAQszjB,EAASA,EAASxwkB,OAAS,GAAK,cAI5Ckd,GAAQszjB,EAAS,GAAK,WAIxBtzjB,EACkC,KAAhCA,EAAKC,OAAOD,EAAKld,OAAS,GACtBkd,EAAKC,OAAO,EAAGD,EAAKld,OAAS,GAC7Bkd,EAENk/P,EAAauzT,GAAmBzyjB,EAAM4wjB,EAAYnpa,GAAUj2I,MAGpDo/iB,EAAWl9M,WAAAA,IACZ,QACHi/M,EAASnhjB,EAAQ0tP,EA1IP,YA4IP,SACHyzT,GAAUnhjB,EAAQ0tP,GAAc,QAE7B,QAEHyzT,EAjJU,EAoJdzokB,GAAQisjB,GAAGwc,GAAU,IAAMxc,GAAG2c,GAAS,QACvC5okB,GAAQ,IAAM64jB,GAAU/ijB,GAAQ,SAEhC9V,IAASisjB,GAAGwc,GAAU,UAGtBG,IAAUrra,EA3JE,GA8JZy3G,EAAa,EACb6zT,EAAkBI,EAAgBH,EAAiBA,EAAiB,EACpEE,IAEAV,EAAW,gBAOjBhxR,EAAYt3S,KAAOA,EACnBs3S,EAAY/5I,SAAWA,EAEhB+5I,CAAAA,EAULixR,GAAqB,SAASvokB,EAAM0mkB,EAAYnpa,GAAAA,IAC9C64Z,EAAOsQ,EAAWtpO,MAAMgrN,SAAS+R,QACnCuM,EAAWjO,SACXiO,EAAWn9M,WAETjiW,EACFo/iB,EAAWtpO,MAAMgiO,mBAAmBp/jB,EAAM,CACxCo2jB,KAAMA,EACN74Z,SAAU73H,WAAW63H,GACrB2/Z,UAAW,IACRx3hB,WAAW63H,GAAAA,MASX,CAAEh2I,OAPPm/iB,EAAWtpO,MAAMgiO,mBAAmB,IAAK,CACvChJ,KAAMA,EACN74Z,SAAU73H,WAAW63H,GACrB2/Z,UAAW,IAEbx3hB,WAAW63H,GACX,IACuBj2I,MAAOA,EAAAA,EAG9B+hjB,GAAyB,CAC3B1pgB,OAAQ,GACR2pgB,OAAQ,GAMRC,uBAAwB,KAMxBC,YAAY,EACZphB,SAAU,KACV16f,eAAe,GAmCb+7gB,GAA4B,SAASrviB,EAAQgjU,GAAAA,IAC3CtuV,EAAU,CACZ3O,KAAM,YACNi6B,OAAQA,QAAAA,IAMRgjU,EAAMgrN,SACHkU,YAAYliiB,EAAOs5I,MACnBqiZ,YAAY2T,YAAYzujB,MANb,SAASqkD,GAAAA,OAChBA,EAAMn/D,OAAS2O,EAAQ3O,MAAQm/D,EAAMllC,SAAWtrB,EAAQsrB,MAAAA,KAO/DgjU,EAAMgrN,SACHkU,YAAYliiB,EAAOs5I,MACnBqiZ,YAAY2T,YAAYnvkB,KAAKuU,EAAAA,EAmLhC66jB,GAAqB,SAASvsO,EAAOspO,GAAAA,GACvCA,EAAWtpO,MAAQA,OAAAA,IAEjBA,EAAMgrN,gBAAAA,IACLhrN,EAAMgrN,SAASwhB,iBAAAA,IACdxsO,EAAMgrN,SAASwhB,eAAel8gB,eAChC,IACAm8gB,GAAcC,SAAW,EACzB1sO,EAAMgrN,SAASwhB,eAAiBp3jB,KAAKC,MACnCD,KAAKG,UAAU02jB,KAEbjsO,EAAMgrN,SAASwhB,eAAeL,uBAAwB,MAClD,IAAItxkB,MAAM,+CAElBizjB,GAAc9tN,EAAMgrN,SAAS8C,YAE7B9tN,EAAMgrN,SAASwhB,eAAeL,uBAAyB,IAAIQ,GAC3D3sO,EAAMgrN,SAASwhB,eAAeL,uBAAuBnsO,MAAQA,EAG7DA,EAAMgrN,SAASwhB,eAAeL,uBAAuBS,SAAW5sO,EAAMgrN,SAAS1iiB,OAAOvc,UACpF,oBACA,YA7K2B,SAASi0V,GAExCA,EAAMgrN,SAAS1iiB,OAAOhgB,YACpB03V,EAAMgrN,SAASwhB,eAAeL,uBAAuBS,iBAEhD5sO,EAAMgrN,SAASwhB,eAAeL,uBAAuBS,SAC5D5sO,EAAMgrN,SAASwhB,eAAeJ,YAAa,EANZ,CA8KEpsO,EAAAA,IAI/BA,EAAMgrN,SAAS1iiB,OAAOvc,UAAU,iBAAiB,YA7PxB,SAASi0V,GAEpCA,EAAMgrN,SAASwhB,eAAeL,uBAAuBnW,WAAQ,EAAAxxjB,IACzD+9D,EAASy9R,EAAMgrN,SAASwhB,eAAeL,uBAAuBU,OAAAA,IAC7D,IAAI3skB,KAAKqiE,EAAAA,GACRA,EAAO1nD,eAAe3a,GAAI,KACxBopkB,EAAa/mgB,EAAOriE,GAExBopkB,EAAWtT,WAAQ,EAEfsT,EAAWwD,eAGbT,GAA0B/C,EAAYtpO,EAAAA,CAAAA,CAbjB,CA8PAA,EAAAA,IAMzBA,EAAMgrN,SAAS1iiB,OAAOvc,UAAU,cAAc,YA/MzB,SAASi0V,GAAAA,QAAAA,IAGvBA,EAAMgrN,SAASwhB,eAAeL,uBAAAA,MAW/B,IAAItxkB,MAAM,qCARhBmlW,EAAMgrN,SAASz0iB,MACb,aACEypV,EAAMgrN,SAASwhB,eAAeL,uBAAuBnW,MADvD,QAPmB,CAgNAh2N,EAAAA,IAIrBA,EAAMgrN,SAAS1iiB,OAAOvc,UAAU,gBAAgB,SAASghkB,IA/KnC,SAASA,EAAY/sO,GAAAA,IACzCgtO,GAAkBD,EAAAA,IAgBjB,IAAI7skB,KAdJ6skB,IAIH/sO,EAAMgrN,SAAS6K,uBACb71N,EAAMgrN,SAASwhB,eAAeL,uBAAuBnW,OAAAA,GAGvDh2N,EAAMgrN,SAASwhB,eAAeL,uBAAuBnV,aAGvD+V,EACEA,GAAc/sO,EAAMgrN,SAASwhB,eAAeL,uBAAuBc,KAAAA,GAG/DF,EAAWlyjB,eAAe3a,GAAI,KAC5B2rD,EAAckhhB,EAAW7skB,GACzBgtkB,EAAe,GACfC,EAAUthhB,EAAYuhhB,KAAAA,GAEtBvhhB,EAAYuhhB,OACdvhhB,EAAYuhhB,KAAOlD,GAAqBr+gB,EAAYuhhB,KAAMptO,IAI5DA,EAAMgrN,SAAS6K,uBAAuBhqgB,EAAYmqgB,OAAO,GAEzDnqgB,EAAYwhhB,GAAK5D,GAAmB6D,8BAClCzhhB,GAIuB,YAAvB2gR,EAAAA,EAAAA,GAAO3gR,IACyC,mBAAzCA,EAAY0hhB,2BAEnBL,EAAerhhB,EAAY0hhB,4BAG7B1hhB,EAAYuhhB,KAAOD,EAGjBthhB,EAAY2hhB,sBACX3hhB,EAAY4+gB,wBACb,KAEI7sE,EAAa4sE,GAA0B3+gB,GAC3CqhhB,EAAa/vkB,KAAK,CAAEzB,IAAK,KAAM4C,MAAO,QAAUs/f,EAAa,OAE7D59J,EAAMgrN,SAASwhB,eAAeN,OAAO/ukB,KAAKyggB,EAAAA,CAAAA,GAKxC/xc,EAAY4+gB,wBAAyB,KACnCgD,EAAyB,OAExB,IAAIpze,KAAKxuC,EAAY4+gB,wBAAyB,GAC7C5+gB,EAAY4+gB,wBAAwB5vjB,eAAew/E,GAAI,KACrD/7F,EAAQutD,EAAY4+gB,wBAAwBpwe,GAAAA,GAChDoze,GAA0B,IAAMpze,EAAI,IACpCoze,GAA0B,KACtBrykB,OAAOE,KAAKgD,GAAO9C,QAAU,GAAKuU,MAAM8C,QAAQvU,IAAAA,IAE7C,IAAI4B,KAAK5B,EAAAA,GACRA,EAAMuc,eAAe3a,GAAI,KACvBqR,EAAMjT,EAAM4B,GACG,mBAARqR,IAGTA,EAAMA,EAAIjD,KAAK0xV,EAAOn0S,IAExB4hhB,GAA0B,IAAMvtkB,EAAI,IAAMqR,EAAM,IAI1CyuV,EAAMgrN,SAASwhB,eAAeN,OAAO9tkB,QAAQmT,IAAQ,GACzDyuV,EAAMgrN,SAASwhB,eAAeN,OAAO/ukB,KAAKoU,EAAAA,MAK7B,mBADnBA,EAAMjT,KAIJiT,EAAMA,EAAIjD,KAAK0xV,EAAOn0S,IAExB4hhB,GAA0B,IAAMvtkB,EAAI,IAAMqR,EACpCyuV,EAAMgrN,SAASwhB,eAAeN,OAAO9tkB,QAAQmT,IAAQ,GACzDyuV,EAAMgrN,SAASwhB,eAAeN,OAAO/ukB,KAAKoU,GAE9Ck8jB,GAA0B,KAK9BP,EAAa/vkB,KAAK,CAChBzB,IAAK,KACL4C,MAAO,OAASmvkB,EAAyB,OAI7CztO,EAAMgrN,SAASgM,UAAU,CACvBQ,oBAAqB0V,EACrB9V,SAAUvrgB,EAAYmqgB,QAGxBh2N,EAAMgrN,SAAS5wc,IAAI,UAGnB4yd,GAK0B,SAASD,EAAY/sO,GAAAA,IAC9C,IAAI9/V,KAAK6skB,EAAAA,GACRA,EAAWlyjB,eAAe3a,GAAI,KAC5BxE,EAAMwE,EACN2rD,EAAckhhB,EAAW7skB,GAE7B8/V,EAAMgrN,SAAS6K,uBAAuBhqgB,EAAYmqgB,OAAO,GAGhC,YAAvBxpP,EAAAA,EAAAA,GAAO3gR,IAC0B,mBAA1BA,EAAYmrgB,WAEnBnrgB,EAAYmrgB,mBAEP+V,EAAWrxkB,EAAAA,CAAAA,CAlBpBgykB,CAA0B1tO,EAAMgrN,SAASwhB,eAAeN,OAAQlsO,EAAAA,CAjH1C,CAgLA+sO,EAAY/sO,EAAAA,IAGlCA,EAAMgrN,SAASwhB,eAAel8gB,eAAgB,IAK9Cq9gB,GAAmB1E,GAASG,aAAauE,gBAAkB,SAC7DjwiB,EACAs4hB,EACAh2N,GAAAA,IAEIq3N,EAAY,SAASrvjB,GAAAA,OAChBA,CAAAA,EAAAA,GAEL+H,MAAM8C,QAAQ6qB,GAAQ,SACpBjiB,EAAU,IACLvb,EAAI,EAAGA,EAAIw9B,EAAMliC,OAAQ0E,IAAAA,OACtB,IAANA,IACFub,GAAW,aAEEiiB,EAAMx9B,KAAAA,IACd,cACA,aACA,SACHub,GAAWiiB,EAAMx9B,GAAG6T,WAAAA,MAAAA,IAEjB,SAC2B,MAA1B2pB,EAAMx9B,GAAGyY,OAAO,EAAG,aACVq9iB,GAAyBh2N,IAClCq3N,EAAYr3N,EAAMgrN,SAASyd,aAAazS,IAC1Cv6iB,GAAW,IAAMggjB,GAAUpE,EAAU35hB,EAAMx9B,GAAG6T,aAAe,KAE7D0H,GAAWiiB,EAAMx9B,GAAG6T,WAAAA,OAK5B0H,EAAW,UAGP,IAAI5gB,MACR,kEAoBA+ykB,GAAc,SAASt0iB,EAAQ08hB,EAAOh2N,GAAAA,IACpCq3N,EAAY,SAASrvjB,GAAAA,OAChBA,CAAAA,EAAAA,YAAAA,IAEEgujB,GAAyBh2N,IAClCq3N,EAAYr3N,EAAMgrN,SAASyd,aAAazS,KAC1C18hB,EAASA,GAAU,IACZvlB,WACE,IAAM0njB,GAAUpE,EAAU/9hB,IAAW,KAY5Cu0iB,GAAoB,gBACjBC,YAAS,EAAAtpkB,KACTupkB,YAAS,EAMd3ykB,OAAO8V,eAAexW,KAAM,QAAS,CACnCsK,IAAK,uBACQtK,KAAKozkB,OAAwB,aAC3BpzkB,KAAKslW,MAAAA,OAAAA,KAGX8tO,OAASpzkB,KAAKslW,MAAMgrN,SAAS4K,mBAAAA,CAAAA,OAE7Bl7jB,KAAKozkB,MAAAA,EAEdn5iB,IAAK,SAASr2B,GAAAA,KACPwvkB,OAASxvkB,CAAAA,IAGlBlD,OAAO8V,eAAexW,KAAM,QAAS,CACnC4D,MAAO5D,KAAKqzkB,OACZtqjB,UAAU,KAOdoqjB,GAAkBnhkB,UAAUqH,SAAW,kBAC9BrZ,KAAKs7jB,MAAQ,QAGtB6X,GAAkBnhkB,UAAUsqjB,UAAY,eAClCkW,EAAexykB,KAAK6ykB,2BAAAA,KACnBvtO,MAAMgrN,SAASgM,UAAU,CAC5BhvjB,KAAMtN,KAAKyvjB,OACXqN,oBAAqB0V,EACrB9V,SAAU18jB,KAAKs7jB,QAAAA,KAEZh2N,MAAMgrN,SAAS5wc,IAAI,WAS1Byzd,GAAkBnhkB,UAAU6gkB,yBAA2B,eACjDL,EAAe,GACf5xkB,EAAOF,OAAO2gB,oBAAoBrhB,MAAMuD,QAAO,SAASvC,GAAAA,MAEjD,WAAPA,GACO,2BAAPA,GACO,SAAPA,GACO,SAAPA,GACuB,KAAvBA,EAAI8nJ,UAAU,EAAG,UAIhB,IAAItjJ,KAAK5E,EAAAA,IAAAA,IACRF,OAAO6sQ,yBAAyBvtQ,KAAMY,EAAK4E,IAAIsjB,aAAwB,KACrE9nB,EAAMJ,EAAK4E,GACX5B,EAAQ5D,KAAKgB,GAEb4C,IACEyR,MAAM8C,QAAQvU,GAChB4ukB,EAAa/vkB,KAAK,CAChBzB,IAAKA,EACL4C,MAAOqvkB,GAAgBrvkB,EAAO5D,KAAKs7jB,MAAOt7jB,KAAKslW,SAExC1hW,aAAiBuvkB,IAG1BvvkB,EAAM0hW,MAAQtlW,KAAKslW,MACnBktO,EAAa/vkB,KAAK,CAAEzB,IAAKA,EAAK4C,MAAOA,EAAM03jB,MAAQ,UACzB,mBAAV13jB,GAChB4ukB,EAAa/vkB,KAAK,CAAEzB,IAAKA,EAAK4C,MAAOA,IAAAA,CAAAA,OAKtC4ukB,CAAAA,EAGT,IAAI1D,GAAkB,WACpBqE,GAAkBv/jB,KAAK5T,MAEvBU,OAAO8V,eAAexW,KAAM,OAAQ,CAClC4D,MAAO,WACPklB,cAAc,EACdC,UAAU,IAGZroB,OAAO8V,eAAexW,KAAM,UAAW,CACrC4D,MAAO,QACPklB,cAAc,EACdC,UAAU,IAGZroB,OAAO8V,eAAexW,KAAM,WAAY,CACtC4D,MAAO,EACPklB,cAAc,EACdC,UAAU,QAoBRuqjB,EAjBAC,EAAQ,GACZ7ykB,OAAO8V,eAAexW,KAAM,OAAQ,CAClC8oB,cAAc,EACdxe,IAAK,kBACIipkB,CAAAA,EAETt5iB,IAAK,SAASr2B,GACZ2vkB,EAAQ3vkB,CAAAA,IAIZlD,OAAO8V,eAAexW,KAAM,YAAa,CACvC4D,MAAO,QACPklB,cAAc,EACdC,UAAU,IAIZroB,OAAO8V,eAAexW,KAAM,SAAU,CACpC8hB,YAAY,EACZgH,cAAc,EACdmR,IAAK,SAASr2B,GACZ0vkB,EAAU1vkB,EAAMgX,MAAAA,EAElBtQ,IAAK,kBACCgpkB,GAGK,SAMf1vhB,GAAQkrhB,GAAiBqE,IAEzB,IAAIlB,GAAqB,WACvBkB,GAAkBv/jB,KAAK5T,MAAAA,IAwBnBwzkB,EAtBAC,EAAQ,GAEZ/ykB,OAAO8V,eAAexW,KAAM,OAAQ,CAClC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACCmpkB,EAAM3ykB,OAAS,EACV2ykB,OAAAA,CAAAA,IAMb/ykB,OAAO8V,eAAexW,KAAM,SAAU,CACpC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACImpkB,CAAAA,IAMX/ykB,OAAO8V,eAAexW,KAAM,KAAM,CAChC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,cACEkpkB,EAAAA,CAAAA,IAGD7W,EAAY,SAASrvjB,GAAAA,OAChBA,CAAAA,EAAAA,OAELtN,KAAKslW,QAAOq3N,EAAY38jB,KAAKslW,MAAMgrN,SAASyd,aAAa/tkB,KAAKs7jB,QAC3D,IAAMyF,GAAUpE,EAAU6W,IAAQ,MAE3Cv5iB,IAAK,SAASr2B,GACZ4vkB,EAAM5vkB,CAAAA,GAAAA,EAKZggD,GAAQquhB,GAAoBkB,IAQ5B,IAAIpB,GAAgB,SAAhBA,IACFoB,GAAkBv/jB,KAAK5T,MAAAA,IAGnB0zkB,EAAK,EACThzkB,OAAO8V,eAAexW,KAAM,IAAK,CAC/B8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIopkB,CAAAA,EAETz5iB,IAAK,SAASr2B,GAAAA,GACPuH,MAAMvH,GAAAA,MAGH,IAAIzD,MACR,kBAAoByD,EAAQ,+BAH9B8vkB,EAAK9vkB,CAAAA,IAiBXlD,OAAO8V,eAAexW,KAAM,kBAAmB,CAC7C8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAaqE,EAAI,KAElCz5iB,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLilT,EAAIymR,GAAaoE,EAAI,QAErB7qR,EAAI0mR,GAAemE,EAAI,UAK9BC,EAAM,EACVjzkB,OAAO8V,eAAexW,KAAM,KAAM,CAChC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIqpkB,CAAAA,EAET15iB,IAAK,SAASr2B,GAAAA,GACPuH,MAAMvH,GAAAA,MAGH,IAAIzD,MACR,kBAAoByD,EAAQ,gCAH9B+vkB,EAAM/vkB,CAAAA,IAAAA,IASRgwkB,EAAQ,GACZlzkB,OAAO8V,eAAexW,KAAM,OAAQ,CAClC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,cACkB,IAAjBspkB,EAAM9ykB,OAAAA,OAGH8ykB,CAAAA,EAET35iB,IAAK,SAASr2B,GAEVgwkB,OAAAA,IADShwkB,EACDA,EAEA,MAYdlD,OAAO8V,eAAexW,KAAM,IAAK,CAC/B8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACEspkB,GAASzokB,MAAMyokB,EAAM,IACjB,EAEFA,EAAM,IAEf35iB,IAAK,SAASr2B,GACZgwkB,EAAM,GAAKhwkB,CAAAA,IAWflD,OAAO8V,eAAexW,KAAM,IAAK,CAC/B8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACEspkB,GAASzokB,MAAMyokB,EAAM,IACjB,EAEFA,EAAM,IAEf35iB,IAAK,SAASr2B,GACZgwkB,EAAM,GAAKhwkB,CAAAA,IAWflD,OAAO8V,eAAexW,KAAM,QAAS,CACnC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACEspkB,GAASzokB,MAAMyokB,EAAM,IACjB,EAEFA,EAAM,IAEf35iB,IAAK,SAASr2B,GACZgwkB,EAAM,GAAKhwkB,CAAAA,IAWflD,OAAO8V,eAAexW,KAAM,SAAU,CACpC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACEspkB,GAASzokB,MAAMyokB,EAAM,IACjB,EAEFA,EAAM,IAEf35iB,IAAK,SAASr2B,GACZgwkB,EAAM,GAAKhwkB,CAAAA,IAAAA,IAIXiwkB,EAAM,GACVnzkB,OAAO8V,eAAexW,KAAM,KAAM,CAChC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIupkB,CAAAA,EAET55iB,IAAK,SAASr2B,GAAAA,OACJA,GAAAA,IACD,WACA,UACA,UACA,OACHiwkB,EAAMjwkB,EAAAA,MAAAA,QAAAA,MAGA,IAAIzD,MACR,kBAAoByD,EAAQ,wCAMlCkwkB,EAAK,KAETpzkB,OAAO8V,eAAexW,KAAM,IAAK,CAC/B8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,eACEwpkB,GAAMA,EAAGhzkB,OAAS,EAAG,IAEpBd,gBAAgB+zkB,GAAAA,OAGpBD,EAAK,cAAgB/B,EAAcC,UAAAA,CAAAA,IAEjCrV,EAAY,SAASrvjB,GAAAA,OAChBA,CAAAA,EAAAA,OAELtN,KAAKslW,QAAOq3N,EAAY38jB,KAAKslW,MAAMgrN,SAASyd,aAAa/tkB,KAAKs7jB,QAC3D,IAAMyF,GAAUpE,EAAUmX,IAAO,KAE1C75iB,IAAK,SAASr2B,GACZkwkB,EAAKlwkB,EAAMyV,UAAAA,IAWf3Y,OAAO8V,eAAexW,KAAM,YAAa,CACvC8oB,cAAc,EACdhH,YAAY,EACZxX,IAAK,kBACIwpkB,CAAAA,EAET75iB,IAAK,SAASr2B,GACZkwkB,EAAKlwkB,CAAAA,IAAAA,IAILowkB,EAAY,YAQhBtzkB,OAAO8V,eAAexW,KAAM,WAAY,CACtC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACI0pkB,CAAAA,EAET/5iB,IAAK,SAASr2B,GACZowkB,EAAYpwkB,CAAAA,IAAAA,IAIZqwkB,EAAa,SAQjBvzkB,OAAO8V,eAAexW,KAAM,YAAa,CACvC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACI2pkB,CAAAA,EAETh6iB,IAAK,SAASr2B,GACZqwkB,EAAarwkB,CAAAA,IAAAA,IAIbswkB,EAAY,EAQhBxzkB,OAAO8V,eAAexW,KAAM,WAAY,CACtC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACI4pkB,CAAAA,EAETj6iB,IAAK,SAASr2B,GACZswkB,EAAYtwkB,CAAAA,IAAAA,IAIZuwkB,OAAAA,EAQJzzkB,OAAO8V,eAAexW,KAAM,cAAe,CACzC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,2BACC6pkB,EAGK,GAAK/gB,GAEL+gB,CAAAA,EAGXl6iB,IAAK,SAASr2B,GACZuwkB,EAAevwkB,CAAAA,IAAAA,IAIfwwkB,EAAS,QAQb1zkB,OAAO8V,eAAexW,KAAM,QAAS,CACnC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACI8pkB,CAAAA,EAETn6iB,IAAK,SAASr2B,GACZwwkB,EAASxwkB,CAAAA,IAAAA,IAIT4vkB,EAAM,eAEV9ykB,OAAO8V,eAAexW,KAAM,KAAM,CAChC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,iBAEAkpkB,GACDxzkB,gBAAgB+zkB,IAChB/zkB,gBAAgBq0kB,IAAAA,OAIXnB,GAAYM,EAAKxzkB,KAAKs7jB,MAAOt7jB,KAAKslW,MAAAA,EAE3CrrU,IAAK,SAASr2B,GACZA,EAAQA,EAAMyV,WACdm6jB,EAAM5vkB,CAAAA,IAAAA,IAIN0wkB,EAAM,KACV5zkB,OAAO8V,eAAexW,KAAM,KAAM,CAChC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,cACEgqkB,EAAAA,OAGDt0kB,gBAAgBu0kB,IAAAA,EACXrB,GAAYoB,EAAKt0kB,KAAKs7jB,MAAOt7jB,KAAKslW,OAEpCgvO,CAAAA,EAETr6iB,IAAK,SAASr2B,GACZA,EAAQA,EAAMyV,WAGVi7jB,EAFAt0kB,gBAAgBu0kB,IAAAA,EACS,MAAvB3wkB,EAAMqa,OAAO,EAAG,GACZuwjB,GAAY5qkB,EAAMqa,OAAO,EAAGra,EAAM9C,OAAS,IAE3C0tkB,GAAY5qkB,GAGdA,CAAAA,IAYZlD,OAAO8V,eAAexW,KAAM,eAAgB,CAC1C8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACCtK,gBAAgBu0kB,IAAAA,EACX/F,GAAY8F,EAAIr2jB,OAAO,EAAGq2jB,EAAIxzkB,OAAS,IAEvCwzkB,CAAAA,EAGXr6iB,IAAK,SAASr2B,GACZA,EAAQA,EAAMyV,WAEZi7jB,EADEt0kB,gBAAgBu0kB,IAAAA,EACZ,IAAM3wkB,EAENA,CAAAA,IAAAA,IAKRqskB,EAAK,KACTvvkB,OAAO8V,eAAexW,KAAM,KAAM,CAChC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,cACE2lkB,EAAAA,OAGEA,CAAAA,EAETh2iB,IAAK,SAASr2B,GAAAA,KACPy/L,EAAIz/L,CAAAA,IAGblD,OAAO8V,eAAexW,KAAM,IAAK,CAC/B8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,cACE2lkB,EAAAA,OAGDjwkB,gBAAgBu0kB,IAAAA,EACXrB,GAAYjD,EAAIjwkB,KAAKs7jB,MAAOt7jB,KAAKslW,OAEnC2qO,CAAAA,EAETh2iB,IAAK,SAASr2B,GACZA,EAAQA,EAAMyV,WAGV42jB,EAFAjwkB,gBAAgBu0kB,IAAAA,EACS,MAAvB3wkB,EAAMqa,OAAO,EAAG,GACbuwjB,GAAY5qkB,EAAMqa,OAAO,EAAGra,EAAM9C,OAAS,IAE3C0tkB,GAAY5qkB,GAGdA,CAAAA,IAYXlD,OAAO8V,eAAexW,KAAM,QAAS,CACnC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACCtK,gBAAgBu0kB,IAAAA,EACX/F,GAAYyB,EAAGhyjB,OAAO,EAAGgyjB,EAAGnvkB,OAAS,IAErCmvkB,CAAAA,EAGXh2iB,IAAK,SAASr2B,GACZA,EAAQA,EAAMyV,WAEZ42jB,EADEjwkB,gBAAgBu0kB,IAAAA,EACb,IAAM3wkB,EAENA,CAAAA,IAYXlD,OAAO8V,eAAexW,KAAM,gBAAiB,CAC3C8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItK,KAAK0ykB,IAAAA,IAIhBhykB,OAAO8V,eAAexW,KAAM,OAAQ,CAClC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItK,KAAKoykB,cAAgB,SAAW,QAI3C1xkB,OAAO8V,eAAexW,KAAM,UAAW,CACrC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItK,KAAKoykB,cAAgB,UAAY,YA8BxCoC,EA1BAC,GAAAA,EAQJ/zkB,OAAO8V,eAAexW,KAAM,sBAAuB,CACjD8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACImqkB,CAAAA,EAETx6iB,IAAK,SAASr2B,GACZA,EAAQoC,QAAQpC,GAChB6wkB,EAAuB7wkB,CAAAA,IAW3BlD,OAAO8V,eAAexW,KAAM,OAAQ,CAClC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,cACEkqkB,EAAAA,OAGEA,CAAAA,EAETv6iB,IAAK,SAASr2B,GACZ4wkB,EAAQ5wkB,CAAAA,IAWZlD,OAAO8V,eAAexW,KAAM,WAAY,CACtC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,KAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,QAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,MAYxCvpT,OAAO8V,eAAexW,KAAM,WAAY,CACtC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,KAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,QAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,MAYxCvpT,OAAO8V,eAAexW,KAAM,WAAY,CACtC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,KAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,QAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,UAKpCyqR,EAAK,KACTh0kB,OAAO8V,eAAexW,KAAM,IAAK,CAC/B8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,cACQ,OAAPoqkB,EAAAA,OAGGA,CAAAA,EAETz6iB,IAAK,SAASr2B,GAAAA,IACsB,IAA9B,CAAC,EAAG,EAAG,GAAGF,QAAQE,GAAAA,MAGd,IAAIzD,MACR,kBAAoByD,EAAQ,+BAH9B8wkB,EAAK9wkB,CAAAA,IAiBXlD,OAAO8V,eAAexW,KAAM,YAAa,CACvCsK,IAAK,eACCuV,EAAAA,OACI60jB,GAAAA,KACD,UAEH70jB,EAAS,kBAEN,EACHA,EAAS,oBAEN,EACHA,EAAS,eAGNA,CAAAA,EAETiJ,cAAc,EACdhH,YAAY,EACZmY,IAAK,SAASr2B,GAAAA,OACJA,GAAAA,IACD,aACA,EACH8wkB,EAAK,YAEF,cACA,EACHA,EAAK,QAGF,QAEHA,EAAK,OAMf9whB,GAAQmuhB,GAAeoB,IAAAA,IAMnBwB,GAAsB,WACxB5C,GAAcn+jB,KAAK5T,MAAAA,KAEd40kB,GAAK,WAELvxY,EAAI,UAEJs9X,SAAW,mBAEZkU,EAAM,EAEVn0kB,OAAO8V,eAAexW,KAAM,KAAM,CAChC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIuqkB,CAAAA,EAET56iB,IAAK,SAASr2B,GACZixkB,EAAMjxkB,CAAAA,IAWVlD,OAAO8V,eAAexW,KAAM,WAAY,CACtC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIuqkB,CAAAA,EAET56iB,IAAK,SAASr2B,GACZixkB,EAAMjxkB,CAAAA,IAAAA,IAINkxkB,EAAO,GACXp0kB,OAAO8V,eAAexW,KAAM,MAAO,CACjC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACI2okB,GAAgB6B,EAAM90kB,KAAKs7jB,MAAOt7jB,KAAKslW,MAAAA,EAEhDrrU,IAAK,SAASr2B,GA97BU,IAASo/B,EAC/BnjB,EAAAA,EAAS,GACQ,iBAFcmjB,EA+7BFp/B,KA57B/Bic,EAZJ,SAAoB+e,EAAQioF,EAAOpzG,GACjCA,IAAUA,EAAQ,WAEd6I,EADAkrC,EAAU,GAENlrC,EAAQuqG,EAAM3oG,KAAK0gB,IACzB4oB,EAAQ/kD,KAAK6Z,EAAM7I,IAAAA,OAEd+zC,CAAAA,CAPT,CAYwBxkB,EAAO,eA47BzB8xiB,EA17BGj1jB,CAAAA,IAAAA,KAq8BFs0gB,WAAa,kBACT2gD,CAAAA,EAAAA,KAUJ7oY,WAAa,SAASroM,GACzBkxkB,EAAOlxkB,EACH5D,KAAKirF,MACP6pf,EAAK7pf,MAAAA,EAAAA,KAWJ8pf,UAAY,SAASnxkB,GAExBA,GADAA,EAAQA,GAAS,IACHyV,WACdy7jB,EAAKrykB,KAAKmB,GACN5D,KAAKirF,MACP6pf,EAAK7pf,MAAAA,EAAAA,KAYJ+pf,aAAe,SAASpxkB,EAAOqxkB,GAAAA,IAClCA,EAAaA,IAAAA,EAEbrxkB,GADAA,EAAQA,GAAS,IACHyV,YAEkB,IAAzBy7jB,EAAKpxkB,QAAQE,KAClBkxkB,EAAK/wkB,OAAO+wkB,EAAKpxkB,QAAQE,GAAQ,QAC7BqxkB,KAAAA,EAaRv0kB,OAAO8V,eAAexW,KAAM,QAAS,CACnC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,OAYxCvpT,OAAO8V,eAAexW,KAAM,OAAQ,CAClC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IAER5D,KAAKk1kB,SAAAA,IACHlvkB,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,QAa1CvpT,OAAO8V,eAAexW,KAAM,OAAQ,CAClC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,IAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,IAChC6qR,EAAK7pf,QAAAA,KAEAg/N,GAAKslR,GAAevvkB,KAAKiqT,GAAI,OAYxCvpT,OAAO8V,eAAexW,KAAM,cAAe,CACzC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,OAYxCvpT,OAAO8V,eAAexW,KAAM,kBAAmB,CAC7C8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,OAaxCvpT,OAAO8V,eAAexW,KAAM,oBAAqB,CAC/C8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,YAKnC6oR,qBAAsB,GAE7BlvhB,GAAQ+whB,GAAqB5C,IAAAA,IAOzBoD,GAAkB,WACpBR,GAAoB/gkB,KAAK5T,MAAAA,KACpB2gkB,SAAW,iBAGXuU,OAAQ,GAEftxhB,GAAQuxhB,GAAiBR,IAAAA,IAQrBS,GAAmB,WACrBD,GAAgBvhkB,KAAK5T,MAAAA,KAChBk1kB,OAAQ,GAEftxhB,GAAQwxhB,GAAkBD,IAAAA,IAStBE,GAAkB,WACpBD,GAAiBxhkB,KAAK5T,MAAAA,KACjBkuY,MAAO,GAEdtqV,GAAQyxhB,GAAiBD,IAAAA,IAMrBb,GAAiB,WACnBxC,GAAcn+jB,KAAK5T,MAAAA,KACd40kB,GAAK,OAQVl0kB,OAAO8V,eAAexW,KAAM,gBAAiB,CAC3C8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,OAWxCvpT,OAAO8V,eAAexW,KAAM,QAAS,CACnC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,OAWxCvpT,OAAO8V,eAAexW,KAAM,aAAc,CACxC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,OAWxCvpT,OAAO8V,eAAexW,KAAM,gBAAiB,CAC3C8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,WAyDpCqrR,EApDAC,EAAM,CAAC,EACX70kB,OAAO8V,eAAexW,KAAM,KAAM,CAChC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,eACCqyjB,EAAY,SAASrvjB,GAAAA,OAChBA,CAAAA,EAAAA,GAELtN,KAAKslW,QAAOq3N,EAAY38jB,KAAKslW,MAAMgrN,SAASyd,aAAa/tkB,KAAKs7jB,QAClC,IAA5B56jB,OAAOE,KAAK20kB,GAAKz0kB,OAAc,KAG7BE,EAFA6e,EAAS,OAGR7e,KAFL6e,EAAOpd,KAAK,MAEA8ykB,EACV11jB,EAAOpd,KAAK,IAAMzB,EAAM,KAAO+/jB,GAAUpE,EAAU4Y,EAAIv0kB,KAAS,YAElE6e,EAAOpd,KAAK,MACLod,EAAOnE,KAAK,QAIvBue,IAAK,SAASr2B,GACS,YAAjBkuU,EAAAA,EAAAA,GAAOluU,KACT2xkB,EAAM3xkB,EAAAA,IAgBZlD,OAAO8V,eAAexW,KAAM,UAAW,CACrC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIirkB,EAAIC,IAAM,IAEnBv7iB,IAAK,SAASr2B,GACS,iBAAVA,IACT2xkB,EAAIC,GAAK5xkB,EAAAA,IAMflD,OAAO8V,eAAexW,KAAM,KAAM,CAChC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIgrkB,CAAAA,EAETr7iB,IAAK,SAASr2B,GACZ0xkB,EAAM1xkB,CAAAA,IAUVlD,OAAO8V,eAAexW,KAAM,kBAAmB,CAC7C8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIgrkB,EAAIr3jB,OAAO,EAAGq3jB,EAAIx0kB,OAAS,IAEpCm5B,IAAK,SAASr2B,GACZ0xkB,EAAM,IAAM1xkB,CAAAA,GAAAA,EAIlBggD,GAAQ2whB,GAAgBxC,IAAAA,IAOpB0D,GAAqB,WACvBlB,GAAe3gkB,KAAK5T,MAAAA,KACf01kB,YAAa,GAEpB9xhB,GAAQ6xhB,GAAoBlB,IAAAA,IAOxBoB,GAAsB,WACxBpB,GAAe3gkB,KAAK5T,MAAAA,KACfs9Y,OAAQ,OACRo4L,YAAa,MAEdjC,EAAQ,GACZ/ykB,OAAO8V,eAAexW,KAAM,OAAQ,CAClC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACImpkB,CAAAA,EAETx5iB,IAAK,SAASr2B,GAEV6vkB,OAAAA,IADS7vkB,EACDA,EAEA,OAKhBggD,GAAQ+xhB,GAAqBpB,IAS7B,IAAIR,GAAqB,eAGnB6B,EAYAC,EAdJ9D,GAAcn+jB,KAAK5T,MAGnBU,OAAO8V,eAAexW,KAAM,SAAU,CACpC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIsrkB,CAAAA,EAET37iB,IAAK,SAASr2B,GACZgykB,EAAUhykB,CAAAA,IAKdlD,OAAO8V,eAAexW,KAAM,aAAc,CACxC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIurkB,CAAAA,EAET57iB,IAAK,SAASr2B,GACZiykB,EAAcjykB,CAAAA,IAAAA,IAqDd0xkB,EAjDAC,EAAM,CAAC,EACX70kB,OAAO8V,eAAexW,KAAM,KAAM,CAChC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,eACCqyjB,EAAY,SAASrvjB,GAAAA,OAChBA,CAAAA,EAELtN,KAAKslW,QAAOq3N,EAAY38jB,KAAKslW,MAAMgrN,SAASyd,aAAa/tkB,KAAKs7jB,QAAAA,IAG9Dt6jB,EAFA6e,EAAS,OAGR7e,KAFL6e,EAAOpd,KAAK,MAEA8ykB,EACV11jB,EAAOpd,KAAK,IAAMzB,EAAM,KAAO+/jB,GAAUpE,EAAU4Y,EAAIv0kB,KAAS,YAElE6e,EAAOpd,KAAK,MACLod,EAAOnE,KAAK,OAErBue,IAAK,SAASr2B,GACS,YAAjBkuU,EAAAA,EAAAA,GAAOluU,KACT2xkB,EAAM3xkB,EAAAA,IAgBZlD,OAAO8V,eAAexW,KAAM,UAAW,CACrC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIirkB,EAAIC,IAAM,IAEnBv7iB,IAAK,SAASr2B,GACS,iBAAVA,IACT2xkB,EAAIC,GAAK5xkB,EAAAA,IAMflD,OAAO8V,eAAexW,KAAM,KAAM,CAChC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIgrkB,CAAAA,EAETr7iB,IAAK,SAASr2B,GACZ0xkB,EAAM1xkB,CAAAA,IAUVlD,OAAO8V,eAAexW,KAAM,kBAAmB,CAC7C8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIgrkB,EAAIr3jB,OAAO,EAAGq3jB,EAAIx0kB,OAAS,IAEpCm5B,IAAK,SAASr2B,GACZ0xkB,EAAM,IAAM1xkB,CAAAA,IAAAA,KAGXm1E,QAAU,SACV+8f,gBAAkB,WAGlBC,gBAAkBhH,GAAmBxoa,YAAYyva,OAAAA,KAEjDjG,wBAA0B/vkB,KAAK+1kB,gBAAgBE,uBAClDj2kB,KAAKszB,WAAAA,EAGTswB,GAAQmwhB,GAAoBhC,IAE5B4D,GAAoB3jkB,UAAUkkkB,cAAgB,SAAShzE,GAAAA,KAC/C,2BAA4BA,MAAc,UAAWA,GAAAA,MACnD,IAAI/igB,MACR,0EAGC,IAAIm7jB,KAASt7jB,KAAKuykB,KAAM,GACvBvykB,KAAKuykB,KAAKpyjB,eAAem7iB,GAAQ,KAC/B3zjB,EAAQ3H,KAAKuykB,KAAKjX,GACtB3zjB,EAAMookB,wBAA0B7sE,EAAW+yE,uBACzCtukB,EAAM2rB,YAER3rB,EAAMoxE,QAAUmqb,EAAWizE,OAAAA,CAAAA,EAKjCR,GAAoB3jkB,UAAUokkB,aAAe,SAASvrkB,GAAAA,IAEhDlD,EAAQ,IAAIoskB,GAAAA,OAChBpskB,EAAM0ukB,OAASr2kB,KACf2H,EAAM2rB,WAAazoB,EAAAA,KAEd0nkB,KAAK9vkB,KAAKkF,GAEf2ukB,GAAS1ikB,KAAK5T,KAAKslW,MAAO39V,GAEnBA,CAAAA,EAAAA,IAQL4ukB,GAAmB,WACrBhC,GAAe3gkB,KAAK5T,MAAAA,KAEf2gkB,SAAW,oBACX5nf,QAAU,SACV+8f,gBAAkB,UAClBlykB,MAAQ,UACR8tX,UAAY,cACZq+M,wBAA0BhB,GAAmB/ta,SAASi1a,wBAAAA,EAE7DryhB,GAAQ2yhB,GAAkBhC,IAAAA,IAMtBF,GAAoB,WACtBtC,GAAcn+jB,KAAK5T,MAAAA,KACd40kB,GAAK,MAQVl0kB,OAAO8V,eAAexW,KAAM,YAAa,CACvC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,OAWxCvpT,OAAO8V,eAAexW,KAAM,aAAc,CACxC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,OAWxCvpT,OAAO8V,eAAexW,KAAM,kBAAmB,CAC7C8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,OAWxCvpT,OAAO8V,eAAexW,KAAM,cAAe,CACzC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,OAWxCvpT,OAAO8V,eAAexW,KAAM,OAAQ,CAClC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,OAWxCvpT,OAAO8V,eAAexW,KAAM,WAAY,CACtC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,WAKpCusR,EAAU,KACd91kB,OAAO8V,eAAexW,KAAM,SAAU,CACpC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIkskB,CAAAA,EAETv8iB,IAAK,SAASr2B,GACZ4ykB,EAAU5ykB,CAAAA,IAUdlD,OAAO8V,eAAexW,KAAM,YAAa,CACvC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACIkskB,CAAAA,EAETv8iB,IAAK,SAASr2B,GACRsH,OAAOq8e,UAAU3jf,KACnB4ykB,EAAU5ykB,EAAAA,IAKhBlD,OAAO8V,eAAexW,KAAM,sBAAuB,CACjD8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItK,KAAKqjM,GAAKrjM,KAAKgwkB,EAAAA,GAAAA,EAI5BpshB,GAAQywhB,GAAmBtC,IAAAA,IAOvB0E,GAAwB,WAC1BpC,GAAkBzgkB,KAAK5T,MASvBU,OAAO8V,eAAexW,KAAM,WAAY,CACtC8hB,YAAY,EACZgH,cAAc,EACdxe,IAAK,kBACItE,QAAQqpkB,GAAarvkB,KAAKiqT,GAAI,MAEvChwR,IAAK,SAASr2B,IAAAA,IACRoC,QAAQpC,GAAAA,KACLqmT,GAAKqlR,GAAatvkB,KAAKiqT,GAAI,SAE3BA,GAAKslR,GAAevvkB,KAAKiqT,GAAI,YAInC57S,UAAW,GAElBu1C,GAAQ6yhB,GAAuBpC,IAAAA,IAG3BtF,GAAqB,CACvB/ta,SAAU,CACRi1a,uBAAwB,iBACL,CACf/jR,EAAG,CACDwkR,GAAI3H,GAAmB/ta,SAAS21a,WAElCruR,EAAG,CACDouR,GAAI3H,GAAmB/ta,SAAS41a,YAChCC,IAAK9H,GAAmB/ta,SAAS81a,aAAAA,EAWvCF,YAAa,SAAShI,GAAAA,IAChBC,EAAOF,GAAkBC,GAC7BC,EAAKvpO,MAAQspO,EAAWtpO,MAAAA,IACpBmqN,EAAS,GACToQ,EAAU+O,EAAWtpO,MAAMgrN,SAAS+R,QACtCuM,EAAWjO,SACXiO,EAAWn9M,WACX9sX,GACEoykB,EAAenI,EAAWtpO,MAAMirN,YAAYsL,kBAC9C+S,EAAW/rY,OAETqtY,EAAUC,GAAWvB,EAAYA,EAAW71f,SAAAA,OAChD02e,EAAOhtjB,KAAK,cACZgtjB,EAAOhtjB,KACL,OACE0xjB,GAAG4a,GAAmBze,SAASpzgB,SAAS0xhB,IACxC,IACAza,GAAG4a,GAAmBze,SAASjzgB,UAAUuxhB,IACzC,OAEJnf,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,OACZgtjB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,YACZgtjB,EAAOhtjB,KACL,IAAMo9jB,EAAU,IAAM1L,GAAG+b,EAAQzqa,UAAY,OAASsxa,GAExDtnB,EAAOhtjB,KAAK,MACZgtjB,EAAOhtjB,KAAKytkB,EAAQhokB,MACpBunjB,EAAOhtjB,KAAK,MACZgtjB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,OACZoskB,EAAKpf,OAASA,EAAO/ziB,KAAK,MACnBmzjB,CAAAA,EAGT8H,UAAW,SAAS/H,GAAAA,IACdC,EAAOF,GAAkBC,GAC7BC,EAAKvpO,MAAQspO,EAAWtpO,MAAAA,IACpBu6N,EAAU+O,EAAWtpO,MAAMgrN,SAAS+R,QACtCuM,EAAWjO,SACXiO,EAAWn9M,WACX9sX,GACEoykB,EAAenI,EAAWtpO,MAAMirN,YAAYsL,kBAC9C+S,EAAW/rY,OAET4sX,EAAS,GACThgiB,EAASs/iB,GAAmBze,SAASjzgB,UAAUuxhB,GAC/Cp/iB,EAAQu/iB,GAAmBze,SAASpzgB,SAAS0xhB,GAC7CsB,EAAUC,GAAWvB,EAAYA,EAAW71f,SAAAA,OAChD02e,EAAOhtjB,KAAK,OACZgtjB,EAAOhtjB,KAAK,OAAS0xjB,GAAG3kiB,GAAS,IAAM2kiB,GAAG1kiB,GAAU,OACpDggiB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,YACZgtjB,EAAOhtjB,KAAK,OAAS0xjB,GAAG3kiB,EAAQ,GAAK,IAAM2kiB,GAAG1kiB,EAAS,GAAK,OAC5DggiB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,OACZgtjB,EAAOhtjB,KAAK,MACZgtjB,EAAOhtjB,KACL,IAAMo9jB,EAAU,IAAM1L,GAAG+b,EAAQzqa,UAAY,OAASsxa,GAExDtnB,EAAOhtjB,KAAKytkB,EAAQhokB,MACpBunjB,EAAOhtjB,KAAK,MACZgtjB,EAAOhtjB,KAAK,KACZoskB,EAAKpf,OAASA,EAAO/ziB,KAAK,MACnBmzjB,CAAAA,EAQTiI,YAAa,SAASlI,GAAAA,IAChBC,EAAOF,GAAkBC,GAC7BC,EAAKvpO,MAAQspO,EAAWtpO,MAAAA,IACpBmqN,EAAS,UACbA,EAAOhtjB,KAAK,cACZgtjB,EAAOhtjB,KACL,OACE0xjB,GAAG4a,GAAmBze,SAASpzgB,SAAS0xhB,IACxC,IACAza,GAAG4a,GAAmBze,SAASjzgB,UAAUuxhB,IACzC,OAEJnf,EAAOhtjB,KAAK,KACZoskB,EAAKpf,OAASA,EAAO/ziB,KAAK,MACnBmzjB,CAAAA,GAIXtoa,YAAa,CACXyva,OAAQ,CACNC,uBAAwB,SAASprkB,GAAAA,IAC3BklkB,EAA0B,CAC5BznR,EAAG,CACDuuR,IAAK9H,GAAmBxoa,YAAYyva,OAAOc,aAE7C5kR,EAAG,CAAC,GAAD,OAEL69Q,EAAwB79Q,EAAErnT,GACxBkkkB,GAAmBxoa,YAAYyva,OAAOW,UACxC5G,EAAwBznR,EAAEz9S,GACxBkkkB,GAAmBxoa,YAAYyva,OAAOY,YACjC7G,CAAAA,EAEToG,MAAO,iBACE,KAGTQ,UAAW,SAAS/H,GAAAA,IACdC,EAAOF,GAAkBC,GAC7BC,EAAKvpO,MAAQspO,EAAWtpO,MAAAA,IACpBmqN,EAAS,GAETunB,EACFjI,GAAmBze,SAASpzgB,SAAS0xhB,IACrCG,GAAmBze,SAASjzgB,UAAUuxhB,GAClCG,GAAmBze,SAASpzgB,SAAS0xhB,GAAc,EACnDG,GAAmBze,SAASjzgB,UAAUuxhB,GAAc,EAE1DoI,EAAY9rkB,QAAoB,GAAZ8rkB,GAAiBlvV,QAAQ,QACzCn0O,EAAIo7jB,GAAmBze,SAAS2mB,SAChCC,EAAkBhskB,QAAQ8rkB,EAAYrjkB,GAAGm0O,QAAQ,WAIrD2nU,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KACL,WACEgskB,GAAGM,GAAmBze,SAASpzgB,SAAS0xhB,GAAc,GACtD,IACAH,GAAGM,GAAmBze,SAASjzgB,UAAUuxhB,GAAc,GACvD,OAEJnf,EAAOhtjB,KAAKu0kB,EAAY,QACxBvnB,EAAOhtjB,KACLu0kB,EACE,IACAE,EACA,IACAA,EACA,IACAF,EACA,MACAA,EACA,MAEJvnB,EAAOhtjB,KACL,IACEy0kB,EACA,IACAF,EACA,KACAA,EACA,IACAE,EACA,KACAF,EACA,QAEJvnB,EAAOhtjB,KACL,IACEu0kB,EACA,KACAE,EACA,KACAA,EACA,KACAF,EACA,OACAA,EACA,MAEJvnB,EAAOhtjB,KACLy0kB,EACE,KACAF,EACA,IACAA,EACA,KACAE,EACA,IACAF,EACA,QAEJvnB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,KACZoskB,EAAKpf,OAASA,EAAO/ziB,KAAK,MACnBmzjB,CAAAA,EAET+H,YAAa,SAAShI,GAAAA,IAChBC,EAAOF,GAAkBC,GAC7BC,EAAKvpO,MAAQspO,EAAWtpO,MAAAA,IACpBmqN,EAAS,GACTunB,EACFjI,GAAmBze,SAASpzgB,SAAS0xhB,IACrCG,GAAmBze,SAASjzgB,UAAUuxhB,GAClCG,GAAmBze,SAASpzgB,SAAS0xhB,GAAc,EACnDG,GAAmBze,SAASjzgB,UAAUuxhB,GAAc,EAE1DoI,EAAY9rkB,QAAoB,GAAZ8rkB,GAAiBlvV,QAAQ,QAGzCnoJ,EAAIz0F,QAAoB,EAAZ8rkB,GAAelvV,QAAQ,IACnCozD,EAAKhwS,QAAQy0F,EAAIove,GAAmBze,SAAS2mB,UAAUnvV,QAAQ,IAC/DoyD,EAAKhvS,QACN8rkB,EAAYjI,GAAmBze,SAAS2mB,UAAUnvV,QAAQ,WAG7D2nU,EAAOhtjB,KAAK,cACZgtjB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KACL,WACEgskB,GAAGM,GAAmBze,SAASpzgB,SAAS0xhB,GAAc,GACtD,IACAH,GAAGM,GAAmBze,SAASjzgB,UAAUuxhB,GAAc,GACvD,OAEJnf,EAAOhtjB,KAAKk9F,EAAI,QAChB8vd,EAAOhtjB,KAAKk9F,EAAI,IAAMu7M,EAAK,IAAMA,EAAK,IAAMv7M,EAAI,MAAQA,EAAI,MAC5D8vd,EAAOhtjB,KACL,IAAMy4S,EAAK,IAAMv7M,EAAI,KAAOA,EAAI,IAAMu7M,EAAK,KAAOv7M,EAAI,QAExD8vd,EAAOhtjB,KACL,IAAMk9F,EAAI,KAAOu7M,EAAK,KAAOA,EAAK,KAAOv7M,EAAI,OAASA,EAAI,MAE5D8vd,EAAOhtjB,KAAKy4S,EAAK,KAAOv7M,EAAI,IAAMA,EAAI,KAAOu7M,EAAK,IAAMv7M,EAAI,QAC5D8vd,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,OACZgtjB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KACL,WACEgskB,GAAGM,GAAmBze,SAASpzgB,SAAS0xhB,GAAc,GACtD,IACAH,GAAGM,GAAmBze,SAASjzgB,UAAUuxhB,GAAc,GACvD,OAEJnf,EAAOhtjB,KAAKu0kB,EAAY,QACxBvnB,EAAOhtjB,KAEHu0kB,EACA,IACA98R,EACA,IACAA,EACA,IACA88R,EACA,MACAA,EACA,MAEJvnB,EAAOhtjB,KACL,IACEy3S,EACA,IACA88R,EACA,KACAA,EACA,IACA98R,EACA,KACA88R,EACA,QAEJvnB,EAAOhtjB,KACL,IACEu0kB,EACA,KACA98R,EACA,KACAA,EACA,KACA88R,EACA,OACAA,EACA,MAEJvnB,EAAOhtjB,KACLy3S,EACE,KACA88R,EACA,IACAA,EACA,KACA98R,EACA,IACA88R,EACA,QAEJvnB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,KACZoskB,EAAKpf,OAASA,EAAO/ziB,KAAK,MACnBmzjB,CAAAA,EAETiI,YAAa,SAASlI,GAAAA,IAChBC,EAAOF,GAAkBC,GAC7BC,EAAKvpO,MAAQspO,EAAWtpO,MAAAA,IACpBmqN,EAAS,GACTunB,EACFjI,GAAmBze,SAASpzgB,SAAS0xhB,IACrCG,GAAmBze,SAASjzgB,UAAUuxhB,GAClCG,GAAmBze,SAASpzgB,SAAS0xhB,GAAc,EACnDG,GAAmBze,SAASjzgB,UAAUuxhB,GAAc,EAE1DoI,EAAY9rkB,QAAoB,GAAZ8rkB,GAAiBlvV,QAAQ,QAGzCnoJ,EAAIz0F,QAAoB,EAAZ8rkB,GAAelvV,QAAQ,IACnCozD,EAAKhwS,QAAQy0F,EAAIove,GAAmBze,SAAS2mB,UAAUnvV,QAAQ,WAEnE2nU,EAAOhtjB,KAAK,cACZgtjB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KACL,WACEgskB,GAAGM,GAAmBze,SAASpzgB,SAAS0xhB,GAAc,GACtD,IACAH,GAAGM,GAAmBze,SAASjzgB,UAAUuxhB,GAAc,GACvD,OAEJnf,EAAOhtjB,KAAKk9F,EAAI,QAChB8vd,EAAOhtjB,KAAKk9F,EAAI,IAAMu7M,EAAK,IAAMA,EAAK,IAAMv7M,EAAI,MAAQA,EAAI,MAC5D8vd,EAAOhtjB,KACL,IAAMy4S,EAAK,IAAMv7M,EAAI,KAAOA,EAAI,IAAMu7M,EAAK,KAAOv7M,EAAI,QAExD8vd,EAAOhtjB,KACL,IAAMk9F,EAAI,KAAOu7M,EAAK,KAAOA,EAAK,KAAOv7M,EAAI,OAASA,EAAI,MAE5D8vd,EAAOhtjB,KAAKy4S,EAAK,KAAOv7M,EAAI,IAAMA,EAAI,KAAOu7M,EAAK,IAAMv7M,EAAI,QAC5D8vd,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,KACZoskB,EAAKpf,OAASA,EAAO/ziB,KAAK,MACnBmzjB,CAAAA,GAIXsI,MAAO,CAQLlB,uBAAwB,SAASprkB,GAAAA,IAC3BklkB,EAA0B,CAC5BznR,EAAG,CACDuuR,IAAK9H,GAAmBxoa,YAAY4wa,MAAML,aAE5C5kR,EAAG,CAAC,GAAD,OAEL69Q,EAAwB79Q,EAAErnT,GACxBkkkB,GAAmBxoa,YAAY4wa,MAAMR,UACvC5G,EAAwBznR,EAAEz9S,GACxBkkkB,GAAmBxoa,YAAY4wa,MAAMP,YAChC7G,CAAAA,EAEToG,MAAO,iBACE,KAGTQ,UAAW,SAAS/H,GAAAA,IACdC,EAAOF,GAAkBC,GAC7BC,EAAKvpO,MAAQspO,EAAWtpO,MAAAA,IACpBmqN,EAAS,GACT2nB,EAAQrI,GAAmBze,SAAS+mB,eAAezI,GAAAA,OACvDnf,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KACL,OACE0xjB,GAAG4a,GAAmBze,SAASpzgB,SAAS0xhB,GAAc,GACtD,IACAza,GAAG4a,GAAmBze,SAASjzgB,UAAUuxhB,GAAc,GACvD,OAEJnf,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK0xjB,GAAGijB,EAAMrpiB,GAAGD,GAAK,IAAMqmhB,GAAGijB,EAAMrpiB,GAAGqH,GAAK,MACpDq6gB,EAAOhtjB,KAAK0xjB,GAAGijB,EAAMnpiB,GAAGH,GAAK,IAAMqmhB,GAAGijB,EAAMnpiB,GAAGmH,GAAK,MACpDq6gB,EAAOhtjB,KAAK0xjB,GAAGijB,EAAMxN,GAAG97hB,GAAK,IAAMqmhB,GAAGijB,EAAMxN,GAAGx0hB,GAAK,MACpDq6gB,EAAOhtjB,KAAK0xjB,GAAGijB,EAAM7N,GAAGz7hB,GAAK,IAAMqmhB,GAAGijB,EAAM7N,GAAGn0hB,GAAK,MACpDq6gB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,KACZoskB,EAAKpf,OAASA,EAAO/ziB,KAAK,MACnBmzjB,CAAAA,EAET+H,YAAa,SAAShI,GAAAA,IAChBC,EAAOF,GAAkBC,GAC7BC,EAAKvpO,MAAQspO,EAAWtpO,MAAAA,IACpB8xO,EAAQrI,GAAmBze,SAAS+mB,eAAezI,GACnDnf,EAAS,UACbA,EAAOhtjB,KAAK,cACZgtjB,EAAOhtjB,KACL,OACE0xjB,GAAG4a,GAAmBze,SAASpzgB,SAAS0xhB,IACxC,IACAza,GAAG4a,GAAmBze,SAASjzgB,UAAUuxhB,IACzC,OAEJnf,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KACL,OACE0xjB,GAAG4a,GAAmBze,SAASpzgB,SAAS0xhB,GAAc,GACtD,IACAza,GAAG4a,GAAmBze,SAASjzgB,UAAUuxhB,GAAc,GACvD,OAEJnf,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK0xjB,GAAGijB,EAAMrpiB,GAAGD,GAAK,IAAMqmhB,GAAGijB,EAAMrpiB,GAAGqH,GAAK,MACpDq6gB,EAAOhtjB,KAAK0xjB,GAAGijB,EAAMnpiB,GAAGH,GAAK,IAAMqmhB,GAAGijB,EAAMnpiB,GAAGmH,GAAK,MACpDq6gB,EAAOhtjB,KAAK0xjB,GAAGijB,EAAMxN,GAAG97hB,GAAK,IAAMqmhB,GAAGijB,EAAMxN,GAAGx0hB,GAAK,MACpDq6gB,EAAOhtjB,KAAK0xjB,GAAGijB,EAAM7N,GAAGz7hB,GAAK,IAAMqmhB,GAAGijB,EAAM7N,GAAGn0hB,GAAK,MACpDq6gB,EAAOhtjB,KAAK,KACZgtjB,EAAOhtjB,KAAK,KACZoskB,EAAKpf,OAASA,EAAO/ziB,KAAK,MACnBmzjB,CAAAA,EAETiI,YAAa,SAASlI,GAAAA,IAChBC,EAAOF,GAAkBC,GAC7BC,EAAKvpO,MAAQspO,EAAWtpO,MAAAA,IACpBmqN,EAAS,UACbA,EAAOhtjB,KAAK,cACZgtjB,EAAOhtjB,KACL,OACE0xjB,GAAG4a,GAAmBze,SAASpzgB,SAAS0xhB,IACxC,IACAza,GAAG4a,GAAmBze,SAASjzgB,UAAUuxhB,IACzC,OAEJnf,EAAOhtjB,KAAK,KACZoskB,EAAKpf,OAASA,EAAO/ziB,KAAK,MACnBmzjB,CAAAA,IAUb+D,8BAA+B,SAAShE,GAAAA,IAGlC/O,EAAU+O,EAAWtpO,MAAMgrN,SAAS+R,QACtCuM,EAAWjO,SACXiO,EAAWn9M,WACX9sX,GACEoykB,EAAenI,EAAWtpO,MAAMirN,YAAYsL,kBAC9C+S,EAAW/rY,OAAAA,MAGA,IAAMg9X,EAAU,IADd+O,EAAWnpa,SACoB,OAASsxa,CAAAA,GAK3DhI,GAAmBze,SAAW,CAC5B2mB,SAAU,cAEVI,eAAgB,SAASzI,GAAAA,IACnBp/iB,EAAQu/iB,GAAmBze,SAASpzgB,SAAS0xhB,GAC7Cn/iB,EAASs/iB,GAAmBze,SAASjzgB,UAAUuxhB,GAC/ChujB,EAAI9H,KAAKoK,IAAIsM,EAAOC,GAAAA,MAEZ,CACVse,GAAI,CAEFD,GAAIte,EAAQ5O,GAAK,EACjBw0B,GAAI3lB,EAAS7O,GAAK,EAAIA,GAExBqtB,GAAI,CAEFH,GAAIte,EAAQ5O,GAAK,EAAIA,EACrBw0B,GAAI3lB,EAAS7O,GAAK,GAEpB2ojB,GAAI,CAEFz7hB,GAAIte,EAAQ5O,GAAK,EACjBw0B,GAAI3lB,EAAS7O,GAAK,GAEpBgpjB,GAAI,CAEF97hB,GAAIte,EAAQ5O,GAAK,EAAIA,EACrBw0B,GAAI3lB,EAAS7O,GAAK,EAAIA,GAAAA,GAO9BmujB,GAAmBze,SAASpzgB,SAAW,SAAS0xhB,GAAAA,IAC1C/ujB,EAAS,QACa,YAAtBiyT,EAAAA,EAAAA,GAAO88P,KACT/ujB,EAASqzB,GAAM07hB,EAAW8D,KAAK,KAE1B7yjB,CAAAA,EAETkvjB,GAAmBze,SAASjzgB,UAAY,SAASuxhB,GAAAA,IAC3C/ujB,EAAS,QACa,YAAtBiyT,EAAAA,EAAAA,GAAO88P,KACT/ujB,EAASqzB,GAAM07hB,EAAW8D,KAAK,KAE1B7yjB,CAAAA,EAcT,IAAIy2jB,GAAY/H,GAAS+H,SAAW,SAASnlhB,GAAAA,GAC3C0ghB,GAAmB7xkB,KAAMmxD,KAErBA,aAAuB4ghB,IAAAA,MAGnB,IAAI5xkB,MAAM,8CAvlFN,IAASyukB,EAAAA,OAAAA,EAqlFXz9gB,GAplFKm0S,MAAMgrN,SAASwhB,eAAeJ,aAC3C9C,EAAWtpO,MAAMgrN,SAASwhB,eAAeJ,YAAa,EACtD9C,EAAWtpO,MAAMgrN,SAASwhB,eAAeL,uBAAyB,MAEpE7C,EAAWtpO,MAAMgrN,SAASwhB,eAAeL,uBAAuBU,OAAO1vkB,KACrEmskB,GAmlFFz9gB,EAAYyqH,KAAOzqH,EAAYm0S,MAAMgrN,SAASqU,qBAAqBvH,WAC5Dp9jB,IAAAA,EAGTuukB,GAASoG,oBAAsBA,GAC/BpG,GAAS4G,gBAAkBA,GAC3B5G,GAAS6G,iBAAmBA,GAC5B7G,GAAS8G,gBAAkBA,GAC3B9G,GAASgG,eAAiBA,GAC1BhG,GAASkH,mBAAqBA,GAC9BlH,GAASoH,oBAAsBA,GAC/BpH,GAASgI,iBAAmBA,GAC5BhI,GAAS8F,kBAAoBA,GAC7B9F,GAASkI,sBAAwBA,GACjClI,GAASQ,mBAAqBA,GAE9BR,GAAS+I,SAAW,CAClBC,YAAa5C,GACb6C,QAASrC,GACTsC,SAAUrC,GACVsC,QAASrC,GACTr0iB,OAAQuziB,GACRoD,WAAYlC,GACZlva,YAAaova,GACb30a,SAAUu1a,GACVqB,UAAWvD,GACXwD,cAAepB,GACfqB,WAAY/I,IAGdpf,GAAM2nB,SAAW,CACfC,YAAa5C,GACb6C,QAASrC,GACTsC,SAAUrC,GACVsC,QAASrC,GACTr0iB,OAAQuziB,GACRoD,WAAYlC,GACZlva,YAAaova,GACb30a,SAAUu1a,GACVqB,UAAWvD,GACXwD,cAAepB,GACfqB,WAAY/I,IAGCpf,GAAM2nB,SCzlGrB,SAASS,GAAS55jB,GAAAA,OACTA,EAAIpS,QAAO,SAASiskB,EAAQntkB,EAAM4I,GAAAA,OACvCukkB,EAAOntkB,GAAQ4I,EAERukkB,CAAAA,GACN,CAAC,EAAD,ECgCL,SAAUzJ,GAIRA,EAAS0J,aAAe,CAAC,EAAD,IAEpBC,EAAU,UAOVC,EAAuB,CACzBC,IAAK,CAAC,CAAC,IAAM,GAAM,GAAM,KACzBC,KAAM,CACJ,CAAC,GAAM,GAAM,EAAM,KAClB,GAAM,GAAM,GAAM,IAErBC,KAAM,CACJ,CACE,IACA,IACA,IACA,gBACAxukB,EAEA,GACA,GACA,GACA,GACA,IAGA,IACA,IACA,IACA,gBACAA,EAEA,GACA,IACA,IACA,IACA,EACA,IAED,IAAM,IAAM,IAAM,MAClB,IAAM,IAAM,IAAM,MAErByukB,SAAU,CAAC,CAAC,EAAM,EAAM,EAAM,GAAM,IAAM,GAAM,GAAM,KACtDC,OAAQ,CAAC,CAAC,GAAM,GAAM,GAAM,GAAM,GAAM,KACxCC,OAAQ,CAAC,CAAC,GAAM,GAAM,GAAM,GAAM,GAAM,KACxCC,KAAM,CACJ,CACE,GACA,GACA,GACA,eACA5ukB,OACAA,OACAA,EAEA,GACA,GACA,GACA,KAGJ6ukB,IAAK,CACH,CAAC,GAAM,KACN,GAAM,KACN,GAAM,KACN,GAAM,KACN,GAAM,KACN,GAAM,MAiBPC,EAA+BrK,EAAS0J,aAAaW,4BAA8B,SACrFC,EACAC,GAAAA,IAGItzkB,EACAggE,EAEAuzgB,EACAttf,EACAutf,EAHAn5jB,EAASq4jB,EAAAA,GAMQ,UATrBY,EAAiBA,GAAkBZ,SAAAA,IAUhCW,EAAUvrkB,MACTurkB,EAAUvrkB,gBAAgB2rkB,mBAC1B,WAAYJ,GACZ,UAAWA,EAAAA,MAEN,UAGLj/jB,EAAkBi/jB,GAAAA,IACfG,KAAYb,EAAAA,IACfY,EAAiBZ,EAAqBa,GACjCxzkB,EAAI,EAAGA,EAAIuzkB,EAAej4kB,OAAQ0E,GAAK,EAAG,KAC7CimF,GAAAA,EACKjmB,EAAI,EAAGA,EAAIuzgB,EAAevzkB,GAAG1E,OAAQ0kE,GAAK,EAAG,QAAH,IACzCuzgB,EAAevzkB,GAAGggE,IAGlBuzgB,EAAevzkB,GAAGggE,KAAOqzgB,EAAUrzgB,GAAI,CACzCimB,GAAAA,EAAgB,cAIhBA,EAAwB,CAC1B5rE,EAASm5jB,EAAAA,KAAAA,CAAAA,MAAAA,IAMVA,KAAYb,EAAAA,IACfY,EAAiBZ,EAAqBa,GACjCxzkB,EAAI,EAAGA,EAAIuzkB,EAAej4kB,OAAQ0E,GAAK,EAAG,KAC7CimF,GAAAA,EACKjmB,EAAI,EAAGA,EAAIuzgB,EAAevzkB,GAAG1E,OAAQ0kE,GAAK,EAAG,QAAH,IACzCuzgB,EAAevzkB,GAAGggE,IAGlBuzgB,EAAevzkB,GAAGggE,KAAOqzgB,EAAU73jB,WAAWwkD,GAAI,CACpDimB,GAAAA,EAAgB,cAIhBA,EAAwB,CAC1B5rE,EAASm5jB,EAAAA,KAAAA,CAAAA,CAAAA,OAObn5jB,IAAWq4jB,GAAWY,IAAmBZ,IAC3Cr4jB,EAASi5jB,GAEJj5jB,CAAAA,EAILq5jB,EAAW,SAAXA,EAAoBr8L,GAAAA,IAAAA,IAClBn9R,EAAM1/G,KAAKswjB,SAASz0iB,MACpBygjB,EAAYt8jB,KAAKswjB,SAASgM,UAG1B/4jB,GAAAA,EAFavD,KAAKswjB,SAAS+L,eAGW,IAAnC94jB,EAAOG,QAAQ,gBACpBH,EAAOQ,OAAOR,EAAOG,QAAQ,eAAgB,GAG/Cm5Y,EAAM6/K,SAAW18jB,KAAKswjB,SAAS0K,YAAAA,IAE3B8B,EAAsB,MAC1BA,EAAoBr6jB,KAAK,CAAEzB,IAAK,OAAQ4C,MAAO,aAC/Ck5jB,EAAoBr6jB,KAAK,CAAEzB,IAAK,UAAW4C,MAAO,WAClDk5jB,EAAoBr6jB,KAAK,CAAEzB,IAAK,QAAS4C,MAAOi5Y,EAAMrtX,QACtDstiB,EAAoBr6jB,KAAK,CAAEzB,IAAK,SAAU4C,MAAOi5Y,EAAMptX,SAEnDotX,EAAMs8L,aAAeC,EAAaC,QACpCvc,EAAoBr6jB,KAAK,CACvBzB,IAAK,aACL4C,MACE,yBAECi5Y,EAAMy8L,QAAQx4kB,OAAS,EAAI,GAC5B,KACC,UAAW+7Y,QAAAA,IAAgBA,EAAM08L,MAC9B18L,EAAM6/K,SAAW,EACjB7/K,EAAM6/K,SAAW,GACrB,WAGJI,EAAoBr6jB,KAAK,CACvBzB,IAAK,aACL4C,MAAO,IAAMi5Y,EAAMs8L,aAEjBt8L,EAAMs8L,aAAeC,EAAaI,aACpC1c,EAAoBr6jB,KAAK,CAAEzB,IAAK,SAAU4C,MAAO,uBAGrDk5jB,EAAoBr6jB,KAAK,CACvBzB,IAAK,mBACL4C,MAAOi5Y,EAAM48L,mBAGb,qBAAsB58L,QAAAA,IACfA,EAAM68L,kBAEb5c,EAAoBr6jB,KAAK,CACvBzB,IAAK,cACL4C,MAAO,KAAOi5Y,EAAM68L,iBAAmB,OAGvC,iBAAkB78L,GAASxnY,MAAM8C,QAAQ0kY,EAAM88L,cAAe,SAC5DA,EAAe,GACjBn0kB,EAAI,EACJkC,EAAMm1Y,EAAM88L,aAAa74kB,OACpB0E,EAAIkC,EAAKlC,IACdm0kB,GACE98L,EAAM88L,aAAan0kB,GAAK,IAAMq3Y,EAAM88L,aAAan0kB,GAAK,IAE1Ds3jB,EAAoBr6jB,KAAK,CACvBzB,IAAK,OACL4C,MAAO,IAAM+1kB,EAAe,eAGrB98L,EAAM08L,OACfzc,EAAoBr6jB,KAAK,CACvBzB,IAAK,QACL4C,MAAOi5Y,EAAM6/K,SAAW,EAAI,aAI5BH,OAAAA,IACK1/K,EAAMt5Y,OAAyB,CAAC,IAAMs5Y,EAAMt5Y,aAAU,EAAAuG,GAE/DwyjB,EAAU,CACRhvjB,KAAMuvY,EAAMvvY,KACZwvjB,oBAAqBA,EACrBP,sBAAuBA,EACvBG,SAAU7/K,EAAM6/K,WAGlBh9c,EAAI,UAGA,UAAWm9R,QAAAA,IAAgBA,EAAM08L,MAAuB,KACtDG,EACF,cACA78L,EAAM+8L,UACN,gCACA/8L,EAAM48L,iBACN,aACA58L,EAAMrtX,MACJ+pjB,EAAQ,CACV/pjB,MAAOqtX,EAAMrtX,MACbC,OAAQotX,EAAMptX,OACd0pjB,WAAY,aACZM,iBAAkB58L,EAAM48L,iBACxBC,iBAAkBA,EAClBpskB,KAAMuvY,EAAM08L,OAEV,WAAY18L,IACd08L,EAAMh2kB,OAASs5Y,EAAMt5Y,QAEvB21kB,EAAStlkB,KAAK5T,KAAMu5kB,EAAAA,CAAAA,GAIlB18L,EAAMs8L,aAAeC,EAAaC,QAAS,KACzC/d,EAAQt7jB,KAAKswjB,SAAS0K,YAG1BsB,EAAU,CACRhvjB,KAAMuskB,EAA0B,IAAIx5jB,WAAWw8X,EAAMy8L,UACrD5c,SAAUpB,IAEZ57c,EAAI,YAGJo6d,EAAuB,eACrBC,EAAS/5kB,KAAKswjB,SAASwd,YAAdkM,gBAAA,IACR,IAAIx0kB,KAAKu0kB,EACZb,EAAStlkB,KAAK5T,KAAM+5kB,EAAOv0kB,GAAAA,EAG3By0kB,EAA0B,eAG1Bp9L,EAFEk9L,EAAS/5kB,KAAKswjB,SAASwd,YAAdkM,gBACXt6d,EAAM1/G,KAAKswjB,SAASz0iB,MAAAA,IAEjB,IAAIrW,KAAKu0kB,EAEZr6d,EAAI,MADJm9R,EAAQk9L,EAAOv0kB,IACEiO,MAAOopY,EAAM6/K,SAAU,IAAK,MAS7Cwd,EAAa,WACVl6kB,KAAKswjB,SAASwd,YAAdkM,kBAAAA,KACE1pB,SAASwd,YAAdkM,gBAAkD,CAAC,EAAD,KAC7C1pB,SAAS1iiB,OAAOvc,UAAU,eAAgByokB,GAAAA,KAC1CxpB,SAAS1iiB,OAAOvc,UAAU,iBAAkB4okB,GAAAA,EAIjDE,EAAY,eACVJ,EAAS/5kB,KAAKswjB,SAASwd,YAAdkM,gBAAA,OACbE,EAAWtmkB,KAAK5T,MACT+5kB,CAAAA,EAELK,EAAgB,kBACX15kB,OAAOE,KAAKZ,KAAKswjB,SAASwd,YAAdkM,iBAAiDl5kB,MAAAA,EAelEu5kB,EAAuB,SAAShykB,GAAAA,MACyB,mBAA7CkmkB,EAAS,UAAYlmkB,EAAKkH,cAAAA,EAGtC+qkB,EAAe,SAASh4iB,GAAAA,MACD,YAAlBwvS,EAAAA,EAAAA,GAAOxvS,IAA2C,IAApBA,EAAOh7B,QAAAA,EAG1CizkB,EAA0B,SAASlqjB,EAAS/D,GAAAA,GAErB,QAArB+D,EAAQkO,UAAsBlO,EAAQ8zF,aAAa,OAAQ,KACzDl4C,EAAM,GAAK57C,EAAQivB,aAAa,UAGD,IAA/B2sB,EAAIvoE,QAAQ,sBACPynjB,GACL78iB,SAAS29D,GACN5oE,MAAM,WACN0b,OAAAA,IAKHy7jB,EAAejM,EAASkM,SAASxugB,GAAAA,GAAK,YACtCuugB,EAAAA,OACKA,CAAAA,CAAAA,GAIc,WAArBnqjB,EAAQkO,SAAuB,IACX,IAAlBlO,EAAQb,OAAkC,IAAnBa,EAAQZ,OAAAA,MAC3B,IAAItvB,MACR,8CACEkwB,EAAQb,MACR,aACAa,EAAQZ,QAAAA,IAGVirjB,EAAAA,OACIpujB,GAAAA,IACD,MACHoujB,EAAW,sBAER,OACHA,EAAW,mBAGR,QAEHA,EAAW,oBAGRvvB,GACL96hB,EACGsqjB,UAAUD,EAAU,GACpBr3kB,MAAM,WACN0b,MAAAA,CAAAA,EAKL67jB,EAAsB,SAASpphB,GAAAA,IAC7BuohB,EAAS/5kB,KAAKswjB,SAASwd,YAAdkM,gBAAA,GACTD,EAAAA,IACG,IAAIn3kB,KAAKm3kB,EAAAA,GACRvohB,IAAUuohB,EAAOn3kB,GAAG4uD,MAAO,OACtBuohB,EAAOn3kB,EAAAA,EAMlBi4kB,EAA0B,SAASrrjB,EAAOC,EAAQotX,GAAAA,OAC/CrtX,GAAUC,IACbD,GAAS,GACTC,GAAU,IAERD,EAAQ,IACVA,GAAU,EAAIqtX,EAAMrtX,MAAQ,GAAMA,EAAQxvB,KAAKswjB,SAAS8C,aAEtD3jiB,EAAS,IACXA,GAAW,EAAIotX,EAAMptX,OAAS,GAAMA,EAASzvB,KAAKswjB,SAAS8C,aAE/C,IAAV5jiB,IACFA,EAASC,EAASotX,EAAMrtX,MAASqtX,EAAMptX,QAE1B,IAAXA,IACFA,EAAUD,EAAQqtX,EAAMptX,OAAUotX,EAAMrtX,OAGnC,CAACA,EAAOC,EAAAA,EAGbqrjB,EAAkB,SAAShtiB,EAAGsH,EAAG5lB,EAAOC,EAAQotX,EAAOk+L,GAAAA,IACrDC,EAAOH,EAAwBjnkB,KAAK5T,KAAMwvB,EAAOC,EAAQotX,GAC3Do+L,EAAQj7kB,KAAKswjB,SAASud,oBACtBqN,EAASl7kB,KAAKswjB,SAAS4a,4BAErB6O,EAASI,EAAUvmkB,KAAK5T,MAAAA,GAE5BwvB,EAAQwrjB,EAAK,GACbvrjB,EAASurjB,EAAK,GACdjB,EAAOl9L,EAAMppY,OAASopY,EAElBk+L,EAAU,CACZA,GAAYjikB,KAAKkwf,GAAK,QAClBr1f,EAAImF,KAAK0tjB,IAAIuU,GACb34jB,EAAItJ,KAAK2tjB,IAAIsU,GAEbI,EAAK,SAASllkB,GAAAA,OACTA,EAAO6xO,QAAQ,IAEpBszV,EAA+B,CACjCD,EAAGxnkB,GACHwnkB,EAAG/4jB,GACH+4jB,GAAQ,EAAL/4jB,GACH+4jB,EAAGxnkB,GACH,EACA,EACA,WAGC28iB,SAASz0iB,MAAM,KAChBk/jB,GAAAA,KACGzqB,SAASz0iB,MACZ,CAAC,EAAG,IAAK,IAAK,EAAGo/jB,EAAMntiB,GAAIotiB,EAAO9liB,EAAI3lB,GAAS,MAAM/T,KAAK,WAEvD40iB,SAASz0iB,MAAMu/jB,EAA6B1/jB,KAAK,WACjD40iB,SAASz0iB,MACZ,CAACo/jB,EAAMzrjB,GAAQ,IAAK,IAAKyrjB,EAAMxrjB,GAAS,IAAK,IAAK,MAAM/T,KAAK,YAG1D40iB,SAASz0iB,MACZ,CACEo/jB,EAAMzrjB,GACN,IACA,IACAyrjB,EAAMxrjB,GACNwrjB,EAAMntiB,GACNotiB,EAAO9liB,EAAI3lB,GACX,MACA/T,KAAK,MAIP1b,KAAK6zjB,iBAAAA,KAEFvD,SAASz0iB,MAAM,CAAC,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,MAAMH,KAAK,WAGhD40iB,SAASz0iB,MAAM,KAAOghY,EAAMppY,MAAQ,YACpC68iB,SAASz0iB,MAAM,MAMlBu9jB,EAAgB7K,EAAS6K,aAAe,CAC1CiC,WAAY,YACZC,YAAa,aACb9B,YAAa,aACb+B,SAAU,UACVC,QAAS,SACTC,IAAK,MACLC,UAAW,WACXrC,QAAS,UACTsC,QAAS,UACTC,WAAY,aACZC,SAAU,WAMZtN,EAASuN,OAAS,CAChBC,WAAY,YACZC,aAAc,cACdC,WAAY,YACZC,WAAY,YACZC,aAAc,cACdC,eAAgB,gBAChBC,iBAAkB,iBAClBC,kBAAmB,kBACnBC,iBAAkB,sBAMhBC,EAAqBjO,EAASiO,kBAAoB,CACpDC,KAAM,OACNC,KAAM,OACNC,OAAQ,SACRC,KAAM,QASJC,EAAatO,EAAS0J,aAAa4E,UAAY,SAASvvkB,GAAAA,IAExD9H,EACAkC,EAFE2V,EAAO,KAIS,iBAAT/P,EAAAA,IACT5F,EAAM4F,EAAKxM,OACN0E,EAAI,EAAGA,EAAIkC,EAAKlC,IACnB6X,GAAQA,GAAQ,GAAKA,EAAO/P,EAAK0T,WAAWxb,GAC5C6X,GAAQ,OAEL,GAAIzD,EAAkBtM,GAAAA,IAC3B5F,EAAM4F,EAAKwvkB,WAAa,EACnBt3kB,EAAI,EAAGA,EAAIkC,EAAKlC,IACnB6X,GAAQA,GAAQ,GAAKA,EAAO/P,EAAK9H,GACjC6X,GAAQ,SAGLA,CAAAA,EAaL0/jB,EAA0BxO,EAAS0J,aAAa8E,uBAAyB,SAC3EC,IAEAA,EAAuBA,GAAwB,IAC1B3jkB,WAAWuB,OAAAA,IAE5BiF,GAAAA,EAAS,OAEuB,IAAhCm9jB,EAAqBl8kB,SACvB+e,GAAAA,GAGEm9jB,EAAqBl8kB,OAAS,GAAM,IACtC+e,GAAAA,IAAS,IAIT,mBAAmBnD,KACjBsgkB,EAAqB/+jB,OAAO,EAAG++jB,EAAqBl8kB,OAAS,MAG/D+e,GAAAA,IAAS,IAIT,gDAAgDnD,KAC9CsgkB,EAAqB/+jB,QAAQ,MAG/B4B,GAAAA,GAEKA,CAAAA,EAeLo9jB,EAA2B1O,EAAS0J,aAAagF,wBAA0B,SAC7EC,GAAAA,IAGIC,GADJD,EAAUA,GAAW,IACM75kB,MAAM,WAC7Bwc,EAAS,QAEe,IAAxBs9jB,EAAar8kB,OAAc,KACzBs8kB,EAAgB,sDAAsDl/jB,KACxEi/jB,EAAa,IAEX9nkB,MAAM8C,QAAQilkB,KAChBv9jB,EAAS,CACP66jB,SAAU0C,EAAc,GACxBx/P,QAASw/P,EAAc,GACvB9vkB,KAAM6vkB,EAAa,YAIlBt9jB,CAAAA,EAULw9jB,EAAuB9O,EAAS0J,aAAaoF,oBAAsB,iBAE5C,oBAAhB98jB,aAAqD,oBAAfF,UAAAA,EAajDkujB,EAAS0J,aAAa1+jB,cAAgB,SAAS+oB,GAAAA,OACtC+6iB,KAAyB/6iB,aAAkB/hB,WAAAA,EAAAA,IAWhD3G,EAAqB20jB,EAAS0J,aAAar+jB,kBAAoB,SACjE0oB,GAAAA,OAGE+6iB,KACuB,oBAAhB95B,cACNjhhB,aAAkBg7iB,WACjBh7iB,aAAkBjiB,YACY,oBAAtB44jB,mBACN32iB,aAAkB22iB,mBACpB32iB,aAAkBi7iB,YAClBj7iB,aAAkB+ghB,aAClB/ghB,aAAkB47O,YAClB57O,aAAkBihhB,aAClBjhhB,aAAkBk7iB,cAClBl7iB,aAAkBm7iB,aAAAA,EAapBC,EAA4BnP,EAAS0J,aAAayF,yBAA2B,SAC/EC,GAAAA,IAAAA,IAEIj2kB,EAAMi2kB,EAAc78kB,OACpButkB,EAAQ,IAAIhujB,WAAW3Y,GAClBlC,EAAI,EAAGA,EAAIkC,EAAKlC,IACvB6okB,EAAM7okB,GAAKm4kB,EAAc38jB,WAAWxb,GAAAA,OAE/B6okB,CAAAA,EAaLwL,EAA6BtL,EAAS0J,aAAa4B,0BAA4B,SACjFhgkB,GAAAA,IAAAA,IAEI6lG,EAAM,GAGNslc,EAAMpriB,EAAkBC,GAAUA,EAAS,IAAIwG,WAAWxG,GACrDrU,EAAI,EAAGA,EAAIw/iB,EAAIlkjB,OAAQ0E,GAzsBV,KA6sBpBk6G,GAAOl+F,OAAO0wD,aAAa58D,MACzB,KACA0viB,EAAIH,SAASr/iB,EAAGA,EA/sBE,cAktBfk6G,CAAAA,EA8BT6ud,EAASqP,SAAW,eACd/E,EAAWvsjB,EAAQwhB,EAAGsH,EAAG2E,EAAG5iC,EAAGq6C,EAAOqshB,EAAa9C,EAAAA,GAG3B,iBAAjB15kB,UAAU,IACnBirB,EAAS4rjB,EACTpqiB,EAAIzsC,UAAU,GACd+zC,EAAI/zC,UAAU,GACd04C,EAAI14C,UAAU,GACd8V,EAAI9V,UAAU,GACdmwD,EAAQnwD,UAAU,GAClBw8kB,EAAcx8kB,UAAU,GACxB05kB,EAAW15kB,UAAU,KAErBirB,EAASjrB,UAAU,GACnBysC,EAAIzsC,UAAU,GACd+zC,EAAI/zC,UAAU,GACd04C,EAAI14C,UAAU,GACd8V,EAAI9V,UAAU,GACdmwD,EAAQnwD,UAAU,GAClBw8kB,EAAcx8kB,UAAU,GACxB05kB,EAAW15kB,UAAU,IAIA,YAArBywU,EAAAA,EAAAA,GAtBF+mQ,EAAYx3kB,UAAU,MAuBnBi5kB,EAAazB,IACd,cAAeA,EACf,KACI7hkB,EAAU6hkB,EAEdA,EAAY7hkB,EAAQ6hkB,UACpBvsjB,EAAStV,EAAQsV,QAAUA,GAAU4rjB,EACrCpqiB,EAAI92B,EAAQ82B,GAAKA,GAAK,EACtBsH,EAAIp+B,EAAQo+B,GAAKA,GAAK,EACtB2E,EAAI/iC,EAAQ+iC,GAAK/iC,EAAQwY,OAASuqB,EAClC5iC,EAAIH,EAAQG,GAAKH,EAAQyY,QAAUtY,EACnCq6C,EAAQx6C,EAAQw6C,OAASA,EACzBqshB,EAAc7mkB,EAAQ6mkB,aAAeA,EACrC9C,EAAW/jkB,EAAQ+jkB,UAAY/jkB,EAAQ27J,OAASooa,CAAAA,CAAAA,IAI9Cx3kB,EAASvD,KAAKswjB,SAAS+L,aAAAA,QAAAA,IACvBwhB,IAAgE,IAAnCt6kB,EAAOG,QAAQ,iBAC9Cm6kB,EAAc,QAGZ1ykB,MAAM2iC,IAAM3iC,MAAMiqC,GAAAA,MACd,IAAIj1C,MAAM,gDAGlB+5kB,EAAWtmkB,KAAK5T,MAAAA,IAEZ68Y,EAAQihM,EAAiBlqkB,KAC3B5T,KACA64kB,EACAvsjB,EACAklC,EACAqshB,GAAAA,OAGF/C,EAAgBlnkB,KAAK5T,KAAM8tC,EAAGsH,EAAG2E,EAAG5iC,EAAG0lY,EAAOk+L,GAEvC/6kB,IAAAA,EAAAA,IAGL89kB,EAAmB,SAASjF,EAAWvsjB,EAAQklC,EAAOqshB,GAAAA,IACpDh+jB,EAAQk+jB,EA/fYn6kB,EAAAA,GAkgBD,iBAAdi1kB,GACPD,EAA4BC,KAAeX,EAC3C,CACAW,EAAYvqkB,SAASuqkB,GAAAA,IACjB2B,EAAewD,EAA4BnF,GAAAA,IAE1B,KAAjB2B,QAAAA,KAGFA,EAAejM,EAASkM,SAAS5B,GAAAA,OAFjCA,EAAY2B,EAAAA,CAAAA,GASZF,EAAazB,KACfA,EAAY0B,EAAwB1B,EAAWvsjB,IAGjDA,EAASssjB,EAA4BC,EAAWvsjB,IAC3C+tjB,EAAqB/tjB,GAAAA,MAClB,IAAInsB,MACR,4CACEmsB,EACA,uCACAA,EACA,2BA5hBC,OADiB1oB,EAmiBT4tD,IAliB2D,IAAjB5tD,EAAM9C,UAmiB7D0wD,EAjiB6B,SAASqnhB,GAAAA,MACf,iBAAdA,GAA0Bj/jB,EAAkBi/jB,GAC9CgE,EAAUhE,GACRj/jB,EAAkBi/jB,EAAUvrkB,MAC9BuvkB,EAAUhE,EAAUvrkB,MAGtB,KAPwB,CAiiBMurkB,KAErCh5jB,EAAS+6jB,EAAoBhnkB,KAAK5T,KAAMwxD,MAGlC6rhB,MAEIxE,aAAqBx4jB,YAA0B,SAAXiM,IACxCyxjB,EAAqBlF,EACrBA,EAAY6E,EAAyB7E,KAIzCh5jB,EAAS7f,KAAK,UAAYssB,EAAO/c,eAC/BspkB,EACAuB,EAAcxmkB,KAAK5T,MACnBwxD,EAzkBmB,SAAS5tD,GAAAA,OAC5BA,GAA0B,iBAAVA,IAAoBA,EAAQA,EAAM2L,eAC/C3L,KAAS2qkB,EAASiO,kBAAoB54kB,EAAQ44kB,EAAkBC,IAAAA,CAFhD,CA0kBAoB,GACnBE,KAICl+jB,EAAAA,MACG,IAAI1f,MAAM,iEAEX0f,CAAAA,EASLm+jB,EAA+BzP,EAAS0J,aAAa+F,4BAA8B,SACrFC,EACAt0kB,GAAAA,IAGIu0kB,EADJv0kB,EAAmC,kBAAfA,GAA2BA,EAAAA,IAG3Cy+D,EADAywgB,EAAY,MAGU,iBAAfoF,EAAyB,CAElC71gB,EAAyB,QADzB81gB,EAAajB,EAAwBgB,IACLC,EAAW5wkB,KAAO2wkB,EAAAA,IAGhDpF,EAAY1tB,GAAK/if,EAAAA,CACjB,MAAOxlE,GAAAA,GACH+G,EAAAA,MACGozkB,EAAuB30gB,GAKpB,IAAIjoE,MACR,mDAAqDyC,EAAE6G,SALnD,IAAItJ,MACR,yFAUH04kB,CAAAA,EASTtK,EAAS4P,mBAAqB,SAAStF,GAAAA,IACjCh8L,EAEAvwX,EADAkujB,EAAe,MAGfF,EAAazB,KACfA,EAAY0B,EAAwB1B,IAIf,iBAAdA,GACPD,EAA4BC,KAAeX,IAItB,MAFrBsC,EAAewD,EAA4BnF,GAAAA,MAGzC2B,EAAejM,EAASkM,SAAS5B,IAAc,IAEjDA,EAAY2B,GAGdlujB,EAASssjB,EAA4BC,IAChCwB,EAAqB/tjB,GAAAA,MAClB,IAAInsB,MACR,4CACEmsB,EACA,uCACAA,EACA,2BAIF+wjB,KAA2BxE,aAAqBx4jB,aAClDw4jB,EAAY6E,EAAyB7E,MAGvCh8L,EAAQ78Y,KAAK,UAAYssB,EAAO/c,eAAespkB,IAAAA,MAGvC,IAAI14kB,MAAM,gEAGlB08Y,EAAMm8L,SAAW1sjB,EAEVuwX,CAAAA,CAAAA,CAx9BX,CA09BG8yK,GAAMU,KCt8BT,SAAUke,GAAAA,IAGJ6P,EAAW,SAASvnkB,GAAAA,QAAAA,IACXA,GACE,IAAPA,EAAAA,OAAAA,CACK,EAKb84iB,GAAMU,IAAIziiB,OAAOnrB,KAAK,CACpB,UACA,SAAS47kB,GACQr+kB,KAAKswjB,SAASkU,YAAY6Z,EAAYjhB,YAC5Ca,YAAY2T,YAAc,MAIvCrD,EAAS3gjB,OAAOnrB,KAAK,CACnB,UACA,SAAS67kB,GAAAA,IAAAA,IAOHC,EAAMxggB,EAAM//D,EANZitjB,EAAgCjrkB,KAAKswjB,SAASud,oBAC9C3C,EAA8BlrkB,KAAKswjB,SACpC4a,4BACCsT,EAAWx+kB,KAAKswjB,SAASoU,mBAAmB4Z,EAAYhjB,OACxDmjB,EAAYH,EAAYrgB,YAAY2T,YAGpC8M,GAAAA,EACK99jB,EAAI,EAAGA,EAAI69jB,EAAU39kB,SAAW49kB,EAAO99jB,IAAAA,QAC9C29jB,EAAOE,EAAU79jB,IACJvY,MAAAA,IACN,QAED+1kB,EAASG,EAAKvnkB,QAAQpI,MACtBwvkB,EAASG,EAAKvnkB,QAAQomjB,eAEtBshB,GAAAA,GAAQ,UAGP,gBACA,WACA,WACHA,GAAAA,EAAQ,GAID,GAATA,EAAAA,CAAAA,KAICpuB,SAASz0iB,MAAM,iBACf,IAAIrW,EAAI,EAAGA,EAAIi5kB,EAAU39kB,OAAQ0E,IAAK,CACzC+4kB,EAAOE,EAAUj5kB,GAAAA,IACbu9G,EAAS/iH,KAAKswjB,SAASyQ,UACvBpE,EAAY38jB,KAAKswjB,SAASyd,aAAauQ,EAAYhjB,OAAAA,OAE/CijB,EAAKl2kB,MAAAA,IACN,iBAEEiojB,SAASz0iB,MAAM,IAAM0ikB,EAAKj8iB,OAAOg5hB,MAAQ,mBAE3C,WAECqjB,EAAU3+kB,KAAKswjB,SAAS+K,sBACxBujB,EAAW5+kB,KAAKswjB,SAAS+K,sBACzBwjB,EAAgB7+kB,KAAKswjB,SAASyd,aAAa4Q,EAAQrjB,OAEnDjoc,EAAQkrd,EAAKlrd,OAAS,OAY1Br1G,EACE,kCAZF+/D,EACE,UACAktf,EAA8BsT,EAAKjkiB,OAAOxM,GAC1C,IACAo9hB,EAA4BqT,EAAKjkiB,OAAOlF,EAAImpiB,EAAKjkiB,OAAOnjC,GACxD,IACA8zjB,EAA8BsT,EAAKjkiB,OAAOxM,EAAIywiB,EAAKjkiB,OAAOP,GAC1D,IACAmxhB,EAA4BqT,EAAKjkiB,OAAOlF,GACxC,MAOA,cACA2tE,EAAO87d,EAAcN,EAAKxlhB,WAC1B,IACF/6C,GAAQ,WAAa4gkB,EAAStjB,MAAQ,OACtCt9iB,GAAQ,OAASwgkB,EAASljB,MAAQ,OAClCt9iB,GAAQ,QAAU+kG,EAAO87d,EAAcxrd,IAAU,OACjDsrd,EAAQ59jB,QAAU/C,EAAAA,IAEduhC,EAASo/hB,EAAQrjB,MAAQ,OAc7Bt9iB,EACE,mCAbF+/D,EACE,UACAktf,EAA8BsT,EAAKjkiB,OAAOxM,EAH/B,IAIX,IACAo9hB,EAA4BqT,EAAKjkiB,OAAOlF,EAAImpiB,EAAKjkiB,OAAOnjC,GACxD,IACA8zjB,EACEsT,EAAKjkiB,OAAOxM,EAAIywiB,EAAKjkiB,OAAOP,EARnB,IAUX,IACAmxhB,EAA4BqT,EAAKjkiB,OAAOlF,GACxC,MAMA,YACAmK,EACEg/hB,EAAKlvkB,OACP2O,GAAQ,eAEVA,GAAQ,MACR4gkB,EAAS79jB,QAAU/C,EAAAA,KAEdsyiB,SAASz0iB,MAAM8ikB,EAAQrjB,MAAO,MAAOsjB,EAAStjB,MAAO,iBAGvD,WACHv9e,EACE,UACAktf,EAA8BsT,EAAKjkiB,OAAOxM,GAC1C,IACAo9hB,EAA4BqT,EAAKjkiB,OAAOlF,GACxC,IACA61hB,EAA8BsT,EAAKjkiB,OAAOxM,EAAIywiB,EAAKjkiB,OAAOP,GAC1D,IACAmxhB,EAA4BqT,EAAKjkiB,OAAOlF,EAAImpiB,EAAKjkiB,OAAOnjC,GACxD,SACE0rL,EAAQ07Y,EAAK17Y,OAAS,UAC1B7kL,EACE,qCAGA+/D,EACA,cACAglC,EAAO45c,EAAU4hB,EAAKxlhB,WACtB,IACF/6C,GACE,mEACA6kL,EACA,IACF7kL,GAAQ,mBACRA,GAAQ,WACHsyiB,SAASz0iB,MAAMmC,GAAAA,MAAAA,IAEjB,UACCugkB,EAAKvnkB,QAAQnM,KAAM,KACjBi0kB,EAAM9+kB,KAAK4xkB,YAAYmN,SAASR,EAAKvnkB,QAAQnM,MACjD0zkB,EAAKvnkB,QAAQomjB,WAAa0hB,EAAIlja,KAC9B2ia,EAAKvnkB,QAAQ8U,IAAMgzjB,EAAI1piB,CAAAA,MAElBmpiB,EAAKvnkB,QAAQ8U,MAChByyjB,EAAKvnkB,QAAQ8U,IAAM,MAIvBiyD,EACE,UACAwggB,EAAKS,YAAYlxiB,EACjB,IACAywiB,EAAKS,YAAY5piB,EACjB,IACAmpiB,EAAKS,YAAYjliB,EACjB,IACAwkiB,EAAKS,YAAY7nkB,EACjB,KAEF6G,EAAO,GACHugkB,EAAKvnkB,QAAQpI,IACfoP,EACE,iCACA+/D,EACA,sCACAglC,EAAO45c,EAAU4hB,EAAKvnkB,QAAQpI,MAC9B,YACG,GAAI2vkB,EAAKvnkB,QAAQomjB,WAAY,OAGlCp/iB,EACE,iCACA+/D,EACA,0BAJS/9E,KAAKswjB,SAASkU,YAAY+Z,EAAKvnkB,QAAQomjB,YAK3C9B,MACL,OACFijB,EAAKvnkB,QAAQiokB,UAAYV,EAAKvnkB,QAAQiokB,WAAa,MAC3CV,EAAKvnkB,QAAQiokB,WAAAA,IACd,MACHjhkB,GAAQ,mBAEL,OACHA,GAAQ,UAAYugkB,EAAKvnkB,QAAQ8U,IAAM,cAEpC,OACHyyjB,EAAKvnkB,QAAQs9B,KAAOiqiB,EAAKvnkB,QAAQs9B,MAAQ,EACzCt2B,GAAQ,UAAYugkB,EAAKvnkB,QAAQs9B,KAAO,UAErC,YAECxoB,EAAMo/iB,EAA4BqT,EAAKvnkB,QAAQ8U,KACnDyyjB,EAAKvnkB,QAAQs9B,KAAOiqiB,EAAKvnkB,QAAQs9B,MAAQ,WAE9BiqiB,EAAKvnkB,QAAQ8wB,OACtBy2iB,EAAKvnkB,QAAQ8wB,KAAO,GAEtB9pB,GACE,SACAugkB,EAAKvnkB,QAAQs9B,KACb,IACAxoB,EACA,IACAyyjB,EAAKvnkB,QAAQ8wB,KACb,IAKI,IAAR9pB,IACFA,GAAQ,WACHsyiB,SAASz0iB,MAAMmC,IAAAA,CAAAA,KAKvBsyiB,SAASz0iB,MAAM,SASxB0yjB,EAAS2Q,iBAAmB,SAASlokB,GAAAA,IAC/BwnkB,EAAWx+kB,KAAKswjB,SAASqU,qBAAAA,OACrB3tjB,EAAQ3O,MAAAA,IACT,YACE29O,KACHhvO,EAAQsjC,OAAOxM,EACf92B,EAAQsjC,OAAOlF,EACfp+B,EAAQsjC,OAAOP,EACf/iC,EAAQsjC,OAAOnjC,EACfH,GAAAA,MAAAA,IAGC,WACA,WACHwnkB,EAASvgB,YAAY2T,YAAYnvkB,KAAKuU,GAAAA,EAmB5Cu3jB,EAASvoV,KAAO,SAASl4M,EAAGsH,EAAG2E,EAAG5iC,EAAGH,GAAAA,IAC/BwnkB,EAAWx+kB,KAAKswjB,SAASqU,qBACzBsG,EAAgCjrkB,KAAKswjB,SAASud,oBAC9C3C,EAA8BlrkB,KAAKswjB,SAAS4a,4BAEhDsT,EAASvgB,YAAY2T,YAAYnvkB,KAAK,CACpCu8kB,YAAa,CACXlxiB,EAAGm9hB,EAA8Bn9hB,GACjCsH,EAAG81hB,EAA4B91hB,GAC/B2E,EAAGkxhB,EAA8Bn9hB,EAAIiM,GACrC5iC,EAAG+zjB,EAA4B91hB,EAAIj+B,IAErCH,QAASA,EACT3O,KAAM,UAgBVkmkB,EAAS4Q,aAAe,SAASj3kB,EAAM4lC,EAAGsH,EAAGp+B,GAAAA,IAGvCookB,EAAYC,EAFZC,EAAiBt/kB,KAAKu/kB,aAAar3kB,GACnCytS,EAAa31S,KAAKswjB,SAASnuM,gBAAkBniX,KAAKswjB,SAAS8C,YAAAA,QAAAA,IAI3Dp8iB,EAAQisK,SAAwB,CAElCo8Z,EADmBrokB,EAAbisK,SAAAA,IAEFu8Z,EAAax/kB,KAAKomkB,gBAAgBl+jB,EAAMm3kB,GAAWv+kB,OACvDs+kB,EAAatmkB,KAAK4pG,KAAKizL,EAAa6pS,EAAAA,MAEpCH,EAAYC,EACZF,EAAazpS,EAAAA,OAAAA,KAGVztS,KAAKA,EAAM4lC,EAAGsH,EAAGp+B,GAItBo+B,GAAkB,GAAbugQ,EAEiB,WAAlB3+R,EAAQmjC,QACVrM,GAAQwxiB,EAAiB,GAEL,UAAlBtokB,EAAQmjC,QACVrM,GAAQwxiB,GAAAA,KAELt5V,KAAKl4M,EAAGsH,EAAIugQ,EAAY0pS,EAAWD,EAAYpokB,GAC7CsokB,CAAAA,EAUT/Q,EAASgR,aAAe,SAASr3kB,GAAAA,IAC3Bu9J,EAAWzlK,KAAKswjB,SAASiD,cAAAA,OAE1BvzjB,KAAKsnkB,mBAAmBp/jB,GAAQu9J,EAAYzlK,KAAKswjB,SAAS8C,WAAAA,CAAAA,CAvVjE,CA4VGzD,GAAMU,KCrYT,SAAUke,GAAAA,IAOJkR,EAAoB,MACd,CAAC,YACD,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAO,YACxB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,YACD,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACz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CA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGEC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEC,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7DC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,EAA0B,CAC5B,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,EACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGEC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEC,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,EAA4B,CAC9B,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,GACA,IACA,EACA,GACA,GACA,IACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cAuKOC,EAAkBC,EAASC,GAAAA,IAAAA,IAC9BC,EAAY,EACZC,EAAe,EACfC,EAAK,IAAI/rlB,MACJsqF,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAIn6B,EAAI,EAAGA,GAA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3C,KAC1Co0gB,EAAUzB,EAAQ3ygB,IAClBznF,GAAAA,CAAAA,OA5CQ,IA8CN2/lB,GACF9D,EAAUU,GAELH,CAAAA,CAAAA,SA8HA2D,EAAWxP,GAClBA,EAAUj9kB,KAAKoK,IAAIpK,KAAKiK,IAAIgzkB,EAAS,GAAI,KAErCuJ,GAAkBvJ,IAAAA,SA1qBCrtS,GAAAA,IAAAA,IACnB88S,EAAM,CACR,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IAGOhgmB,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBkc,EAAI69kB,GAAQiG,EAAIhgmB,GAAKkjT,EAAK,IAAM,KACpChnS,EAAI5I,KAAKoK,IAAIpK,KAAKiK,IAAIrB,EAAG,GAAI,KAC7B89kB,EAAOc,EAAO96lB,IAAMkc,CAAAA,CAAAA,IAAAA,IAElB+jlB,EAAO,CACT,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAEOjgiB,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBxiD,EAAIu8kB,GAAQkG,EAAKjgiB,GAAKkjP,EAAK,IAAM,KACrC1lS,EAAIlK,KAAKoK,IAAIpK,KAAKiK,IAA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GAAK,MAAQD,EAAE4uR,GAAAA,IACT5sS,IAAOie,GAAKc,GAAKgJ,EAAK9J,GAAKwjL,GAAKzjL,EAAE28R,GAAM18R,GAAK,MAAQD,EAAEioS,EAAAA,MAE5DhoS,EAAI,EACTD,EAAIC,EAAI,EAAI,UAGZ,GAAKD,GAAAA,MACDjN,GAAKA,EAAEgrS,KAAO/9R,EAAIkgS,GAAGv7S,IADVqb,CAAAA,CAAAA,IAIjB02R,GAAK,GACP4J,GAAK,CACH,EACA,EACA,EACA,EACA,GACA,GACA,GACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,UAEFimT,GAAK,GACLnzT,GAAK,GACLuF,GAAK,EACL+H,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEJgc,EAAE,aAAc,iBAChB9zQ,EAAKw+iB,WAAa,kBACT,YAETx+iB,EAAKy+iB,WAAa,SAASrnlB,GAAAA,OAClBA,CAAAA,EAET4oC,EAAK0+iB,WAAa,SAAStnlB,EAAGC,EAAGlN,GAAAA,OACxBkN,EAAElN,EAAI,IAEf61C,EAAK2+iB,WAAa,SAASvnlB,EAAGC,EAAGlN,GAAAA,OACxBkN,EAAElN,EAAI,IAEf61C,EAAK4+iB,WAAa,SAASxnlB,EAAGC,EAAGlN,GAAAA,OACxBkN,EAAElN,EAAI,IAEf61C,EAAK6+iB,WAAa,SAASznlB,EAAGC,EAAGlN,GAAAA,OACxB47R,EAAGA,EAAG3uR,EAAGC,EAAElN,EAAI,IAAKkN,EAAElN,EAAI,KAEnC61C,EAAK8+iB,WAAa,SAAS1nlB,EAAGC,EAAGlN,GAAAA,OACxB47R,EAAG3uR,EAAGC,EAAElN,EAAI,KAErB61C,EAAK++iB,WAAa,SAAS3nlB,EAAGC,EAAGlN,GAAAA,OACxB47R,EAAG3uR,EAAGC,EAAElN,EAAI,KAErB61C,EAAKg/iB,WAAa,SAAS5nlB,EAAGC,EAAGlN,GAAAA,OACxB47R,EAAG1uR,EAAElN,EAAI,GAAIkN,EAAElN,E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H,GAAK,EACL4nB,GAAK,EACLjoB,GAAK,EACLC,GAAK,EACLxG,GAAK,EACLyG,GAAK,GACL6M,GAAK,CAAC,EAAG,EAAG,GACZF,GAAK,CAAC,EAAG,EAAG,IACZhI,GAAK,CAAC,IAAK,IAAK,IAAK,IAAK,IAC1BmI,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,GAClBpzD,GAAK,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpEjG,GAAK,CACH,GACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,GACA,GACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,KAEFi5D,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFp+R,GAAK,EACLqyR,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFC,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFrI,GAAK,KACLqV,GAAK,CACH,CAAC,IAAK,IAAK,IAAK,GAChB,CAAC,IAAK,IAAK,IAAK,IAAK,GACrB,CAAC,I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AK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,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KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,IACA,MACA,MACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,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","sources":["../node_modules/@devextreme/runtime/esm/inferno/effect_host.js","../node_modules/@devextreme/runtime/esm/inferno/base_component.js","../node_modules/@devextreme/runtime/esm/inferno/create_context.js","../node_modules/@devextreme/runtime/esm/inferno/effect.js","../node_modules/@devextreme/runtime/esm/inferno/portal.js","../node_modules/@devextreme/runtime/esm/inferno/re_render_effect.js","../node_modules/@devextreme/runtime/esm/inferno/mocked/shared.js","../node_modules/@devextreme/runtime/esm/inferno/mocked/hydrate.js","../node_modules/@devextreme/runtime/esm/inferno/render_template.js","../node_modules/@devextreme/runtime/esm/inferno/normalize_styles.js","../node_modules/axios/index.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/utils.js","../node_modules/bowser/es5.js","../node_modules/copy-to-clipboard/index.js","../node_modules/devextreme-react/core/component-base.js","../node_modules/devextreme-react/core/component.js","../node_modules/devextreme-react/core/config.js","../node_modules/devextreme-react/core/configuration/comparer.js","../node_modules/devextreme-react/core/configuration/react/element.js","../node_modules/devextreme-react/core/configuration/react/templates.js","../node_modules/devextreme-react/core/configuration/react/tree.js","../node_modules/devextreme-react/core/configuration/tree.js","../node_modules/devextreme-react/core/configuration/utils.js","../node_modules/devextreme-react/core/dx-template.js","../node_modules/devextreme-react/core/extension-component.js","../node_modules/devextreme-react/core/helpers.js","../node_modules/devextreme-react/core/nested-option.js","../node_modules/devextreme-react/core/options-manager.js","../node_modules/devextreme-react/core/template-wrapper.js","../node_modules/devextreme-react/core/template.js","../node_modules/devextreme-react/core/templates-manager.js","../node_modules/devextreme-react/core/templates-renderer.js","../node_modules/devextreme-react/core/templates-store.js","../node_modules/devextreme-react/core/widget-config.js","../node_modules/devextreme-react/list.js","../node_modules/devextreme-react/map.js","../node_modules/devextreme-react/select-box.js","../node_modules/devextreme/esm/animation/frame.js","../node_modules/devextreme/esm/animation/easing.js","../node_modules/devextreme/esm/animation/fx.js","../node_modules/devextreme/esm/animation/position.js","../node_modules/devextreme/esm/animation/translator.js","../node_modules/devextreme/esm/core/action.js","../node_modules/devextreme/esm/core/class.js","../node_modules/devextreme/esm/core/component_registrator_callbacks.js","../node_modules/devextreme/esm/core/component_registrator.js","../node_modules/devextreme/esm/core/config.js","../node_modules/devextreme/esm/core/utils/storage.js","../node_modules/devextreme/esm/core/devices.js","../node_modules/devextreme/esm/core/dom_adapter.js","../node_modules/devextreme/esm/core/options/option_manager.js","../node_modules/devextreme/esm/core/utils/comparator.js","../node_modules/devextreme/esm/core/options/index.js","../node_modules/devextreme/esm/core/postponed_operations.js","../node_modules/devextreme/esm/core/component.js","../node_modules/devextreme/esm/core/template_manager.js","../node_modules/devextreme/esm/core/dom_component.js","../node_modules/devextreme/esm/core/element.js","../node_modules/devextreme/esm/core/element_data.js","../node_modules/devextreme/esm/core/errors.js","../node_modules/devextreme/esm/core/events_strategy.js","../node_modules/devextreme/esm/core/guid.js","../node_modules/devextreme/esm/core/memorized_callbacks.js","../node_modules/devextreme/esm/core/options/utils.js","../node_modules/devextreme/esm/core/renderer_base.js","../node_modules/devextreme/esm/core/renderer.js","../node_modules/devextreme/esm/core/resize_observer.js","../node_modules/devextreme/esm/core/templates/bindable_template.js","../node_modules/devextreme/esm/core/templates/child_default_template.js","../node_modules/devextreme/esm/core/templates/empty_template.js","../node_modules/devextreme/esm/core/templates/function_template.js","../node_modules/devextreme/esm/core/templates/template_base.js","../node_modules/devextreme/esm/core/http_request.js","../node_modules/devextreme/esm/core/utils/ajax.js","../node_modules/devextreme/esm/core/utils/array.js","../node_modules/devextreme/esm/core/utils/array_compare.js","../node_modules/devextreme/esm/core/utils/browser.js","../node_modules/devextreme/esm/core/utils/call_once.js","../node_modules/devextreme/esm/core/utils/callbacks.js","../node_modules/devextreme/esm/core/utils/common.js","../node_modules/devextreme/esm/core/utils/console.js","../node_modules/devextreme/esm/core/utils/data.js","../node_modules/devextreme/esm/core/utils/deferred.js","../node_modules/devextreme/esm/core/utils/dependency_injector.js","../node_modules/devextreme/esm/core/utils/dom.js","../node_modules/devextreme/esm/core/utils/error.js","../node_modules/devextreme/esm/core/version.js","../node_modules/devextreme/esm/core/utils/extend.js","../node_modules/devextreme/esm/core/utils/html_parser.js","../node_modules/devextreme/esm/core/utils/icon.js","../node_modules/devextreme/esm/core/utils/inflector.js","../node_modules/devextreme/esm/core/utils/iterator.js","../node_modules/devextreme/esm/core/utils/math.js","../node_modules/devextreme/esm/core/utils/object.js","../node_modules/devextreme/esm/core/utils/position.js","../node_modules/devextreme/esm/core/utils/public_component.js","../node_modules/devextreme/esm/core/utils/ready_callbacks.js","../node_modules/devextreme/esm/core/utils/resize_callbacks.js","../node_modules/devextreme/esm/core/utils/shadow_dom.js","../node_modules/devextreme/esm/core/utils/size.js","../node_modules/devextreme/esm/core/utils/string.js","../node_modules/devextreme/esm/core/utils/style.js","../node_modules/devextreme/esm/core/utils/support.js","../node_modules/devextreme/esm/core/templates/template_engine_registry.js","../node_modules/devextreme/esm/core/templates/template_engines.js","../node_modules/devextreme/esm/core/templates/template.js","../node_modules/devextreme/esm/core/utils/template_manager.js","../node_modules/devextreme/esm/core/utils/type.js","../node_modules/devextreme/esm/core/utils/variable_wrapper.js","../node_modules/devextreme/esm/core/utils/version.js","../node_modules/devextreme/esm/core/utils/view_port.js","../node_modules/devextreme/esm/core/utils/window.js","../node_modules/devextreme/esm/data/abstract_store.js","../node_modules/devextreme/esm/data/array_query.js","../node_modules/devextreme/esm/data/array_store.js","../node_modules/devextreme/esm/data/array_utils.js","../node_modules/devextreme/esm/data/custom_store.js","../node_modules/devextreme/esm/core/utils/queue.js","../node_modules/devextreme/esm/data/data_source/operation_manager.js","../node_modules/devextreme/esm/data/data_source/data_source.js","../node_modules/devextreme/esm/data/data_source/utils.js","../node_modules/devextreme/esm/data/errors.js","../node_modules/devextreme/esm/data/query_adapters.js","../node_modules/devextreme/esm/data/remote_query.js","../node_modules/devextreme/esm/data/query_implementation.js","../node_modules/devextreme/esm/data/query.js","../node_modules/devextreme/esm/data/store_helper.js","../node_modules/devextreme/esm/data/utils.js","../node_modules/devextreme/esm/ui/collection/data_controller.js","../node_modules/devextreme/esm/data_helper.js","../node_modules/devextreme/esm/events/utils/event_nodes_disposing.js","../node_modules/devextreme/esm/events/click.js","../node_modules/devextreme/esm/events/core/emitter.feedback.js","../node_modules/devextreme/esm/events/core/emitter.js","../node_modules/devextreme/esm/events/core/emitter_registrator.js","../node_modules/devextreme/esm/events/core/event_registrator.js","../node_modules/devextreme/esm/events/core/event_registrator_callbacks.js","../node_modules/devextreme/esm/events/core/hook_touch_props.js","../node_modules/devextreme/esm/events/core/events_engine.js","../node_modules/devextreme/esm/events/core/keyboard_processor.js","../node_modules/devextreme/esm/events/core/wheel.js","../node_modules/devextreme/esm/events/drag.js","../node_modules/devextreme/esm/events/gesture/emitter.gesture.js","../node_modules/devextreme/esm/events/gesture/emitter.gesture.scroll.js","../node_modules/devextreme/esm/events/hover.js","../node_modules/devextreme/esm/events/index.js","../node_modules/devextreme/esm/events/pointer/base.js","../node_modules/devextreme/esm/events/pointer/touch.js","../node_modules/devextreme/esm/events/pointer/observer.js","../node_modules/devextreme/esm/events/pointer/mouse.js","../node_modules/devextreme/esm/events/pointer/mouse_and_touch.js","../node_modules/devextreme/esm/events/pointer.js","../node_modules/devextreme/esm/events/remove.js","../node_modules/devextreme/esm/events/short.js","../node_modules/devextreme/esm/events/swipe.js","../node_modules/devextreme/esm/events/utils/add_namespace.js","../node_modules/devextreme/esm/events/utils/index.js","../node_modules/devextreme/esm/events/visibility_change.js","../node_modules/devextreme/esm/localization/cldr-data/parent_locales.js","../node_modules/devextreme/esm/localization/parentLocale.js","../node_modules/devextreme/esm/localization/core.js","../node_modules/devextreme/esm/localization/message.js","../node_modules/devextreme/esm/localization/default_messages.js","../node_modules/devextreme/esm/renovation/common/config_context.js","../node_modules/devextreme/esm/core/inferno_renderer.js","../node_modules/devextreme/esm/renovation/component_wrapper/common/template_wrapper.js","../node_modules/devextreme/esm/renovation/component_wrapper/utils/utils.js","../node_modules/devextreme/esm/renovation/utils/shallow_equals.js","../node_modules/devextreme/esm/renovation/component_wrapper/utils/update_props_immutable.js","../node_modules/devextreme/esm/renovation/component_wrapper/common/component.js","../node_modules/devextreme/esm/renovation/ui/common/base_props.js","../node_modules/devextreme/esm/renovation/utils/subscribe_to_event.js","../node_modules/devextreme/esm/renovation/common/config_provider.js","../node_modules/devextreme/esm/renovation/ui/common/widget.js","../node_modules/devextreme/esm/renovation/utils/resolve_rtl.js","../node_modules/devextreme/esm/renovation/utils/combine_classes.js","../node_modules/devextreme/esm/renovation/component_wrapper/button.js","../node_modules/devextreme/esm/renovation/ui/common/icon.js","../node_modules/devextreme/esm/renovation/ui/common/ink_ripple.js","../node_modules/devextreme/esm/renovation/ui/button.js","../node_modules/devextreme/esm/renovation/ui/button.j.js","../node_modules/devextreme/esm/ui/button.js","../node_modules/devextreme/esm/ui/collection/item.js","../node_modules/devextreme/esm/events/hold.js","../node_modules/devextreme/esm/events/contextmenu.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.base.js","../node_modules/devextreme/esm/ui/selection/selection.strategy.js","../node_modules/devextreme/esm/ui/selection/selection.strategy.deferred.js","../node_modules/devextreme/esm/core/utils/selection_filter.js","../node_modules/devextreme/esm/ui/selection/selection.strategy.standard.js","../node_modules/devextreme/esm/ui/selection/selection.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.strategy.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.strategy.plain.js","../node_modules/devextreme/esm/ui/editor/editor.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator_menu_helper.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.context.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.switchable.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.switchable.button.js","../node_modules/devextreme/esm/renovation/ui/resizable/utils.js","../node_modules/devextreme/esm/ui/popover/popover_position_controller.js","../node_modules/devextreme/esm/ui/popover/ui.popover.js","../node_modules/devextreme/esm/ui/action_sheet.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.switchable.slide.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.static.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.swipe.js","../node_modules/devextreme/esm/ui/draggable.js","../node_modules/devextreme/esm/ui/sortable.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.reorder.js","../node_modules/devextreme/esm/ui/list/modules/search.js","../node_modules/devextreme/esm/ui/list.js","../node_modules/devextreme/esm/renovation/component_wrapper/editors/editor.js","../node_modules/devextreme/esm/renovation/utils/dom.js","../node_modules/devextreme/esm/renovation/component_wrapper/editors/check_box.js","../node_modules/devextreme/esm/renovation/ui/common/utils/get_updated_options.js","../node_modules/devextreme/esm/renovation/ui/common/dom_component_wrapper.js","../node_modules/devextreme/esm/renovation/ui/overlays/validation_message.js","../node_modules/devextreme/esm/renovation/ui/editors/common/editor.js","../node_modules/devextreme/esm/renovation/ui/editors/check_box/utils.js","../node_modules/devextreme/esm/renovation/ui/editors/check_box/check_box_icon.js","../node_modules/devextreme/esm/renovation/utils/get_computed_style.js","../node_modules/devextreme/esm/renovation/ui/editors/check_box/check_box.js","../node_modules/devextreme/esm/renovation/ui/editors/check_box/check_box.j.js","../node_modules/devextreme/esm/ui/check_box.js","../node_modules/devextreme/esm/ui/radio_group/radio_button.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.selection.js","../node_modules/devextreme/esm/ui/list/item.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollbar.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.native.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.native.pull_down.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.native.swipe_down.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.simulated.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.simulated.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.device.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.old.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_element_location_internal.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/common/consts.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_relative_offset.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.js","../node_modules/devextreme/esm/ui/load_panel.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.js","../node_modules/devextreme/esm/ui/scroll_view.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.live_update.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_element_style.js","../node_modules/devextreme/esm/renovation/utils/type_conversion.js","../node_modules/devextreme/esm/ui/list/ui.list.base.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator_registry.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.strategy.grouped.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.provider.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.search.js","../node_modules/devextreme/esm/ui/list_light.js","../node_modules/devextreme/esm/ui/load_indicator.js","../node_modules/devextreme/esm/ui/map/provider.js","../node_modules/devextreme/esm/color.js","../node_modules/devextreme/esm/ui/map/provider.google_static.js","../node_modules/devextreme/esm/ui/map/provider.dynamic.js","../node_modules/devextreme/esm/ui/map/provider.dynamic.google.js","../node_modules/devextreme/esm/ui/map/provider.dynamic.bing.js","../node_modules/devextreme/esm/ui/map.js","../node_modules/devextreme/esm/ui/widget/swatch_container.js","../node_modules/devextreme/esm/ui/overlay/overlay_position_controller.js","../node_modules/devextreme/esm/mobile/hide_callback.js","../node_modules/devextreme/esm/ui/overlay/ui.overlay.js","../node_modules/devextreme/esm/ui/overlay/z_index.js","../node_modules/devextreme/esm/ui/popup/popup_drag.js","../node_modules/devextreme/esm/ui/resizable.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.async.js","../node_modules/devextreme/esm/ui/toolbar/ui.toolbar.base.js","../node_modules/devextreme/esm/ui/toolbar/constants.js","../node_modules/devextreme/esm/ui/popup/popup_position_controller.js","../node_modules/devextreme/esm/ui/popup/ui.popup.js","../node_modules/devextreme/esm/ui/scroll_view/animator.js","../node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_button.js","../node_modules/devextreme/esm/ui/drop_down_editor/utils.js","../node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_editor.js","../node_modules/devextreme/esm/ui/editor/ui.data_expression.js","../node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_list.js","../node_modules/devextreme/esm/ui/select_box.js","../node_modules/devextreme/esm/ui/shared/grouped_data_converter_mixin.js","../node_modules/devextreme/esm/ui/text_box/utils.caret.js","../node_modules/devextreme/esm/ui/text_box/utils.support.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.rule.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.clear.js","../node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/custom.js","../node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/index.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.label.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.base.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.strategy.base.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.strategy.default.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.strategy.input_events.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.js","../node_modules/devextreme/esm/ui/text_box/text_box.js","../node_modules/devextreme/esm/ui/text_box.js","../node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/button.js","../node_modules/devextreme/esm/ui/themes.js","../node_modules/devextreme/esm/ui/themes_callback.js","../node_modules/devextreme/esm/localization/utils.js","../node_modules/devextreme/esm/localization/ldml/number.js","../node_modules/devextreme/esm/localization/currency.js","../node_modules/devextreme/esm/localization/open_xml_currency_format.js","../node_modules/devextreme/esm/localization/cldr-data/accounting_formats.js","../node_modules/devextreme/esm/localization/intl/number.js","../node_modules/devextreme/esm/localization/number.js","../node_modules/devextreme/esm/ui/validation_engine.js","../node_modules/devextreme/esm/ui/validation_message.js","../node_modules/devextreme/esm/ui/widget/selectors.js","../node_modules/devextreme/esm/ui/widget/ui.errors.js","../node_modules/devextreme/esm/ui/widget/ui.search_box_mixin.js","../node_modules/devextreme/esm/core/utils/stubs.js","../node_modules/devextreme/esm/ui/widget/ui.widget.js","../node_modules/devextreme/esm/ui/widget/utils.ink_ripple.js","../node_modules/exenv/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/inferno-create-element/dist/index.esm.js","../node_modules/inferno/dist/index.esm.js","../node_modules/moment/moment.js","../node_modules/object-assign/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/rc-util/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/rc-util/node_modules/react-is/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-fast-compare/index.js","../node_modules/react-fast-marquee/src/components/Marquee.tsx","../../../../../../webpack/bootstrap 6061d6ae30f5a66e62e1","../../../../../../src/index.js","../../../../../../src/Highlighter.js","../../../../../../~/highlight-words-core/dist/index.js","../../../../../../~/prop-types/index.js","../../../../../../~/process/browser.js","../../../../../../~/prop-types/factoryWithTypeCheckers.js","../../../../../../~/fbjs/lib/emptyFunction.js","../../../../../../~/fbjs/lib/invariant.js","../../../../../../~/fbjs/lib/warning.js","../../../../../../~/object-assign/index.js","../../../../../../~/prop-types/lib/ReactPropTypesSecret.js","../../../../../../~/prop-types/checkPropTypes.js","../../../../../../~/prop-types/factoryWithThrowingShims.js","../../../../../../external \"react\"","../../../../../../~/memoize-one/dist/memoize-one.cjs.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-modal/lib/components/Modal.js","../node_modules/react-modal/lib/components/ModalPortal.js","../node_modules/react-modal/lib/helpers/ariaAppHider.js","../node_modules/react-modal/lib/helpers/bodyTrap.js","../node_modules/react-modal/lib/helpers/classList.js","../node_modules/react-modal/lib/helpers/focusManager.js","../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../node_modules/react-modal/lib/helpers/scopeTab.js","../node_modules/react-modal/lib/helpers/tabbable.js","../node_modules/react-modal/lib/index.js","../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-redux/node_modules/react-is/index.js","../node_modules/react-side-effect/lib/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/toggle-selection/index.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/use-sync-external-store/shim/with-selector.js","../node_modules/warning/warning.js","../node_modules/classnames/index.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/Row.js","../node_modules/react-bootstrap/esm/Col.js","../node_modules/antd/es/config-provider/context.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/rc-util/es/Children/toArray.js","../node_modules/rc-util/es/warning.js","../node_modules/rc-util/es/isEqual.js","../node_modules/rc-field-form/es/FieldContext.js","../node_modules/rc-field-form/es/ListContext.js","../node_modules/rc-field-form/es/utils/typeUtil.js","../node_modules/@rc-component/async-validator/es/messages.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@rc-component/async-validator/es/util.js","../node_modules/@rc-component/async-validator/es/rule/enum.js","../node_modules/@rc-component/async-validator/es/rule/pattern.js","../node_modules/@rc-component/async-validator/es/rule/range.js","../node_modules/@rc-component/async-validator/es/rule/required.js","../node_modules/@rc-component/async-validator/es/rule/url.js","../node_modules/@rc-component/async-validator/es/rule/type.js","../node_modules/@rc-component/async-validator/es/rule/whitespace.js","../node_modules/@rc-component/async-validator/es/rule/index.js","../node_modules/@rc-component/async-validator/es/validator/any.js","../node_modules/@rc-component/async-validator/es/validator/array.js","../node_modules/@rc-component/async-validator/es/validator/boolean.js","../node_modules/@rc-component/async-validator/es/validator/date.js","../node_modules/@rc-component/async-validator/es/validator/enum.js","../node_modules/@rc-component/async-validator/es/validator/float.js","../node_modules/@rc-component/async-validator/es/validator/integer.js","../node_modules/@rc-component/async-validator/es/validator/method.js","../node_modules/@rc-component/async-validator/es/validator/number.js","../node_modules/@rc-component/async-validator/es/validator/object.js","../node_modules/@rc-component/async-validator/es/validator/pattern.js","../node_modules/@rc-component/async-validator/es/validator/regexp.js","../node_modules/@rc-component/async-validator/es/validator/required.js","../node_modules/@rc-component/async-validator/es/validator/string.js","../node_modules/@rc-component/async-validator/es/validator/type.js","../node_modules/@rc-component/async-validator/es/validator/index.js","../node_modules/@rc-component/async-validator/es/index.js","../node_modules/rc-field-form/es/utils/messages.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/rc-util/es/utils/get.js","../node_modules/rc-util/es/utils/set.js","../node_modules/rc-field-form/es/utils/validateUtil.js","../node_modules/rc-field-form/es/utils/valueUtil.js","../node_modules/rc-field-form/es/Field.js","../node_modules/rc-field-form/es/List.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/rc-field-form/es/utils/NameMap.js","../node_modules/rc-field-form/es/useForm.js","../node_modules/rc-field-form/es/utils/asyncUtil.js","../node_modules/rc-field-form/es/FormContext.js","../node_modules/rc-field-form/es/Form.js","../node_modules/rc-field-form/es/useWatch.js","../node_modules/rc-field-form/es/index.js","../node_modules/rc-util/es/omit.js","../node_modules/antd/es/form/context.js","../node_modules/@ant-design/cssinjs/node_modules/@emotion/hash/dist/hash.browser.esm.js","../node_modules/rc-util/es/Dom/canUseDom.js","../node_modules/rc-util/es/Dom/contains.js","../node_modules/rc-util/es/Dom/dynamicCSS.js","../node_modules/rc-util/es/hooks/useMemo.js","../node_modules/@ant-design/cssinjs/es/Cache.js","../node_modules/@ant-design/cssinjs/es/StyleContext.js","../node_modules/@ant-design/cssinjs/es/theme/calc/calculator.js","../node_modules/@ant-design/cssinjs/es/theme/calc/CSSCalculator.js","../node_modules/@ant-design/cssinjs/es/theme/calc/NumCalculator.js","../node_modules/@ant-design/cssinjs/es/theme/calc/index.js","../node_modules/@ant-design/cssinjs/es/theme/ThemeCache.js","../node_modules/@ant-design/cssinjs/es/theme/Theme.js","../node_modules/@ant-design/cssinjs/es/theme/createTheme.js","../node_modules/@ant-design/cssinjs/es/util/index.js","../node_modules/@ant-design/cssinjs/es/util/css-variables.js","../node_modules/rc-util/es/hooks/useLayoutEffect.js","../node_modules/@ant-design/cssinjs/es/hooks/useCompatibleInsertionEffect.js","../node_modules/@ant-design/cssinjs/es/hooks/useEffectCleanupRegister.js","../node_modules/@ant-design/cssinjs/es/hooks/useHMR.js","../node_modules/@ant-design/cssinjs/es/hooks/useGlobalCache.js","../node_modules/@ant-design/cssinjs/es/hooks/useCacheToken.js","../node_modules/@ant-design/cssinjs/node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Parser.js","../node_modules/@ant-design/cssinjs/es/util/cacheMapUtil.js","../node_modules/@ant-design/cssinjs/es/hooks/useStyleRegister.js","../node_modules/@ant-design/cssinjs/es/hooks/useCSSVarRegister.js","../node_modules/@ant-design/cssinjs/es/extractStyle.js","../node_modules/@ant-design/cssinjs/es/Keyframes.js","../node_modules/@ant-design/cssinjs/es/transformers/legacyLogicalProperties.js","../node_modules/antd/es/style/index.js","../node_modules/antd/es/style/compact-item.js","../node_modules/rc-util/es/hooks/useEvent.js","../node_modules/rc-util/es/hooks/useState.js","../node_modules/rc-util/es/hooks/useMergedState.js","../node_modules/rc-util/es/ref.js","../node_modules/antd/es/_util/hooks/useUniqueMemo.js","../node_modules/antd/es/version/index.js","../node_modules/antd/es/version/version.js","../node_modules/@ctrl/tinycolor/dist/module/util.js","../node_modules/@ctrl/tinycolor/dist/module/conversion.js","../node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","../node_modules/@ctrl/tinycolor/dist/module/format-input.js","../node_modules/@ant-design/colors/es/generate.js","../node_modules/@ant-design/colors/es/presets.js","../node_modules/antd/es/theme/themes/seed.js","../node_modules/@ctrl/tinycolor/dist/module/index.js","../node_modules/antd/es/theme/themes/shared/genRadius.js","../node_modules/antd/es/theme/themes/shared/genControlHeight.js","../node_modules/antd/es/theme/themes/shared/genFontSizes.js","../node_modules/antd/es/theme/themes/shared/genFontMapToken.js","../node_modules/antd/es/theme/themes/default/colorAlgorithm.js","../node_modules/antd/es/theme/themes/default/colors.js","../node_modules/antd/es/theme/context.js","../node_modules/antd/es/theme/themes/default/index.js","../node_modules/antd/es/theme/themes/shared/genColorMapToken.js","../node_modules/antd/es/theme/themes/shared/genSizeMapToken.js","../node_modules/antd/es/theme/themes/shared/genCommonMapToken.js","../node_modules/antd/es/theme/util/getAlphaColor.js","../node_modules/antd/es/theme/util/alias.js","../node_modules/antd/es/theme/useToken.js","../node_modules/antd/es/theme/util/statistic.js","../node_modules/antd/es/theme/util/useResetIconStyle.js","../node_modules/antd/es/theme/util/genComponentStyleHook.js","../node_modules/antd/es/theme/util/maxmin.js","../node_modules/antd/es/input/style/token.js","../node_modules/antd/es/input/style/variants.js","../node_modules/antd/es/input/style/index.js","../node_modules/antd/es/input/Group.js","../node_modules/rc-input/es/utils/commonUtils.js","../node_modules/rc-input/es/BaseInput.js","../node_modules/rc-input/es/hooks/useCount.js","../node_modules/rc-input/es/Input.js","../node_modules/rc-input/es/index.js","../node_modules/antd/es/config-provider/SizeContext.js","../node_modules/antd/es/config-provider/hooks/useSize.js","../node_modules/antd/es/space/style/compact.js","../node_modules/antd/es/space/style/index.js","../node_modules/antd/es/space/Compact.js","../node_modules/antd/es/_util/ContextIsolator.js","../node_modules/@ant-design/icons-svg/es/asn/CloseCircleFilled.js","../node_modules/@ant-design/icons/es/components/Context.js","../node_modules/rc-util/es/Dom/shadow.js","../node_modules/@ant-design/icons/es/utils.js","../node_modules/@ant-design/icons/es/components/IconBase.js","../node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js","../node_modules/@ant-design/icons/es/components/AntdIcon.js","../node_modules/@ant-design/icons/es/icons/CloseCircleFilled.js","../node_modules/antd/es/_util/getAllowClear.js","../node_modules/antd/es/_util/statusUtils.js","../node_modules/antd/es/config-provider/DisabledContext.js","../node_modules/antd/es/config-provider/hooks/useCSSVarCls.js","../node_modules/antd/es/form/hooks/useVariants.js","../node_modules/antd/es/input/hooks/useRemovePasswordTimeout.js","../node_modules/antd/es/input/Input.js","../node_modules/antd/es/input/utils.js","../node_modules/rc-util/es/pickAttrs.js","../node_modules/antd/es/input/style/otp.js","../node_modules/rc-util/es/raf.js","../node_modules/antd/es/input/OTP/OTPInput.js","../node_modules/antd/es/input/OTP/index.js","../node_modules/@ant-design/icons-svg/es/asn/EyeInvisibleOutlined.js","../node_modules/@ant-design/icons/es/icons/EyeInvisibleOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/EyeOutlined.js","../node_modules/@ant-design/icons/es/icons/EyeOutlined.js","../node_modules/antd/es/input/Password.js","../node_modules/@ant-design/icons-svg/es/asn/SearchOutlined.js","../node_modules/@ant-design/icons/es/icons/SearchOutlined.js","../node_modules/antd/es/_util/reactNode.js","../node_modules/rc-util/es/Dom/isVisible.js","../node_modules/antd/es/_util/wave/style.js","../node_modules/antd/es/_util/warning.js","../node_modules/antd/es/form/validateMessagesContext.js","../node_modules/rc-pagination/es/locale/en_US.js","../node_modules/antd/node_modules/rc-picker/es/locale/en_US.js","../node_modules/antd/es/time-picker/locale/en_US.js","../node_modules/antd/es/date-picker/locale/en_US.js","../node_modules/antd/es/locale/en_US.js","../node_modules/antd/es/modal/locale.js","../node_modules/antd/es/locale/context.js","../node_modules/antd/es/locale/index.js","../node_modules/antd/es/config-provider/cssVariables.js","../node_modules/antd/es/config-provider/hooks/useConfig.js","../node_modules/antd/es/config-provider/hooks/useThemeKey.js","../node_modules/rc-util/es/Dom/findDOMNode.js","../node_modules/rc-motion/es/context.js","../node_modules/rc-motion/es/DomWrapper.js","../node_modules/rc-motion/es/interface.js","../node_modules/rc-motion/es/util/motion.js","../node_modules/rc-motion/es/hooks/useDomMotionEvents.js","../node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","../node_modules/rc-motion/es/hooks/useStepQueue.js","../node_modules/rc-motion/es/hooks/useNextFrame.js","../node_modules/rc-motion/es/hooks/useStatus.js","../node_modules/rc-util/es/hooks/useSyncState.js","../node_modules/rc-motion/es/CSSMotion.js","../node_modules/rc-motion/es/util/diff.js","../node_modules/rc-motion/es/CSSMotionList.js","../node_modules/rc-motion/es/index.js","../node_modules/antd/es/config-provider/MotionWrapper.js","../node_modules/antd/es/config-provider/PropWarning.js","../node_modules/antd/es/config-provider/index.js","../node_modules/antd/es/config-provider/hooks/useTheme.js","../node_modules/antd/es/_util/wave/interface.js","../node_modules/rc-util/es/React/render.js","../node_modules/antd/es/_util/wave/util.js","../node_modules/antd/es/_util/wave/WaveEffect.js","../node_modules/antd/es/_util/wave/useWave.js","../node_modules/antd/es/_util/wave/index.js","../node_modules/antd/es/button/button-group.js","../node_modules/antd/es/button/buttonHelpers.js","../node_modules/antd/es/button/IconWrapper.js","../node_modules/@ant-design/icons-svg/es/asn/LoadingOutlined.js","../node_modules/@ant-design/icons/es/icons/LoadingOutlined.js","../node_modules/antd/es/button/LoadingIcon.js","../node_modules/antd/es/button/style/group.js","../node_modules/antd/es/button/style/token.js","../node_modules/antd/es/button/style/index.js","../node_modules/antd/es/style/compact-item-vertical.js","../node_modules/antd/es/button/style/compactCmp.js","../node_modules/antd/es/button/button.js","../node_modules/antd/es/button/index.js","../node_modules/antd/es/input/Search.js","../node_modules/rc-resize-observer/es/Collection.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/rc-resize-observer/es/utils/observerUtil.js","../node_modules/rc-resize-observer/es/SingleObserver/DomWrapper.js","../node_modules/rc-resize-observer/es/SingleObserver/index.js","../node_modules/rc-resize-observer/es/index.js","../node_modules/rc-textarea/es/calculateNodeHeight.js","../node_modules/rc-textarea/es/ResizableTextArea.js","../node_modules/rc-textarea/es/TextArea.js","../node_modules/rc-textarea/es/index.js","../node_modules/antd/es/input/TextArea.js","../node_modules/antd/es/input/index.js","../node_modules/antd/es/skeleton/Element.js","../node_modules/antd/es/skeleton/style/index.js","../node_modules/antd/es/skeleton/Avatar.js","../node_modules/antd/es/skeleton/Button.js","../node_modules/antd/es/skeleton/Image.js","../node_modules/antd/es/skeleton/Input.js","../node_modules/@ant-design/icons-svg/es/asn/DotChartOutlined.js","../node_modules/@ant-design/icons/es/icons/DotChartOutlined.js","../node_modules/antd/es/skeleton/Node.js","../node_modules/antd/es/skeleton/Paragraph.js","../node_modules/antd/es/skeleton/Title.js","../node_modules/antd/es/skeleton/Skeleton.js","../node_modules/antd/es/skeleton/index.js","../node_modules/@ant-design/icons-svg/es/asn/CloseOutlined.js","../node_modules/@ant-design/icons/es/icons/CloseOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/EllipsisOutlined.js","../node_modules/@ant-design/icons/es/icons/EllipsisOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/PlusOutlined.js","../node_modules/@ant-design/icons/es/icons/PlusOutlined.js","../node_modules/rc-util/es/isMobile.js","../node_modules/rc-tabs/es/TabContext.js","../node_modules/rc-tabs/es/hooks/useIndicator.js","../node_modules/rc-tabs/es/hooks/useOffsets.js","../node_modules/rc-tabs/es/hooks/useSyncState.js","../node_modules/rc-tabs/es/hooks/useTouchMove.js","../node_modules/rc-tabs/es/hooks/useUpdate.js","../node_modules/rc-tabs/es/hooks/useVisibleRange.js","../node_modules/rc-tabs/es/util.js","../node_modules/rc-tabs/es/TabNavList/AddButton.js","../node_modules/rc-tabs/es/TabNavList/ExtraContent.js","../node_modules/@rc-component/portal/es/Context.js","../node_modules/@rc-component/portal/es/useDom.js","../node_modules/rc-util/es/getScrollBarSize.js","../node_modules/@rc-component/portal/es/useScrollLocker.js","../node_modules/@rc-component/portal/es/util.js","../node_modules/@rc-component/portal/es/mock.js","../node_modules/@rc-component/portal/es/Portal.js","../node_modules/@rc-component/portal/es/index.js","../node_modules/rc-util/es/hooks/useId.js","../node_modules/@rc-component/trigger/es/Popup/Arrow.js","../node_modules/@rc-component/trigger/es/Popup/Mask.js","../node_modules/@rc-component/trigger/es/Popup/PopupContent.js","../node_modules/@rc-component/trigger/es/Popup/index.js","../node_modules/@rc-component/trigger/es/TriggerWrapper.js","../node_modules/@rc-component/trigger/es/context.js","../node_modules/@rc-component/trigger/es/hooks/useAction.js","../node_modules/@rc-component/trigger/es/util.js","../node_modules/@rc-component/trigger/es/hooks/useAlign.js","../node_modules/@rc-component/trigger/es/index.js","../node_modules/@rc-component/trigger/es/hooks/useWatch.js","../node_modules/@rc-component/trigger/es/hooks/useWinClick.js","../node_modules/rc-util/es/KeyCode.js","../node_modules/rc-dropdown/es/hooks/useAccessibility.js","../node_modules/rc-dropdown/es/Overlay.js","../node_modules/rc-dropdown/es/placements.js","../node_modules/rc-dropdown/es/Dropdown.js","../node_modules/rc-dropdown/es/index.js","../node_modules/rc-overflow/es/Item.js","../node_modules/rc-overflow/es/hooks/useEffectState.js","../node_modules/rc-overflow/es/hooks/channelUpdate.js","../node_modules/rc-overflow/es/context.js","../node_modules/rc-overflow/es/RawItem.js","../node_modules/rc-overflow/es/Overflow.js","../node_modules/rc-overflow/es/index.js","../node_modules/rc-menu/es/context/IdContext.js","../node_modules/rc-menu/es/context/MenuContext.js","../node_modules/rc-menu/es/context/PathContext.js","../node_modules/rc-menu/es/context/PrivateContext.js","../node_modules/rc-util/es/Dom/focus.js","../node_modules/rc-menu/es/hooks/useAccessibility.js","../node_modules/rc-menu/es/hooks/useKeyRecords.js","../node_modules/rc-menu/es/utils/timeUtil.js","../node_modules/rc-menu/es/hooks/useMemoCallback.js","../node_modules/rc-menu/es/hooks/useUUID.js","../node_modules/rc-menu/es/hooks/useActive.js","../node_modules/rc-menu/es/hooks/useDirectionStyle.js","../node_modules/rc-menu/es/Icon.js","../node_modules/rc-menu/es/utils/warnUtil.js","../node_modules/rc-menu/es/MenuItem.js","../node_modules/rc-menu/es/SubMenu/SubMenuList.js","../node_modules/rc-menu/es/utils/commonUtil.js","../node_modules/rc-menu/es/placements.js","../node_modules/rc-menu/es/utils/motionUtil.js","../node_modules/rc-menu/es/SubMenu/PopupTrigger.js","../node_modules/rc-menu/es/SubMenu/InlineSubMenuList.js","../node_modules/rc-menu/es/SubMenu/index.js","../node_modules/rc-menu/es/Divider.js","../node_modules/rc-menu/es/MenuItemGroup.js","../node_modules/rc-menu/es/utils/nodeUtil.js","../node_modules/rc-menu/es/Menu.js","../node_modules/rc-menu/es/index.js","../node_modules/rc-tabs/es/TabNavList/OperationNode.js","../node_modules/rc-tabs/es/TabNavList/TabNode.js","../node_modules/rc-tabs/es/TabNavList/index.js","../node_modules/rc-tabs/es/TabPanelList/TabPane.js","../node_modules/rc-tabs/es/TabNavList/Wrapper.js","../node_modules/rc-tabs/es/TabPanelList/index.js","../node_modules/rc-tabs/es/Tabs.js","../node_modules/rc-tabs/es/hooks/useAnimateConfig.js","../node_modules/rc-tabs/es/index.js","../node_modules/antd/es/_util/motion.js","../node_modules/antd/es/tabs/hooks/useAnimateConfig.js","../node_modules/antd/es/tabs/hooks/useLegacyItems.js","../node_modules/antd/es/style/motion/motion.js","../node_modules/antd/es/style/motion/slide.js","../node_modules/antd/es/tabs/style/motion.js","../node_modules/antd/es/tabs/style/index.js","../node_modules/antd/es/tabs/index.js","../node_modules/antd/es/tabs/TabPane.js","../node_modules/antd/es/card/Grid.js","../node_modules/antd/es/card/style/index.js","../node_modules/antd/es/card/Card.js","../node_modules/antd/es/card/Meta.js","../node_modules/antd/es/card/index.js","../node_modules/rc-tooltip/es/Popup.js","../node_modules/rc-tooltip/es/placements.js","../node_modules/rc-tooltip/es/Tooltip.js","../node_modules/rc-tooltip/es/index.js","../node_modules/antd/es/_util/zindexContext.js","../node_modules/antd/es/_util/hooks/useZIndex.js","../node_modules/antd/es/style/roundedArrow.js","../node_modules/antd/es/style/placementArrow.js","../node_modules/antd/es/_util/placements.js","../node_modules/antd/es/style/motion/zoom.js","../node_modules/antd/es/theme/interface/presetColors.js","../node_modules/antd/es/theme/util/genPresetColor.js","../node_modules/antd/es/tooltip/style/index.js","../node_modules/antd/es/_util/colors.js","../node_modules/antd/es/tooltip/util.js","../node_modules/antd/es/tooltip/PurePanel.js","../node_modules/antd/es/tooltip/index.js","../node_modules/@ant-design/icons-svg/es/asn/CheckCircleFilled.js","../node_modules/@ant-design/icons/es/icons/CheckCircleFilled.js","../node_modules/@ant-design/icons-svg/es/asn/ExclamationCircleFilled.js","../node_modules/@ant-design/icons/es/icons/ExclamationCircleFilled.js","../node_modules/@ant-design/icons-svg/es/asn/InfoCircleFilled.js","../node_modules/@ant-design/icons/es/icons/InfoCircleFilled.js","../node_modules/antd/es/alert/style/index.js","../node_modules/antd/es/alert/Alert.js","../node_modules/antd/es/alert/ErrorBoundary.js","../node_modules/@babel/runtime/helpers/esm/callSuper.js","../node_modules/antd/es/alert/index.js","../node_modules/rc-segmented/es/MotionThumb.js","../node_modules/rc-segmented/es/index.js","../node_modules/antd/es/segmented/style/index.js","../node_modules/antd/es/segmented/index.js","hooks/useUpdateEffect.js","hooks/useUpdateFetch.js","literals.js","../node_modules/@ant-design/icons-svg/es/asn/PhoneOutlined.js","../node_modules/@ant-design/icons/es/icons/PhoneOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/UserOutlined.js","../node_modules/@ant-design/icons/es/icons/UserOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/ContainerOutlined.js","../node_modules/@ant-design/icons/es/icons/ContainerOutlined.js","../node_modules/antd/es/_util/gapSize.js","../node_modules/antd/es/space/context.js","../node_modules/antd/es/space/Item.js","../node_modules/antd/es/space/index.js","../node_modules/rc-table/es/constant.js","../node_modules/@rc-component/context/es/context.js","../node_modules/@rc-component/context/es/Immutable.js","../node_modules/@rc-component/context/es/index.js","../node_modules/rc-table/es/context/TableContext.js","../node_modules/rc-table/es/context/PerfContext.js","../node_modules/rc-table/es/utils/valueUtil.js","../node_modules/rc-table/es/Cell/useCellRender.js","../node_modules/rc-table/es/Cell/index.js","../node_modules/rc-table/es/Cell/useHoverState.js","../node_modules/rc-table/es/utils/fixUtil.js","../node_modules/rc-table/es/Footer/SummaryContext.js","../node_modules/rc-table/es/Footer/Row.js","../node_modules/rc-table/es/Footer/Summary.js","../node_modules/rc-table/es/Footer/Cell.js","../node_modules/rc-table/es/Footer/index.js","../node_modules/rc-util/es/Dom/styleChecker.js","../node_modules/rc-table/es/hooks/useFlattenRecords.js","../node_modules/rc-table/es/hooks/useRowInfo.js","../node_modules/rc-table/es/Body/ExpandedRow.js","../node_modules/rc-table/es/Body/BodyRow.js","../node_modules/rc-table/es/Body/MeasureCell.js","../node_modules/rc-table/es/Body/MeasureRow.js","../node_modules/rc-table/es/Body/index.js","../node_modules/rc-table/es/utils/legacyUtil.js","../node_modules/rc-table/es/ColGroup.js","../node_modules/rc-table/es/FixedHolder/index.js","../node_modules/rc-table/es/Header/HeaderRow.js","../node_modules/rc-table/es/Header/Header.js","../node_modules/rc-table/es/hooks/useColumns/useWidthColumns.js","../node_modules/rc-table/es/hooks/useColumns/index.js","../node_modules/rc-table/es/utils/expandUtil.js","../node_modules/rc-table/es/hooks/useExpand.js","../node_modules/rc-table/es/hooks/useFrame.js","../node_modules/rc-table/es/hooks/useSticky.js","../node_modules/rc-table/es/hooks/useStickyOffsets.js","../node_modules/rc-table/es/Panel/index.js","../node_modules/rc-util/es/Dom/addEventListener.js","../node_modules/rc-util/es/Dom/css.js","../node_modules/rc-table/es/stickyScrollBar.js","../node_modules/rc-table/es/sugar/Column.js","../node_modules/rc-table/es/sugar/ColumnGroup.js","../node_modules/rc-table/es/Table.js","../node_modules/rc-table/es/hooks/useHover.js","../node_modules/rc-table/es/hooks/useFixedInfo.js","../node_modules/rc-virtual-list/es/Filler.js","../node_modules/rc-virtual-list/es/Item.js","../node_modules/rc-virtual-list/es/hooks/useDiffItem.js","../node_modules/rc-virtual-list/es/utils/algorithmUtil.js","../node_modules/rc-virtual-list/es/utils/isFirefox.js","../node_modules/rc-virtual-list/es/hooks/useOriginScroll.js","../node_modules/rc-virtual-list/es/hooks/useFrameWheel.js","../node_modules/rc-virtual-list/es/utils/CacheMap.js","../node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js","../node_modules/rc-virtual-list/es/hooks/useScrollTo.js","../node_modules/rc-virtual-list/es/ScrollBar.js","../node_modules/rc-virtual-list/es/utils/scrollbarUtil.js","../node_modules/rc-virtual-list/es/List.js","../node_modules/rc-virtual-list/es/hooks/useHeights.js","../node_modules/rc-virtual-list/es/hooks/useGetSize.js","../node_modules/rc-virtual-list/es/hooks/useChildren.js","../node_modules/rc-virtual-list/es/index.js","../node_modules/rc-table/es/VirtualTable/context.js","../node_modules/rc-table/es/VirtualTable/VirtualCell.js","../node_modules/rc-table/es/VirtualTable/BodyLine.js","../node_modules/rc-table/es/VirtualTable/BodyGrid.js","../node_modules/rc-table/es/VirtualTable/index.js","../node_modules/antd/es/table/Column.js","../node_modules/antd/es/table/ColumnGroup.js","../node_modules/@ant-design/icons-svg/es/asn/DownOutlined.js","../node_modules/@ant-design/icons/es/icons/DownOutlined.js","../node_modules/rc-tree/es/contextTypes.js","../node_modules/rc-tree/es/Indent.js","../node_modules/rc-tree/es/utils/keyUtil.js","../node_modules/rc-tree/es/utils/treeUtil.js","../node_modules/rc-tree/es/TreeNode.js","../node_modules/rc-tree/es/util.js","../node_modules/rc-tree/es/utils/conductUtil.js","../node_modules/rc-checkbox/es/index.js","../node_modules/antd/es/checkbox/GroupContext.js","../node_modules/antd/es/checkbox/style/index.js","../node_modules/antd/es/checkbox/Checkbox.js","../node_modules/antd/es/checkbox/Group.js","../node_modules/antd/es/checkbox/index.js","../node_modules/@ant-design/icons-svg/es/asn/RightOutlined.js","../node_modules/@ant-design/icons/es/icons/RightOutlined.js","../node_modules/antd/es/_util/PurePanel.js","../node_modules/@ant-design/icons-svg/es/asn/BarsOutlined.js","../node_modules/@ant-design/icons/es/icons/BarsOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/LeftOutlined.js","../node_modules/@ant-design/icons/es/icons/LeftOutlined.js","../node_modules/antd/es/_util/isNumeric.js","../node_modules/antd/es/layout/context.js","../node_modules/antd/es/layout/Sider.js","../node_modules/antd/es/menu/MenuContext.js","../node_modules/antd/es/menu/MenuDivider.js","../node_modules/antd/es/menu/MenuItem.js","../node_modules/antd/es/menu/OverrideContext.js","../node_modules/antd/es/style/motion/collapse.js","../node_modules/antd/es/menu/style/horizontal.js","../node_modules/antd/es/menu/style/rtl.js","../node_modules/antd/es/menu/style/theme.js","../node_modules/antd/es/menu/style/vertical.js","../node_modules/antd/es/menu/style/index.js","../node_modules/antd/es/menu/SubMenu.js","../node_modules/antd/es/menu/menu.js","../node_modules/antd/es/menu/index.js","../node_modules/antd/es/style/motion/move.js","../node_modules/antd/es/dropdown/style/status.js","../node_modules/antd/es/dropdown/style/index.js","../node_modules/antd/es/dropdown/dropdown.js","../node_modules/antd/es/dropdown/dropdown-button.js","../node_modules/antd/es/dropdown/index.js","../node_modules/antd/es/radio/context.js","../node_modules/antd/es/radio/style/index.js","../node_modules/antd/es/radio/radio.js","../node_modules/antd/es/radio/group.js","../node_modules/antd/es/radio/radioButton.js","../node_modules/antd/es/radio/index.js","../node_modules/antd/es/table/hooks/useSelection.js","../node_modules/antd/es/_util/hooks/useMultipleSelect.js","../node_modules/antd/es/_util/hooks/useProxyImperativeHandle.js","../node_modules/antd/es/_util/getScroll.js","../node_modules/antd/es/_util/scrollTo.js","../node_modules/antd/es/_util/easings.js","../node_modules/antd/es/locale/useLocale.js","../node_modules/antd/es/empty/empty.js","../node_modules/antd/es/empty/simple.js","../node_modules/antd/es/empty/style/index.js","../node_modules/antd/es/empty/index.js","../node_modules/antd/es/config-provider/defaultRenderEmpty.js","../node_modules/antd/es/_util/hooks/useForceUpdate.js","../node_modules/antd/es/_util/responsiveObserver.js","../node_modules/antd/es/grid/hooks/useBreakpoint.js","../node_modules/@ant-design/icons-svg/es/asn/DoubleLeftOutlined.js","../node_modules/@ant-design/icons/es/icons/DoubleLeftOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/DoubleRightOutlined.js","../node_modules/@ant-design/icons/es/icons/DoubleRightOutlined.js","../node_modules/rc-pagination/es/locale/zh_CN.js","../node_modules/rc-pagination/es/Options.js","../node_modules/rc-pagination/es/Pager.js","../node_modules/rc-pagination/es/Pagination.js","../node_modules/rc-select/es/TransBtn.js","../node_modules/rc-select/es/hooks/useAllowClear.js","../node_modules/rc-select/es/hooks/useBaseProps.js","../node_modules/rc-select/es/hooks/useLock.js","../node_modules/rc-select/es/Selector/Input.js","../node_modules/rc-select/es/utils/commonUtil.js","../node_modules/rc-select/es/Selector/MultipleSelector.js","../node_modules/rc-select/es/hooks/useLayoutEffect.js","../node_modules/rc-select/es/Selector/SingleSelector.js","../node_modules/rc-select/es/Selector/index.js","../node_modules/rc-select/es/utils/keyUtil.js","../node_modules/rc-select/es/SelectTrigger.js","../node_modules/rc-select/es/utils/valueUtil.js","../node_modules/rc-select/es/SelectContext.js","../node_modules/rc-select/es/BaseSelect/Polite.js","../node_modules/rc-select/es/BaseSelect/index.js","../node_modules/rc-select/es/hooks/useDelayReset.js","../node_modules/rc-select/es/hooks/useSelectTriggerControl.js","../node_modules/rc-select/es/OptGroup.js","../node_modules/rc-select/es/Option.js","../node_modules/rc-select/es/OptionList.js","../node_modules/rc-select/es/utils/platformUtil.js","../node_modules/rc-select/es/hooks/useFilterOptions.js","../node_modules/rc-select/es/hooks/useId.js","../node_modules/rc-select/es/utils/legacyUtil.js","../node_modules/rc-select/es/hooks/useOptions.js","../node_modules/rc-select/es/hooks/useRefFunc.js","../node_modules/rc-select/es/Select.js","../node_modules/rc-select/es/hooks/useCache.js","../node_modules/rc-select/es/index.js","../node_modules/antd/es/select/mergedBuiltinPlacements.js","../node_modules/antd/es/select/style/dropdown.js","../node_modules/antd/es/select/style/multiple.js","../node_modules/antd/es/select/style/single.js","../node_modules/antd/es/select/style/token.js","../node_modules/antd/es/select/style/variants.js","../node_modules/antd/es/select/style/index.js","../node_modules/@ant-design/icons-svg/es/asn/CheckOutlined.js","../node_modules/@ant-design/icons/es/icons/CheckOutlined.js","../node_modules/antd/es/select/index.js","../node_modules/antd/es/select/useShowArrow.js","../node_modules/antd/es/select/useIcons.js","../node_modules/antd/es/pagination/Select.js","../node_modules/antd/es/pagination/style/index.js","../node_modules/antd/es/pagination/style/bordered.js","../node_modules/antd/es/pagination/Pagination.js","../node_modules/antd/es/pagination/index.js","../node_modules/throttle-debounce/debounce.js","../node_modules/throttle-debounce/throttle.js","../node_modules/antd/es/spin/Indicator/Progress.js","../node_modules/antd/es/spin/Indicator/Looper.js","../node_modules/antd/es/spin/Indicator/index.js","../node_modules/antd/es/spin/style/index.js","../node_modules/antd/es/spin/usePercent.js","../node_modules/antd/es/spin/index.js","../node_modules/antd/es/table/ExpandIcon.js","../node_modules/antd/es/table/util.js","../node_modules/@ant-design/icons-svg/es/asn/FilterFilled.js","../node_modules/@ant-design/icons/es/icons/FilterFilled.js","../node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","../node_modules/rc-tree/es/MotionTreeNode.js","../node_modules/rc-tree/es/useUnmount.js","../node_modules/rc-tree/es/utils/diffUtil.js","../node_modules/rc-tree/es/NodeList.js","../node_modules/rc-tree/es/Tree.js","../node_modules/rc-tree/es/DropIndicator.js","../node_modules/rc-tree/es/index.js","../node_modules/@ant-design/icons-svg/es/asn/FileOutlined.js","../node_modules/@ant-design/icons/es/icons/FileOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/FolderOpenOutlined.js","../node_modules/@ant-design/icons/es/icons/FolderOpenOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/FolderOutlined.js","../node_modules/@ant-design/icons/es/icons/FolderOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/HolderOutlined.js","../node_modules/@ant-design/icons/es/icons/HolderOutlined.js","../node_modules/antd/es/tree/style/index.js","../node_modules/antd/es/tree/utils/dropIndicator.js","../node_modules/@ant-design/icons-svg/es/asn/CaretDownFilled.js","../node_modules/@ant-design/icons/es/icons/CaretDownFilled.js","../node_modules/@ant-design/icons-svg/es/asn/MinusSquareOutlined.js","../node_modules/@ant-design/icons/es/icons/MinusSquareOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/PlusSquareOutlined.js","../node_modules/@ant-design/icons/es/icons/PlusSquareOutlined.js","../node_modules/antd/es/tree/utils/iconUtil.js","../node_modules/antd/es/tree/Tree.js","../node_modules/antd/es/tree/utils/dictUtil.js","../node_modules/antd/es/tree/DirectoryTree.js","../node_modules/antd/es/tree/index.js","../node_modules/antd/es/table/hooks/useFilter/FilterSearch.js","../node_modules/antd/es/table/hooks/useFilter/FilterWrapper.js","../node_modules/antd/es/table/hooks/useFilter/FilterDropdown.js","../node_modules/antd/es/_util/hooks/useSyncState.js","../node_modules/antd/es/table/hooks/useFilter/index.js","../node_modules/antd/es/_util/extendsObject.js","../node_modules/antd/es/table/hooks/usePagination.js","../node_modules/@ant-design/icons-svg/es/asn/CaretDownOutlined.js","../node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/CaretUpOutlined.js","../node_modules/@ant-design/icons/es/icons/CaretUpOutlined.js","../node_modules/antd/es/table/hooks/useSorter.js","../node_modules/antd/es/table/hooks/useTitleColumns.js","../node_modules/antd/es/table/RcTable/index.js","../node_modules/antd/es/table/RcTable/VirtualTable.js","../node_modules/antd/es/table/style/bordered.js","../node_modules/antd/es/table/style/ellipsis.js","../node_modules/antd/es/table/style/empty.js","../node_modules/antd/es/style/operationUnit.js","../node_modules/antd/es/table/style/expand.js","../node_modules/antd/es/table/style/filter.js","../node_modules/antd/es/table/style/fixed.js","../node_modules/antd/es/table/style/pagination.js","../node_modules/antd/es/table/style/radius.js","../node_modules/antd/es/table/style/rtl.js","../node_modules/antd/es/table/style/selection.js","../node_modules/antd/es/table/style/size.js","../node_modules/antd/es/table/style/sorter.js","../node_modules/antd/es/table/style/sticky.js","../node_modules/antd/es/table/style/summary.js","../node_modules/antd/es/table/style/virtual.js","../node_modules/antd/es/table/style/index.js","../node_modules/antd/es/table/InternalTable.js","../node_modules/antd/es/table/hooks/useContainerWidth.js","../node_modules/antd/es/table/hooks/useLazyKVMap.js","../node_modules/antd/es/table/Table.js","../node_modules/antd/es/table/index.js","../node_modules/@ant-design/icons-svg/es/asn/HomeOutlined.js","../node_modules/@ant-design/icons/es/icons/HomeOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/FileUnknownOutlined.js","../node_modules/@ant-design/icons/es/icons/FileUnknownOutlined.js","components/CustomerProfile/components/PhoneIcon.js","components/CustomerProfile/components/TopLevelAssociateTable.js","components/CustomerProfile/components/TopLevelCaseTable.js","utils.js","components/CustomerProfile/CustomerProfile.js","hooks/useStateWithValidation.js","../node_modules/antd/es/form/hooks/useDebounce.js","../node_modules/antd/es/form/style/explain.js","../node_modules/antd/es/form/style/index.js","../node_modules/antd/es/form/ErrorList.js","../node_modules/compute-scroll-into-view/src/index.ts","../node_modules/scroll-into-view-if-needed/src/index.ts","../node_modules/antd/es/form/util.js","../node_modules/antd/es/form/hooks/useForm.js","../node_modules/antd/es/form/Form.js","../node_modules/antd/es/form/hooks/useFormItemStatus.js","../node_modules/antd/es/grid/RowContext.js","../node_modules/antd/es/grid/style/index.js","../node_modules/antd/es/grid/row.js","../node_modules/antd/es/grid/col.js","../node_modules/antd/es/form/style/fallbackCmp.js","../node_modules/antd/es/form/FormItemInput.js","../node_modules/@ant-design/icons-svg/es/asn/QuestionCircleOutlined.js","../node_modules/@ant-design/icons/es/icons/QuestionCircleOutlined.js","../node_modules/antd/es/form/FormItemLabel.js","../node_modules/antd/es/form/FormItem/StatusProvider.js","../node_modules/antd/es/form/FormItem/ItemHolder.js","../node_modules/antd/es/form/FormItem/index.js","../node_modules/antd/es/form/hooks/useChildren.js","../node_modules/antd/es/form/hooks/useFrameState.js","../node_modules/antd/es/form/hooks/useItemRef.js","../node_modules/antd/es/form/FormList.js","../node_modules/antd/es/form/index.js","../node_modules/antd/es/form/hooks/useFormInstance.js","../node_modules/antd/es/app/context.js","../node_modules/rc-notification/es/Notice.js","../node_modules/rc-notification/es/NotificationProvider.js","../node_modules/rc-notification/es/hooks/useStack.js","../node_modules/rc-notification/es/NoticeList.js","../node_modules/rc-notification/es/Notifications.js","../node_modules/rc-notification/es/hooks/useNotification.js","../node_modules/antd/es/message/style/index.js","../node_modules/antd/es/message/PurePanel.js","../node_modules/antd/es/message/util.js","../node_modules/antd/es/message/useMessage.js","../node_modules/antd/es/message/index.js","hooks/useTextFetch.js","assets/textTemplates.js","assets/interviewTemplates.js","assets/fcccTemplates.js","assets/esTemplates.js","assets/customTemplates.js","assets/customDropdown.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Prefixer.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-cbed451f.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/react-select/dist/useStateManager-68425271.esm.js","../node_modules/react-select/node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-select/dist/react-select.esm.js","components/SMSForm.js","assets/queueDropdown.js","assets/capacityDropdown.js","hooks/useAdjustFetch.js","components/Metrics.js","hooks/useAnnouncementFetch.js","components/Announcements.js","components/QueueStatus.js","../node_modules/@ant-design/icons-svg/es/asn/DesktopOutlined.js","../node_modules/@ant-design/icons/es/icons/DesktopOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/SettingOutlined.js","../node_modules/@ant-design/icons/es/icons/SettingOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/CopyFilled.js","../node_modules/@ant-design/icons/es/icons/CopyFilled.js","../node_modules/@ant-design/icons-svg/es/asn/CopyOutlined.js","../node_modules/@ant-design/icons/es/icons/CopyOutlined.js","../node_modules/antd/es/layout/style/light.js","../node_modules/antd/es/layout/style/index.js","../node_modules/antd/es/layout/layout.js","../node_modules/antd/es/layout/hooks/useHasSider.js","../node_modules/antd/es/layout/index.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/utils/useSyncExternalStore.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/connect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/index.js","../node_modules/react-helmet/es/Helmet.js","../node_modules/rc-collapse/es/PanelContent.js","../node_modules/rc-collapse/es/Panel.js","../node_modules/rc-collapse/es/hooks/useItems.js","../node_modules/rc-collapse/es/Collapse.js","../node_modules/rc-collapse/es/index.js","../node_modules/antd/es/collapse/CollapsePanel.js","../node_modules/antd/es/collapse/style/index.js","../node_modules/antd/es/collapse/Collapse.js","../node_modules/antd/es/collapse/index.js","../node_modules/fflate/esm/browser.js","../node_modules/jspdf/src/libs/globalObject.js","../node_modules/jspdf/src/libs/console.js","../node_modules/jspdf/src/libs/FileSaver.js","../node_modules/jspdf/src/libs/AtobBtoa.js","../node_modules/jspdf/src/libs/rgbcolor.js","../node_modules/jspdf/src/libs/md5.js","../node_modules/jspdf/src/libs/rc4.js","../node_modules/jspdf/src/libs/pdfsecurity.js","../node_modules/jspdf/src/libs/pdfname.js","../node_modules/jspdf/src/jspdf.js","../node_modules/jspdf/src/modules/acroform.js","../node_modules/jspdf/src/libs/fontFace.js","../node_modules/jspdf/src/modules/addimage.js","../node_modules/jspdf/src/modules/annotations.js","../node_modules/jspdf/src/modules/arabic.js","../node_modules/jspdf/src/modules/autoprint.js","../node_modules/jspdf/src/modules/canvas.js","../node_modules/jspdf/src/modules/cell.js","../node_modules/jspdf/src/modules/javascript.js","../node_modules/jspdf/src/modules/context2d.js","../node_modules/jspdf/src/modules/filters.js","../node_modules/jspdf/src/modules/fileloading.js","../node_modules/jspdf/src/modules/html.js","../node_modules/jspdf/src/modules/outline.js","../node_modules/jspdf/src/modules/jpeg_support.js","../node_modules/jspdf/src/libs/png.js","../node_modules/jspdf/src/modules/split_text_to_size.js","../node_modules/jspdf/src/libs/omggif.js","../node_modules/jspdf/src/libs/JPEGEncoder.js","../node_modules/jspdf/src/libs/BMPDecoder.js","../node_modules/jspdf/src/libs/WebPDecoder.js","../node_modules/jspdf/src/modules/png_support.js","../node_modules/jspdf/src/modules/gif_support.js","../node_modules/jspdf/src/modules/bmp_support.js","../node_modules/jspdf/src/modules/webp_support.js","../node_modules/jspdf/src/modules/rgba_support.js","../node_modules/jspdf/src/modules/setlanguage.js","../node_modules/jspdf/src/modules/standard_fonts_metrics.js","../node_modules/jspdf/src/modules/ttfsupport.js","../node_modules/jspdf/src/modules/svg.js","../node_modules/jspdf/src/modules/total_pages.js","../node_modules/jspdf/src/modules/viewerpreferences.js","../node_modules/jspdf/src/modules/xmp_metadata.js","../node_modules/jspdf/src/modules/utf8.js","../node_modules/jspdf/src/modules/vfs.js","../node_modules/jspdf/src/libs/bidiEngine.js","../node_modules/jspdf/src/libs/ttffont.js","../node_modules/antd/es/_util/throttleByAnimationFrame.js","../node_modules/antd/es/affix/style/index.js","../node_modules/antd/es/affix/utils.js","../node_modules/antd/es/affix/index.js","../node_modules/antd/es/anchor/context.js","../node_modules/antd/es/anchor/AnchorLink.js","../node_modules/antd/es/anchor/style/index.js","../node_modules/antd/es/anchor/Anchor.js","../node_modules/antd/es/anchor/index.js","components/ContactForm/Tanf_DT.js","components/ContactForm/TANF_WPCOOP.js","components/ContactForm/ScreenName_VR.js","components/ContactForm/CS_AllPrograms.js","components/ContactForm/CS_AuthRep.js","components/ContactForm/CS_SummaryScreen.js","components/ContactForm/IDS.js","components/ContactForm/CIL.js","components/ContactForm/HS_StatusList.js","components/ContactForm/RelationshipList.js","components/ContactForm/PregnancyList.js","components/ContactForm/OtherProgramList.js","components/ContactForm/NC_List.js","components/ContactForm/TimeLimitSummary.js","components/ContactForm/PP_List.js","components/ContactForm/SA_List.js","components/ContactForm/LivingArrangement.js","components/ContactForm/NC_ParentList.js","components/ContactForm/MC_List.js","components/ContactForm/EL_IncomeList.js","components/ContactForm/ResourceList.js","components/ContactForm/ExpenseList.js","components/ContactForm/MDC_ExpenseList.js","components/ContactForm/CC_NeedList.js","components/ContactForm/PC_ScheduleList.js","components/ContactForm/FP_ChildCareList.js","components/ContactForm/SB_TANF.js","components/ContactForm/DVSA_StalkingScreening.js","components/ContactForm/IC_MAWRS.js","components/ContactForm/VerificationsList.js","components/ContactForm/TODO.js","components/ContactForm/RunEDBC.js","components/ContactForm/CustomerForm.js","../node_modules/antd/es/row/index.js","../node_modules/rc-dialog/es/context.js","../node_modules/rc-dialog/es/util.js","../node_modules/rc-dialog/es/Dialog/Content/MemoChildren.js","../node_modules/rc-dialog/es/Dialog/Content/Panel.js","../node_modules/rc-dialog/es/Dialog/Content/index.js","../node_modules/rc-dialog/es/Dialog/Mask.js","../node_modules/rc-dialog/es/Dialog/index.js","../node_modules/rc-dialog/es/DialogWrap.js","../node_modules/rc-dialog/es/index.js","../node_modules/rc-image/es/context.js","../node_modules/rc-image/es/Operations.js","../node_modules/rc-image/es/hooks/useImageTransform.js","../node_modules/rc-image/es/getFixScaleEleTransPosition.js","../node_modules/rc-image/es/hooks/useStatus.js","../node_modules/rc-image/es/util.js","../node_modules/rc-image/es/hooks/useTouchEvent.js","../node_modules/rc-image/es/Preview.js","../node_modules/rc-image/es/hooks/useMouseEvent.js","../node_modules/rc-image/es/previewConfig.js","../node_modules/rc-image/es/common.js","../node_modules/rc-image/es/PreviewGroup.js","../node_modules/rc-image/es/hooks/usePreviewItems.js","../node_modules/rc-image/es/hooks/useRegisterImage.js","../node_modules/rc-image/es/Image.js","../node_modules/rc-image/es/index.js","../node_modules/@ant-design/icons-svg/es/asn/RotateLeftOutlined.js","../node_modules/@ant-design/icons/es/icons/RotateLeftOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/RotateRightOutlined.js","../node_modules/@ant-design/icons/es/icons/RotateRightOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/SwapOutlined.js","../node_modules/@ant-design/icons/es/icons/SwapOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/ZoomInOutlined.js","../node_modules/@ant-design/icons/es/icons/ZoomInOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/ZoomOutOutlined.js","../node_modules/@ant-design/icons/es/icons/ZoomOutOutlined.js","../node_modules/antd/es/style/motion/fade.js","../node_modules/antd/es/modal/style/index.js","../node_modules/antd/es/image/style/index.js","../node_modules/antd/es/image/PreviewGroup.js","../node_modules/antd/es/image/index.js","../node_modules/antd/es/list/context.js","../node_modules/antd/es/list/Item.js","../node_modules/antd/es/list/style/index.js","../node_modules/antd/es/list/index.js","../node_modules/@ant-design/icons-svg/es/asn/WifiOutlined.js","../node_modules/@ant-design/icons/es/icons/WifiOutlined.js","components/Troubleshoot/network.js","../node_modules/@ant-design/icons-svg/es/asn/AudioFilled.js","../node_modules/@ant-design/icons/es/icons/AudioFilled.js","components/Troubleshoot/audio.js","components/Troubleshoot/login.js","../node_modules/@ant-design/icons-svg/es/asn/CloudDownloadOutlined.js","../node_modules/@ant-design/icons/es/icons/CloudDownloadOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/DownloadOutlined.js","../node_modules/@ant-design/icons/es/icons/DownloadOutlined.js","components/Troubleshoot/logs.js","components/Troubleshoot/guide.js","../node_modules/@ant-design/icons-svg/es/asn/EditOutlined.js","../node_modules/@ant-design/icons/es/icons/EditOutlined.js","../node_modules/antd/es/_util/transButton.js","../node_modules/@ant-design/icons-svg/es/asn/EnterOutlined.js","../node_modules/@ant-design/icons/es/icons/EnterOutlined.js","../node_modules/antd/es/typography/style/mixins.js","../node_modules/antd/es/typography/style/index.js","../node_modules/antd/es/typography/Editable.js","../node_modules/antd/es/typography/hooks/useCopyClick.js","../node_modules/antd/es/typography/hooks/useMergedConfig.js","../node_modules/antd/es/typography/hooks/usePrevious.js","../node_modules/antd/es/typography/hooks/useUpdatedEffect.js","../node_modules/antd/es/typography/Typography.js","../node_modules/antd/es/typography/Base/util.js","../node_modules/antd/es/typography/Base/CopyBtn.js","../node_modules/antd/es/typography/Base/Ellipsis.js","../node_modules/antd/es/typography/Base/EllipsisTooltip.js","../node_modules/antd/es/typography/Base/index.js","../node_modules/antd/es/typography/Link.js","../node_modules/antd/es/typography/Paragraph.js","../node_modules/antd/es/typography/Text.js","../node_modules/antd/es/typography/Title.js","../node_modules/antd/es/typography/index.js","components/Callback/Dashboard.js","../node_modules/@smithy/protocol-http/dist-es/extensions/httpExtensionConfiguration.js","../node_modules/@smithy/types/dist-es/auth/auth.js","../node_modules/@smithy/types/dist-es/auth/HttpApiKeyAuth.js","../node_modules/@smithy/types/dist-es/endpoint.js","../node_modules/@smithy/types/dist-es/extensions/checksum.js","../node_modules/@smithy/types/dist-es/http.js","../node_modules/@smithy/types/dist-es/middleware.js","../node_modules/@smithy/types/dist-es/profile.js","../node_modules/@smithy/types/dist-es/transfer.js","../node_modules/@smithy/protocol-http/dist-es/httpRequest.js","../node_modules/@smithy/protocol-http/dist-es/httpResponse.js","../node_modules/@aws-sdk/middleware-host-header/dist-es/index.js","../node_modules/@aws-sdk/middleware-logger/dist-es/loggerMiddleware.js","../node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js","../node_modules/@smithy/util-endpoints/dist-es/lib/isIpAddress.js","../node_modules/@smithy/util-endpoints/dist-es/lib/isValidHostLabel.js","../node_modules/@smithy/util-endpoints/dist-es/utils/customEndpointFunctions.js","../node_modules/@smithy/util-endpoints/dist-es/debug/debugId.js","../node_modules/@smithy/util-endpoints/dist-es/debug/toDebugString.js","../node_modules/@smithy/util-endpoints/dist-es/types/EndpointError.js","../node_modules/@smithy/util-endpoints/dist-es/lib/booleanEquals.js","../node_modules/@smithy/util-endpoints/dist-es/lib/getAttr.js","../node_modules/@smithy/util-endpoints/dist-es/lib/getAttrPathList.js","../node_modules/@smithy/util-endpoints/dist-es/lib/parseURL.js","../node_modules/@smithy/util-endpoints/dist-es/utils/endpointFunctions.js","../node_modules/@smithy/util-endpoints/dist-es/lib/isSet.js","../node_modules/@smithy/util-endpoints/dist-es/lib/not.js","../node_modules/@smithy/util-endpoints/dist-es/lib/stringEquals.js","../node_modules/@smithy/util-endpoints/dist-es/lib/substring.js","../node_modules/@smithy/util-endpoints/dist-es/lib/uriEncode.js","../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTemplate.js","../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateExpression.js","../node_modules/@smithy/util-endpoints/dist-es/utils/getReferenceValue.js","../node_modules/@smithy/util-endpoints/dist-es/utils/callFunction.js","../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateCondition.js","../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateConditions.js","../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointHeaders.js","../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointProperty.js","../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointProperties.js","../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointUrl.js","../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateEndpointRule.js","../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateErrorRule.js","../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTreeRule.js","../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateRules.js","../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/isVirtualHostableS3Bucket.js","../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partition.js","../node_modules/@aws-sdk/util-endpoints/dist-es/aws.js","../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/parseArn.js","../node_modules/@aws-sdk/middleware-user-agent/dist-es/constants.js","../node_modules/@aws-sdk/middleware-user-agent/dist-es/user-agent-middleware.js","../node_modules/@smithy/util-config-provider/dist-es/types.js","../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js","../node_modules/@smithy/util-middleware/dist-es/getSmithyContext.js","../node_modules/@smithy/util-middleware/dist-es/normalizeProvider.js","../node_modules/@smithy/config-resolver/dist-es/regionConfig/isFipsRegion.js","../node_modules/@smithy/config-resolver/dist-es/regionConfig/getRealRegion.js","../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js","../node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/s3.js","../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/createConfigValueProvider.js","../node_modules/@smithy/url-parser/dist-es/index.js","../node_modules/@smithy/querystring-parser/dist-es/index.js","../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js","../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js","../node_modules/@smithy/middleware-endpoint/dist-es/endpointMiddleware.js","../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromConfig.browser.js","../node_modules/@smithy/middleware-serde/dist-es/serdePlugin.js","../node_modules/@smithy/middleware-serde/dist-es/deserializerMiddleware.js","../node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js","../node_modules/@smithy/middleware-endpoint/dist-es/getEndpointPlugin.js","../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js","../node_modules/@smithy/core/dist-es/middleware-http-signing/httpSigningMiddleware.js","../node_modules/@smithy/util-retry/dist-es/config.js","../node_modules/@smithy/service-error-classification/dist-es/constants.js","../node_modules/@smithy/service-error-classification/dist-es/index.js","../node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js","../node_modules/@smithy/util-retry/dist-es/constants.js","../node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js","../node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js","../node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js","../node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js","../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-browser/native.js","../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-browser/rng.js","../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/@smithy/middleware-retry/node_modules/uuid/dist/esm-browser/v4.js","../node_modules/@smithy/middleware-retry/dist-es/util.js","../node_modules/@smithy/smithy-client/dist-es/NoOpLogger.js","../node_modules/@smithy/middleware-stack/dist-es/MiddlewareStack.js","../node_modules/@smithy/smithy-client/dist-es/client.js","../node_modules/@smithy/util-base64/dist-es/constants.browser.js","../node_modules/@smithy/util-base64/dist-es/fromBase64.browser.js","../node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js","../node_modules/@smithy/util-base64/dist-es/toBase64.browser.js","../node_modules/@smithy/util-utf8/dist-es/toUtf8.browser.js","../node_modules/@smithy/util-stream/dist-es/blob/Uint8ArrayBlobAdapter.js","../node_modules/@smithy/util-stream/dist-es/blob/transforms.js","../node_modules/@smithy/util-uri-escape/dist-es/escape-uri.js","../node_modules/@smithy/fetch-http-handler/dist-es/request-timeout.js","../node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js","../node_modules/@smithy/querystring-builder/dist-es/index.js","../node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js","../node_modules/@smithy/util-hex-encoding/dist-es/index.js","../node_modules/@smithy/smithy-client/dist-es/command.js","../node_modules/@smithy/smithy-client/dist-es/constants.js","../node_modules/@smithy/smithy-client/dist-es/parse-utils.js","../node_modules/@smithy/smithy-client/dist-es/exceptions.js","../node_modules/@smithy/smithy-client/dist-es/default-error-handler.js","../node_modules/@smithy/smithy-client/dist-es/defaults-mode.js","../node_modules/@smithy/smithy-client/dist-es/extensions/checksum.js","../node_modules/@smithy/smithy-client/dist-es/extensions/retry.js","../node_modules/@smithy/smithy-client/dist-es/extensions/defaultExtensionConfiguration.js","../node_modules/@smithy/smithy-client/dist-es/lazy-json.js","../node_modules/@smithy/smithy-client/dist-es/object-mapping.js","../node_modules/@smithy/smithy-client/dist-es/serde-json.js","../node_modules/@smithy/middleware-retry/dist-es/isStreamingPayload/isStreamingPayload.browser.js","../node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js","../node_modules/@smithy/core/dist-es/middleware-http-signing/getHttpSigningMiddleware.js","../node_modules/@smithy/core/dist-es/util-identity-and-auth/DefaultIdentityProviderConfig.js","../node_modules/@smithy/core/dist-es/util-identity-and-auth/memoizeIdentityProvider.js","../node_modules/@smithy/core/dist-es/normalizeProvider.js","../node_modules/@smithy/middleware-content-length/dist-es/index.js","../node_modules/@smithy/util-utf8/dist-es/toUint8Array.js","../node_modules/@smithy/signature-v4/dist-es/constants.js","../node_modules/@smithy/signature-v4/dist-es/credentialDerivation.js","../node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js","../node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js","../node_modules/@smithy/is-array-buffer/dist-es/index.js","../node_modules/@smithy/signature-v4/dist-es/HeaderFormatter.js","../node_modules/@smithy/signature-v4/dist-es/headerUtil.js","../node_modules/@smithy/signature-v4/dist-es/cloneRequest.js","../node_modules/@smithy/signature-v4/dist-es/prepareRequest.js","../node_modules/@smithy/signature-v4/dist-es/utilDate.js","../node_modules/@smithy/signature-v4/dist-es/SignatureV4.js","../node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js","../node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js","../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js","../node_modules/@aws-sdk/client-secrets-manager/dist-es/auth/httpAuthSchemeProvider.js","../node_modules/@aws-sdk/client-secrets-manager/dist-es/endpoint/EndpointParameters.js","../node_modules/@aws-crypto/util/src/convertToBuffer.ts","../node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js","../node_modules/@aws-crypto/util/src/isEmptyData.ts","../node_modules/@aws-crypto/sha256-browser/src/constants.ts","../node_modules/@aws-sdk/util-locate-window/dist-es/index.js","../node_modules/@aws-crypto/sha256-browser/src/webCryptoSha256.ts","../node_modules/tslib/tslib.es6.mjs","../node_modules/@aws-crypto/sha256-js/src/constants.ts","../node_modules/@aws-crypto/sha256-js/src/RawSha256.ts","../node_modules/@aws-crypto/sha256-js/src/jsSha256.ts","../node_modules/@aws-crypto/supports-web-crypto/src/supportsWebCrypto.ts","../node_modules/@aws-crypto/sha256-browser/src/crossPlatformSha256.ts","../node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.js","../node_modules/@smithy/invalid-dependency/dist-es/invalidProvider.js","../node_modules/@smithy/util-body-length-browser/dist-es/calculateBodyLength.js","../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.js","../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getDateHeader.js","../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js","../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/isClockSkewed.js","../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js","../node_modules/@aws-sdk/client-secrets-manager/dist-es/endpoint/ruleset.js","../node_modules/@aws-sdk/client-secrets-manager/dist-es/endpoint/endpointResolver.js","../node_modules/@smithy/util-endpoints/dist-es/resolveEndpoint.js","../node_modules/@smithy/property-provider/dist-es/ProviderError.js","../node_modules/@smithy/property-provider/dist-es/chain.js","../node_modules/@smithy/util-defaults-mode-browser/dist-es/constants.js","../node_modules/@smithy/util-defaults-mode-browser/dist-es/resolveDefaultsModeConfig.js","../node_modules/@aws-sdk/client-secrets-manager/dist-es/runtimeConfig.browser.js","../node_modules/@smithy/property-provider/dist-es/memoize.js","../node_modules/@aws-sdk/client-secrets-manager/dist-es/runtimeConfig.shared.js","../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js","../node_modules/@aws-sdk/region-config-resolver/dist-es/extensions/index.js","../node_modules/@aws-sdk/client-secrets-manager/dist-es/auth/httpAuthExtensionConfiguration.js","../node_modules/@aws-sdk/client-secrets-manager/dist-es/SecretsManagerClient.js","../node_modules/@smithy/config-resolver/dist-es/regionConfig/resolveRegionConfig.js","../node_modules/@smithy/middleware-endpoint/dist-es/resolveEndpointConfig.js","../node_modules/@smithy/middleware-retry/dist-es/configurations.js","../node_modules/@aws-sdk/middleware-user-agent/dist-es/configurations.js","../node_modules/@aws-sdk/client-secrets-manager/dist-es/runtimeExtensions.js","../node_modules/@aws-sdk/client-secrets-manager/dist-es/models/SecretsManagerServiceException.js","../node_modules/@aws-sdk/client-secrets-manager/dist-es/models/models_0.js","../node_modules/@aws-sdk/core/dist-es/submodules/protocols/common.js","../node_modules/@smithy/smithy-client/dist-es/collect-stream-body.js","../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js","../node_modules/@aws-sdk/client-secrets-manager/dist-es/protocols/Aws_json1_1.js","../node_modules/@smithy/smithy-client/dist-es/date-utils.js","../node_modules/@aws-sdk/client-secrets-manager/dist-es/commands/GetSecretValueCommand.js","pages/App.js","../node_modules/immer/src/utils/errors.ts","../node_modules/immer/src/utils/common.ts","../node_modules/immer/src/utils/plugins.ts","../node_modules/immer/src/core/scope.ts","../node_modules/immer/src/core/finalize.ts","../node_modules/immer/src/core/proxy.ts","../node_modules/immer/src/core/immerClass.ts","../node_modules/immer/src/core/current.ts","../node_modules/immer/src/plugins/es5.ts","../node_modules/immer/src/immer.ts","../node_modules/immer/src/utils/env.ts","../node_modules/redux/es/redux.js","../node_modules/redux-thunk/es/index.js","../node_modules/@reduxjs/toolkit/src/devtoolsExtension.ts","../node_modules/@reduxjs/toolkit/src/isPlainObject.ts","../node_modules/@reduxjs/toolkit/src/utils.ts","../node_modules/@reduxjs/toolkit/src/getDefaultMiddleware.ts","../node_modules/@reduxjs/toolkit/src/createAction.ts","../node_modules/@reduxjs/toolkit/src/mapBuilders.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/index.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/utils.ts","../node_modules/@reduxjs/toolkit/src/index.ts","login/loginSlice.js","../node_modules/@reduxjs/toolkit/src/createSlice.ts","../node_modules/@reduxjs/toolkit/src/createReducer.ts","store.js","../node_modules/@reduxjs/toolkit/src/configureStore.ts","index.js"],"sourcesContent":["export const InfernoEffectHost = {\n lockCount: 0,\n lock() {\n this.lockCount++;\n },\n callbacks: [],\n callEffects() {\n this.lockCount--;\n if (this.lockCount < 0) {\n throw new Error('Unexpected Effect Call');\n }\n if (this.lockCount === 0) {\n const effects = this.callbacks;\n this.callbacks = [];\n effects.forEach((callback) => callback());\n }\n },\n};\n","import { Component, findDOMfromVNode } from 'inferno';\nimport { InfernoEffectHost } from './effect_host';\nconst areObjectsEqual = (firstObject, secondObject) => {\n const bothAreObjects = firstObject instanceof Object && secondObject instanceof Object;\n if (!bothAreObjects) {\n return firstObject === secondObject;\n }\n const firstObjectKeys = Object.keys(firstObject);\n const secondObjectKeys = Object.keys(secondObject);\n if (firstObjectKeys.length !== secondObjectKeys.length) {\n return false;\n }\n const hasDifferentElement = firstObjectKeys.some((key) => firstObject[key] !== secondObject[key]);\n return !hasDifferentElement;\n};\nexport class BaseInfernoComponent extends Component {\n constructor() {\n super(...arguments);\n this._pendingContext = this.context;\n }\n componentWillReceiveProps(_, context) {\n this._pendingContext = context !== null && context !== void 0 ? context : {};\n }\n shouldComponentUpdate(nextProps, nextState) {\n return (!areObjectsEqual(this.props, nextProps)\n || !areObjectsEqual(this.state, nextState)\n || !areObjectsEqual(this.context, this._pendingContext));\n }\n}\nexport class InfernoComponent extends BaseInfernoComponent {\n constructor() {\n super(...arguments);\n this._effects = [];\n }\n createEffects() {\n return [];\n }\n updateEffects() { }\n componentWillMount() {\n InfernoEffectHost.lock();\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n componentWillUpdate(_nextProps, _nextState, _context) {\n InfernoEffectHost.lock();\n }\n componentDidMount() {\n InfernoEffectHost.callbacks.push(() => { this._effects = this.createEffects(); });\n InfernoEffectHost.callEffects();\n }\n componentDidUpdate() {\n InfernoEffectHost.callbacks.push(() => this.updateEffects());\n InfernoEffectHost.callEffects();\n }\n destroyEffects() {\n this._effects.forEach((e) => e.dispose());\n }\n componentWillUnmount() {\n this.destroyEffects();\n }\n}\nexport class InfernoWrapperComponent extends InfernoComponent {\n constructor() {\n super(...arguments);\n this.vDomElement = null;\n }\n vDomUpdateClasses() {\n const el = this.vDomElement;\n const currentClasses = el.className.length\n ? el.className.split(' ')\n : [];\n const addedClasses = currentClasses.filter((className) => el.dxClasses.previous.indexOf(className) < 0);\n const removedClasses = el.dxClasses.previous.filter((className) => currentClasses.indexOf(className) < 0);\n addedClasses.forEach((value) => {\n const indexInRemoved = el.dxClasses.removed.indexOf(value);\n if (indexInRemoved > -1) {\n el.dxClasses.removed.splice(indexInRemoved, 1);\n }\n else {\n el.dxClasses.added.push(value);\n }\n });\n removedClasses.forEach((value) => {\n const indexInAdded = el.dxClasses.added.indexOf(value);\n if (indexInAdded > -1) {\n el.dxClasses.added.splice(indexInAdded, 1);\n }\n else {\n el.dxClasses.removed.push(value);\n }\n });\n }\n componentDidMount() {\n const el = findDOMfromVNode(this.$LI, true);\n this.vDomElement = el;\n super.componentDidMount();\n el.dxClasses = el.dxClasses || {\n removed: [], added: [], previous: [],\n };\n el.dxClasses.previous = (el === null || el === void 0 ? void 0 : el.className.length) ? el.className.split(' ')\n : [];\n }\n componentDidUpdate() {\n super.componentDidUpdate();\n const el = this.vDomElement;\n if (el !== null) {\n el.dxClasses.added.forEach((className) => el.classList.add(className));\n el.dxClasses.removed.forEach((className) => el.classList.remove(className));\n el.dxClasses.previous = el.className.length\n ? el.className.split(' ')\n : [];\n }\n }\n shouldComponentUpdate(nextProps, nextState) {\n const shouldUpdate = super.shouldComponentUpdate(nextProps, nextState);\n if (shouldUpdate) {\n this.vDomUpdateClasses();\n }\n return shouldUpdate;\n }\n}\n","import { Component } from 'inferno';\nlet contextId = 0;\nexport const createContext = function (defaultValue) {\n const id = contextId++;\n return {\n id,\n defaultValue,\n Provider: class extends Component {\n getChildContext() {\n return Object.assign(Object.assign({}, this.context), { [id]: this.props.value || defaultValue });\n }\n render() {\n return this.props.children;\n }\n },\n };\n};\n","export class InfernoEffect {\n constructor(effect, dependency) {\n this.dependency = dependency;\n this.effect = effect;\n this.destroy = effect();\n }\n update(dependency) {\n const currentDependency = this.dependency;\n if (dependency) {\n this.dependency = dependency;\n }\n if (!dependency || dependency.some((d, i) => currentDependency[i] !== d)) {\n this.dispose();\n this.destroy = this.effect();\n }\n }\n dispose() {\n if (this.destroy) {\n this.destroy();\n }\n }\n}\n","import { createPortal } from 'inferno';\nexport const Portal = ({ container, children }) => {\n if (container) {\n return createPortal(children, container);\n }\n return null;\n};\n","import { rerender as reRender } from 'inferno';\nimport { InfernoEffect } from './effect';\nexport const createReRenderEffect = () => new InfernoEffect(() => {\n reRender();\n}, []);\n","export const ERROR_MSG = 'a runtime error occured! Use Inferno in development environment to find the error.';\nexport function isNullOrUndef(o) {\n return o === void 0 || o === null;\n}\nexport function isInvalid(o) {\n return o === null || o === false || o === true || o === void 0;\n}\nexport function isFunction(o) {\n return typeof o === 'function';\n}\nexport function isNull(o) {\n return o === null;\n}\nexport function throwError(message) {\n if (!message) {\n message = ERROR_MSG;\n }\n throw new Error(`Inferno Error: ${message}`);\n}\n","import { _CI, _HI, _M, _MCCC, _ME, _MFCC, _MP, _MR, EMPTY_OBJ, render, _RFC as renderFunctionalComponent, } from 'inferno';\nimport { isFunction, isInvalid, isNull, isNullOrUndef, throwError, } from './shared';\nfunction isSameInnerHTML(dom, innerHTML) {\n const tempdom = document.createElement('i');\n tempdom.innerHTML = innerHTML;\n return tempdom.innerHTML === dom.innerHTML;\n}\nfunction findLastDOMFromVNode(vNode) {\n let flags;\n let children;\n while (vNode) {\n flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n return vNode.dom;\n }\n children = vNode.children;\n if (flags & 8192 /* Fragment */) {\n vNode = vNode.childFlags === 2 /* HasVNodeChildren */ ? children : children[children.length - 1];\n }\n else if (flags & 4 /* ComponentClass */) {\n vNode = children.$LI;\n }\n else {\n vNode = children;\n }\n }\n return null;\n}\nfunction isSamePropsInnerHTML(dom, props) {\n return Boolean(props && props.dangerouslySetInnerHTML && props.dangerouslySetInnerHTML.__html && isSameInnerHTML(dom, props.dangerouslySetInnerHTML.__html));\n}\nfunction hydrateComponent(vNode, parentDOM, dom, context, isSVG, isClass, lifecycle) {\n const type = vNode.type;\n const ref = vNode.ref;\n const props = vNode.props || EMPTY_OBJ;\n let currentNode;\n if (isClass) {\n const instance = _CI(vNode, type, props, context, isSVG, lifecycle);\n const input = instance.$LI;\n currentNode = hydrateVNode(input, parentDOM, dom, instance.$CX, isSVG, lifecycle);\n _MCCC(ref, instance, lifecycle);\n }\n else {\n const input = _HI(renderFunctionalComponent(vNode, context));\n currentNode = hydrateVNode(input, parentDOM, dom, context, isSVG, lifecycle);\n vNode.children = input;\n _MFCC(vNode, lifecycle);\n }\n return currentNode;\n}\nfunction hydrateChildren(parentVNode, parentNode, currentNode, context, isSVG, lifecycle) {\n const childFlags = parentVNode.childFlags;\n const children = parentVNode.children;\n const props = parentVNode.props;\n const flags = parentVNode.flags;\n if (childFlags !== 1 /* HasInvalidChildren */) {\n if (childFlags === 2 /* HasVNodeChildren */) {\n if (isNull(currentNode)) {\n _M(children, parentNode, context, isSVG, null, lifecycle);\n }\n else {\n currentNode = hydrateVNode(children, parentNode, currentNode, context, isSVG, lifecycle);\n currentNode = currentNode ? currentNode.nextSibling : null;\n }\n }\n else if (childFlags === 16 /* HasTextChildren */) {\n if (isNull(currentNode)) {\n parentNode.appendChild(document.createTextNode(children));\n }\n else if (parentNode.childNodes.length !== 1 || currentNode.nodeType !== 3) {\n parentNode.textContent = children;\n }\n else if (currentNode.nodeValue !== children) {\n currentNode.nodeValue = children;\n }\n currentNode = null;\n }\n else if (childFlags & 12 /* MultipleChildren */) {\n let prevVNodeIsTextNode = false;\n for (let i = 0, len = children.length; i < len; ++i) {\n const child = children[i];\n if (isNull(currentNode) || (prevVNodeIsTextNode && (child.flags & 16 /* Text */) > 0)) {\n _M(child, parentNode, context, isSVG, currentNode, lifecycle);\n }\n else {\n currentNode = hydrateVNode(child, parentNode, currentNode, context, isSVG, lifecycle);\n currentNode = currentNode ? currentNode.nextSibling : null;\n }\n prevVNodeIsTextNode = (child.flags & 16 /* Text */) > 0;\n }\n }\n // clear any other DOM nodes, there should be only a single entry for the root\n if ((flags & 8192 /* Fragment */) === 0) {\n let nextSibling = null;\n while (currentNode) {\n nextSibling = currentNode.nextSibling;\n parentNode.removeChild(currentNode);\n currentNode = nextSibling;\n }\n }\n }\n else if (!isNull(parentNode.firstChild) && !isSamePropsInnerHTML(parentNode, props)) {\n parentNode.textContent = ''; // dom has content, but VNode has no children remove everything from DOM\n if (flags & 448 /* FormElement */) {\n // If element is form element, we need to clear defaultValue also\n parentNode.defaultValue = '';\n }\n }\n}\nfunction hydrateElement(vNode, parentDOM, dom, context, isSVG, lifecycle) {\n const props = vNode.props;\n const className = vNode.className;\n const flags = vNode.flags;\n const ref = vNode.ref;\n isSVG = isSVG || (flags & 32 /* SvgElement */) > 0;\n if (dom.nodeType !== 1) {\n _ME(vNode, null, context, isSVG, null, lifecycle);\n parentDOM.replaceChild(vNode.dom, dom);\n }\n else {\n vNode.dom = dom;\n hydrateChildren(vNode, dom, dom.firstChild, context, isSVG, lifecycle);\n if (!isNull(props)) {\n _MP(vNode, flags, props, dom, isSVG);\n }\n if (isNullOrUndef(className)) {\n if (dom.className !== '') {\n dom.removeAttribute('class');\n }\n }\n else if (isSVG) {\n dom.setAttribute('class', className);\n }\n else {\n dom.className = className;\n }\n _MR(ref, dom, lifecycle);\n }\n return vNode.dom;\n}\nfunction hydrateText(vNode, parentDOM, dom) {\n if (dom.nodeType !== 3) {\n parentDOM.replaceChild((vNode.dom = document.createTextNode(vNode.children)), dom);\n }\n else {\n const text = vNode.children;\n if (dom.nodeValue !== text) {\n dom.nodeValue = text;\n }\n vNode.dom = dom;\n }\n return vNode.dom;\n}\nfunction hydrateFragment(vNode, parentDOM, dom, context, isSVG, lifecycle) {\n const children = vNode.children;\n if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n hydrateText(children, parentDOM, dom);\n return children.dom;\n }\n hydrateChildren(vNode, parentDOM, dom, context, isSVG, lifecycle);\n return findLastDOMFromVNode(children[children.length - 1]);\n}\nfunction hydrateVNode(vNode, parentDOM, currentDom, context, isSVG, lifecycle) {\n const flags = (vNode.flags |= 16384 /* InUse */);\n if (flags & 14 /* Component */) {\n return hydrateComponent(vNode, parentDOM, currentDom, context, isSVG, (flags & 4 /* ComponentClass */) > 0, lifecycle);\n }\n if (flags & 481 /* Element */) {\n return hydrateElement(vNode, parentDOM, currentDom, context, isSVG, lifecycle);\n }\n if (flags & 16 /* Text */) {\n return hydrateText(vNode, parentDOM, currentDom);\n }\n if (flags & 512 /* Void */) {\n return (vNode.dom = currentDom);\n }\n if (flags & 8192 /* Fragment */) {\n return hydrateFragment(vNode, parentDOM, currentDom, context, isSVG, lifecycle);\n }\n throwError();\n return null;\n}\nexport function hydrate(input, parentDOM, callback) {\n let dom = parentDOM.firstChild;\n if (isNull(dom)) {\n render(input, parentDOM, callback);\n }\n else {\n const lifecycle = [];\n if (!isInvalid(input)) {\n dom = hydrateVNode(input, parentDOM, dom, {}, false, lifecycle);\n }\n // clear any other DOM nodes, there should be only a single entry for the root\n while (dom && (dom = dom.nextSibling)) {\n parentDOM.removeChild(dom);\n }\n if (lifecycle.length > 0) {\n let listener;\n while ((listener = lifecycle.shift()) !== undefined) {\n listener();\n }\n }\n }\n parentDOM.$V = input;\n if (isFunction(callback)) {\n callback();\n }\n}\n","import { render } from 'inferno';\nimport { createElement } from 'inferno-create-element';\nconst getContainer = (props) => { var _a, _b; return ((_a = props.container) === null || _a === void 0 ? void 0 : _a.get(0)) || ((_b = props.item) === null || _b === void 0 ? void 0 : _b.get(0)); };\nexport function renderTemplate(template, props, _component) {\n setTimeout(() => {\n render(createElement(template, props), getContainer(props));\n }, 0);\n}\nexport const hasTemplate = (name, properties, _component) => {\n const value = properties[name];\n return !!value && typeof value !== 'string';\n};\n","const NUMBER_STYLES = new Set([\n 'animationIterationCount',\n 'borderImageOutset',\n 'borderImageSlice',\n 'border-imageWidth',\n 'boxFlex',\n 'boxFlexGroup',\n 'boxOrdinalGroup',\n 'columnCount',\n 'fillOpacity',\n 'flex',\n 'flexGrow',\n 'flexNegative',\n 'flexOrder',\n 'flexPositive',\n 'flexShrink',\n 'floodOpacity',\n 'fontWeight',\n 'gridColumn',\n 'gridRow',\n 'lineClamp',\n 'lineHeight',\n 'opacity',\n 'order',\n 'orphans',\n 'stopOpacity',\n 'strokeDasharray',\n 'strokeDashoffset',\n 'strokeMiterlimit',\n 'strokeOpacity',\n 'strokeWidth',\n 'tabSize',\n 'widows',\n 'zIndex',\n 'zoom',\n]);\nconst isNumeric = (value) => {\n if (typeof value === 'number')\n return true;\n return !Number.isNaN(Number(value));\n};\nconst getNumberStyleValue = (style, value) => (NUMBER_STYLES.has(style) ? value : `${value}px`);\nconst uppercasePattern = /[A-Z]/g;\nconst kebabCase = (str) => str.replace(uppercasePattern, '-$&').toLowerCase();\nexport function normalizeStyles(styles) {\n if (!(styles instanceof Object)) {\n return undefined;\n }\n return Object\n .entries(styles)\n .reduce((acc, [key, value]) => {\n acc[kebabCase(key)] = isNumeric(value)\n ? getNumberStyleValue(key, value)\n : value;\n return acc;\n }, {});\n}\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]1?i-1:0),a=1;a0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DX_REMOVE_EVENT = exports.ComponentBase = void 0;\nvar events = require(\"devextreme/events\");\nvar React = require(\"react\");\nvar react_dom_1 = require(\"react-dom\");\nvar templates_manager_1 = require(\"./templates-manager\");\nvar templates_renderer_1 = require(\"./templates-renderer\");\nvar templates_store_1 = require(\"./templates-store\");\nvar options_manager_1 = require(\"./options-manager\");\nvar widget_config_1 = require(\"./widget-config\");\nvar tree_1 = require(\"./configuration/react/tree\");\nvar utils_1 = require(\"./configuration/utils\");\nvar DX_REMOVE_EVENT = 'dxremove';\nexports.DX_REMOVE_EVENT = DX_REMOVE_EVENT;\nvar ComponentBase = /** @class */ (function (_super) {\n __extends(ComponentBase, _super);\n function ComponentBase(props) {\n var _this = _super.call(this, props) || this;\n _this.isPortalComponent = false;\n _this._templateProps = [];\n _this._childNodes = [];\n _this.useRequestAnimationFrameFlag = false;\n _this.useDeferUpdateForTemplates = false;\n _this._setTemplatesRendererRef = _this._setTemplatesRendererRef.bind(_this);\n _this._createWidget = _this._createWidget.bind(_this);\n _this._templatesStore = new templates_store_1.TemplatesStore(function () {\n if (_this._templatesRendererRef) {\n _this._templatesRendererRef.scheduleUpdate(_this.useDeferUpdateForTemplates);\n }\n });\n _this._templatesManager = new templates_manager_1.default(_this._templatesStore);\n _this._optionsManager = new options_manager_1.OptionsManager(_this._templatesManager);\n return _this;\n }\n ComponentBase.displayContentsStyle = function () {\n return utils_1.isIE()\n ? {\n width: '100%',\n height: '100%',\n padding: 0,\n margin: 0,\n }\n : { display: 'contents' };\n };\n ComponentBase.prototype.componentDidMount = function () {\n var _a;\n var _b;\n if ((_b = this._childNodes) === null || _b === void 0 ? void 0 : _b.length) {\n (_a = this._element).append.apply(_a, this._childNodes);\n }\n else if (this._element.childNodes.length) {\n this._childNodes = Array.from(this._element.childNodes);\n }\n this._updateCssClasses(null, this.props);\n };\n ComponentBase.prototype.componentDidUpdate = function (prevProps) {\n this._updateCssClasses(prevProps, this.props);\n var config = this._getConfig();\n this._optionsManager.update(config);\n if (this._templatesRendererRef) {\n this._templatesRendererRef.scheduleUpdate(this.useDeferUpdateForTemplates, options_manager_1.scheduleGuards);\n }\n options_manager_1.unscheduleGuards();\n };\n ComponentBase.prototype.componentWillUnmount = function () {\n var _a;\n if (this._instance) {\n (_a = this._childNodes) === null || _a === void 0 ? void 0 : _a.forEach(function (child) { var _a; return (_a = child.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(child); });\n events.triggerHandler(this._element, DX_REMOVE_EVENT);\n this._instance.dispose();\n }\n this._optionsManager.dispose();\n };\n ComponentBase.prototype._createWidget = function (element) {\n element = element || this._element;\n var config = this._getConfig();\n this._instance = new this._WidgetClass(element, __assign({ templatesRenderAsynchronously: true }, this._optionsManager.getInitialOptions(config)));\n if (!this.useRequestAnimationFrameFlag) {\n this.useDeferUpdateForTemplates = this._instance.option('integrationOptions.useDeferUpdateForTemplates');\n }\n this._optionsManager.setInstance(this._instance, config, this.subscribableOptions, this.independentEvents);\n this._instance.on('optionChanged', this._optionsManager.onOptionChanged);\n };\n ComponentBase.prototype._getConfig = function () {\n return tree_1.buildConfigTree({\n templates: this._templateProps,\n initialValuesProps: this._defaults,\n predefinedValuesProps: {},\n expectedChildren: this._expectedChildren,\n }, this.props);\n };\n ComponentBase.prototype._setTemplatesRendererRef = function (instance) {\n this._templatesRendererRef = instance;\n };\n ComponentBase.prototype._getElementProps = function () {\n var _this = this;\n var elementProps = {\n ref: function (element) { _this._element = element; },\n };\n widget_config_1.elementPropNames.forEach(function (name) {\n var props = _this.props;\n if (name in props) {\n elementProps[name] = props[name];\n }\n });\n return elementProps;\n };\n ComponentBase.prototype._updateCssClasses = function (prevProps, newProps) {\n var _a, _b;\n var prevClassName = prevProps ? widget_config_1.getClassName(prevProps) : undefined;\n var newClassName = widget_config_1.getClassName(newProps);\n if (prevClassName === newClassName) {\n return;\n }\n if (prevClassName) {\n var classNames = prevClassName.split(' ').filter(function (c) { return c; });\n if (classNames.length) {\n (_a = this._element.classList).remove.apply(_a, classNames);\n }\n }\n if (newClassName) {\n var classNames = newClassName.split(' ').filter(function (c) { return c; });\n if (classNames.length) {\n (_b = this._element.classList).add.apply(_b, classNames);\n }\n }\n };\n ComponentBase.prototype.renderChildren = function () {\n var children = this.props.children;\n return children;\n };\n ComponentBase.prototype.renderContent = function () {\n var _this = this;\n var children = this.props.children;\n return this.isPortalComponent && children\n ? React.createElement('div', {\n ref: function (node) {\n if (node && _this.portalContainer !== node) {\n _this.portalContainer = node;\n _this.forceUpdate();\n }\n },\n style: ComponentBase.displayContentsStyle(),\n })\n : this.renderChildren();\n };\n ComponentBase.prototype.renderPortal = function () {\n return this.portalContainer && react_dom_1.createPortal(this.renderChildren(), this.portalContainer);\n };\n ComponentBase.prototype.render = function () {\n return React.createElement(React.Fragment, {}, React.createElement('div', this._getElementProps(), this.renderContent(), React.createElement(templates_renderer_1.TemplatesRenderer, {\n templatesStore: this._templatesStore,\n ref: this._setTemplatesRendererRef,\n })), this.isPortalComponent && this.renderPortal());\n };\n return ComponentBase;\n}(React.PureComponent));\nexports.ComponentBase = ComponentBase;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Component = void 0;\nvar React = require(\"react\");\nvar component_base_1 = require(\"./component-base\");\nvar extension_component_1 = require(\"./extension-component\");\nvar Component = /** @class */ (function (_super) {\n __extends(Component, _super);\n function Component(props) {\n var _this = _super.call(this, props) || this;\n _this._extensionCreators = [];\n _this._registerExtension = _this._registerExtension.bind(_this);\n return _this;\n }\n Component.prototype.componentDidMount = function () {\n _super.prototype.componentDidMount.call(this);\n this._createWidget();\n this._createExtensions();\n };\n Component.prototype.renderChildren = function () {\n var _this = this;\n return React.Children.map(this.props.children, function (child) {\n if (child && Object.prototype.isPrototypeOf.call(extension_component_1.ExtensionComponent, child.type)) {\n return React.cloneElement(child, { onMounted: _this._registerExtension });\n }\n return child;\n });\n };\n Component.prototype._registerExtension = function (creator) {\n this._extensionCreators.push(creator);\n };\n Component.prototype._createExtensions = function () {\n var _this = this;\n this._extensionCreators.forEach(function (creator) { return creator(_this._element); });\n };\n return Component;\n}(component_base_1.ComponentBase));\nexports.Component = Component;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOption = void 0;\nvar config = {\n useLegacyTemplateEngine: false,\n};\nfunction setOptions(options) {\n config = __assign(__assign({}, config), options);\n}\nfunction getOption(optionName) {\n return config[optionName];\n}\nexports.getOption = getOption;\nexports.default = setOptions;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChanges = void 0;\nvar tree_1 = require(\"./tree\");\nvar utils_1 = require(\"./utils\");\nfunction compareTemplates(current, prev, changesAccum) {\n var currentTemplatesOptions = {};\n var currentTemplates = {};\n var prevTemplatesOptions = {};\n var prevTemplates = {};\n tree_1.buildTemplates(current, currentTemplatesOptions, currentTemplates);\n tree_1.buildTemplates(prev, prevTemplatesOptions, prevTemplates);\n changesAccum.addRemovedValues(currentTemplatesOptions, prevTemplatesOptions, current.fullName);\n // TODO: support switching to default templates\n // appendRemovedValues(currentTemplates, prevTemplates, \"\", changesAccum.templates);\n Object.keys(currentTemplatesOptions).forEach(function (key) {\n if (currentTemplatesOptions[key] === prevTemplatesOptions[key]) {\n return;\n }\n changesAccum.options[utils_1.mergeNameParts(current.fullName, key)] = currentTemplatesOptions[key];\n });\n Object.keys(currentTemplates).forEach(function (key) {\n var currentTemplate = currentTemplates[key];\n var prevTemplate = prevTemplates[key];\n if (prevTemplate && currentTemplate.content === prevTemplate.content) {\n return;\n }\n changesAccum.templates[key] = currentTemplate;\n });\n}\nfunction compare(current, prev, changesAccum) {\n if (!prev) {\n changesAccum.options[current.fullName] = tree_1.buildNode(current, changesAccum.templates, true);\n return;\n }\n changesAccum.addRemovedValues(current.options, prev.options, current.fullName);\n changesAccum.addRemovedValues(current.configCollections, prev.configCollections, current.fullName);\n changesAccum.addRemovedValues(current.configs, prev.configs, current.fullName);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n compareCollections(current, prev, changesAccum);\n Object.keys(current.configs).forEach(function (key) {\n compare(current.configs[key], prev.configs[key], changesAccum);\n });\n Object.keys(current.options).forEach(function (key) {\n if (current.options[key] === prev.options[key]) {\n return;\n }\n changesAccum.options[utils_1.mergeNameParts(current.fullName, key)] = current.options[key];\n });\n compareTemplates(current, prev, changesAccum);\n}\nfunction appendRemovedValues(current, prev, path, changesAccum) {\n var removedKeys = Object.keys(prev).filter(function (key) { return Object.keys(current).indexOf(key) < 0; });\n removedKeys.forEach(function (key) {\n changesAccum.push(utils_1.mergeNameParts(path, key));\n });\n}\nfunction getChanges(current, prev) {\n var changesAccum = {\n options: {},\n removedOptions: [],\n templates: {},\n addRemovedValues: function (currentOptions, prevOptions, path) {\n appendRemovedValues(currentOptions, prevOptions, path, this.removedOptions);\n },\n };\n compare(current, prev, changesAccum);\n return changesAccum;\n}\nexports.getChanges = getChanges;\nfunction compareCollections(current, prev, changesAccum) {\n Object.keys(current.configCollections).forEach(function (key) {\n var currentCollection = current.configCollections[key];\n var prevCollection = prev.configCollections[key] || [];\n if (!currentCollection || currentCollection.length !== prevCollection.length) {\n var updatedCollection_1 = [];\n currentCollection.forEach(function (item) {\n var config = tree_1.buildNode(item, changesAccum.templates, true);\n updatedCollection_1.push(config);\n });\n changesAccum.options[utils_1.mergeNameParts(current.fullName, key)] = updatedCollection_1;\n return;\n }\n for (var i = 0; i < currentCollection.length; i += 1) {\n compare(currentCollection[i], prevCollection[i], changesAccum);\n }\n });\n}\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ElementType = exports.getElementInfo = void 0;\nvar template_1 = require(\"../../template\");\nvar ElementType;\n(function (ElementType) {\n ElementType[ElementType[\"Option\"] = 0] = \"Option\";\n ElementType[ElementType[\"Template\"] = 1] = \"Template\";\n ElementType[ElementType[\"Unknown\"] = 2] = \"Unknown\";\n})(ElementType || (ElementType = {}));\nexports.ElementType = ElementType;\nfunction getElementInfo(element, parentExpectedChildren) {\n var reactElement = element;\n if (!reactElement || !reactElement.type) {\n return {\n type: ElementType.Unknown,\n };\n }\n if (reactElement.type === template_1.Template) {\n return {\n type: ElementType.Template,\n props: reactElement.props,\n };\n }\n var elementDescriptor = reactElement.type;\n if (elementDescriptor.OptionName) {\n var name_1 = elementDescriptor.OptionName;\n var isCollectionItem = elementDescriptor.IsCollectionItem;\n var expectation = parentExpectedChildren && parentExpectedChildren[name_1];\n if (expectation) {\n isCollectionItem = expectation.isCollectionItem;\n if (expectation.optionName) {\n name_1 = expectation.optionName;\n }\n }\n return {\n type: ElementType.Option,\n descriptor: {\n name: name_1,\n isCollection: isCollectionItem,\n templates: elementDescriptor.TemplateProps || [],\n initialValuesProps: elementDescriptor.DefaultsProps || {},\n predefinedValuesProps: elementDescriptor.PredefinedProps || {},\n expectedChildren: elementDescriptor.ExpectedChildren || {},\n },\n props: reactElement.props,\n };\n }\n return {\n type: ElementType.Unknown,\n };\n}\nexports.getElementInfo = getElementInfo;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getNamedTemplate = exports.getAnonymousTemplate = void 0;\nfunction getAnonymousTemplate(props, templateMeta, hasTranscludedContent) {\n if (templateMeta.tmplOption === 'template' && hasTranscludedContent) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: 'children',\n content: props.children,\n keyFn: props[templateMeta.keyFn],\n };\n }\n if (props[templateMeta.render]) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: 'render',\n content: props[templateMeta.render],\n keyFn: props[templateMeta.keyFn],\n };\n }\n if (props[templateMeta.component]) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: 'component',\n content: props[templateMeta.component],\n keyFn: props[templateMeta.keyFn],\n };\n }\n return null;\n}\nexports.getAnonymousTemplate = getAnonymousTemplate;\nfunction getNamedTemplate(props) {\n if (!props.name) {\n return null;\n }\n if (props.component) {\n return {\n optionName: props.name,\n isAnonymous: false,\n type: 'component',\n content: props.component,\n keyFn: props.keyFn,\n };\n }\n if (props.render) {\n return {\n optionName: props.name,\n isAnonymous: false,\n type: 'render',\n content: props.render,\n keyFn: props.keyFn,\n };\n }\n return {\n optionName: props.name,\n isAnonymous: false,\n type: 'children',\n content: props.children,\n keyFn: props.keyFn,\n };\n}\nexports.getNamedTemplate = getNamedTemplate;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildConfigTree = exports.processChildren = void 0;\nvar React = require(\"react\");\nvar widget_config_1 = require(\"../../widget-config\");\nvar element_1 = require(\"./element\");\nvar utils_1 = require(\"../utils\");\nvar templates_1 = require(\"./templates\");\nfunction processChildren(parentElement, parentFullName) {\n var templates = [];\n var configCollections = {};\n var configs = {};\n var hasTranscludedContent = false;\n React.Children.map(parentElement.props.children, function (child) {\n var element = element_1.getElementInfo(child, parentElement.descriptor.expectedChildren);\n if (element.type === element_1.ElementType.Unknown) {\n if (child !== null && child !== undefined && child !== false) {\n hasTranscludedContent = true;\n }\n return;\n }\n if (element.type === element_1.ElementType.Template) {\n var template = templates_1.getNamedTemplate(element.props);\n if (template) {\n templates.push(template);\n }\n return;\n }\n if (element.descriptor.isCollection) {\n var collection = configCollections[element.descriptor.name];\n if (!collection) {\n collection = [];\n configCollections[element.descriptor.name] = collection;\n }\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n var collectionItem = createConfigNode(element, utils_1.mergeNameParts(parentFullName, element.descriptor.name) + \"[\" + collection.length + \"]\");\n collection.push(collectionItem);\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n var configNode = createConfigNode(element, parentFullName);\n configs[element.descriptor.name] = configNode;\n });\n return {\n configs: configs,\n configCollections: configCollections,\n templates: templates,\n hasTranscludedContent: hasTranscludedContent,\n };\n}\nexports.processChildren = processChildren;\nfunction createConfigNode(element, path) {\n var fullName = element.descriptor.isCollection\n ? path\n : utils_1.mergeNameParts(path, element.descriptor.name);\n var separatedValues = widget_config_1.separateProps(element.props, element.descriptor.initialValuesProps, element.descriptor.templates);\n var childrenData = processChildren(element, fullName);\n element.descriptor.templates.forEach(function (templateMeta) {\n var template = templates_1.getAnonymousTemplate(element.props, templateMeta, path.length > 0 ? childrenData.hasTranscludedContent : false);\n if (template) {\n childrenData.templates.push(template);\n }\n });\n return {\n fullName: fullName,\n predefinedOptions: element.descriptor.predefinedValuesProps,\n initialOptions: separatedValues.defaults,\n options: separatedValues.options,\n templates: childrenData.templates,\n configCollections: childrenData.configCollections,\n configs: childrenData.configs,\n };\n}\nfunction buildConfigTree(widgetDescriptor, props) {\n return createConfigNode({\n type: element_1.ElementType.Option,\n descriptor: __assign({ name: '', isCollection: false }, widgetDescriptor),\n props: props,\n }, '');\n}\nexports.buildConfigTree = buildConfigTree;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findValueInObject = exports.findValue = exports.buildTemplates = exports.buildNode = exports.buildConfig = exports.ValueType = void 0;\nvar utils_1 = require(\"./utils\");\nfunction buildTemplates(node, optionsAccum, templatesAccum) {\n node.templates.forEach(function (template) {\n if (template.isAnonymous) {\n var templateName = utils_1.mergeNameParts(node.fullName, template.optionName);\n optionsAccum[template.optionName] = templateName;\n templatesAccum[templateName] = template;\n }\n else {\n templatesAccum[template.optionName] = template;\n }\n });\n}\nexports.buildTemplates = buildTemplates;\nfunction buildNode(node, templatesAccum, ignoreInitialValues) {\n var result = {};\n Object.keys(node.predefinedOptions).forEach(function (key) {\n result[key] = node.predefinedOptions[key];\n });\n Object.keys(node.configs).forEach(function (key) {\n result[key] = buildNode(node.configs[key], templatesAccum, ignoreInitialValues);\n });\n Object.keys(node.configCollections).forEach(function (key) {\n result[key] = node.configCollections[key].map(function (item) { return buildNode(item, templatesAccum, ignoreInitialValues); });\n });\n if (!ignoreInitialValues) {\n Object.keys(node.initialOptions).forEach(function (key) {\n result[key] = node.initialOptions[key];\n });\n }\n Object.keys(node.options).forEach(function (key) {\n result[key] = node.options[key];\n });\n buildTemplates(node, result, templatesAccum);\n return result;\n}\nexports.buildNode = buildNode;\nfunction buildConfig(root, ignoreInitialValues) {\n var templatesAccum = {};\n var options = buildNode(root, templatesAccum, ignoreInitialValues);\n return {\n templates: templatesAccum,\n options: options,\n };\n}\nexports.buildConfig = buildConfig;\nvar ValueType;\n(function (ValueType) {\n ValueType[ValueType[\"Simple\"] = 0] = \"Simple\";\n ValueType[ValueType[\"Complex\"] = 1] = \"Complex\";\n ValueType[ValueType[\"Array\"] = 2] = \"Array\";\n})(ValueType || (ValueType = {}));\nexports.ValueType = ValueType;\nfunction findValueInObject(obj, path) {\n var key = path.shift();\n if (!key) {\n return {\n value: obj,\n type: ValueType.Simple,\n };\n }\n if (obj instanceof Object && Object.keys(obj).includes(key)) {\n return findValueInObject(obj[key], path);\n }\n return undefined;\n}\nexports.findValueInObject = findValueInObject;\nfunction findValue(node, path) {\n var name = path.shift();\n if (!name) {\n return {\n value: buildConfig(node, true).options,\n type: ValueType.Complex,\n };\n }\n var optionInfo = utils_1.parseOptionName(name);\n if (optionInfo.name in node.options) {\n var options = optionInfo.isCollectionItem\n ? node.options[optionInfo.name][optionInfo.index]\n : node.options[optionInfo.name];\n return findValueInObject(options, path);\n }\n if (optionInfo.isCollectionItem) {\n var collection = node.configCollections[optionInfo.name];\n if (!collection) {\n return undefined;\n }\n var item = collection[optionInfo.index];\n if (!item) {\n return undefined;\n }\n return findValue(item, path);\n }\n var child = node.configs[optionInfo.name];\n if (child) {\n return findValue(child, path);\n }\n var childCollection = node.configCollections[optionInfo.name];\n if (childCollection) {\n if (path.length !== 0) {\n return undefined;\n }\n return {\n value: childCollection.map(function (item) { return buildNode(item, {}, true); }),\n type: ValueType.Array,\n };\n }\n return undefined;\n}\nexports.findValue = findValue;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shallowEquals = exports.isIE = exports.parseOptionName = exports.mergeNameParts = void 0;\nfunction mergeNameParts() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args.filter(function (value) { return value; }).join('.');\n}\nexports.mergeNameParts = mergeNameParts;\nfunction parseOptionName(name) {\n var parts = name.split('[');\n if (parts.length === 1) {\n return {\n isCollectionItem: false,\n name: name,\n };\n }\n return {\n isCollectionItem: true,\n name: parts[0],\n index: Number(parts[1].slice(0, -1)),\n };\n}\nexports.parseOptionName = parseOptionName;\nvar isIE = function () {\n var _a, _b;\n var ua = (_b = (_a = window === null || window === void 0 ? void 0 : window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) !== null && _b !== void 0 ? _b : ''; // Check the userAgent property of the window.navigator object\n var msie = ua.indexOf('MSIE'); // IE 10 or older\n var trident = ua.indexOf('Trident/'); // IE 11\n return (msie > 0 || trident > 0);\n};\nexports.isIE = isIE;\nvar shallowEquals = function (first, second) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n return Object.keys(first).every(function (key) { return first[key] === second[key]; });\n};\nexports.shallowEquals = shallowEquals;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDxTemplate = void 0;\nvar React = require(\"react\");\nvar helpers_1 = require(\"./helpers\");\nvar template_wrapper_1 = require(\"./template-wrapper\");\nvar component_base_1 = require(\"./component-base\");\nvar events = require(\"devextreme/events\");\nfunction unwrapElement(element) {\n return element.get ? element.get(0) : element;\n}\nfunction createDxTemplate(createContentProvider, templatesStore, keyFn) {\n var renderedTemplates = new helpers_1.DoubleKeyMap();\n return {\n render: function (data) {\n var container = unwrapElement(data.container);\n var key = { key1: data.model, key2: container };\n var prevTemplateId = renderedTemplates.get(key);\n var templateId;\n var onRemoved = function () {\n templatesStore.setDeferredRemove(templateId, true);\n renderedTemplates.delete(key);\n };\n var _subscribeOnContainerRemoval = function () {\n if (container.nodeType === Node.ELEMENT_NODE) {\n events.one(container, component_base_1.DX_REMOVE_EVENT, onRemoved);\n }\n };\n var _unsubscribeOnContainerRemoval = function () {\n if (container.nodeType === Node.ELEMENT_NODE) {\n events.off(container, component_base_1.DX_REMOVE_EVENT, onRemoved);\n }\n };\n if (prevTemplateId) {\n templateId = prevTemplateId;\n }\n else {\n templateId = keyFn ? keyFn(data.model) : \"__template_\" + helpers_1.generateID();\n if (data.model !== undefined) {\n renderedTemplates.set(key, templateId);\n }\n }\n _subscribeOnContainerRemoval();\n templatesStore.add(templateId, function () {\n var props = {\n data: data.model,\n index: data.index,\n };\n var contentProvider = createContentProvider();\n return React.createElement(template_wrapper_1.TemplateWrapper, {\n content: contentProvider(props),\n container: container,\n onRemoved: onRemoved,\n onDidMount: function () {\n var _a;\n _unsubscribeOnContainerRemoval();\n templatesStore.setDeferredRemove(templateId, false);\n (_a = data.onRendered) === null || _a === void 0 ? void 0 : _a.call(data);\n },\n key: templateId,\n });\n });\n return container;\n },\n };\n}\nexports.createDxTemplate = createDxTemplate;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExtensionComponent = void 0;\nvar component_base_1 = require(\"./component-base\");\nvar ExtensionComponent = /** @class */ (function (_super) {\n __extends(ExtensionComponent, _super);\n function ExtensionComponent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ExtensionComponent.prototype.componentDidMount = function () {\n var onMounted = this.props.onMounted;\n if (onMounted) {\n onMounted(this._createWidget);\n }\n else {\n this._createWidget();\n }\n };\n return ExtensionComponent;\n}(component_base_1.ComponentBase));\nexports.ExtensionComponent = ExtensionComponent;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.capitalizeFirstLetter = exports.DoubleKeyMap = exports.generateID = void 0;\nfunction generateID() {\n return Math.random().toString(36).substr(2);\n}\nexports.generateID = generateID;\nvar DoubleKeyMap = /** @class */ (function () {\n function DoubleKeyMap() {\n this._map = new Map();\n }\n DoubleKeyMap.prototype.set = function (_a, value) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n if (!innerMap) {\n innerMap = new Map();\n this._map.set(key1, innerMap);\n }\n innerMap.set(key2, value);\n };\n DoubleKeyMap.prototype.get = function (_a) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n return innerMap ? innerMap.get(key2) : undefined;\n };\n DoubleKeyMap.prototype.delete = function (_a) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n if (!innerMap) {\n return;\n }\n innerMap.delete(key2);\n if (innerMap.size === 0) {\n this._map.delete(key1);\n }\n };\n return DoubleKeyMap;\n}());\nexports.DoubleKeyMap = DoubleKeyMap;\nfunction capitalizeFirstLetter(text) {\n if (text.length) {\n return \"\" + text[0].toUpperCase() + text.substr(1);\n }\n return '';\n}\nexports.capitalizeFirstLetter = capitalizeFirstLetter;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar element_1 = require(\"./configuration/react/element\");\nvar NestedOption = /** @class */ (function (_super) {\n __extends(NestedOption, _super);\n function NestedOption() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NestedOption.prototype.render = function () {\n var stateChildren = this.props.children;\n var children = React.Children.map(stateChildren, function (child) {\n var childElementInfo = element_1.getElementInfo(child);\n return childElementInfo.type === element_1.ElementType.Option ? child : null;\n });\n return React.createElement(React.Fragment, {}, children);\n };\n return NestedOption;\n}(React.PureComponent));\nexports.default = NestedOption;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OptionsManager = exports.scheduleGuards = exports.unscheduleGuards = void 0;\n/* eslint-disable no-restricted-globals */\nvar comparer_1 = require(\"./configuration/comparer\");\nvar tree_1 = require(\"./configuration/tree\");\nvar utils_1 = require(\"./configuration/utils\");\nvar helpers_1 = require(\"./helpers\");\nvar optionsManagers = new Set();\nvar guardTimeoutHandler = -1;\nfunction unscheduleGuards() {\n clearTimeout(guardTimeoutHandler);\n}\nexports.unscheduleGuards = unscheduleGuards;\nfunction scheduleGuards() {\n unscheduleGuards();\n guardTimeoutHandler = window.setTimeout(function () {\n optionsManagers.forEach(function (optionManager) { return optionManager.execGuards(); });\n });\n}\nexports.scheduleGuards = scheduleGuards;\nvar OptionsManager = /** @class */ (function () {\n function OptionsManager(templatesManager) {\n this.guards = {};\n this.isUpdating = false;\n this.templatesManager = templatesManager;\n optionsManagers.add(this);\n this.onOptionChanged = this.onOptionChanged.bind(this);\n this.wrapOptionValue = this.wrapOptionValue.bind(this);\n }\n OptionsManager.prototype.setInstance = function (instance, config, subscribableOptions, independentEvents) {\n this.instance = instance;\n this.currentConfig = config;\n this.subscribableOptions = new Set(subscribableOptions);\n this.independentEvents = new Set(independentEvents);\n };\n OptionsManager.prototype.getInitialOptions = function (rootNode) {\n var _this = this;\n var config = tree_1.buildConfig(rootNode, false);\n Object.keys(config.templates).forEach(function (key) {\n _this.templatesManager.add(key, config.templates[key]);\n });\n var options = {};\n Object.keys(config.options).forEach(function (key) {\n options[key] = _this.wrapOptionValue(key, config.options[key]);\n });\n if (this.templatesManager.templatesCount > 0) {\n options.integrationOptions = {\n templates: this.templatesManager.templates,\n };\n }\n return options;\n };\n OptionsManager.prototype.update = function (config) {\n var _this = this;\n var changedOptions = [];\n var optionChangedHandler = function (_a) {\n var value = _a.value, fullName = _a.fullName;\n changedOptions.push([fullName, value]);\n };\n this.instance.on('optionChanged', optionChangedHandler);\n var changes = comparer_1.getChanges(config, this.currentConfig);\n if (!changes.options && !changes.templates && !changes.removedOptions.length) {\n return;\n }\n this.instance.beginUpdate();\n this.isUpdating = true;\n changes.removedOptions.forEach(function (optionName) {\n _this.resetOption(optionName);\n });\n Object.keys(changes.templates).forEach(function (key) {\n _this.templatesManager.add(key, changes.templates[key]);\n });\n if (this.templatesManager.templatesCount > 0) {\n this.setValue('integrationOptions', {\n templates: this.templatesManager.templates,\n });\n }\n Object.keys(changes.options).forEach(function (key) {\n _this.setValue(key, changes.options[key]);\n });\n this.isUpdating = false;\n this.instance.off('optionChanged', optionChangedHandler);\n this.currentConfig = config;\n changedOptions.forEach(function (_a) {\n var name = _a[0], value = _a[1];\n var currentPropValue = config.options[name];\n if (Object.prototype.hasOwnProperty.call(config.options, name)\n && currentPropValue !== value) {\n _this.setValue(name, currentPropValue);\n }\n });\n this.instance.endUpdate();\n };\n OptionsManager.prototype.onOptionChanged = function (e) {\n var _this = this;\n var _a;\n if (this.isUpdating) {\n return;\n }\n var valueDescriptor = tree_1.findValue(this.currentConfig, e.fullName.split('.'));\n if (!valueDescriptor || valueDescriptor.value !== e.value) {\n this.callOptionChangeHandler(e.fullName, e.value);\n }\n valueDescriptor = tree_1.findValue(this.currentConfig, e.fullName.split('.'));\n if (!valueDescriptor) {\n return;\n }\n var value = valueDescriptor.value, type = valueDescriptor.type;\n if (value instanceof Array && type === tree_1.ValueType.Array) {\n for (var i = 0; i < value.length; i += 1) {\n if (value[i] !== ((_a = e.value) === null || _a === void 0 ? void 0 : _a[i])) {\n this.addGuard(e.fullName, value);\n return;\n }\n }\n }\n else if (type === tree_1.ValueType.Complex && value instanceof Object) {\n Object.keys(value).forEach(function (key) {\n var _a;\n if (value[key] === ((_a = e.value) === null || _a === void 0 ? void 0 : _a[key])) {\n return;\n }\n _this.addGuard(utils_1.mergeNameParts(e.fullName, key), value[key]);\n });\n }\n else {\n var valuesAreEqual = value === e.value;\n var valuesAreEqualObjects = !valuesAreEqual\n && value instanceof Object\n && e.value instanceof Object\n && utils_1.shallowEquals(value, e.value);\n if (valuesAreEqual || valuesAreEqualObjects || this.instance.skipOptionsRollBack) {\n return;\n }\n this.addGuard(e.fullName, value);\n }\n };\n OptionsManager.prototype.dispose = function () {\n var _this = this;\n optionsManagers.delete(this);\n Object.keys(this.guards).forEach(function (optionName) {\n delete _this.guards[optionName];\n });\n };\n OptionsManager.prototype.isOptionSubscribable = function (optionName) {\n return this.subscribableOptions.has(optionName);\n };\n OptionsManager.prototype.isIndependentEvent = function (optionName) {\n return this.independentEvents.has(optionName);\n };\n OptionsManager.prototype.callOptionChangeHandler = function (optionName, optionValue) {\n if (!this.isOptionSubscribable(optionName)) {\n return;\n }\n var parts = optionName.split('.');\n var propName = parts[parts.length - 1];\n if (propName.startsWith('on')) {\n return;\n }\n var eventName = \"on\" + helpers_1.capitalizeFirstLetter(propName) + \"Change\";\n parts[parts.length - 1] = eventName;\n var changeEvent = tree_1.findValue(this.currentConfig, parts);\n if (!changeEvent) {\n return;\n }\n if (typeof changeEvent.value !== 'function') {\n throw new Error(\"Invalid value for the \" + eventName + \" property.\\n \" + eventName + \" must be a function.\");\n }\n changeEvent.value(optionValue);\n };\n OptionsManager.prototype.wrapOptionValue = function (name, value) {\n var _this = this;\n if (name.substr(0, 2) === 'on' && typeof value === 'function') {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!_this.isUpdating || _this.isIndependentEvent(name)) {\n value.apply(void 0, args);\n }\n };\n }\n return value;\n };\n OptionsManager.prototype.addGuard = function (optionName, optionValue) {\n var _this = this;\n if (this.guards[optionName] !== undefined) {\n return;\n }\n var handler = function () {\n _this.setValue(optionName, optionValue);\n delete _this.guards[optionName];\n };\n this.guards[optionName] = handler;\n scheduleGuards();\n };\n OptionsManager.prototype.execGuards = function () {\n Object.values(this.guards)\n .forEach(function (handler) { return handler(); });\n };\n OptionsManager.prototype.resetOption = function (name) {\n this.instance.resetOption(name);\n };\n OptionsManager.prototype.setValue = function (name, value) {\n if (this.guards[name]) {\n delete this.guards[name];\n }\n this.instance.option(name, this.wrapOptionValue(name, value));\n };\n return OptionsManager;\n}());\nexports.OptionsManager = OptionsManager;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TemplateWrapper = void 0;\nvar events = require(\"devextreme/events\");\nvar React = require(\"react\");\nvar ReactDOM = require(\"react-dom\");\nvar component_base_1 = require(\"./component-base\");\nvar removalListenerStyle = { display: 'none' };\nvar TableNodeNames;\n(function (TableNodeNames) {\n TableNodeNames[\"TABLE\"] = \"tbody\";\n TableNodeNames[\"TBODY\"] = \"tr\";\n})(TableNodeNames || (TableNodeNames = {}));\nvar TemplateWrapper = /** @class */ (function (_super) {\n __extends(TemplateWrapper, _super);\n function TemplateWrapper(props) {\n var _this = _super.call(this, props) || this;\n _this._removalListenerRef = React.createRef();\n _this.state = { removalListenerRequired: false };\n _this._onDxRemove = _this._onDxRemove.bind(_this);\n _this.getPreviousSiblingNode = _this.getPreviousSiblingNode.bind(_this);\n return _this;\n }\n TemplateWrapper.prototype.componentDidMount = function () {\n var _a, _b;\n this._subscribeOnRemove();\n (_b = (_a = this.props).onDidMount) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n TemplateWrapper.prototype.componentDidUpdate = function () {\n this._subscribeOnRemove();\n };\n TemplateWrapper.prototype.componentWillUnmount = function () {\n // Let React remove it itself\n var node = this.element;\n var hiddenNode = this.hiddenElement;\n var container = this.props.container;\n if (node) {\n container.appendChild(node);\n }\n if (hiddenNode) {\n container.appendChild(hiddenNode);\n }\n if (this._listenerElement) {\n container.appendChild(this._listenerElement);\n }\n };\n Object.defineProperty(TemplateWrapper.prototype, \"_listenerElement\", {\n get: function () {\n return this._removalListenerRef.current;\n },\n enumerable: false,\n configurable: true\n });\n TemplateWrapper.prototype.getPreviousSiblingNode = function (node) {\n this.hiddenElement = node;\n this.element = node === null || node === void 0 ? void 0 : node.previousSibling;\n };\n TemplateWrapper.prototype._subscribeOnRemove = function () {\n var node = this.element;\n var removalListenerRequired = this.state.removalListenerRequired;\n if (node && node.nodeType === Node.ELEMENT_NODE) {\n this._subscribeOnElementRemoval(node);\n return;\n }\n if (!removalListenerRequired) {\n this.setState({ removalListenerRequired: true });\n return;\n }\n if (this._listenerElement) {\n this._subscribeOnElementRemoval(this._listenerElement);\n }\n };\n TemplateWrapper.prototype._subscribeOnElementRemoval = function (element) {\n events.off(element, component_base_1.DX_REMOVE_EVENT, this._onDxRemove);\n events.one(element, component_base_1.DX_REMOVE_EVENT, this._onDxRemove);\n };\n TemplateWrapper.prototype._onDxRemove = function () {\n var onRemoved = this.props.onRemoved;\n onRemoved();\n };\n TemplateWrapper.prototype.render = function () {\n var removalListenerRequired = this.state.removalListenerRequired;\n var _a = this.props, content = _a.content, container = _a.container;\n var removalListener = removalListenerRequired\n ? React.createElement('span', { style: removalListenerStyle, ref: this._removalListenerRef })\n : undefined;\n var nodeName = TableNodeNames[container.nodeName] || 'div';\n return ReactDOM.createPortal(React.createElement(React.Fragment, null, content, content && React.createElement(nodeName, { style: { display: 'none' }, ref: this.getPreviousSiblingNode }), removalListener), container);\n };\n return TemplateWrapper;\n}(React.PureComponent));\nexports.TemplateWrapper = TemplateWrapper;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findProps = exports.Template = void 0;\nvar PropTypes = require(\"prop-types\");\nvar React = require(\"react\");\nvar Template = /** @class */ (function (_super) {\n __extends(Template, _super);\n function Template() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Template.prototype.render = function () {\n return null;\n };\n return Template;\n}(React.PureComponent));\nexports.Template = Template;\nvar requiredPropsCheck = function (props) {\n if (!props.component && !props.render && !props.children) {\n return new Error(\"The Template component requires 'component' or 'render' property\");\n }\n return null;\n};\nTemplate.propTypes = {\n name: PropTypes.string.isRequired,\n component: requiredPropsCheck,\n render: requiredPropsCheck,\n children: requiredPropsCheck,\n};\nfunction findProps(child) {\n if (child.type !== Template) {\n return undefined;\n }\n return {\n name: child.props.name,\n render: child.props.render,\n component: child.props.component,\n children: child.props.children,\n keyFn: child.props.keyFn,\n };\n}\nexports.findProps = findProps;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar config_1 = require(\"./config\");\nvar dx_template_1 = require(\"./dx-template\");\nfunction normalizeProps(props) {\n if (config_1.getOption('useLegacyTemplateEngine')) {\n var model = props.data;\n if (model && Object.prototype.hasOwnProperty.call(model, 'key')) {\n model.dxkey = model.key;\n }\n return model;\n }\n return props;\n}\nvar contentCreators = {\n component: function (contentGetter) { return function (props) {\n props = normalizeProps(props);\n return React.createElement.bind(null, contentGetter())(props);\n }; },\n render: function (contentGetter) { return function (props) {\n normalizeProps(props);\n return contentGetter()(props.data, props.index);\n }; },\n children: function (contentGetter) { return function () { return contentGetter(); }; },\n};\nvar TemplatesManager = /** @class */ (function () {\n function TemplatesManager(templatesStore) {\n this._templates = {};\n this._templatesContent = {};\n this._templatesStore = templatesStore;\n }\n TemplatesManager.prototype.add = function (name, template) {\n var _this = this;\n this._templatesContent[name] = template.content;\n var contentCreator = contentCreators[template.type]\n .bind(this, function () { return _this._templatesContent[name]; });\n this._templates[name] = dx_template_1.createDxTemplate(contentCreator, this._templatesStore, template.keyFn);\n };\n Object.defineProperty(TemplatesManager.prototype, \"templatesCount\", {\n get: function () {\n return Object.keys(this._templates).length;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TemplatesManager.prototype, \"templates\", {\n get: function () {\n return this._templates;\n },\n enumerable: false,\n configurable: true\n });\n return TemplatesManager;\n}());\nexports.default = TemplatesManager;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TemplatesRenderer = void 0;\nvar frame_1 = require(\"devextreme/animation/frame\");\nvar common_1 = require(\"devextreme/core/utils/common\");\nvar React = require(\"react\");\nvar TemplatesRenderer = /** @class */ (function (_super) {\n __extends(TemplatesRenderer, _super);\n function TemplatesRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.updateScheduled = false;\n _this.mounted = false;\n return _this;\n }\n TemplatesRenderer.prototype.componentDidMount = function () {\n this.mounted = true;\n };\n TemplatesRenderer.prototype.componentWillUnmount = function () {\n this.mounted = false;\n };\n TemplatesRenderer.prototype.scheduleUpdate = function (useDeferUpdate, onRendered) {\n var _this = this;\n if (this.updateScheduled) {\n return;\n }\n this.updateScheduled = true;\n var updateFunc = useDeferUpdate ? common_1.deferUpdate : frame_1.requestAnimationFrame;\n updateFunc(function () {\n if (_this.mounted) {\n _this.forceUpdate(function () {\n _this.updateScheduled = false;\n onRendered === null || onRendered === void 0 ? void 0 : onRendered();\n });\n }\n _this.updateScheduled = false;\n });\n };\n TemplatesRenderer.prototype.render = function () {\n var templatesStore = this.props.templatesStore;\n return React.createElement(React.Fragment, {}, templatesStore.renderWrappers());\n };\n return TemplatesRenderer;\n}(React.PureComponent));\nexports.TemplatesRenderer = TemplatesRenderer;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TemplatesStore = void 0;\nvar TemplatesStore = /** @class */ (function () {\n function TemplatesStore(onTemplateAdded) {\n this._templates = {};\n this._onTemplateAdded = onTemplateAdded;\n }\n TemplatesStore.prototype.add = function (templateId, templateFunc) {\n this._templates[templateId] = { template: templateFunc, isDeferredRemove: false };\n this._onTemplateAdded();\n };\n TemplatesStore.prototype.setDeferredRemove = function (templateId, isDeferredRemove) {\n if (this._templates[templateId]) {\n this._templates[templateId].isDeferredRemove = isDeferredRemove;\n }\n };\n TemplatesStore.prototype.removeDefferedTemplate = function () {\n var _this = this;\n Object.entries(this._templates)\n .filter(function (_a) {\n var templateInfo = _a[1];\n return (templateInfo.isDeferredRemove);\n })\n .forEach(function (_a) {\n var templateId = _a[0];\n delete _this._templates[templateId];\n });\n };\n TemplatesStore.prototype.renderWrappers = function () {\n var _this = this;\n this.removeDefferedTemplate();\n return Object.getOwnPropertyNames(this._templates).map(function (templateId) { return _this._templates[templateId].template(); });\n };\n return TemplatesStore;\n}());\nexports.TemplatesStore = TemplatesStore;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.separateProps = exports.getClassName = exports.elementPropNames = void 0;\nvar elementPropNames = ['style', 'id'];\nexports.elementPropNames = elementPropNames;\nvar classNamePropName = 'className';\nfunction isIgnoredProp(name) {\n return name === 'children' || name === classNamePropName || elementPropNames.indexOf(name) > -1;\n}\nfunction separateProps(props, defaultsProps, templateProps) {\n templateProps = templateProps || [];\n var defaults = {};\n var options = {};\n var templates = {};\n var knownTemplates = {};\n templateProps.forEach(function (value) {\n knownTemplates[value.component] = true;\n knownTemplates[value.render] = true;\n });\n Object.keys(props).forEach(function (key) {\n var defaultOptionName = defaultsProps ? defaultsProps[key] : null;\n if (isIgnoredProp(key)) {\n return;\n }\n if (defaultOptionName) {\n defaults[defaultOptionName] = props[key];\n return;\n }\n if (knownTemplates[key]) {\n templates[key] = props[key];\n return;\n }\n options[key] = props[key];\n });\n return { options: options, defaults: defaults, templates: templates };\n}\nexports.separateProps = separateProps;\nfunction getClassName(props) {\n return props[classNamePropName];\n}\nexports.getClassName = getClassName;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchEditorOptions = exports.Options = exports.MenuItem = exports.ItemDragging = exports.Item = exports.CursorOffset = exports.Button = exports.List = void 0;\nvar list_1 = require(\"devextreme/ui/list\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar List = /** @class */ (function (_super) {\n __extends(List, _super);\n function List() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = list_1.default;\n _this.subscribableOptions = [\"items\", \"selectedItemKeys\", \"selectedItems\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onGroupRendered\", \"onInitialized\", \"onItemClick\", \"onItemContextMenu\", \"onItemDeleted\", \"onItemDeleting\", \"onItemHold\", \"onItemRendered\", \"onItemReordered\", \"onItemSwipe\", \"onPageLoading\", \"onPullRefresh\", \"onScroll\", \"onSelectAllValueChanged\"];\n _this._defaults = {\n defaultItems: \"items\",\n defaultSelectedItemKeys: \"selectedItemKeys\",\n defaultSelectedItems: \"selectedItems\"\n };\n _this._expectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true },\n itemDragging: { optionName: \"itemDragging\", isCollectionItem: false },\n menuItem: { optionName: \"menuItems\", isCollectionItem: true },\n searchEditorOptions: { optionName: \"searchEditorOptions\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"groupTemplate\",\n render: \"groupRender\",\n component: \"groupComponent\",\n keyFn: \"groupKeyFn\"\n }, {\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(List.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return List;\n}(component_1.Component));\nexports.List = List;\nList.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n allowItemDeleting: PropTypes.bool,\n bounceEnabled: PropTypes.bool,\n collapsibleGroups: PropTypes.bool,\n disabled: PropTypes.bool,\n displayExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n grouped: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n indicateLoading: PropTypes.bool,\n itemDeleteMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"context\",\n \"slideButton\",\n \"slideItem\",\n \"static\",\n \"swipe\",\n \"toggle\"\n ])\n ]),\n itemDragging: PropTypes.object,\n itemHoldTimeout: PropTypes.number,\n items: PropTypes.array,\n keyExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n menuItems: PropTypes.array,\n menuMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"context\",\n \"slide\"\n ])\n ]),\n nextButtonText: PropTypes.string,\n noDataText: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onGroupRendered: PropTypes.func,\n onInitialized: PropTypes.func,\n onItemClick: PropTypes.func,\n onItemContextMenu: PropTypes.func,\n onItemDeleted: PropTypes.func,\n onItemDeleting: PropTypes.func,\n onItemHold: PropTypes.func,\n onItemRendered: PropTypes.func,\n onItemReordered: PropTypes.func,\n onItemSwipe: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPageLoading: PropTypes.func,\n onPullRefresh: PropTypes.func,\n onScroll: PropTypes.func,\n onSelectAllValueChanged: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n pageLoadingText: PropTypes.string,\n pageLoadMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"nextButton\",\n \"scrollBottom\"\n ])\n ]),\n pulledDownText: PropTypes.string,\n pullingDownText: PropTypes.string,\n pullRefreshEnabled: PropTypes.bool,\n refreshingText: PropTypes.string,\n repaintChangesOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n scrollByContent: PropTypes.bool,\n scrollByThumb: PropTypes.bool,\n scrollingEnabled: PropTypes.bool,\n searchEditorOptions: PropTypes.object,\n searchEnabled: PropTypes.bool,\n searchExpr: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n searchMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"contains\",\n \"startswith\",\n \"equals\"\n ])\n ]),\n searchTimeout: PropTypes.number,\n searchValue: PropTypes.string,\n selectAllMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"allPages\",\n \"page\"\n ])\n ]),\n selectAllText: PropTypes.string,\n selectedItemKeys: PropTypes.array,\n selectedItems: PropTypes.array,\n selectionMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"single\",\n \"multiple\",\n \"all\",\n \"none\"\n ])\n ]),\n showScrollbar: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"never\",\n \"onHover\",\n \"onScroll\"\n ])\n ]),\n showSelectionControls: PropTypes.bool,\n tabIndex: PropTypes.number,\n useNativeScrolling: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.ExpectedChildren = {\n options: { optionName: \"options\", isCollectionItem: false }\n };\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar CursorOffset = /** @class */ (function (_super) {\n __extends(CursorOffset, _super);\n function CursorOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CursorOffset.OptionName = \"cursorOffset\";\n return CursorOffset;\n}(nested_option_1.default));\nexports.CursorOffset = CursorOffset;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar ItemDragging = /** @class */ (function (_super) {\n __extends(ItemDragging, _super);\n function ItemDragging() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ItemDragging.OptionName = \"itemDragging\";\n ItemDragging.ExpectedChildren = {\n cursorOffset: { optionName: \"cursorOffset\", isCollectionItem: false }\n };\n ItemDragging.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"dragTemplate\",\n render: \"dragRender\",\n component: \"dragComponent\",\n keyFn: \"dragKeyFn\"\n }];\n return ItemDragging;\n}(nested_option_1.default));\nexports.ItemDragging = ItemDragging;\nvar MenuItem = /** @class */ (function (_super) {\n __extends(MenuItem, _super);\n function MenuItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MenuItem.OptionName = \"menuItems\";\n MenuItem.IsCollectionItem = true;\n return MenuItem;\n}(nested_option_1.default));\nexports.MenuItem = MenuItem;\nvar Options = /** @class */ (function (_super) {\n __extends(Options, _super);\n function Options() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Options.OptionName = \"options\";\n Options.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Options;\n}(nested_option_1.default));\nexports.Options = Options;\nvar SearchEditorOptions = /** @class */ (function (_super) {\n __extends(SearchEditorOptions, _super);\n function SearchEditorOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SearchEditorOptions.OptionName = \"searchEditorOptions\";\n SearchEditorOptions.DefaultsProps = {\n defaultValue: \"value\"\n };\n SearchEditorOptions.ExpectedChildren = {\n button: { optionName: \"buttons\", isCollectionItem: true }\n };\n return SearchEditorOptions;\n}(nested_option_1.default));\nexports.SearchEditorOptions = SearchEditorOptions;\nexports.default = List;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tooltip = exports.Route = exports.Marker = exports.Location = exports.Center = exports.ApiKey = exports.Map = void 0;\nvar map_1 = require(\"devextreme/ui/map\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Map = /** @class */ (function (_super) {\n __extends(Map, _super);\n function Map() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = map_1.default;\n _this.subscribableOptions = [\"center\", \"markers\", \"routes\", \"zoom\"];\n _this.independentEvents = [\"onClick\", \"onDisposing\", \"onInitialized\", \"onMarkerAdded\", \"onMarkerRemoved\", \"onReady\", \"onRouteAdded\", \"onRouteRemoved\"];\n _this._defaults = {\n defaultCenter: \"center\",\n defaultMarkers: \"markers\",\n defaultRoutes: \"routes\",\n defaultZoom: \"zoom\"\n };\n _this._expectedChildren = {\n apiKey: { optionName: \"apiKey\", isCollectionItem: false },\n center: { optionName: \"center\", isCollectionItem: false },\n marker: { optionName: \"markers\", isCollectionItem: true },\n route: { optionName: \"routes\", isCollectionItem: true }\n };\n return _this;\n }\n Object.defineProperty(Map.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Map;\n}(component_1.Component));\nexports.Map = Map;\nMap.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n apiKey: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n autoAdjust: PropTypes.bool,\n center: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.string\n ]),\n controls: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n markerIconSrc: PropTypes.string,\n markers: PropTypes.array,\n onClick: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onMarkerAdded: PropTypes.func,\n onMarkerRemoved: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onReady: PropTypes.func,\n onRouteAdded: PropTypes.func,\n onRouteRemoved: PropTypes.func,\n provider: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bing\",\n \"google\",\n \"googleStatic\"\n ])\n ]),\n routes: PropTypes.array,\n rtlEnabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n type: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"hybrid\",\n \"roadmap\",\n \"satellite\"\n ])\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n zoom: PropTypes.number\n};\nvar ApiKey = /** @class */ (function (_super) {\n __extends(ApiKey, _super);\n function ApiKey() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ApiKey.OptionName = \"apiKey\";\n return ApiKey;\n}(nested_option_1.default));\nexports.ApiKey = ApiKey;\nvar Center = /** @class */ (function (_super) {\n __extends(Center, _super);\n function Center() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Center.OptionName = \"center\";\n return Center;\n}(nested_option_1.default));\nexports.Center = Center;\nvar Location = /** @class */ (function (_super) {\n __extends(Location, _super);\n function Location() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Location.OptionName = \"location\";\n return Location;\n}(nested_option_1.default));\nexports.Location = Location;\nvar Marker = /** @class */ (function (_super) {\n __extends(Marker, _super);\n function Marker() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Marker.OptionName = \"markers\";\n Marker.IsCollectionItem = true;\n Marker.ExpectedChildren = {\n location: { optionName: \"location\", isCollectionItem: false },\n tooltip: { optionName: \"tooltip\", isCollectionItem: false }\n };\n return Marker;\n}(nested_option_1.default));\nexports.Marker = Marker;\nvar Route = /** @class */ (function (_super) {\n __extends(Route, _super);\n function Route() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Route.OptionName = \"routes\";\n Route.IsCollectionItem = true;\n Route.ExpectedChildren = {\n location: { optionName: \"locations\", isCollectionItem: true }\n };\n return Route;\n}(nested_option_1.default));\nexports.Route = Route;\nvar Tooltip = /** @class */ (function (_super) {\n __extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.OptionName = \"tooltip\";\n return Tooltip;\n}(nested_option_1.default));\nexports.Tooltip = Tooltip;\nexports.default = Map;\n","/*!\n * devextreme-react\n * Version: 22.2.3\n * Build date: Mon Dec 05 2022\n *\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToolbarItem = exports.To = exports.Show = exports.Position = exports.Options = exports.Offset = exports.My = exports.Item = exports.Hide = exports.From = exports.DropDownOptions = exports.Collision = exports.Button = exports.BoundaryOffset = exports.At = exports.Animation = exports.SelectBox = void 0;\nvar select_box_1 = require(\"devextreme/ui/select_box\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar SelectBox = /** @class */ (function (_super) {\n __extends(SelectBox, _super);\n function SelectBox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = select_box_1.default;\n _this.subscribableOptions = [\"opened\", \"value\"];\n _this.independentEvents = [\"onChange\", \"onClosed\", \"onContentReady\", \"onCopy\", \"onCustomItemCreating\", \"onCut\", \"onDisposing\", \"onEnterKey\", \"onFocusIn\", \"onFocusOut\", \"onInitialized\", \"onInput\", \"onItemClick\", \"onKeyDown\", \"onKeyUp\", \"onOpened\", \"onPaste\", \"onValueChanged\"];\n _this._defaults = {\n defaultOpened: \"opened\",\n defaultValue: \"value\"\n };\n _this._expectedChildren = {\n button: { optionName: \"buttons\", isCollectionItem: true },\n dropDownOptions: { optionName: \"dropDownOptions\", isCollectionItem: false },\n item: { optionName: \"items\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"dropDownButtonTemplate\",\n render: \"dropDownButtonRender\",\n component: \"dropDownButtonComponent\",\n keyFn: \"dropDownButtonKeyFn\"\n }, {\n tmplOption: \"fieldTemplate\",\n render: \"fieldRender\",\n component: \"fieldComponent\",\n keyFn: \"fieldKeyFn\"\n }, {\n tmplOption: \"groupTemplate\",\n render: \"groupRender\",\n component: \"groupComponent\",\n keyFn: \"groupKeyFn\"\n }, {\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(SelectBox.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return SelectBox;\n}(component_1.Component));\nexports.SelectBox = SelectBox;\nSelectBox.propTypes = {\n acceptCustomValue: PropTypes.bool,\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n buttons: PropTypes.array,\n customItemCreateEvent: PropTypes.string,\n deferRendering: PropTypes.bool,\n disabled: PropTypes.bool,\n displayExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n displayValue: PropTypes.string,\n dropDownOptions: PropTypes.object,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n grouped: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n items: PropTypes.array,\n label: PropTypes.string,\n labelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"static\",\n \"floating\",\n \"hidden\"\n ])\n ]),\n maxLength: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n minSearchLength: PropTypes.number,\n name: PropTypes.string,\n noDataText: PropTypes.string,\n onChange: PropTypes.func,\n onClosed: PropTypes.func,\n onContentReady: PropTypes.func,\n onCopy: PropTypes.func,\n onCustomItemCreating: PropTypes.func,\n onCut: PropTypes.func,\n onDisposing: PropTypes.func,\n onEnterKey: PropTypes.func,\n onFocusIn: PropTypes.func,\n onFocusOut: PropTypes.func,\n onInitialized: PropTypes.func,\n onInput: PropTypes.func,\n onItemClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onOpened: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPaste: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n opened: PropTypes.bool,\n openOnFieldClick: PropTypes.bool,\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n searchEnabled: PropTypes.bool,\n searchExpr: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n searchMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"contains\",\n \"startswith\"\n ])\n ]),\n searchTimeout: PropTypes.number,\n showClearButton: PropTypes.bool,\n showDataBeforeSearch: PropTypes.bool,\n showDropDownButton: PropTypes.bool,\n showSelectionControls: PropTypes.bool,\n spellcheck: PropTypes.bool,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"outlined\",\n \"underlined\",\n \"filled\"\n ])\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n useItemTextAsTitle: PropTypes.bool,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\",\n \"auto\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n valueChangeEvent: PropTypes.string,\n valueExpr: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n wrapItemText: PropTypes.bool\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.ExpectedChildren = {\n options: { optionName: \"options\", isCollectionItem: false }\n };\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar DropDownOptions = /** @class */ (function (_super) {\n __extends(DropDownOptions, _super);\n function DropDownOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DropDownOptions.OptionName = \"dropDownOptions\";\n DropDownOptions.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n DropDownOptions.ExpectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n DropDownOptions.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return DropDownOptions;\n}(nested_option_1.default));\nexports.DropDownOptions = DropDownOptions;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Options = /** @class */ (function (_super) {\n __extends(Options, _super);\n function Options() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Options.OptionName = \"options\";\n Options.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Options;\n}(nested_option_1.default));\nexports.Options = Options;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nexports.default = SelectBox;\n","/**\r\n * DevExtreme (esm/animation/frame.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = hasWindow() ? getWindow() : {};\r\nimport callOnce from \"../core/utils/call_once\";\r\nvar FRAME_ANIMATION_STEP_TIME = 1e3 / 60;\r\nvar request = function(callback) {\r\n return setTimeout(callback, FRAME_ANIMATION_STEP_TIME)\r\n};\r\nvar cancel = function(requestID) {\r\n clearTimeout(requestID)\r\n};\r\nvar setAnimationFrameMethods = callOnce((function() {\r\n var nativeRequest = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame;\r\n var nativeCancel = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame;\r\n if (nativeRequest && nativeCancel) {\r\n request = nativeRequest;\r\n cancel = nativeCancel\r\n }\r\n}));\r\nexport function requestAnimationFrame() {\r\n setAnimationFrameMethods();\r\n return request.apply(window, arguments)\r\n}\r\nexport function cancelAnimationFrame() {\r\n setAnimationFrameMethods();\r\n cancel.apply(window, arguments)\r\n}\r\n","/**\r\n * DevExtreme (esm/animation/easing.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nvar CSS_TRANSITION_EASING_REGEX = /cubic-bezier\\((\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\)/;\r\nvar TransitionTimingFuncMap = {\r\n linear: \"cubic-bezier(0, 0, 1, 1)\",\r\n swing: \"cubic-bezier(0.445, 0.05, 0.55, 0.95)\",\r\n ease: \"cubic-bezier(0.25, 0.1, 0.25, 1)\",\r\n \"ease-in\": \"cubic-bezier(0.42, 0, 1, 1)\",\r\n \"ease-out\": \"cubic-bezier(0, 0, 0.58, 1)\",\r\n \"ease-in-out\": \"cubic-bezier(0.42, 0, 0.58, 1)\"\r\n};\r\nvar polynomBezier = function(x1, y1, x2, y2) {\r\n var Cx = 3 * x1;\r\n var Bx = 3 * (x2 - x1) - Cx;\r\n var Ax = 1 - Cx - Bx;\r\n var Cy = 3 * y1;\r\n var By = 3 * (y2 - y1) - Cy;\r\n var Ay = 1 - Cy - By;\r\n var bezierX = function(t) {\r\n return t * (Cx + t * (Bx + t * Ax))\r\n };\r\n var derivativeX = function(t) {\r\n return Cx + t * (2 * Bx + 3 * t * Ax)\r\n };\r\n return function(t) {\r\n return function(t) {\r\n return t * (Cy + t * (By + t * Ay))\r\n }(function(t) {\r\n var x = t;\r\n var i = 0;\r\n var z;\r\n while (i < 14) {\r\n z = bezierX(x) - t;\r\n if (Math.abs(z) < .001) {\r\n break\r\n }\r\n x -= z / derivativeX(x);\r\n i++\r\n }\r\n return x\r\n }(t))\r\n }\r\n};\r\nvar easing = {};\r\nexport var convertTransitionTimingFuncToEasing = function(cssTransitionEasing) {\r\n cssTransitionEasing = TransitionTimingFuncMap[cssTransitionEasing] || cssTransitionEasing;\r\n var coeffs = cssTransitionEasing.match(CSS_TRANSITION_EASING_REGEX);\r\n var forceName;\r\n if (!coeffs) {\r\n forceName = \"linear\";\r\n coeffs = TransitionTimingFuncMap[forceName].match(CSS_TRANSITION_EASING_REGEX)\r\n }\r\n coeffs = coeffs.slice(1, 5);\r\n for (var i = 0; i < coeffs.length; i++) {\r\n coeffs[i] = parseFloat(coeffs[i])\r\n }\r\n var easingName = forceName || \"cubicbezier_\" + coeffs.join(\"_\").replace(/\\./g, \"p\");\r\n if (!isFunction(easing[easingName])) {\r\n easing[easingName] = function(x, t, b, c, d) {\r\n return c * polynomBezier(coeffs[0], coeffs[1], coeffs[2], coeffs[3])(t / d) + b\r\n }\r\n }\r\n return easingName\r\n};\r\nexport function setEasing(value) {\r\n easing = value\r\n}\r\nexport function getEasing(name) {\r\n return easing[name]\r\n}\r\n","/**\r\n * DevExtreme (esm/animation/fx.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isFunction,\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getTranslateCss,\r\n parseTranslate,\r\n clearCache,\r\n locate,\r\n getTranslate\r\n} from \"./translator\";\r\nimport {\r\n convertTransitionTimingFuncToEasing,\r\n getEasing\r\n} from \"./easing\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"./frame\";\r\nimport {\r\n transitionEndEventName,\r\n transition\r\n} from \"../core/utils/support\";\r\nimport positionUtils from \"./position\";\r\nimport {\r\n removeEvent\r\n} from \"../events/remove\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar removeEventName = addNamespace(removeEvent, \"dxFX\");\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nvar RELATIVE_VALUE_REGEX = /^([+-])=(.*)/i;\r\nvar ANIM_DATA_KEY = \"dxAnimData\";\r\nvar ANIM_QUEUE_KEY = \"dxAnimQueue\";\r\nvar TRANSFORM_PROP = \"transform\";\r\nvar TransitionAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"none\"\r\n });\r\n if (\"string\" === typeof config.from) {\r\n $element.addClass(config.from)\r\n } else {\r\n setProps($element, config.from)\r\n }\r\n var that = this;\r\n var deferred = new Deferred;\r\n var cleanupWhen = config.cleanupWhen;\r\n config.transitionAnimation = {\r\n deferred: deferred,\r\n finish: function() {\r\n that._finishTransition($element);\r\n if (cleanupWhen) {\r\n when(deferred, cleanupWhen).always((function() {\r\n that._cleanup($element, config)\r\n }))\r\n } else {\r\n that._cleanup($element, config)\r\n }\r\n deferred.resolveWith($element, [config, $element])\r\n }\r\n };\r\n this._completeAnimationCallback($element, config).done((function() {\r\n config.transitionAnimation.finish()\r\n })).fail((function() {\r\n deferred.rejectWith($element, [config, $element])\r\n }));\r\n if (!config.duration) {\r\n config.transitionAnimation.finish()\r\n }\r\n $element.css(\"transform\")\r\n },\r\n animate: function($element, config) {\r\n this._startAnimation($element, config);\r\n return config.transitionAnimation.deferred.promise()\r\n },\r\n _completeAnimationCallback: function($element, config) {\r\n var that = this;\r\n var startTime = Date.now() + config.delay;\r\n var deferred = new Deferred;\r\n var transitionEndFired = new Deferred;\r\n var simulatedTransitionEndFired = new Deferred;\r\n var simulatedEndEventTimer;\r\n var transitionEndEventFullName = transitionEndEventName() + \".dxFX\";\r\n config.transitionAnimation.cleanup = function() {\r\n clearTimeout(simulatedEndEventTimer);\r\n clearTimeout(waitForJSCompleteTimer);\r\n eventsEngine.off($element, transitionEndEventFullName);\r\n eventsEngine.off($element, removeEventName)\r\n };\r\n eventsEngine.one($element, transitionEndEventFullName, (function() {\r\n if (Date.now() - startTime >= config.duration) {\r\n transitionEndFired.reject()\r\n }\r\n }));\r\n eventsEngine.off($element, removeEventName);\r\n eventsEngine.on($element, removeEventName, (function() {\r\n that.stop($element, config);\r\n deferred.reject()\r\n }));\r\n var waitForJSCompleteTimer = setTimeout((function() {\r\n simulatedEndEventTimer = setTimeout((function() {\r\n simulatedTransitionEndFired.reject()\r\n }), config.duration + config.delay + fx._simulatedTransitionEndDelay);\r\n when(transitionEndFired, simulatedTransitionEndFired).fail(function() {\r\n deferred.resolve()\r\n }.bind(this))\r\n }));\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"all\",\r\n transitionDelay: config.delay + \"ms\",\r\n transitionDuration: config.duration + \"ms\",\r\n transitionTimingFunction: config.easing\r\n });\r\n if (\"string\" === typeof config.to) {\r\n $element[0].className += \" \" + config.to\r\n } else if (config.to) {\r\n setProps($element, config.to)\r\n }\r\n },\r\n _finishTransition: function($element) {\r\n $element.css(\"transition\", \"none\")\r\n },\r\n _cleanup: function($element, config) {\r\n config.transitionAnimation.cleanup();\r\n if (\"string\" === typeof config.from) {\r\n $element.removeClass(config.from);\r\n $element.removeClass(config.to)\r\n }\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n if (!config) {\r\n return\r\n }\r\n if (jumpToEnd) {\r\n config.transitionAnimation.finish()\r\n } else {\r\n if (isPlainObject(config.to)) {\r\n each(config.to, (function(key) {\r\n $element.css(key, $element.css(key))\r\n }))\r\n }\r\n this._finishTransition($element);\r\n this._cleanup($element, config)\r\n }\r\n }\r\n};\r\nvar FrameAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n setProps($element, config.from)\r\n },\r\n animate: function($element, config) {\r\n var deferred = new Deferred;\r\n var that = this;\r\n if (!config) {\r\n return deferred.reject().promise()\r\n }\r\n each(config.to, (function(prop) {\r\n if (void 0 === config.from[prop]) {\r\n config.from[prop] = that._normalizeValue($element.css(prop))\r\n }\r\n }));\r\n if (config.to[TRANSFORM_PROP]) {\r\n config.from[TRANSFORM_PROP] = that._parseTransform(config.from[TRANSFORM_PROP]);\r\n config.to[TRANSFORM_PROP] = that._parseTransform(config.to[TRANSFORM_PROP])\r\n }\r\n config.frameAnimation = {\r\n to: config.to,\r\n from: config.from,\r\n currentValue: config.from,\r\n easing: convertTransitionTimingFuncToEasing(config.easing),\r\n duration: config.duration,\r\n startTime: (new Date).valueOf(),\r\n finish: function() {\r\n this.currentValue = this.to;\r\n this.draw();\r\n cancelAnimationFrame(config.frameAnimation.animationFrameId);\r\n deferred.resolve()\r\n },\r\n draw: function() {\r\n if (config.draw) {\r\n config.draw(this.currentValue);\r\n return\r\n }\r\n var currentValue = extend({}, this.currentValue);\r\n if (currentValue[TRANSFORM_PROP]) {\r\n currentValue[TRANSFORM_PROP] = map(currentValue[TRANSFORM_PROP], (function(value, prop) {\r\n if (\"translate\" === prop) {\r\n return getTranslateCss(value)\r\n } else if (\"scale\" === prop) {\r\n return \"scale(\" + value + \")\"\r\n } else if (\"rotate\" === prop.substr(0, prop.length - 1)) {\r\n return prop + \"(\" + value + \"deg)\"\r\n }\r\n })).join(\" \")\r\n }\r\n $element.css(currentValue)\r\n }\r\n };\r\n if (config.delay) {\r\n config.frameAnimation.startTime += config.delay;\r\n config.frameAnimation.delayTimeout = setTimeout((function() {\r\n that._startAnimation($element, config)\r\n }), config.delay)\r\n } else {\r\n that._startAnimation($element, config)\r\n }\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n eventsEngine.off($element, removeEventName);\r\n eventsEngine.on($element, removeEventName, (function() {\r\n if (config.frameAnimation) {\r\n cancelAnimationFrame(config.frameAnimation.animationFrameId)\r\n }\r\n }));\r\n this._animationStep($element, config)\r\n },\r\n _parseTransform: function(transformString) {\r\n var result = {};\r\n each(transformString.match(/\\w+\\d*\\w*\\([^)]*\\)\\s*/g), (function(i, part) {\r\n var translateData = parseTranslate(part);\r\n var scaleData = part.match(/scale\\((.+?)\\)/);\r\n var rotateData = part.match(/(rotate.)\\((.+)deg\\)/);\r\n if (translateData) {\r\n result.translate = translateData\r\n }\r\n if (scaleData && scaleData[1]) {\r\n result.scale = parseFloat(scaleData[1])\r\n }\r\n if (rotateData && rotateData[1]) {\r\n result[rotateData[1]] = parseFloat(rotateData[2])\r\n }\r\n }));\r\n return result\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n cancelAnimationFrame(frameAnimation.animationFrameId);\r\n clearTimeout(frameAnimation.delayTimeout);\r\n if (jumpToEnd) {\r\n frameAnimation.finish()\r\n }\r\n delete config.frameAnimation\r\n },\r\n _animationStep: function($element, config) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n var now = (new Date).valueOf();\r\n if (now >= frameAnimation.startTime + frameAnimation.duration) {\r\n frameAnimation.finish();\r\n return\r\n }\r\n frameAnimation.currentValue = this._calcStepValue(frameAnimation, now - frameAnimation.startTime);\r\n frameAnimation.draw();\r\n var that = this;\r\n frameAnimation.animationFrameId = requestAnimationFrame((function() {\r\n that._animationStep($element, config)\r\n }))\r\n },\r\n _calcStepValue: function(frameAnimation, currentDuration) {\r\n return function calcValueRecursively(from, to) {\r\n var result = Array.isArray(to) ? [] : {};\r\n each(to, (function(propName, endPropValue) {\r\n if (\"string\" === typeof endPropValue && false === parseFloat(endPropValue)) {\r\n return true\r\n }\r\n result[propName] = \"object\" === typeof endPropValue ? calcValueRecursively(from[propName], endPropValue) : function(propName) {\r\n var x = currentDuration / frameAnimation.duration;\r\n var t = currentDuration;\r\n var b = 1 * from[propName];\r\n var c = to[propName] - from[propName];\r\n var d = frameAnimation.duration;\r\n return getEasing(frameAnimation.easing)(x, t, b, c, d)\r\n }(propName)\r\n }));\r\n return result\r\n }(frameAnimation.from, frameAnimation.to)\r\n },\r\n _normalizeValue: function(value) {\r\n var numericValue = parseFloat(value);\r\n if (false === numericValue) {\r\n return value\r\n }\r\n return numericValue\r\n }\r\n};\r\nvar FallbackToNoAnimationStrategy = {\r\n initAnimation: function() {},\r\n animate: function() {\r\n return (new Deferred).resolve().promise()\r\n },\r\n stop: noop,\r\n isSynchronous: true\r\n};\r\nvar getAnimationStrategy = function(config) {\r\n config = config || {};\r\n var animationStrategies = {\r\n transition: transition() ? TransitionAnimationStrategy : FrameAnimationStrategy,\r\n frame: FrameAnimationStrategy,\r\n noAnimation: FallbackToNoAnimationStrategy\r\n };\r\n var strategy = config.strategy || \"transition\";\r\n if (\"css\" === config.type && !transition()) {\r\n strategy = \"noAnimation\"\r\n }\r\n return animationStrategies[strategy]\r\n};\r\nvar baseConfigValidator = function(config, animationType, validate, typeMessage) {\r\n each([\"from\", \"to\"], (function() {\r\n if (!validate(config[this])) {\r\n throw errors.Error(\"E0010\", animationType, this, typeMessage)\r\n }\r\n }))\r\n};\r\nvar isObjectConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, (function(target) {\r\n return isPlainObject(target)\r\n }), \"a plain object\")\r\n};\r\nvar isStringConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, (function(target) {\r\n return \"string\" === typeof target\r\n }), \"a string\")\r\n};\r\nvar CustomAnimationConfigurator = {\r\n setup: function() {}\r\n};\r\nvar CssAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isStringConfigValidator(config, \"css\")\r\n },\r\n setup: function() {}\r\n};\r\nvar positionAliases = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"left center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"right center\",\r\n at: \"left center\"\r\n }\r\n};\r\nvar SlideAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"slide\")\r\n },\r\n setup: function($element, config) {\r\n var location = locate($element);\r\n if (\"slide\" !== config.type) {\r\n var positioningConfig = \"slideIn\" === config.type ? config.from : config.to;\r\n positioningConfig.position = extend({\r\n of: window\r\n }, positionAliases[config.direction]);\r\n setupPosition($element, positioningConfig)\r\n }\r\n this._setUpConfig(location, config.from);\r\n this._setUpConfig(location, config.to);\r\n clearCache($element)\r\n },\r\n _setUpConfig: function(location, config) {\r\n config.left = \"left\" in config ? config.left : \"+=0\";\r\n config.top = \"top\" in config ? config.top : \"+=0\";\r\n this._initNewPosition(location, config)\r\n },\r\n _initNewPosition: function(location, config) {\r\n var position = {\r\n left: config.left,\r\n top: config.top\r\n };\r\n delete config.left;\r\n delete config.top;\r\n var relativeValue = this._getRelativeValue(position.left);\r\n if (void 0 !== relativeValue) {\r\n position.left = relativeValue + location.left\r\n } else {\r\n config.left = 0\r\n }\r\n relativeValue = this._getRelativeValue(position.top);\r\n if (void 0 !== relativeValue) {\r\n position.top = relativeValue + location.top\r\n } else {\r\n config.top = 0\r\n }\r\n config[TRANSFORM_PROP] = getTranslateCss({\r\n x: position.left,\r\n y: position.top\r\n })\r\n },\r\n _getRelativeValue: function(value) {\r\n var relativeValue;\r\n if (\"string\" === typeof value && (relativeValue = RELATIVE_VALUE_REGEX.exec(value))) {\r\n return parseInt(relativeValue[1] + \"1\") * relativeValue[2]\r\n }\r\n }\r\n};\r\nvar FadeAnimationConfigurator = {\r\n setup: function($element, config) {\r\n var _from$opacity, _to$opacity;\r\n var from = config.from;\r\n var to = config.to;\r\n var defaultFromOpacity = \"fadeOut\" === config.type ? 1 : 0;\r\n var defaultToOpacity = \"fadeOut\" === config.type ? 0 : 1;\r\n var fromOpacity = isPlainObject(from) ? String(null !== (_from$opacity = from.opacity) && void 0 !== _from$opacity ? _from$opacity : defaultFromOpacity) : String(from);\r\n var toOpacity = isPlainObject(to) ? String(null !== (_to$opacity = to.opacity) && void 0 !== _to$opacity ? _to$opacity : defaultToOpacity) : String(to);\r\n if (!config.skipElementInitialStyles) {\r\n fromOpacity = $element.css(\"opacity\")\r\n }\r\n switch (config.type) {\r\n case \"fadeIn\":\r\n toOpacity = 1;\r\n break;\r\n case \"fadeOut\":\r\n toOpacity = 0\r\n }\r\n config.from = {\r\n visibility: \"visible\",\r\n opacity: fromOpacity\r\n };\r\n config.to = {\r\n opacity: toOpacity\r\n }\r\n }\r\n};\r\nvar PopAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"pop\")\r\n },\r\n setup: function($element, config) {\r\n var from = config.from;\r\n var to = config.to;\r\n var fromOpacity = \"opacity\" in from ? from.opacity : $element.css(\"opacity\");\r\n var toOpacity = \"opacity\" in to ? to.opacity : 1;\r\n var fromScale = \"scale\" in from ? from.scale : 0;\r\n var toScale = \"scale\" in to ? to.scale : 1;\r\n config.from = {\r\n opacity: fromOpacity\r\n };\r\n var translate = getTranslate($element);\r\n config.from[TRANSFORM_PROP] = this._getCssTransform(translate, fromScale);\r\n config.to = {\r\n opacity: toOpacity\r\n };\r\n config.to[TRANSFORM_PROP] = this._getCssTransform(translate, toScale)\r\n },\r\n _getCssTransform: function(translate, scale) {\r\n return getTranslateCss(translate) + \"scale(\" + scale + \")\"\r\n }\r\n};\r\nvar animationConfigurators = {\r\n custom: CustomAnimationConfigurator,\r\n slide: SlideAnimationConfigurator,\r\n slideIn: SlideAnimationConfigurator,\r\n slideOut: SlideAnimationConfigurator,\r\n fade: FadeAnimationConfigurator,\r\n fadeIn: FadeAnimationConfigurator,\r\n fadeOut: FadeAnimationConfigurator,\r\n pop: PopAnimationConfigurator,\r\n css: CssAnimationConfigurator\r\n};\r\nvar getAnimationConfigurator = function(config) {\r\n var result = animationConfigurators[config.type];\r\n if (!result) {\r\n throw errors.Error(\"E0011\", config.type)\r\n }\r\n return result\r\n};\r\nvar defaultJSConfig = {\r\n type: \"custom\",\r\n from: {},\r\n to: {},\r\n duration: 400,\r\n start: noop,\r\n complete: noop,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\nvar defaultCssConfig = {\r\n duration: 400,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\n\r\nfunction setupAnimationOnElement() {\r\n var $element = this.element;\r\n var config = this.config;\r\n setupPosition($element, config.from);\r\n setupPosition($element, config.to);\r\n this.configurator.setup($element, config);\r\n $element.data(ANIM_DATA_KEY, this);\r\n if (fx.off) {\r\n config.duration = 0;\r\n config.delay = 0\r\n }\r\n this.strategy.initAnimation($element, config);\r\n if (config.start) {\r\n var element = getPublicElement($element);\r\n config.start.apply(this, [element, config])\r\n }\r\n}\r\nvar onElementAnimationComplete = function(animation) {\r\n var $element = animation.element;\r\n var config = animation.config;\r\n $element.removeData(ANIM_DATA_KEY);\r\n if (config.complete) {\r\n var element = getPublicElement($element);\r\n config.complete.apply(this, [element, config])\r\n }\r\n animation.deferred.resolveWith(this, [$element, config])\r\n};\r\nvar startAnimationOnElement = function() {\r\n var animation = this;\r\n var $element = animation.element;\r\n var config = animation.config;\r\n animation.isStarted = true;\r\n return animation.strategy.animate($element, config).done((function() {\r\n onElementAnimationComplete(animation)\r\n })).fail((function() {\r\n animation.deferred.rejectWith(this, [$element, config])\r\n }))\r\n};\r\nvar stopAnimationOnElement = function(jumpToEnd) {\r\n var $element = this.element;\r\n var config = this.config;\r\n clearTimeout(this.startTimeout);\r\n if (!this.isStarted) {\r\n this.start()\r\n }\r\n this.strategy.stop($element, config, jumpToEnd)\r\n};\r\nvar scopedRemoveEvent = addNamespace(removeEvent, \"dxFXStartAnimation\");\r\nvar subscribeToRemoveEvent = function(animation) {\r\n eventsEngine.off(animation.element, scopedRemoveEvent);\r\n eventsEngine.on(animation.element, scopedRemoveEvent, (function() {\r\n fx.stop(animation.element)\r\n }));\r\n animation.deferred.always((function() {\r\n eventsEngine.off(animation.element, scopedRemoveEvent)\r\n }))\r\n};\r\nvar createAnimation = function(element, initialConfig) {\r\n var defaultConfig = \"css\" === initialConfig.type ? defaultCssConfig : defaultJSConfig;\r\n var config = extend(true, {}, defaultConfig, initialConfig);\r\n var configurator = getAnimationConfigurator(config);\r\n var strategy = getAnimationStrategy(config);\r\n var animation = {\r\n element: $(element),\r\n config: config,\r\n configurator: configurator,\r\n strategy: strategy,\r\n isSynchronous: strategy.isSynchronous,\r\n setup: setupAnimationOnElement,\r\n start: startAnimationOnElement,\r\n stop: stopAnimationOnElement,\r\n deferred: new Deferred\r\n };\r\n if (isFunction(configurator.validateConfig)) {\r\n configurator.validateConfig(config)\r\n }\r\n subscribeToRemoveEvent(animation);\r\n return animation\r\n};\r\nvar animate = function(element, config) {\r\n var $element = $(element);\r\n if (!$element.length) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n var animation = createAnimation($element, config);\r\n pushInAnimationQueue($element, animation);\r\n return animation.deferred.promise()\r\n};\r\n\r\nfunction pushInAnimationQueue($element, animation) {\r\n var queueData = getAnimQueueData($element);\r\n writeAnimQueueData($element, queueData);\r\n queueData.push(animation);\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n}\r\n\r\nfunction getAnimQueueData($element) {\r\n return $element.data(ANIM_QUEUE_KEY) || []\r\n}\r\n\r\nfunction writeAnimQueueData($element, queueData) {\r\n $element.data(ANIM_QUEUE_KEY, queueData)\r\n}\r\nvar destroyAnimQueueData = function($element) {\r\n $element.removeData(ANIM_QUEUE_KEY)\r\n};\r\n\r\nfunction isAnimating($element) {\r\n return !!$element.data(ANIM_DATA_KEY)\r\n}\r\n\r\nfunction shiftFromAnimationQueue($element, queueData) {\r\n queueData = getAnimQueueData($element);\r\n if (!queueData.length) {\r\n return\r\n }\r\n var animation = queueData.shift();\r\n if (0 === queueData.length) {\r\n destroyAnimQueueData($element)\r\n }\r\n executeAnimation(animation).done((function() {\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element)\r\n }\r\n }))\r\n}\r\n\r\nfunction executeAnimation(animation) {\r\n animation.setup();\r\n if (fx.off || animation.isSynchronous) {\r\n animation.start()\r\n } else {\r\n animation.startTimeout = setTimeout((function() {\r\n animation.start()\r\n }))\r\n }\r\n return animation.deferred.promise()\r\n}\r\n\r\nfunction setupPosition($element, config) {\r\n if (!config || !config.position) {\r\n return\r\n }\r\n var win = $(window);\r\n var left = 0;\r\n var top = 0;\r\n var position = positionUtils.calculate($element, config.position);\r\n var offset = $element.offset();\r\n var currentPosition = $element.position();\r\n if (currentPosition.top > offset.top) {\r\n top = win.scrollTop()\r\n }\r\n if (currentPosition.left > offset.left) {\r\n left = win.scrollLeft()\r\n }\r\n extend(config, {\r\n left: position.h.location - offset.left + currentPosition.left - left,\r\n top: position.v.location - offset.top + currentPosition.top - top\r\n });\r\n delete config.position\r\n}\r\n\r\nfunction setProps($element, props) {\r\n each(props, (function(key, value) {\r\n try {\r\n $element.css(key, isFunction(value) ? value() : value)\r\n } catch (e) {}\r\n }))\r\n}\r\nvar stop = function(element, jumpToEnd) {\r\n var $element = $(element);\r\n var queueData = getAnimQueueData($element);\r\n each(queueData, (function(_, animation) {\r\n animation.config.delay = 0;\r\n animation.config.duration = 0;\r\n animation.isSynchronous = true\r\n }));\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n var animation = $element.data(ANIM_DATA_KEY);\r\n if (animation) {\r\n animation.stop(jumpToEnd)\r\n }\r\n $element.removeData(ANIM_DATA_KEY);\r\n destroyAnimQueueData($element)\r\n};\r\nvar fx = {\r\n off: false,\r\n animationTypes: animationConfigurators,\r\n animate: animate,\r\n createAnimation: createAnimation,\r\n isAnimating: isAnimating,\r\n stop: stop,\r\n _simulatedTransitionEndDelay: 100\r\n};\r\nexport default fx;\r\n","/**\r\n * DevExtreme (esm/animation/position.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight,\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n splitPair,\r\n pairToObject\r\n} from \"../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n isWindow,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport browser from \"../core/utils/browser\";\r\nimport {\r\n resetPosition,\r\n move\r\n} from \"./translator\";\r\nimport {\r\n touch\r\n} from \"../core/utils/support\";\r\nimport devices from \"../core/devices\";\r\nvar horzRe = /left|right/;\r\nvar vertRe = /top|bottom/;\r\nvar collisionRe = /fit|flip|none/;\r\nvar scaleRe = /scale\\(.+?\\)/;\r\nvar IS_SAFARI = browser.safari;\r\nvar normalizeAlign = function(raw) {\r\n var result = {\r\n h: \"center\",\r\n v: \"center\"\r\n };\r\n var pair = splitPair(raw);\r\n if (pair) {\r\n each(pair, (function() {\r\n var w = String(this).toLowerCase();\r\n if (horzRe.test(w)) {\r\n result.h = w\r\n } else if (vertRe.test(w)) {\r\n result.v = w\r\n }\r\n }))\r\n }\r\n return result\r\n};\r\nvar normalizeOffset = function(raw) {\r\n return pairToObject(raw)\r\n};\r\nvar normalizeCollision = function(raw) {\r\n var pair = splitPair(raw);\r\n var h = String(pair && pair[0]).toLowerCase();\r\n var v = String(pair && pair[1]).toLowerCase();\r\n if (!collisionRe.test(h)) {\r\n h = \"none\"\r\n }\r\n if (!collisionRe.test(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nvar getAlignFactor = function(align) {\r\n switch (align) {\r\n case \"center\":\r\n return .5;\r\n case \"right\":\r\n case \"bottom\":\r\n return 1;\r\n default:\r\n return 0\r\n }\r\n};\r\nvar inverseAlign = function(align) {\r\n switch (align) {\r\n case \"left\":\r\n return \"right\";\r\n case \"right\":\r\n return \"left\";\r\n case \"top\":\r\n return \"bottom\";\r\n case \"bottom\":\r\n return \"top\";\r\n default:\r\n return align\r\n }\r\n};\r\nvar calculateOversize = function(data, bounds) {\r\n var oversize = 0;\r\n if (data.myLocation < bounds.min) {\r\n oversize += bounds.min - data.myLocation\r\n }\r\n if (data.myLocation > bounds.max) {\r\n oversize += data.myLocation - bounds.max\r\n }\r\n return oversize\r\n};\r\nvar collisionSide = function(direction, data, bounds) {\r\n if (data.myLocation < bounds.min) {\r\n return \"h\" === direction ? \"left\" : \"top\"\r\n }\r\n if (data.myLocation > bounds.max) {\r\n return \"h\" === direction ? \"right\" : \"bottom\"\r\n }\r\n return \"none\"\r\n};\r\nvar initMyLocation = function(data) {\r\n data.myLocation = data.atLocation + getAlignFactor(data.atAlign) * data.atSize - getAlignFactor(data.myAlign) * data.mySize + data.offset\r\n};\r\nvar collisionResolvers = {\r\n fit: function(data, bounds) {\r\n var result = false;\r\n if (data.myLocation > bounds.max) {\r\n data.myLocation = bounds.max;\r\n result = true\r\n }\r\n if (data.myLocation < bounds.min) {\r\n data.myLocation = bounds.min;\r\n result = true\r\n }\r\n data.fit = result\r\n },\r\n flip: function(data, bounds) {\r\n data.flip = false;\r\n if (\"center\" === data.myAlign && \"center\" === data.atAlign) {\r\n return\r\n }\r\n if (data.myLocation < bounds.min || data.myLocation > bounds.max) {\r\n var inverseData = extend({}, data, {\r\n myAlign: inverseAlign(data.myAlign),\r\n atAlign: inverseAlign(data.atAlign),\r\n offset: -data.offset\r\n });\r\n initMyLocation(inverseData);\r\n inverseData.oversize = calculateOversize(inverseData, bounds);\r\n if (inverseData.myLocation >= bounds.min && inverseData.myLocation <= bounds.max || data.oversize > inverseData.oversize) {\r\n data.myLocation = inverseData.myLocation;\r\n data.oversize = inverseData.oversize;\r\n data.flip = true\r\n }\r\n }\r\n },\r\n flipfit: function(data, bounds) {\r\n this.flip(data, bounds);\r\n this.fit(data, bounds)\r\n },\r\n none: function(data) {\r\n data.oversize = 0\r\n }\r\n};\r\nvar scrollbarWidth;\r\nvar calculateScrollbarWidth = function() {\r\n var $scrollDiv = $(\"
\").css({\r\n width: 100,\r\n height: 100,\r\n overflow: \"scroll\",\r\n position: \"absolute\",\r\n top: -9999\r\n }).appendTo($(\"body\"));\r\n var result = $scrollDiv.get(0).offsetWidth - $scrollDiv.get(0).clientWidth;\r\n $scrollDiv.remove();\r\n scrollbarWidth = result\r\n};\r\nvar defaultPositionResult = {\r\n h: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n },\r\n v: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n }\r\n};\r\nvar calculatePosition = function(what, options) {\r\n var $what = $(what);\r\n var currentOffset = $what.offset();\r\n var result = extend(true, {}, defaultPositionResult, {\r\n h: {\r\n location: currentOffset.left\r\n },\r\n v: {\r\n location: currentOffset.top\r\n }\r\n });\r\n if (!options) {\r\n return result\r\n }\r\n var my = normalizeAlign(options.my);\r\n var at = normalizeAlign(options.at);\r\n var of = $(options.of).length && options.of || window;\r\n var offset = normalizeOffset(options.offset);\r\n var collision = normalizeCollision(options.collision);\r\n var boundary = options.boundary;\r\n var boundaryOffset = normalizeOffset(options.boundaryOffset);\r\n var h = {\r\n mySize: getOuterWidth($what),\r\n myAlign: my.h,\r\n atAlign: at.h,\r\n offset: offset.h,\r\n collision: collision.h,\r\n boundaryOffset: boundaryOffset.h\r\n };\r\n var v = {\r\n mySize: getOuterHeight($what),\r\n myAlign: my.v,\r\n atAlign: at.v,\r\n offset: offset.v,\r\n collision: collision.v,\r\n boundaryOffset: boundaryOffset.v\r\n };\r\n if ( of .preventDefault) {\r\n h.atLocation = of .pageX;\r\n v.atLocation = of .pageY;\r\n h.atSize = 0;\r\n v.atSize = 0\r\n } else {\r\n of = $( of );\r\n if (isWindow( of [0])) {\r\n h.atLocation = of .scrollLeft();\r\n v.atLocation = of .scrollTop();\r\n if (\"phone\" === devices.real().deviceType && of [0].visualViewport) {\r\n h.atLocation = Math.max(h.atLocation, of [0].visualViewport.offsetLeft);\r\n v.atLocation = Math.max(v.atLocation, of [0].visualViewport.offsetTop);\r\n h.atSize = of [0].visualViewport.width;\r\n v.atSize = of [0].visualViewport.height\r\n } else {\r\n h.atSize = of [0].innerWidth > of [0].outerWidth ? of [0].innerWidth : getWidth( of );\r\n v.atSize = of [0].innerHeight > of [0].outerHeight || IS_SAFARI ? of [0].innerHeight : getHeight( of )\r\n }\r\n } else if (9 === of [0].nodeType) {\r\n h.atLocation = 0;\r\n v.atLocation = 0;\r\n h.atSize = getWidth( of );\r\n v.atSize = getHeight( of )\r\n } else {\r\n var ofRect = getBoundingRect( of .get(0));\r\n var o = getOffsetWithoutScale( of );\r\n h.atLocation = o.left;\r\n v.atLocation = o.top;\r\n h.atSize = Math.max(ofRect.width, getOuterWidth( of ));\r\n v.atSize = Math.max(ofRect.height, getOuterHeight( of ))\r\n }\r\n }\r\n initMyLocation(h);\r\n initMyLocation(v);\r\n var bounds = function() {\r\n var win = $(window);\r\n var windowWidth = getWidth(win);\r\n var windowHeight = getHeight(win);\r\n var left = win.scrollLeft();\r\n var top = win.scrollTop();\r\n var documentElement = domAdapter.getDocumentElement();\r\n var hZoomLevel = touch ? documentElement.clientWidth / windowWidth : 1;\r\n var vZoomLevel = touch ? documentElement.clientHeight / windowHeight : 1;\r\n if (void 0 === scrollbarWidth) {\r\n calculateScrollbarWidth()\r\n }\r\n var boundaryWidth = windowWidth;\r\n var boundaryHeight = windowHeight;\r\n if (boundary) {\r\n var $boundary = $(boundary);\r\n var boundaryPosition = $boundary.offset();\r\n left = boundaryPosition.left;\r\n top = boundaryPosition.top;\r\n boundaryWidth = getWidth($boundary);\r\n boundaryHeight = getHeight($boundary)\r\n }\r\n return {\r\n h: {\r\n min: left + h.boundaryOffset,\r\n max: left + boundaryWidth / hZoomLevel - h.mySize - h.boundaryOffset\r\n },\r\n v: {\r\n min: top + v.boundaryOffset,\r\n max: top + boundaryHeight / vZoomLevel - v.mySize - v.boundaryOffset\r\n }\r\n }\r\n }();\r\n h.oversize = calculateOversize(h, bounds.h);\r\n v.oversize = calculateOversize(v, bounds.v);\r\n h.collisionSide = collisionSide(\"h\", h, bounds.h);\r\n v.collisionSide = collisionSide(\"v\", v, bounds.v);\r\n if (collisionResolvers[h.collision]) {\r\n collisionResolvers[h.collision](h, bounds.h)\r\n }\r\n if (collisionResolvers[v.collision]) {\r\n collisionResolvers[v.collision](v, bounds.v)\r\n }\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n extend(true, result, {\r\n h: {\r\n location: preciser(h.myLocation),\r\n oversize: preciser(h.oversize),\r\n fit: h.fit,\r\n flip: h.flip,\r\n collisionSide: h.collisionSide\r\n },\r\n v: {\r\n location: preciser(v.myLocation),\r\n oversize: preciser(v.oversize),\r\n fit: v.fit,\r\n flip: v.flip,\r\n collisionSide: v.collisionSide\r\n },\r\n precise: options.precise\r\n });\r\n return result\r\n};\r\nvar setScaleProperty = function(element, scale, transformProp, styleAttr, isEmpty) {\r\n var stylePropIsValid = isDefined(element.style) && !domAdapter.isNode(element.style);\r\n if (stylePropIsValid) {\r\n element.style.transform = isEmpty ? transformProp.replace(scale, \"\") : transformProp\r\n } else {\r\n element.setAttribute(\"style\", isEmpty ? styleAttr.replace(scale, \"\") : styleAttr)\r\n }\r\n};\r\nvar getOffsetWithoutScale = function getOffsetWithoutScale($startElement) {\r\n var _currentElement$getAt, _currentElement$style, _style$match;\r\n var $currentElement = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : $startElement;\r\n var currentElement = $currentElement.get(0);\r\n if (!currentElement) {\r\n return $startElement.offset()\r\n }\r\n var style = (null === (_currentElement$getAt = currentElement.getAttribute) || void 0 === _currentElement$getAt ? void 0 : _currentElement$getAt.call(currentElement, \"style\")) || \"\";\r\n var transform = null === (_currentElement$style = currentElement.style) || void 0 === _currentElement$style ? void 0 : _currentElement$style.transform;\r\n var scale = null === (_style$match = style.match(scaleRe)) || void 0 === _style$match ? void 0 : _style$match[0];\r\n var offset;\r\n if (scale) {\r\n setScaleProperty(currentElement, scale, transform, style, true);\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent());\r\n setScaleProperty(currentElement, scale, transform, style, false)\r\n } else {\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent())\r\n }\r\n return offset\r\n};\r\nvar position = function(what, options) {\r\n var $what = $(what);\r\n if (!options) {\r\n return $what.offset()\r\n }\r\n resetPosition($what, true);\r\n var offset = getOffsetWithoutScale($what);\r\n var targetPosition = options.h && options.v ? options : calculatePosition($what, options);\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n move($what, {\r\n left: targetPosition.h.location - preciser(offset.left),\r\n top: targetPosition.v.location - preciser(offset.top)\r\n });\r\n return targetPosition\r\n};\r\nvar offset = function(element) {\r\n element = $(element).get(0);\r\n if (isWindow(element)) {\r\n return null\r\n } else if (element && \"pageY\" in element && \"pageX\" in element) {\r\n return {\r\n top: element.pageY,\r\n left: element.pageX\r\n }\r\n }\r\n return $(element).offset()\r\n};\r\nif (!position.inverseAlign) {\r\n position.inverseAlign = inverseAlign\r\n}\r\nif (!position.normalizeAlign) {\r\n position.normalizeAlign = normalizeAlign\r\n}\r\nexport default {\r\n calculateScrollbarWidth: calculateScrollbarWidth,\r\n calculate: calculatePosition,\r\n setup: position,\r\n offset: offset\r\n};\r\n","/**\r\n * DevExtreme (esm/animation/translator.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n data as elementData,\r\n removeData\r\n} from \"../core/element_data\";\r\nimport {\r\n type\r\n} from \"../core/utils/type\";\r\nvar TRANSLATOR_DATA_KEY = \"dxTranslator\";\r\nvar TRANSFORM_MATRIX_REGEX = /matrix(3d)?\\((.+?)\\)/;\r\nvar TRANSLATE_REGEX = /translate(?:3d)?\\((.+?)\\)/;\r\nexport var locate = function($element) {\r\n $element = $($element);\r\n var translate = getTranslate($element);\r\n return {\r\n left: translate.x,\r\n top: translate.y\r\n }\r\n};\r\n\r\nfunction isPercentValue(value) {\r\n return \"string\" === type(value) && \"%\" === value[value.length - 1]\r\n}\r\n\r\nfunction cacheTranslate($element, translate) {\r\n if ($element.length) {\r\n elementData($element.get(0), TRANSLATOR_DATA_KEY, translate)\r\n }\r\n}\r\nexport var clearCache = function($element) {\r\n if ($element.length) {\r\n removeData($element.get(0), TRANSLATOR_DATA_KEY)\r\n }\r\n};\r\nexport var getTranslateCss = function(translate) {\r\n translate.x = translate.x || 0;\r\n translate.y = translate.y || 0;\r\n var xValueString = isPercentValue(translate.x) ? translate.x : translate.x + \"px\";\r\n var yValueString = isPercentValue(translate.y) ? translate.y : translate.y + \"px\";\r\n return \"translate(\" + xValueString + \", \" + yValueString + \")\"\r\n};\r\nexport var getTranslate = function($element) {\r\n var result = $element.length ? elementData($element.get(0), TRANSLATOR_DATA_KEY) : null;\r\n if (!result) {\r\n var transformValue = $element.css(\"transform\") || getTranslateCss({\r\n x: 0,\r\n y: 0\r\n });\r\n var matrix = transformValue.match(TRANSFORM_MATRIX_REGEX);\r\n var is3D = matrix && matrix[1];\r\n if (matrix) {\r\n matrix = matrix[2].split(\",\");\r\n if (\"3d\" === is3D) {\r\n matrix = matrix.slice(12, 15)\r\n } else {\r\n matrix.push(0);\r\n matrix = matrix.slice(4, 7)\r\n }\r\n } else {\r\n matrix = [0, 0, 0]\r\n }\r\n result = {\r\n x: parseFloat(matrix[0]),\r\n y: parseFloat(matrix[1]),\r\n z: parseFloat(matrix[2])\r\n };\r\n cacheTranslate($element, result)\r\n }\r\n return result\r\n};\r\nexport var move = function($element, position) {\r\n $element = $($element);\r\n var left = position.left;\r\n var top = position.top;\r\n var translate;\r\n if (void 0 === left) {\r\n translate = getTranslate($element);\r\n translate.y = top || 0\r\n } else if (void 0 === top) {\r\n translate = getTranslate($element);\r\n translate.x = left || 0\r\n } else {\r\n translate = {\r\n x: left || 0,\r\n y: top || 0,\r\n z: 0\r\n };\r\n cacheTranslate($element, translate)\r\n }\r\n $element.css({\r\n transform: getTranslateCss(translate)\r\n });\r\n if (isPercentValue(left) || isPercentValue(top)) {\r\n clearCache($element)\r\n }\r\n};\r\nexport var resetPosition = function($element, finishTransition) {\r\n $element = $($element);\r\n var originalTransition;\r\n var stylesConfig = {\r\n left: 0,\r\n top: 0,\r\n transform: \"none\"\r\n };\r\n if (finishTransition) {\r\n originalTransition = $element.css(\"transition\");\r\n stylesConfig.transition = \"none\"\r\n }\r\n $element.css(stylesConfig);\r\n clearCache($element);\r\n if (finishTransition) {\r\n $element.get(0).offsetHeight;\r\n $element.css(\"transition\", originalTransition)\r\n }\r\n};\r\nexport var parseTranslate = function(translateString) {\r\n var result = translateString.match(TRANSLATE_REGEX);\r\n if (!result || !result[1]) {\r\n return\r\n }\r\n result = result[1].split(\",\");\r\n result = {\r\n x: parseFloat(result[0]),\r\n y: parseFloat(result[1]),\r\n z: parseFloat(result[2])\r\n };\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/core/action.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nimport {\r\n isPlainObject,\r\n isFunction\r\n} from \"./utils/type\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nexport default class Action {\r\n constructor(action, config) {\r\n config = config || {};\r\n this._action = action;\r\n this._context = config.context || getWindow();\r\n this._beforeExecute = config.beforeExecute;\r\n this._afterExecute = config.afterExecute;\r\n this._component = config.component;\r\n this._validatingTargetName = config.validatingTargetName;\r\n var excludeValidators = this._excludeValidators = {};\r\n if (config.excludeValidators) {\r\n for (var i = 0; i < config.excludeValidators.length; i++) {\r\n excludeValidators[config.excludeValidators[i]] = true\r\n }\r\n }\r\n }\r\n execute() {\r\n var e = {\r\n action: this._action,\r\n args: Array.prototype.slice.call(arguments),\r\n context: this._context,\r\n component: this._component,\r\n validatingTargetName: this._validatingTargetName,\r\n cancel: false,\r\n handled: false\r\n };\r\n var beforeExecute = this._beforeExecute;\r\n var afterExecute = this._afterExecute;\r\n var argsBag = e.args[0] || {};\r\n if (!this._validateAction(e)) {\r\n return\r\n }\r\n null === beforeExecute || void 0 === beforeExecute ? void 0 : beforeExecute.call(this._context, e);\r\n if (e.cancel) {\r\n return\r\n }\r\n var result = this._executeAction(e);\r\n if (argsBag.cancel) {\r\n return\r\n }\r\n null === afterExecute || void 0 === afterExecute ? void 0 : afterExecute.call(this._context, e);\r\n return result\r\n }\r\n _validateAction(e) {\r\n var excludeValidators = this._excludeValidators;\r\n var {\r\n executors: executors\r\n } = Action;\r\n for (var name in executors) {\r\n if (!excludeValidators[name]) {\r\n var _executor$validate;\r\n var executor = executors[name];\r\n null === (_executor$validate = executor.validate) || void 0 === _executor$validate ? void 0 : _executor$validate.call(executor, e);\r\n if (e.cancel) {\r\n return false\r\n }\r\n }\r\n }\r\n return true\r\n }\r\n _executeAction(e) {\r\n var result;\r\n var {\r\n executors: executors\r\n } = Action;\r\n for (var name in executors) {\r\n var _executor$execute;\r\n var executor = executors[name];\r\n null === (_executor$execute = executor.execute) || void 0 === _executor$execute ? void 0 : _executor$execute.call(executor, e);\r\n if (e.handled) {\r\n result = e.result;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n static registerExecutor(name, executor) {\r\n if (isPlainObject(name)) {\r\n each(name, Action.registerExecutor);\r\n return\r\n }\r\n Action.executors[name] = executor\r\n }\r\n static unregisterExecutor() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n each(args, (function() {\r\n delete Action.executors[this]\r\n }))\r\n }\r\n}\r\nAction.executors = {};\r\nvar createValidatorByTargetElement = condition => e => {\r\n if (!e.args.length) {\r\n return\r\n }\r\n var args = e.args[0];\r\n var element = args[e.validatingTargetName] || args.element;\r\n if (element && condition($(element))) {\r\n e.cancel = true\r\n }\r\n};\r\nAction.registerExecutor({\r\n disabled: {\r\n validate: createValidatorByTargetElement($target => $target.is(\".dx-state-disabled, .dx-state-disabled *\"))\r\n },\r\n readOnly: {\r\n validate: createValidatorByTargetElement($target => $target.is(\".dx-state-readonly, .dx-state-readonly *:not(.dx-state-independent)\"))\r\n },\r\n undefined: {\r\n execute: e => {\r\n if (!e.action) {\r\n e.result = void 0;\r\n e.handled = true\r\n }\r\n }\r\n },\r\n func: {\r\n execute: e => {\r\n if (isFunction(e.action)) {\r\n e.result = e.action.call(e.context, e.args[0]);\r\n e.handled = true\r\n }\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/class.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"./errors\";\r\nimport {\r\n isWindow\r\n} from \"./utils/type\";\r\nvar wrapOverridden = function(baseProto, methodName, method) {\r\n return function() {\r\n var prevCallBase = this.callBase;\r\n this.callBase = baseProto[methodName];\r\n try {\r\n return method.apply(this, arguments)\r\n } finally {\r\n this.callBase = prevCallBase\r\n }\r\n }\r\n};\r\nvar clonePrototype = function(obj) {\r\n var func = function() {};\r\n func.prototype = obj.prototype;\r\n return new func\r\n};\r\nvar redefine = function(members) {\r\n var overridden;\r\n var memberName;\r\n var member;\r\n if (!members) {\r\n return this\r\n }\r\n for (memberName in members) {\r\n member = members[memberName];\r\n overridden = \"function\" === typeof this.prototype[memberName] && \"function\" === typeof member;\r\n this.prototype[memberName] = overridden ? wrapOverridden(this.parent.prototype, memberName, member) : member\r\n }\r\n return this\r\n};\r\nvar include = function() {\r\n var classObj = this;\r\n var argument;\r\n var name;\r\n var i;\r\n var hasClassObjOwnProperty = Object.prototype.hasOwnProperty.bind(classObj);\r\n var isES6Class = !hasClassObjOwnProperty(\"_includedCtors\") && !hasClassObjOwnProperty(\"_includedPostCtors\");\r\n if (isES6Class) {\r\n classObj._includedCtors = classObj._includedCtors.slice(0);\r\n classObj._includedPostCtors = classObj._includedPostCtors.slice(0)\r\n }\r\n for (i = 0; i < arguments.length; i++) {\r\n argument = arguments[i];\r\n if (argument.ctor) {\r\n classObj._includedCtors.push(argument.ctor)\r\n }\r\n if (argument.postCtor) {\r\n classObj._includedPostCtors.push(argument.postCtor)\r\n }\r\n for (name in argument) {\r\n if (\"ctor\" === name || \"postCtor\" === name || \"default\" === name) {\r\n continue\r\n }\r\n classObj.prototype[name] = argument[name]\r\n }\r\n }\r\n return classObj\r\n};\r\nvar subclassOf = function(parentClass) {\r\n var hasParentProperty = Object.prototype.hasOwnProperty.bind(this)(\"parent\");\r\n var isES6Class = !hasParentProperty && this.parent;\r\n if (isES6Class) {\r\n var baseClass = Object.getPrototypeOf(this);\r\n return baseClass === parentClass || baseClass.subclassOf(parentClass)\r\n } else {\r\n if (this.parent === parentClass) {\r\n return true\r\n }\r\n if (!this.parent || !this.parent.subclassOf) {\r\n return false\r\n }\r\n return this.parent.subclassOf(parentClass)\r\n }\r\n};\r\nvar abstract = function() {\r\n throw errors.Error(\"E0001\")\r\n};\r\nvar copyStatic = function() {\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n return function(source, destination) {\r\n for (var key in source) {\r\n if (!hasOwn.call(source, key)) {\r\n return\r\n }\r\n destination[key] = source[key]\r\n }\r\n }\r\n}();\r\nvar classImpl = function() {};\r\nclassImpl.inherit = function(members) {\r\n var inheritor = function() {\r\n if (!this || isWindow(this) || \"function\" !== typeof this.constructor) {\r\n throw errors.Error(\"E0003\")\r\n }\r\n var instance = this;\r\n var ctor = instance.ctor;\r\n var includedCtors = instance.constructor._includedCtors;\r\n var includedPostCtors = instance.constructor._includedPostCtors;\r\n var i;\r\n for (i = 0; i < includedCtors.length; i++) {\r\n includedCtors[i].call(instance)\r\n }\r\n if (ctor) {\r\n ctor.apply(instance, arguments)\r\n }\r\n for (i = 0; i < includedPostCtors.length; i++) {\r\n includedPostCtors[i].call(instance)\r\n }\r\n };\r\n inheritor.prototype = clonePrototype(this);\r\n copyStatic(this, inheritor);\r\n inheritor.inherit = this.inherit;\r\n inheritor.abstract = abstract;\r\n inheritor.redefine = redefine;\r\n inheritor.include = include;\r\n inheritor.subclassOf = subclassOf;\r\n inheritor.parent = this;\r\n inheritor._includedCtors = this._includedCtors ? this._includedCtors.slice(0) : [];\r\n inheritor._includedPostCtors = this._includedPostCtors ? this._includedPostCtors.slice(0) : [];\r\n inheritor.prototype.constructor = inheritor;\r\n inheritor.redefine(members);\r\n return inheritor\r\n};\r\nclassImpl.abstract = abstract;\r\nexport default classImpl;\r\n","/**\r\n * DevExtreme (esm/core/component_registrator_callbacks.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport MemorizedCallbacks from \"./memorized_callbacks\";\r\nexport default new MemorizedCallbacks;\r\n","/**\r\n * DevExtreme (esm/core/component_registrator.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport callbacks from \"./component_registrator_callbacks\";\r\nimport errors from \"./errors\";\r\nimport {\r\n name as publicComponentName\r\n} from \"./utils/public_component\";\r\nvar registerComponent = function(name, namespace, componentClass) {\r\n if (!componentClass) {\r\n componentClass = namespace\r\n } else {\r\n namespace[name] = componentClass\r\n }\r\n publicComponentName(componentClass, name);\r\n callbacks.fire(name, componentClass)\r\n};\r\nvar registerRendererComponent = function(name, componentClass) {\r\n $.fn[name] = function(options) {\r\n var isMemberInvoke = \"string\" === typeof options;\r\n var result;\r\n if (isMemberInvoke) {\r\n var memberName = options;\r\n var memberArgs = [].slice.call(arguments).slice(1);\r\n this.each((function() {\r\n var instance = componentClass.getInstance(this);\r\n if (!instance) {\r\n throw errors.Error(\"E0009\", name)\r\n }\r\n var member = instance[memberName];\r\n var memberValue = member.apply(instance, memberArgs);\r\n if (void 0 === result) {\r\n result = memberValue\r\n }\r\n }))\r\n } else {\r\n this.each((function() {\r\n var instance = componentClass.getInstance(this);\r\n if (instance) {\r\n instance.option(options)\r\n } else {\r\n new componentClass(this, options)\r\n }\r\n }));\r\n result = this\r\n }\r\n return result\r\n }\r\n};\r\ncallbacks.add(registerRendererComponent);\r\nexport default registerComponent;\r\n","/**\r\n * DevExtreme (esm/core/config.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport errors from \"./errors\";\r\nvar config = {\r\n rtlEnabled: false,\r\n defaultCurrency: \"USD\",\r\n defaultUseCurrencyAccountingStyle: true,\r\n oDataFilterToLower: true,\r\n serverDecimalSeparator: \".\",\r\n decimalSeparator: \".\",\r\n thousandsSeparator: \",\",\r\n forceIsoDateParsing: true,\r\n wrapActionsBeforeExecute: true,\r\n useLegacyStoreResult: false,\r\n useJQuery: void 0,\r\n editorStylingMode: void 0,\r\n useLegacyVisibleIndex: false,\r\n floatingActionButtonConfig: {\r\n icon: \"add\",\r\n closeIcon: \"close\",\r\n label: \"\",\r\n position: {\r\n at: \"right bottom\",\r\n my: \"right bottom\",\r\n offset: {\r\n x: -16,\r\n y: -16\r\n }\r\n },\r\n maxSpeedDialActionCount: 5,\r\n shading: false,\r\n direction: \"auto\"\r\n },\r\n optionsParser: optionsString => {\r\n if (\"{\" !== optionsString.trim().charAt(0)) {\r\n optionsString = \"{\" + optionsString + \"}\"\r\n }\r\n try {\r\n return new Function(\"return \" + optionsString)()\r\n } catch (ex) {\r\n throw errors.Error(\"E3018\", ex, optionsString)\r\n }\r\n }\r\n};\r\nvar deprecatedFields = [\"decimalSeparator\", \"thousandsSeparator\"];\r\nvar configMethod = function() {\r\n if (!arguments.length) {\r\n return config\r\n }\r\n var newConfig = arguments.length <= 0 ? void 0 : arguments[0];\r\n deprecatedFields.forEach(deprecatedField => {\r\n if (newConfig[deprecatedField]) {\r\n var message = \"Now, the \".concat(deprecatedField, \" is selected based on the specified locale.\");\r\n errors.log(\"W0003\", \"config\", deprecatedField, \"19.2\", message)\r\n }\r\n });\r\n extend(config, newConfig)\r\n};\r\nif (\"undefined\" !== typeof DevExpress && DevExpress.config) {\r\n configMethod(DevExpress.config)\r\n}\r\nexport default configMethod;\r\n","/**\r\n * DevExtreme (esm/core/utils/storage.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nvar getSessionStorage = function() {\r\n var sessionStorage;\r\n try {\r\n sessionStorage = window.sessionStorage\r\n } catch (e) {}\r\n return sessionStorage\r\n};\r\nexport {\r\n getSessionStorage as sessionStorage\r\n};\r\n","/**\r\n * DevExtreme (esm/core/devices.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"./utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow,\r\n getNavigator,\r\n hasWindow\r\n} from \"./utils/window\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"./utils/type\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport errors from \"./errors\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport readyCallbacks from \"./utils/ready_callbacks\";\r\nimport resizeCallbacks from \"./utils/resize_callbacks\";\r\nimport {\r\n EventsStrategy\r\n} from \"./events_strategy\";\r\nimport {\r\n sessionStorage as SessionStorage\r\n} from \"./utils/storage\";\r\nimport {\r\n changeCallback,\r\n value as viewPort\r\n} from \"./utils/view_port\";\r\nimport Config from \"./config\";\r\nvar navigator = getNavigator();\r\nvar window = getWindow();\r\nvar KNOWN_UA_TABLE = {\r\n iPhone: \"iPhone\",\r\n iPhone5: \"iPhone\",\r\n iPhone6: \"iPhone\",\r\n iPhone6plus: \"iPhone\",\r\n iPad: \"iPad\",\r\n iPadMini: \"iPad Mini\",\r\n androidPhone: \"Android Mobile\",\r\n androidTablet: \"Android\",\r\n msSurface: \"Windows ARM Tablet PC\",\r\n desktop: \"desktop\"\r\n};\r\nvar DEFAULT_DEVICE = {\r\n deviceType: \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n phone: false,\r\n tablet: false,\r\n android: false,\r\n ios: false,\r\n generic: true,\r\n grade: \"A\",\r\n mac: false\r\n};\r\nvar uaParsers = {\r\n generic(userAgent) {\r\n var isPhone = /windows phone/i.test(userAgent) || userAgent.match(/WPDesktop/);\r\n var isTablet = !isPhone && /Windows(.*)arm(.*)Tablet PC/i.test(userAgent);\r\n var isDesktop = !isPhone && !isTablet && /msapphost/i.test(userAgent);\r\n var isMac = /((intel|ppc) mac os x)/.test(userAgent.toLowerCase());\r\n if (!(isPhone || isTablet || isDesktop || isMac)) {\r\n return\r\n }\r\n return {\r\n deviceType: isPhone ? \"phone\" : isTablet ? \"tablet\" : \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n grade: \"A\",\r\n mac: isMac\r\n }\r\n },\r\n ios(userAgent) {\r\n if (!/ip(hone|od|ad)/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /ip(hone|od)/i.test(userAgent);\r\n var matches = userAgent.match(/os (\\d+)_(\\d+)_?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2], 10), parseInt(matches[3] || 0, 10)] : [];\r\n var isIPhone4 = 480 === window.screen.height;\r\n var grade = isIPhone4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"ios\",\r\n version: version,\r\n grade: grade\r\n }\r\n },\r\n android(userAgent) {\r\n if (!/android|htc_|silk/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /mobile/i.test(userAgent);\r\n var matches = userAgent.match(/android (\\d+)\\.?(\\d+)?\\.?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2] || 0, 10), parseInt(matches[3] || 0, 10)] : [];\r\n var worseThan4_4 = version.length > 1 && (version[0] < 4 || 4 === version[0] && version[1] < 4);\r\n var grade = worseThan4_4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"android\",\r\n version: version,\r\n grade: grade\r\n }\r\n }\r\n};\r\nclass Devices {\r\n constructor(options) {\r\n this._window = (null === options || void 0 === options ? void 0 : options.window) || window;\r\n this._realDevice = this._getDevice();\r\n this._currentDevice = void 0;\r\n this._currentOrientation = void 0;\r\n this._eventsStrategy = new EventsStrategy(this);\r\n this.changed = Callbacks();\r\n if (hasWindow()) {\r\n readyCallbacks.add(this._recalculateOrientation.bind(this));\r\n resizeCallbacks.add(this._recalculateOrientation.bind(this))\r\n }\r\n }\r\n current(deviceOrName) {\r\n if (deviceOrName) {\r\n this._currentDevice = this._getDevice(deviceOrName);\r\n this._forced = true;\r\n this.changed.fire();\r\n return\r\n }\r\n if (!this._currentDevice) {\r\n deviceOrName = void 0;\r\n try {\r\n deviceOrName = this._getDeviceOrNameFromWindowScope()\r\n } catch (e) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n } finally {\r\n if (!deviceOrName) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n }\r\n if (deviceOrName) {\r\n this._forced = true\r\n }\r\n }\r\n this._currentDevice = this._getDevice(deviceOrName)\r\n }\r\n return this._currentDevice\r\n }\r\n real(forceDevice) {\r\n return extend({}, this._realDevice)\r\n }\r\n orientation() {\r\n return this._currentOrientation\r\n }\r\n isForced() {\r\n return this._forced\r\n }\r\n isRippleEmulator() {\r\n return !!this._window.tinyHippos\r\n }\r\n _getCssClasses(device) {\r\n var result = [];\r\n var realDevice = this._realDevice;\r\n device = device || this.current();\r\n if (device.deviceType) {\r\n result.push(\"dx-device-\".concat(device.deviceType));\r\n if (\"desktop\" !== device.deviceType) {\r\n result.push(\"dx-device-mobile\")\r\n }\r\n }\r\n result.push(\"dx-device-\".concat(realDevice.platform));\r\n if (realDevice.version && realDevice.version.length) {\r\n result.push(\"dx-device-\".concat(realDevice.platform, \"-\").concat(realDevice.version[0]))\r\n }\r\n if (this.isSimulator()) {\r\n result.push(\"dx-simulator\")\r\n }\r\n if (Config().rtlEnabled) {\r\n result.push(\"dx-rtl\")\r\n }\r\n return result\r\n }\r\n attachCssClasses(element, device) {\r\n this._deviceClasses = this._getCssClasses(device).join(\" \");\r\n $(element).addClass(this._deviceClasses)\r\n }\r\n detachCssClasses(element) {\r\n $(element).removeClass(this._deviceClasses)\r\n }\r\n isSimulator() {\r\n try {\r\n return this._isSimulator || hasWindow() && this._window.top !== this._window.self && this._window.top[\"dx-force-device\"] || this.isRippleEmulator()\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n forceSimulator() {\r\n this._isSimulator = true\r\n }\r\n _getDevice(deviceName) {\r\n if (\"genericPhone\" === deviceName) {\r\n deviceName = {\r\n deviceType: \"phone\",\r\n platform: \"generic\",\r\n generic: true\r\n }\r\n }\r\n if (isPlainObject(deviceName)) {\r\n return this._fromConfig(deviceName)\r\n } else {\r\n var ua;\r\n if (deviceName) {\r\n ua = KNOWN_UA_TABLE[deviceName];\r\n if (!ua) {\r\n throw errors.Error(\"E0005\")\r\n }\r\n } else {\r\n ua = navigator.userAgent\r\n }\r\n return this._fromUA(ua)\r\n }\r\n }\r\n _getDeviceOrNameFromWindowScope() {\r\n var result;\r\n if (hasWindow() && (this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"])) {\r\n result = this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"]\r\n }\r\n return result\r\n }\r\n _getDeviceNameFromSessionStorage() {\r\n var sessionStorage = SessionStorage();\r\n if (!sessionStorage) {\r\n return\r\n }\r\n var deviceOrName = sessionStorage.getItem(\"dx-force-device\");\r\n try {\r\n return JSON.parse(deviceOrName)\r\n } catch (ex) {\r\n return deviceOrName\r\n }\r\n }\r\n _fromConfig(config) {\r\n var result = extend({}, DEFAULT_DEVICE, this._currentDevice, config);\r\n var shortcuts = {\r\n phone: \"phone\" === result.deviceType,\r\n tablet: \"tablet\" === result.deviceType,\r\n android: \"android\" === result.platform,\r\n ios: \"ios\" === result.platform,\r\n generic: \"generic\" === result.platform\r\n };\r\n return extend(result, shortcuts)\r\n }\r\n _fromUA(ua) {\r\n var config;\r\n each(uaParsers, (platform, parser) => {\r\n config = parser(ua);\r\n return !config\r\n });\r\n if (config) {\r\n return this._fromConfig(config)\r\n }\r\n return DEFAULT_DEVICE\r\n }\r\n _changeOrientation() {\r\n var $window = $(this._window);\r\n var orientation = getHeight($window) > getWidth($window) ? \"portrait\" : \"landscape\";\r\n if (this._currentOrientation === orientation) {\r\n return\r\n }\r\n this._currentOrientation = orientation;\r\n this._eventsStrategy.fireEvent(\"orientationChanged\", [{\r\n orientation: orientation\r\n }])\r\n }\r\n _recalculateOrientation() {\r\n var windowWidth = getWidth(this._window);\r\n if (this._currentWidth === windowWidth) {\r\n return\r\n }\r\n this._currentWidth = windowWidth;\r\n this._changeOrientation()\r\n }\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n }\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n}\r\nvar devices = new Devices;\r\nvar viewPortElement = viewPort();\r\nif (viewPortElement) {\r\n devices.attachCssClasses(viewPortElement)\r\n}\r\nchangeCallback.add((viewPort, prevViewport) => {\r\n devices.detachCssClasses(prevViewport);\r\n devices.attachCssClasses(viewPort)\r\n});\r\nexport default devices;\r\n","/**\r\n * DevExtreme (esm/core/dom_adapter.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport injector from \"./utils/dependency_injector\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getShadowElementsFromPoint\r\n} from \"./utils/shadow_dom\";\r\nvar ELEMENT_NODE = 1;\r\nvar TEXT_NODE = 3;\r\nvar DOCUMENT_NODE = 9;\r\nvar DOCUMENT_FRAGMENT_NODE = 11;\r\nvar nativeDOMAdapterStrategy = {\r\n querySelectorAll: (element, selector) => element.querySelectorAll(selector),\r\n elementMatches(element, selector) {\r\n var matches = element.matches || element.matchesSelector || element.mozMatchesSelector || element.msMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector || (selector => {\r\n var doc = element.document || element.ownerDocument;\r\n if (!doc) {\r\n return false\r\n }\r\n var items = this.querySelectorAll(doc, selector);\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] === element) {\r\n return true\r\n }\r\n }\r\n });\r\n return matches.call(element, selector)\r\n },\r\n createElement(tagName, context) {\r\n context = context || this._document;\r\n return context.createElement(tagName)\r\n },\r\n createElementNS(ns, tagName, context) {\r\n context = context || this._document;\r\n return context.createElementNS(ns, tagName)\r\n },\r\n createTextNode(text, context) {\r\n context = context || this._document;\r\n return context.createTextNode(text)\r\n },\r\n isNode: element => element && \"object\" === typeof element && \"nodeType\" in element && \"nodeName\" in element,\r\n isElementNode: element => element && element.nodeType === ELEMENT_NODE,\r\n isTextNode: element => element && element.nodeType === TEXT_NODE,\r\n isDocument: element => element && element.nodeType === DOCUMENT_NODE,\r\n isDocumentFragment: element => element && element.nodeType === DOCUMENT_FRAGMENT_NODE,\r\n removeElement(element) {\r\n var parentNode = element && element.parentNode;\r\n if (parentNode) {\r\n parentNode.removeChild(element)\r\n }\r\n },\r\n insertElement(parentElement, newElement, nextSiblingElement) {\r\n if (parentElement && newElement && parentElement !== newElement) {\r\n if (nextSiblingElement) {\r\n parentElement.insertBefore(newElement, nextSiblingElement)\r\n } else {\r\n parentElement.appendChild(newElement)\r\n }\r\n }\r\n },\r\n getAttribute: (element, name) => element.getAttribute(name),\r\n setAttribute(element, name, value) {\r\n element.setAttribute(name, value)\r\n },\r\n removeAttribute(element, name) {\r\n element.removeAttribute(name)\r\n },\r\n setProperty(element, name, value) {\r\n element[name] = value\r\n },\r\n setText(element, text) {\r\n if (element) {\r\n element.textContent = text\r\n }\r\n },\r\n setClass(element, className, isAdd) {\r\n if (1 === element.nodeType && className) {\r\n isAdd ? element.classList.add(className) : element.classList.remove(className)\r\n }\r\n },\r\n setStyle(element, name, value) {\r\n element.style[name] = value || \"\"\r\n },\r\n _document: \"undefined\" === typeof document ? void 0 : document,\r\n getDocument() {\r\n return this._document\r\n },\r\n getActiveElement(element) {\r\n var activeElementHolder = this.getRootNode(element);\r\n return activeElementHolder.activeElement\r\n },\r\n getRootNode(element) {\r\n var _element$getRootNode, _element$getRootNode2;\r\n return null !== (_element$getRootNode = null === element || void 0 === element ? void 0 : null === (_element$getRootNode2 = element.getRootNode) || void 0 === _element$getRootNode2 ? void 0 : _element$getRootNode2.call(element)) && void 0 !== _element$getRootNode ? _element$getRootNode : this._document\r\n },\r\n getBody() {\r\n return this._document.body\r\n },\r\n createDocumentFragment() {\r\n return this._document.createDocumentFragment()\r\n },\r\n getDocumentElement() {\r\n return this._document.documentElement\r\n },\r\n getLocation() {\r\n return this._document.location\r\n },\r\n getSelection() {\r\n return this._document.selection\r\n },\r\n getReadyState() {\r\n return this._document.readyState\r\n },\r\n getHead() {\r\n return this._document.head\r\n },\r\n hasDocumentProperty(property) {\r\n return property in this._document\r\n },\r\n listen(element, event, callback, options) {\r\n if (!element || !(\"addEventListener\" in element)) {\r\n return noop\r\n }\r\n element.addEventListener(event, callback, options);\r\n return () => {\r\n element.removeEventListener(event, callback)\r\n }\r\n },\r\n elementsFromPoint(x, y, element) {\r\n var activeElementHolder = this.getRootNode(element);\r\n if (activeElementHolder.host) {\r\n return getShadowElementsFromPoint(x, y, activeElementHolder)\r\n }\r\n return activeElementHolder.elementsFromPoint(x, y)\r\n }\r\n};\r\nexport default injector(nativeDOMAdapterStrategy);\r\n","/**\r\n * DevExtreme (esm/core/options/option_manager.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n compileGetter,\r\n compileSetter,\r\n getPathParts\r\n} from \"../utils/data\";\r\nimport {\r\n noop\r\n} from \"../utils/common\";\r\nimport {\r\n equals\r\n} from \"../utils/comparator\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport {\r\n isDefined,\r\n isPlainObject\r\n} from \"../utils/type\";\r\nimport {\r\n normalizeOptions\r\n} from \"./utils\";\r\nvar cachedGetters = {};\r\nvar cachedSetters = {};\r\nexport class OptionManager {\r\n constructor(options, optionsByReference) {\r\n this._options = options;\r\n this._optionsByReference = optionsByReference;\r\n this._changingCallback;\r\n this._changedCallback;\r\n this._namePreparedCallbacks\r\n }\r\n _setByReference(options, rulesOptions) {\r\n extend(true, options, rulesOptions);\r\n for (var fieldName in this._optionsByReference) {\r\n if (Object.prototype.hasOwnProperty.call(rulesOptions, fieldName)) {\r\n options[fieldName] = rulesOptions[fieldName]\r\n }\r\n }\r\n }\r\n _setPreparedValue(name, value, merge, silent) {\r\n var previousValue = this.get(this._options, name, false);\r\n if (!equals(previousValue, value)) {\r\n var path = getPathParts(name);\r\n !silent && this._changingCallback(name, previousValue, value);\r\n cachedSetters[name] = cachedSetters[name] || compileSetter(name);\r\n cachedSetters[name](this._options, value, {\r\n functionsAsIs: true,\r\n merge: isDefined(merge) ? merge : !this._optionsByReference[name],\r\n unwrapObservables: path.length > 1 && !!this._optionsByReference[path[0]]\r\n });\r\n !silent && this._changedCallback(name, value, previousValue)\r\n }\r\n }\r\n _prepareRelevantNames(options, name, value, silent) {\r\n if (isPlainObject(value)) {\r\n for (var valueName in value) {\r\n this._prepareRelevantNames(options, \"\".concat(name, \".\").concat(valueName), value[valueName])\r\n }\r\n }\r\n this._namePreparedCallbacks(options, name, value, silent)\r\n }\r\n get() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._options;\r\n var name = arguments.length > 1 ? arguments[1] : void 0;\r\n var unwrapObservables = arguments.length > 2 ? arguments[2] : void 0;\r\n cachedGetters[name] = cachedGetters[name] || compileGetter(name);\r\n return cachedGetters[name](options, {\r\n functionsAsIs: true,\r\n unwrapObservables: unwrapObservables\r\n })\r\n }\r\n set(options, value, merge, silent) {\r\n options = normalizeOptions(options, value);\r\n for (var name in options) {\r\n this._prepareRelevantNames(options, name, options[name], silent)\r\n }\r\n for (var _name in options) {\r\n this._setPreparedValue(_name, options[_name], merge, silent)\r\n }\r\n }\r\n onRelevantNamesPrepared(callBack) {\r\n this._namePreparedCallbacks = callBack\r\n }\r\n onChanging(callBack) {\r\n this._changingCallback = callBack\r\n }\r\n onChanged(callBack) {\r\n this._changedCallback = callBack\r\n }\r\n dispose() {\r\n this._changingCallback = noop;\r\n this._changedCallback = noop\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/comparator.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport {\r\n toComparable\r\n} from \"./data\";\r\nimport {\r\n isRenderer\r\n} from \"./type\";\r\nvar hasNegation = function(oldValue, newValue) {\r\n return 1 / oldValue === 1 / newValue\r\n};\r\nexport var equals = function(oldValue, newValue) {\r\n oldValue = toComparable(oldValue, true);\r\n newValue = toComparable(newValue, true);\r\n if (oldValue && newValue && isRenderer(oldValue) && isRenderer(newValue)) {\r\n return newValue.is(oldValue)\r\n }\r\n var oldValueIsNaN = oldValue !== oldValue;\r\n var newValueIsNaN = newValue !== newValue;\r\n if (oldValueIsNaN && newValueIsNaN) {\r\n return true\r\n }\r\n if (0 === oldValue && 0 === newValue) {\r\n return hasNegation(oldValue, newValue)\r\n }\r\n if (null === oldValue || \"object\" !== typeof oldValue || domAdapter.isElementNode(oldValue)) {\r\n return oldValue === newValue\r\n }\r\n return false\r\n};\r\n","/**\r\n * DevExtreme (esm/core/options/index.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isFunction,\r\n isObject,\r\n type\r\n} from \"../utils/type\";\r\nimport {\r\n equalByValue,\r\n noop\r\n} from \"../utils/common\";\r\nimport {\r\n OptionManager\r\n} from \"./option_manager\";\r\nimport {\r\n getPathParts\r\n} from \"../utils/data\";\r\nimport {\r\n getFieldName,\r\n getParentName,\r\n convertRulesToOptions,\r\n getNestedOptionValue\r\n} from \"./utils\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nexport class Options {\r\n constructor(options, defaultOptions, optionsByReference, deprecatedOptions) {\r\n this._deprecatedCallback;\r\n this._startChangeCallback;\r\n this._endChangeCallback;\r\n this._default = defaultOptions;\r\n this._deprecated = deprecatedOptions;\r\n this._deprecatedNames = [];\r\n this._initDeprecatedNames();\r\n this._optionManager = new OptionManager(options, optionsByReference);\r\n this._optionManager.onRelevantNamesPrepared((options, name, value, silent) => this._setRelevantNames(options, name, value, silent));\r\n this._cachedOptions = {};\r\n this._rules = []\r\n }\r\n set _initial(value) {\r\n this._initialOptions = value\r\n }\r\n get _initial() {\r\n if (!this._initialOptions) {\r\n var rulesOptions = this._getByRules(this.silent(\"defaultOptionsRules\"));\r\n this._initialOptions = this._default;\r\n this._optionManager._setByReference(this._initialOptions, rulesOptions)\r\n }\r\n return this._initialOptions\r\n }\r\n _initDeprecatedNames() {\r\n for (var optionName in this._deprecated) {\r\n this._deprecatedNames.push(optionName)\r\n }\r\n }\r\n _getByRules(rules) {\r\n rules = Array.isArray(rules) ? this._rules.concat(rules) : this._rules;\r\n return convertRulesToOptions(rules)\r\n }\r\n _notifyDeprecated(option) {\r\n var info = this._deprecated[option];\r\n if (info) {\r\n this._deprecatedCallback(option, info)\r\n }\r\n }\r\n _setRelevantNames(options, name, value, silent) {\r\n if (name) {\r\n var normalizedName = this._normalizeName(name, silent);\r\n if (normalizedName && normalizedName !== name) {\r\n this._setField(options, normalizedName, value);\r\n this._clearField(options, name)\r\n }\r\n }\r\n }\r\n _setField(options, fullName, value) {\r\n var fieldName = \"\";\r\n var fieldObject = null;\r\n do {\r\n fieldName = fieldName ? \".\".concat(fieldName) : \"\";\r\n fieldName = getFieldName(fullName) + fieldName;\r\n fullName = getParentName(fullName);\r\n fieldObject = fullName ? this._optionManager.get(options, fullName, false) : options\r\n } while (!fieldObject);\r\n fieldObject[fieldName] = value\r\n }\r\n _clearField(options, name) {\r\n delete options[name];\r\n var previousFieldName = getParentName(name);\r\n var fieldObject = previousFieldName ? this._optionManager.get(options, previousFieldName, false) : options;\r\n if (fieldObject) {\r\n delete fieldObject[getFieldName(name)]\r\n }\r\n }\r\n _normalizeName(name, silent) {\r\n if (this._deprecatedNames.length && name) {\r\n for (var i = 0; i < this._deprecatedNames.length; i++) {\r\n if (this._deprecatedNames[i] === name) {\r\n var deprecate = this._deprecated[name];\r\n if (deprecate) {\r\n !silent && this._notifyDeprecated(name);\r\n return deprecate.alias || name\r\n }\r\n }\r\n }\r\n }\r\n return name\r\n }\r\n addRules(rules) {\r\n this._rules = rules.concat(this._rules)\r\n }\r\n applyRules(rules) {\r\n var options = this._getByRules(rules);\r\n this.silent(options)\r\n }\r\n dispose() {\r\n this._deprecatedCallback = noop;\r\n this._startChangeCallback = noop;\r\n this._endChangeCallback = noop;\r\n this._optionManager.dispose()\r\n }\r\n onChanging(callBack) {\r\n this._optionManager.onChanging(callBack)\r\n }\r\n onChanged(callBack) {\r\n this._optionManager.onChanged(callBack)\r\n }\r\n onDeprecated(callBack) {\r\n this._deprecatedCallback = callBack\r\n }\r\n onStartChange(callBack) {\r\n this._startChangeCallback = callBack\r\n }\r\n onEndChange(callBack) {\r\n this._endChangeCallback = callBack\r\n }\r\n isInitial(name) {\r\n var value = this.silent(name);\r\n var initialValue = this.initial(name);\r\n var areFunctions = isFunction(value) && isFunction(initialValue);\r\n return areFunctions ? value.toString() === initialValue.toString() : equalByValue(value, initialValue)\r\n }\r\n initial(name) {\r\n return getNestedOptionValue(this._initial, name)\r\n }\r\n option(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== type(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, this._normalizeName(options))\r\n } else {\r\n this._startChangeCallback();\r\n try {\r\n this._optionManager.set(options, value)\r\n } finally {\r\n this._endChangeCallback()\r\n }\r\n }\r\n }\r\n silent(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== type(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, options, void 0, true)\r\n } else {\r\n this._optionManager.set(options, value, void 0, true)\r\n }\r\n }\r\n reset(name) {\r\n if (name) {\r\n var fullPath = getPathParts(name);\r\n var value = fullPath.reduce((value, field) => value ? value[field] : this.initial(field), null);\r\n var defaultValue = isObject(value) ? _extends({}, value) : value;\r\n this._optionManager.set(name, defaultValue, false)\r\n }\r\n }\r\n getAliasesByName(name) {\r\n return Object.keys(this._deprecated).filter(aliasName => name === this._deprecated[aliasName].alias)\r\n }\r\n isDeprecated(name) {\r\n return Object.prototype.hasOwnProperty.call(this._deprecated, name)\r\n }\r\n cache(name, options) {\r\n var isGetter = arguments.length < 2;\r\n if (isGetter) {\r\n return this._cachedOptions[name]\r\n } else {\r\n this._cachedOptions[name] = extend(this._cachedOptions[name], options)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/postponed_operations.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred,\r\n when\r\n} from \"./utils/deferred\";\r\nimport {\r\n isDefined\r\n} from \"./utils/type\";\r\nexport class PostponedOperations {\r\n constructor() {\r\n this._postponedOperations = {}\r\n }\r\n add(key, fn, postponedPromise) {\r\n if (key in this._postponedOperations) {\r\n postponedPromise && this._postponedOperations[key].promises.push(postponedPromise)\r\n } else {\r\n var completePromise = new Deferred;\r\n this._postponedOperations[key] = {\r\n fn: fn,\r\n completePromise: completePromise,\r\n promises: postponedPromise ? [postponedPromise] : []\r\n }\r\n }\r\n return this._postponedOperations[key].completePromise.promise()\r\n }\r\n callPostponedOperations() {\r\n for (var key in this._postponedOperations) {\r\n var operation = this._postponedOperations[key];\r\n if (isDefined(operation)) {\r\n if (operation.promises && operation.promises.length) {\r\n when(...operation.promises).done(operation.fn).then(operation.completePromise.resolve)\r\n } else {\r\n operation.fn().done(operation.completePromise.resolve)\r\n }\r\n }\r\n }\r\n this._postponedOperations = {}\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/component.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Config from \"./config\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n Options\r\n} from \"./options/index\";\r\nimport {\r\n convertRulesToOptions\r\n} from \"./options/utils\";\r\nimport Class from \"./class\";\r\nimport Action from \"./action\";\r\nimport errors from \"./errors\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport {\r\n EventsStrategy\r\n} from \"./events_strategy\";\r\nimport {\r\n name as publicComponentName\r\n} from \"./utils/public_component\";\r\nimport {\r\n PostponedOperations\r\n} from \"./postponed_operations\";\r\nimport {\r\n isFunction,\r\n isPlainObject,\r\n isDefined\r\n} from \"./utils/type\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getPathParts\r\n} from \"./utils/data\";\r\nvar getEventName = actionName => actionName.charAt(2).toLowerCase() + actionName.substr(3);\r\nvar isInnerOption = optionName => 0 === optionName.indexOf(\"_\", 0);\r\nexport var Component = Class.inherit({\r\n _setDeprecatedOptions() {\r\n this._deprecatedOptions = {}\r\n },\r\n _getDeprecatedOptions() {\r\n return this._deprecatedOptions\r\n },\r\n _getDefaultOptions: () => ({\r\n onInitialized: null,\r\n onOptionChanged: null,\r\n onDisposing: null,\r\n defaultOptionsRules: null\r\n }),\r\n _defaultOptionsRules: () => [],\r\n _setOptionsByDevice(rules) {\r\n this._options.applyRules(rules)\r\n },\r\n _convertRulesToOptions: rules => convertRulesToOptions(rules),\r\n _isInitialOptionValue(name) {\r\n return this._options.isInitial(name)\r\n },\r\n _setOptionsByReference() {\r\n this._optionsByReference = {}\r\n },\r\n _getOptionsByReference() {\r\n return this._optionsByReference\r\n },\r\n ctor() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var {\r\n _optionChangedCallbacks: _optionChangedCallbacks,\r\n _disposingCallbacks: _disposingCallbacks\r\n } = options;\r\n this.NAME = publicComponentName(this.constructor);\r\n this._eventsStrategy = EventsStrategy.create(this, options.eventsStrategy);\r\n this._updateLockCount = 0;\r\n this._optionChangedCallbacks = _optionChangedCallbacks || Callbacks();\r\n this._disposingCallbacks = _disposingCallbacks || Callbacks();\r\n this.postponedOperations = new PostponedOperations;\r\n this._createOptions(options)\r\n },\r\n _createOptions(options) {\r\n this.beginUpdate();\r\n try {\r\n this._setOptionsByReference();\r\n this._setDeprecatedOptions();\r\n this._options = new Options(this._getDefaultOptions(), this._getDefaultOptions(), this._getOptionsByReference(), this._getDeprecatedOptions());\r\n this._options.onChanging((name, previousValue, value) => this._initialized && this._optionChanging(name, previousValue, value));\r\n this._options.onDeprecated((option, info) => this._logDeprecatedOptionWarning(option, info));\r\n this._options.onChanged((name, value, previousValue) => this._notifyOptionChanged(name, value, previousValue));\r\n this._options.onStartChange(() => this.beginUpdate());\r\n this._options.onEndChange(() => this.endUpdate());\r\n this._options.addRules(this._defaultOptionsRules());\r\n if (options && options.onInitializing) {\r\n options.onInitializing.apply(this, [options])\r\n }\r\n this._setOptionsByDevice(options.defaultOptionsRules);\r\n this._initOptions(options)\r\n } finally {\r\n this.endUpdate()\r\n }\r\n },\r\n _initOptions(options) {\r\n this.option(options)\r\n },\r\n _init() {\r\n this._createOptionChangedAction();\r\n this.on(\"disposing\", args => {\r\n this._disposingCallbacks.fireWith(this, [args])\r\n })\r\n },\r\n _logDeprecatedOptionWarning(option, info) {\r\n var message = info.message || \"Use the '\".concat(info.alias, \"' option instead\");\r\n errors.log(\"W0001\", this.NAME, option, info.since, message)\r\n },\r\n _logDeprecatedComponentWarning(since, alias) {\r\n errors.log(\"W0000\", this.NAME, since, \"Use the '\".concat(alias, \"' widget instead\"))\r\n },\r\n _createOptionChangedAction() {\r\n this._optionChangedAction = this._createActionByOption(\"onOptionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _createDisposingAction() {\r\n this._disposingAction = this._createActionByOption(\"onDisposing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"onDisposing\":\r\n case \"onInitialized\":\r\n break;\r\n case \"onOptionChanged\":\r\n this._createOptionChangedAction()\r\n }\r\n },\r\n _dispose() {\r\n this._optionChangedCallbacks.empty();\r\n this._createDisposingAction();\r\n this._disposingAction();\r\n this._eventsStrategy.dispose();\r\n this._options.dispose();\r\n this._disposed = true\r\n },\r\n _lockUpdate() {\r\n this._updateLockCount++\r\n },\r\n _unlockUpdate() {\r\n this._updateLockCount = Math.max(this._updateLockCount - 1, 0)\r\n },\r\n _isUpdateAllowed() {\r\n return 0 === this._updateLockCount\r\n },\r\n _isInitializingRequired() {\r\n return !this._initializing && !this._initialized\r\n },\r\n isInitialized() {\r\n return this._initialized\r\n },\r\n _commitUpdate() {\r\n this.postponedOperations.callPostponedOperations();\r\n this._isInitializingRequired() && this._initializeComponent()\r\n },\r\n _initializeComponent() {\r\n this._initializing = true;\r\n try {\r\n this._init()\r\n } finally {\r\n this._initializing = false;\r\n this._lockUpdate();\r\n this._createActionByOption(\"onInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })();\r\n this._unlockUpdate();\r\n this._initialized = true\r\n }\r\n },\r\n instance() {\r\n return this\r\n },\r\n beginUpdate: function() {\r\n this._lockUpdate()\r\n },\r\n endUpdate: function() {\r\n this._unlockUpdate();\r\n this._isUpdateAllowed() && this._commitUpdate()\r\n },\r\n _optionChanging: noop,\r\n _notifyOptionChanged(option, value, previousValue) {\r\n if (this._initialized) {\r\n var optionNames = [option].concat(this._options.getAliasesByName(option));\r\n for (var i = 0; i < optionNames.length; i++) {\r\n var name = optionNames[i];\r\n var args = {\r\n name: getPathParts(name)[0],\r\n fullName: name,\r\n value: value,\r\n previousValue: previousValue\r\n };\r\n if (!isInnerOption(name)) {\r\n this._optionChangedCallbacks.fireWith(this, [extend(this._defaultActionArgs(), args)]);\r\n this._optionChangedAction(extend({}, args))\r\n }\r\n if (!this._disposed && this._cancelOptionChange !== name) {\r\n this._optionChanged(args)\r\n }\r\n }\r\n }\r\n },\r\n initialOption(name) {\r\n return this._options.initial(name)\r\n },\r\n _defaultActionConfig() {\r\n return {\r\n context: this,\r\n component: this\r\n }\r\n },\r\n _defaultActionArgs() {\r\n return {\r\n component: this\r\n }\r\n },\r\n _createAction(actionSource, config) {\r\n var action;\r\n return e => {\r\n if (!isDefined(e)) {\r\n e = {}\r\n }\r\n if (!isPlainObject(e)) {\r\n e = {\r\n actionValue: e\r\n }\r\n }\r\n action = action || new Action(actionSource, extend(config, this._defaultActionConfig()));\r\n return action.execute.call(action, extend(e, this._defaultActionArgs()))\r\n }\r\n },\r\n _createActionByOption(optionName, config) {\r\n var _this = this;\r\n var action;\r\n var eventName;\r\n var actionFunc;\r\n var result = function() {\r\n if (!eventName) {\r\n config = config || {};\r\n if (\"string\" !== typeof optionName) {\r\n throw errors.Error(\"E0008\")\r\n }\r\n if (0 === optionName.indexOf(\"on\")) {\r\n eventName = getEventName(optionName)\r\n }\r\n actionFunc = _this.option(optionName)\r\n }\r\n if (!action && !actionFunc && !config.beforeExecute && !config.afterExecute && !_this._eventsStrategy.hasEvent(eventName)) {\r\n return\r\n }\r\n if (!action) {\r\n var beforeExecute = config.beforeExecute;\r\n config.beforeExecute = function() {\r\n for (var _len2 = arguments.length, props = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n props[_key2] = arguments[_key2]\r\n }\r\n beforeExecute && beforeExecute.apply(_this, props);\r\n _this._eventsStrategy.fireEvent(eventName, props[0].args)\r\n };\r\n action = _this._createAction(actionFunc, config)\r\n }\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n if (Config().wrapActionsBeforeExecute) {\r\n var beforeActionExecute = _this.option(\"beforeActionExecute\") || noop;\r\n var wrappedAction = beforeActionExecute(_this, action, config) || action;\r\n return wrappedAction.apply(_this, args)\r\n }\r\n return action.apply(_this, args)\r\n };\r\n if (Config().wrapActionsBeforeExecute) {\r\n return result\r\n }\r\n var onActionCreated = this.option(\"onActionCreated\") || noop;\r\n return onActionCreated(this, result, config) || result\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n },\r\n hasActionSubscription: function(actionName) {\r\n return !!this._options.silent(actionName) || this._eventsStrategy.hasEvent(getEventName(actionName))\r\n },\r\n isOptionDeprecated(name) {\r\n return this._options.isDeprecated(name)\r\n },\r\n _setOptionWithoutOptionChange(name, value) {\r\n this._cancelOptionChange = name;\r\n this.option(name, value);\r\n this._cancelOptionChange = false\r\n },\r\n _getOptionValue(name, context) {\r\n var value = this.option(name);\r\n if (isFunction(value)) {\r\n return value.bind(context)()\r\n }\r\n return value\r\n },\r\n option() {\r\n return this._options.option(...arguments)\r\n },\r\n resetOption(name) {\r\n this.beginUpdate();\r\n this._options.reset(name);\r\n this.endUpdate()\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/template_manager.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isRenderer\r\n} from \"./utils/type\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n FunctionTemplate\r\n} from \"./templates/function_template\";\r\nimport {\r\n EmptyTemplate\r\n} from \"./templates/empty_template\";\r\nimport {\r\n findTemplates,\r\n suitableTemplatesByName,\r\n templateKey,\r\n getNormalizedTemplateArgs,\r\n validateTemplateSource,\r\n defaultCreateElement,\r\n acquireTemplate\r\n} from \"./utils/template_manager\";\r\nvar TEXT_NODE = 3;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"template\";\r\nvar TEMPLATE_OPTIONS_NAME = \"dxTemplate\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar DX_POLYMORPH_WIDGET_TEMPLATE = new FunctionTemplate(_ref => {\r\n var {\r\n model: model,\r\n parent: parent\r\n } = _ref;\r\n var widgetName = model.widget;\r\n if (!widgetName) {\r\n return $()\r\n }\r\n var widgetElement = $(\"
\");\r\n var widgetOptions = model.options || {};\r\n if (parent) {\r\n parent._createComponent(widgetElement, widgetName, widgetOptions)\r\n } else {\r\n widgetElement[widgetName](widgetOptions)\r\n }\r\n return widgetElement\r\n});\r\nexport class TemplateManager {\r\n constructor(createElement, anonymousTemplateName) {\r\n this._tempTemplates = [];\r\n this._defaultTemplates = {};\r\n this._anonymousTemplateName = anonymousTemplateName || ANONYMOUS_TEMPLATE_NAME;\r\n this._createElement = createElement || defaultCreateElement;\r\n this._createTemplateIfNeeded = this._createTemplateIfNeeded.bind(this)\r\n }\r\n static createDefaultOptions() {\r\n return {\r\n integrationOptions: {\r\n watchMethod: function(fn, callback) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n if (!options.skipImmediate) {\r\n callback(fn())\r\n }\r\n return noop\r\n },\r\n templates: {\r\n \"dx-polymorph-widget\": DX_POLYMORPH_WIDGET_TEMPLATE\r\n },\r\n useDeferUpdateForTemplates: true\r\n }\r\n }\r\n }\r\n get anonymousTemplateName() {\r\n return this._anonymousTemplateName\r\n }\r\n addDefaultTemplates(templates) {\r\n this._defaultTemplates = extend({}, this._defaultTemplates, templates)\r\n }\r\n dispose() {\r\n this._tempTemplates.forEach(tempTemplate => {\r\n tempTemplate.template.dispose && tempTemplate.template.dispose()\r\n });\r\n this._tempTemplates = []\r\n }\r\n extractTemplates($el) {\r\n var templates = this._extractTemplates($el);\r\n var anonymousTemplateMeta = this._extractAnonymousTemplate($el);\r\n return {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n }\r\n }\r\n _extractTemplates($el) {\r\n var templates = findTemplates($el, TEMPLATE_OPTIONS_NAME);\r\n var suitableTemplates = suitableTemplatesByName(templates);\r\n templates.forEach(_ref2 => {\r\n var {\r\n element: element,\r\n options: {\r\n name: name\r\n }\r\n } = _ref2;\r\n if (element === suitableTemplates[name]) {\r\n $(element).addClass(TEMPLATE_WRAPPER_CLASS).detach()\r\n } else {\r\n $(element).remove()\r\n }\r\n });\r\n return Object.keys(suitableTemplates).map(name => ({\r\n name: name,\r\n template: this._createTemplate(suitableTemplates[name])\r\n }))\r\n }\r\n _extractAnonymousTemplate($el) {\r\n var $anonymousTemplate = $el.contents().detach();\r\n var $notJunkTemplateContent = $anonymousTemplate.filter((_, element) => {\r\n var isTextNode = element.nodeType === TEXT_NODE;\r\n var isEmptyText = $(element).text().trim().length < 1;\r\n return !(isTextNode && isEmptyText)\r\n });\r\n return $notJunkTemplateContent.length > 0 ? {\r\n template: this._createTemplate($anonymousTemplate),\r\n name: this._anonymousTemplateName\r\n } : {}\r\n }\r\n _createTemplateIfNeeded(templateSource) {\r\n var cachedTemplate = this._tempTemplates.filter(tempTemplate => tempTemplate.source === templateKey(templateSource))[0];\r\n if (cachedTemplate) {\r\n return cachedTemplate.template\r\n }\r\n var template = this._createTemplate(templateSource);\r\n this._tempTemplates.push({\r\n template: template,\r\n source: templateKey(templateSource)\r\n });\r\n return template\r\n }\r\n _createTemplate(templateSource) {\r\n return this._createElement(validateTemplateSource(templateSource))\r\n }\r\n getTemplate(templateSource, templates, _ref3, context) {\r\n var {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n } = _ref3;\r\n if (!isFunction(templateSource)) {\r\n return acquireTemplate(templateSource, this._createTemplateIfNeeded, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates)\r\n }\r\n return new FunctionTemplate(options => {\r\n var templateSourceResult = templateSource.apply(context, getNormalizedTemplateArgs(options));\r\n if (!isDefined(templateSourceResult)) {\r\n return new EmptyTemplate\r\n }\r\n var dispose = false;\r\n var template = acquireTemplate(templateSourceResult, templateSource => {\r\n if (templateSource.nodeType || isRenderer(templateSource) && !$(templateSource).is(\"script\")) {\r\n return new FunctionTemplate(() => templateSource)\r\n }\r\n dispose = true;\r\n return this._createTemplate(templateSource)\r\n }, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates);\r\n var result = template.render(options);\r\n dispose && template.dispose && template.dispose();\r\n return result\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/dom_component.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport config from \"./config\";\r\nimport errors from \"./errors\";\r\nimport windowResizeCallbacks from \"../core/utils/resize_callbacks\";\r\nimport {\r\n Component\r\n} from \"./component\";\r\nimport {\r\n TemplateManager\r\n} from \"./template_manager\";\r\nimport {\r\n attachInstanceToElement,\r\n getInstanceByElement\r\n} from \"./utils/public_component\";\r\nimport {\r\n addShadowDomStyles\r\n} from \"./utils/shadow_dom\";\r\nimport {\r\n cleanDataRecursive\r\n} from \"./element_data\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n grep,\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n isString,\r\n isDefined,\r\n isFunction\r\n} from \"./utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n resize as resizeEvent,\r\n visibility as visibilityEvents\r\n} from \"../events/short\";\r\nvar {\r\n abstract: abstract\r\n} = Component;\r\nvar DOMComponent = Component.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n width: void 0,\r\n height: void 0,\r\n rtlEnabled: config().rtlEnabled,\r\n elementAttr: {},\r\n disabled: false,\r\n integrationOptions: {}\r\n }, this._useTemplates() ? TemplateManager.createDefaultOptions() : {})\r\n },\r\n ctor(element, options) {\r\n this._customClass = null;\r\n this._createElement(element);\r\n attachInstanceToElement(this._$element, this, this._dispose);\r\n this.callBase(options)\r\n },\r\n _createElement(element) {\r\n this._$element = $(element)\r\n },\r\n _getSynchronizableOptionsForCreateComponent: () => [\"rtlEnabled\", \"disabled\", \"templatesRenderAsynchronously\"],\r\n _checkFunctionValueDeprecation: function(optionNames) {\r\n if (!this.option(\"_ignoreFunctionValueDeprecation\")) {\r\n optionNames.forEach(optionName => {\r\n if (isFunction(this.option(optionName))) {\r\n errors.log(\"W0017\", optionName)\r\n }\r\n })\r\n }\r\n },\r\n _visibilityChanged: abstract,\r\n _dimensionChanged: abstract,\r\n _init() {\r\n this.callBase();\r\n this._checkFunctionValueDeprecation([\"width\", \"height\", \"maxHeight\", \"maxWidth\", \"minHeight\", \"minWidth\", \"popupHeight\", \"popupWidth\"]);\r\n this._attachWindowResizeCallback();\r\n this._initTemplateManager()\r\n },\r\n _setOptionsByDevice(instanceCustomRules) {\r\n this.callBase([].concat(this.constructor._classCustomRules || [], instanceCustomRules || []))\r\n },\r\n _isInitialOptionValue(name) {\r\n var isCustomOption = this.constructor._classCustomRules && Object.prototype.hasOwnProperty.call(this._convertRulesToOptions(this.constructor._classCustomRules), name);\r\n return !isCustomOption && this.callBase(name)\r\n },\r\n _attachWindowResizeCallback() {\r\n if (this._isDimensionChangeSupported()) {\r\n var windowResizeCallBack = this._windowResizeCallBack = this._dimensionChanged.bind(this);\r\n windowResizeCallbacks.add(windowResizeCallBack)\r\n }\r\n },\r\n _isDimensionChangeSupported() {\r\n return this._dimensionChanged !== abstract\r\n },\r\n _renderComponent() {\r\n this._initMarkup();\r\n hasWindow() && this._render()\r\n },\r\n _initMarkup() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.option() || {};\r\n this._renderElementAttributes();\r\n this._toggleRTLDirection(rtlEnabled);\r\n this._renderVisibilityChange();\r\n this._renderDimensions()\r\n },\r\n _render() {\r\n this._attachVisibilityChangeHandlers();\r\n addShadowDomStyles(this.$element())\r\n },\r\n _renderElementAttributes() {\r\n var {\r\n elementAttr: elementAttr\r\n } = this.option() || {};\r\n var attributes = extend({}, elementAttr);\r\n var classNames = attributes.class;\r\n delete attributes.class;\r\n this.$element().attr(attributes).removeClass(this._customClass).addClass(classNames);\r\n this._customClass = classNames\r\n },\r\n _renderVisibilityChange() {\r\n if (this._isDimensionChangeSupported()) {\r\n this._attachDimensionChangeHandlers()\r\n }\r\n if (this._isVisibilityChangeSupported()) {\r\n var $element = this.$element();\r\n $element.addClass(\"dx-visibility-change-handler\")\r\n }\r\n },\r\n _renderDimensions() {\r\n var $element = this.$element();\r\n var element = $element.get(0);\r\n var width = this._getOptionValue(\"width\", element);\r\n var height = this._getOptionValue(\"height\", element);\r\n if (this._isCssUpdateRequired(element, height, width)) {\r\n $element.css({\r\n width: null === width ? \"\" : width,\r\n height: null === height ? \"\" : height\r\n })\r\n }\r\n },\r\n _isCssUpdateRequired: (element, height, width) => !!(isDefined(width) || isDefined(height) || element.style.width || element.style.height),\r\n _attachDimensionChangeHandlers() {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n resizeEvent.off($el, {\r\n namespace: namespace\r\n });\r\n resizeEvent.on($el, () => this._dimensionChanged(), {\r\n namespace: namespace\r\n })\r\n },\r\n _attachVisibilityChangeHandlers() {\r\n if (this._isVisibilityChangeSupported()) {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n this._isHidden = !this._isVisible();\r\n visibilityEvents.off($el, {\r\n namespace: namespace\r\n });\r\n visibilityEvents.on($el, () => this._checkVisibilityChanged(\"shown\"), () => this._checkVisibilityChanged(\"hiding\"), {\r\n namespace: namespace\r\n })\r\n }\r\n },\r\n _isVisible() {\r\n var $element = this.$element();\r\n return $element.is(\":visible\")\r\n },\r\n _checkVisibilityChanged(action) {\r\n var isVisible = this._isVisible();\r\n if (isVisible) {\r\n if (\"hiding\" === action && !this._isHidden) {\r\n this._visibilityChanged(false);\r\n this._isHidden = true\r\n } else if (\"shown\" === action && this._isHidden) {\r\n this._isHidden = false;\r\n this._visibilityChanged(true)\r\n }\r\n }\r\n },\r\n _isVisibilityChangeSupported() {\r\n return this._visibilityChanged !== abstract && hasWindow()\r\n },\r\n _clean: noop,\r\n _modelByElement() {\r\n var {\r\n modelByElement: modelByElement\r\n } = this.option();\r\n var $element = this.$element();\r\n return modelByElement ? modelByElement($element) : void 0\r\n },\r\n _invalidate() {\r\n if (this._isUpdateAllowed()) {\r\n throw errors.Error(\"E0007\")\r\n }\r\n this._requireRefresh = true\r\n },\r\n _refresh() {\r\n this._clean();\r\n this._renderComponent()\r\n },\r\n _dispose() {\r\n this._templateManager && this._templateManager.dispose();\r\n this.callBase();\r\n this._clean();\r\n this._detachWindowResizeCallback()\r\n },\r\n _detachWindowResizeCallback() {\r\n if (this._isDimensionChangeSupported()) {\r\n windowResizeCallbacks.remove(this._windowResizeCallBack)\r\n }\r\n },\r\n _toggleRTLDirection(rtl) {\r\n var $element = this.$element();\r\n $element.toggleClass(\"dx-rtl\", rtl)\r\n },\r\n _createComponent(element, component) {\r\n var config = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var synchronizableOptions = grep(this._getSynchronizableOptionsForCreateComponent(), value => !(value in config));\r\n var {\r\n integrationOptions: integrationOptions\r\n } = this.option();\r\n var {\r\n nestedComponentOptions: nestedComponentOptions\r\n } = this.option();\r\n nestedComponentOptions = nestedComponentOptions || noop;\r\n var nestedComponentConfig = extend({\r\n integrationOptions: integrationOptions\r\n }, nestedComponentOptions(this));\r\n synchronizableOptions.forEach(optionName => nestedComponentConfig[optionName] = this.option(optionName));\r\n this._extendConfig(config, nestedComponentConfig);\r\n var instance = void 0;\r\n if (isString(component)) {\r\n var $element = $(element)[component](config);\r\n instance = $element[component](\"instance\")\r\n } else if (element) {\r\n instance = component.getInstance(element);\r\n if (instance) {\r\n instance.option(config)\r\n } else {\r\n instance = new component(element, config)\r\n }\r\n }\r\n if (instance) {\r\n var optionChangedHandler = _ref => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n if (synchronizableOptions.includes(name)) {\r\n instance.option(name, value)\r\n }\r\n };\r\n this.on(\"optionChanged\", optionChangedHandler);\r\n instance.on(\"disposing\", () => this.off(\"optionChanged\", optionChangedHandler))\r\n }\r\n return instance\r\n },\r\n _extendConfig(config, extendConfig) {\r\n each(extendConfig, (key, value) => {\r\n !Object.prototype.hasOwnProperty.call(config, key) && (config[key] = value)\r\n })\r\n },\r\n _defaultActionConfig() {\r\n var $element = this.$element();\r\n var context = this._modelByElement($element);\r\n return extend(this.callBase(), {\r\n context: context\r\n })\r\n },\r\n _defaultActionArgs() {\r\n var $element = this.$element();\r\n var model = this._modelByElement($element);\r\n var element = this.element();\r\n return extend(this.callBase(), {\r\n element: element,\r\n model: model\r\n })\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this._renderDimensions();\r\n break;\r\n case \"rtlEnabled\":\r\n this._invalidate();\r\n break;\r\n case \"elementAttr\":\r\n this._renderElementAttributes();\r\n break;\r\n case \"disabled\":\r\n case \"integrationOptions\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _removeAttributes(element) {\r\n var attrs = element.attributes;\r\n for (var i = attrs.length - 1; i >= 0; i--) {\r\n var attr = attrs[i];\r\n if (attr) {\r\n var {\r\n name: name\r\n } = attr;\r\n if (!name.indexOf(\"aria-\") || -1 !== name.indexOf(\"dx-\") || \"role\" === name || \"style\" === name || \"tabindex\" === name) {\r\n element.removeAttribute(name)\r\n }\r\n }\r\n }\r\n },\r\n _removeClasses(element) {\r\n element.className = element.className.split(\" \").filter(cssClass => 0 !== cssClass.lastIndexOf(\"dx-\", 0)).join(\" \")\r\n },\r\n _updateDOMComponent(renderRequired) {\r\n if (renderRequired) {\r\n this._renderComponent()\r\n } else if (this._requireRefresh) {\r\n this._requireRefresh = false;\r\n this._refresh()\r\n }\r\n },\r\n endUpdate() {\r\n var renderRequired = this._isInitializingRequired();\r\n this.callBase();\r\n this._isUpdateAllowed() && this._updateDOMComponent(renderRequired)\r\n },\r\n $element() {\r\n return this._$element\r\n },\r\n element() {\r\n var $element = this.$element();\r\n return getPublicElement($element)\r\n },\r\n dispose() {\r\n var element = this.$element().get(0);\r\n cleanDataRecursive(element, true);\r\n element.textContent = \"\";\r\n this._removeAttributes(element);\r\n this._removeClasses(element)\r\n },\r\n resetOption(optionName) {\r\n this.callBase(optionName);\r\n if (\"width\" === optionName || \"height\" === optionName) {\r\n var initialOption = this.initialOption(optionName);\r\n !isDefined(initialOption) && this.$element().css(optionName, \"\")\r\n }\r\n },\r\n _getAnonymousTemplateName() {\r\n return\r\n },\r\n _initTemplateManager() {\r\n if (this._templateManager || !this._useTemplates()) {\r\n return\r\n }\r\n var {\r\n integrationOptions: integrationOptions = {}\r\n } = this.option();\r\n var {\r\n createTemplate: createTemplate\r\n } = integrationOptions;\r\n this._templateManager = new TemplateManager(createTemplate, this._getAnonymousTemplateName());\r\n this._initTemplates()\r\n },\r\n _initTemplates() {\r\n var {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n } = this._templateManager.extractTemplates(this.$element());\r\n var anonymousTemplate = this.option(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name));\r\n templates.forEach(_ref2 => {\r\n var {\r\n name: name,\r\n template: template\r\n } = _ref2;\r\n this._options.silent(\"integrationOptions.templates.\".concat(name), template)\r\n });\r\n if (anonymousTemplateMeta.name && !anonymousTemplate) {\r\n this._options.silent(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name), anonymousTemplateMeta.template);\r\n this._options.silent(\"_hasAnonymousTemplateContent\", true)\r\n }\r\n },\r\n _getTemplateByOption(optionName) {\r\n return this._getTemplate(this.option(optionName))\r\n },\r\n _getTemplate(templateSource) {\r\n var templates = this.option(\"integrationOptions.templates\");\r\n var isAsyncTemplate = this.option(\"templatesRenderAsynchronously\");\r\n var skipTemplates = this.option(\"integrationOptions.skipTemplates\");\r\n return this._templateManager.getTemplate(templateSource, templates, {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n }, this)\r\n },\r\n _saveTemplate(name, template) {\r\n this._setOptionWithoutOptionChange(\"integrationOptions.templates.\" + name, this._templateManager._createTemplate(template))\r\n },\r\n _useTemplates: () => true\r\n});\r\nDOMComponent.getInstance = function(element) {\r\n return getInstanceByElement($(element), this)\r\n};\r\nDOMComponent.defaultOptions = function(rule) {\r\n this._classCustomRules = this._classCustomRules || [];\r\n this._classCustomRules.push(rule)\r\n};\r\nexport default DOMComponent;\r\n","/**\r\n * DevExtreme (esm/core/element.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar strategy = function(element) {\r\n return element && element.get(0)\r\n};\r\nexport function getPublicElement(element) {\r\n return strategy(element)\r\n}\r\nexport function setPublicElementWrapper(newStrategy) {\r\n strategy = newStrategy\r\n}\r\n","/**\r\n * DevExtreme (esm/core/element_data.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"./dom_adapter\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport MemorizedCallbacks from \"./memorized_callbacks\";\r\nvar dataMap = new WeakMap;\r\nvar strategy;\r\nexport var strategyChanging = new MemorizedCallbacks;\r\nvar beforeCleanDataFunc = function() {};\r\nvar afterCleanDataFunc = function() {};\r\nexport var setDataStrategy = function(value) {\r\n strategyChanging.fire(value);\r\n strategy = value;\r\n var cleanData = strategy.cleanData;\r\n strategy.cleanData = function(nodes) {\r\n beforeCleanDataFunc(nodes);\r\n var result = cleanData.call(this, nodes);\r\n afterCleanDataFunc(nodes);\r\n return result\r\n }\r\n};\r\nsetDataStrategy({\r\n data: function() {\r\n var element = arguments[0];\r\n var key = arguments[1];\r\n var value = arguments[2];\r\n if (!element) {\r\n return\r\n }\r\n var elementData = dataMap.get(element);\r\n if (!elementData) {\r\n elementData = {};\r\n dataMap.set(element, elementData)\r\n }\r\n if (void 0 === key) {\r\n return elementData\r\n }\r\n if (2 === arguments.length) {\r\n return elementData[key]\r\n }\r\n elementData[key] = value;\r\n return value\r\n },\r\n removeData: function(element, key) {\r\n if (!element) {\r\n return\r\n }\r\n if (void 0 === key) {\r\n dataMap.delete(element)\r\n } else {\r\n var elementData = dataMap.get(element);\r\n if (elementData) {\r\n delete elementData[key]\r\n }\r\n }\r\n },\r\n cleanData: function(elements) {\r\n for (var i = 0; i < elements.length; i++) {\r\n eventsEngine.off(elements[i]);\r\n dataMap.delete(elements[i])\r\n }\r\n }\r\n});\r\nexport function getDataStrategy() {\r\n return strategy\r\n}\r\nexport function data() {\r\n return strategy.data.apply(this, arguments)\r\n}\r\nexport function beforeCleanData(callback) {\r\n beforeCleanDataFunc = callback\r\n}\r\nexport function afterCleanData(callback) {\r\n afterCleanDataFunc = callback\r\n}\r\nexport function cleanData(nodes) {\r\n return strategy.cleanData.call(this, nodes)\r\n}\r\nexport function removeData(element, key) {\r\n return strategy.removeData.call(this, element, key)\r\n}\r\nexport function cleanDataRecursive(element, cleanSelf) {\r\n if (!domAdapter.isElementNode(element)) {\r\n return\r\n }\r\n var childElements = element.getElementsByTagName(\"*\");\r\n strategy.cleanData(childElements);\r\n if (cleanSelf) {\r\n strategy.cleanData([element])\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/errors.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"./utils/error\";\r\nexport default errorUtils({\r\n E0001: \"Method is not implemented\",\r\n E0002: \"Member name collision: {0}\",\r\n E0003: \"A class must be instantiated using the 'new' keyword\",\r\n E0004: \"The NAME property of the component is not specified\",\r\n E0005: \"Unknown device\",\r\n E0006: \"Unknown endpoint key is requested\",\r\n E0007: \"'Invalidate' method is called outside the update transaction\",\r\n E0008: \"Type of the option name is not appropriate to create an action\",\r\n E0009: \"Component '{0}' has not been initialized for an element\",\r\n E0010: \"Animation configuration with the '{0}' type requires '{1}' configuration as {2}\",\r\n E0011: \"Unknown animation type '{0}'\",\r\n E0012: \"jQuery version is too old. Please upgrade jQuery to 1.10.0 or later\",\r\n E0013: \"KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later\",\r\n E0014: \"The 'release' method shouldn't be called for an unlocked Lock object\",\r\n E0015: \"Queued task returned an unexpected result\",\r\n E0017: \"Event namespace is not defined\",\r\n E0018: \"DevExpress.ui.DevExpressPopup widget is required\",\r\n E0020: \"Template engine '{0}' is not supported\",\r\n E0021: \"Unknown theme is set: {0}\",\r\n E0022: \"LINK[rel=DevExpress-theme] tags must go before DevExpress included scripts\",\r\n E0023: \"Template name is not specified\",\r\n E0024: \"DevExtreme bundle already included\",\r\n E0025: \"Unexpected argument type\",\r\n E0100: \"Unknown validation type is detected\",\r\n E0101: \"Misconfigured range validation rule is detected\",\r\n E0102: \"Misconfigured comparison validation rule is detected\",\r\n E0103: \"validationCallback of an asynchronous rule should return a jQuery or a native promise\",\r\n E0110: \"Unknown validation group is detected\",\r\n E0120: \"Adapter for a DevExpressValidator component cannot be configured\",\r\n E0121: \"The 'customItem' parameter of the 'onCustomItemCreating' function is empty or contains invalid data. Assign a custom object or a Promise that is resolved after the item is created.\",\r\n W0000: \"'{0}' is deprecated in {1}. {2}\",\r\n W0001: \"{0} - '{1}' option is deprecated in {2}. {3}\",\r\n W0002: \"{0} - '{1}' method is deprecated in {2}. {3}\",\r\n W0003: \"{0} - '{1}' property is deprecated in {2}. {3}\",\r\n W0004: \"Timeout for theme loading is over: {0}\",\r\n W0005: \"'{0}' event is deprecated in {1}. {2}\",\r\n W0006: \"Invalid recurrence rule: '{0}'\",\r\n W0007: \"'{0}' Globalize culture is not defined\",\r\n W0008: \"Invalid view name: '{0}'\",\r\n W0009: \"Invalid time zone name: '{0}'\",\r\n W0010: \"{0} is deprecated in {1}. {2}\",\r\n W0011: \"Number parsing is invoked while the parser is not defined\",\r\n W0012: \"Date parsing is invoked while the parser is not defined\",\r\n W0013: \"'{0}' file is deprecated in {1}. {2}\",\r\n W0014: \"{0} - '{1}' type is deprecated in {2}. {3}\",\r\n W0015: \"Instead of returning a value from the '{0}' function, write it into the '{1}' field of the function's parameter.\",\r\n W0016: 'The \"{0}\" option does not accept the \"{1}\" value since v{2}. {3}.',\r\n W0017: 'Setting the \"{0}\" property with a function is deprecated since v21.2',\r\n W0018: 'Setting the \"position\" property with a function is deprecated since v21.2'\r\n});\r\n","/**\r\n * DevExtreme (esm/core/events_strategy.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport {\r\n isFunction,\r\n isPlainObject\r\n} from \"./utils/type\";\r\nexport class EventsStrategy {\r\n constructor(owner) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n this._events = {};\r\n this._owner = owner;\r\n this._options = options\r\n }\r\n static create(owner, strategy) {\r\n if (strategy) {\r\n return isFunction(strategy) ? strategy(owner) : strategy\r\n } else {\r\n return new EventsStrategy(owner)\r\n }\r\n }\r\n hasEvent(eventName) {\r\n var callbacks = this._events[eventName];\r\n return callbacks ? callbacks.has() : false\r\n }\r\n fireEvent(eventName, eventArgs) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n callbacks.fireWith(this._owner, eventArgs)\r\n }\r\n return this._owner\r\n }\r\n on(eventName, eventHandler) {\r\n if (isPlainObject(eventName)) {\r\n each(eventName, (e, h) => {\r\n this.on(e, h)\r\n })\r\n } else {\r\n var callbacks = this._events[eventName];\r\n if (!callbacks) {\r\n callbacks = Callbacks({\r\n syncStrategy: this._options.syncStrategy\r\n });\r\n this._events[eventName] = callbacks\r\n }\r\n var addFn = callbacks.originalAdd || callbacks.add;\r\n addFn.call(callbacks, eventHandler)\r\n }\r\n }\r\n off(eventName, eventHandler) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n if (isFunction(eventHandler)) {\r\n callbacks.remove(eventHandler)\r\n } else {\r\n callbacks.empty()\r\n }\r\n }\r\n }\r\n dispose() {\r\n each(this._events, (eventName, event) => {\r\n event.empty()\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/guid.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"./class\";\r\nvar Guid = Class.inherit({\r\n ctor: function(value) {\r\n if (value) {\r\n value = String(value)\r\n }\r\n this._value = this._normalize(value || this._generate())\r\n },\r\n _normalize: function(value) {\r\n value = value.replace(/[^a-f0-9]/gi, \"\").toLowerCase();\r\n while (value.length < 32) {\r\n value += \"0\"\r\n }\r\n return [value.substr(0, 8), value.substr(8, 4), value.substr(12, 4), value.substr(16, 4), value.substr(20, 12)].join(\"-\")\r\n },\r\n _generate: function() {\r\n var value = \"\";\r\n for (var i = 0; i < 32; i++) {\r\n value += Math.round(15 * Math.random()).toString(16)\r\n }\r\n return value\r\n },\r\n toString: function() {\r\n return this._value\r\n },\r\n valueOf: function() {\r\n return this._value\r\n },\r\n toJSON: function() {\r\n return this._value\r\n }\r\n});\r\nexport default Guid;\r\n","/**\r\n * DevExtreme (esm/core/memorized_callbacks.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nexport default class MemorizedCallbacks {\r\n constructor() {\r\n this.memory = [];\r\n this.callbacks = Callbacks()\r\n }\r\n add(fn) {\r\n each(this.memory, (_, item) => fn.apply(fn, item));\r\n this.callbacks.add(fn)\r\n }\r\n remove(fn) {\r\n this.callbacks.remove(fn)\r\n }\r\n fire() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n this.memory.push(args);\r\n this.callbacks.fire.apply(this.callbacks, args)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/options/utils.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../devices\";\r\nimport {\r\n isEmptyObject,\r\n isFunction\r\n} from \"../utils/type\";\r\nimport {\r\n findBestMatches\r\n} from \"../utils/common\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport {\r\n compileGetter\r\n} from \"../utils/data\";\r\nvar cachedGetters = {};\r\nexport var convertRulesToOptions = rules => {\r\n var currentDevice = devices.current();\r\n return rules.reduce((options, _ref) => {\r\n var {\r\n device: device,\r\n options: ruleOptions\r\n } = _ref;\r\n var deviceFilter = device || {};\r\n var match = isFunction(deviceFilter) ? deviceFilter(currentDevice) : deviceMatch(currentDevice, deviceFilter);\r\n if (match) {\r\n extend(true, options, ruleOptions)\r\n }\r\n return options\r\n }, {})\r\n};\r\nexport var normalizeOptions = (options, value) => \"string\" !== typeof options ? options : {\r\n [options]: value\r\n};\r\nexport var deviceMatch = (device, filter) => isEmptyObject(filter) || findBestMatches(device, [filter]).length > 0;\r\nexport var getFieldName = fullName => fullName.substr(fullName.lastIndexOf(\".\") + 1);\r\nexport var getParentName = fullName => fullName.substr(0, fullName.lastIndexOf(\".\"));\r\nexport var getNestedOptionValue = function(optionsObject, name) {\r\n cachedGetters[name] = cachedGetters[name] || compileGetter(name);\r\n return cachedGetters[name](optionsObject, {\r\n functionsAsIs: true\r\n })\r\n};\r\nexport var createDefaultOptionRules = function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n return options\r\n};\r\n","/**\r\n * DevExtreme (esm/core/renderer_base.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n cleanDataRecursive,\r\n removeData,\r\n data as elementData\r\n} from \"./element_data\";\r\nimport domAdapter from \"./dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nimport {\r\n isObject,\r\n isWindow,\r\n isPlainObject,\r\n isString,\r\n isNumeric,\r\n isDefined,\r\n isFunction,\r\n type\r\n} from \"./utils/type\";\r\nimport {\r\n styleProp,\r\n normalizeStyleProp\r\n} from \"./utils/style\";\r\nimport {\r\n getOffset,\r\n getWindowByElement\r\n} from \"./utils/size\";\r\nimport {\r\n parseHTML,\r\n isTablePart\r\n} from \"./utils/html_parser\";\r\nvar window = getWindow();\r\nvar renderer;\r\nvar initRender = function(selector, context) {\r\n if (!selector) {\r\n this.length = 0;\r\n return this\r\n }\r\n if (\"string\" === typeof selector) {\r\n if (\"body\" === selector) {\r\n this[0] = context ? context.body : domAdapter.getBody();\r\n this.length = 1;\r\n return this\r\n }\r\n context = context || domAdapter.getDocument();\r\n if (\"<\" === selector[0]) {\r\n this[0] = domAdapter.createElement(selector.slice(1, -1), context);\r\n this.length = 1;\r\n return this\r\n } [].push.apply(this, domAdapter.querySelectorAll(context, selector));\r\n return this\r\n } else if (domAdapter.isNode(selector) || isWindow(selector)) {\r\n this[0] = selector;\r\n this.length = 1;\r\n return this\r\n } else if (Array.isArray(selector)) {\r\n [].push.apply(this, selector);\r\n return this\r\n }\r\n return renderer(selector.toArray ? selector.toArray() : [selector])\r\n};\r\nrenderer = function(selector, context) {\r\n return new initRender(selector, context)\r\n};\r\nrenderer.fn = {\r\n dxRenderer: true\r\n};\r\ninitRender.prototype = renderer.fn;\r\nvar repeatMethod = function(methodName, args) {\r\n for (var i = 0; i < this.length; i++) {\r\n var item = renderer(this[i]);\r\n item[methodName].apply(item, args)\r\n }\r\n return this\r\n};\r\nvar setAttributeValue = function(element, attrName, value) {\r\n if (void 0 !== value && null !== value && false !== value) {\r\n domAdapter.setAttribute(element, attrName, value)\r\n } else {\r\n domAdapter.removeAttribute(element, attrName)\r\n }\r\n};\r\ninitRender.prototype.show = function() {\r\n return this.toggle(true)\r\n};\r\ninitRender.prototype.hide = function() {\r\n return this.toggle(false)\r\n};\r\ninitRender.prototype.toggle = function(value) {\r\n if (this[0]) {\r\n this.toggleClass(\"dx-state-invisible\", !value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.attr = function(attrName, value) {\r\n if (this.length > 1 && arguments.length > 1) {\r\n return repeatMethod.call(this, \"attr\", arguments)\r\n }\r\n if (!this[0]) {\r\n if (isObject(attrName) || void 0 !== value) {\r\n return this\r\n } else {\r\n return\r\n }\r\n }\r\n if (!this[0].getAttribute) {\r\n return this.prop(attrName, value)\r\n }\r\n if (\"string\" === typeof attrName && 1 === arguments.length) {\r\n var result = this[0].getAttribute(attrName);\r\n return null == result ? void 0 : result\r\n } else if (isPlainObject(attrName)) {\r\n for (var key in attrName) {\r\n this.attr(key, attrName[key])\r\n }\r\n } else {\r\n setAttributeValue(this[0], attrName, value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.removeAttr = function(attrName) {\r\n this[0] && domAdapter.removeAttribute(this[0], attrName);\r\n return this\r\n};\r\ninitRender.prototype.prop = function(propName, value) {\r\n if (!this[0]) {\r\n return this\r\n }\r\n if (\"string\" === typeof propName && 1 === arguments.length) {\r\n return this[0][propName]\r\n } else if (isPlainObject(propName)) {\r\n for (var key in propName) {\r\n this.prop(key, propName[key])\r\n }\r\n } else {\r\n domAdapter.setProperty(this[0], propName, value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.addClass = function(className) {\r\n return this.toggleClass(className, true)\r\n};\r\ninitRender.prototype.removeClass = function(className) {\r\n return this.toggleClass(className, false)\r\n};\r\ninitRender.prototype.hasClass = function(className) {\r\n if (!this[0] || void 0 === this[0].className) {\r\n return false\r\n }\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n if (this[0].classList) {\r\n if (this[0].classList.contains(classNames[i])) {\r\n return true\r\n }\r\n } else {\r\n var _className = isString(this[0].className) ? this[0].className : domAdapter.getAttribute(this[0], \"class\");\r\n if ((_className || \"\").split(\" \").indexOf(classNames[i]) >= 0) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n};\r\ninitRender.prototype.toggleClass = function(className, value) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"toggleClass\", arguments)\r\n }\r\n if (!this[0] || !className) {\r\n return this\r\n }\r\n value = void 0 === value ? !this.hasClass(className) : value;\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n domAdapter.setClass(this[0], classNames[i], value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.html = function(value) {\r\n if (!arguments.length) {\r\n return this[0].innerHTML\r\n }\r\n this.empty();\r\n if (\"string\" === typeof value && !isTablePart(value) || \"number\" === typeof value) {\r\n this[0].innerHTML = value;\r\n return this\r\n }\r\n return this.append(parseHTML(value))\r\n};\r\nvar appendElements = function(element, nextSibling) {\r\n if (!this[0] || !element) {\r\n return\r\n }\r\n if (\"string\" === typeof element) {\r\n element = parseHTML(element)\r\n } else if (element.nodeType) {\r\n element = [element]\r\n } else if (isNumeric(element)) {\r\n element = [domAdapter.createTextNode(element)]\r\n }\r\n for (var i = 0; i < element.length; i++) {\r\n var item = element[i];\r\n var container = this[0];\r\n var wrapTR = \"TABLE\" === container.tagName && \"TR\" === item.tagName;\r\n if (wrapTR && container.tBodies && container.tBodies.length) {\r\n container = container.tBodies[0]\r\n }\r\n domAdapter.insertElement(container, item.nodeType ? item : item[0], nextSibling)\r\n }\r\n};\r\nvar setCss = function(name, value) {\r\n if (!this[0] || !this[0].style) {\r\n return\r\n }\r\n if (null === value || \"number\" === typeof value && isNaN(value)) {\r\n return\r\n }\r\n name = styleProp(name);\r\n for (var i = 0; i < this.length; i++) {\r\n this[i].style[name] = normalizeStyleProp(name, value)\r\n }\r\n};\r\ninitRender.prototype.css = function(name, value) {\r\n if (isString(name)) {\r\n if (2 === arguments.length) {\r\n setCss.call(this, name, value)\r\n } else {\r\n if (!this[0]) {\r\n return\r\n }\r\n name = styleProp(name);\r\n var result = window.getComputedStyle(this[0])[name] || this[0].style[name];\r\n return isNumeric(result) ? result.toString() : result\r\n }\r\n } else if (isPlainObject(name)) {\r\n for (var key in name) {\r\n setCss.call(this, key, name[key])\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.prepend = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.prepend(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element, this[0].firstChild]);\r\n return this\r\n};\r\ninitRender.prototype.append = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.append(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element]);\r\n return this\r\n};\r\ninitRender.prototype.prependTo = function(element) {\r\n if (this.length > 1) {\r\n for (var i = this.length - 1; i >= 0; i--) {\r\n renderer(this[i]).prependTo(element)\r\n }\r\n return this\r\n }\r\n element = renderer(element);\r\n if (element[0]) {\r\n domAdapter.insertElement(element[0], this[0], element[0].firstChild)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.appendTo = function(element) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"appendTo\", arguments)\r\n }\r\n domAdapter.insertElement(renderer(element)[0], this[0]);\r\n return this\r\n};\r\ninitRender.prototype.insertBefore = function(element) {\r\n if (element && element[0]) {\r\n domAdapter.insertElement(element[0].parentNode, this[0], element[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.insertAfter = function(element) {\r\n if (element && element[0]) {\r\n domAdapter.insertElement(element[0].parentNode, this[0], element[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.before = function(element) {\r\n if (this[0]) {\r\n domAdapter.insertElement(this[0].parentNode, element[0], this[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.after = function(element) {\r\n if (this[0]) {\r\n domAdapter.insertElement(this[0].parentNode, element[0], this[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrap = function(wrapper) {\r\n if (this[0]) {\r\n var wrap = renderer(wrapper);\r\n wrap.insertBefore(this);\r\n wrap.append(this)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrapInner = function(wrapper) {\r\n var contents = this.contents();\r\n if (contents.length) {\r\n contents.wrap(wrapper)\r\n } else {\r\n this.append(wrapper)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.replaceWith = function(element) {\r\n if (!(element && element[0])) {\r\n return\r\n }\r\n if (element.is(this)) {\r\n return this\r\n }\r\n element.insertBefore(this);\r\n this.remove();\r\n return element\r\n};\r\ninitRender.prototype.remove = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"remove\", arguments)\r\n }\r\n cleanDataRecursive(this[0], true);\r\n domAdapter.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.detach = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"detach\", arguments)\r\n }\r\n domAdapter.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.empty = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"empty\", arguments)\r\n }\r\n cleanDataRecursive(this[0]);\r\n domAdapter.setText(this[0], \"\");\r\n return this\r\n};\r\ninitRender.prototype.clone = function() {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n result.push(this[i].cloneNode(true))\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.text = function(value) {\r\n if (!arguments.length) {\r\n var result = \"\";\r\n for (var i = 0; i < this.length; i++) {\r\n result += this[i] && this[i].textContent || \"\"\r\n }\r\n return result\r\n }\r\n var text = isFunction(value) ? value() : value;\r\n cleanDataRecursive(this[0], false);\r\n domAdapter.setText(this[0], isDefined(text) ? text : \"\");\r\n return this\r\n};\r\ninitRender.prototype.val = function(value) {\r\n if (1 === arguments.length) {\r\n return this.prop(\"value\", isDefined(value) ? value : \"\")\r\n }\r\n return this.prop(\"value\")\r\n};\r\ninitRender.prototype.contents = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = [];\r\n result.push.apply(result, this[0].childNodes);\r\n return renderer(result)\r\n};\r\ninitRender.prototype.find = function(selector) {\r\n var result = renderer();\r\n if (!selector) {\r\n return result\r\n }\r\n var nodes = [];\r\n var i;\r\n if (\"string\" === typeof selector) {\r\n selector = selector.trim();\r\n for (i = 0; i < this.length; i++) {\r\n var element = this[i];\r\n if (domAdapter.isElementNode(element)) {\r\n var elementId = element.getAttribute(\"id\");\r\n var queryId = elementId || \"dx-query-children\";\r\n if (!elementId) {\r\n setAttributeValue(element, \"id\", queryId)\r\n }\r\n queryId = \"[id='\" + queryId + \"'] \";\r\n var querySelector = queryId + selector.replace(/([^\\\\])(,)/g, \"$1, \" + queryId);\r\n nodes.push.apply(nodes, domAdapter.querySelectorAll(element, querySelector));\r\n setAttributeValue(element, \"id\", elementId)\r\n } else if (domAdapter.isDocument(element) || domAdapter.isDocumentFragment(element)) {\r\n nodes.push.apply(nodes, domAdapter.querySelectorAll(element, selector))\r\n }\r\n }\r\n } else {\r\n for (i = 0; i < this.length; i++) {\r\n selector = domAdapter.isNode(selector) ? selector : selector[0];\r\n if (this[i] !== selector && this[i].contains(selector)) {\r\n nodes.push(selector)\r\n }\r\n }\r\n }\r\n return result.add(nodes)\r\n};\r\nvar isVisible = function(_, element) {\r\n var _element$host;\r\n element = null !== (_element$host = element.host) && void 0 !== _element$host ? _element$host : element;\r\n if (!element.nodeType) {\r\n return true\r\n }\r\n return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length)\r\n};\r\ninitRender.prototype.filter = function(selector) {\r\n if (!selector) {\r\n return renderer()\r\n }\r\n if (\":visible\" === selector) {\r\n return this.filter(isVisible)\r\n } else if (\":hidden\" === selector) {\r\n return this.filter((function(_, element) {\r\n return !isVisible(_, element)\r\n }))\r\n }\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var item = this[i];\r\n if (domAdapter.isElementNode(item) && \"string\" === type(selector)) {\r\n domAdapter.elementMatches(item, selector) && result.push(item)\r\n } else if (domAdapter.isNode(selector) || isWindow(selector)) {\r\n selector === item && result.push(item)\r\n } else if (isFunction(selector)) {\r\n selector.call(item, i, item) && result.push(item)\r\n } else {\r\n for (var j = 0; j < selector.length; j++) {\r\n selector[j] === item && result.push(item)\r\n }\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.not = function(selector) {\r\n var result = [];\r\n var nodes = this.filter(selector).toArray();\r\n for (var i = 0; i < this.length; i++) {\r\n if (-1 === nodes.indexOf(this[i])) {\r\n result.push(this[i])\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.is = function(selector) {\r\n return !!this.filter(selector).length\r\n};\r\ninitRender.prototype.children = function(selector) {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var nodes = this[i] ? this[i].childNodes : [];\r\n for (var j = 0; j < nodes.length; j++) {\r\n if (domAdapter.isElementNode(nodes[j])) {\r\n result.push(nodes[j])\r\n }\r\n }\r\n }\r\n result = renderer(result);\r\n return selector ? result.filter(selector) : result\r\n};\r\ninitRender.prototype.siblings = function() {\r\n var element = this[0];\r\n if (!element || !element.parentNode) {\r\n return renderer()\r\n }\r\n var result = [];\r\n var parentChildNodes = element.parentNode.childNodes || [];\r\n for (var i = 0; i < parentChildNodes.length; i++) {\r\n var node = parentChildNodes[i];\r\n if (domAdapter.isElementNode(node) && node !== element) {\r\n result.push(node)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.each = function(callback) {\r\n for (var i = 0; i < this.length; i++) {\r\n if (false === callback.call(this[i], i, this[i])) {\r\n break\r\n }\r\n }\r\n};\r\ninitRender.prototype.index = function(element) {\r\n if (!element) {\r\n return this.parent().children().index(this)\r\n }\r\n element = renderer(element);\r\n return this.toArray().indexOf(element[0])\r\n};\r\ninitRender.prototype.get = function(index) {\r\n return this[index < 0 ? this.length + index : index]\r\n};\r\ninitRender.prototype.eq = function(index) {\r\n index = index < 0 ? this.length + index : index;\r\n return renderer(this[index])\r\n};\r\ninitRender.prototype.first = function() {\r\n return this.eq(0)\r\n};\r\ninitRender.prototype.last = function() {\r\n return this.eq(-1)\r\n};\r\ninitRender.prototype.parent = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = renderer(this[0].parentNode);\r\n return !selector || result.is(selector) ? result : renderer()\r\n};\r\ninitRender.prototype.parents = function(selector) {\r\n var result = [];\r\n var parent = this.parent();\r\n while (parent && parent[0] && !domAdapter.isDocument(parent[0])) {\r\n if (domAdapter.isElementNode(parent[0])) {\r\n if (!selector || parent.is(selector)) {\r\n result.push(parent.get(0))\r\n }\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.closest = function(selector) {\r\n if (this.is(selector)) {\r\n return this\r\n }\r\n var parent = this.parent();\r\n while (parent && parent.length) {\r\n if (parent.is(selector)) {\r\n return parent\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.next = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var next = renderer(this[0].nextSibling);\r\n if (!arguments.length) {\r\n return next\r\n }\r\n while (next && next.length) {\r\n if (next.is(selector)) {\r\n return next\r\n }\r\n next = next.next()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.prev = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n return renderer(this[0].previousSibling)\r\n};\r\ninitRender.prototype.add = function(selector) {\r\n var targets = renderer(selector);\r\n var result = this.toArray();\r\n for (var i = 0; i < targets.length; i++) {\r\n var target = targets[i];\r\n if (-1 === result.indexOf(target)) {\r\n result.push(target)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\nvar emptyArray = [];\r\ninitRender.prototype.splice = function() {\r\n return renderer(emptyArray.splice.apply(this, arguments))\r\n};\r\ninitRender.prototype.slice = function() {\r\n return renderer(emptyArray.slice.apply(this, arguments))\r\n};\r\ninitRender.prototype.toArray = function() {\r\n return emptyArray.slice.call(this)\r\n};\r\ninitRender.prototype.offset = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n return getOffset(this[0])\r\n};\r\ninitRender.prototype.offsetParent = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var offsetParent = renderer(this[0].offsetParent);\r\n while (offsetParent[0] && \"static\" === offsetParent.css(\"position\")) {\r\n offsetParent = renderer(offsetParent[0].offsetParent)\r\n }\r\n offsetParent = offsetParent[0] ? offsetParent : renderer(domAdapter.getDocumentElement());\r\n return offsetParent\r\n};\r\ninitRender.prototype.position = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n var offset;\r\n var marginTop = parseFloat(this.css(\"marginTop\"));\r\n var marginLeft = parseFloat(this.css(\"marginLeft\"));\r\n if (\"fixed\" === this.css(\"position\")) {\r\n offset = this[0].getBoundingClientRect();\r\n return {\r\n top: offset.top - marginTop,\r\n left: offset.left - marginLeft\r\n }\r\n }\r\n offset = this.offset();\r\n var offsetParent = this.offsetParent();\r\n var parentOffset = {\r\n top: 0,\r\n left: 0\r\n };\r\n if (\"HTML\" !== offsetParent[0].nodeName) {\r\n parentOffset = offsetParent.offset()\r\n }\r\n parentOffset = {\r\n top: parentOffset.top + parseFloat(offsetParent.css(\"borderTopWidth\")),\r\n left: parentOffset.left + parseFloat(offsetParent.css(\"borderLeftWidth\"))\r\n };\r\n return {\r\n top: offset.top - parentOffset.top - marginTop,\r\n left: offset.left - parentOffset.left - marginLeft\r\n }\r\n};\r\n[{\r\n name: \"scrollLeft\",\r\n offsetProp: \"pageXOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(value, win.pageYOffset)\r\n }\r\n}, {\r\n name: \"scrollTop\",\r\n offsetProp: \"pageYOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(win.pageXOffset, value)\r\n }\r\n}].forEach((function(directionStrategy) {\r\n var propName = directionStrategy.name;\r\n initRender.prototype[propName] = function(value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n var window = getWindowByElement(this[0]);\r\n if (void 0 === value) {\r\n return window ? window[directionStrategy.offsetProp] : this[0][propName]\r\n }\r\n if (window) {\r\n directionStrategy.scrollWindow(window, value)\r\n } else {\r\n this[0][propName] = value\r\n }\r\n return this\r\n }\r\n}));\r\ninitRender.prototype.data = function(key, value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (arguments.length < 2) {\r\n return elementData.call(renderer, this[0], key)\r\n }\r\n elementData.call(renderer, this[0], key, value);\r\n return this\r\n};\r\ninitRender.prototype.removeData = function(key) {\r\n this[0] && removeData(this[0], key);\r\n return this\r\n};\r\nvar rendererWrapper = function() {\r\n return renderer.apply(this, arguments)\r\n};\r\nObject.defineProperty(rendererWrapper, \"fn\", {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return renderer.fn\r\n },\r\n set: function(value) {\r\n renderer.fn = value\r\n }\r\n});\r\nexport default {\r\n set: function(strategy) {\r\n renderer = strategy\r\n },\r\n get: function() {\r\n return rendererWrapper\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/renderer.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport rendererBase from \"./renderer_base\";\r\nexport default rendererBase.get();\r\n","/**\r\n * DevExtreme (esm/core/resize_observer.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"./utils/window\";\r\nvar window = getWindow();\r\nvar ResizeObserverMock = {\r\n observe: noop,\r\n unobserve: noop,\r\n disconnect: noop\r\n};\r\nclass ResizeObserverSingleton {\r\n constructor() {\r\n if (!hasWindow() || !window.ResizeObserver) {\r\n return ResizeObserverMock\r\n }\r\n this._callbacksMap = new Map;\r\n this._observer = new window.ResizeObserver(entries => {\r\n entries.forEach(entry => {\r\n var _this$_callbacksMap$g;\r\n null === (_this$_callbacksMap$g = this._callbacksMap.get(entry.target)) || void 0 === _this$_callbacksMap$g ? void 0 : _this$_callbacksMap$g(entry)\r\n })\r\n })\r\n }\r\n observe(element, callback) {\r\n this._callbacksMap.set(element, callback);\r\n this._observer.observe(element)\r\n }\r\n unobserve(element) {\r\n this._callbacksMap.delete(element);\r\n this._observer.unobserve(element)\r\n }\r\n disconnect() {\r\n this._callbacksMap.clear();\r\n this._observer.disconnect()\r\n }\r\n}\r\nvar resizeObserverSingleton = new ResizeObserverSingleton;\r\nexport default resizeObserverSingleton;\r\n","/**\r\n * DevExtreme (esm/core/templates/bindable_template.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../../events/remove\";\r\nimport {\r\n isPrimitive\r\n} from \"../utils/type\";\r\nvar watchChanges = function(rawData, watchMethod, fields, fieldsMap, callback) {\r\n var fieldsDispose;\r\n var globalDispose = ((data, watchMethod, callback) => watchMethod(() => data, callback))(rawData, watchMethod, (function(dataWithRawFields) {\r\n fieldsDispose && fieldsDispose();\r\n if (isPrimitive(dataWithRawFields)) {\r\n callback(dataWithRawFields);\r\n return\r\n }\r\n fieldsDispose = function(data, watchMethod, fields, fieldsMap, callback) {\r\n var resolvedData = {};\r\n var missedFields = fields.slice();\r\n var watchHandlers = fields.map((function(name) {\r\n var fieldGetter = fieldsMap[name];\r\n return watchMethod(fieldGetter ? () => fieldGetter(data) : () => data[name], (function(value) {\r\n resolvedData[name] = value;\r\n if (missedFields.length) {\r\n var index = missedFields.indexOf(name);\r\n if (index >= 0) {\r\n missedFields.splice(index, 1)\r\n }\r\n }\r\n if (!missedFields.length) {\r\n callback(resolvedData)\r\n }\r\n }))\r\n }));\r\n return function() {\r\n watchHandlers.forEach(dispose => dispose())\r\n }\r\n }(dataWithRawFields, watchMethod, fields, fieldsMap, callback)\r\n }));\r\n return function() {\r\n fieldsDispose && fieldsDispose();\r\n globalDispose && globalDispose()\r\n }\r\n};\r\nexport class BindableTemplate extends TemplateBase {\r\n constructor(render, fields, watchMethod, fieldsMap) {\r\n super();\r\n this._render = render;\r\n this._fields = fields;\r\n this._fieldsMap = fieldsMap || {};\r\n this._watchMethod = watchMethod\r\n }\r\n _renderCore(options) {\r\n var $container = $(options.container);\r\n var dispose = watchChanges(options.model, this._watchMethod, this._fields, this._fieldsMap, data => {\r\n $container.empty();\r\n this._render($container, data, options.model)\r\n });\r\n eventsEngine.on($container, removeEvent, dispose);\r\n return $container.contents()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/child_default_template.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nexport class ChildDefaultTemplate extends TemplateBase {\r\n constructor(name) {\r\n super();\r\n this.name = name\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/empty_template.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nexport class EmptyTemplate extends TemplateBase {\r\n _renderCore() {\r\n return $()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/function_template.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"../utils/dom\";\r\nexport class FunctionTemplate extends TemplateBase {\r\n constructor(render) {\r\n super();\r\n this._render = render\r\n }\r\n _renderCore(options) {\r\n return normalizeTemplateElement(this._render(options))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/template_base.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport domAdapter from \"../dom_adapter\";\r\nimport Callbacks from \"../utils/callbacks\";\r\nimport {\r\n contains\r\n} from \"../utils/dom\";\r\nimport {\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport errors from \"../errors\";\r\nexport var renderedCallbacks = Callbacks({\r\n syncStrategy: true\r\n});\r\nexport class TemplateBase {\r\n render(options) {\r\n options = options || {};\r\n var onRendered = options.onRendered;\r\n delete options.onRendered;\r\n var $result;\r\n if (options.renovated && options.transclude && this._element) {\r\n $result = $(\"
\").append(this._element).contents()\r\n } else {\r\n $result = this._renderCore(options)\r\n }\r\n this._ensureResultInContainer($result, options.container);\r\n renderedCallbacks.fire($result, options.container);\r\n onRendered && onRendered();\r\n return $result\r\n }\r\n _ensureResultInContainer($result, container) {\r\n if (!container) {\r\n return\r\n }\r\n var $container = $(container);\r\n var resultInContainer = contains($container.get(0), $result.get(0));\r\n $container.append($result);\r\n if (resultInContainer) {\r\n return\r\n }\r\n var resultInBody = domAdapter.getBody().contains($container.get(0));\r\n if (!resultInBody) {\r\n return\r\n }\r\n triggerShownEvent($result)\r\n }\r\n _renderCore() {\r\n throw errors.Error(\"E0001\")\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/http_request.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nvar window = getWindow();\r\nimport injector from \"./utils/dependency_injector\";\r\nvar nativeXMLHttpRequest = {\r\n getXhr: function() {\r\n return new window.XMLHttpRequest\r\n }\r\n};\r\nexport default injector(nativeXMLHttpRequest);\r\n","/**\r\n * DevExtreme (esm/core/utils/ajax.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred\r\n} from \"./deferred\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport httpRequest from \"../../core/http_request\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n extendFromObject\r\n} from \"./extend\";\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport injector from \"./dependency_injector\";\r\nvar SUCCESS = \"success\";\r\nvar ERROR = \"error\";\r\nvar TIMEOUT = \"timeout\";\r\nvar NO_CONTENT = \"nocontent\";\r\nvar PARSER_ERROR = \"parsererror\";\r\nvar isStatusSuccess = function(status) {\r\n return 200 <= status && status < 300\r\n};\r\nvar hasContent = function(status) {\r\n return 204 !== status\r\n};\r\nvar paramsConvert = function(params) {\r\n var result = [];\r\n for (var name in params) {\r\n var value = params[name];\r\n if (void 0 === value) {\r\n continue\r\n }\r\n if (null === value) {\r\n value = \"\"\r\n }\r\n if (\"function\" === typeof value) {\r\n value = value()\r\n }\r\n result.push(encodeURIComponent(name) + \"=\" + encodeURIComponent(value))\r\n }\r\n return result.join(\"&\")\r\n};\r\nvar createScript = function(options) {\r\n var script = domAdapter.createElement(\"script\");\r\n for (var name in options) {\r\n script[name] = options[name]\r\n }\r\n return script\r\n};\r\nvar removeScript = function(scriptNode) {\r\n scriptNode.parentNode.removeChild(scriptNode)\r\n};\r\nvar appendToHead = function(element) {\r\n return domAdapter.getHead().appendChild(element)\r\n};\r\nvar evalScript = function(code) {\r\n var script = createScript({\r\n text: code\r\n });\r\n appendToHead(script);\r\n removeScript(script)\r\n};\r\nvar evalCrossDomainScript = function(url) {\r\n var script = createScript({\r\n src: url\r\n });\r\n return new Promise((function(resolve, reject) {\r\n var events = {\r\n load: resolve,\r\n error: reject\r\n };\r\n var loadHandler = function(e) {\r\n events[e.type]();\r\n removeScript(script)\r\n };\r\n for (var event in events) {\r\n domAdapter.listen(script, event, loadHandler)\r\n }\r\n appendToHead(script)\r\n }))\r\n};\r\nvar getAcceptHeader = function(options) {\r\n var dataType = options.dataType || \"*\";\r\n var scriptAccept = \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\";\r\n var accepts = {\r\n \"*\": \"*/*\",\r\n text: \"text/plain\",\r\n html: \"text/html\",\r\n xml: \"application/xml, text/xml\",\r\n json: \"application/json, text/javascript\",\r\n jsonp: scriptAccept,\r\n script: scriptAccept\r\n };\r\n extendFromObject(accepts, options.accepts, true);\r\n return accepts[dataType] ? accepts[dataType] + (\"*\" !== dataType ? \", */*; q=0.01\" : \"\") : accepts[\"*\"]\r\n};\r\nvar getContentTypeHeader = function(options) {\r\n var defaultContentType;\r\n if (options.data && !options.upload && \"GET\" !== getMethod(options)) {\r\n defaultContentType = \"application/x-www-form-urlencoded;charset=utf-8\"\r\n }\r\n return options.contentType || defaultContentType\r\n};\r\nvar getDataFromResponse = function(xhr) {\r\n return xhr.responseType && \"text\" !== xhr.responseType || \"string\" !== typeof xhr.responseText ? xhr.response : xhr.responseText\r\n};\r\nvar postProcess = function(deferred, xhr, dataType) {\r\n var data = getDataFromResponse(xhr);\r\n switch (dataType) {\r\n case \"jsonp\":\r\n evalScript(data);\r\n break;\r\n case \"script\":\r\n evalScript(data);\r\n deferred.resolve(data, SUCCESS, xhr);\r\n break;\r\n case \"json\":\r\n try {\r\n deferred.resolve(JSON.parse(data), SUCCESS, xhr)\r\n } catch (e) {\r\n deferred.reject(xhr, PARSER_ERROR, e)\r\n }\r\n break;\r\n default:\r\n deferred.resolve(data, SUCCESS, xhr)\r\n }\r\n};\r\nvar isCrossDomain = function(url) {\r\n if (!hasWindow()) {\r\n return true\r\n }\r\n var crossDomain = false;\r\n var originAnchor = domAdapter.createElement(\"a\");\r\n var urlAnchor = domAdapter.createElement(\"a\");\r\n originAnchor.href = window.location.href;\r\n try {\r\n urlAnchor.href = url;\r\n urlAnchor.href = urlAnchor.href;\r\n crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !== urlAnchor.protocol + \"//\" + urlAnchor.host\r\n } catch (e) {\r\n crossDomain = true\r\n }\r\n return crossDomain\r\n};\r\nvar setHttpTimeout = function(timeout, xhr) {\r\n return timeout && setTimeout((function() {\r\n xhr.customStatus = TIMEOUT;\r\n xhr.abort()\r\n }), timeout)\r\n};\r\nvar getJsonpOptions = function(options) {\r\n if (\"jsonp\" === options.dataType) {\r\n var random = Math.random().toString().replace(/\\D/g, \"\");\r\n var callbackName = options.jsonpCallback || \"dxCallback\" + Date.now() + \"_\" + random;\r\n var callbackParameter = options.jsonp || \"callback\";\r\n options.data = options.data || {};\r\n options.data[callbackParameter] = callbackName;\r\n return callbackName\r\n }\r\n};\r\nvar getRequestOptions = function(options, headers) {\r\n var params = options.data;\r\n var paramsAlreadyString = \"string\" === typeof params;\r\n var url = options.url || window.location.href;\r\n if (!paramsAlreadyString && !options.cache) {\r\n params = params || {};\r\n params._ = Date.now()\r\n }\r\n if (params && !options.upload) {\r\n if (!paramsAlreadyString) {\r\n params = paramsConvert(params)\r\n }\r\n if (\"GET\" === getMethod(options)) {\r\n if (\"\" !== params) {\r\n url += (url.indexOf(\"?\") > -1 ? \"&\" : \"?\") + params\r\n }\r\n params = null\r\n } else if (headers[\"Content-Type\"] && headers[\"Content-Type\"].indexOf(\"application/x-www-form-urlencoded\") > -1) {\r\n params = params.replace(/%20/g, \"+\")\r\n }\r\n }\r\n return {\r\n url: url,\r\n parameters: params\r\n }\r\n};\r\n\r\nfunction getMethod(options) {\r\n return (options.method || \"GET\").toUpperCase()\r\n}\r\nvar getRequestHeaders = function(options) {\r\n var headers = options.headers || {};\r\n headers[\"Content-Type\"] = headers[\"Content-Type\"] || getContentTypeHeader(options);\r\n headers.Accept = headers.Accept || getAcceptHeader(options);\r\n if (!options.crossDomain && !headers[\"X-Requested-With\"]) {\r\n headers[\"X-Requested-With\"] = \"XMLHttpRequest\"\r\n }\r\n return headers\r\n};\r\nvar sendRequest = function(options) {\r\n var xhr = httpRequest.getXhr();\r\n var d = new Deferred;\r\n var result = d.promise();\r\n var async = isDefined(options.async) ? options.async : true;\r\n var dataType = options.dataType;\r\n var timeout = options.timeout || 0;\r\n var timeoutId;\r\n options.crossDomain = isCrossDomain(options.url);\r\n var needScriptEvaluation = \"jsonp\" === dataType || \"script\" === dataType;\r\n if (void 0 === options.cache) {\r\n options.cache = !needScriptEvaluation\r\n }\r\n var callbackName = getJsonpOptions(options);\r\n var headers = getRequestHeaders(options);\r\n var requestOptions = getRequestOptions(options, headers);\r\n var url = requestOptions.url;\r\n var parameters = requestOptions.parameters;\r\n if (callbackName) {\r\n window[callbackName] = function(data) {\r\n d.resolve(data, SUCCESS, xhr)\r\n }\r\n }\r\n if (options.crossDomain && needScriptEvaluation) {\r\n evalCrossDomainScript(url).then((function() {\r\n if (\"jsonp\" === dataType) {\r\n return\r\n }\r\n d.resolve(null, SUCCESS, xhr)\r\n }), (function() {\r\n d.reject(xhr, ERROR)\r\n }));\r\n return result\r\n }\r\n if (options.crossDomain && !(\"withCredentials\" in xhr)) {\r\n d.reject(xhr, ERROR);\r\n return result\r\n }\r\n xhr.open(getMethod(options), url, async, options.username, options.password);\r\n if (async) {\r\n xhr.timeout = timeout;\r\n timeoutId = setHttpTimeout(timeout, xhr)\r\n }\r\n xhr.onreadystatechange = function(e) {\r\n if (4 === xhr.readyState) {\r\n clearTimeout(timeoutId);\r\n if (isStatusSuccess(xhr.status)) {\r\n if (hasContent(xhr.status)) {\r\n postProcess(d, xhr, dataType)\r\n } else {\r\n d.resolve(null, NO_CONTENT, xhr)\r\n }\r\n } else {\r\n d.reject(xhr, xhr.customStatus || ERROR)\r\n }\r\n }\r\n };\r\n if (options.upload) {\r\n xhr.upload.onprogress = options.upload.onprogress;\r\n xhr.upload.onloadstart = options.upload.onloadstart;\r\n xhr.upload.onabort = options.upload.onabort\r\n }\r\n if (options.xhrFields) {\r\n for (var field in options.xhrFields) {\r\n xhr[field] = options.xhrFields[field]\r\n }\r\n }\r\n if (\"arraybuffer\" === options.responseType) {\r\n xhr.responseType = options.responseType\r\n }\r\n for (var name in headers) {\r\n if (Object.prototype.hasOwnProperty.call(headers, name) && isDefined(headers[name])) {\r\n xhr.setRequestHeader(name, headers[name])\r\n }\r\n }\r\n if (options.beforeSend) {\r\n options.beforeSend(xhr)\r\n }\r\n xhr.send(parameters);\r\n result.abort = function() {\r\n xhr.abort()\r\n };\r\n return result\r\n};\r\nexport default injector({\r\n sendRequest: sendRequest\r\n});\r\n","/**\r\n * DevExtreme (esm/core/utils/array.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n orderEach\r\n} from \"./object\";\r\nimport config from \"../config\";\r\n\r\nfunction createOccurrenceMap(array) {\r\n return array.reduce((map, value) => {\r\n var _map$value;\r\n map[value] = (null !== (_map$value = map[value]) && void 0 !== _map$value ? _map$value : 0) + 1;\r\n return map\r\n }, {})\r\n}\r\nexport var wrapToArray = function(item) {\r\n return Array.isArray(item) ? item : [item]\r\n};\r\nexport var getUniqueValues = function(values) {\r\n return [...new Set(values)]\r\n};\r\nexport var getIntersection = function(firstArray, secondArray) {\r\n var secondArrayMap = createOccurrenceMap(secondArray);\r\n return firstArray.filter(value => secondArrayMap[value]--)\r\n};\r\nexport var removeDuplicates = function() {\r\n var from = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n var toRemove = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];\r\n var toRemoveMap = createOccurrenceMap(toRemove);\r\n return from.filter(value => !toRemoveMap[value]--)\r\n};\r\nexport var normalizeIndexes = function(items, indexPropName, currentItem, needIndexCallback) {\r\n var indexedItems = {};\r\n var {\r\n useLegacyVisibleIndex: useLegacyVisibleIndex\r\n } = config();\r\n var currentIndex = 0;\r\n var shouldUpdateIndex = item => !isDefined(item[indexPropName]) && (!needIndexCallback || needIndexCallback(item));\r\n items.forEach(item => {\r\n var index = item[indexPropName];\r\n if (index >= 0) {\r\n indexedItems[index] = indexedItems[index] || [];\r\n if (item === currentItem) {\r\n indexedItems[index].unshift(item)\r\n } else {\r\n indexedItems[index].push(item)\r\n }\r\n } else {\r\n item[indexPropName] = void 0\r\n }\r\n });\r\n if (!useLegacyVisibleIndex) {\r\n items.forEach(item => {\r\n if (shouldUpdateIndex(item)) {\r\n while (indexedItems[currentIndex]) {\r\n currentIndex++\r\n }\r\n indexedItems[currentIndex] = [item];\r\n currentIndex++\r\n }\r\n })\r\n }\r\n currentIndex = 0;\r\n orderEach(indexedItems, (function(index, items) {\r\n items.forEach(item => {\r\n if (index >= 0) {\r\n item[indexPropName] = currentIndex++\r\n }\r\n })\r\n }));\r\n if (useLegacyVisibleIndex) {\r\n items.forEach(item => {\r\n if (shouldUpdateIndex(item)) {\r\n item[indexPropName] = currentIndex++\r\n }\r\n })\r\n }\r\n};\r\nexport var groupBy = (array, getGroupName) => array.reduce((groupedResult, item) => {\r\n var _groupedResult$groupN;\r\n var groupName = getGroupName(item);\r\n groupedResult[groupName] = null !== (_groupedResult$groupN = groupedResult[groupName]) && void 0 !== _groupedResult$groupN ? _groupedResult$groupN : [];\r\n groupedResult[groupName].push(item);\r\n return groupedResult\r\n}, {});\r\n","/**\r\n * DevExtreme (esm/core/utils/array_compare.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject\r\n} from \"./type\";\r\nvar getKeyWrapper = function(item, getKey) {\r\n var key = getKey(item);\r\n if (isObject(key)) {\r\n try {\r\n return JSON.stringify(key)\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n return key\r\n};\r\nvar getSameNewByOld = function(oldItem, newItems, newIndexByKey, getKey) {\r\n var key = getKeyWrapper(oldItem, getKey);\r\n return newItems[newIndexByKey[key]]\r\n};\r\nexport var isKeysEqual = function(oldKeys, newKeys) {\r\n if (oldKeys.length !== newKeys.length) {\r\n return false\r\n }\r\n for (var i = 0; i < newKeys.length; i++) {\r\n if (oldKeys[i] !== newKeys[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nexport var findChanges = function(oldItems, newItems, getKey, isItemEquals) {\r\n var oldIndexByKey = {};\r\n var newIndexByKey = {};\r\n var addedCount = 0;\r\n var removeCount = 0;\r\n var result = [];\r\n oldItems.forEach((function(item, index) {\r\n var key = getKeyWrapper(item, getKey);\r\n oldIndexByKey[key] = index\r\n }));\r\n newItems.forEach((function(item, index) {\r\n var key = getKeyWrapper(item, getKey);\r\n newIndexByKey[key] = index\r\n }));\r\n var itemCount = Math.max(oldItems.length, newItems.length);\r\n for (var index = 0; index < itemCount + addedCount; index++) {\r\n var newItem = newItems[index];\r\n var oldNextIndex = index - addedCount + removeCount;\r\n var nextOldItem = oldItems[oldNextIndex];\r\n var isRemoved = !newItem || nextOldItem && !getSameNewByOld(nextOldItem, newItems, newIndexByKey, getKey);\r\n if (isRemoved) {\r\n if (nextOldItem) {\r\n result.push({\r\n type: \"remove\",\r\n key: getKey(nextOldItem),\r\n index: index,\r\n oldItem: nextOldItem\r\n });\r\n removeCount++;\r\n index--\r\n }\r\n } else {\r\n var key = getKeyWrapper(newItem, getKey);\r\n var oldIndex = oldIndexByKey[key];\r\n var oldItem = oldItems[oldIndex];\r\n if (!oldItem) {\r\n addedCount++;\r\n result.push({\r\n type: \"insert\",\r\n data: newItem,\r\n index: index\r\n })\r\n } else if (oldIndex === oldNextIndex) {\r\n if (!isItemEquals(oldItem, newItem)) {\r\n result.push({\r\n type: \"update\",\r\n data: newItem,\r\n key: getKey(newItem),\r\n index: index,\r\n oldItem: oldItem\r\n })\r\n }\r\n } else {\r\n return\r\n }\r\n }\r\n }\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/browser.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n getNavigator\r\n} from \"./window\";\r\nvar navigator = getNavigator();\r\nvar webkitRegExp = /(webkit)[ /]([\\w.]+)/;\r\nvar mozillaRegExp = /(mozilla)(?:.*? rv:([\\w.]+))/;\r\nvar browserFromUA = ua => {\r\n ua = ua.toLowerCase();\r\n var result = {};\r\n var matches = webkitRegExp.exec(ua) || ua.indexOf(\"compatible\") < 0 && mozillaRegExp.exec(ua) || [];\r\n var browserName = matches[1];\r\n var browserVersion = matches[2];\r\n if (\"webkit\" === browserName) {\r\n result.webkit = true;\r\n if (ua.indexOf(\"chrome\") >= 0 || ua.indexOf(\"crios\") >= 0) {\r\n browserName = \"chrome\";\r\n browserVersion = /(?:chrome|crios)\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else if (ua.indexOf(\"fxios\") >= 0) {\r\n browserName = \"mozilla\";\r\n browserVersion = /fxios\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else if (ua.indexOf(\"safari\") >= 0 && /version|phantomjs/.test(ua)) {\r\n browserName = \"safari\";\r\n browserVersion = /(?:version|phantomjs)\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n browserName = \"unknown\";\r\n browserVersion = /applewebkit\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n }\r\n }\r\n if (browserName) {\r\n result[browserName] = true;\r\n result.version = browserVersion\r\n }\r\n return result\r\n};\r\nexport default extend({\r\n _fromUA: browserFromUA\r\n}, browserFromUA(navigator.userAgent));\r\n","/**\r\n * DevExtreme (esm/core/utils/call_once.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar callOnce = function(handler) {\r\n var result;\r\n var _wrappedHandler = function() {\r\n result = handler.apply(this, arguments);\r\n _wrappedHandler = function() {\r\n return result\r\n };\r\n return result\r\n };\r\n return function() {\r\n return _wrappedHandler.apply(this, arguments)\r\n }\r\n};\r\nexport default callOnce;\r\n","/**\r\n * DevExtreme (esm/core/utils/callbacks.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar Callback = function(options) {\r\n this._options = options || {};\r\n this._list = [];\r\n this._queue = [];\r\n this._firing = false;\r\n this._fired = false;\r\n this._firingIndexes = []\r\n};\r\nCallback.prototype._fireCore = function(context, args) {\r\n var firingIndexes = this._firingIndexes;\r\n var list = this._list;\r\n var stopOnFalse = this._options.stopOnFalse;\r\n var step = firingIndexes.length;\r\n for (firingIndexes[step] = 0; firingIndexes[step] < list.length; firingIndexes[step]++) {\r\n var result = list[firingIndexes[step]].apply(context, args);\r\n if (false === result && stopOnFalse) {\r\n break\r\n }\r\n }\r\n firingIndexes.pop()\r\n};\r\nCallback.prototype.add = function(fn) {\r\n if (\"function\" === typeof fn && (!this._options.unique || !this.has(fn))) {\r\n this._list.push(fn)\r\n }\r\n return this\r\n};\r\nCallback.prototype.remove = function(fn) {\r\n var list = this._list;\r\n var firingIndexes = this._firingIndexes;\r\n var index = list.indexOf(fn);\r\n if (index > -1) {\r\n list.splice(index, 1);\r\n if (this._firing && firingIndexes.length) {\r\n for (var step = 0; step < firingIndexes.length; step++) {\r\n if (index <= firingIndexes[step]) {\r\n firingIndexes[step]--\r\n }\r\n }\r\n }\r\n }\r\n return this\r\n};\r\nCallback.prototype.has = function(fn) {\r\n var list = this._list;\r\n return fn ? list.indexOf(fn) > -1 : !!list.length\r\n};\r\nCallback.prototype.empty = function(fn) {\r\n this._list = [];\r\n return this\r\n};\r\nCallback.prototype.fireWith = function(context, args) {\r\n var queue = this._queue;\r\n args = args || [];\r\n args = args.slice ? args.slice() : args;\r\n if (this._options.syncStrategy) {\r\n this._firing = true;\r\n this._fireCore(context, args)\r\n } else {\r\n queue.push([context, args]);\r\n if (this._firing) {\r\n return\r\n }\r\n this._firing = true;\r\n while (queue.length) {\r\n var memory = queue.shift();\r\n this._fireCore(memory[0], memory[1])\r\n }\r\n }\r\n this._firing = false;\r\n this._fired = true;\r\n return this\r\n};\r\nCallback.prototype.fire = function() {\r\n this.fireWith(this, arguments)\r\n};\r\nCallback.prototype.fired = function() {\r\n return this._fired\r\n};\r\nvar Callbacks = function(options) {\r\n return new Callback(options)\r\n};\r\nexport default Callbacks;\r\n","/**\r\n * DevExtreme (esm/core/utils/common.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../config\";\r\nimport Guid from \"../guid\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../utils/deferred\";\r\nimport {\r\n toComparable\r\n} from \"./data\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isString,\r\n isObject,\r\n type\r\n} from \"./type\";\r\nexport var ensureDefined = function(value, defaultValue) {\r\n return isDefined(value) ? value : defaultValue\r\n};\r\nexport var executeAsync = function(action, context) {\r\n var deferred = new Deferred;\r\n var normalizedContext = context || this;\r\n var task = {\r\n promise: deferred.promise(),\r\n abort: function() {\r\n clearTimeout(timerId);\r\n deferred.rejectWith(normalizedContext)\r\n }\r\n };\r\n var callback = function() {\r\n var result = action.call(normalizedContext);\r\n if (result && result.done && isFunction(result.done)) {\r\n result.done((function() {\r\n deferred.resolveWith(normalizedContext)\r\n }))\r\n } else {\r\n deferred.resolveWith(normalizedContext)\r\n }\r\n };\r\n var timerId = (arguments[2] || setTimeout)(callback, \"number\" === typeof context ? context : 0);\r\n return task\r\n};\r\nvar delayedFuncs = [];\r\nvar delayedNames = [];\r\nvar delayedDeferreds = [];\r\nvar executingName;\r\nvar deferExecute = function(name, func, deferred) {\r\n if (executingName && executingName !== name) {\r\n delayedFuncs.push(func);\r\n delayedNames.push(name);\r\n deferred = deferred || new Deferred;\r\n delayedDeferreds.push(deferred);\r\n return deferred\r\n } else {\r\n var oldExecutingName = executingName;\r\n var currentDelayedCount = delayedDeferreds.length;\r\n executingName = name;\r\n var result = func();\r\n if (!result) {\r\n if (delayedDeferreds.length > currentDelayedCount) {\r\n result = when.apply(this, delayedDeferreds.slice(currentDelayedCount))\r\n } else if (deferred) {\r\n deferred.resolve()\r\n }\r\n }\r\n executingName = oldExecutingName;\r\n if (deferred && result && result.done) {\r\n result.done(deferred.resolve).fail(deferred.reject)\r\n }\r\n if (!executingName && delayedFuncs.length) {\r\n (\"render\" === delayedNames.shift() ? deferRender : deferUpdate)(delayedFuncs.shift(), delayedDeferreds.shift())\r\n }\r\n return result || when()\r\n }\r\n};\r\nexport var deferRender = function(func, deferred) {\r\n return deferExecute(\"render\", func, deferred)\r\n};\r\nexport var deferUpdate = function(func, deferred) {\r\n return deferExecute(\"update\", func, deferred)\r\n};\r\nexport var deferRenderer = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"render\", (function() {\r\n return func.call(that)\r\n }))\r\n }\r\n};\r\nexport var deferUpdater = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"update\", (function() {\r\n return func.call(that)\r\n }))\r\n }\r\n};\r\nexport var findBestMatches = function(targetFilter, items, mapFn) {\r\n var bestMatches = [];\r\n var maxMatchCount = 0;\r\n each(items, (index, itemSrc) => {\r\n var matchCount = 0;\r\n var item = mapFn ? mapFn(itemSrc) : itemSrc;\r\n each(targetFilter, (paramName, targetValue) => {\r\n var value = item[paramName];\r\n if (void 0 === value) {\r\n return\r\n }\r\n if (match(value, targetValue)) {\r\n matchCount++;\r\n return\r\n }\r\n matchCount = -1;\r\n return false\r\n });\r\n if (matchCount < maxMatchCount) {\r\n return\r\n }\r\n if (matchCount > maxMatchCount) {\r\n bestMatches.length = 0;\r\n maxMatchCount = matchCount\r\n }\r\n bestMatches.push(itemSrc)\r\n });\r\n return bestMatches\r\n};\r\nvar match = function(value, targetValue) {\r\n if (Array.isArray(value) && Array.isArray(targetValue)) {\r\n var mismatch = false;\r\n each(value, (index, valueItem) => {\r\n if (valueItem !== targetValue[index]) {\r\n mismatch = true;\r\n return false\r\n }\r\n });\r\n if (mismatch) {\r\n return false\r\n }\r\n return true\r\n }\r\n if (value === targetValue) {\r\n return true\r\n }\r\n return false\r\n};\r\nexport var splitPair = function(raw) {\r\n var _raw$x, _raw$y;\r\n switch (type(raw)) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 2);\r\n case \"object\":\r\n return [null !== (_raw$x = raw.x) && void 0 !== _raw$x ? _raw$x : raw.h, null !== (_raw$y = raw.y) && void 0 !== _raw$y ? _raw$y : raw.v];\r\n case \"number\":\r\n return [raw];\r\n case \"array\":\r\n return raw;\r\n default:\r\n return null\r\n }\r\n};\r\nexport var normalizeKey = function(id) {\r\n var key = isString(id) ? id : id.toString();\r\n var arr = key.match(/[^a-zA-Z0-9_]/g);\r\n arr && each(arr, (_, sign) => {\r\n key = key.replace(sign, \"__\" + sign.charCodeAt() + \"__\")\r\n });\r\n return key\r\n};\r\nexport var denormalizeKey = function(key) {\r\n var arr = key.match(/__\\d+__/g);\r\n arr && arr.forEach(char => {\r\n var charCode = parseInt(char.replace(\"__\", \"\"));\r\n key = key.replace(char, String.fromCharCode(charCode))\r\n });\r\n return key\r\n};\r\nexport var pairToObject = function(raw, preventRound) {\r\n var pair = splitPair(raw);\r\n var h = preventRound ? parseFloat(pair && pair[0]) : parseInt(pair && pair[0], 10);\r\n var v = preventRound ? parseFloat(pair && pair[1]) : parseInt(pair && pair[1], 10);\r\n if (!isFinite(h)) {\r\n h = 0\r\n }\r\n if (!isFinite(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nexport var getKeyHash = function(key) {\r\n if (key instanceof Guid) {\r\n return key.toString()\r\n } else if (isObject(key) || Array.isArray(key)) {\r\n try {\r\n var keyHash = JSON.stringify(key);\r\n return \"{}\" === keyHash ? key : keyHash\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n return key\r\n};\r\nexport var escapeRegExp = function(string) {\r\n return string.replace(/[[\\]{}\\-()*+?.\\\\^$|\\s]/g, \"\\\\$&\")\r\n};\r\nexport var applyServerDecimalSeparator = function(value) {\r\n var separator = config().serverDecimalSeparator;\r\n if (isDefined(value)) {\r\n value = value.toString().replace(\".\", separator)\r\n }\r\n return value\r\n};\r\nexport var noop = function() {};\r\nexport var asyncNoop = function() {\r\n return (new Deferred).resolve().promise()\r\n};\r\nexport var grep = function(elements, checkFunction, invert) {\r\n var result = [];\r\n var check;\r\n var expectedCheck = !invert;\r\n for (var i = 0; i < elements.length; i++) {\r\n check = !!checkFunction(elements[i], i);\r\n if (check === expectedCheck) {\r\n result.push(elements[i])\r\n }\r\n }\r\n return result\r\n};\r\nvar arraysEqualByValue = function(array1, array2, depth) {\r\n if (array1.length !== array2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < array1.length; i++) {\r\n if (!equalByValue(array1[i], array2[i], depth + 1)) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nvar objectsEqualByValue = function(object1, object2, depth, strict) {\r\n for (var propertyName in object1) {\r\n if (Object.prototype.hasOwnProperty.call(object1, propertyName) && !equalByValue(object1[propertyName], object2[propertyName], depth + 1, strict)) {\r\n return false\r\n }\r\n }\r\n for (var _propertyName in object2) {\r\n if (!(_propertyName in object1)) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nvar maxEqualityDepth = 3;\r\nexport var equalByValue = function(object1, object2) {\r\n var depth = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0;\r\n var strict = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : true;\r\n object1 = toComparable(object1, true);\r\n object2 = toComparable(object2, true);\r\n var comparisonResult = strict ? object1 === object2 : object1 == object2;\r\n if (comparisonResult || depth >= maxEqualityDepth) {\r\n return true\r\n }\r\n if (isObject(object1) && isObject(object2)) {\r\n return objectsEqualByValue(object1, object2, depth, strict)\r\n } else if (Array.isArray(object1) && Array.isArray(object2)) {\r\n return arraysEqualByValue(object1, object2, depth)\r\n }\r\n return false\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/console.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"./type\";\r\nvar noop = function() {};\r\nvar getConsoleMethod = function(method) {\r\n if (\"undefined\" === typeof console || !isFunction(console[method])) {\r\n return noop\r\n }\r\n return console[method].bind(console)\r\n};\r\nexport var logger = {\r\n info: getConsoleMethod(\"info\"),\r\n warn: getConsoleMethod(\"warn\"),\r\n error: getConsoleMethod(\"error\")\r\n};\r\nexport var debug = function() {\r\n function assert(condition, message) {\r\n if (!condition) {\r\n throw new Error(message)\r\n }\r\n }\r\n return {\r\n assert: assert,\r\n assertParam: function(parameter, message) {\r\n assert(null !== parameter && void 0 !== parameter, message)\r\n }\r\n }\r\n}();\r\n","/**\r\n * DevExtreme (esm/core/utils/data.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../errors\";\r\nimport Class from \"../class\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"./object\";\r\nimport {\r\n isObject,\r\n isPlainObject,\r\n isFunction,\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport variableWrapper from \"./variable_wrapper\";\r\nvar unwrapVariable = variableWrapper.unwrap;\r\nvar isWrapped = variableWrapper.isWrapped;\r\nvar assign = variableWrapper.assign;\r\nvar bracketsToDots = function(expr) {\r\n return expr.replace(/\\[/g, \".\").replace(/\\]/g, \"\")\r\n};\r\nexport var getPathParts = function(name) {\r\n return bracketsToDots(name).split(\".\")\r\n};\r\nvar readPropValue = function(obj, propName, options) {\r\n options = options || {};\r\n if (\"this\" === propName) {\r\n return unwrap(obj, options)\r\n }\r\n return unwrap(obj[propName], options)\r\n};\r\nvar assignPropValue = function(obj, propName, value, options) {\r\n if (\"this\" === propName) {\r\n throw new errors.Error(\"E4016\")\r\n }\r\n var propValue = obj[propName];\r\n if (options.unwrapObservables && isWrapped(propValue)) {\r\n assign(propValue, value)\r\n } else {\r\n obj[propName] = value\r\n }\r\n};\r\nvar prepareOptions = function(options) {\r\n options = options || {};\r\n options.unwrapObservables = void 0 !== options.unwrapObservables ? options.unwrapObservables : true;\r\n return options\r\n};\r\n\r\nfunction unwrap(value, options) {\r\n return options.unwrapObservables ? unwrapVariable(value) : value\r\n}\r\nexport var compileGetter = function(expr) {\r\n if (arguments.length > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n if (!expr || \"this\" === expr) {\r\n return function(obj) {\r\n return obj\r\n }\r\n }\r\n if (\"string\" === typeof expr) {\r\n var path = getPathParts(expr);\r\n return function(obj, options) {\r\n options = prepareOptions(options);\r\n var functionAsIs = options.functionsAsIs;\r\n var hasDefaultValue = \"defaultValue\" in options;\r\n var current = unwrap(obj, options);\r\n for (var i = 0; i < path.length; i++) {\r\n if (!current) {\r\n if (null == current && hasDefaultValue) {\r\n return options.defaultValue\r\n }\r\n break\r\n }\r\n var pathPart = path[i];\r\n if (hasDefaultValue && isObject(current) && !(pathPart in current)) {\r\n return options.defaultValue\r\n }\r\n var next = unwrap(current[pathPart], options);\r\n if (!functionAsIs && isFunction(next)) {\r\n next = next.call(current)\r\n }\r\n current = next\r\n }\r\n return current\r\n }\r\n }\r\n if (Array.isArray(expr)) {\r\n return combineGetters(expr)\r\n }\r\n if (isFunction(expr)) {\r\n return expr\r\n }\r\n};\r\n\r\nfunction combineGetters(getters) {\r\n var compiledGetters = {};\r\n for (var i = 0, l = getters.length; i < l; i++) {\r\n var getter = getters[i];\r\n compiledGetters[getter] = compileGetter(getter)\r\n }\r\n return function(obj, options) {\r\n var result;\r\n each(compiledGetters, (function(name) {\r\n var value = this(obj, options);\r\n if (void 0 === value) {\r\n return\r\n }\r\n var current = result || (result = {});\r\n var path = name.split(\".\");\r\n var last = path.length - 1;\r\n for (var _i = 0; _i < last; _i++) {\r\n var pathItem = path[_i];\r\n if (!(pathItem in current)) {\r\n current[pathItem] = {}\r\n }\r\n current = current[pathItem]\r\n }\r\n current[path[last]] = value\r\n }));\r\n return result\r\n }\r\n}\r\nvar ensurePropValueDefined = function(obj, propName, value, options) {\r\n if (isDefined(value)) {\r\n return value\r\n }\r\n var newValue = {};\r\n assignPropValue(obj, propName, newValue, options);\r\n return newValue\r\n};\r\nexport var compileSetter = function(expr) {\r\n expr = getPathParts(expr || \"this\");\r\n var lastLevelIndex = expr.length - 1;\r\n return function(obj, value, options) {\r\n options = prepareOptions(options);\r\n var currentValue = unwrap(obj, options);\r\n expr.forEach((function(propertyName, levelIndex) {\r\n var propertyValue = readPropValue(currentValue, propertyName, options);\r\n var isPropertyFunc = !options.functionsAsIs && isFunction(propertyValue) && !isWrapped(propertyValue);\r\n if (levelIndex === lastLevelIndex) {\r\n if (options.merge && isPlainObject(value) && (!isDefined(propertyValue) || isPlainObject(propertyValue))) {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n deepExtendArraySafe(propertyValue, value, false, true)\r\n } else if (isPropertyFunc) {\r\n currentValue[propertyName](value)\r\n } else {\r\n assignPropValue(currentValue, propertyName, value, options)\r\n }\r\n } else {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n if (isPropertyFunc) {\r\n propertyValue = propertyValue.call(currentValue)\r\n }\r\n currentValue = propertyValue\r\n }\r\n }))\r\n }\r\n};\r\nexport var toComparable = function(value, caseSensitive) {\r\n if (value instanceof Date) {\r\n return value.getTime()\r\n }\r\n if (value && value instanceof Class && value.valueOf) {\r\n return value.valueOf()\r\n }\r\n if (!caseSensitive && \"string\" === typeof value) {\r\n return value.toLowerCase()\r\n }\r\n return value\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/deferred.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDeferred,\r\n isDefined,\r\n isPromise\r\n} from \"../utils/type\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport Callbacks from \"../utils/callbacks\";\r\nvar deferredConfig = [{\r\n method: \"resolve\",\r\n handler: \"done\",\r\n state: \"resolved\"\r\n}, {\r\n method: \"reject\",\r\n handler: \"fail\",\r\n state: \"rejected\"\r\n}, {\r\n method: \"notify\",\r\n handler: \"progress\"\r\n}];\r\nvar _DeferredObj = function() {\r\n var that = this;\r\n this._state = \"pending\";\r\n this._promise = {};\r\n deferredConfig.forEach(function(config) {\r\n var methodName = config.method;\r\n this[methodName + \"Callbacks\"] = Callbacks();\r\n this[methodName] = function() {\r\n return this[methodName + \"With\"](this._promise, arguments)\r\n }.bind(this);\r\n this._promise[config.handler] = function(handler) {\r\n if (!handler) {\r\n return this\r\n }\r\n var callbacks = that[methodName + \"Callbacks\"];\r\n if (callbacks.fired()) {\r\n handler.apply(that[methodName + \"Context\"], that[methodName + \"Args\"])\r\n } else {\r\n callbacks.add(function(context, args) {\r\n handler.apply(context, args)\r\n }.bind(this))\r\n }\r\n return this\r\n }\r\n }.bind(this));\r\n this._promise.always = function(handler) {\r\n return this.done(handler).fail(handler)\r\n };\r\n this._promise.catch = function(handler) {\r\n return this.then(null, handler)\r\n };\r\n this._promise.then = function(resolve, reject) {\r\n var result = new _DeferredObj;\r\n [\"done\", \"fail\"].forEach(function(method) {\r\n var callback = \"done\" === method ? resolve : reject;\r\n this[method]((function() {\r\n if (!callback) {\r\n result[\"done\" === method ? \"resolve\" : \"reject\"].apply(this, arguments);\r\n return\r\n }\r\n var callbackResult = callback && callback.apply(this, arguments);\r\n if (isDeferred(callbackResult)) {\r\n callbackResult.done(result.resolve).fail(result.reject)\r\n } else if (isPromise(callbackResult)) {\r\n callbackResult.then(result.resolve, result.reject)\r\n } else {\r\n result.resolve.apply(this, isDefined(callbackResult) ? [callbackResult] : arguments)\r\n }\r\n }))\r\n }.bind(this));\r\n return result.promise()\r\n };\r\n this._promise.state = function() {\r\n return that._state\r\n };\r\n this._promise.promise = function(args) {\r\n return args ? extend(args, that._promise) : that._promise\r\n };\r\n this._promise.promise(this)\r\n};\r\ndeferredConfig.forEach((function(config) {\r\n var methodName = config.method;\r\n var state = config.state;\r\n _DeferredObj.prototype[methodName + \"With\"] = function(context, args) {\r\n var callbacks = this[methodName + \"Callbacks\"];\r\n if (\"pending\" === this.state()) {\r\n this[methodName + \"Args\"] = args;\r\n this[methodName + \"Context\"] = context;\r\n if (state) {\r\n this._state = state\r\n }\r\n callbacks.fire(context, args)\r\n }\r\n return this\r\n }\r\n}));\r\nexport function fromPromise(promise, context) {\r\n if (isDeferred(promise)) {\r\n return promise\r\n } else if (isPromise(promise)) {\r\n var d = new _DeferredObj;\r\n promise.then((function() {\r\n d.resolveWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }), (function() {\r\n d.rejectWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }));\r\n return d\r\n }\r\n return (new _DeferredObj).resolveWith(context, [promise])\r\n}\r\nvar whenFunc = function() {\r\n if (1 === arguments.length) {\r\n return fromPromise(arguments[0])\r\n }\r\n var values = [].slice.call(arguments);\r\n var contexts = [];\r\n var resolvedCount = 0;\r\n var deferred = new _DeferredObj;\r\n var updateState = function(i) {\r\n return function(value) {\r\n contexts[i] = this;\r\n values[i] = arguments.length > 1 ? [].slice.call(arguments) : value;\r\n resolvedCount++;\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n }\r\n };\r\n for (var i = 0; i < values.length; i++) {\r\n if (isDeferred(values[i])) {\r\n values[i].promise().done(updateState(i)).fail(deferred.reject)\r\n } else {\r\n resolvedCount++\r\n }\r\n }\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n return deferred.promise()\r\n};\r\nexport function setStrategy(value) {\r\n _DeferredObj = value.Deferred;\r\n whenFunc = value.when\r\n}\r\nexport function Deferred() {\r\n return new _DeferredObj\r\n}\r\nexport function when() {\r\n return whenFunc.apply(this, arguments)\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/dependency_injector.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n isFunction\r\n} from \"./type\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport Class from \"../class\";\r\nexport default function(object) {\r\n var BaseClass = Class.inherit(object);\r\n var InjectedClass = BaseClass;\r\n var instance = new InjectedClass(object);\r\n var initialFields = {};\r\n var injectFields = function(injectionObject, initial) {\r\n each(injectionObject, (function(key) {\r\n if (isFunction(instance[key])) {\r\n if (initial || !object[key]) {\r\n object[key] = function() {\r\n return instance[key].apply(object, arguments)\r\n }\r\n }\r\n } else {\r\n if (initial) {\r\n initialFields[key] = object[key]\r\n }\r\n object[key] = instance[key]\r\n }\r\n }))\r\n };\r\n injectFields(object, true);\r\n object.inject = function(injectionObject) {\r\n InjectedClass = InjectedClass.inherit(injectionObject);\r\n instance = new InjectedClass;\r\n injectFields(injectionObject)\r\n };\r\n object.resetInjection = function() {\r\n extend(object, initialFields);\r\n InjectedClass = BaseClass;\r\n instance = new BaseClass\r\n };\r\n return object\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/dom.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n isDefined,\r\n isRenderer,\r\n isWindow\r\n} from \"./type\";\r\nimport {\r\n getWindow\r\n} from \"./window\";\r\nvar window = getWindow();\r\nexport var resetActiveElement = () => {\r\n var activeElement = domAdapter.getActiveElement();\r\n if (activeElement && activeElement !== domAdapter.getBody()) {\r\n var _activeElement$blur;\r\n null === (_activeElement$blur = activeElement.blur) || void 0 === _activeElement$blur ? void 0 : _activeElement$blur.call(activeElement)\r\n }\r\n};\r\nexport var clearSelection = () => {\r\n var selection = window.getSelection();\r\n if (!selection) {\r\n return\r\n }\r\n if (\"Caret\" === selection.type) {\r\n return\r\n }\r\n if (selection.empty) {\r\n selection.empty()\r\n } else if (selection.removeAllRanges) {\r\n try {\r\n selection.removeAllRanges()\r\n } catch (e) {}\r\n }\r\n};\r\nexport var closestCommonParent = (startTarget, endTarget) => {\r\n var $startTarget = $(startTarget);\r\n var $endTarget = $(endTarget);\r\n if ($startTarget[0] === $endTarget[0]) {\r\n return $startTarget[0]\r\n }\r\n var $startParents = $startTarget.parents();\r\n var $endParents = $endTarget.parents();\r\n var startingParent = Math.min($startParents.length, $endParents.length);\r\n for (var i = -startingParent; i < 0; i++) {\r\n if ($startParents.get(i) === $endParents.get(i)) {\r\n return $startParents.get(i)\r\n }\r\n }\r\n};\r\nexport var extractTemplateMarkup = element => {\r\n element = $(element);\r\n var templateTag = element.length && element.filter((function() {\r\n var $node = $(this);\r\n return $node.is(\"script[type]\") && $node.attr(\"type\").indexOf(\"script\") < 0\r\n }));\r\n if (templateTag.length) {\r\n return templateTag.eq(0).html()\r\n } else {\r\n element = $(\"
\").append(element);\r\n return element.html()\r\n }\r\n};\r\nexport var normalizeTemplateElement = element => {\r\n var $element = isDefined(element) && (element.nodeType || isRenderer(element)) ? $(element) : $(\"
\").html(element).contents();\r\n if (1 === $element.length) {\r\n if ($element.is(\"script\")) {\r\n $element = normalizeTemplateElement($element.html().trim())\r\n } else if ($element.is(\"table\")) {\r\n $element = $element.children(\"tbody\").contents()\r\n }\r\n }\r\n return $element\r\n};\r\nexport var clipboardText = (event, text) => {\r\n var clipboard = event.originalEvent && event.originalEvent.clipboardData || window.clipboardData;\r\n if (!text) {\r\n return clipboard && clipboard.getData(\"Text\")\r\n }\r\n clipboard && clipboard.setData(\"Text\", text)\r\n};\r\nexport var contains = (container, element) => {\r\n if (!element) {\r\n return false\r\n }\r\n if (domAdapter.isTextNode(element)) {\r\n element = element.parentNode\r\n }\r\n if (domAdapter.isDocument(container)) {\r\n return container.documentElement.contains(element)\r\n }\r\n if (isWindow(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains ? container.contains(element) : !!(element.compareDocumentPosition(container) & element.DOCUMENT_POSITION_CONTAINS)\r\n};\r\nexport var createTextElementHiddenCopy = (element, text, options) => {\r\n var elementStyles = window.getComputedStyle($(element).get(0));\r\n var includePaddings = options && options.includePaddings;\r\n return $(\"
\").text(text).css({\r\n fontStyle: elementStyles.fontStyle,\r\n fontVariant: elementStyles.fontVariant,\r\n fontWeight: elementStyles.fontWeight,\r\n fontSize: elementStyles.fontSize,\r\n fontFamily: elementStyles.fontFamily,\r\n letterSpacing: elementStyles.letterSpacing,\r\n border: elementStyles.border,\r\n paddingTop: includePaddings ? elementStyles.paddingTop : \"\",\r\n paddingRight: includePaddings ? elementStyles.paddingRight : \"\",\r\n paddingBottom: includePaddings ? elementStyles.paddingBottom : \"\",\r\n paddingLeft: includePaddings ? elementStyles.paddingLeft : \"\",\r\n visibility: \"hidden\",\r\n whiteSpace: \"pre\",\r\n position: \"absolute\",\r\n float: \"left\"\r\n })\r\n};\r\nexport var insertBefore = (element, newElement) => {\r\n if (newElement) {\r\n domAdapter.insertElement(element.parentNode, newElement, element)\r\n }\r\n return element\r\n};\r\nexport var replaceWith = (element, newElement) => {\r\n if (!(newElement && newElement[0])) {\r\n return\r\n }\r\n if (newElement.is(element)) {\r\n return element\r\n }\r\n each(newElement, (_, currentElement) => {\r\n insertBefore(element[0], currentElement)\r\n });\r\n element.remove();\r\n return newElement\r\n};\r\nexport var isElementInDom = $element => {\r\n var element = null === $element || void 0 === $element ? void 0 : $element.get(0);\r\n var shadowHost = null === element || void 0 === element ? void 0 : element.getRootNode().host;\r\n return !!$(shadowHost || element).closest(getWindow().document).length\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/error.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n logger\r\n} from \"./console\";\r\nimport {\r\n format\r\n} from \"./string\";\r\nimport {\r\n version\r\n} from \"../version\";\r\nvar ERROR_URL = \"http://js.devexpress.com/error/\" + version.split(\".\").slice(0, 2).join(\"_\") + \"/\";\r\nexport default function(baseErrors, errors) {\r\n var exports = {\r\n ERROR_MESSAGES: extend(errors, baseErrors),\r\n Error: function() {\r\n return makeError([].slice.call(arguments))\r\n },\r\n log: function(id) {\r\n var method = \"log\";\r\n if (/^E\\d+$/.test(id)) {\r\n method = \"error\"\r\n } else if (/^W\\d+$/.test(id)) {\r\n method = \"warn\"\r\n }\r\n logger[method](\"log\" === method ? id : combineMessage([].slice.call(arguments)))\r\n }\r\n };\r\n\r\n function combineMessage(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n return formatMessage(id, formatDetails(id, args))\r\n }\r\n\r\n function formatDetails(id, args) {\r\n args = [exports.ERROR_MESSAGES[id]].concat(args);\r\n return format.apply(this, args).replace(/\\.*\\s*?$/, \"\")\r\n }\r\n\r\n function formatMessage(id, details) {\r\n return format.apply(this, [\"{0} - {1}. See:\\n{2}\", id, details, getErrorUrl(id)])\r\n }\r\n\r\n function makeError(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n var details = formatDetails(id, args);\r\n var url = getErrorUrl(id);\r\n var message = formatMessage(id, details);\r\n return extend(new Error(message), {\r\n __id: id,\r\n __details: details,\r\n url: url\r\n })\r\n }\r\n\r\n function getErrorUrl(id) {\r\n return ERROR_URL + id\r\n }\r\n return exports\r\n}\r\n","/**\r\n * DevExtreme (esm/core/version.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var version = \"22.2.3\";\r\n","/**\r\n * DevExtreme (esm/core/utils/extend.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isPlainObject\r\n} from \"./type\";\r\nexport var extendFromObject = function(target, source, overrideExistingValues) {\r\n target = target || {};\r\n for (var prop in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\r\n var value = source[prop];\r\n if (!(prop in target) || overrideExistingValues) {\r\n target[prop] = value\r\n }\r\n }\r\n }\r\n return target\r\n};\r\nexport var extend = function extend(target) {\r\n target = target || {};\r\n var i = 1;\r\n var deep = false;\r\n if (\"boolean\" === typeof target) {\r\n deep = target;\r\n target = arguments[1] || {};\r\n i++\r\n }\r\n for (; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n if (null == source) {\r\n continue\r\n }\r\n for (var key in source) {\r\n var targetValue = target[key];\r\n var sourceValue = source[key];\r\n var sourceValueIsArray = false;\r\n var clone = void 0;\r\n if (\"__proto__\" === key || \"constructor\" === key || target === sourceValue) {\r\n continue\r\n }\r\n if (deep && sourceValue && (isPlainObject(sourceValue) || (sourceValueIsArray = Array.isArray(sourceValue)))) {\r\n if (sourceValueIsArray) {\r\n clone = targetValue && Array.isArray(targetValue) ? targetValue : []\r\n } else {\r\n clone = targetValue && isPlainObject(targetValue) ? targetValue : {}\r\n }\r\n target[key] = extend(deep, clone, sourceValue)\r\n } else if (void 0 !== sourceValue) {\r\n target[key] = sourceValue\r\n }\r\n }\r\n }\r\n return target\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/html_parser.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nvar isTagName = /<([a-z][^/\\0>\\x20\\t\\r\\n\\f]+)/i;\r\nvar tagWrappers = {\r\n default: {\r\n tagsCount: 0,\r\n startTags: \"\",\r\n endTags: \"\"\r\n },\r\n thead: {\r\n tagsCount: 1,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n td: {\r\n tagsCount: 3,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n col: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n tr: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n }\r\n};\r\ntagWrappers.tbody = tagWrappers.colgroup = tagWrappers.caption = tagWrappers.tfoot = tagWrappers.thead;\r\ntagWrappers.th = tagWrappers.td;\r\nexport var parseHTML = function(html) {\r\n if (\"string\" !== typeof html) {\r\n return null\r\n }\r\n var fragment = domAdapter.createDocumentFragment();\r\n var container = fragment.appendChild(domAdapter.createElement(\"div\"));\r\n var tags = isTagName.exec(html);\r\n var firstRootTag = tags && tags[1].toLowerCase();\r\n var tagWrapper = tagWrappers[firstRootTag] || tagWrappers.default;\r\n container.innerHTML = tagWrapper.startTags + html + tagWrapper.endTags;\r\n for (var i = 0; i < tagWrapper.tagsCount; i++) {\r\n container = container.lastChild\r\n }\r\n return [...container.childNodes]\r\n};\r\nexport var isTablePart = function(html) {\r\n var tags = isTagName.exec(html);\r\n return tags && tags[1] in tagWrappers\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/icon.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SVG_ICON_CLASS = \"dx-svg-icon\";\r\nexport var getImageSourceType = source => {\r\n if (!source || \"string\" !== typeof source) {\r\n return false\r\n }\r\n if (/^\\s*]*>(.|\\r?\\n)*?<\\/svg>\\s*$/i.test(source)) {\r\n return \"svg\"\r\n }\r\n if (/data:.*base64|\\.|[^<\\s]\\/{1,1}/.test(source)) {\r\n return \"image\"\r\n }\r\n if (/^[\\w-_]+$/.test(source)) {\r\n return \"dxIcon\"\r\n }\r\n if (/^\\s?([\\w-_]\\s?)+$/.test(source)) {\r\n return \"fontIcon\"\r\n }\r\n return false\r\n};\r\nexport var getImageContainer = source => {\r\n switch (getImageSourceType(source)) {\r\n case \"image\":\r\n return $(\"\").attr(\"src\", source).addClass(ICON_CLASS);\r\n case \"fontIcon\":\r\n return $(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(source));\r\n case \"dxIcon\":\r\n return $(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(ICON_CLASS, \"-\").concat(source));\r\n case \"svg\":\r\n return $(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(SVG_ICON_CLASS)).append(source);\r\n default:\r\n return null\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/inflector.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map\r\n} from \"./iterator\";\r\nvar _normalize = function(text) {\r\n if (void 0 === text || null === text) {\r\n return \"\"\r\n }\r\n return String(text)\r\n};\r\nvar _upperCaseFirst = function(text) {\r\n return _normalize(text).charAt(0).toUpperCase() + text.substr(1)\r\n};\r\nvar _chop = function(text) {\r\n return _normalize(text).replace(/([a-z\\d])([A-Z])/g, \"$1 $2\").split(/[\\s_-]+/)\r\n};\r\nexport var dasherize = function(text) {\r\n return map(_chop(text), (function(p) {\r\n return p.toLowerCase()\r\n })).join(\"-\")\r\n};\r\nexport var underscore = function(text) {\r\n return dasherize(text).replace(/-/g, \"_\")\r\n};\r\nexport var camelize = function(text, upperFirst) {\r\n return map(_chop(text), (function(p, i) {\r\n p = p.toLowerCase();\r\n if (upperFirst || i > 0) {\r\n p = _upperCaseFirst(p)\r\n }\r\n return p\r\n })).join(\"\")\r\n};\r\nexport var humanize = function(text) {\r\n return _upperCaseFirst(dasherize(text).replace(/-/g, \" \"))\r\n};\r\nexport var titleize = function(text) {\r\n return map(_chop(text), (function(p) {\r\n return _upperCaseFirst(p.toLowerCase())\r\n })).join(\" \")\r\n};\r\nvar DIGIT_CHARS = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\r\nexport var captionize = function(name) {\r\n var captionList = [];\r\n var i;\r\n var char;\r\n var isPrevCharNewWord = false;\r\n var isNewWord = false;\r\n for (i = 0; i < name.length; i++) {\r\n char = name.charAt(i);\r\n isNewWord = char === char.toUpperCase() && \"-\" !== char && \")\" !== char && \"/\" !== char || char in DIGIT_CHARS;\r\n if (\"_\" === char || \".\" === char) {\r\n char = \" \";\r\n isNewWord = true\r\n } else if (0 === i) {\r\n char = char.toUpperCase();\r\n isNewWord = true\r\n } else if (!isPrevCharNewWord && isNewWord) {\r\n if (captionList.length > 0) {\r\n captionList.push(\" \")\r\n }\r\n }\r\n captionList.push(char);\r\n isPrevCharNewWord = isNewWord\r\n }\r\n return captionList.join(\"\")\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/iterator.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar map = (values, callback) => {\r\n if (Array.isArray(values)) {\r\n return values.map(callback)\r\n }\r\n var result = [];\r\n for (var key in values) {\r\n result.push(callback(values[key], key))\r\n }\r\n return result\r\n};\r\nvar each = (values, callback) => {\r\n if (!values) {\r\n return\r\n }\r\n if (\"length\" in values) {\r\n for (var i = 0; i < values.length; i++) {\r\n if (false === callback.call(values[i], i, values[i])) {\r\n break\r\n }\r\n }\r\n } else {\r\n for (var key in values) {\r\n if (false === callback.call(values[key], key, values[key])) {\r\n break\r\n }\r\n }\r\n }\r\n return values\r\n};\r\nvar reverseEach = (array, callback) => {\r\n if (!array || !(\"length\" in array) || 0 === array.length) {\r\n return\r\n }\r\n for (var i = array.length - 1; i >= 0; i--) {\r\n if (false === callback.call(array[i], i, array[i])) {\r\n break\r\n }\r\n }\r\n};\r\nexport {\r\n map,\r\n each,\r\n reverseEach\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/math.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isExponential\r\n} from \"./type\";\r\nvar sign = function(value) {\r\n if (0 === value) {\r\n return 0\r\n }\r\n return value / Math.abs(value)\r\n};\r\nvar fitIntoRange = function(value, minValue, maxValue) {\r\n var isMinValueUndefined = !minValue && 0 !== minValue;\r\n var isMaxValueUndefined = !maxValue && 0 !== maxValue;\r\n isMinValueUndefined && (minValue = !isMaxValueUndefined ? Math.min(value, maxValue) : value);\r\n isMaxValueUndefined && (maxValue = !isMinValueUndefined ? Math.max(value, minValue) : value);\r\n return Math.min(Math.max(value, minValue), maxValue)\r\n};\r\nvar inRange = function(value, minValue, maxValue) {\r\n return value >= minValue && value <= maxValue\r\n};\r\n\r\nfunction getExponent(value) {\r\n return Math.abs(parseInt(value.toExponential().split(\"e\")[1]))\r\n}\r\n\r\nfunction getExponentialNotation(value) {\r\n var parts = value.toExponential().split(\"e\");\r\n var mantissa = parseFloat(parts[0]);\r\n var exponent = parseInt(parts[1]);\r\n return {\r\n exponent: exponent,\r\n mantissa: mantissa\r\n }\r\n}\r\n\r\nfunction multiplyInExponentialForm(value, exponentShift) {\r\n var exponentialNotation = getExponentialNotation(value);\r\n return parseFloat(\"\".concat(exponentialNotation.mantissa, \"e\").concat(exponentialNotation.exponent + exponentShift))\r\n}\r\n\r\nfunction _isEdgeBug() {\r\n return \"0.000300\" !== 3e-4.toPrecision(3)\r\n}\r\n\r\nfunction adjust(value, interval) {\r\n var precision = getPrecision(interval || 0) + 2;\r\n var separatedValue = value.toString().split(\".\");\r\n var sourceValue = value;\r\n var absValue = Math.abs(value);\r\n var separatedAdjustedValue;\r\n var isExponentValue = isExponential(value);\r\n var integerPart = absValue > 1 ? 10 : 0;\r\n if (1 === separatedValue.length) {\r\n return value\r\n }\r\n if (!isExponentValue) {\r\n if (isExponential(interval)) {\r\n precision = separatedValue[0].length + getExponent(interval)\r\n }\r\n value = absValue;\r\n value = value - Math.floor(value) + integerPart\r\n }\r\n precision = _isEdgeBug() && getExponent(value) > 6 || precision > 7 ? 15 : 7;\r\n if (!isExponentValue) {\r\n separatedAdjustedValue = parseFloat(value.toPrecision(precision)).toString().split(\".\");\r\n if (separatedAdjustedValue[0] === integerPart.toString()) {\r\n return parseFloat(separatedValue[0] + \".\" + separatedAdjustedValue[1])\r\n }\r\n }\r\n return parseFloat(sourceValue.toPrecision(precision))\r\n}\r\n\r\nfunction getPrecision(value) {\r\n var str = value.toString();\r\n if (str.indexOf(\".\") < 0) {\r\n return 0\r\n }\r\n var mantissa = str.split(\".\");\r\n var positionOfDelimiter = mantissa[1].indexOf(\"e\");\r\n return positionOfDelimiter >= 0 ? positionOfDelimiter : mantissa[1].length\r\n}\r\n\r\nfunction getRoot(x, n) {\r\n if (x < 0 && n % 2 !== 1) {\r\n return NaN\r\n }\r\n var y = Math.pow(Math.abs(x), 1 / n);\r\n return n % 2 === 1 && x < 0 ? -y : y\r\n}\r\n\r\nfunction solveCubicEquation(a, b, c, d) {\r\n if (Math.abs(a) < 1e-8) {\r\n a = b;\r\n b = c;\r\n c = d;\r\n if (Math.abs(a) < 1e-8) {\r\n a = b;\r\n b = c;\r\n if (Math.abs(a) < 1e-8) {\r\n return []\r\n }\r\n return [-b / a]\r\n }\r\n var D2 = b * b - 4 * a * c;\r\n if (Math.abs(D2) < 1e-8) {\r\n return [-b / (2 * a)]\r\n } else if (D2 > 0) {\r\n return [(-b + Math.sqrt(D2)) / (2 * a), (-b - Math.sqrt(D2)) / (2 * a)]\r\n }\r\n return []\r\n }\r\n var p = (3 * a * c - b * b) / (3 * a * a);\r\n var q = (2 * b * b * b - 9 * a * b * c + 27 * a * a * d) / (27 * a * a * a);\r\n var roots;\r\n var u;\r\n if (Math.abs(p) < 1e-8) {\r\n roots = [getRoot(-q, 3)]\r\n } else if (Math.abs(q) < 1e-8) {\r\n roots = [0].concat(p < 0 ? [Math.sqrt(-p), -Math.sqrt(-p)] : [])\r\n } else {\r\n var D3 = q * q / 4 + p * p * p / 27;\r\n if (Math.abs(D3) < 1e-8) {\r\n roots = [-1.5 * q / p, 3 * q / p]\r\n } else if (D3 > 0) {\r\n u = getRoot(-q / 2 - Math.sqrt(D3), 3);\r\n roots = [u - p / (3 * u)]\r\n } else {\r\n u = 2 * Math.sqrt(-p / 3);\r\n var t = Math.acos(3 * q / p / u) / 3;\r\n var k = 2 * Math.PI / 3;\r\n roots = [u * Math.cos(t), u * Math.cos(t - k), u * Math.cos(t - 2 * k)]\r\n }\r\n }\r\n for (var i = 0; i < roots.length; i++) {\r\n roots[i] -= b / (3 * a)\r\n }\r\n return roots\r\n}\r\n\r\nfunction trunc(value) {\r\n return Math.trunc ? Math.trunc(value) : value > 0 ? Math.floor(value) : Math.ceil(value)\r\n}\r\n\r\nfunction getRemainderByDivision(dividend, divider, digitsCount) {\r\n if (divider === parseInt(divider)) {\r\n return dividend % divider\r\n }\r\n var quotient = roundFloatPart(dividend / divider, digitsCount);\r\n return (quotient - parseInt(quotient)) * divider\r\n}\r\n\r\nfunction getExponentLength(value) {\r\n var _valueString$split$;\r\n var valueString = value.toString();\r\n return (null === (_valueString$split$ = valueString.split(\".\")[1]) || void 0 === _valueString$split$ ? void 0 : _valueString$split$.length) || parseInt(valueString.split(\"e-\")[1]) || 0\r\n}\r\n\r\nfunction roundFloatPart(value) {\r\n var digitsCount = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n return parseFloat(value.toFixed(digitsCount))\r\n}\r\nexport {\r\n sign,\r\n fitIntoRange,\r\n inRange,\r\n adjust,\r\n getPrecision,\r\n getExponent,\r\n getRoot,\r\n solveCubicEquation,\r\n trunc,\r\n roundFloatPart,\r\n getExponentLength,\r\n getRemainderByDivision,\r\n multiplyInExponentialForm\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/object.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric,\r\n isPlainObject,\r\n isObject\r\n} from \"./type\";\r\nimport variableWrapper from \"./variable_wrapper\";\r\nvar clone = function() {\r\n function Clone() {}\r\n return function(obj) {\r\n Clone.prototype = obj;\r\n return new Clone\r\n }\r\n}();\r\nvar orderEach = function(map, func) {\r\n var keys = [];\r\n var key;\r\n var i;\r\n for (key in map) {\r\n if (Object.prototype.hasOwnProperty.call(map, key)) {\r\n keys.push(key)\r\n }\r\n }\r\n keys.sort((function(x, y) {\r\n var isNumberX = isNumeric(x);\r\n var isNumberY = isNumeric(y);\r\n if (isNumberX && isNumberY) {\r\n return x - y\r\n }\r\n if (isNumberX && !isNumberY) {\r\n return -1\r\n }\r\n if (!isNumberX && isNumberY) {\r\n return 1\r\n }\r\n if (x < y) {\r\n return -1\r\n }\r\n if (x > y) {\r\n return 1\r\n }\r\n return 0\r\n }));\r\n for (i = 0; i < keys.length; i++) {\r\n key = keys[i];\r\n func(key, map[key])\r\n }\r\n};\r\nvar assignValueToProperty = function(target, property, value, assignByReference) {\r\n if (!assignByReference && variableWrapper.isWrapped(target[property])) {\r\n variableWrapper.assign(target[property], value)\r\n } else {\r\n target[property] = value\r\n }\r\n};\r\nvar deepExtendArraySafe = function deepExtendArraySafe(target, changes, extendComplexObject, assignByReference) {\r\n var prevValue;\r\n var newValue;\r\n for (var name in changes) {\r\n prevValue = target[name];\r\n newValue = changes[name];\r\n if (\"__proto__\" === name || \"constructor\" === name || target === newValue) {\r\n continue\r\n }\r\n if (isPlainObject(newValue)) {\r\n var goDeeper = extendComplexObject ? isObject(prevValue) : isPlainObject(prevValue);\r\n newValue = deepExtendArraySafe(goDeeper ? prevValue : {}, newValue, extendComplexObject, assignByReference)\r\n }\r\n if (void 0 !== newValue && prevValue !== newValue) {\r\n assignValueToProperty(target, name, newValue, assignByReference)\r\n }\r\n }\r\n return target\r\n};\r\nexport {\r\n clone,\r\n orderEach,\r\n deepExtendArraySafe\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/position.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../config\";\r\nimport {\r\n isWindow\r\n} from \"../utils/type\";\r\nvar getDefaultAlignment = isRtlEnabled => {\r\n var rtlEnabled = null !== isRtlEnabled && void 0 !== isRtlEnabled ? isRtlEnabled : config().rtlEnabled;\r\n return rtlEnabled ? \"right\" : \"left\"\r\n};\r\nvar getBoundingRect = element => {\r\n if (isWindow(element)) {\r\n return {\r\n width: element.outerWidth,\r\n height: element.outerHeight\r\n }\r\n }\r\n return element.getBoundingClientRect()\r\n};\r\nexport {\r\n getBoundingRect,\r\n getDefaultAlignment\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/public_component.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n removeEvent\r\n} from \"../../events/remove\";\r\nvar COMPONENT_NAMES_DATA_KEY = \"dxComponents\";\r\nvar ANONYMOUS_COMPONENT_DATA_KEY = \"dxPrivateComponent\";\r\nvar componentNames = new WeakMap;\r\nvar nextAnonymousComponent = 0;\r\nvar getName = function(componentClass, newName) {\r\n if (isDefined(newName)) {\r\n componentNames.set(componentClass, newName);\r\n return\r\n }\r\n if (!componentNames.has(componentClass)) {\r\n var generatedName = ANONYMOUS_COMPONENT_DATA_KEY + nextAnonymousComponent++;\r\n componentNames.set(componentClass, generatedName);\r\n return generatedName\r\n }\r\n return componentNames.get(componentClass)\r\n};\r\nexport function attachInstanceToElement($element, componentInstance, disposeFn) {\r\n var data = elementData($element.get(0));\r\n var name = getName(componentInstance.constructor);\r\n data[name] = componentInstance;\r\n if (disposeFn) {\r\n eventsEngine.one($element, removeEvent, (function() {\r\n disposeFn.call(componentInstance)\r\n }))\r\n }\r\n if (!data[COMPONENT_NAMES_DATA_KEY]) {\r\n data[COMPONENT_NAMES_DATA_KEY] = []\r\n }\r\n data[COMPONENT_NAMES_DATA_KEY].push(name)\r\n}\r\nexport function getInstanceByElement($element, componentClass) {\r\n var name = getName(componentClass);\r\n return elementData($element.get(0), name)\r\n}\r\nexport {\r\n getName as name\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/ready_callbacks.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport injector from \"./dependency_injector\";\r\nimport {\r\n hasWindow\r\n} from \"./window\";\r\nimport callOnce from \"./call_once\";\r\nvar callbacks = [];\r\nvar subscribeReady = callOnce(() => {\r\n var removeListener = domAdapter.listen(domAdapter.getDocument(), \"DOMContentLoaded\", () => {\r\n readyCallbacks.fire();\r\n removeListener()\r\n })\r\n});\r\nvar readyCallbacks = {\r\n add: callback => {\r\n var windowExists = hasWindow();\r\n if (windowExists && \"loading\" !== domAdapter.getReadyState()) {\r\n callback()\r\n } else {\r\n callbacks.push(callback);\r\n windowExists && subscribeReady()\r\n }\r\n },\r\n fire: () => {\r\n callbacks.forEach(callback => callback());\r\n callbacks = []\r\n }\r\n};\r\nexport default injector(readyCallbacks);\r\n","/**\r\n * DevExtreme (esm/core/utils/resize_callbacks.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"./window\";\r\nimport domAdapter from \"../dom_adapter\";\r\nimport Callbacks from \"./callbacks\";\r\nimport readyCallbacks from \"./ready_callbacks\";\r\nimport callOnce from \"./call_once\";\r\nvar resizeCallbacks = function() {\r\n var prevSize;\r\n var callbacks = Callbacks();\r\n var originalCallbacksAdd = callbacks.add;\r\n var originalCallbacksRemove = callbacks.remove;\r\n if (!hasWindow()) {\r\n return callbacks\r\n }\r\n var formatSize = function() {\r\n var window = getWindow();\r\n return {\r\n width: window.innerWidth,\r\n height: window.innerHeight\r\n }\r\n };\r\n var handleResize = function() {\r\n var now = formatSize();\r\n if (now.width === prevSize.width && now.height === prevSize.height) {\r\n return\r\n }\r\n var changedDimension;\r\n if (now.width === prevSize.width) {\r\n changedDimension = \"height\"\r\n }\r\n if (now.height === prevSize.height) {\r\n changedDimension = \"width\"\r\n }\r\n prevSize = now;\r\n callbacks.fire(changedDimension)\r\n };\r\n var setPrevSize = callOnce((function() {\r\n prevSize = formatSize()\r\n }));\r\n var removeListener;\r\n callbacks.add = function() {\r\n var result = originalCallbacksAdd.apply(callbacks, arguments);\r\n setPrevSize();\r\n readyCallbacks.add((function() {\r\n if (!removeListener && callbacks.has()) {\r\n removeListener = domAdapter.listen(getWindow(), \"resize\", handleResize)\r\n }\r\n }));\r\n return result\r\n };\r\n callbacks.remove = function() {\r\n var result = originalCallbacksRemove.apply(callbacks, arguments);\r\n if (!callbacks.has() && removeListener) {\r\n removeListener();\r\n removeListener = void 0\r\n }\r\n return result\r\n };\r\n return callbacks\r\n}();\r\nexport default resizeCallbacks;\r\n","/**\r\n * DevExtreme (esm/core/utils/shadow_dom.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar DX_RULE_PREFIX = \"dx-\";\r\nvar ownerDocumentStyleSheet = null;\r\n\r\nfunction createConstructedStyleSheet(rootNode) {\r\n try {\r\n return new CSSStyleSheet\r\n } catch (err) {\r\n var styleElement = rootNode.ownerDocument.createElement(\"style\");\r\n rootNode.appendChild(styleElement);\r\n return styleElement.sheet\r\n }\r\n}\r\n\r\nfunction processRules(targetStyleSheet, styleSheets, needApplyAllStyles) {\r\n for (var i = 0; i < styleSheets.length; i++) {\r\n var sheet = styleSheets[i];\r\n try {\r\n for (var j = 0; j < sheet.cssRules.length; j++) {\r\n insertRule(targetStyleSheet, sheet.cssRules[j], needApplyAllStyles)\r\n }\r\n } catch (err) {}\r\n }\r\n}\r\n\r\nfunction insertRule(targetStyleSheet, rule, needApplyAllStyles) {\r\n var _rule$selectorText, _rule$cssRules, _rule$cssRules$, _rule$cssRules$$selec, _rule$name, _rule$style;\r\n var isDxRule = needApplyAllStyles || (null === (_rule$selectorText = rule.selectorText) || void 0 === _rule$selectorText ? void 0 : _rule$selectorText.includes(DX_RULE_PREFIX)) || (null === (_rule$cssRules = rule.cssRules) || void 0 === _rule$cssRules ? void 0 : null === (_rule$cssRules$ = _rule$cssRules[0]) || void 0 === _rule$cssRules$ ? void 0 : null === (_rule$cssRules$$selec = _rule$cssRules$.selectorText) || void 0 === _rule$cssRules$$selec ? void 0 : _rule$cssRules$$selec.includes(DX_RULE_PREFIX)) || (null === (_rule$name = rule.name) || void 0 === _rule$name ? void 0 : _rule$name.startsWith(DX_RULE_PREFIX)) || \"DXIcons\" === (null === (_rule$style = rule.style) || void 0 === _rule$style ? void 0 : _rule$style.fontFamily);\r\n if (isDxRule) {\r\n targetStyleSheet.insertRule(rule.cssText, targetStyleSheet.cssRules.length)\r\n }\r\n}\r\nexport function addShadowDomStyles($element) {\r\n var _el$getRootNode;\r\n var el = $element.get(0);\r\n var root = null === (_el$getRootNode = el.getRootNode) || void 0 === _el$getRootNode ? void 0 : _el$getRootNode.call(el);\r\n if (!(null !== root && void 0 !== root && root.host)) {\r\n return\r\n }\r\n if (!ownerDocumentStyleSheet) {\r\n ownerDocumentStyleSheet = createConstructedStyleSheet(root);\r\n processRules(ownerDocumentStyleSheet, el.ownerDocument.styleSheets, false)\r\n }\r\n var currentShadowDomStyleSheet = createConstructedStyleSheet(root);\r\n processRules(currentShadowDomStyleSheet, root.styleSheets, true);\r\n root.adoptedStyleSheets = [ownerDocumentStyleSheet, currentShadowDomStyleSheet]\r\n}\r\n\r\nfunction isPositionInElementRectangle(element, x, y) {\r\n var rect = element.getBoundingClientRect();\r\n return rect && x >= rect.left && x < rect.right && y >= rect.top && y < rect.bottom\r\n}\r\n\r\nfunction createQueue() {\r\n var shiftIndex = 0;\r\n var items = [];\r\n return {\r\n push(item) {\r\n items.push(item);\r\n return this\r\n },\r\n shift() {\r\n shiftIndex++;\r\n return items[shiftIndex - 1]\r\n },\r\n get length() {\r\n return items.length - shiftIndex\r\n },\r\n get items() {\r\n return items\r\n }\r\n }\r\n}\r\nexport function getShadowElementsFromPoint(x, y, root) {\r\n var elementQueue = createQueue().push(root);\r\n while (elementQueue.length) {\r\n var el = elementQueue.shift();\r\n for (var i = 0; i < el.childNodes.length; i++) {\r\n var childNode = el.childNodes[i];\r\n if (childNode.nodeType === Node.ELEMENT_NODE && isPositionInElementRectangle(childNode, x, y) && \"none\" !== getComputedStyle(childNode).pointerEvents) {\r\n elementQueue.push(childNode)\r\n }\r\n }\r\n }\r\n var result = elementQueue.items.reverse();\r\n result.pop();\r\n return result\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/size.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isWindow,\r\n isString,\r\n isNumeric,\r\n isRenderer\r\n} from \"../utils/type\";\r\nvar window = getWindow();\r\nvar SPECIAL_HEIGHT_VALUES = [\"auto\", \"none\", \"inherit\", \"initial\"];\r\nvar getSizeByStyles = function(elementStyles, styles) {\r\n var result = 0;\r\n styles.forEach((function(style) {\r\n result += parseFloat(elementStyles[style]) || 0\r\n }));\r\n return result\r\n};\r\nexport var getElementBoxParams = function(name, elementStyles) {\r\n var beforeName = \"width\" === name ? \"Left\" : \"Top\";\r\n var afterName = \"width\" === name ? \"Right\" : \"Bottom\";\r\n return {\r\n padding: getSizeByStyles(elementStyles, [\"padding\" + beforeName, \"padding\" + afterName]),\r\n border: getSizeByStyles(elementStyles, [\"border\" + beforeName + \"Width\", \"border\" + afterName + \"Width\"]),\r\n margin: getSizeByStyles(elementStyles, [\"margin\" + beforeName, \"margin\" + afterName])\r\n }\r\n};\r\nvar getElementComputedStyle = function(element) {\r\n var _element$ownerDocumen;\r\n var view = (null === element || void 0 === element ? void 0 : null === (_element$ownerDocumen = element.ownerDocument) || void 0 === _element$ownerDocumen ? void 0 : _element$ownerDocumen.defaultView) || window;\r\n return view.getComputedStyle && view.getComputedStyle(element)\r\n};\r\nvar getCSSProperty = function(element, styles, name, defaultValue) {\r\n var _element$style;\r\n return (null === styles || void 0 === styles ? void 0 : styles[name]) || (null === (_element$style = element.style) || void 0 === _element$style ? void 0 : _element$style[name]) || defaultValue\r\n};\r\nvar boxIndices = {\r\n content: 0,\r\n padding: 1,\r\n border: 2,\r\n margin: 3,\r\n \"content-box\": 0,\r\n \"border-box\": 2\r\n};\r\nvar dimensionComponents = {\r\n width: [\"left\", \"right\"],\r\n height: [\"top\", \"bottom\"]\r\n};\r\n\r\nfunction getComponentThickness(elem, dimension, component, styles) {\r\n var get = (elem, styles, field) => parseFloat(getCSSProperty(elem, styles, field, \"0\")) || 0;\r\n var suffix = \"border\" === component ? \"-width\" : \"\";\r\n return get(elem, styles, \"\".concat(component, \"-\").concat(dimensionComponents[dimension][0]).concat(suffix)) + get(elem, styles, \"\".concat(component, \"-\").concat(dimensionComponents[dimension][1]).concat(suffix))\r\n}\r\nexport var getSize = function(element, dimension, box) {\r\n var offsetFieldName = \"width\" === dimension ? \"offsetWidth\" : \"offsetHeight\";\r\n var styles = getElementComputedStyle(element);\r\n var result = getCSSProperty(element, styles, dimension);\r\n if (\"\" === result || \"auto\" === result) {\r\n result = element[offsetFieldName]\r\n }\r\n result = parseFloat(result) || 0;\r\n var currentBox = getCSSProperty(element, styles, \"boxSizing\", \"content-box\");\r\n var targetBox = box || currentBox;\r\n var targetBoxIndex = boxIndices[targetBox];\r\n var currentBoxIndex = boxIndices[currentBox];\r\n if (void 0 === targetBoxIndex || void 0 === currentBoxIndex) {\r\n throw new Error\r\n }\r\n if (currentBoxIndex === targetBoxIndex) {\r\n return result\r\n }\r\n var coeff = Math.sign(targetBoxIndex - currentBoxIndex);\r\n var padding = false;\r\n var border = false;\r\n var margin = false;\r\n var scrollThickness = false;\r\n if (1 === coeff) {\r\n targetBoxIndex += 1;\r\n currentBoxIndex += 1\r\n }\r\n for (var boxPart = currentBoxIndex; boxPart !== targetBoxIndex; boxPart += coeff) {\r\n switch (boxPart) {\r\n case boxIndices.content:\r\n break;\r\n case boxIndices.padding:\r\n padding = coeff * getComponentThickness(element, dimension, \"padding\", styles);\r\n break;\r\n case boxIndices.border:\r\n border = coeff * getComponentThickness(element, dimension, \"border\", styles);\r\n break;\r\n case boxIndices.margin:\r\n margin = coeff * getComponentThickness(element, dimension, \"margin\", styles)\r\n }\r\n }\r\n if (padding || border) {\r\n var paddingAndBorder = (false === padding ? coeff * getComponentThickness(element, dimension, \"padding\", styles) : padding) + (false === border ? coeff * getComponentThickness(element, dimension, \"border\", styles) : border);\r\n scrollThickness = coeff * Math.max(0, Math.floor(element[offsetFieldName] - result - coeff * paddingAndBorder)) || 0\r\n }\r\n return result + margin + padding + border + scrollThickness\r\n};\r\nvar getContainerHeight = function(container) {\r\n return isWindow(container) ? container.innerHeight : container.offsetHeight\r\n};\r\nexport var parseHeight = function(value, container) {\r\n if (value.indexOf(\"px\") > 0) {\r\n value = parseInt(value.replace(\"px\", \"\"))\r\n } else if (value.indexOf(\"%\") > 0) {\r\n value = parseInt(value.replace(\"%\", \"\")) * getContainerHeight(container) / 100\r\n } else if (!isNaN(value)) {\r\n value = parseInt(value)\r\n } else if (value.indexOf(\"vh\") > 0) {\r\n value = window.innerHeight / 100 * parseInt(value.replace(\"vh\", \"\"))\r\n }\r\n return value\r\n};\r\nvar getHeightWithOffset = function(value, offset, container) {\r\n if (!value) {\r\n return null\r\n }\r\n if (SPECIAL_HEIGHT_VALUES.indexOf(value) > -1) {\r\n return offset ? null : value\r\n }\r\n if (isString(value)) {\r\n value = parseHeight(value, container)\r\n }\r\n if (isNumeric(value)) {\r\n return Math.max(0, value + offset)\r\n }\r\n var operationString = offset < 0 ? \" - \" : \" \";\r\n return \"calc(\" + value + operationString + Math.abs(offset) + \"px)\"\r\n};\r\nexport var addOffsetToMaxHeight = function(value, offset, container) {\r\n var maxHeight = getHeightWithOffset(value, offset, container);\r\n return null !== maxHeight ? maxHeight : \"none\"\r\n};\r\nexport var addOffsetToMinHeight = function(value, offset, container) {\r\n var minHeight = getHeightWithOffset(value, offset, container);\r\n return null !== minHeight ? minHeight : 0\r\n};\r\nexport var getVerticalOffsets = function(element, withMargins) {\r\n if (!element) {\r\n return 0\r\n }\r\n var boxParams = getElementBoxParams(\"height\", window.getComputedStyle(element));\r\n return boxParams.padding + boxParams.border + (withMargins ? boxParams.margin : 0)\r\n};\r\nexport var getVisibleHeight = function(element) {\r\n if (element) {\r\n var boundingClientRect = element.getBoundingClientRect();\r\n if (boundingClientRect.height) {\r\n return boundingClientRect.height\r\n }\r\n }\r\n return 0\r\n};\r\nexport var implementationsMap = {\r\n getWidth: function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return elementSizeHelper(\"width\", ...args)\r\n },\r\n setWidth: function() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n return elementSizeHelper(\"width\", ...args)\r\n },\r\n getHeight: function() {\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n return elementSizeHelper(\"height\", ...args)\r\n },\r\n setHeight: function() {\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n return elementSizeHelper(\"height\", ...args)\r\n },\r\n getOuterWidth: function() {\r\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\r\n args[_key5] = arguments[_key5]\r\n }\r\n return elementSizeHelper(\"outerWidth\", ...args)\r\n },\r\n setOuterWidth: function() {\r\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\r\n args[_key6] = arguments[_key6]\r\n }\r\n return elementSizeHelper(\"outerWidth\", ...args)\r\n },\r\n getOuterHeight: function() {\r\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\r\n args[_key7] = arguments[_key7]\r\n }\r\n return elementSizeHelper(\"outerHeight\", ...args)\r\n },\r\n setOuterHeight: function() {\r\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\r\n args[_key8] = arguments[_key8]\r\n }\r\n return elementSizeHelper(\"outerHeight\", ...args)\r\n },\r\n getInnerWidth: function() {\r\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\r\n args[_key9] = arguments[_key9]\r\n }\r\n return elementSizeHelper(\"innerWidth\", ...args)\r\n },\r\n setInnerWidth: function() {\r\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\r\n args[_key10] = arguments[_key10]\r\n }\r\n return elementSizeHelper(\"innerWidth\", ...args)\r\n },\r\n getInnerHeight: function() {\r\n for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\r\n args[_key11] = arguments[_key11]\r\n }\r\n return elementSizeHelper(\"innerHeight\", ...args)\r\n },\r\n setInnerHeight: function() {\r\n for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {\r\n args[_key12] = arguments[_key12]\r\n }\r\n return elementSizeHelper(\"innerHeight\", ...args)\r\n }\r\n};\r\n\r\nfunction elementSizeHelper(sizeProperty, el, value) {\r\n return 2 === arguments.length ? elementSize(el, sizeProperty) : elementSize(el, sizeProperty, value)\r\n}\r\nexport var getWidth = el => implementationsMap.getWidth(el);\r\nexport var setWidth = (el, value) => implementationsMap.setWidth(el, value);\r\nexport var getHeight = el => implementationsMap.getHeight(el);\r\nexport var setHeight = (el, value) => implementationsMap.setHeight(el, value);\r\nexport var getOuterWidth = (el, includeMargin) => implementationsMap.getOuterWidth(el, includeMargin || false);\r\nexport var setOuterWidth = (el, value) => implementationsMap.setOuterWidth(el, value);\r\nexport var getOuterHeight = (el, includeMargin) => implementationsMap.getOuterHeight(el, includeMargin || false);\r\nexport var setOuterHeight = (el, value) => implementationsMap.setOuterHeight(el, value);\r\nexport var getInnerWidth = el => implementationsMap.getInnerWidth(el);\r\nexport var setInnerWidth = (el, value) => implementationsMap.setInnerWidth(el, value);\r\nexport var getInnerHeight = el => implementationsMap.getInnerHeight(el);\r\nexport var setInnerHeight = (el, value) => implementationsMap.setInnerHeight(el, value);\r\nvar elementSize = function elementSize(el, sizeProperty, value) {\r\n var partialName = sizeProperty.toLowerCase().indexOf(\"width\") >= 0 ? \"Width\" : \"Height\";\r\n var propName = partialName.toLowerCase();\r\n var isOuter = 0 === sizeProperty.indexOf(\"outer\");\r\n var isInner = 0 === sizeProperty.indexOf(\"inner\");\r\n var isGetter = 2 === arguments.length || \"boolean\" === typeof value;\r\n if (isRenderer(el)) {\r\n if (el.length > 1 && !isGetter) {\r\n for (var i = 0; i < el.length; i++) {\r\n elementSize(el[i], sizeProperty, value)\r\n }\r\n return\r\n }\r\n el = el[0]\r\n }\r\n if (!el) {\r\n return\r\n }\r\n if (isWindow(el)) {\r\n return isOuter ? el[\"inner\" + partialName] : domAdapter.getDocumentElement()[\"client\" + partialName]\r\n }\r\n if (domAdapter.isDocument(el)) {\r\n var documentElement = domAdapter.getDocumentElement();\r\n var body = domAdapter.getBody();\r\n return Math.max(body[\"scroll\" + partialName], body[\"offset\" + partialName], documentElement[\"scroll\" + partialName], documentElement[\"offset\" + partialName], documentElement[\"client\" + partialName])\r\n }\r\n if (isGetter) {\r\n var box = \"content\";\r\n if (isOuter) {\r\n box = value ? \"margin\" : \"border\"\r\n }\r\n if (isInner) {\r\n box = \"padding\"\r\n }\r\n return getSize(el, propName, box)\r\n }\r\n if (isNumeric(value)) {\r\n var elementStyles = getElementComputedStyle(el);\r\n var sizeAdjustment = getElementBoxParams(propName, elementStyles);\r\n var isBorderBox = \"border-box\" === elementStyles.boxSizing;\r\n value = Number(value);\r\n if (isOuter) {\r\n value -= isBorderBox ? 0 : sizeAdjustment.border + sizeAdjustment.padding\r\n } else if (isInner) {\r\n value += isBorderBox ? sizeAdjustment.border : -sizeAdjustment.padding\r\n } else if (isBorderBox) {\r\n value += sizeAdjustment.border + sizeAdjustment.padding\r\n }\r\n }\r\n value += isNumeric(value) ? \"px\" : \"\";\r\n domAdapter.setStyle(el, propName, value);\r\n return null\r\n};\r\nexport var getWindowByElement = el => isWindow(el) ? el : el.defaultView;\r\nexport var getOffset = el => {\r\n if (!el.getClientRects().length) {\r\n return {\r\n top: 0,\r\n left: 0\r\n }\r\n }\r\n var rect = el.getBoundingClientRect();\r\n var win = getWindowByElement(el.ownerDocument);\r\n var docElem = el.ownerDocument.documentElement;\r\n return {\r\n top: rect.top + win.pageYOffset - docElem.clientTop,\r\n left: rect.left + win.pageXOffset - docElem.clientLeft\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/string.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction,\r\n isString\r\n} from \"./type\";\r\nexport var encodeHtml = function() {\r\n var encodeRegExp = [new RegExp(\"&\", \"g\"), new RegExp('\"', \"g\"), new RegExp(\"'\", \"g\"), new RegExp(\"<\", \"g\"), new RegExp(\">\", \"g\")];\r\n return function(str) {\r\n return String(str).replace(encodeRegExp[0], \"&\").replace(encodeRegExp[1], \""\").replace(encodeRegExp[2], \"'\").replace(encodeRegExp[3], \"<\").replace(encodeRegExp[4], \">\")\r\n }\r\n}();\r\nvar splitQuad = function(raw) {\r\n switch (typeof raw) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 4);\r\n case \"object\":\r\n return [raw.x || raw.h || raw.left, raw.y || raw.v || raw.top, raw.x || raw.h || raw.right, raw.y || raw.v || raw.bottom];\r\n case \"number\":\r\n return [raw];\r\n default:\r\n return raw\r\n }\r\n};\r\nexport var quadToObject = function(raw) {\r\n var quad = splitQuad(raw);\r\n var left = parseInt(quad && quad[0], 10);\r\n var top = parseInt(quad && quad[1], 10);\r\n var right = parseInt(quad && quad[2], 10);\r\n var bottom = parseInt(quad && quad[3], 10);\r\n if (!isFinite(left)) {\r\n left = 0\r\n }\r\n if (!isFinite(top)) {\r\n top = left\r\n }\r\n if (!isFinite(right)) {\r\n right = left\r\n }\r\n if (!isFinite(bottom)) {\r\n bottom = top\r\n }\r\n return {\r\n top: top,\r\n right: right,\r\n bottom: bottom,\r\n left: left\r\n }\r\n};\r\nexport function format(template) {\r\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\r\n values[_key - 1] = arguments[_key]\r\n }\r\n if (isFunction(template)) {\r\n return template(...values)\r\n }\r\n values.forEach((value, index) => {\r\n if (isString(value)) {\r\n value = value.replace(/\\$/g, \"$$$$\")\r\n }\r\n var placeholderReg = new RegExp(\"\\\\{\" + index + \"\\\\}\", \"gm\");\r\n template = template.replace(placeholderReg, value)\r\n });\r\n return template\r\n}\r\nexport var replaceAll = function(text, searchToken, replacementToken) {\r\n return text.replace(new RegExp(\"(\" + (str = searchToken, (str + \"\").replace(/([+*?.[^\\]$(){}><|=!:])/g, \"\\\\$1\")) + \")\", \"gi\"), replacementToken);\r\n var str\r\n};\r\nexport var isEmpty = function() {\r\n var SPACE_REGEXP = /\\s/g;\r\n return function(text) {\r\n return !text || !text.replace(SPACE_REGEXP, \"\")\r\n }\r\n}();\r\n","/**\r\n * DevExtreme (esm/core/utils/style.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n camelize\r\n} from \"./inflector\";\r\nimport callOnce from \"./call_once\";\r\nimport {\r\n isNumeric,\r\n isString\r\n} from \"./type\";\r\nimport domAdapter from \"../dom_adapter\";\r\nvar jsPrefixes = [\"\", \"Webkit\", \"Moz\", \"O\", \"Ms\"];\r\nvar cssPrefixes = {\r\n \"\": \"\",\r\n Webkit: \"-webkit-\",\r\n Moz: \"-moz-\",\r\n O: \"-o-\",\r\n ms: \"-ms-\"\r\n};\r\nvar getStyles = callOnce((function() {\r\n return domAdapter.createElement(\"dx\").style\r\n}));\r\nvar forEachPrefixes = function(prop, callBack) {\r\n prop = camelize(prop, true);\r\n var result;\r\n for (var i = 0, cssPrefixesCount = jsPrefixes.length; i < cssPrefixesCount; i++) {\r\n var jsPrefix = jsPrefixes[i];\r\n var prefixedProp = jsPrefix + prop;\r\n var lowerPrefixedProp = camelize(prefixedProp);\r\n result = callBack(lowerPrefixedProp, jsPrefix);\r\n if (void 0 === result) {\r\n result = callBack(prefixedProp, jsPrefix)\r\n }\r\n if (void 0 !== result) {\r\n break\r\n }\r\n }\r\n return result || \"\"\r\n};\r\nvar styleProp = function(name) {\r\n if (name in getStyles()) {\r\n return name\r\n }\r\n var originalName = name;\r\n name = name.charAt(0).toUpperCase() + name.substr(1);\r\n for (var i = 1; i < jsPrefixes.length; i++) {\r\n var prefixedProp = jsPrefixes[i].toLowerCase() + name;\r\n if (prefixedProp in getStyles()) {\r\n return prefixedProp\r\n }\r\n }\r\n return originalName\r\n};\r\nvar stylePropPrefix = function(prop) {\r\n return forEachPrefixes(prop, (function(specific, jsPrefix) {\r\n if (specific in getStyles()) {\r\n return cssPrefixes[jsPrefix]\r\n }\r\n }))\r\n};\r\nvar pxExceptions = [\"fillOpacity\", \"columnCount\", \"flexGrow\", \"flexShrink\", \"fontWeight\", \"lineHeight\", \"opacity\", \"zIndex\", \"zoom\"];\r\nvar parsePixelValue = function(value) {\r\n if (isNumeric(value)) {\r\n return value\r\n } else if (isString(value)) {\r\n return Number(value.replace(\"px\", \"\"))\r\n }\r\n return NaN\r\n};\r\nvar normalizeStyleProp = function(prop, value) {\r\n if (isNumeric(value) && -1 === pxExceptions.indexOf(prop)) {\r\n value += \"px\"\r\n }\r\n return value\r\n};\r\nvar setDimensionProperty = function(elements, propertyName, value) {\r\n if (elements) {\r\n value = isNumeric(value) ? value += \"px\" : value;\r\n for (var i = 0; i < elements.length; ++i) {\r\n elements[i].style[propertyName] = value\r\n }\r\n }\r\n};\r\nvar setWidth = function(elements, value) {\r\n setDimensionProperty(elements, \"width\", value)\r\n};\r\nvar setHeight = function(elements, value) {\r\n setDimensionProperty(elements, \"height\", value)\r\n};\r\nexport {\r\n styleProp,\r\n stylePropPrefix,\r\n normalizeStyleProp,\r\n parsePixelValue,\r\n setWidth,\r\n setHeight\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/support.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport callOnce from \"./call_once\";\r\nimport {\r\n getNavigator,\r\n hasProperty\r\n} from \"./window\";\r\nimport devices from \"../devices\";\r\nimport {\r\n stylePropPrefix,\r\n styleProp\r\n} from \"./style\";\r\nvar {\r\n maxTouchPoints: maxTouchPoints\r\n} = getNavigator();\r\nvar transitionEndEventNames = {\r\n webkitTransition: \"webkitTransitionEnd\",\r\n MozTransition: \"transitionend\",\r\n OTransition: \"oTransitionEnd\",\r\n transition: \"transitionend\"\r\n};\r\nvar supportProp = function(prop) {\r\n return !!styleProp(prop)\r\n};\r\nvar isNativeScrollingSupported = function() {\r\n var {\r\n platform: platform,\r\n mac: isMac\r\n } = devices.real();\r\n var isNativeScrollDevice = \"ios\" === platform || \"android\" === platform || isMac;\r\n return isNativeScrollDevice\r\n};\r\nvar inputType = function(type) {\r\n if (\"text\" === type) {\r\n return true\r\n }\r\n var input = domAdapter.createElement(\"input\");\r\n try {\r\n input.setAttribute(\"type\", type);\r\n input.value = \"wrongValue\";\r\n return !input.value\r\n } catch (e) {\r\n return false\r\n }\r\n};\r\nvar detectTouchEvents = function(hasWindowProperty, maxTouchPoints) {\r\n return (hasWindowProperty(\"ontouchstart\") || !!maxTouchPoints) && !hasWindowProperty(\"callPhantom\")\r\n};\r\nvar detectPointerEvent = function(hasWindowProperty) {\r\n return hasWindowProperty(\"PointerEvent\")\r\n};\r\nvar touchEvents = detectTouchEvents(hasProperty, maxTouchPoints);\r\nvar pointerEvents = detectPointerEvent(hasProperty);\r\nvar touchPointersPresent = !!maxTouchPoints;\r\nexport {\r\n touchEvents,\r\n pointerEvents,\r\n styleProp,\r\n stylePropPrefix,\r\n supportProp,\r\n inputType\r\n};\r\nexport var touch = touchEvents || pointerEvents && touchPointersPresent;\r\nexport var transition = callOnce((function() {\r\n return supportProp(\"transition\")\r\n}));\r\nexport var transitionEndEventName = callOnce((function() {\r\n return transitionEndEventNames[styleProp(\"transition\")]\r\n}));\r\nexport var animation = callOnce((function() {\r\n return supportProp(\"animation\")\r\n}));\r\nexport var nativeScrolling = isNativeScrollingSupported();\r\n","/**\r\n * DevExtreme (esm/core/templates/template_engine_registry.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString\r\n} from \"../utils/type\";\r\nimport errors from \"../errors\";\r\nvar templateEngines = {};\r\nvar currentTemplateEngine;\r\nexport function registerTemplateEngine(name, templateEngine) {\r\n templateEngines[name] = templateEngine\r\n}\r\nexport function setTemplateEngine(templateEngine) {\r\n if (isString(templateEngine)) {\r\n currentTemplateEngine = templateEngines[templateEngine];\r\n if (!currentTemplateEngine) {\r\n throw errors.Error(\"E0020\", templateEngine)\r\n }\r\n } else {\r\n currentTemplateEngine = templateEngine\r\n }\r\n}\r\nexport function getCurrentTemplateEngine() {\r\n return currentTemplateEngine\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/template_engines.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extractTemplateMarkup\r\n} from \"../utils/dom\";\r\nimport {\r\n registerTemplateEngine\r\n} from \"./template_engine_registry\";\r\nregisterTemplateEngine(\"jquery-tmpl\", {\r\n compile: element => extractTemplateMarkup(element),\r\n render: (template, data) => jQuery.tmpl(template, data)\r\n});\r\nregisterTemplateEngine(\"jsrender\", {\r\n compile: element => (jQuery ? jQuery : jsrender).templates(extractTemplateMarkup(element)),\r\n render: (template, data) => template.render(data)\r\n});\r\nregisterTemplateEngine(\"mustache\", {\r\n compile: element => extractTemplateMarkup(element),\r\n render: (template, data) => Mustache.render(template, data)\r\n});\r\nregisterTemplateEngine(\"hogan\", {\r\n compile: element => Hogan.compile(extractTemplateMarkup(element)),\r\n render: (template, data) => template.render(data)\r\n});\r\nregisterTemplateEngine(\"underscore\", {\r\n compile: element => _.template(extractTemplateMarkup(element)),\r\n render: (template, data) => template(data)\r\n});\r\nregisterTemplateEngine(\"handlebars\", {\r\n compile: element => Handlebars.compile(extractTemplateMarkup(element)),\r\n render: (template, data) => template(data)\r\n});\r\nregisterTemplateEngine(\"doT\", {\r\n compile: element => doT.template(extractTemplateMarkup(element)),\r\n render: (template, data) => template(data)\r\n});\r\n","/**\r\n * DevExtreme (esm/core/templates/template.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"../utils/dom\";\r\nimport {\r\n getCurrentTemplateEngine,\r\n registerTemplateEngine,\r\n setTemplateEngine\r\n} from \"./template_engine_registry\";\r\nimport \"./template_engines\";\r\nregisterTemplateEngine(\"default\", {\r\n compile: element => normalizeTemplateElement(element),\r\n render: (template, model, index) => template.clone()\r\n});\r\nsetTemplateEngine(\"default\");\r\nexport class Template extends TemplateBase {\r\n constructor(element) {\r\n super();\r\n this._element = element\r\n }\r\n _renderCore(options) {\r\n var transclude = options.transclude;\r\n if (!transclude && !this._compiledTemplate) {\r\n this._compiledTemplate = getCurrentTemplateEngine().compile(this._element)\r\n }\r\n return $(\"
\").append(transclude ? this._element : getCurrentTemplateEngine().render(this._compiledTemplate, options.model, options.index)).contents()\r\n }\r\n source() {\r\n return $(this._element).clone()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/template_manager.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../config\";\r\nimport devices from \"../devices\";\r\nimport Errors from \"../errors\";\r\nimport $ from \"../renderer\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../templates/child_default_template\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../templates/empty_template\";\r\nimport {\r\n Template\r\n} from \"../templates/template\";\r\nimport {\r\n TemplateBase\r\n} from \"../templates/template_base\";\r\nimport {\r\n groupBy\r\n} from \"./array\";\r\nimport {\r\n findBestMatches\r\n} from \"./common\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"./dom\";\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n isFunction,\r\n isRenderer\r\n} from \"./type\";\r\nexport var findTemplates = (element, name) => {\r\n var templates = $(element).contents().filter(\"[\".concat(\"data-options\", '*=\"').concat(name, '\"]'));\r\n return [].slice.call(templates).map(element => {\r\n var optionsString = $(element).attr(\"data-options\") || \"\";\r\n return {\r\n element: element,\r\n options: config().optionsParser(optionsString)[name]\r\n }\r\n }).filter(template => !!template.options)\r\n};\r\nexport var suitableTemplatesByName = rawTemplates => {\r\n var templatesMap = groupBy(rawTemplates, template => template.options.name);\r\n if (templatesMap[void 0]) {\r\n throw Errors.Error(\"E0023\")\r\n }\r\n var result = {};\r\n Object.keys(templatesMap).forEach(name => {\r\n var _findBestMatches$;\r\n var suitableTemplate = null === (_findBestMatches$ = findBestMatches(devices.current(), templatesMap[name], template => template.options)[0]) || void 0 === _findBestMatches$ ? void 0 : _findBestMatches$.element;\r\n if (suitableTemplate) {\r\n result[name] = suitableTemplate\r\n }\r\n });\r\n return result\r\n};\r\nexport var addOneRenderedCall = template => {\r\n var render = template.render.bind(template);\r\n return extend({}, template, {\r\n render(options) {\r\n var templateResult = render(options);\r\n options && options.onRendered && options.onRendered();\r\n return templateResult\r\n }\r\n })\r\n};\r\nexport var getNormalizedTemplateArgs = options => {\r\n var args = [];\r\n if (\"model\" in options) {\r\n args.push(options.model)\r\n }\r\n if (\"index\" in options) {\r\n args.push(options.index)\r\n }\r\n args.push(options.container);\r\n return args\r\n};\r\nexport var validateTemplateSource = templateSource => \"string\" === typeof templateSource ? normalizeTemplateElement(templateSource) : templateSource;\r\nexport var templateKey = templateSource => isRenderer(templateSource) && templateSource[0] || templateSource;\r\nexport var defaultCreateElement = element => new Template(element);\r\nexport var acquireIntegrationTemplate = (templateSource, templates, isAsyncTemplate, skipTemplates) => {\r\n var integrationTemplate = null;\r\n if (!skipTemplates || -1 === skipTemplates.indexOf(templateSource)) {\r\n integrationTemplate = templates[templateSource];\r\n if (integrationTemplate && !(integrationTemplate instanceof TemplateBase) && !isAsyncTemplate) {\r\n integrationTemplate = addOneRenderedCall(integrationTemplate)\r\n }\r\n }\r\n return integrationTemplate\r\n};\r\nexport var acquireTemplate = (templateSource, createTemplate, templates, isAsyncTemplate, skipTemplates, defaultTemplates) => {\r\n if (null == templateSource) {\r\n return new EmptyTemplate\r\n }\r\n if (templateSource instanceof ChildDefaultTemplate) {\r\n return defaultTemplates[templateSource.name]\r\n }\r\n if (templateSource instanceof TemplateBase) {\r\n return templateSource\r\n }\r\n if (isFunction(templateSource.render) && !isRenderer(templateSource)) {\r\n return isAsyncTemplate ? templateSource : addOneRenderedCall(templateSource)\r\n }\r\n if (templateSource.nodeType || isRenderer(templateSource)) {\r\n return createTemplate($(templateSource))\r\n }\r\n return acquireIntegrationTemplate(templateSource, templates, isAsyncTemplate, skipTemplates) || defaultTemplates[templateSource] || createTemplate(templateSource)\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/type.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar types = {\r\n \"[object Array]\": \"array\",\r\n \"[object Date]\": \"date\",\r\n \"[object Object]\": \"object\",\r\n \"[object String]\": \"string\",\r\n \"[object Null]\": \"null\"\r\n};\r\nvar type = function(object) {\r\n var typeOfObject = Object.prototype.toString.call(object);\r\n return \"object\" === typeof object ? types[typeOfObject] || \"object\" : typeof object\r\n};\r\nvar isBoolean = function(object) {\r\n return \"boolean\" === typeof object\r\n};\r\nvar isExponential = function(value) {\r\n return isNumeric(value) && -1 !== value.toString().indexOf(\"e\")\r\n};\r\nvar isDate = function(object) {\r\n return \"date\" === type(object)\r\n};\r\nvar isDefined = function(object) {\r\n return null !== object && void 0 !== object\r\n};\r\nvar isFunction = function(object) {\r\n return \"function\" === typeof object\r\n};\r\nvar isString = function(object) {\r\n return \"string\" === typeof object\r\n};\r\nvar isNumeric = function(object) {\r\n return \"number\" === typeof object && isFinite(object) || !isNaN(object - parseFloat(object))\r\n};\r\nvar isObject = function(object) {\r\n return \"object\" === type(object)\r\n};\r\nvar isEmptyObject = function(object) {\r\n var property;\r\n for (property in object) {\r\n return false\r\n }\r\n return true\r\n};\r\nvar isPlainObject = function(object) {\r\n if (!object || \"[object Object]\" !== Object.prototype.toString.call(object)) {\r\n return false\r\n }\r\n var proto = Object.getPrototypeOf(object);\r\n var ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\r\n return \"function\" === typeof ctor && Object.toString.call(ctor) === Object.toString.call(Object)\r\n};\r\nvar isPrimitive = function(value) {\r\n return -1 === [\"object\", \"array\", \"function\"].indexOf(type(value))\r\n};\r\nvar isWindow = function(object) {\r\n return null != object && object === object.window\r\n};\r\nvar isRenderer = function(object) {\r\n return !!object && !!(object.jquery || object.dxRenderer)\r\n};\r\nvar isPromise = function(object) {\r\n return !!object && isFunction(object.then)\r\n};\r\nvar isDeferred = function(object) {\r\n return !!object && isFunction(object.done) && isFunction(object.fail)\r\n};\r\nvar isEvent = function(object) {\r\n return !!(object && object.preventDefault)\r\n};\r\nexport {\r\n isBoolean,\r\n isExponential,\r\n isDate,\r\n isDefined,\r\n isFunction,\r\n isString,\r\n isNumeric,\r\n isObject,\r\n isEmptyObject,\r\n isPlainObject,\r\n isPrimitive,\r\n isWindow,\r\n isRenderer,\r\n isPromise,\r\n isDeferred,\r\n type,\r\n isEvent\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/variable_wrapper.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n logger\r\n} from \"./console\";\r\nimport dependencyInjector from \"./dependency_injector\";\r\nexport default dependencyInjector({\r\n isWrapped: function() {\r\n return false\r\n },\r\n isWritableWrapped: function() {\r\n return false\r\n },\r\n wrap: function(value) {\r\n return value\r\n },\r\n unwrap: function(value) {\r\n return value\r\n },\r\n assign: function() {\r\n logger.error(\"Method 'assign' should not be used for not wrapped variables. Use 'isWrapped' method for ensuring.\")\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/utils/version.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function compare(x, y, maxLevel) {\r\n function normalizeArg(value) {\r\n if (\"string\" === typeof value) {\r\n return value.split(\".\")\r\n }\r\n if (\"number\" === typeof value) {\r\n return [value]\r\n }\r\n return value\r\n }\r\n x = normalizeArg(x);\r\n y = normalizeArg(y);\r\n var length = Math.max(x.length, y.length);\r\n if (isFinite(maxLevel)) {\r\n length = Math.min(length, maxLevel)\r\n }\r\n for (var i = 0; i < length; i++) {\r\n var xItem = parseInt(x[i] || 0, 10);\r\n var yItem = parseInt(y[i] || 0, 10);\r\n if (xItem < yItem) {\r\n return -1\r\n }\r\n if (xItem > yItem) {\r\n return 1\r\n }\r\n }\r\n return 0\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/view_port.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport readyCallbacks from \"./ready_callbacks\";\r\nvar ready = readyCallbacks.add;\r\nimport callbacks from \"./callbacks\";\r\nvar changeCallback = callbacks();\r\nvar $originalViewPort = $();\r\nvar value = function() {\r\n var $current;\r\n return function(element) {\r\n if (!arguments.length) {\r\n return $current\r\n }\r\n var $element = $(element);\r\n $originalViewPort = $element;\r\n var isNewViewportFound = !!$element.length;\r\n var prevViewPort = value();\r\n $current = isNewViewportFound ? $element : $(\"body\");\r\n changeCallback.fire(isNewViewportFound ? value() : $(), prevViewPort)\r\n }\r\n}();\r\nready((function() {\r\n value(\".dx-viewport\")\r\n}));\r\nexport {\r\n value,\r\n changeCallback\r\n};\r\nexport function originalViewPort() {\r\n return $originalViewPort\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/window.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nvar hasWindowValue = \"undefined\" !== typeof window;\r\nvar hasWindow = () => hasWindowValue;\r\nvar windowObject = hasWindow() ? window : void 0;\r\nif (!windowObject) {\r\n windowObject = {};\r\n windowObject.window = windowObject\r\n}\r\nvar getWindow = () => windowObject;\r\nvar setWindow = (newWindowObject, hasWindow) => {\r\n if (void 0 === hasWindow) {\r\n hasWindowValue = \"undefined\" !== typeof window && window === newWindowObject\r\n } else {\r\n hasWindowValue = hasWindow\r\n }\r\n windowObject = newWindowObject\r\n};\r\nvar hasProperty = prop => hasWindow() && prop in windowObject;\r\nvar defaultScreenFactorFunc = width => {\r\n if (width < 768) {\r\n return \"xs\"\r\n } else if (width < 992) {\r\n return \"sm\"\r\n } else if (width < 1200) {\r\n return \"md\"\r\n } else {\r\n return \"lg\"\r\n }\r\n};\r\nvar getCurrentScreenFactor = screenFactorCallback => {\r\n var screenFactorFunc = screenFactorCallback || defaultScreenFactorFunc;\r\n var windowWidth = domAdapter.getDocumentElement().clientWidth;\r\n return screenFactorFunc(windowWidth)\r\n};\r\nvar getNavigator = () => hasWindow() ? windowObject.navigator : {\r\n userAgent: \"\"\r\n};\r\nexport {\r\n hasWindow,\r\n getWindow,\r\n setWindow,\r\n hasProperty,\r\n defaultScreenFactorFunc,\r\n getCurrentScreenFactor,\r\n getNavigator\r\n};\r\n","/**\r\n * DevExtreme (esm/data/abstract_store.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n EventsStrategy\r\n} from \"../core/events_strategy\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n errors,\r\n handleError\r\n} from \"./errors\";\r\nimport {\r\n processRequestResultLock\r\n} from \"./utils\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport storeHelper from \"./store_helper\";\r\nvar queryByOptions = storeHelper.queryByOptions;\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nvar storeImpl = {};\r\nvar Store = Class.inherit({\r\n ctor: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy = new EventsStrategy(this);\r\n each([\"onLoaded\", \"onLoading\", \"onInserted\", \"onInserting\", \"onUpdated\", \"onUpdating\", \"onPush\", \"onRemoved\", \"onRemoving\", \"onModified\", \"onModifying\"], (function(_, optionName) {\r\n if (optionName in options) {\r\n that.on(optionName.slice(2).toLowerCase(), options[optionName])\r\n }\r\n }));\r\n this._key = options.key;\r\n this._errorHandler = options.errorHandler;\r\n this._useDefaultSearch = true\r\n },\r\n _clearCache: noop,\r\n _customLoadOptions: function() {\r\n return null\r\n },\r\n key: function() {\r\n return this._key\r\n },\r\n keyOf: function(obj) {\r\n if (!this._keyGetter) {\r\n this._keyGetter = compileGetter(this.key())\r\n }\r\n return this._keyGetter(obj)\r\n },\r\n _requireKey: function() {\r\n if (!this.key()) {\r\n throw errors.Error(\"E4005\")\r\n }\r\n },\r\n load: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy.fireEvent(\"loading\", [options]);\r\n return this._withLock(this._loadImpl(options)).done((function(result) {\r\n that._eventsStrategy.fireEvent(\"loaded\", [result, options])\r\n }))\r\n },\r\n _loadImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options).enumerate()\r\n },\r\n _withLock: function(task) {\r\n var result = new Deferred;\r\n task.done((function() {\r\n var that = this;\r\n var args = arguments;\r\n processRequestResultLock.promise().done((function() {\r\n result.resolveWith(that, args)\r\n }))\r\n })).fail((function() {\r\n result.rejectWith(this, arguments)\r\n }));\r\n return result\r\n },\r\n createQuery: abstract,\r\n totalCount: function(options) {\r\n return this._totalCountImpl(options)\r\n },\r\n _totalCountImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options, true).count()\r\n },\r\n byKey: function(key, extraOptions) {\r\n return this._addFailHandlers(this._withLock(this._byKeyImpl(key, extraOptions)))\r\n },\r\n _byKeyImpl: abstract,\r\n insert: function(values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"inserting\", [values]);\r\n return that._addFailHandlers(that._insertImpl(values).done((function(callbackValues, callbackKey) {\r\n that._eventsStrategy.fireEvent(\"inserted\", [callbackValues, callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _insertImpl: abstract,\r\n update: function(key, values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"updating\", [key, values]);\r\n return that._addFailHandlers(that._updateImpl(key, values).done((function() {\r\n that._eventsStrategy.fireEvent(\"updated\", [key, values]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _updateImpl: abstract,\r\n push: function(changes) {\r\n var beforePushArgs = {\r\n changes: changes,\r\n waitFor: []\r\n };\r\n this._eventsStrategy.fireEvent(\"beforePush\", [beforePushArgs]);\r\n when(...beforePushArgs.waitFor).done(() => {\r\n this._pushImpl(changes);\r\n this._eventsStrategy.fireEvent(\"push\", [changes])\r\n })\r\n },\r\n _pushImpl: noop,\r\n remove: function(key) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"removing\", [key]);\r\n return that._addFailHandlers(that._removeImpl(key).done((function(callbackKey) {\r\n that._eventsStrategy.fireEvent(\"removed\", [callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _removeImpl: abstract,\r\n _addFailHandlers: function(deferred) {\r\n return deferred.fail(this._errorHandler).fail(handleError)\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nStore.create = function(alias, options) {\r\n if (!(alias in storeImpl)) {\r\n throw errors.Error(\"E4020\", alias)\r\n }\r\n return new storeImpl[alias](options)\r\n};\r\nStore.registerClass = function(type, alias) {\r\n if (alias) {\r\n storeImpl[alias] = type\r\n }\r\n return type\r\n};\r\nStore.inherit = function(inheritor) {\r\n return function(members, alias) {\r\n var type = inheritor.apply(this, [members]);\r\n Store.registerClass(type, alias);\r\n return type\r\n }\r\n}(Store.inherit);\r\nexport default Store;\r\n","/**\r\n * DevExtreme (esm/data/array_query.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nimport {\r\n isFunction,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../core/utils/data\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n errors,\r\n handleError as handleDataError\r\n} from \"./errors\";\r\nimport {\r\n aggregators,\r\n isGroupCriterion,\r\n isUnaryOperation,\r\n normalizeBinaryCriterion,\r\n isConjunctiveOperator as isConjunctiveOperatorChecker\r\n} from \"./utils\";\r\nvar Iterator = Class.inherit({\r\n toArray: function() {\r\n var result = [];\r\n this.reset();\r\n while (this.next()) {\r\n result.push(this.current())\r\n }\r\n return result\r\n },\r\n countable: function() {\r\n return false\r\n }\r\n});\r\nvar ArrayIterator = Iterator.inherit({\r\n ctor: function(array) {\r\n this.array = array;\r\n this.index = -1\r\n },\r\n next: function() {\r\n if (this.index + 1 < this.array.length) {\r\n this.index++;\r\n return true\r\n }\r\n return false\r\n },\r\n current: function() {\r\n return this.array[this.index]\r\n },\r\n reset: function() {\r\n this.index = -1\r\n },\r\n toArray: function() {\r\n return this.array.slice(0)\r\n },\r\n countable: function() {\r\n return true\r\n },\r\n count: function() {\r\n return this.array.length\r\n }\r\n});\r\nvar WrappedIterator = Iterator.inherit({\r\n ctor: function(iter) {\r\n this.iter = iter\r\n },\r\n next: function() {\r\n return this.iter.next()\r\n },\r\n current: function() {\r\n return this.iter.current()\r\n },\r\n reset: function() {\r\n return this.iter.reset()\r\n }\r\n});\r\nvar MapIterator = WrappedIterator.inherit({\r\n ctor: function(iter, mapper) {\r\n this.callBase(iter);\r\n this.index = -1;\r\n this.mapper = mapper\r\n },\r\n current: function() {\r\n return this.mapper(this.callBase(), this.index)\r\n },\r\n next: function() {\r\n var hasNext = this.callBase();\r\n if (hasNext) {\r\n this.index++\r\n }\r\n return hasNext\r\n }\r\n});\r\nvar defaultCompare = function(xValue, yValue) {\r\n xValue = toComparable(xValue);\r\n yValue = toComparable(yValue);\r\n if (null === xValue && null !== yValue) {\r\n return -1\r\n }\r\n if (null !== xValue && null === yValue) {\r\n return 1\r\n }\r\n if (void 0 === xValue && void 0 !== yValue) {\r\n return 1\r\n }\r\n if (void 0 !== xValue && void 0 === yValue) {\r\n return -1\r\n }\r\n if (xValue < yValue) {\r\n return -1\r\n }\r\n if (xValue > yValue) {\r\n return 1\r\n }\r\n return 0\r\n};\r\nvar SortIterator = Iterator.inherit({\r\n ctor: function(iter, getter, desc, compare) {\r\n if (!(iter instanceof MapIterator)) {\r\n iter = new MapIterator(iter, this._wrap)\r\n }\r\n this.iter = iter;\r\n this.rules = [{\r\n getter: getter,\r\n desc: desc,\r\n compare: compare\r\n }]\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n var result = new SortIterator(this.sortedIter || this.iter, getter, desc, compare);\r\n if (!this.sortedIter) {\r\n result.rules = this.rules.concat(result.rules)\r\n }\r\n return result\r\n },\r\n next: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.next()\r\n },\r\n current: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.current()\r\n },\r\n reset: function() {\r\n delete this.sortedIter\r\n },\r\n countable: function() {\r\n return this.sortedIter || this.iter.countable()\r\n },\r\n count: function() {\r\n if (this.sortedIter) {\r\n return this.sortedIter.count()\r\n }\r\n return this.iter.count()\r\n },\r\n _ensureSorted: function() {\r\n var that = this;\r\n if (that.sortedIter) {\r\n return\r\n }\r\n each(that.rules, (function() {\r\n this.getter = compileGetter(this.getter)\r\n }));\r\n that.sortedIter = new MapIterator(new ArrayIterator(this.iter.toArray().sort((function(x, y) {\r\n return that._compare(x, y)\r\n }))), that._unwrap)\r\n },\r\n _wrap: function(record, index) {\r\n return {\r\n index: index,\r\n value: record\r\n }\r\n },\r\n _unwrap: function(wrappedItem) {\r\n return wrappedItem.value\r\n },\r\n _compare: function(x, y) {\r\n var xIndex = x.index;\r\n var yIndex = y.index;\r\n x = x.value;\r\n y = y.value;\r\n if (x === y) {\r\n return xIndex - yIndex\r\n }\r\n for (var i = 0, rulesCount = this.rules.length; i < rulesCount; i++) {\r\n var rule = this.rules[i];\r\n var xValue = rule.getter(x);\r\n var yValue = rule.getter(y);\r\n var compare = rule.compare || defaultCompare;\r\n var compareResult = compare(xValue, yValue);\r\n if (compareResult) {\r\n return rule.desc ? -compareResult : compareResult\r\n }\r\n }\r\n return xIndex - yIndex\r\n }\r\n});\r\nvar compileCriteria = function() {\r\n var toString = function(value) {\r\n return isDefined(value) ? value.toString() : \"\"\r\n };\r\n\r\n function compileEquals(getter, value, negate) {\r\n return function(obj) {\r\n obj = toComparable(getter(obj));\r\n var result = function(value) {\r\n return \"\" === value || 0 === value || false === value\r\n }(value) ? obj === value : obj == value;\r\n if (negate) {\r\n result = !result\r\n }\r\n return result\r\n }\r\n }\r\n return function(crit) {\r\n if (isFunction(crit)) {\r\n return crit\r\n }\r\n if (isGroupCriterion(crit)) {\r\n return function(crit) {\r\n var ops = [];\r\n var isConjunctiveOperator = false;\r\n var isConjunctiveNextOperator = false;\r\n each(crit, (function() {\r\n if (Array.isArray(this) || isFunction(this)) {\r\n if (ops.length > 1 && isConjunctiveOperator !== isConjunctiveNextOperator) {\r\n throw new errors.Error(\"E4019\")\r\n }\r\n ops.push(compileCriteria(this));\r\n isConjunctiveOperator = isConjunctiveNextOperator;\r\n isConjunctiveNextOperator = true\r\n } else {\r\n isConjunctiveNextOperator = isConjunctiveOperatorChecker(this)\r\n }\r\n }));\r\n return function(d) {\r\n var result = isConjunctiveOperator;\r\n for (var i = 0; i < ops.length; i++) {\r\n if (ops[i](d) !== isConjunctiveOperator) {\r\n result = !isConjunctiveOperator;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n }(crit)\r\n }\r\n if (isUnaryOperation(crit)) {\r\n return function(crit) {\r\n var op = crit[0];\r\n var criteria = compileCriteria(crit[1]);\r\n if (\"!\" === op) {\r\n return function(obj) {\r\n return !criteria(obj)\r\n }\r\n }\r\n throw errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n return function(crit) {\r\n crit = normalizeBinaryCriterion(crit);\r\n var getter = compileGetter(crit[0]);\r\n var op = crit[1];\r\n var value = crit[2];\r\n value = toComparable(value);\r\n var compare = (obj, operatorFn) => {\r\n obj = toComparable(getter(obj));\r\n return (null == value || null == obj) && value !== obj ? false : operatorFn(obj, value)\r\n };\r\n switch (op.toLowerCase()) {\r\n case \"=\":\r\n return compileEquals(getter, value);\r\n case \"<>\":\r\n return compileEquals(getter, value, true);\r\n case \">\":\r\n return obj => compare(obj, (a, b) => a > b);\r\n case \"<\":\r\n return obj => compare(obj, (a, b) => a < b);\r\n case \">=\":\r\n return obj => compare(obj, (a, b) => a >= b);\r\n case \"<=\":\r\n return obj => compare(obj, (a, b) => a <= b);\r\n case \"startswith\":\r\n return function(obj) {\r\n return 0 === toComparable(toString(getter(obj))).indexOf(value)\r\n };\r\n case \"endswith\":\r\n return function(obj) {\r\n var getterValue = toComparable(toString(getter(obj)));\r\n var searchValue = toString(value);\r\n if (getterValue.length < searchValue.length) {\r\n return false\r\n }\r\n var index = getterValue.lastIndexOf(value);\r\n return -1 !== index && index === getterValue.length - value.length\r\n };\r\n case \"contains\":\r\n return function(obj) {\r\n return toComparable(toString(getter(obj))).indexOf(value) > -1\r\n };\r\n case \"notcontains\":\r\n return function(obj) {\r\n return -1 === toComparable(toString(getter(obj))).indexOf(value)\r\n }\r\n }\r\n throw errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n}();\r\nvar FilterIterator = WrappedIterator.inherit({\r\n ctor: function(iter, criteria) {\r\n this.callBase(iter);\r\n this.criteria = compileCriteria(criteria)\r\n },\r\n next: function() {\r\n while (this.iter.next()) {\r\n if (this.criteria(this.current())) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n});\r\nvar GroupIterator = Iterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.iter = iter;\r\n this.getter = getter\r\n },\r\n next: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.next()\r\n },\r\n current: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.current()\r\n },\r\n reset: function() {\r\n delete this.groupedIter\r\n },\r\n countable: function() {\r\n return !!this.groupedIter\r\n },\r\n count: function() {\r\n return this.groupedIter.count()\r\n },\r\n _ensureGrouped: function() {\r\n if (this.groupedIter) {\r\n return\r\n }\r\n var hash = {};\r\n var keys = [];\r\n var iter = this.iter;\r\n var getter = compileGetter(this.getter);\r\n iter.reset();\r\n while (iter.next()) {\r\n var current = iter.current();\r\n var key = getter(current);\r\n if (key in hash) {\r\n hash[key].push(current)\r\n } else {\r\n hash[key] = [current];\r\n keys.push(key)\r\n }\r\n }\r\n this.groupedIter = new ArrayIterator(map(keys, (function(key) {\r\n return {\r\n key: key,\r\n items: hash[key]\r\n }\r\n })))\r\n }\r\n});\r\nvar SelectIterator = WrappedIterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.callBase(iter);\r\n this.getter = compileGetter(getter)\r\n },\r\n current: function() {\r\n return this.getter(this.callBase())\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return this.iter.count()\r\n }\r\n});\r\nvar SliceIterator = WrappedIterator.inherit({\r\n ctor: function(iter, skip, take) {\r\n this.callBase(iter);\r\n this.skip = Math.max(0, skip);\r\n this.take = Math.max(0, take);\r\n this.pos = 0\r\n },\r\n next: function() {\r\n if (this.pos >= this.skip + this.take) {\r\n return false\r\n }\r\n while (this.pos < this.skip && this.iter.next()) {\r\n this.pos++\r\n }\r\n this.pos++;\r\n return this.iter.next()\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this.pos = 0\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return Math.min(this.iter.count() - this.skip, this.take)\r\n }\r\n});\r\nvar arrayQueryImpl = function arrayQueryImpl(iter, queryOptions) {\r\n queryOptions = queryOptions || {};\r\n if (!(iter instanceof Iterator)) {\r\n iter = new ArrayIterator(iter)\r\n }\r\n var handleError = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n handleDataError(error)\r\n };\r\n var aggregateCore = function(aggregator) {\r\n var d = (new Deferred).fail(handleError);\r\n var seed;\r\n var step = aggregator.step;\r\n var finalize = aggregator.finalize;\r\n try {\r\n iter.reset();\r\n if (\"seed\" in aggregator) {\r\n seed = aggregator.seed\r\n } else {\r\n seed = iter.next() ? iter.current() : NaN\r\n }\r\n var accumulator = seed;\r\n while (iter.next()) {\r\n accumulator = step(accumulator, iter.current())\r\n }\r\n d.resolve(finalize ? finalize(accumulator) : accumulator)\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n };\r\n var standardAggregate = function(name) {\r\n return aggregateCore(aggregators[name])\r\n };\r\n var select = function(getter) {\r\n if (!isFunction(getter) && !Array.isArray(getter)) {\r\n getter = [].slice.call(arguments)\r\n }\r\n return chainQuery(new SelectIterator(iter, getter))\r\n };\r\n var selectProp = function(name) {\r\n return select(compileGetter(name))\r\n };\r\n\r\n function chainQuery(iter) {\r\n return arrayQueryImpl(iter, queryOptions)\r\n }\r\n return {\r\n toArray: function() {\r\n return iter.toArray()\r\n },\r\n enumerate: function() {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.toArray())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n },\r\n sortBy: function(getter, desc, compare) {\r\n return chainQuery(new SortIterator(iter, getter, desc, compare))\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n if (iter instanceof SortIterator) {\r\n return chainQuery(iter.thenBy(getter, desc, compare))\r\n }\r\n throw errors.Error(\"E4004\")\r\n },\r\n filter: function(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n criteria = [].slice.call(arguments)\r\n }\r\n return chainQuery(new FilterIterator(iter, criteria))\r\n },\r\n slice: function(skip, take) {\r\n if (void 0 === take) {\r\n take = Number.MAX_VALUE\r\n }\r\n return chainQuery(new SliceIterator(iter, skip, take))\r\n },\r\n select: select,\r\n groupBy: function(getter) {\r\n return chainQuery(new GroupIterator(iter, getter))\r\n },\r\n aggregate: function(seed, step, finalize) {\r\n if (arguments.length < 2) {\r\n return aggregateCore({\r\n step: arguments[0]\r\n })\r\n }\r\n return aggregateCore({\r\n seed: seed,\r\n step: step,\r\n finalize: finalize\r\n })\r\n },\r\n count: function() {\r\n if (iter.countable()) {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.count())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n }\r\n return standardAggregate(\"count\")\r\n },\r\n sum: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).sum()\r\n }\r\n return standardAggregate(\"sum\")\r\n },\r\n min: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).min()\r\n }\r\n return standardAggregate(\"min\")\r\n },\r\n max: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).max()\r\n }\r\n return standardAggregate(\"max\")\r\n },\r\n avg: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).avg()\r\n }\r\n return standardAggregate(\"avg\")\r\n }\r\n }\r\n};\r\nexport default arrayQueryImpl;\r\n","/**\r\n * DevExtreme (esm/data/array_store.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n rejectedPromise,\r\n trivialPromise\r\n} from \"./utils\";\r\nimport Query from \"./query\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport Store from \"./abstract_store\";\r\nimport {\r\n indexByKey,\r\n insert,\r\n applyBatch,\r\n update,\r\n remove\r\n} from \"./array_utils\";\r\nvar ArrayStore = Store.inherit({\r\n ctor: function(options) {\r\n if (Array.isArray(options)) {\r\n options = {\r\n data: options\r\n }\r\n } else {\r\n options = options || {}\r\n }\r\n this.callBase(options);\r\n var initialArray = options.data;\r\n if (initialArray && !Array.isArray(initialArray)) {\r\n throw errors.Error(\"E4006\")\r\n }\r\n this._array = initialArray || []\r\n },\r\n createQuery: function() {\r\n return Query(this._array, {\r\n errorHandler: this._errorHandler\r\n })\r\n },\r\n _byKeyImpl: function(key) {\r\n var index = indexByKey(this, this._array, key);\r\n if (-1 === index) {\r\n return rejectedPromise(errors.Error(\"E4009\"))\r\n }\r\n return trivialPromise(this._array[index])\r\n },\r\n _insertImpl: function(values) {\r\n return insert(this, this._array, values)\r\n },\r\n _pushImpl: function(changes) {\r\n applyBatch({\r\n keyInfo: this,\r\n data: this._array,\r\n changes: changes\r\n })\r\n },\r\n _updateImpl: function(key, values) {\r\n return update(this, this._array, key, values)\r\n },\r\n _removeImpl: function(key) {\r\n return remove(this, this._array, key)\r\n },\r\n clear: function() {\r\n this._eventsStrategy.fireEvent(\"modifying\");\r\n this._array = [];\r\n this._eventsStrategy.fireEvent(\"modified\")\r\n }\r\n}, \"array\");\r\nexport default ArrayStore;\r\n","/**\r\n * DevExtreme (esm/data/array_utils.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isObject,\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport config from \"../core/config\";\r\nimport Guid from \"../core/guid\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../core/utils/object\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport {\r\n keysEqual,\r\n rejectedPromise,\r\n trivialPromise\r\n} from \"./utils\";\r\n\r\nfunction hasKey(target, keyOrKeys) {\r\n var key;\r\n var keys = \"string\" === typeof keyOrKeys ? keyOrKeys.split() : keyOrKeys.slice();\r\n while (keys.length) {\r\n key = keys.shift();\r\n if (key in target) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction findItems(keyInfo, items, key, groupCount) {\r\n var childItems;\r\n var result;\r\n if (groupCount) {\r\n for (var i = 0; i < items.length; i++) {\r\n childItems = items[i].items || items[i].collapsedItems || [];\r\n result = findItems(keyInfo, childItems || [], key, groupCount - 1);\r\n if (result) {\r\n return result\r\n }\r\n }\r\n } else if (indexByKey(keyInfo, items, key) >= 0) {\r\n return items\r\n }\r\n}\r\n\r\nfunction getItems(keyInfo, items, key, groupCount) {\r\n if (groupCount) {\r\n return findItems(keyInfo, items, key, groupCount) || []\r\n }\r\n return items\r\n}\r\n\r\nfunction generateDataByKeyMap(keyInfo, array) {\r\n if (keyInfo.key() && (!array._dataByKeyMap || array._dataByKeyMapLength !== array.length)) {\r\n var dataByKeyMap = {};\r\n var arrayLength = array.length;\r\n for (var i = 0; i < arrayLength; i++) {\r\n dataByKeyMap[JSON.stringify(keyInfo.keyOf(array[i]))] = array[i]\r\n }\r\n array._dataByKeyMap = dataByKeyMap;\r\n array._dataByKeyMapLength = arrayLength\r\n }\r\n}\r\n\r\nfunction getCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n}\r\n\r\nfunction getHasKeyCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n return true\r\n}\r\n\r\nfunction setDataByKeyMapValue(array, key, data) {\r\n if (array._dataByKeyMap) {\r\n array._dataByKeyMap[JSON.stringify(key)] = data;\r\n array._dataByKeyMapLength += data ? 1 : -1\r\n }\r\n}\r\n\r\nfunction cloneInstanceWithChangedPaths(instance, changes, clonedInstances) {\r\n clonedInstances = clonedInstances || new WeakMap;\r\n var result = instance ? Object.create(Object.getPrototypeOf(instance)) : {};\r\n if (instance) {\r\n clonedInstances.set(instance, result)\r\n }\r\n var instanceWithoutPrototype = _extends({}, instance);\r\n deepExtendArraySafe(result, instanceWithoutPrototype, true, true);\r\n for (var name in instanceWithoutPrototype) {\r\n var value = instanceWithoutPrototype[name];\r\n var change = null === changes || void 0 === changes ? void 0 : changes[name];\r\n if (isObject(value) && !isPlainObject(value) && isObject(change) && !clonedInstances.has(value)) {\r\n result[name] = cloneInstanceWithChangedPaths(value, change, clonedInstances)\r\n }\r\n }\r\n for (var _name in result) {\r\n var prop = result[_name];\r\n if (isObject(prop) && clonedInstances.has(prop)) {\r\n result[_name] = clonedInstances.get(prop)\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction createObjectWithChanges(target, changes) {\r\n var result = cloneInstanceWithChangedPaths(target, changes);\r\n return deepExtendArraySafe(result, changes, true, true)\r\n}\r\n\r\nfunction applyBatch(_ref) {\r\n var {\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n groupCount: groupCount,\r\n useInsertIndex: useInsertIndex,\r\n immutable: immutable,\r\n disableCache: disableCache,\r\n logError: logError,\r\n skipCopying: skipCopying\r\n } = _ref;\r\n var resultItems = true === immutable ? [...data] : data;\r\n changes.forEach(item => {\r\n var items = \"insert\" === item.type ? resultItems : getItems(keyInfo, resultItems, item.key, groupCount);\r\n !disableCache && generateDataByKeyMap(keyInfo, items);\r\n switch (item.type) {\r\n case \"update\":\r\n update(keyInfo, items, item.key, item.data, true, immutable, logError);\r\n break;\r\n case \"insert\":\r\n insert(keyInfo, items, item.data, useInsertIndex && isDefined(item.index) ? item.index : -1, true, logError, skipCopying);\r\n break;\r\n case \"remove\":\r\n remove(keyInfo, items, item.key, true, logError)\r\n }\r\n });\r\n return resultItems\r\n}\r\n\r\nfunction getErrorResult(isBatch, logError, errorCode) {\r\n return !isBatch ? rejectedPromise(errors.Error(errorCode)) : logError && errors.log(errorCode)\r\n}\r\n\r\nfunction applyChanges(data, changes) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var {\r\n keyExpr: keyExpr = \"id\",\r\n immutable: immutable = true\r\n } = options;\r\n var keyGetter = compileGetter(keyExpr);\r\n var keyInfo = {\r\n key: () => keyExpr,\r\n keyOf: obj => keyGetter(obj)\r\n };\r\n return applyBatch({\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n immutable: immutable,\r\n disableCache: true,\r\n logError: true\r\n })\r\n}\r\n\r\nfunction update(keyInfo, array, key, data, isBatch, immutable, logError) {\r\n var target;\r\n var keyExpr = keyInfo.key();\r\n if (keyExpr) {\r\n if (hasKey(data, keyExpr) && !keysEqual(keyExpr, key, keyInfo.keyOf(data))) {\r\n return getErrorResult(isBatch, logError, \"E4017\")\r\n }\r\n target = getCacheValue(array, key);\r\n if (!target) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n target = array[index];\r\n if (true === immutable && isDefined(target)) {\r\n var newTarget = createObjectWithChanges(target, data);\r\n array[index] = newTarget;\r\n return !isBatch && trivialPromise(newTarget, key)\r\n }\r\n }\r\n } else {\r\n target = key\r\n }\r\n deepExtendArraySafe(target, data, true);\r\n if (!isBatch) {\r\n if (config().useLegacyStoreResult) {\r\n return trivialPromise(key, data)\r\n } else {\r\n return trivialPromise(target, key)\r\n }\r\n }\r\n}\r\n\r\nfunction insert(keyInfo, array, data, index, isBatch, logError, skipCopying) {\r\n var keyValue;\r\n var keyExpr = keyInfo.key();\r\n var obj = isPlainObject(data) && !skipCopying ? extend({}, data) : data;\r\n if (keyExpr) {\r\n keyValue = keyInfo.keyOf(obj);\r\n if (void 0 === keyValue || \"object\" === typeof keyValue && isEmptyObject(keyValue)) {\r\n if (Array.isArray(keyExpr)) {\r\n throw errors.Error(\"E4007\")\r\n }\r\n keyValue = obj[keyExpr] = String(new Guid)\r\n } else if (void 0 !== array[indexByKey(keyInfo, array, keyValue)]) {\r\n return getErrorResult(isBatch, logError, \"E4008\")\r\n }\r\n } else {\r\n keyValue = obj\r\n }\r\n if (index >= 0) {\r\n array.splice(index, 0, obj)\r\n } else {\r\n array.push(obj)\r\n }\r\n setDataByKeyMapValue(array, keyValue, obj);\r\n if (!isBatch) {\r\n return trivialPromise(config().useLegacyStoreResult ? data : obj, keyValue)\r\n }\r\n}\r\n\r\nfunction remove(keyInfo, array, key, isBatch, logError) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index > -1) {\r\n array.splice(index, 1);\r\n setDataByKeyMapValue(array, key, null)\r\n }\r\n if (!isBatch) {\r\n return trivialPromise(key)\r\n } else if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n}\r\n\r\nfunction indexByKey(keyInfo, array, key) {\r\n var keyExpr = keyInfo.key();\r\n if (!getHasKeyCacheValue(array, key)) {\r\n return -1\r\n }\r\n for (var i = 0, arrayLength = array.length; i < arrayLength; i++) {\r\n if (keysEqual(keyExpr, keyInfo.keyOf(array[i]), key)) {\r\n return i\r\n }\r\n }\r\n return -1\r\n}\r\nexport {\r\n applyBatch,\r\n createObjectWithChanges,\r\n update,\r\n insert,\r\n remove,\r\n indexByKey,\r\n applyChanges\r\n};\r\n","/**\r\n * DevExtreme (esm/data/custom_store.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n keysEqual,\r\n XHR_ERROR_UNLOAD,\r\n errorMessageFromXhr as errorMessageFromXhrUtility\r\n} from \"./utils\";\r\nimport {\r\n applyBatch\r\n} from \"./array_utils\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport config from \"../core/config\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport Store from \"./abstract_store\";\r\nimport arrayQuery from \"./array_query\";\r\nimport storeHelper from \"./store_helper\";\r\nimport {\r\n Deferred,\r\n when,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nvar TOTAL_COUNT = \"totalCount\";\r\nvar LOAD = \"load\";\r\nvar BY_KEY = \"byKey\";\r\nvar INSERT = \"insert\";\r\nvar UPDATE = \"update\";\r\nvar REMOVE = \"remove\";\r\n\r\nfunction isPromise(obj) {\r\n return obj && isFunction(obj.then)\r\n}\r\n\r\nfunction trivialPromise(value) {\r\n return (new Deferred).resolve(value).promise()\r\n}\r\n\r\nfunction ensureRequiredFuncOption(name, obj) {\r\n if (!isFunction(obj)) {\r\n throw errors.Error(\"E4011\", name)\r\n }\r\n}\r\n\r\nfunction throwInvalidUserFuncResult(name) {\r\n throw errors.Error(\"E4012\", name)\r\n}\r\n\r\nfunction createUserFuncFailureHandler(pendingDeferred) {\r\n function errorMessageFromXhr(promiseArguments) {\r\n var xhr = promiseArguments[0];\r\n var textStatus = promiseArguments[1];\r\n if (!xhr || !xhr.getResponseHeader) {\r\n return null\r\n }\r\n return errorMessageFromXhrUtility(xhr, textStatus)\r\n }\r\n return function(arg) {\r\n var error;\r\n if (arg instanceof Error) {\r\n error = arg\r\n } else {\r\n error = new Error(errorMessageFromXhr(arguments) || arg && String(arg) || \"Unknown error\")\r\n }\r\n if (error.message !== XHR_ERROR_UNLOAD) {\r\n pendingDeferred.reject(error)\r\n }\r\n }\r\n}\r\n\r\nfunction invokeUserLoad(store, options) {\r\n var userFunc = store._loadFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(LOAD, userFunc);\r\n userResult = userFunc.apply(store, [options]);\r\n if (Array.isArray(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n } else if (null === userResult || void 0 === userResult) {\r\n userResult = trivialPromise([])\r\n } else if (!isPromise(userResult)) {\r\n throwInvalidUserFuncResult(LOAD)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserTotalCountFunc(store, options) {\r\n var userFunc = store._totalCountFunc;\r\n var userResult;\r\n if (!isFunction(userFunc)) {\r\n throw errors.Error(\"E4021\")\r\n }\r\n userResult = userFunc.apply(store, [options]);\r\n if (!isPromise(userResult)) {\r\n userResult = Number(userResult);\r\n if (!isFinite(userResult)) {\r\n throwInvalidUserFuncResult(TOTAL_COUNT)\r\n }\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserByKeyFunc(store, key, extraOptions) {\r\n var userFunc = store._byKeyFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(BY_KEY, userFunc);\r\n userResult = userFunc.apply(store, [key, extraOptions]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction runRawLoad(pendingDeferred, store, userFuncOptions, continuation) {\r\n if (store.__rawData) {\r\n continuation(store.__rawData)\r\n } else {\r\n var loadPromise = store.__rawDataPromise || invokeUserLoad(store, userFuncOptions);\r\n if (store._cacheRawData) {\r\n store.__rawDataPromise = loadPromise\r\n }\r\n loadPromise.always((function() {\r\n delete store.__rawDataPromise\r\n })).done((function(rawData) {\r\n if (store._cacheRawData) {\r\n store.__rawData = rawData\r\n }\r\n continuation(rawData)\r\n })).fail(createUserFuncFailureHandler(pendingDeferred))\r\n }\r\n}\r\n\r\nfunction runRawLoadWithQuery(pendingDeferred, store, options, countOnly) {\r\n options = options || {};\r\n var userFuncOptions = {};\r\n if (\"userData\" in options) {\r\n userFuncOptions.userData = options.userData\r\n }\r\n runRawLoad(pendingDeferred, store, userFuncOptions, (function(rawData) {\r\n var rawDataQuery = arrayQuery(rawData, {\r\n errorHandler: store._errorHandler\r\n });\r\n var itemsQuery;\r\n var totalCountQuery;\r\n var waitList = [];\r\n var items;\r\n var totalCount;\r\n if (!countOnly) {\r\n itemsQuery = storeHelper.queryByOptions(rawDataQuery, options);\r\n if (itemsQuery === rawDataQuery) {\r\n items = rawData.slice(0)\r\n } else {\r\n waitList.push(itemsQuery.enumerate().done((function(asyncResult) {\r\n items = asyncResult\r\n })))\r\n }\r\n }\r\n if (options.requireTotalCount || countOnly) {\r\n totalCountQuery = storeHelper.queryByOptions(rawDataQuery, options, true);\r\n if (totalCountQuery === rawDataQuery) {\r\n totalCount = rawData.length\r\n } else {\r\n waitList.push(totalCountQuery.count().done((function(asyncResult) {\r\n totalCount = asyncResult\r\n })))\r\n }\r\n }\r\n when.apply($, waitList).done((function() {\r\n if (countOnly) {\r\n pendingDeferred.resolve(totalCount)\r\n } else if (options.requireTotalCount) {\r\n pendingDeferred.resolve(items, {\r\n totalCount: totalCount\r\n })\r\n } else {\r\n pendingDeferred.resolve(items)\r\n }\r\n })).fail((function(x) {\r\n pendingDeferred.reject(x)\r\n }))\r\n }))\r\n}\r\n\r\nfunction runRawLoadWithKey(pendingDeferred, store, key) {\r\n runRawLoad(pendingDeferred, store, {}, (function(rawData) {\r\n var keyExpr = store.key();\r\n var item;\r\n for (var i = 0, len = rawData.length; i < len; i++) {\r\n item = rawData[i];\r\n if (keysEqual(keyExpr, store.keyOf(rawData[i]), key)) {\r\n pendingDeferred.resolve(item);\r\n return\r\n }\r\n }\r\n pendingDeferred.reject(errors.Error(\"E4009\"))\r\n }))\r\n}\r\nvar CustomStore = Store.inherit({\r\n ctor: function(options) {\r\n options = options || {};\r\n this.callBase(options);\r\n this._useDefaultSearch = !!options.useDefaultSearch || \"raw\" === options.loadMode;\r\n this._loadMode = options.loadMode;\r\n this._cacheRawData = false !== options.cacheRawData;\r\n this._loadFunc = options[LOAD];\r\n this._totalCountFunc = options[TOTAL_COUNT];\r\n this._byKeyFunc = options[BY_KEY];\r\n this._insertFunc = options[INSERT];\r\n this._updateFunc = options[UPDATE];\r\n this._removeFunc = options[REMOVE]\r\n },\r\n _clearCache() {\r\n delete this.__rawData\r\n },\r\n createQuery: function() {\r\n throw errors.Error(\"E4010\")\r\n },\r\n clearRawDataCache: function() {\r\n this._clearCache()\r\n },\r\n _totalCountImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode && !this._totalCountFunc) {\r\n runRawLoadWithQuery(d, this, options, true)\r\n } else {\r\n invokeUserTotalCountFunc(this, options).done((function(count) {\r\n d.resolve(Number(count))\r\n })).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _pushImpl: function(changes) {\r\n if (this.__rawData) {\r\n applyBatch({\r\n keyInfo: this,\r\n data: this.__rawData,\r\n changes: changes\r\n })\r\n }\r\n },\r\n _loadImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode) {\r\n runRawLoadWithQuery(d, this, options, false)\r\n } else {\r\n invokeUserLoad(this, options).done((function(data, extra) {\r\n d.resolve(data, extra)\r\n })).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _byKeyImpl: function(key, extraOptions) {\r\n var d = new Deferred;\r\n if (this._byKeyViaLoad()) {\r\n this._requireKey();\r\n runRawLoadWithKey(d, this, key)\r\n } else {\r\n invokeUserByKeyFunc(this, key, extraOptions).done((function(obj) {\r\n d.resolve(obj)\r\n })).fail(createUserFuncFailureHandler(d))\r\n }\r\n return d.promise()\r\n },\r\n _byKeyViaLoad: function() {\r\n return \"raw\" === this._loadMode && !this._byKeyFunc\r\n },\r\n _insertImpl: function(values) {\r\n var that = this;\r\n var userFunc = that._insertFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(INSERT, userFunc);\r\n userResult = userFunc.apply(that, [values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done((function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(values, serverResponse)\r\n } else {\r\n d.resolve(serverResponse || values, that.keyOf(serverResponse))\r\n }\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _updateImpl: function(key, values) {\r\n var userFunc = this._updateFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(UPDATE, userFunc);\r\n userResult = userFunc.apply(this, [key, values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done((function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(key, values)\r\n } else {\r\n d.resolve(serverResponse || values, key)\r\n }\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _removeImpl: function(key) {\r\n var userFunc = this._removeFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(REMOVE, userFunc);\r\n userResult = userFunc.apply(this, [key]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise()\r\n }\r\n fromPromise(userResult).done((function() {\r\n d.resolve(key)\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n }\r\n});\r\nexport default CustomStore;\r\n","/**\r\n * DevExtreme (esm/core/utils/queue.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../errors\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\n\r\nfunction createQueue(discardPendingTasks) {\r\n var _tasks = [];\r\n var _busy = false;\r\n\r\n function exec() {\r\n while (_tasks.length) {\r\n _busy = true;\r\n var task = _tasks.shift();\r\n var result = task();\r\n if (void 0 === result) {\r\n continue\r\n }\r\n if (result.then) {\r\n when(result).always(exec);\r\n return\r\n }\r\n throw errors.Error(\"E0015\")\r\n }\r\n _busy = false\r\n }\r\n return {\r\n add: function(task, removeTaskCallback) {\r\n if (!discardPendingTasks) {\r\n _tasks.push(task)\r\n } else {\r\n if (_tasks[0] && removeTaskCallback) {\r\n removeTaskCallback(_tasks[0])\r\n }\r\n _tasks = [task]\r\n }\r\n if (!_busy) {\r\n exec()\r\n }\r\n },\r\n busy: function() {\r\n return _busy\r\n }\r\n }\r\n}\r\nexport {\r\n createQueue as create\r\n};\r\nexport var enqueue = createQueue().add;\r\n","/**\r\n * DevExtreme (esm/data/data_source/operation_manager.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n CANCELED_TOKEN\r\n} from \"./utils\";\r\nexport default class OperationManager {\r\n constructor() {\r\n this._counter = -1;\r\n this._deferreds = {}\r\n }\r\n add(deferred) {\r\n this._counter++;\r\n this._deferreds[this._counter] = deferred;\r\n return this._counter\r\n }\r\n remove(operationId) {\r\n return delete this._deferreds[operationId]\r\n }\r\n cancel(operationId) {\r\n if (operationId in this._deferreds) {\r\n this._deferreds[operationId].reject(CANCELED_TOKEN);\r\n return true\r\n }\r\n return false\r\n }\r\n cancelAll() {\r\n while (this._counter > -1) {\r\n this.cancel(this._counter);\r\n this._counter--\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/data/data_source/data_source.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n executeAsync\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isString,\r\n isNumeric,\r\n isBoolean,\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n throttleChanges\r\n} from \"../utils\";\r\nimport {\r\n applyBatch\r\n} from \"../array_utils\";\r\nimport CustomStore from \"../custom_store\";\r\nimport {\r\n EventsStrategy\r\n} from \"../../core/events_strategy\";\r\nimport {\r\n errors\r\n} from \"../errors\";\r\nimport {\r\n create\r\n} from \"../../core/utils/queue\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport OperationManager from \"./operation_manager\";\r\nimport {\r\n normalizeDataSourceOptions,\r\n normalizeStoreLoadOptionAccessorArguments,\r\n CANCELED_TOKEN,\r\n isPending,\r\n normalizeLoadResult,\r\n mapDataRespectingGrouping\r\n} from \"./utils\";\r\nexport var DataSource = Class.inherit({\r\n ctor(options) {\r\n var _options$reshapeOnPus;\r\n options = normalizeDataSourceOptions(options);\r\n this._eventsStrategy = new EventsStrategy(this, {\r\n syncStrategy: true\r\n });\r\n this._store = options.store;\r\n this._changedTime = 0;\r\n var needThrottling = 0 !== options.pushAggregationTimeout;\r\n if (needThrottling) {\r\n var throttlingTimeout = void 0 === options.pushAggregationTimeout ? () => 5 * this._changedTime : options.pushAggregationTimeout;\r\n var pushDeferred;\r\n var lastPushWaiters;\r\n var throttlingPushHandler = throttleChanges(changes => {\r\n pushDeferred.resolve();\r\n var storePushPending = when(...lastPushWaiters);\r\n storePushPending.done(() => this._onPush(changes));\r\n lastPushWaiters = void 0;\r\n pushDeferred = void 0\r\n }, throttlingTimeout);\r\n this._onPushHandler = args => {\r\n this._aggregationTimeoutId = throttlingPushHandler(args.changes);\r\n if (!pushDeferred) {\r\n pushDeferred = new Deferred\r\n }\r\n lastPushWaiters = args.waitFor;\r\n args.waitFor.push(pushDeferred.promise())\r\n };\r\n this._store.on(\"beforePush\", this._onPushHandler)\r\n } else {\r\n this._onPushHandler = changes => this._onPush(changes);\r\n this._store.on(\"push\", this._onPushHandler)\r\n }\r\n this._storeLoadOptions = this._extractLoadOptions(options);\r\n this._mapFunc = options.map;\r\n this._postProcessFunc = options.postProcess;\r\n this._pageIndex = void 0 !== options.pageIndex ? options.pageIndex : 0;\r\n this._pageSize = void 0 !== options.pageSize ? options.pageSize : 20;\r\n this._loadingCount = 0;\r\n this._loadQueue = this._createLoadQueue();\r\n this._searchValue = \"searchValue\" in options ? options.searchValue : null;\r\n this._searchOperation = options.searchOperation || \"contains\";\r\n this._searchExpr = options.searchExpr;\r\n this._paginate = options.paginate;\r\n this._reshapeOnPush = null !== (_options$reshapeOnPus = options.reshapeOnPush) && void 0 !== _options$reshapeOnPus ? _options$reshapeOnPus : false;\r\n each([\"onChanged\", \"onLoadError\", \"onLoadingChanged\", \"onCustomizeLoadResult\", \"onCustomizeStoreLoadOptions\"], (_, optionName) => {\r\n if (optionName in options) {\r\n this.on(optionName.substr(2, 1).toLowerCase() + optionName.substr(3), options[optionName])\r\n }\r\n });\r\n this._operationManager = new OperationManager;\r\n this._init()\r\n },\r\n _init() {\r\n this._items = [];\r\n this._userData = {};\r\n this._totalCount = -1;\r\n this._isLoaded = false;\r\n if (!isDefined(this._paginate)) {\r\n this._paginate = !this.group()\r\n }\r\n this._isLastPage = !this._paginate\r\n },\r\n dispose() {\r\n var _this$_delayedLoadTas;\r\n this._store.off(\"beforePush\", this._onPushHandler);\r\n this._store.off(\"push\", this._onPushHandler);\r\n this._eventsStrategy.dispose();\r\n clearTimeout(this._aggregationTimeoutId);\r\n null === (_this$_delayedLoadTas = this._delayedLoadTask) || void 0 === _this$_delayedLoadTas ? void 0 : _this$_delayedLoadTas.abort();\r\n this._operationManager.cancelAll();\r\n delete this._store;\r\n delete this._items;\r\n delete this._delayedLoadTask;\r\n this._disposed = true\r\n },\r\n _extractLoadOptions(options) {\r\n var result = {};\r\n var names = [\"sort\", \"filter\", \"select\", \"group\", \"requireTotalCount\"];\r\n var customNames = this._store._customLoadOptions();\r\n if (customNames) {\r\n names = names.concat(customNames)\r\n }\r\n each(names, (function() {\r\n result[this] = options[this]\r\n }));\r\n return result\r\n },\r\n loadOptions() {\r\n return this._storeLoadOptions\r\n },\r\n items() {\r\n return this._items\r\n },\r\n pageIndex(newIndex) {\r\n if (!isNumeric(newIndex)) {\r\n return this._pageIndex\r\n }\r\n this._pageIndex = newIndex;\r\n this._isLastPage = !this._paginate\r\n },\r\n paginate(value) {\r\n if (!isBoolean(value)) {\r\n return this._paginate\r\n }\r\n if (this._paginate !== value) {\r\n this._paginate = value;\r\n this.pageIndex(0)\r\n }\r\n },\r\n pageSize(value) {\r\n if (!isNumeric(value)) {\r\n return this._pageSize\r\n }\r\n this._pageSize = value\r\n },\r\n isLastPage() {\r\n return this._isLastPage\r\n },\r\n generateStoreLoadOptionAccessor(optionName) {\r\n return args => {\r\n var normalizedArgs = normalizeStoreLoadOptionAccessorArguments(args);\r\n if (void 0 === normalizedArgs) {\r\n return this._storeLoadOptions[optionName]\r\n }\r\n this._storeLoadOptions[optionName] = normalizedArgs\r\n }\r\n },\r\n sort() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"sort\")(args)\r\n },\r\n filter() {\r\n var newFilter = normalizeStoreLoadOptionAccessorArguments(arguments);\r\n if (void 0 === newFilter) {\r\n return this._storeLoadOptions.filter\r\n }\r\n this._storeLoadOptions.filter = newFilter;\r\n this.pageIndex(0)\r\n },\r\n group() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"group\")(args)\r\n },\r\n select() {\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"select\")(args)\r\n },\r\n requireTotalCount(value) {\r\n if (!isBoolean(value)) {\r\n return this._storeLoadOptions.requireTotalCount\r\n }\r\n this._storeLoadOptions.requireTotalCount = value\r\n },\r\n searchValue(value) {\r\n if (arguments.length < 1) {\r\n return this._searchValue\r\n }\r\n this._searchValue = value;\r\n this.pageIndex(0)\r\n },\r\n searchOperation(op) {\r\n if (!isString(op)) {\r\n return this._searchOperation\r\n }\r\n this._searchOperation = op;\r\n this.pageIndex(0)\r\n },\r\n searchExpr(expr) {\r\n var argc = arguments.length;\r\n if (0 === argc) {\r\n return this._searchExpr\r\n }\r\n if (argc > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n this._searchExpr = expr;\r\n this.pageIndex(0)\r\n },\r\n store() {\r\n return this._store\r\n },\r\n key() {\r\n var _this$_store;\r\n return null === (_this$_store = this._store) || void 0 === _this$_store ? void 0 : _this$_store.key()\r\n },\r\n totalCount() {\r\n return this._totalCount\r\n },\r\n isLoaded() {\r\n return this._isLoaded\r\n },\r\n isLoading() {\r\n return this._loadingCount > 0\r\n },\r\n beginLoading() {\r\n this._changeLoadingCount(1)\r\n },\r\n endLoading() {\r\n this._changeLoadingCount(-1)\r\n },\r\n _createLoadQueue: () => create(),\r\n _changeLoadingCount(increment) {\r\n var oldLoading = this.isLoading();\r\n this._loadingCount += increment;\r\n var newLoading = this.isLoading();\r\n if (oldLoading ^ newLoading) {\r\n this._eventsStrategy.fireEvent(\"loadingChanged\", [newLoading])\r\n }\r\n },\r\n _scheduleLoadCallbacks(deferred) {\r\n this.beginLoading();\r\n deferred.always(() => {\r\n this.endLoading()\r\n })\r\n },\r\n _scheduleFailCallbacks(deferred) {\r\n var _this = this;\r\n deferred.fail((function() {\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n if (args[0] === CANCELED_TOKEN) {\r\n return\r\n }\r\n _this._eventsStrategy.fireEvent(\"loadError\", args)\r\n }))\r\n },\r\n _fireChanged(args) {\r\n var date = new Date;\r\n this._eventsStrategy.fireEvent(\"changed\", args);\r\n this._changedTime = new Date - date\r\n },\r\n _scheduleChangedCallbacks(deferred) {\r\n deferred.done(() => this._fireChanged())\r\n },\r\n loadSingle(propName, propValue) {\r\n var d = new Deferred;\r\n var key = this.key();\r\n var store = this._store;\r\n var options = this._createStoreLoadOptions();\r\n this._scheduleFailCallbacks(d);\r\n if (arguments.length < 2) {\r\n propValue = propName;\r\n propName = key\r\n }\r\n delete options.skip;\r\n delete options.group;\r\n delete options.refresh;\r\n delete options.pageIndex;\r\n delete options.searchString;\r\n (() => {\r\n if (propName === key || store instanceof CustomStore && !store._byKeyViaLoad()) {\r\n return store.byKey(propValue, options)\r\n }\r\n options.take = 1;\r\n options.filter = options.filter ? [options.filter, [propName, propValue]] : [propName, propValue];\r\n return store.load(options)\r\n })().fail(d.reject).done(data => {\r\n var isEmptyArray = Array.isArray(data) && !data.length;\r\n if (!isDefined(data) || isEmptyArray) {\r\n d.reject(new errors.Error(\"E4009\"))\r\n } else {\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n d.resolve(this._applyMapFunction(data)[0])\r\n }\r\n });\r\n return d.promise()\r\n },\r\n load() {\r\n var d = new Deferred;\r\n var loadTask = () => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!isPending(d)) {\r\n return\r\n }\r\n return this._loadFromStore(loadOperation, d)\r\n };\r\n this._scheduleLoadCallbacks(d);\r\n this._scheduleFailCallbacks(d);\r\n this._scheduleChangedCallbacks(d);\r\n var loadOperation = this._createLoadOperation(d);\r\n this._eventsStrategy.fireEvent(\"customizeStoreLoadOptions\", [loadOperation]);\r\n this._loadQueue.add(() => {\r\n if (\"number\" === typeof loadOperation.delay) {\r\n this._delayedLoadTask = executeAsync(loadTask, loadOperation.delay)\r\n } else {\r\n loadTask()\r\n }\r\n return d.promise()\r\n });\r\n return d.promise({\r\n operationId: loadOperation.operationId\r\n })\r\n },\r\n _onPush(changes) {\r\n if (this._reshapeOnPush) {\r\n this.load()\r\n } else {\r\n var changingArgs = {\r\n changes: changes\r\n };\r\n this._eventsStrategy.fireEvent(\"changing\", [changingArgs]);\r\n var group = this.group();\r\n var items = this.items();\r\n var groupLevel = 0;\r\n var dataSourceChanges = this.paginate() || group ? changes.filter(item => \"update\" === item.type) : changes;\r\n if (group) {\r\n groupLevel = Array.isArray(group) ? group.length : 1\r\n }\r\n if (this._mapFunc) {\r\n dataSourceChanges.forEach(item => {\r\n if (\"insert\" === item.type) {\r\n item.data = this._mapFunc(item.data)\r\n }\r\n })\r\n }\r\n if (changingArgs.postProcessChanges) {\r\n dataSourceChanges = changingArgs.postProcessChanges(dataSourceChanges)\r\n }\r\n applyBatch({\r\n keyInfo: this.store(),\r\n data: items,\r\n changes: dataSourceChanges,\r\n groupCount: groupLevel,\r\n useInsertIndex: true\r\n });\r\n this._fireChanged([{\r\n changes: changes\r\n }])\r\n }\r\n },\r\n _createLoadOperation(deferred) {\r\n var operationId = this._operationManager.add(deferred);\r\n var storeLoadOptions = this._createStoreLoadOptions();\r\n deferred.always(() => this._operationManager.remove(operationId));\r\n return {\r\n operationId: operationId,\r\n storeLoadOptions: storeLoadOptions\r\n }\r\n },\r\n reload() {\r\n var store = this.store();\r\n store._clearCache();\r\n this._init();\r\n return this.load()\r\n },\r\n cancel(operationId) {\r\n return this._operationManager.cancel(operationId)\r\n },\r\n cancelAll() {\r\n return this._operationManager.cancelAll()\r\n },\r\n _addSearchOptions(storeLoadOptions) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (this.store()._useDefaultSearch) {\r\n this._addSearchFilter(storeLoadOptions)\r\n } else {\r\n storeLoadOptions.searchOperation = this._searchOperation;\r\n storeLoadOptions.searchValue = this._searchValue;\r\n storeLoadOptions.searchExpr = this._searchExpr\r\n }\r\n },\r\n _createStoreLoadOptions() {\r\n var result = extend({}, this._storeLoadOptions);\r\n this._addSearchOptions(result);\r\n if (this._paginate) {\r\n if (this._pageSize) {\r\n result.skip = this._pageIndex * this._pageSize;\r\n result.take = this._pageSize\r\n }\r\n }\r\n result.userData = this._userData;\r\n return result\r\n },\r\n _addSearchFilter(storeLoadOptions) {\r\n var value = this._searchValue;\r\n var op = this._searchOperation;\r\n var selector = this._searchExpr;\r\n var searchFilter = [];\r\n if (!value) {\r\n return\r\n }\r\n if (!selector) {\r\n selector = \"this\"\r\n }\r\n if (!Array.isArray(selector)) {\r\n selector = [selector]\r\n }\r\n each(selector, (function(i, item) {\r\n if (searchFilter.length) {\r\n searchFilter.push(\"or\")\r\n }\r\n searchFilter.push([item, op, value])\r\n }));\r\n if (storeLoadOptions.filter) {\r\n storeLoadOptions.filter = [searchFilter, storeLoadOptions.filter]\r\n } else {\r\n storeLoadOptions.filter = searchFilter\r\n }\r\n },\r\n _loadFromStore(loadOptions, pendingDeferred) {\r\n var handleSuccess = (data, extra) => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!isPending(pendingDeferred)) {\r\n return\r\n }\r\n var loadResult = extend(normalizeLoadResult(data, extra), loadOptions);\r\n this._eventsStrategy.fireEvent(\"customizeLoadResult\", [loadResult]);\r\n when(loadResult.data).done(data => {\r\n loadResult.data = data;\r\n this._processStoreLoadResult(loadResult, pendingDeferred)\r\n }).fail(pendingDeferred.reject)\r\n };\r\n if (loadOptions.data) {\r\n return (new Deferred).resolve(loadOptions.data).done(handleSuccess)\r\n }\r\n return this.store().load(loadOptions.storeLoadOptions).done(handleSuccess).fail(pendingDeferred.reject)\r\n },\r\n _processStoreLoadResult(loadResult, pendingDeferred) {\r\n var data = loadResult.data;\r\n var extra = loadResult.extra;\r\n var storeLoadOptions = loadResult.storeLoadOptions;\r\n var resolvePendingDeferred = () => {\r\n this._isLoaded = true;\r\n this._totalCount = isFinite(extra.totalCount) ? extra.totalCount : -1;\r\n return pendingDeferred.resolve(data, extra)\r\n };\r\n if (this._disposed) {\r\n return\r\n }\r\n data = this._applyPostProcessFunction(this._applyMapFunction(data));\r\n if (!isObject(extra)) {\r\n extra = {}\r\n }\r\n this._items = data;\r\n if (!data.length || !this._paginate || this._pageSize && data.length < this._pageSize) {\r\n this._isLastPage = true\r\n }\r\n if (storeLoadOptions.requireTotalCount && !isFinite(extra.totalCount)) {\r\n (() => {\r\n this.store().totalCount(storeLoadOptions).done((function(count) {\r\n extra.totalCount = count;\r\n resolvePendingDeferred()\r\n })).fail(pendingDeferred.reject)\r\n })()\r\n } else {\r\n resolvePendingDeferred()\r\n }\r\n },\r\n _applyMapFunction(data) {\r\n if (this._mapFunc) {\r\n return mapDataRespectingGrouping(data, this._mapFunc, this.group())\r\n }\r\n return data\r\n },\r\n _applyPostProcessFunction(data) {\r\n if (this._postProcessFunc) {\r\n return this._postProcessFunc(data)\r\n }\r\n return data\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/data/data_source/utils.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"items\"];\r\nimport ajaxUtils from \"../../core/utils/ajax\";\r\nimport Store from \"../abstract_store\";\r\nimport ArrayStore from \"../array_store\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport CustomStore from \"../custom_store\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../utils\";\r\nexport var CANCELED_TOKEN = \"canceled\";\r\nexport var isPending = deferred => \"pending\" === deferred.state();\r\nexport var normalizeStoreLoadOptionAccessorArguments = originalArguments => {\r\n switch (originalArguments.length) {\r\n case 0:\r\n return;\r\n case 1:\r\n return originalArguments[0]\r\n }\r\n return [].slice.call(originalArguments)\r\n};\r\nvar mapGroup = (group, level, mapper) => map(group, item => {\r\n var restItem = _objectWithoutPropertiesLoose(item, _excluded);\r\n return _extends({}, restItem, {\r\n items: mapRecursive(item.items, level - 1, mapper)\r\n })\r\n});\r\nvar mapRecursive = (items, level, mapper) => {\r\n if (!Array.isArray(items)) {\r\n return items\r\n }\r\n return level ? mapGroup(items, level, mapper) : map(items, mapper)\r\n};\r\nexport var mapDataRespectingGrouping = (items, mapper, groupInfo) => {\r\n var level = groupInfo ? normalizeSortingInfo(groupInfo).length : 0;\r\n return mapRecursive(items, level, mapper)\r\n};\r\nexport var normalizeLoadResult = (data, extra) => {\r\n var _data;\r\n if (null !== (_data = data) && void 0 !== _data && _data.data) {\r\n extra = data;\r\n data = data.data\r\n }\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n return {\r\n data: data,\r\n extra: extra\r\n }\r\n};\r\nvar createCustomStoreFromLoadFunc = options => {\r\n var storeConfig = {};\r\n each([\"useDefaultSearch\", \"key\", \"load\", \"loadMode\", \"cacheRawData\", \"byKey\", \"lookup\", \"totalCount\", \"insert\", \"update\", \"remove\"], (function() {\r\n storeConfig[this] = options[this];\r\n delete options[this]\r\n }));\r\n return new CustomStore(storeConfig)\r\n};\r\nvar createStoreFromConfig = storeConfig => {\r\n var alias = storeConfig.type;\r\n delete storeConfig.type;\r\n return Store.create(alias, storeConfig)\r\n};\r\nvar createCustomStoreFromUrl = (url, normalizationOptions) => new CustomStore({\r\n load: () => ajaxUtils.sendRequest({\r\n url: url,\r\n dataType: \"json\"\r\n }),\r\n loadMode: null === normalizationOptions || void 0 === normalizationOptions ? void 0 : normalizationOptions.fromUrlLoadMode\r\n});\r\nexport var normalizeDataSourceOptions = (options, normalizationOptions) => {\r\n var store;\r\n if (\"string\" === typeof options) {\r\n options = {\r\n paginate: false,\r\n store: createCustomStoreFromUrl(options, normalizationOptions)\r\n }\r\n }\r\n if (void 0 === options) {\r\n options = []\r\n }\r\n if (Array.isArray(options) || options instanceof Store) {\r\n options = {\r\n store: options\r\n }\r\n } else {\r\n options = extend({}, options)\r\n }\r\n if (void 0 === options.store) {\r\n options.store = []\r\n }\r\n store = options.store;\r\n if (\"load\" in options) {\r\n store = createCustomStoreFromLoadFunc(options)\r\n } else if (Array.isArray(store)) {\r\n store = new ArrayStore(store)\r\n } else if (isPlainObject(store)) {\r\n store = createStoreFromConfig(extend({}, store))\r\n }\r\n options.store = store;\r\n return options\r\n};\r\n","/**\r\n * DevExtreme (esm/data/errors.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../core/utils/error\";\r\nimport coreErrors from \"../core/errors\";\r\nexport var errors = errorUtils(coreErrors.ERROR_MESSAGES, {\r\n E4000: \"[DevExpress.data]: {0}\",\r\n E4001: \"Unknown aggregating function is detected: '{0}'\",\r\n E4002: \"Unsupported OData protocol version is used\",\r\n E4003: \"Unknown filter operation is used: {0}\",\r\n E4004: \"The thenby() method is called before the sortby() method\",\r\n E4005: \"Store requires a key expression for this operation\",\r\n E4006: \"ArrayStore 'data' option must be an array\",\r\n E4007: \"Compound keys cannot be auto-generated\",\r\n E4008: \"Attempt to insert an item with a duplicated key\",\r\n E4009: \"Data item cannot be found\",\r\n E4010: \"CustomStore does not support creating queries\",\r\n E4011: \"Custom Store method is not implemented or is not a function: {0}\",\r\n E4012: \"Custom Store method returns an invalid value: {0}\",\r\n E4013: \"Local Store requires the 'name' configuration option is specified\",\r\n E4014: \"Unknown data type is specified for ODataStore: {0}\",\r\n E4015: \"Unknown entity name or alias is used: {0}\",\r\n E4016: \"The compileSetter(expr) method is called with 'self' passed as a parameter\",\r\n E4017: \"Keys cannot be modified\",\r\n E4018: \"The server has returned a non-numeric value in a response to an item count request\",\r\n E4019: \"Mixing of group operators inside a single group of filter expression is not allowed\",\r\n E4020: \"Unknown store type is detected: {0}\",\r\n E4021: \"The server response does not provide the totalCount value\",\r\n E4022: \"The server response does not provide the groupCount value\",\r\n E4023: \"Could not parse the following XML: {0}\",\r\n E4024: \"String function {0} cannot be used with the data field {1} of type {2}.\",\r\n W4000: \"Data returned from the server has an incorrect structure\",\r\n W4001: 'The {0} field is listed in both \"keyType\" and \"fieldTypes\". The value of \"fieldTypes\" is used.',\r\n W4002: \"Data loading has failed for some cells due to the following error: {0}\"\r\n});\r\nexport var errorHandler = null;\r\nexport var handleError = function(error) {\r\n var _errorHandler;\r\n null === (_errorHandler = errorHandler) || void 0 === _errorHandler ? void 0 : _errorHandler(error)\r\n};\r\nexport var setErrorHandler = handler => errorHandler = handler;\r\n","/**\r\n * DevExtreme (esm/data/query_adapters.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {};\r\n","/**\r\n * DevExtreme (esm/data/remote_query.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport queryAdapters from \"./query_adapters\";\r\nimport {\r\n errors,\r\n handleError\r\n} from \"./errors\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport arrayQueryImpl from \"./array_query\";\r\nvar remoteQueryImpl = function remoteQueryImpl(url, queryOptions, tasks) {\r\n tasks = tasks || [];\r\n queryOptions = queryOptions || {};\r\n var createTask = function(name, args) {\r\n return {\r\n name: name,\r\n args: args\r\n }\r\n };\r\n var exec = function(executorTask) {\r\n var d = new Deferred;\r\n var _adapterFactory;\r\n var _adapter;\r\n var _taskQueue;\r\n var _currentTask;\r\n var _mergedSortArgs;\r\n var rejectWithNotify = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n handleError(error);\r\n d.reject(error)\r\n };\r\n\r\n function mergeSortTask(task) {\r\n switch (task.name) {\r\n case \"sortBy\":\r\n _mergedSortArgs = [task.args];\r\n return true;\r\n case \"thenBy\":\r\n if (!_mergedSortArgs) {\r\n throw errors.Error(\"E4004\")\r\n }\r\n _mergedSortArgs.push(task.args);\r\n return true\r\n }\r\n return false\r\n }\r\n try {\r\n _adapterFactory = queryOptions.adapter;\r\n if (!isFunction(_adapterFactory)) {\r\n _adapterFactory = queryAdapters[_adapterFactory]\r\n }\r\n _adapter = _adapterFactory(queryOptions);\r\n _taskQueue = [].concat(tasks).concat(executorTask);\r\n var optimize = _adapter.optimize;\r\n if (optimize) {\r\n optimize(_taskQueue)\r\n }\r\n while (_taskQueue.length) {\r\n _currentTask = _taskQueue[0];\r\n if (!mergeSortTask(_currentTask)) {\r\n if (_mergedSortArgs) {\r\n _taskQueue.unshift(createTask(\"multiSort\", [_mergedSortArgs]));\r\n _mergedSortArgs = null;\r\n continue\r\n }\r\n if (\"enumerate\" !== String(_currentTask.name)) {\r\n if (!_adapter[_currentTask.name] || false === _adapter[_currentTask.name].apply(_adapter, _currentTask.args)) {\r\n break\r\n }\r\n }\r\n }\r\n _taskQueue.shift()\r\n }! function() {\r\n var head = _taskQueue[0];\r\n var unmergedTasks = [];\r\n if (head && \"multiSort\" === head.name) {\r\n _taskQueue.shift();\r\n each(head.args[0], (function() {\r\n unmergedTasks.push(createTask(unmergedTasks.length ? \"thenBy\" : \"sortBy\", this))\r\n }))\r\n }\r\n _taskQueue = unmergedTasks.concat(_taskQueue)\r\n }();\r\n _adapter.exec(url).done((function(result, extra) {\r\n if (!_taskQueue.length) {\r\n d.resolve(result, extra)\r\n } else {\r\n var clientChain = arrayQueryImpl(result, {\r\n errorHandler: queryOptions.errorHandler\r\n });\r\n each(_taskQueue, (function() {\r\n clientChain = clientChain[this.name].apply(clientChain, this.args)\r\n }));\r\n clientChain.done(d.resolve).fail(d.reject)\r\n }\r\n })).fail(rejectWithNotify)\r\n } catch (x) {\r\n rejectWithNotify(x)\r\n }\r\n return d.promise()\r\n };\r\n var query = {};\r\n each([\"sortBy\", \"thenBy\", \"filter\", \"slice\", \"select\", \"groupBy\"], (function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return remoteQueryImpl(url, queryOptions, tasks.concat(createTask(name, arguments)))\r\n }\r\n }));\r\n each([\"count\", \"min\", \"max\", \"sum\", \"avg\", \"aggregate\", \"enumerate\"], (function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return exec.call(this, createTask(name, arguments))\r\n }\r\n }));\r\n return query\r\n};\r\nexport default remoteQueryImpl;\r\n","/**\r\n * DevExtreme (esm/data/query_implementation.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport arrayQueryImpl from \"./array_query\";\r\nimport remoteQueryImpl from \"./remote_query\";\r\nexport var queryImpl = {\r\n array: arrayQueryImpl,\r\n remote: remoteQueryImpl\r\n};\r\n","/**\r\n * DevExtreme (esm/data/query.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n queryImpl\r\n} from \"./query_implementation\";\r\nvar query = function() {\r\n var impl = Array.isArray(arguments[0]) ? \"array\" : \"remote\";\r\n return queryImpl[impl].apply(this, arguments)\r\n};\r\nexport default query;\r\n","/**\r\n * DevExtreme (esm/data/store_helper.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport arrayQuery from \"./array_query\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"./utils\";\r\n\r\nfunction multiLevelGroup(query, groupInfo) {\r\n query = query.groupBy(groupInfo[0].selector);\r\n if (groupInfo.length > 1) {\r\n query = query.select((function(g) {\r\n return extend({}, g, {\r\n items: multiLevelGroup(arrayQuery(g.items), groupInfo.slice(1)).toArray()\r\n })\r\n }))\r\n }\r\n return query\r\n}\r\n\r\nfunction arrangeSortingInfo(groupInfo, sortInfo) {\r\n var filteredGroup = [];\r\n each(groupInfo, (function(_, group) {\r\n var collision = grep(sortInfo, (function(sort) {\r\n return group.selector === sort.selector\r\n }));\r\n if (collision.length < 1) {\r\n filteredGroup.push(group)\r\n }\r\n }));\r\n return filteredGroup.concat(sortInfo)\r\n}\r\n\r\nfunction queryByOptions(query, options, isCountQuery) {\r\n options = options || {};\r\n var filter = options.filter;\r\n if (filter) {\r\n query = query.filter(filter)\r\n }\r\n if (isCountQuery) {\r\n return query\r\n }\r\n var sort = options.sort;\r\n var select = options.select;\r\n var group = options.group;\r\n var skip = options.skip;\r\n var take = options.take;\r\n if (group) {\r\n group = normalizeSortingInfo(group);\r\n group.keepInitialKeyOrder = !!options.group.keepInitialKeyOrder\r\n }\r\n if (sort || group) {\r\n sort = normalizeSortingInfo(sort || []);\r\n if (group && !group.keepInitialKeyOrder) {\r\n sort = arrangeSortingInfo(group, sort)\r\n }\r\n each(sort, (function(index) {\r\n query = query[index ? \"thenBy\" : \"sortBy\"](this.selector, this.desc, this.compare)\r\n }))\r\n }\r\n if (select) {\r\n query = query.select(select)\r\n }\r\n if (group) {\r\n query = multiLevelGroup(query, group)\r\n }\r\n if (take || skip) {\r\n query = query.slice(skip || 0, take)\r\n }\r\n return query\r\n}\r\nexport default {\r\n multiLevelGroup: multiLevelGroup,\r\n arrangeSortingInfo: arrangeSortingInfo,\r\n queryByOptions: queryByOptions\r\n};\r\n","/**\r\n * DevExtreme (esm/data/utils.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport readyCallbacks from \"../core/utils/ready_callbacks\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n equalByValue\r\n} from \"../core/utils/common\";\r\nvar ready = readyCallbacks.add;\r\nexport var XHR_ERROR_UNLOAD = \"DEVEXTREME_XHR_ERROR_UNLOAD\";\r\nexport var normalizeBinaryCriterion = function(crit) {\r\n return [crit[0], crit.length < 3 ? \"=\" : String(crit[1]).toLowerCase(), crit.length < 2 ? true : crit[crit.length - 1]]\r\n};\r\nexport var normalizeSortingInfo = function(info) {\r\n if (!Array.isArray(info)) {\r\n info = [info]\r\n }\r\n return map(info, (function(i) {\r\n var result = {\r\n selector: isFunction(i) || \"string\" === typeof i ? i : i.getter || i.field || i.selector,\r\n desc: !!(i.desc || \"d\" === String(i.dir).charAt(0).toLowerCase())\r\n };\r\n if (i.compare) {\r\n result.compare = i.compare\r\n }\r\n return result\r\n }))\r\n};\r\nexport var errorMessageFromXhr = function() {\r\n var textStatusMessages = {\r\n timeout: \"Network connection timeout\",\r\n error: \"Unspecified network error\",\r\n parsererror: \"Unexpected server response\"\r\n };\r\n var unloading;\r\n ready((function() {\r\n var window = getWindow();\r\n domAdapter.listen(window, \"beforeunload\", (function() {\r\n unloading = true\r\n }))\r\n }));\r\n return function(xhr, textStatus) {\r\n if (unloading) {\r\n return XHR_ERROR_UNLOAD\r\n }\r\n if (xhr.status < 400) {\r\n return function(textStatus) {\r\n var result = textStatusMessages[textStatus];\r\n if (!result) {\r\n return textStatus\r\n }\r\n return result\r\n }(textStatus)\r\n }\r\n return xhr.statusText\r\n }\r\n}();\r\nexport var aggregators = {\r\n count: {\r\n seed: 0,\r\n step: function(count) {\r\n return 1 + count\r\n }\r\n },\r\n sum: {\r\n seed: 0,\r\n step: function(sum, item) {\r\n return sum + item\r\n }\r\n },\r\n min: {\r\n step: function(min, item) {\r\n return item < min ? item : min\r\n }\r\n },\r\n max: {\r\n step: function(max, item) {\r\n return item > max ? item : max\r\n }\r\n },\r\n avg: {\r\n seed: [0, 0],\r\n step: function(pair, value) {\r\n return [pair[0] + value, pair[1] + 1]\r\n },\r\n finalize: function(pair) {\r\n return pair[1] ? pair[0] / pair[1] : NaN\r\n }\r\n }\r\n};\r\nexport var processRequestResultLock = function() {\r\n var lockCount = 0;\r\n var lockDeferred;\r\n return {\r\n obtain: function() {\r\n if (0 === lockCount) {\r\n lockDeferred = new Deferred\r\n }\r\n lockCount++\r\n },\r\n release: function() {\r\n lockCount--;\r\n if (lockCount < 1) {\r\n lockDeferred.resolve()\r\n }\r\n },\r\n promise: function() {\r\n var deferred = 0 === lockCount ? (new Deferred).resolve() : lockDeferred;\r\n return deferred.promise()\r\n },\r\n reset: function() {\r\n lockCount = 0;\r\n if (lockDeferred) {\r\n lockDeferred.resolve()\r\n }\r\n }\r\n }\r\n}();\r\nexport function isDisjunctiveOperator(condition) {\r\n return /^(or|\\|\\||\\|)$/i.test(condition)\r\n}\r\nexport function isConjunctiveOperator(condition) {\r\n return /^(and|&&|&)$/i.test(condition)\r\n}\r\nexport var keysEqual = function(keyExpr, key1, key2) {\r\n if (Array.isArray(keyExpr)) {\r\n var names = map(key1, (function(v, k) {\r\n return k\r\n }));\r\n var name;\r\n for (var i = 0; i < names.length; i++) {\r\n name = names[i];\r\n if (!equalByValue(key1[name], key2[name], 0, false)) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return equalByValue(key1, key2, 0, false)\r\n};\r\nvar BASE64_CHARS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\nexport var base64_encode = function(input) {\r\n if (!Array.isArray(input)) {\r\n input = stringToByteArray(String(input))\r\n }\r\n var result = \"\";\r\n\r\n function getBase64Char(index) {\r\n return BASE64_CHARS.charAt(index)\r\n }\r\n for (var i = 0; i < input.length; i += 3) {\r\n var octet1 = input[i];\r\n var octet2 = input[i + 1];\r\n var octet3 = input[i + 2];\r\n result += map([octet1 >> 2, (3 & octet1) << 4 | octet2 >> 4, isNaN(octet2) ? 64 : (15 & octet2) << 2 | octet3 >> 6, isNaN(octet3) ? 64 : 63 & octet3], getBase64Char).join(\"\")\r\n }\r\n return result\r\n};\r\n\r\nfunction stringToByteArray(str) {\r\n var bytes = [];\r\n var code;\r\n var i;\r\n for (i = 0; i < str.length; i++) {\r\n code = str.charCodeAt(i);\r\n if (code < 128) {\r\n bytes.push(code)\r\n } else if (code < 2048) {\r\n bytes.push(192 + (code >> 6), 128 + (63 & code))\r\n } else if (code < 65536) {\r\n bytes.push(224 + (code >> 12), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n } else if (code < 2097152) {\r\n bytes.push(240 + (code >> 18), 128 + (code >> 12 & 63), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n }\r\n }\r\n return bytes\r\n}\r\nexport var isUnaryOperation = function(crit) {\r\n return \"!\" === crit[0] && Array.isArray(crit[1])\r\n};\r\nvar isGroupOperator = function(value) {\r\n return \"and\" === value || \"or\" === value\r\n};\r\nexport var isGroupCriterion = function(crit) {\r\n var first = crit[0];\r\n var second = crit[1];\r\n if (Array.isArray(first)) {\r\n return true\r\n }\r\n if (isFunction(first)) {\r\n if (Array.isArray(second) || isFunction(second) || isGroupOperator(second)) {\r\n return true\r\n }\r\n }\r\n return false\r\n};\r\nexport var trivialPromise = function() {\r\n var d = new Deferred;\r\n return d.resolve.apply(d, arguments).promise()\r\n};\r\nexport var rejectedPromise = function() {\r\n var d = new Deferred;\r\n return d.reject.apply(d, arguments).promise()\r\n};\r\n\r\nfunction throttle(func, timeout) {\r\n var timeoutId;\r\n return function() {\r\n if (!timeoutId) {\r\n timeoutId = setTimeout(() => {\r\n timeoutId = void 0;\r\n func.call(this)\r\n }, isFunction(timeout) ? timeout() : timeout)\r\n }\r\n return timeoutId\r\n }\r\n}\r\nexport function throttleChanges(func, timeout) {\r\n var cache = [];\r\n var throttled = throttle((function() {\r\n func.call(this, cache);\r\n cache = []\r\n }), timeout);\r\n return function(changes) {\r\n if (Array.isArray(changes)) {\r\n cache.push(...changes)\r\n }\r\n return throttled.call(this, cache)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/collection/data_controller.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar DataControllerMock = {\r\n load: () => Deferred().reject(),\r\n loadSingle: () => Deferred().reject(),\r\n loadFromStore: () => Deferred().reject(),\r\n loadNextPage: () => Deferred().reject(),\r\n loadOptions: noop,\r\n userData: noop,\r\n cancel: noop,\r\n cancelAll: noop,\r\n filter: noop,\r\n addSearchFilter: noop,\r\n group: noop,\r\n paginate: noop,\r\n pageSize: noop,\r\n pageIndex: noop,\r\n resetDataSourcePageIndex: noop,\r\n totalCount: noop,\r\n isLastPage: noop,\r\n isLoading: noop,\r\n isLoaded: noop,\r\n searchValue: noop,\r\n searchOperation: noop,\r\n searchExpr: noop,\r\n select: noop,\r\n key: noop,\r\n keyOf: noop,\r\n store: noop,\r\n items: noop,\r\n applyMapFunction: noop,\r\n getDataSource: noop,\r\n reload: noop,\r\n on: noop,\r\n off: noop\r\n};\r\nclass DataController {\r\n constructor(dataSource) {\r\n if (!dataSource) {\r\n return DataControllerMock\r\n }\r\n this._dataSource = dataSource\r\n }\r\n load() {\r\n return this._dataSource.load()\r\n }\r\n loadSingle(propName, propValue) {\r\n if (arguments.length < 2) {\r\n propValue = propName;\r\n propName = this.key()\r\n }\r\n return this._dataSource.loadSingle(propName, propValue)\r\n }\r\n loadFromStore(loadOptions) {\r\n return this.store().load(loadOptions)\r\n }\r\n loadNextPage() {\r\n this.pageIndex(1 + this.pageIndex());\r\n return this.load()\r\n }\r\n loadOptions() {\r\n return this._dataSource.loadOptions()\r\n }\r\n userData() {\r\n return this._dataSource._userData\r\n }\r\n cancel(operationId) {\r\n this._dataSource.cancel(operationId)\r\n }\r\n cancelAll() {\r\n this._dataSource.cancelAll()\r\n }\r\n filter(filter) {\r\n return this._dataSource.filter(filter)\r\n }\r\n addSearchFilter(storeLoadOptions) {\r\n this._dataSource._addSearchFilter(storeLoadOptions)\r\n }\r\n group(group) {\r\n return this._dataSource.group(group)\r\n }\r\n paginate() {\r\n return this._dataSource.paginate()\r\n }\r\n pageSize() {\r\n return this._dataSource._pageSize\r\n }\r\n pageIndex(pageIndex) {\r\n return this._dataSource.pageIndex(pageIndex)\r\n }\r\n resetDataSourcePageIndex() {\r\n if (this.pageIndex()) {\r\n this.pageIndex(0);\r\n this.load()\r\n }\r\n }\r\n totalCount() {\r\n return this._dataSource.totalCount()\r\n }\r\n isLastPage() {\r\n return this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n }\r\n isLoading() {\r\n return this._dataSource.isLoading()\r\n }\r\n isLoaded() {\r\n return this._dataSource.isLoaded()\r\n }\r\n searchValue(value) {\r\n if (!arguments.length) {\r\n return this._dataSource.searchValue()\r\n }\r\n return this._dataSource.searchValue(value)\r\n }\r\n searchOperation(operation) {\r\n return this._dataSource.searchOperation(operation)\r\n }\r\n searchExpr(expr) {\r\n if (!arguments.length) {\r\n return this._dataSource.searchExpr()\r\n }\r\n return this._dataSource.searchExpr(expr)\r\n }\r\n select() {\r\n return this._dataSource.select(...arguments)\r\n }\r\n key() {\r\n return this._dataSource.key()\r\n }\r\n keyOf(item) {\r\n return this.store().keyOf(item)\r\n }\r\n store() {\r\n return this._dataSource.store()\r\n }\r\n items() {\r\n return this._dataSource.items()\r\n }\r\n applyMapFunction(data) {\r\n return this._dataSource._applyMapFunction(data)\r\n }\r\n getDataSource() {\r\n return this._dataSource || null\r\n }\r\n reload() {\r\n return this._dataSource.reload()\r\n }\r\n on(event, handler) {\r\n this._dataSource.on(event, handler)\r\n }\r\n off(event, handler) {\r\n this._dataSource.off(event, handler)\r\n }\r\n}\r\nexport default DataController;\r\n","/**\r\n * DevExtreme (esm/data_helper.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n DataSource\r\n} from \"./data/data_source/data_source\";\r\nimport {\r\n extend\r\n} from \"./core/utils/extend\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"./data/data_source/utils\";\r\nimport DataController from \"./ui/collection/data_controller\";\r\nvar DATA_SOURCE_OPTIONS_METHOD = \"_dataSourceOptions\";\r\nvar DATA_SOURCE_CHANGED_METHOD = \"_dataSourceChangedHandler\";\r\nvar DATA_SOURCE_LOAD_ERROR_METHOD = \"_dataSourceLoadErrorHandler\";\r\nvar DATA_SOURCE_LOADING_CHANGED_METHOD = \"_dataSourceLoadingChangedHandler\";\r\nvar DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD = \"_dataSourceFromUrlLoadMode\";\r\nvar SPECIFIC_DATA_SOURCE_OPTION = \"_getSpecificDataSourceOption\";\r\nvar NORMALIZE_DATA_SOURCE = \"_normalizeDataSource\";\r\nvar DataHelperMixin = {\r\n postCtor: function() {\r\n this.on(\"disposing\", function() {\r\n this._disposeDataSource()\r\n }.bind(this))\r\n },\r\n _refreshDataSource: function() {\r\n this._initDataSource();\r\n this._loadDataSource()\r\n },\r\n _initDataSource: function() {\r\n var dataSourceOptions = SPECIFIC_DATA_SOURCE_OPTION in this ? this[SPECIFIC_DATA_SOURCE_OPTION]() : this.option(\"dataSource\");\r\n var widgetDataSourceOptions;\r\n var dataSourceType;\r\n this._disposeDataSource();\r\n if (dataSourceOptions) {\r\n if (dataSourceOptions instanceof DataSource) {\r\n this._isSharedDataSource = true;\r\n this._dataSource = dataSourceOptions\r\n } else {\r\n widgetDataSourceOptions = DATA_SOURCE_OPTIONS_METHOD in this ? this[DATA_SOURCE_OPTIONS_METHOD]() : {};\r\n dataSourceType = this._dataSourceType ? this._dataSourceType() : DataSource;\r\n dataSourceOptions = normalizeDataSourceOptions(dataSourceOptions, {\r\n fromUrlLoadMode: DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD in this && this[DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD]()\r\n });\r\n this._dataSource = new dataSourceType(extend(true, {}, widgetDataSourceOptions, dataSourceOptions))\r\n }\r\n if (NORMALIZE_DATA_SOURCE in this) {\r\n this._dataSource = this[NORMALIZE_DATA_SOURCE](this._dataSource)\r\n }\r\n this._addDataSourceHandlers();\r\n this._initDataController()\r\n }\r\n },\r\n _initDataController: function() {\r\n var _this$option;\r\n var dataController = null === (_this$option = this.option) || void 0 === _this$option ? void 0 : _this$option.call(this, \"_dataController\");\r\n var dataSource = this._dataSource;\r\n if (dataController) {\r\n this._dataController = dataController\r\n } else {\r\n this._dataController = new DataController(dataSource)\r\n }\r\n },\r\n _addDataSourceHandlers: function() {\r\n if (DATA_SOURCE_CHANGED_METHOD in this) {\r\n this._addDataSourceChangeHandler()\r\n }\r\n if (DATA_SOURCE_LOAD_ERROR_METHOD in this) {\r\n this._addDataSourceLoadErrorHandler()\r\n }\r\n if (DATA_SOURCE_LOADING_CHANGED_METHOD in this) {\r\n this._addDataSourceLoadingChangedHandler()\r\n }\r\n this._addReadyWatcher()\r\n },\r\n _addReadyWatcher: function() {\r\n this._dataSource.on(\"loadingChanged\", function(isLoading) {\r\n this._ready && this._ready(!isLoading)\r\n }.bind(this))\r\n },\r\n _addDataSourceChangeHandler: function() {\r\n var dataSource = this._dataSource;\r\n this._proxiedDataSourceChangedHandler = function(e) {\r\n this[DATA_SOURCE_CHANGED_METHOD](dataSource.items(), e)\r\n }.bind(this);\r\n dataSource.on(\"changed\", this._proxiedDataSourceChangedHandler)\r\n },\r\n _addDataSourceLoadErrorHandler: function() {\r\n this._proxiedDataSourceLoadErrorHandler = this[DATA_SOURCE_LOAD_ERROR_METHOD].bind(this);\r\n this._dataSource.on(\"loadError\", this._proxiedDataSourceLoadErrorHandler)\r\n },\r\n _addDataSourceLoadingChangedHandler: function() {\r\n this._proxiedDataSourceLoadingChangedHandler = this[DATA_SOURCE_LOADING_CHANGED_METHOD].bind(this);\r\n this._dataSource.on(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n },\r\n _loadDataSource: function() {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n if (dataSource.isLoaded()) {\r\n this._proxiedDataSourceChangedHandler && this._proxiedDataSourceChangedHandler()\r\n } else {\r\n dataSource.load()\r\n }\r\n }\r\n },\r\n _loadSingle: function(key, value) {\r\n key = \"this\" === key ? this._dataSource.key() || \"this\" : key;\r\n return this._dataSource.loadSingle(key, value)\r\n },\r\n _isLastPage: function() {\r\n return !this._dataSource || this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n },\r\n _isDataSourceLoading: function() {\r\n return this._dataSource && this._dataSource.isLoading()\r\n },\r\n _disposeDataSource: function() {\r\n if (this._dataSource) {\r\n if (this._isSharedDataSource) {\r\n delete this._isSharedDataSource;\r\n this._proxiedDataSourceChangedHandler && this._dataSource.off(\"changed\", this._proxiedDataSourceChangedHandler);\r\n this._proxiedDataSourceLoadErrorHandler && this._dataSource.off(\"loadError\", this._proxiedDataSourceLoadErrorHandler);\r\n this._proxiedDataSourceLoadingChangedHandler && this._dataSource.off(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n } else {\r\n this._dataSource.dispose()\r\n }\r\n delete this._dataSource;\r\n delete this._proxiedDataSourceChangedHandler;\r\n delete this._proxiedDataSourceLoadErrorHandler;\r\n delete this._proxiedDataSourceLoadingChangedHandler\r\n }\r\n },\r\n getDataSource: function() {\r\n return this._dataSource || null\r\n }\r\n};\r\nexport default DataHelperMixin;\r\n","/**\r\n * DevExtreme (esm/events/utils/event_nodes_disposing.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../remove\";\r\n\r\nfunction nodesByEvent(event) {\r\n return event && [event.target, event.delegateTarget, event.relatedTarget, event.currentTarget].filter(node => !!node)\r\n}\r\nexport var subscribeNodesDisposing = (event, callback) => {\r\n eventsEngine.one(nodesByEvent(event), removeEvent, callback)\r\n};\r\nexport var unsubscribeNodesDisposing = (event, callback) => {\r\n eventsEngine.off(nodesByEvent(event), removeEvent, callback)\r\n};\r\n","/**\r\n * DevExtreme (esm/events/click.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n resetActiveElement\r\n} from \"../core/utils/dom\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../animation/frame\";\r\nimport {\r\n addNamespace,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport {\r\n subscribeNodesDisposing,\r\n unsubscribeNodesDisposing\r\n} from \"./utils/event_nodes_disposing\";\r\nimport pointerEvents from \"./pointer\";\r\nimport Emitter from \"./core/emitter\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar CLICK_EVENT_NAME = \"dxclick\";\r\nvar misc = {\r\n requestAnimationFrame: requestAnimationFrame,\r\n cancelAnimationFrame: cancelAnimationFrame\r\n};\r\nvar prevented = null;\r\nvar lastFiredEvent = null;\r\nvar onNodeRemove = () => {\r\n lastFiredEvent = null\r\n};\r\nvar clickHandler = function(e) {\r\n var originalEvent = e.originalEvent;\r\n var eventAlreadyFired = lastFiredEvent === originalEvent || originalEvent && originalEvent.DXCLICK_FIRED;\r\n var leftButton = !e.which || 1 === e.which;\r\n if (leftButton && !prevented && !eventAlreadyFired) {\r\n if (originalEvent) {\r\n originalEvent.DXCLICK_FIRED = true\r\n }\r\n unsubscribeNodesDisposing(lastFiredEvent, onNodeRemove);\r\n lastFiredEvent = originalEvent;\r\n subscribeNodesDisposing(lastFiredEvent, onNodeRemove);\r\n fireEvent({\r\n type: CLICK_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n }\r\n};\r\nvar ClickEmitter = Emitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n eventsEngine.on(this.getElement(), \"click\", clickHandler)\r\n },\r\n start: function(e) {\r\n prevented = null\r\n },\r\n cancel: function() {\r\n prevented = true\r\n },\r\n dispose: function() {\r\n eventsEngine.off(this.getElement(), \"click\", clickHandler)\r\n }\r\n});\r\n! function() {\r\n var desktopDevice = devices.real().generic;\r\n if (!desktopDevice) {\r\n var startTarget = null;\r\n var blurPrevented = false;\r\n var document = domAdapter.getDocument();\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.down, \"NATIVE_CLICK_FIXER\"), (function(e) {\r\n startTarget = e.target;\r\n blurPrevented = e.isDefaultPrevented()\r\n }));\r\n eventsEngine.subscribeGlobal(document, addNamespace(\"click\", \"NATIVE_CLICK_FIXER\"), (function(e) {\r\n var $target = $(e.target);\r\n if (!blurPrevented && startTarget && !$target.is(startTarget) && !$(startTarget).is(\"label\") && (element = $target, $(element).is(\"input, textarea, select, button ,:focus, :focus *\"))) {\r\n resetActiveElement()\r\n }\r\n var element;\r\n startTarget = null;\r\n blurPrevented = false\r\n }))\r\n }\r\n}();\r\nregisterEmitter({\r\n emitter: ClickEmitter,\r\n bubble: true,\r\n events: [CLICK_EVENT_NAME]\r\n});\r\nexport {\r\n CLICK_EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/events/core/emitter.feedback.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n noop,\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n contains\r\n} from \"../../core/utils/dom\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nimport pointerEvents from \"../pointer\";\r\nimport Emitter from \"./emitter\";\r\nimport registerEmitter from \"./emitter_registrator\";\r\nvar ACTIVE_EVENT_NAME = \"dxactive\";\r\nvar INACTIVE_EVENT_NAME = \"dxinactive\";\r\nvar ACTIVE_TIMEOUT = 30;\r\nvar INACTIVE_TIMEOUT = 400;\r\nvar FeedbackEvent = Class.inherit({\r\n ctor: function(timeout, fire) {\r\n this._timeout = timeout;\r\n this._fire = fire\r\n },\r\n start: function() {\r\n var that = this;\r\n this._schedule((function() {\r\n that.force()\r\n }))\r\n },\r\n _schedule: function(fn) {\r\n this.stop();\r\n this._timer = setTimeout(fn, this._timeout)\r\n },\r\n stop: function() {\r\n clearTimeout(this._timer)\r\n },\r\n force: function() {\r\n if (this._fired) {\r\n return\r\n }\r\n this.stop();\r\n this._fire();\r\n this._fired = true\r\n },\r\n fired: function() {\r\n return this._fired\r\n }\r\n});\r\nvar activeFeedback;\r\nvar FeedbackEmitter = Emitter.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._active = new FeedbackEvent(0, noop);\r\n this._inactive = new FeedbackEvent(0, noop)\r\n },\r\n configure: function(data, eventName) {\r\n switch (eventName) {\r\n case ACTIVE_EVENT_NAME:\r\n data.activeTimeout = data.timeout;\r\n break;\r\n case INACTIVE_EVENT_NAME:\r\n data.inactiveTimeout = data.timeout\r\n }\r\n this.callBase(data)\r\n },\r\n start: function(e) {\r\n if (activeFeedback) {\r\n var activeChildExists = contains(this.getElement().get(0), activeFeedback.getElement().get(0));\r\n var childJustActivated = !activeFeedback._active.fired();\r\n if (activeChildExists && childJustActivated) {\r\n this._cancel();\r\n return\r\n }\r\n activeFeedback._inactive.force()\r\n }\r\n activeFeedback = this;\r\n this._initEvents(e);\r\n this._active.start()\r\n },\r\n _initEvents: function(e) {\r\n var that = this;\r\n var eventTarget = this._getEmitterTarget(e);\r\n var mouseEvent = isMouseEvent(e);\r\n var isSimulator = devices.isSimulator();\r\n var deferFeedback = isSimulator || !mouseEvent;\r\n var activeTimeout = ensureDefined(this.activeTimeout, ACTIVE_TIMEOUT);\r\n var inactiveTimeout = ensureDefined(this.inactiveTimeout, INACTIVE_TIMEOUT);\r\n this._active = new FeedbackEvent(deferFeedback ? activeTimeout : 0, (function() {\r\n that._fireEvent(ACTIVE_EVENT_NAME, e, {\r\n target: eventTarget\r\n })\r\n }));\r\n this._inactive = new FeedbackEvent(deferFeedback ? inactiveTimeout : 0, (function() {\r\n that._fireEvent(INACTIVE_EVENT_NAME, e, {\r\n target: eventTarget\r\n });\r\n activeFeedback = null\r\n }))\r\n },\r\n cancel: function(e) {\r\n this.end(e)\r\n },\r\n end: function(e) {\r\n var skipTimers = e.type !== pointerEvents.up;\r\n if (skipTimers) {\r\n this._active.stop()\r\n } else {\r\n this._active.force()\r\n }\r\n this._inactive.start();\r\n if (skipTimers) {\r\n this._inactive.force()\r\n }\r\n },\r\n dispose: function() {\r\n this._active.stop();\r\n this._inactive.stop();\r\n if (activeFeedback === this) {\r\n activeFeedback = null\r\n }\r\n this.callBase()\r\n },\r\n lockInactive: function() {\r\n this._active.force();\r\n this._inactive.stop();\r\n activeFeedback = null;\r\n this._cancel();\r\n return this._inactive.force.bind(this._inactive)\r\n }\r\n});\r\nFeedbackEmitter.lock = function(deferred) {\r\n var lockInactive = activeFeedback ? activeFeedback.lockInactive() : noop;\r\n deferred.done(lockInactive)\r\n};\r\nregisterEmitter({\r\n emitter: FeedbackEmitter,\r\n events: [ACTIVE_EVENT_NAME, INACTIVE_EVENT_NAME]\r\n});\r\nexport var lock = FeedbackEmitter.lock;\r\nexport {\r\n ACTIVE_EVENT_NAME as active, INACTIVE_EVENT_NAME as inactive\r\n};\r\n","/**\r\n * DevExtreme (esm/events/core/emitter.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDxMouseWheelEvent,\r\n hasTouches,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar Emitter = Class.inherit({\r\n ctor: function(element) {\r\n this._$element = $(element);\r\n this._cancelCallback = Callbacks();\r\n this._acceptCallback = Callbacks()\r\n },\r\n getElement: function() {\r\n return this._$element\r\n },\r\n validate: function(e) {\r\n return !isDxMouseWheelEvent(e)\r\n },\r\n validatePointers: function(e) {\r\n return 1 === hasTouches(e)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return true\r\n },\r\n configure: function(data) {\r\n extend(this, data)\r\n },\r\n addCancelCallback: function(callback) {\r\n this._cancelCallback.add(callback)\r\n },\r\n removeCancelCallback: function() {\r\n this._cancelCallback.empty()\r\n },\r\n _cancel: function(e) {\r\n this._cancelCallback.fire(this, e)\r\n },\r\n addAcceptCallback: function(callback) {\r\n this._acceptCallback.add(callback)\r\n },\r\n removeAcceptCallback: function() {\r\n this._acceptCallback.empty()\r\n },\r\n _accept: function(e) {\r\n this._acceptCallback.fire(this, e)\r\n },\r\n _requestAccept: function(e) {\r\n this._acceptRequestEvent = e\r\n },\r\n _forgetAccept: function() {\r\n this._accept(this._acceptRequestEvent);\r\n this._acceptRequestEvent = null\r\n },\r\n start: noop,\r\n move: noop,\r\n end: noop,\r\n cancel: noop,\r\n reset: function() {\r\n if (this._acceptRequestEvent) {\r\n this._accept(this._acceptRequestEvent)\r\n }\r\n },\r\n _fireEvent: function(eventName, e, params) {\r\n var eventData = extend({\r\n type: eventName,\r\n originalEvent: e,\r\n target: this._getEmitterTarget(e),\r\n delegateTarget: this.getElement().get(0)\r\n }, params);\r\n e = fireEvent(eventData);\r\n if (e.cancel) {\r\n this._cancel(e)\r\n }\r\n return e\r\n },\r\n _getEmitterTarget: function(e) {\r\n return (this.delegateSelector ? $(e.target).closest(this.delegateSelector) : this.getElement()).get(0)\r\n },\r\n dispose: noop\r\n});\r\nexport default Emitter;\r\n","/**\r\n * DevExtreme (esm/events/core/emitter_registrator.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport registerEvent from \"./event_registrator\";\r\nimport {\r\n addNamespace,\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nimport pointerEvents from \"../pointer\";\r\nimport {\r\n name as wheelEventName\r\n} from \"./wheel\";\r\nvar MANAGER_EVENT = \"dxEventManager\";\r\nvar EMITTER_DATA = \"dxEmitter\";\r\nvar EventManager = Class.inherit({\r\n ctor: function() {\r\n this._attachHandlers();\r\n this.reset();\r\n this._proxiedCancelHandler = this._cancelHandler.bind(this);\r\n this._proxiedAcceptHandler = this._acceptHandler.bind(this)\r\n },\r\n _attachHandlers: function() {\r\n readyCallbacks.add(function() {\r\n var document = domAdapter.getDocument();\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.down, MANAGER_EVENT), this._pointerDownHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.move, MANAGER_EVENT), this._pointerMoveHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace([pointerEvents.up, pointerEvents.cancel].join(\" \"), MANAGER_EVENT), this._pointerUpHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace(wheelEventName, MANAGER_EVENT), this._mouseWheelHandler.bind(this))\r\n }.bind(this))\r\n },\r\n _eachEmitter: function(callback) {\r\n var activeEmitters = this._activeEmitters || [];\r\n var i = 0;\r\n while (activeEmitters.length > i) {\r\n var emitter = activeEmitters[i];\r\n if (false === callback(emitter)) {\r\n break\r\n }\r\n if (activeEmitters[i] === emitter) {\r\n i++\r\n }\r\n }\r\n },\r\n _applyToEmitters: function(method, arg) {\r\n this._eachEmitter((function(emitter) {\r\n emitter[method].call(emitter, arg)\r\n }))\r\n },\r\n reset: function() {\r\n this._eachEmitter(this._proxiedCancelHandler);\r\n this._activeEmitters = []\r\n },\r\n resetEmitter: function(emitter) {\r\n this._proxiedCancelHandler(emitter)\r\n },\r\n _pointerDownHandler: function(e) {\r\n if (isMouseEvent(e) && e.which > 1) {\r\n return\r\n }\r\n this._updateEmitters(e)\r\n },\r\n _updateEmitters: function(e) {\r\n if (!this._isSetChanged(e)) {\r\n return\r\n }\r\n this._cleanEmitters(e);\r\n this._fetchEmitters(e)\r\n },\r\n _isSetChanged: function(e) {\r\n var currentSet = this._closestEmitter(e);\r\n var previousSet = this._emittersSet || [];\r\n var setChanged = currentSet.length !== previousSet.length;\r\n each(currentSet, (function(index, emitter) {\r\n setChanged = setChanged || previousSet[index] !== emitter;\r\n return !setChanged\r\n }));\r\n this._emittersSet = currentSet;\r\n return setChanged\r\n },\r\n _closestEmitter: function(e) {\r\n var that = this;\r\n var result = [];\r\n var $element = $(e.target);\r\n\r\n function handleEmitter(_, emitter) {\r\n if (!!emitter && emitter.validatePointers(e) && emitter.validate(e)) {\r\n emitter.addCancelCallback(that._proxiedCancelHandler);\r\n emitter.addAcceptCallback(that._proxiedAcceptHandler);\r\n result.push(emitter)\r\n }\r\n }\r\n while ($element.length) {\r\n var emitters = elementData($element.get(0), EMITTER_DATA) || [];\r\n each(emitters, handleEmitter);\r\n $element = $element.parent()\r\n }\r\n return result\r\n },\r\n _acceptHandler: function(acceptedEmitter, e) {\r\n var that = this;\r\n this._eachEmitter((function(emitter) {\r\n if (emitter !== acceptedEmitter) {\r\n that._cancelEmitter(emitter, e)\r\n }\r\n }))\r\n },\r\n _cancelHandler: function(canceledEmitter, e) {\r\n this._cancelEmitter(canceledEmitter, e)\r\n },\r\n _cancelEmitter: function(emitter, e) {\r\n var activeEmitters = this._activeEmitters;\r\n if (e) {\r\n emitter.cancel(e)\r\n } else {\r\n emitter.reset()\r\n }\r\n emitter.removeCancelCallback();\r\n emitter.removeAcceptCallback();\r\n var emitterIndex = activeEmitters.indexOf(emitter);\r\n if (emitterIndex > -1) {\r\n activeEmitters.splice(emitterIndex, 1)\r\n }\r\n },\r\n _cleanEmitters: function(e) {\r\n this._applyToEmitters(\"end\", e);\r\n this.reset(e)\r\n },\r\n _fetchEmitters: function(e) {\r\n this._activeEmitters = this._emittersSet.slice();\r\n this._applyToEmitters(\"start\", e)\r\n },\r\n _pointerMoveHandler: function(e) {\r\n this._applyToEmitters(\"move\", e)\r\n },\r\n _pointerUpHandler: function(e) {\r\n this._updateEmitters(e)\r\n },\r\n _mouseWheelHandler: function(e) {\r\n if (!this._allowInterruptionByMouseWheel()) {\r\n return\r\n }\r\n e.pointers = [null];\r\n this._pointerDownHandler(e);\r\n this._adjustWheelEvent(e);\r\n this._pointerMoveHandler(e);\r\n e.pointers = [];\r\n this._pointerUpHandler(e)\r\n },\r\n _allowInterruptionByMouseWheel: function() {\r\n var allowInterruption = true;\r\n this._eachEmitter((function(emitter) {\r\n allowInterruption = emitter.allowInterruptionByMouseWheel() && allowInterruption;\r\n return allowInterruption\r\n }));\r\n return allowInterruption\r\n },\r\n _adjustWheelEvent: function(e) {\r\n var closestGestureEmitter = null;\r\n this._eachEmitter((function(emitter) {\r\n if (!emitter.gesture) {\r\n return\r\n }\r\n var direction = emitter.getDirection(e);\r\n if (\"horizontal\" !== direction && !e.shiftKey || \"vertical\" !== direction && e.shiftKey) {\r\n closestGestureEmitter = emitter;\r\n return false\r\n }\r\n }));\r\n if (!closestGestureEmitter) {\r\n return\r\n }\r\n var direction = closestGestureEmitter.getDirection(e);\r\n var verticalGestureDirection = \"both\" === direction && !e.shiftKey || \"vertical\" === direction;\r\n var prop = verticalGestureDirection ? \"pageY\" : \"pageX\";\r\n e[prop] += e.delta\r\n },\r\n isActive: function(element) {\r\n var result = false;\r\n this._eachEmitter((function(emitter) {\r\n result = result || emitter.getElement().is(element)\r\n }));\r\n return result\r\n }\r\n});\r\nvar eventManager = new EventManager;\r\nvar EMITTER_SUBSCRIPTION_DATA = \"dxEmitterSubscription\";\r\nvar registerEmitter = function(emitterConfig) {\r\n var emitterClass = emitterConfig.emitter;\r\n var emitterName = emitterConfig.events[0];\r\n var emitterEvents = emitterConfig.events;\r\n each(emitterEvents, (function(_, eventName) {\r\n registerEvent(eventName, {\r\n noBubble: !emitterConfig.bubble,\r\n setup: function(element) {\r\n var subscriptions = elementData(element, EMITTER_SUBSCRIPTION_DATA) || {};\r\n var emitters = elementData(element, EMITTER_DATA) || {};\r\n var emitter = emitters[emitterName] || new emitterClass(element);\r\n subscriptions[eventName] = true;\r\n emitters[emitterName] = emitter;\r\n elementData(element, EMITTER_DATA, emitters);\r\n elementData(element, EMITTER_SUBSCRIPTION_DATA, subscriptions)\r\n },\r\n add: function(element, handleObj) {\r\n var emitters = elementData(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n emitter.configure(extend({\r\n delegateSelector: handleObj.selector\r\n }, handleObj.data), handleObj.type)\r\n },\r\n teardown: function(element) {\r\n var subscriptions = elementData(element, EMITTER_SUBSCRIPTION_DATA);\r\n var emitters = elementData(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n delete subscriptions[eventName];\r\n var disposeEmitter = true;\r\n each(emitterEvents, (function(_, eventName) {\r\n disposeEmitter = disposeEmitter && !subscriptions[eventName];\r\n return disposeEmitter\r\n }));\r\n if (disposeEmitter) {\r\n if (eventManager.isActive(element)) {\r\n eventManager.resetEmitter(emitter)\r\n }\r\n emitter && emitter.dispose();\r\n delete emitters[emitterName]\r\n }\r\n }\r\n })\r\n }))\r\n};\r\nexport default registerEmitter;\r\n","/**\r\n * DevExtreme (esm/events/core/event_registrator.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport callbacks from \"./event_registrator_callbacks\";\r\nvar registerEvent = function(name, eventObject) {\r\n var strategy = {};\r\n if (\"noBubble\" in eventObject) {\r\n strategy.noBubble = eventObject.noBubble\r\n }\r\n if (\"bindType\" in eventObject) {\r\n strategy.bindType = eventObject.bindType\r\n }\r\n if (\"delegateType\" in eventObject) {\r\n strategy.delegateType = eventObject.delegateType\r\n }\r\n each([\"setup\", \"teardown\", \"add\", \"remove\", \"trigger\", \"handle\", \"_default\", \"dispose\"], (function(_, methodName) {\r\n if (!eventObject[methodName]) {\r\n return\r\n }\r\n strategy[methodName] = function() {\r\n var args = [].slice.call(arguments);\r\n args.unshift(this);\r\n return eventObject[methodName].apply(eventObject, args)\r\n }\r\n }));\r\n callbacks.fire(name, strategy)\r\n};\r\nregisterEvent.callbacks = callbacks;\r\nexport default registerEvent;\r\n","/**\r\n * DevExtreme (esm/events/core/event_registrator_callbacks.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport MemorizedCallbacks from \"../../core/memorized_callbacks\";\r\nexport default new MemorizedCallbacks;\r\n","/**\r\n * DevExtreme (esm/events/core/hook_touch_props.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar touchPropsToHook = [\"pageX\", \"pageY\", \"screenX\", \"screenY\", \"clientX\", \"clientY\"];\r\nvar touchPropHook = function(name, event) {\r\n if (event[name] && !event.touches || !event.touches) {\r\n return event[name]\r\n }\r\n var touches = event.touches.length ? event.touches : event.changedTouches;\r\n if (!touches.length) {\r\n return\r\n }\r\n return touches[0][name]\r\n};\r\nexport default function(callback) {\r\n touchPropsToHook.forEach((function(name) {\r\n callback(name, (function(event) {\r\n return touchPropHook(name, event)\r\n }))\r\n }), this)\r\n}\r\n","/**\r\n * DevExtreme (esm/events/core/events_engine.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport registerEventCallbacks from \"./event_registrator_callbacks\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport injector from \"../../core/utils/dependency_injector\";\r\nimport {\r\n isWindow,\r\n isFunction,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport errors from \"../../core/errors\";\r\nimport hookTouchProps from \"../../events/core/hook_touch_props\";\r\nimport callOnce from \"../../core/utils/call_once\";\r\nvar EMPTY_EVENT_NAME = \"dxEmptyEventType\";\r\nvar NATIVE_EVENTS_TO_SUBSCRIBE = {\r\n mouseenter: \"mouseover\",\r\n mouseleave: \"mouseout\",\r\n pointerenter: \"pointerover\",\r\n pointerleave: \"pointerout\"\r\n};\r\nvar NATIVE_EVENTS_TO_TRIGGER = {\r\n focusin: \"focus\",\r\n focusout: \"blur\"\r\n};\r\nvar NO_BUBBLE_EVENTS = [\"blur\", \"focus\", \"load\"];\r\nvar forcePassiveFalseEventNames = [\"touchmove\", \"wheel\", \"mousewheel\", \"touchstart\"];\r\nvar EVENT_PROPERTIES = [\"target\", \"relatedTarget\", \"delegateTarget\", \"altKey\", \"bubbles\", \"cancelable\", \"changedTouches\", \"ctrlKey\", \"detail\", \"eventPhase\", \"metaKey\", \"shiftKey\", \"view\", \"char\", \"code\", \"charCode\", \"key\", \"keyCode\", \"button\", \"buttons\", \"offsetX\", \"offsetY\", \"pointerId\", \"pointerType\", \"targetTouches\", \"toElement\", \"touches\"];\r\n\r\nfunction matchesSafe(target, selector) {\r\n return !isWindow(target) && \"#document\" !== target.nodeName && domAdapter.elementMatches(target, selector)\r\n}\r\nvar elementDataMap = new WeakMap;\r\nvar guid = 0;\r\nvar skipEvent;\r\nvar special = function() {\r\n var specialData = {};\r\n registerEventCallbacks.add((function(eventName, eventObject) {\r\n specialData[eventName] = eventObject\r\n }));\r\n return {\r\n getField: function(eventName, field) {\r\n return specialData[eventName] && specialData[eventName][field]\r\n },\r\n callMethod: function(eventName, methodName, context, args) {\r\n return specialData[eventName] && specialData[eventName][methodName] && specialData[eventName][methodName].apply(context, args)\r\n }\r\n }\r\n}();\r\nvar eventsEngine = injector({\r\n on: getHandler(normalizeOnArguments(iterate((function(element, eventName, selector, data, handler) {\r\n var handlersController = getHandlersController(element, eventName);\r\n handlersController.addHandler(handler, selector, data)\r\n })))),\r\n one: getHandler(normalizeOnArguments((function(element, eventName, selector, data, handler) {\r\n eventsEngine.on(element, eventName, selector, data, (function oneTimeHandler() {\r\n eventsEngine.off(element, eventName, selector, oneTimeHandler);\r\n handler.apply(this, arguments)\r\n }))\r\n }))),\r\n off: getHandler(normalizeOffArguments(iterate((function(element, eventName, selector, handler) {\r\n var handlersController = getHandlersController(element, eventName);\r\n handlersController.removeHandler(handler, selector)\r\n })))),\r\n trigger: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) {\r\n var eventName = event.type;\r\n var handlersController = getHandlersController(element, event.type);\r\n special.callMethod(eventName, \"trigger\", element, [event, extraParameters]);\r\n handlersController.callHandlers(event, extraParameters);\r\n var noBubble = special.getField(eventName, \"noBubble\") || event.isPropagationStopped() || -1 !== NO_BUBBLE_EVENTS.indexOf(eventName);\r\n if (!noBubble) {\r\n var parents = [];\r\n ! function getParents(element) {\r\n var _element$parentNode;\r\n var parent = null !== (_element$parentNode = element.parentNode) && void 0 !== _element$parentNode ? _element$parentNode : element.host;\r\n if (parent) {\r\n parents.push(parent);\r\n getParents(parent)\r\n }\r\n }(element);\r\n parents.push(window);\r\n var i = 0;\r\n while (parents[i] && !event.isPropagationStopped()) {\r\n var parentDataByEvent = getHandlersController(parents[i], event.type);\r\n parentDataByEvent.callHandlers(extend(event, {\r\n currentTarget: parents[i]\r\n }), extraParameters);\r\n i++\r\n }\r\n }\r\n if (element.nodeType || isWindow(element)) {\r\n special.callMethod(eventName, \"_default\", element, [event, extraParameters]);\r\n callNativeMethod(eventName, element)\r\n }\r\n }))),\r\n triggerHandler: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) {\r\n var handlersController = getHandlersController(element, event.type);\r\n handlersController.callHandlers(event, extraParameters)\r\n })))\r\n});\r\n\r\nfunction applyForEach(args, method) {\r\n var element = args[0];\r\n if (!element) {\r\n return\r\n }\r\n if (domAdapter.isNode(element) || isWindow(element)) {\r\n method.apply(eventsEngine, args)\r\n } else if (!isString(element) && \"length\" in element) {\r\n var itemArgs = Array.prototype.slice.call(args, 0);\r\n Array.prototype.forEach.call(element, (function(itemElement) {\r\n itemArgs[0] = itemElement;\r\n applyForEach(itemArgs, method)\r\n }))\r\n } else {\r\n throw errors.Error(\"E0025\")\r\n }\r\n}\r\n\r\nfunction getHandler(method) {\r\n return function() {\r\n applyForEach(arguments, method)\r\n }\r\n}\r\n\r\nfunction detectPassiveEventHandlersSupport() {\r\n var isSupported = false;\r\n try {\r\n var options = Object.defineProperty({}, \"passive\", {\r\n get: function() {\r\n isSupported = true;\r\n return true\r\n }\r\n });\r\n window.addEventListener(\"test\", null, options)\r\n } catch (e) {}\r\n return isSupported\r\n}\r\nvar passiveEventHandlersSupported = callOnce(detectPassiveEventHandlersSupport);\r\nvar contains = (container, element) => {\r\n if (isWindow(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains ? container.contains(element) : !!(element.compareDocumentPosition(container) & element.DOCUMENT_POSITION_CONTAINS)\r\n};\r\n\r\nfunction getHandlersController(element, eventName) {\r\n var elementData = elementDataMap.get(element);\r\n eventName = eventName || \"\";\r\n var eventNameParts = eventName.split(\".\");\r\n var namespaces = eventNameParts.slice(1);\r\n var eventNameIsDefined = !!eventNameParts[0];\r\n eventName = eventNameParts[0] || EMPTY_EVENT_NAME;\r\n if (!elementData) {\r\n elementData = {};\r\n elementDataMap.set(element, elementData)\r\n }\r\n if (!elementData[eventName]) {\r\n elementData[eventName] = {\r\n handleObjects: [],\r\n nativeHandler: null\r\n }\r\n }\r\n var eventData = elementData[eventName];\r\n return {\r\n addHandler: function(handler, selector, data) {\r\n var callHandler = function(e, extraParameters) {\r\n var handlerArgs = [e];\r\n var target = e.currentTarget;\r\n var relatedTarget = e.relatedTarget;\r\n var secondaryTargetIsInside;\r\n var result;\r\n if (eventName in NATIVE_EVENTS_TO_SUBSCRIBE) {\r\n secondaryTargetIsInside = relatedTarget && target && (relatedTarget === target || contains(target, relatedTarget))\r\n }\r\n if (void 0 !== extraParameters) {\r\n handlerArgs.push(extraParameters)\r\n }\r\n special.callMethod(eventName, \"handle\", element, [e, data]);\r\n if (!secondaryTargetIsInside) {\r\n result = handler.apply(target, handlerArgs)\r\n }\r\n if (false === result) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n };\r\n var handleObject = {\r\n handler: handler,\r\n wrappedHandler: function(e, extraParameters) {\r\n if (skipEvent && e.type === skipEvent) {\r\n return\r\n }\r\n e.data = data;\r\n e.delegateTarget = element;\r\n if (selector) {\r\n var currentTarget = e.target;\r\n while (currentTarget && currentTarget !== element) {\r\n if (matchesSafe(currentTarget, selector)) {\r\n e.currentTarget = currentTarget;\r\n callHandler(e, extraParameters)\r\n }\r\n currentTarget = currentTarget.parentNode\r\n }\r\n } else {\r\n e.currentTarget = e.delegateTarget || e.target;\r\n callHandler(e, extraParameters)\r\n }\r\n },\r\n selector: selector,\r\n type: eventName,\r\n data: data,\r\n namespace: namespaces.join(\".\"),\r\n namespaces: namespaces,\r\n guid: ++guid\r\n };\r\n eventData.handleObjects.push(handleObject);\r\n var firstHandlerForTheType = 1 === eventData.handleObjects.length;\r\n var shouldAddNativeListener = firstHandlerForTheType && eventNameIsDefined;\r\n var nativeListenerOptions;\r\n if (shouldAddNativeListener) {\r\n shouldAddNativeListener = !special.callMethod(eventName, \"setup\", element, [data, namespaces, handler])\r\n }\r\n if (shouldAddNativeListener) {\r\n eventData.nativeHandler = getNativeHandler(eventName);\r\n if (passiveEventHandlersSupported() && forcePassiveFalseEventNames.indexOf(eventName) > -1) {\r\n nativeListenerOptions = {\r\n passive: false\r\n }\r\n }\r\n eventData.removeListener = domAdapter.listen(element, NATIVE_EVENTS_TO_SUBSCRIBE[eventName] || eventName, eventData.nativeHandler, nativeListenerOptions)\r\n }\r\n special.callMethod(eventName, \"add\", element, [handleObject])\r\n },\r\n removeHandler: function(handler, selector) {\r\n var removeByEventName = function(eventName) {\r\n var eventData = elementData[eventName];\r\n if (!eventData.handleObjects.length) {\r\n delete elementData[eventName];\r\n return\r\n }\r\n var removedHandler;\r\n eventData.handleObjects = eventData.handleObjects.filter((function(handleObject) {\r\n var skip = namespaces.length && !isSubset(handleObject.namespaces, namespaces) || handler && handleObject.handler !== handler || selector && handleObject.selector !== selector;\r\n if (!skip) {\r\n removedHandler = handleObject.handler;\r\n special.callMethod(eventName, \"remove\", element, [handleObject])\r\n }\r\n return skip\r\n }));\r\n var lastHandlerForTheType = !eventData.handleObjects.length;\r\n var shouldRemoveNativeListener = lastHandlerForTheType && eventName !== EMPTY_EVENT_NAME;\r\n if (shouldRemoveNativeListener) {\r\n special.callMethod(eventName, \"teardown\", element, [namespaces, removedHandler]);\r\n if (eventData.nativeHandler) {\r\n eventData.removeListener()\r\n }\r\n delete elementData[eventName]\r\n }\r\n };\r\n if (eventNameIsDefined) {\r\n removeByEventName(eventName)\r\n } else {\r\n for (var name in elementData) {\r\n removeByEventName(name)\r\n }\r\n }\r\n var elementDataIsEmpty = 0 === Object.keys(elementData).length;\r\n if (elementDataIsEmpty) {\r\n elementDataMap.delete(element)\r\n }\r\n },\r\n callHandlers: function(event, extraParameters) {\r\n var forceStop = false;\r\n var handleCallback = function(handleObject) {\r\n if (forceStop) {\r\n return\r\n }\r\n if (!namespaces.length || isSubset(handleObject.namespaces, namespaces)) {\r\n handleObject.wrappedHandler(event, extraParameters);\r\n forceStop = event.isImmediatePropagationStopped()\r\n }\r\n };\r\n eventData.handleObjects.forEach(handleCallback);\r\n if (namespaces.length && elementData[EMPTY_EVENT_NAME]) {\r\n elementData[EMPTY_EVENT_NAME].handleObjects.forEach(handleCallback)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction getNativeHandler(subscribeName) {\r\n return function(event, extraParameters) {\r\n var handlersController = getHandlersController(this, subscribeName);\r\n event = eventsEngine.Event(event);\r\n handlersController.callHandlers(event, extraParameters)\r\n }\r\n}\r\n\r\nfunction isSubset(original, checked) {\r\n for (var i = 0; i < checked.length; i++) {\r\n if (original.indexOf(checked[i]) < 0) {\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\n\r\nfunction normalizeOnArguments(callback) {\r\n return function(element, eventName, selector, data, handler) {\r\n if (!handler) {\r\n handler = data;\r\n data = void 0\r\n }\r\n if (\"string\" !== typeof selector) {\r\n data = selector;\r\n selector = void 0\r\n }\r\n if (!handler && \"string\" === typeof eventName) {\r\n handler = data || selector;\r\n selector = void 0;\r\n data = void 0\r\n }\r\n callback(element, eventName, selector, data, handler)\r\n }\r\n}\r\n\r\nfunction normalizeOffArguments(callback) {\r\n return function(element, eventName, selector, handler) {\r\n if (\"function\" === typeof selector) {\r\n handler = selector;\r\n selector = void 0\r\n }\r\n callback(element, eventName, selector, handler)\r\n }\r\n}\r\n\r\nfunction normalizeTriggerArguments(callback) {\r\n return function(element, src, extraParameters) {\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!src.target) {\r\n src.target = element\r\n }\r\n src.currentTarget = element;\r\n if (!src.delegateTarget) {\r\n src.delegateTarget = element\r\n }\r\n if (!src.type && src.originalEvent) {\r\n src.type = src.originalEvent.type\r\n }\r\n callback(element, src instanceof eventsEngine.Event ? src : eventsEngine.Event(src), extraParameters)\r\n }\r\n}\r\n\r\nfunction normalizeEventArguments(callback) {\r\n eventsEngine.Event = function(src, config) {\r\n if (!(this instanceof eventsEngine.Event)) {\r\n return new eventsEngine.Event(src, config)\r\n }\r\n if (!src) {\r\n src = {}\r\n }\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!config) {\r\n config = {}\r\n }\r\n callback.call(this, src, config)\r\n };\r\n _extends(eventsEngine.Event.prototype, {\r\n _propagationStopped: false,\r\n _immediatePropagationStopped: false,\r\n _defaultPrevented: false,\r\n isPropagationStopped: function() {\r\n return !!(this._propagationStopped || this.originalEvent && this.originalEvent.propagationStopped)\r\n },\r\n stopPropagation: function() {\r\n this._propagationStopped = true;\r\n this.originalEvent && this.originalEvent.stopPropagation()\r\n },\r\n isImmediatePropagationStopped: function() {\r\n return this._immediatePropagationStopped\r\n },\r\n stopImmediatePropagation: function() {\r\n this.stopPropagation();\r\n this._immediatePropagationStopped = true;\r\n this.originalEvent && this.originalEvent.stopImmediatePropagation()\r\n },\r\n isDefaultPrevented: function() {\r\n return !!(this._defaultPrevented || this.originalEvent && this.originalEvent.defaultPrevented)\r\n },\r\n preventDefault: function() {\r\n this._defaultPrevented = true;\r\n this.originalEvent && this.originalEvent.preventDefault()\r\n }\r\n });\r\n return eventsEngine.Event\r\n}\r\n\r\nfunction iterate(callback) {\r\n var iterateEventNames = function(element, eventName) {\r\n if (eventName && eventName.indexOf(\" \") > -1) {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n eventName.split(\" \").forEach((function(eventName) {\r\n args[1] = eventName;\r\n callback.apply(this, args)\r\n }))\r\n } else {\r\n callback.apply(this, arguments)\r\n }\r\n };\r\n return function(element, eventName) {\r\n if (\"object\" === typeof eventName) {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n for (var name in eventName) {\r\n args[1] = name;\r\n args[args.length - 1] = eventName[name];\r\n iterateEventNames.apply(this, args)\r\n }\r\n } else {\r\n iterateEventNames.apply(this, arguments)\r\n }\r\n }\r\n}\r\n\r\nfunction callNativeMethod(eventName, element) {\r\n var nativeMethodName = NATIVE_EVENTS_TO_TRIGGER[eventName] || eventName;\r\n if (function(eventName, element) {\r\n return \"click\" === eventName && \"a\" === element.localName\r\n }(eventName, element)) {\r\n return\r\n }\r\n if (isFunction(element[nativeMethodName])) {\r\n skipEvent = eventName;\r\n element[nativeMethodName]();\r\n skipEvent = void 0\r\n }\r\n}\r\n\r\nfunction calculateWhich(event) {\r\n if (function(event) {\r\n return null == event.which && 0 === event.type.indexOf(\"key\")\r\n }(event)) {\r\n return null != event.charCode ? event.charCode : event.keyCode\r\n }\r\n if (function(event) {\r\n return !event.which && void 0 !== event.button && /^(?:mouse|pointer|contextmenu|drag|drop)|click/.test(event.type)\r\n }(event)) {\r\n return {\r\n 1: 1,\r\n 2: 3,\r\n 3: 1,\r\n 4: 2\r\n } [event.button]\r\n }\r\n return event.which\r\n}\r\n\r\nfunction initEvent(EventClass) {\r\n if (EventClass) {\r\n eventsEngine.Event = EventClass;\r\n eventsEngine.Event.prototype = EventClass.prototype\r\n }\r\n}\r\ninitEvent(normalizeEventArguments((function(src, config) {\r\n var _src$view;\r\n var srcIsEvent = src instanceof eventsEngine.Event || hasWindow() && src instanceof window.Event || (null === (_src$view = src.view) || void 0 === _src$view ? void 0 : _src$view.Event) && src instanceof src.view.Event;\r\n if (srcIsEvent) {\r\n this.originalEvent = src;\r\n this.type = src.type;\r\n this.currentTarget = void 0;\r\n if (Object.prototype.hasOwnProperty.call(src, \"isTrusted\")) {\r\n this.isTrusted = src.isTrusted\r\n }\r\n this.timeStamp = src.timeStamp || Date.now()\r\n } else {\r\n _extends(this, src)\r\n }\r\n addProperty(\"which\", calculateWhich, this);\r\n if (0 === src.type.indexOf(\"touch\")) {\r\n delete config.pageX;\r\n delete config.pageY\r\n }\r\n _extends(this, config);\r\n this.guid = ++guid\r\n})));\r\n\r\nfunction addProperty(propName, hook, eventInstance) {\r\n Object.defineProperty(eventInstance || eventsEngine.Event.prototype, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return this.originalEvent && hook(this.originalEvent)\r\n },\r\n set: function(value) {\r\n Object.defineProperty(this, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: value\r\n })\r\n }\r\n })\r\n}\r\nEVENT_PROPERTIES.forEach(prop => addProperty(prop, event => event[prop]));\r\nhookTouchProps(addProperty);\r\nvar beforeSetStrategy = Callbacks();\r\nvar afterSetStrategy = Callbacks();\r\neventsEngine.set = function(engine) {\r\n beforeSetStrategy.fire();\r\n eventsEngine.inject(engine);\r\n initEvent(engine.Event);\r\n afterSetStrategy.fire()\r\n};\r\neventsEngine.subscribeGlobal = function() {\r\n applyForEach(arguments, normalizeOnArguments((function() {\r\n var args = arguments;\r\n eventsEngine.on.apply(this, args);\r\n beforeSetStrategy.add((function() {\r\n var offArgs = Array.prototype.slice.call(args, 0);\r\n offArgs.splice(3, 1);\r\n eventsEngine.off.apply(this, offArgs)\r\n }));\r\n afterSetStrategy.add((function() {\r\n eventsEngine.on.apply(this, args)\r\n }))\r\n })))\r\n};\r\neventsEngine.forcePassiveFalseEventNames = forcePassiveFalseEventNames;\r\neventsEngine.passiveEventHandlersSupported = passiveEventHandlersSupported;\r\nexport default eventsEngine;\r\n","/**\r\n * DevExtreme (esm/events/core/keyboard_processor.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nvar COMPOSITION_START_EVENT = \"compositionstart\";\r\nvar COMPOSITION_END_EVENT = \"compositionend\";\r\nvar KEYDOWN_EVENT = \"keydown\";\r\nvar NAMESPACE = \"KeyboardProcessor\";\r\nvar createKeyDownOptions = e => ({\r\n keyName: normalizeKeyName(e),\r\n key: e.key,\r\n code: e.code,\r\n ctrl: e.ctrlKey,\r\n location: e.location,\r\n metaKey: e.metaKey,\r\n shift: e.shiftKey,\r\n alt: e.altKey,\r\n which: e.which,\r\n originalEvent: e\r\n});\r\nvar KeyboardProcessor = Class.inherit({\r\n _keydown: addNamespace(KEYDOWN_EVENT, NAMESPACE),\r\n _compositionStart: addNamespace(COMPOSITION_START_EVENT, NAMESPACE),\r\n _compositionEnd: addNamespace(COMPOSITION_END_EVENT, NAMESPACE),\r\n ctor: function(options) {\r\n options = options || {};\r\n if (options.element) {\r\n this._element = $(options.element)\r\n }\r\n if (options.focusTarget) {\r\n this._focusTarget = options.focusTarget\r\n }\r\n this._handler = options.handler;\r\n if (this._element) {\r\n this._processFunction = e => {\r\n var focusTargets = $(this._focusTarget).toArray();\r\n var isNotFocusTarget = this._focusTarget && this._focusTarget !== e.target && !focusTargets.includes(e.target);\r\n var shouldSkipProcessing = this._isComposingJustFinished && 229 === e.which || this._isComposing || isNotFocusTarget;\r\n this._isComposingJustFinished = false;\r\n if (!shouldSkipProcessing) {\r\n this.process(e)\r\n }\r\n };\r\n this._toggleProcessingWithContext = this.toggleProcessing.bind(this);\r\n eventsEngine.on(this._element, this._keydown, this._processFunction);\r\n eventsEngine.on(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n eventsEngine.on(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n },\r\n dispose: function() {\r\n if (this._element) {\r\n eventsEngine.off(this._element, this._keydown, this._processFunction);\r\n eventsEngine.off(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n eventsEngine.off(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n this._element = void 0;\r\n this._handler = void 0\r\n },\r\n process: function(e) {\r\n this._handler(createKeyDownOptions(e))\r\n },\r\n toggleProcessing: function(_ref) {\r\n var {\r\n type: type\r\n } = _ref;\r\n this._isComposing = type === COMPOSITION_START_EVENT;\r\n this._isComposingJustFinished = !this._isComposing\r\n }\r\n});\r\nKeyboardProcessor.createKeyDownOptions = createKeyDownOptions;\r\nexport default KeyboardProcessor;\r\n","/**\r\n * DevExtreme (esm/events/core/wheel.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerEvent from \"./event_registrator\";\r\nimport {\r\n addNamespace,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar EVENT_NAME = \"dxmousewheel\";\r\nvar EVENT_NAMESPACE = \"dxWheel\";\r\nvar NATIVE_EVENT_NAME = \"wheel\";\r\nvar PIXEL_MODE = 0;\r\nvar DELTA_MUTLIPLIER = 30;\r\nvar wheel = {\r\n setup: function(element) {\r\n var $element = $(element);\r\n eventsEngine.on($element, addNamespace(NATIVE_EVENT_NAME, EVENT_NAMESPACE), wheel._wheelHandler.bind(wheel))\r\n },\r\n teardown: function(element) {\r\n eventsEngine.off(element, \".\".concat(EVENT_NAMESPACE))\r\n },\r\n _wheelHandler: function(e) {\r\n var {\r\n deltaMode: deltaMode,\r\n deltaY: deltaY,\r\n deltaX: deltaX,\r\n deltaZ: deltaZ\r\n } = e.originalEvent;\r\n fireEvent({\r\n type: EVENT_NAME,\r\n originalEvent: e,\r\n delta: this._normalizeDelta(deltaY, deltaMode),\r\n deltaX: deltaX,\r\n deltaY: deltaY,\r\n deltaZ: deltaZ,\r\n deltaMode: deltaMode,\r\n pointerType: \"mouse\"\r\n });\r\n e.stopPropagation()\r\n },\r\n _normalizeDelta(delta) {\r\n var deltaMode = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : PIXEL_MODE;\r\n if (deltaMode === PIXEL_MODE) {\r\n return -delta\r\n } else {\r\n return -DELTA_MUTLIPLIER * delta\r\n }\r\n }\r\n};\r\nregisterEvent(EVENT_NAME, wheel);\r\nexport {\r\n EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/events/drag.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n data as elementData,\r\n removeData\r\n} from \"../core/element_data\";\r\nimport {\r\n wrapToArray\r\n} from \"../core/utils/array\";\r\nimport * as iteratorUtils from \"../core/utils/iterator\";\r\nimport {\r\n contains\r\n} from \"../core/utils/dom\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n eventData as eData,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport GestureEmitter from \"./gesture/emitter.gesture\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar DRAG_START_EVENT = \"dxdragstart\";\r\nvar DRAG_EVENT = \"dxdrag\";\r\nvar DRAG_END_EVENT = \"dxdragend\";\r\nvar DRAG_ENTER_EVENT = \"dxdragenter\";\r\nvar DRAG_LEAVE_EVENT = \"dxdragleave\";\r\nvar DROP_EVENT = \"dxdrop\";\r\nvar DX_DRAG_EVENTS_COUNT_KEY = \"dxDragEventsCount\";\r\nvar knownDropTargets = [];\r\nvar knownDropTargetSelectors = [];\r\nvar knownDropTargetConfigs = [];\r\nvar dropTargetRegistration = {\r\n setup: function(element, data) {\r\n var knownDropTarget = knownDropTargets.includes(element);\r\n if (!knownDropTarget) {\r\n knownDropTargets.push(element);\r\n knownDropTargetSelectors.push([]);\r\n knownDropTargetConfigs.push(data || {})\r\n }\r\n },\r\n add: function(element, handleObj) {\r\n var index = knownDropTargets.indexOf(element);\r\n this.updateEventsCounter(element, handleObj.type, 1);\r\n var selector = handleObj.selector;\r\n if (!knownDropTargetSelectors[index].includes(selector)) {\r\n knownDropTargetSelectors[index].push(selector)\r\n }\r\n },\r\n updateEventsCounter: function(element, event, value) {\r\n if ([DRAG_ENTER_EVENT, DRAG_LEAVE_EVENT, DROP_EVENT].indexOf(event) > -1) {\r\n var eventsCount = elementData(element, DX_DRAG_EVENTS_COUNT_KEY) || 0;\r\n elementData(element, DX_DRAG_EVENTS_COUNT_KEY, Math.max(0, eventsCount + value))\r\n }\r\n },\r\n remove: function(element, handleObj) {\r\n this.updateEventsCounter(element, handleObj.type, -1)\r\n },\r\n teardown: function(element) {\r\n var handlersCount = elementData(element, DX_DRAG_EVENTS_COUNT_KEY);\r\n if (!handlersCount) {\r\n var index = knownDropTargets.indexOf(element);\r\n knownDropTargets.splice(index, 1);\r\n knownDropTargetSelectors.splice(index, 1);\r\n knownDropTargetConfigs.splice(index, 1);\r\n removeData(element, DX_DRAG_EVENTS_COUNT_KEY)\r\n }\r\n }\r\n};\r\nregisterEvent(DRAG_ENTER_EVENT, dropTargetRegistration);\r\nregisterEvent(DRAG_LEAVE_EVENT, dropTargetRegistration);\r\nregisterEvent(DROP_EVENT, dropTargetRegistration);\r\nvar getItemDelegatedTargets = function($element) {\r\n var dropTargetIndex = knownDropTargets.indexOf($element.get(0));\r\n var dropTargetSelectors = knownDropTargetSelectors[dropTargetIndex].filter(selector => selector);\r\n var $delegatedTargets = $element.find(dropTargetSelectors.join(\", \"));\r\n if (knownDropTargetSelectors[dropTargetIndex].includes(void 0)) {\r\n $delegatedTargets = $delegatedTargets.add($element)\r\n }\r\n return $delegatedTargets\r\n};\r\nvar getItemConfig = function($element) {\r\n var dropTargetIndex = knownDropTargets.indexOf($element.get(0));\r\n return knownDropTargetConfigs[dropTargetIndex]\r\n};\r\nvar getItemPosition = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemPositionFunc) {\r\n return dropTargetConfig.itemPositionFunc($element)\r\n } else {\r\n return $element.offset()\r\n }\r\n};\r\nvar getItemSize = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemSizeFunc) {\r\n return dropTargetConfig.itemSizeFunc($element)\r\n }\r\n return {\r\n width: $element.get(0).getBoundingClientRect().width,\r\n height: $element.get(0).getBoundingClientRect().height\r\n }\r\n};\r\nvar DragEmitter = GestureEmitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this.direction = \"both\"\r\n },\r\n _init: function(e) {\r\n this._initEvent = e\r\n },\r\n _start: function(e) {\r\n e = this._fireEvent(DRAG_START_EVENT, this._initEvent);\r\n this._maxLeftOffset = e.maxLeftOffset;\r\n this._maxRightOffset = e.maxRightOffset;\r\n this._maxTopOffset = e.maxTopOffset;\r\n this._maxBottomOffset = e.maxBottomOffset;\r\n if (e.targetElements || null === e.targetElements) {\r\n var dropTargets = wrapToArray(e.targetElements || []);\r\n this._dropTargets = iteratorUtils.map(dropTargets, (function(element) {\r\n return $(element).get(0)\r\n }))\r\n } else {\r\n this._dropTargets = knownDropTargets\r\n }\r\n },\r\n _move: function(e) {\r\n var eventData = eData(e);\r\n var dragOffset = this._calculateOffset(eventData);\r\n e = this._fireEvent(DRAG_EVENT, e, {\r\n offset: dragOffset\r\n });\r\n this._processDropTargets(e);\r\n if (!e._cancelPreventDefault) {\r\n e.preventDefault()\r\n }\r\n },\r\n _calculateOffset: function(eventData) {\r\n return {\r\n x: this._calculateXOffset(eventData),\r\n y: this._calculateYOffset(eventData)\r\n }\r\n },\r\n _calculateXOffset: function(eventData) {\r\n if (\"vertical\" !== this.direction) {\r\n var offset = eventData.x - this._startEventData.x;\r\n return this._fitOffset(offset, this._maxLeftOffset, this._maxRightOffset)\r\n }\r\n return 0\r\n },\r\n _calculateYOffset: function(eventData) {\r\n if (\"horizontal\" !== this.direction) {\r\n var offset = eventData.y - this._startEventData.y;\r\n return this._fitOffset(offset, this._maxTopOffset, this._maxBottomOffset)\r\n }\r\n return 0\r\n },\r\n _fitOffset: function(offset, minOffset, maxOffset) {\r\n if (null != minOffset) {\r\n offset = Math.max(offset, -minOffset)\r\n }\r\n if (null != maxOffset) {\r\n offset = Math.min(offset, maxOffset)\r\n }\r\n return offset\r\n },\r\n _processDropTargets: function(e) {\r\n var target = this._findDropTarget(e);\r\n var sameTarget = target === this._currentDropTarget;\r\n if (!sameTarget) {\r\n this._fireDropTargetEvent(e, DRAG_LEAVE_EVENT);\r\n this._currentDropTarget = target;\r\n this._fireDropTargetEvent(e, DRAG_ENTER_EVENT)\r\n }\r\n },\r\n _fireDropTargetEvent: function(event, eventName) {\r\n if (!this._currentDropTarget) {\r\n return\r\n }\r\n var eventData = {\r\n type: eventName,\r\n originalEvent: event,\r\n draggingElement: this._$element.get(0),\r\n target: this._currentDropTarget\r\n };\r\n fireEvent(eventData)\r\n },\r\n _findDropTarget: function(e) {\r\n var that = this;\r\n var result;\r\n iteratorUtils.each(knownDropTargets, (function(_, target) {\r\n if (!that._checkDropTargetActive(target)) {\r\n return\r\n }\r\n var $target = $(target);\r\n iteratorUtils.each(getItemDelegatedTargets($target), (function(_, delegatedTarget) {\r\n var $delegatedTarget = $(delegatedTarget);\r\n if (that._checkDropTarget(getItemConfig($target), $delegatedTarget, $(result), e)) {\r\n result = delegatedTarget\r\n }\r\n }))\r\n }));\r\n return result\r\n },\r\n _checkDropTargetActive: function(target) {\r\n var active = false;\r\n iteratorUtils.each(this._dropTargets, (function(_, activeTarget) {\r\n active = active || activeTarget === target || contains(activeTarget, target);\r\n return !active\r\n }));\r\n return active\r\n },\r\n _checkDropTarget: function(config, $target, $prevTarget, e) {\r\n var isDraggingElement = $target.get(0) === $(e.target).get(0);\r\n if (isDraggingElement) {\r\n return false\r\n }\r\n var targetPosition = getItemPosition(config, $target);\r\n if (e.pageX < targetPosition.left) {\r\n return false\r\n }\r\n if (e.pageY < targetPosition.top) {\r\n return false\r\n }\r\n var targetSize = getItemSize(config, $target);\r\n if (e.pageX > targetPosition.left + targetSize.width) {\r\n return false\r\n }\r\n if (e.pageY > targetPosition.top + targetSize.height) {\r\n return false\r\n }\r\n if ($prevTarget.length && $prevTarget.closest($target).length) {\r\n return false\r\n }\r\n if (config.checkDropTarget && !config.checkDropTarget($target, e)) {\r\n return false\r\n }\r\n return $target\r\n },\r\n _end: function(e) {\r\n var eventData = eData(e);\r\n this._fireEvent(DRAG_END_EVENT, e, {\r\n offset: this._calculateOffset(eventData)\r\n });\r\n this._fireDropTargetEvent(e, DROP_EVENT);\r\n delete this._currentDropTarget\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: DragEmitter,\r\n events: [DRAG_START_EVENT, DRAG_EVENT, DRAG_END_EVENT]\r\n});\r\nexport {\r\n DRAG_EVENT as move, DRAG_START_EVENT as start, DRAG_END_EVENT as end, DRAG_ENTER_EVENT as enter, DRAG_LEAVE_EVENT as leave, DROP_EVENT as drop\r\n};\r\n","/**\r\n * DevExtreme (esm/events/gesture/emitter.gesture.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n styleProp\r\n} from \"../../core/utils/style\";\r\nimport callOnce from \"../../core/utils/call_once\";\r\nimport {\r\n resetActiveElement,\r\n clearSelection\r\n} from \"../../core/utils/dom\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nvar ready = readyCallbacks.add;\r\nimport {\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n needSkipEvent,\r\n createEvent,\r\n eventData,\r\n isDxMouseWheelEvent,\r\n eventDelta,\r\n isTouchEvent\r\n} from \"../utils/index\";\r\nimport Emitter from \"../core/emitter\";\r\nvar abs = Math.abs;\r\nvar SLEEP = 0;\r\nvar INITED = 1;\r\nvar STARTED = 2;\r\nvar TOUCH_BOUNDARY = 10;\r\nvar IMMEDIATE_TOUCH_BOUNDARY = 0;\r\nvar IMMEDIATE_TIMEOUT = 180;\r\nvar supportPointerEvents = function() {\r\n return styleProp(\"pointer-events\")\r\n};\r\nvar setGestureCover = callOnce((function() {\r\n var isDesktop = \"desktop\" === devices.real().deviceType;\r\n if (!supportPointerEvents() || !isDesktop) {\r\n return noop\r\n }\r\n var $cover = $(\"
\").addClass(\"dx-gesture-cover\").css(\"pointerEvents\", \"none\");\r\n eventsEngine.subscribeGlobal($cover, \"dxmousewheel\", (function(e) {\r\n e.preventDefault()\r\n }));\r\n ready((function() {\r\n $cover.appendTo(\"body\")\r\n }));\r\n return function(toggle, cursor) {\r\n $cover.css(\"pointerEvents\", toggle ? \"all\" : \"none\");\r\n toggle && $cover.css(\"cursor\", cursor)\r\n }\r\n}));\r\nvar gestureCover = function(toggle, cursor) {\r\n var gestureCoverStrategy = setGestureCover();\r\n gestureCoverStrategy(toggle, cursor)\r\n};\r\nvar GestureEmitter = Emitter.inherit({\r\n gesture: true,\r\n configure: function(data) {\r\n this.getElement().css(\"msTouchAction\", data.immediate ? \"pinch-zoom\" : \"\");\r\n this.callBase(data)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return this._stage !== STARTED\r\n },\r\n getDirection: function() {\r\n return this.direction\r\n },\r\n _cancel: function() {\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false);\r\n this._stage = SLEEP\r\n },\r\n start: function(e) {\r\n if (e._needSkipEvent || needSkipEvent(e)) {\r\n this._cancel(e);\r\n return\r\n }\r\n this._startEvent = createEvent(e);\r\n this._startEventData = eventData(e);\r\n this._stage = INITED;\r\n this._init(e);\r\n this._setupImmediateTimer()\r\n },\r\n _setupImmediateTimer: function() {\r\n clearTimeout(this._immediateTimer);\r\n this._immediateAccepted = false;\r\n if (!this.immediate) {\r\n return\r\n }\r\n this._immediateTimer = setTimeout(function() {\r\n this._immediateAccepted = true\r\n }.bind(this), IMMEDIATE_TIMEOUT)\r\n },\r\n move: function(e) {\r\n if (this._stage === INITED && this._directionConfirmed(e)) {\r\n this._stage = STARTED;\r\n this._resetActiveElement();\r\n this._toggleGestureCover(true);\r\n this._clearSelection(e);\r\n this._adjustStartEvent(e);\r\n this._start(this._startEvent);\r\n if (this._stage === SLEEP) {\r\n return\r\n }\r\n this._requestAccept(e);\r\n this._move(e);\r\n this._forgetAccept()\r\n } else if (this._stage === STARTED) {\r\n this._clearSelection(e);\r\n this._move(e)\r\n }\r\n },\r\n _directionConfirmed: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e);\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n var deltaX = abs(delta.x);\r\n var deltaY = abs(delta.y);\r\n var horizontalMove = this._validateMove(touchBoundary, deltaX, deltaY);\r\n var verticalMove = this._validateMove(touchBoundary, deltaY, deltaX);\r\n var direction = this.getDirection(e);\r\n var bothAccepted = \"both\" === direction && (horizontalMove || verticalMove);\r\n var horizontalAccepted = \"horizontal\" === direction && horizontalMove;\r\n var verticalAccepted = \"vertical\" === direction && verticalMove;\r\n return bothAccepted || horizontalAccepted || verticalAccepted || this._immediateAccepted\r\n },\r\n _validateMove: function(touchBoundary, mainAxis, crossAxis) {\r\n return mainAxis && mainAxis >= touchBoundary && (this.immediate ? mainAxis >= crossAxis : true)\r\n },\r\n _getTouchBoundary: function(e) {\r\n return this.immediate || isDxMouseWheelEvent(e) ? IMMEDIATE_TOUCH_BOUNDARY : TOUCH_BOUNDARY\r\n },\r\n _adjustStartEvent: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e);\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n this._startEvent.pageX += sign(delta.x) * touchBoundary;\r\n this._startEvent.pageY += sign(delta.y) * touchBoundary\r\n },\r\n _resetActiveElement: function() {\r\n if (\"ios\" === devices.real().platform && this.getElement().find(\":focus\").length) {\r\n resetActiveElement()\r\n }\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n this._toggleGestureCoverImpl(toggle)\r\n },\r\n _toggleGestureCoverImpl: function(toggle) {\r\n var isStarted = this._stage === STARTED;\r\n if (isStarted) {\r\n gestureCover(toggle, this.getElement().css(\"cursor\"))\r\n }\r\n },\r\n _clearSelection: function(e) {\r\n if (isDxMouseWheelEvent(e) || isTouchEvent(e)) {\r\n return\r\n }\r\n clearSelection()\r\n },\r\n end: function(e) {\r\n this._toggleGestureCover(false);\r\n if (this._stage === STARTED) {\r\n this._end(e)\r\n } else if (this._stage === INITED) {\r\n this._stop(e)\r\n }\r\n this._stage = SLEEP\r\n },\r\n dispose: function() {\r\n clearTimeout(this._immediateTimer);\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false)\r\n },\r\n _init: noop,\r\n _start: noop,\r\n _move: noop,\r\n _stop: noop,\r\n _end: noop\r\n});\r\nGestureEmitter.initialTouchBoundary = TOUCH_BOUNDARY;\r\nGestureEmitter.touchBoundary = function(newBoundary) {\r\n if (isDefined(newBoundary)) {\r\n TOUCH_BOUNDARY = newBoundary;\r\n return\r\n }\r\n return TOUCH_BOUNDARY\r\n};\r\nexport default GestureEmitter;\r\n","/**\r\n * DevExtreme (esm/events/gesture/emitter.gesture.scroll.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Class from \"../../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n addNamespace,\r\n isDxMouseWheelEvent,\r\n isMouseEvent,\r\n eventData,\r\n eventDelta\r\n} from \"../../events/utils/index\";\r\nimport GestureEmitter from \"../../events/gesture/emitter.gesture\";\r\nimport registerEmitter from \"../../events/core/emitter_registrator\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../../animation/frame\";\r\nimport devices from \"../../core/devices\";\r\nvar realDevice = devices.real();\r\nvar SCROLL_EVENT = \"scroll\";\r\nvar SCROLL_INIT_EVENT = \"dxscrollinit\";\r\nvar SCROLL_START_EVENT = \"dxscrollstart\";\r\nvar SCROLL_MOVE_EVENT = \"dxscroll\";\r\nvar SCROLL_END_EVENT = \"dxscrollend\";\r\nvar SCROLL_STOP_EVENT = \"dxscrollstop\";\r\nvar SCROLL_CANCEL_EVENT = \"dxscrollcancel\";\r\nvar Locker = Class.inherit(function() {\r\n var NAMESPACED_SCROLL_EVENT = addNamespace(SCROLL_EVENT, \"dxScrollEmitter\");\r\n return {\r\n ctor: function(element) {\r\n this._element = element;\r\n this._locked = false;\r\n this._proxiedScroll = e => {\r\n if (!this._disposed) {\r\n this._scroll(e)\r\n }\r\n };\r\n eventsEngine.on(this._element, NAMESPACED_SCROLL_EVENT, this._proxiedScroll)\r\n },\r\n _scroll: abstract,\r\n check: function(e, callback) {\r\n if (this._locked) {\r\n callback()\r\n }\r\n },\r\n dispose: function() {\r\n this._disposed = true;\r\n eventsEngine.off(this._element, NAMESPACED_SCROLL_EVENT, this._proxiedScroll)\r\n }\r\n }\r\n}());\r\nvar TimeoutLocker = Locker.inherit({\r\n ctor: function(element, timeout) {\r\n this.callBase(element);\r\n this._timeout = timeout\r\n },\r\n _scroll: function() {\r\n this._prepare();\r\n this._forget()\r\n },\r\n _prepare: function() {\r\n if (this._timer) {\r\n this._clearTimer()\r\n }\r\n this._locked = true\r\n },\r\n _clearTimer: function() {\r\n clearTimeout(this._timer);\r\n this._locked = false;\r\n this._timer = null\r\n },\r\n _forget: function() {\r\n var that = this;\r\n this._timer = setTimeout((function() {\r\n that._clearTimer()\r\n }), this._timeout)\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n this._clearTimer()\r\n }\r\n});\r\nvar WheelLocker = TimeoutLocker.inherit({\r\n ctor: function(element) {\r\n this.callBase(element, 400);\r\n this._lastWheelDirection = null\r\n },\r\n check: function(e, callback) {\r\n this._checkDirectionChanged(e);\r\n this.callBase(e, callback)\r\n },\r\n _checkDirectionChanged: function(e) {\r\n if (!isDxMouseWheelEvent(e)) {\r\n this._lastWheelDirection = null;\r\n return\r\n }\r\n var direction = e.shiftKey || false;\r\n var directionChange = null !== this._lastWheelDirection && direction !== this._lastWheelDirection;\r\n this._lastWheelDirection = direction;\r\n this._locked = this._locked && !directionChange\r\n }\r\n});\r\nvar PointerLocker = TimeoutLocker.inherit({\r\n ctor: function(element) {\r\n this.callBase(element, 400)\r\n }\r\n});\r\n! function() {\r\n var {\r\n ios: isIos,\r\n android: isAndroid\r\n } = realDevice;\r\n if (!(isIos || isAndroid)) {\r\n return\r\n }\r\n PointerLocker = Locker.inherit({\r\n _scroll: function() {\r\n this._locked = true;\r\n var that = this;\r\n cancelAnimationFrame(this._scrollFrame);\r\n this._scrollFrame = requestAnimationFrame((function() {\r\n that._locked = false\r\n }))\r\n },\r\n check: function(e, callback) {\r\n cancelAnimationFrame(this._scrollFrame);\r\n cancelAnimationFrame(this._checkFrame);\r\n var that = this;\r\n var callBase = this.callBase;\r\n this._checkFrame = requestAnimationFrame((function() {\r\n callBase.call(that, e, callback);\r\n that._locked = false\r\n }))\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n cancelAnimationFrame(this._scrollFrame);\r\n cancelAnimationFrame(this._checkFrame)\r\n }\r\n })\r\n}();\r\nvar ScrollEmitter = GestureEmitter.inherit(function() {\r\n var FRAME_DURATION = Math.round(1e3 / 60);\r\n return {\r\n ctor: function(element) {\r\n this.callBase.apply(this, arguments);\r\n this.direction = \"both\";\r\n this._pointerLocker = new PointerLocker(element);\r\n this._wheelLocker = new WheelLocker(element)\r\n },\r\n validate: function() {\r\n return true\r\n },\r\n configure: function(data) {\r\n if (data.scrollTarget) {\r\n this._pointerLocker.dispose();\r\n this._wheelLocker.dispose();\r\n this._pointerLocker = new PointerLocker(data.scrollTarget);\r\n this._wheelLocker = new WheelLocker(data.scrollTarget)\r\n }\r\n this.callBase(data)\r\n },\r\n _init: function(e) {\r\n this._wheelLocker.check(e, function() {\r\n if (isDxMouseWheelEvent(e)) {\r\n this._accept(e)\r\n }\r\n }.bind(this));\r\n this._pointerLocker.check(e, function() {\r\n var skipCheck = this.isNative && isMouseEvent(e);\r\n if (!isDxMouseWheelEvent(e) && !skipCheck) {\r\n this._accept(e)\r\n }\r\n }.bind(this));\r\n this._fireEvent(SCROLL_INIT_EVENT, e);\r\n this._prevEventData = eventData(e)\r\n },\r\n move: function(e) {\r\n this.callBase.apply(this, arguments);\r\n e.isScrollingEvent = this.isNative || e.isScrollingEvent\r\n },\r\n _start: function(e) {\r\n this._savedEventData = eventData(e);\r\n this._fireEvent(SCROLL_START_EVENT, e);\r\n this._prevEventData = eventData(e)\r\n },\r\n _move: function(e) {\r\n var currentEventData = eventData(e);\r\n this._fireEvent(SCROLL_MOVE_EVENT, e, {\r\n delta: eventDelta(this._prevEventData, currentEventData)\r\n });\r\n var delta = eventDelta(this._savedEventData, currentEventData);\r\n if (delta.time > 200) {\r\n this._savedEventData = this._prevEventData\r\n }\r\n this._prevEventData = eventData(e)\r\n },\r\n _end: function(e) {\r\n var endEventDelta = eventDelta(this._prevEventData, eventData(e));\r\n var velocity = {\r\n x: 0,\r\n y: 0\r\n };\r\n if (!isDxMouseWheelEvent(e) && endEventDelta.time < 100) {\r\n var delta = eventDelta(this._savedEventData, this._prevEventData);\r\n var velocityMultiplier = FRAME_DURATION / delta.time;\r\n velocity = {\r\n x: delta.x * velocityMultiplier,\r\n y: delta.y * velocityMultiplier\r\n }\r\n }\r\n this._fireEvent(SCROLL_END_EVENT, e, {\r\n velocity: velocity\r\n })\r\n },\r\n _stop: function(e) {\r\n this._fireEvent(SCROLL_STOP_EVENT, e)\r\n },\r\n cancel: function(e) {\r\n this.callBase.apply(this, arguments);\r\n this._fireEvent(SCROLL_CANCEL_EVENT, e)\r\n },\r\n dispose: function() {\r\n this.callBase.apply(this, arguments);\r\n this._pointerLocker.dispose();\r\n this._wheelLocker.dispose()\r\n },\r\n _clearSelection: function() {\r\n if (this.isNative) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _toggleGestureCover: function() {\r\n if (this.isNative) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n}());\r\nregisterEmitter({\r\n emitter: ScrollEmitter,\r\n events: [SCROLL_INIT_EVENT, SCROLL_START_EVENT, SCROLL_MOVE_EVENT, SCROLL_END_EVENT, SCROLL_STOP_EVENT, SCROLL_CANCEL_EVENT]\r\n});\r\nexport default {\r\n init: SCROLL_INIT_EVENT,\r\n start: SCROLL_START_EVENT,\r\n move: SCROLL_MOVE_EVENT,\r\n end: SCROLL_END_EVENT,\r\n stop: SCROLL_STOP_EVENT,\r\n cancel: SCROLL_CANCEL_EVENT,\r\n scroll: SCROLL_EVENT\r\n};\r\n","/**\r\n * DevExtreme (esm/events/hover.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n removeData,\r\n data as elementData\r\n} from \"../core/element_data\";\r\nimport Class from \"../core/class\";\r\nimport devices from \"../core/devices\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n addNamespace,\r\n isTouchEvent,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport pointerEvents from \"./pointer\";\r\nvar HOVERSTART_NAMESPACE = \"dxHoverStart\";\r\nvar HOVERSTART = \"dxhoverstart\";\r\nvar POINTERENTER_NAMESPACED_EVENT_NAME = addNamespace(pointerEvents.enter, HOVERSTART_NAMESPACE);\r\nvar HOVEREND_NAMESPACE = \"dxHoverEnd\";\r\nvar HOVEREND = \"dxhoverend\";\r\nvar POINTERLEAVE_NAMESPACED_EVENT_NAME = addNamespace(pointerEvents.leave, HOVEREND_NAMESPACE);\r\nvar Hover = Class.inherit({\r\n noBubble: true,\r\n ctor: function() {\r\n this._handlerArrayKeyPath = this._eventNamespace + \"_HandlerStore\"\r\n },\r\n setup: function(element) {\r\n elementData(element, this._handlerArrayKeyPath, {})\r\n },\r\n add: function(element, handleObj) {\r\n var that = this;\r\n var handler = function(e) {\r\n that._handler(e)\r\n };\r\n eventsEngine.on(element, this._originalEventName, handleObj.selector, handler);\r\n elementData(element, this._handlerArrayKeyPath)[handleObj.guid] = handler\r\n },\r\n _handler: function(e) {\r\n if (isTouchEvent(e) || devices.isSimulator()) {\r\n return\r\n }\r\n fireEvent({\r\n type: this._eventName,\r\n originalEvent: e,\r\n delegateTarget: e.delegateTarget\r\n })\r\n },\r\n remove: function(element, handleObj) {\r\n var handler = elementData(element, this._handlerArrayKeyPath)[handleObj.guid];\r\n eventsEngine.off(element, this._originalEventName, handleObj.selector, handler)\r\n },\r\n teardown: function(element) {\r\n removeData(element, this._handlerArrayKeyPath)\r\n }\r\n});\r\nvar HoverStart = Hover.inherit({\r\n ctor: function() {\r\n this._eventNamespace = HOVERSTART_NAMESPACE;\r\n this._eventName = HOVERSTART;\r\n this._originalEventName = POINTERENTER_NAMESPACED_EVENT_NAME;\r\n this.callBase()\r\n },\r\n _handler: function(e) {\r\n var pointers = e.pointers || [];\r\n if (!pointers.length) {\r\n this.callBase(e)\r\n }\r\n }\r\n});\r\nvar HoverEnd = Hover.inherit({\r\n ctor: function() {\r\n this._eventNamespace = HOVEREND_NAMESPACE;\r\n this._eventName = HOVEREND;\r\n this._originalEventName = POINTERLEAVE_NAMESPACED_EVENT_NAME;\r\n this.callBase()\r\n }\r\n});\r\nregisterEvent(HOVERSTART, new HoverStart);\r\nregisterEvent(HOVEREND, new HoverEnd);\r\nexport {\r\n HOVERSTART as start, HOVEREND as end\r\n};\r\n","/**\r\n * DevExtreme (esm/events/index.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"./core/events_engine\";\r\nexport var on = eventsEngine.on;\r\nexport var one = eventsEngine.one;\r\nexport var off = eventsEngine.off;\r\nexport var trigger = eventsEngine.trigger;\r\nexport var triggerHandler = eventsEngine.triggerHandler;\r\nexport var Event = eventsEngine.Event;\r\n","/**\r\n * DevExtreme (esm/events/pointer/base.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n addNamespace,\r\n eventSource,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar POINTER_EVENTS_NAMESPACE = \"dxPointerEvents\";\r\nvar BaseStrategy = Class.inherit({\r\n ctor: function(eventName, originalEvents) {\r\n this._eventName = eventName;\r\n this._originalEvents = addNamespace(originalEvents, POINTER_EVENTS_NAMESPACE);\r\n this._handlerCount = 0;\r\n this.noBubble = this._isNoBubble()\r\n },\r\n _isNoBubble: function() {\r\n var eventName = this._eventName;\r\n return \"dxpointerenter\" === eventName || \"dxpointerleave\" === eventName\r\n },\r\n _handler: function(e) {\r\n var _originalEvent$target;\r\n var delegateTarget = this._getDelegateTarget(e);\r\n var event = {\r\n type: this._eventName,\r\n pointerType: e.pointerType || eventSource(e),\r\n originalEvent: e,\r\n delegateTarget: delegateTarget,\r\n timeStamp: browser.mozilla ? (new Date).getTime() : e.timeStamp\r\n };\r\n var originalEvent = e.originalEvent;\r\n if (null !== originalEvent && void 0 !== originalEvent && null !== (_originalEvent$target = originalEvent.target) && void 0 !== _originalEvent$target && _originalEvent$target.shadowRoot) {\r\n var _originalEvent$path, _originalEvent$compos;\r\n var path = null !== (_originalEvent$path = originalEvent.path) && void 0 !== _originalEvent$path ? _originalEvent$path : null === (_originalEvent$compos = originalEvent.composedPath) || void 0 === _originalEvent$compos ? void 0 : _originalEvent$compos.call(originalEvent);\r\n event.target = path[0]\r\n }\r\n return this._fireEvent(event)\r\n },\r\n _getDelegateTarget: function(e) {\r\n var delegateTarget;\r\n if (this.noBubble) {\r\n delegateTarget = e.delegateTarget\r\n }\r\n return delegateTarget\r\n },\r\n _fireEvent: function(args) {\r\n return fireEvent(args)\r\n },\r\n _setSelector: function(handleObj) {\r\n this._selector = this.noBubble && handleObj ? handleObj.selector : null\r\n },\r\n _getSelector: function() {\r\n return this._selector\r\n },\r\n setup: function() {\r\n return true\r\n },\r\n add: function(element, handleObj) {\r\n if (this._handlerCount <= 0 || this.noBubble) {\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n this._setSelector(handleObj);\r\n var that = this;\r\n eventsEngine.on(element, this._originalEvents, this._getSelector(), (function(e) {\r\n that._handler(e)\r\n }))\r\n }\r\n if (!this.noBubble) {\r\n this._handlerCount++\r\n }\r\n },\r\n remove: function(handleObj) {\r\n this._setSelector(handleObj);\r\n if (!this.noBubble) {\r\n this._handlerCount--\r\n }\r\n },\r\n teardown: function(element) {\r\n if (this._handlerCount && !this.noBubble) {\r\n return\r\n }\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n if (this._originalEvents !== \".\" + POINTER_EVENTS_NAMESPACE) {\r\n eventsEngine.off(element, this._originalEvents, this._getSelector())\r\n }\r\n },\r\n dispose: function(element) {\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n eventsEngine.off(element, this._originalEvents)\r\n }\r\n});\r\nexport default BaseStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/touch.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport BaseStrategy from \"./base\";\r\nvar eventMap = {\r\n dxpointerdown: \"touchstart\",\r\n dxpointermove: \"touchmove\",\r\n dxpointerup: \"touchend\",\r\n dxpointercancel: \"touchcancel\",\r\n dxpointerover: \"\",\r\n dxpointerout: \"\",\r\n dxpointerenter: \"\",\r\n dxpointerleave: \"\"\r\n};\r\nvar normalizeTouchEvent = function(e) {\r\n var pointers = [];\r\n each(e.touches, (function(_, touch) {\r\n pointers.push(extend({\r\n pointerId: touch.identifier\r\n }, touch))\r\n }));\r\n return {\r\n pointers: pointers,\r\n pointerId: e.changedTouches[0].identifier\r\n }\r\n};\r\nvar skipTouchWithSameIdentifier = function(pointerEvent) {\r\n return \"ios\" === devices.real().platform && (\"dxpointerdown\" === pointerEvent || \"dxpointerup\" === pointerEvent)\r\n};\r\nvar TouchStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._pointerId = 0\r\n },\r\n _handler: function(e) {\r\n if (skipTouchWithSameIdentifier(this._eventName)) {\r\n var touch = e.changedTouches[0];\r\n if (this._pointerId === touch.identifier && 0 !== this._pointerId) {\r\n return\r\n }\r\n this._pointerId = touch.identifier\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend(normalizeTouchEvent(args.originalEvent), args))\r\n }\r\n});\r\nTouchStrategy.map = eventMap;\r\nTouchStrategy.normalize = normalizeTouchEvent;\r\nexport default TouchStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/observer.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar addEventsListener = function(events, handler) {\r\n readyCallbacks.add((function() {\r\n events.split(\" \").forEach((function(event) {\r\n domAdapter.listen(domAdapter.getDocument(), event, handler, true)\r\n }))\r\n }))\r\n};\r\nvar Observer = function(eventMap, pointerEquals, onPointerAdding) {\r\n onPointerAdding = onPointerAdding || function() {};\r\n var pointers = [];\r\n var getPointerIndex = function(e) {\r\n var index = -1;\r\n each(pointers, (function(i, pointer) {\r\n if (!pointerEquals(e, pointer)) {\r\n return true\r\n }\r\n index = i;\r\n return false\r\n }));\r\n return index\r\n };\r\n var removePointer = function(e) {\r\n var index = getPointerIndex(e);\r\n if (index > -1) {\r\n pointers.splice(index, 1)\r\n }\r\n };\r\n addEventsListener(eventMap.dxpointerdown, (function(e) {\r\n if (-1 === getPointerIndex(e)) {\r\n onPointerAdding(e);\r\n pointers.push(e)\r\n }\r\n }));\r\n addEventsListener(eventMap.dxpointermove, (function(e) {\r\n pointers[getPointerIndex(e)] = e\r\n }));\r\n addEventsListener(eventMap.dxpointerup, removePointer);\r\n addEventsListener(eventMap.dxpointercancel, removePointer);\r\n this.pointers = function() {\r\n return pointers\r\n };\r\n this.reset = function() {\r\n pointers = []\r\n }\r\n};\r\nexport default Observer;\r\n","/**\r\n * DevExtreme (esm/events/pointer/mouse.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport BaseStrategy from \"./base\";\r\nimport Observer from \"./observer\";\r\nvar eventMap = {\r\n dxpointerdown: \"mousedown\",\r\n dxpointermove: \"mousemove\",\r\n dxpointerup: \"mouseup\",\r\n dxpointercancel: \"\",\r\n dxpointerover: \"mouseover\",\r\n dxpointerout: \"mouseout\",\r\n dxpointerenter: \"mouseenter\",\r\n dxpointerleave: \"mouseleave\"\r\n};\r\nvar normalizeMouseEvent = function(e) {\r\n e.pointerId = 1;\r\n return {\r\n pointers: observer.pointers(),\r\n pointerId: 1\r\n }\r\n};\r\nvar observer;\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n observer = new Observer(eventMap, (function() {\r\n return true\r\n }));\r\n activated = true\r\n};\r\nvar MouseStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend(normalizeMouseEvent(args.originalEvent), args))\r\n }\r\n});\r\nMouseStrategy.map = eventMap;\r\nMouseStrategy.normalize = normalizeMouseEvent;\r\nMouseStrategy.activate = activateStrategy;\r\nMouseStrategy.resetObserver = function() {\r\n observer.reset()\r\n};\r\nexport default MouseStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/mouse_and_touch.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport BaseStrategy from \"./base\";\r\nimport MouseStrategy from \"./mouse\";\r\nimport TouchStrategy from \"./touch\";\r\nimport {\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nvar eventMap = {\r\n dxpointerdown: \"touchstart mousedown\",\r\n dxpointermove: \"touchmove mousemove\",\r\n dxpointerup: \"touchend mouseup\",\r\n dxpointercancel: \"touchcancel\",\r\n dxpointerover: \"mouseover\",\r\n dxpointerout: \"mouseout\",\r\n dxpointerenter: \"mouseenter\",\r\n dxpointerleave: \"mouseleave\"\r\n};\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n MouseStrategy.activate();\r\n activated = true\r\n};\r\nvar MouseAndTouchStrategy = BaseStrategy.inherit({\r\n EVENT_LOCK_TIMEOUT: 100,\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _handler: function(e) {\r\n var isMouse = isMouseEvent(e);\r\n if (!isMouse) {\r\n this._skipNextEvents = true\r\n }\r\n if (isMouse && this._mouseLocked) {\r\n return\r\n }\r\n if (isMouse && this._skipNextEvents) {\r\n this._skipNextEvents = false;\r\n this._mouseLocked = true;\r\n clearTimeout(this._unlockMouseTimer);\r\n var that = this;\r\n this._unlockMouseTimer = setTimeout((function() {\r\n that._mouseLocked = false\r\n }), this.EVENT_LOCK_TIMEOUT);\r\n return\r\n }\r\n return this.callBase(e)\r\n },\r\n _fireEvent: function(args) {\r\n var normalizer = isMouseEvent(args.originalEvent) ? MouseStrategy.normalize : TouchStrategy.normalize;\r\n return this.callBase(extend(normalizer(args.originalEvent), args))\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n this._skipNextEvents = false;\r\n this._mouseLocked = false;\r\n clearTimeout(this._unlockMouseTimer)\r\n }\r\n});\r\nMouseAndTouchStrategy.map = eventMap;\r\nMouseAndTouchStrategy.resetObserver = MouseStrategy.resetObserver;\r\nexport default MouseAndTouchStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport * as support from \"../core/utils/support\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport devices from \"../core/devices\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport TouchStrategy from \"./pointer/touch\";\r\nimport MouseStrategy from \"./pointer/mouse\";\r\nimport MouseAndTouchStrategy from \"./pointer/mouse_and_touch\";\r\nvar getStrategy = (support, device) => {\r\n var {\r\n tablet: tablet,\r\n phone: phone\r\n } = device;\r\n if (support.touch && !(tablet || phone)) {\r\n return MouseAndTouchStrategy\r\n }\r\n if (support.touch) {\r\n return TouchStrategy\r\n }\r\n return MouseStrategy\r\n};\r\nvar EventStrategy = getStrategy(support, devices.real());\r\neach(EventStrategy.map, (pointerEvent, originalEvents) => {\r\n registerEvent(pointerEvent, new EventStrategy(pointerEvent, originalEvents))\r\n});\r\nvar pointer = {\r\n down: \"dxpointerdown\",\r\n up: \"dxpointerup\",\r\n move: \"dxpointermove\",\r\n cancel: \"dxpointercancel\",\r\n enter: \"dxpointerenter\",\r\n leave: \"dxpointerleave\",\r\n over: \"dxpointerover\",\r\n out: \"dxpointerout\"\r\n};\r\nexport default pointer;\r\n","/**\r\n * DevExtreme (esm/events/remove.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n beforeCleanData\r\n} from \"../core/element_data\";\r\nimport eventsEngine from \"./core/events_engine\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nexport var removeEvent = \"dxremove\";\r\nvar eventPropName = \"dxRemoveEvent\";\r\nbeforeCleanData((function(elements) {\r\n elements = [].slice.call(elements);\r\n for (var i = 0; i < elements.length; i++) {\r\n var $element = $(elements[i]);\r\n if ($element.prop(eventPropName)) {\r\n $element[0][eventPropName] = null;\r\n eventsEngine.triggerHandler($element, removeEvent)\r\n }\r\n }\r\n}));\r\nregisterEvent(removeEvent, {\r\n noBubble: true,\r\n setup: function(element) {\r\n $(element).prop(eventPropName, true)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/events/short.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"./core/events_engine\";\r\nimport KeyboardProcessor from \"./core/keyboard_processor\";\r\nimport {\r\n addNamespace as pureAddNamespace\r\n} from \"./utils/index\";\r\n\r\nfunction addNamespace(event, namespace) {\r\n return namespace ? pureAddNamespace(event, namespace) : event\r\n}\r\n\r\nfunction executeAction(action, args) {\r\n return \"function\" === typeof action ? action(args) : action.execute(args)\r\n}\r\nexport var active = {\r\n on: ($el, active, inactive, opts) => {\r\n var {\r\n selector: selector,\r\n showTimeout: showTimeout,\r\n hideTimeout: hideTimeout,\r\n namespace: namespace\r\n } = opts;\r\n eventsEngine.on($el, addNamespace(\"dxactive\", namespace), selector, {\r\n timeout: showTimeout\r\n }, event => executeAction(active, {\r\n event: event,\r\n element: event.currentTarget\r\n }));\r\n eventsEngine.on($el, addNamespace(\"dxinactive\", namespace), selector, {\r\n timeout: hideTimeout\r\n }, event => executeAction(inactive, {\r\n event: event,\r\n element: event.currentTarget\r\n }))\r\n },\r\n off: ($el, _ref) => {\r\n var {\r\n namespace: namespace,\r\n selector: selector\r\n } = _ref;\r\n eventsEngine.off($el, addNamespace(\"dxactive\", namespace), selector);\r\n eventsEngine.off($el, addNamespace(\"dxinactive\", namespace), selector)\r\n }\r\n};\r\nexport var resize = {\r\n on: function($el, resize) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxresize\", namespace), resize)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxresize\", namespace))\r\n }\r\n};\r\nexport var hover = {\r\n on: ($el, start, end, _ref2) => {\r\n var {\r\n selector: selector,\r\n namespace: namespace\r\n } = _ref2;\r\n eventsEngine.on($el, addNamespace(\"dxhoverend\", namespace), selector, event => end(event));\r\n eventsEngine.on($el, addNamespace(\"dxhoverstart\", namespace), selector, event => executeAction(start, {\r\n element: event.target,\r\n event: event\r\n }))\r\n },\r\n off: ($el, _ref3) => {\r\n var {\r\n selector: selector,\r\n namespace: namespace\r\n } = _ref3;\r\n eventsEngine.off($el, addNamespace(\"dxhoverstart\", namespace), selector);\r\n eventsEngine.off($el, addNamespace(\"dxhoverend\", namespace), selector)\r\n }\r\n};\r\nexport var visibility = {\r\n on: ($el, shown, hiding, _ref4) => {\r\n var {\r\n namespace: namespace\r\n } = _ref4;\r\n eventsEngine.on($el, addNamespace(\"dxhiding\", namespace), hiding);\r\n eventsEngine.on($el, addNamespace(\"dxshown\", namespace), shown)\r\n },\r\n off: ($el, _ref5) => {\r\n var {\r\n namespace: namespace\r\n } = _ref5;\r\n eventsEngine.off($el, addNamespace(\"dxhiding\", namespace));\r\n eventsEngine.off($el, addNamespace(\"dxshown\", namespace))\r\n }\r\n};\r\nexport var focus = {\r\n on: ($el, focusIn, focusOut, _ref6) => {\r\n var {\r\n namespace: namespace\r\n } = _ref6;\r\n eventsEngine.on($el, addNamespace(\"focusin\", namespace), focusIn);\r\n eventsEngine.on($el, addNamespace(\"focusout\", namespace), focusOut)\r\n },\r\n off: ($el, _ref7) => {\r\n var {\r\n namespace: namespace\r\n } = _ref7;\r\n eventsEngine.off($el, addNamespace(\"focusin\", namespace));\r\n eventsEngine.off($el, addNamespace(\"focusout\", namespace))\r\n },\r\n trigger: $el => eventsEngine.trigger($el, \"focus\")\r\n};\r\nexport var dxClick = {\r\n on: function($el, click) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxclick\", namespace), click)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxclick\", namespace))\r\n }\r\n};\r\nexport var click = {\r\n on: function($el, click) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"click\", namespace), click)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"click\", namespace))\r\n }\r\n};\r\nvar index = 0;\r\nvar keyboardProcessors = {};\r\nvar generateListenerId = () => \"keyboardProcessorId\".concat(index++);\r\nexport var keyboard = {\r\n on: (element, focusTarget, handler) => {\r\n var listenerId = generateListenerId();\r\n keyboardProcessors[listenerId] = new KeyboardProcessor({\r\n element: element,\r\n focusTarget: focusTarget,\r\n handler: handler\r\n });\r\n return listenerId\r\n },\r\n off: listenerId => {\r\n if (listenerId && keyboardProcessors[listenerId]) {\r\n keyboardProcessors[listenerId].dispose();\r\n delete keyboardProcessors[listenerId]\r\n }\r\n },\r\n _getProcessor: listenerId => keyboardProcessors[listenerId]\r\n};\r\n","/**\r\n * DevExtreme (esm/events/swipe.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport {\r\n eventData\r\n} from \"./utils/index\";\r\nimport GestureEmitter from \"./gesture/emitter.gesture\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar SWIPE_START_EVENT = \"dxswipestart\";\r\nvar SWIPE_EVENT = \"dxswipe\";\r\nvar SWIPE_END_EVENT = \"dxswipeend\";\r\nvar HorizontalStrategy = {\r\n defaultItemSizeFunc: function() {\r\n return getWidth(this.getElement())\r\n },\r\n getBounds: function() {\r\n return [this._maxLeftOffset, this._maxRightOffset]\r\n },\r\n calcOffsetRatio: function(e) {\r\n var endEventData = eventData(e);\r\n return (endEventData.x - (this._savedEventData && this._savedEventData.x || 0)) / this._itemSizeFunc().call(this, e)\r\n },\r\n isFastSwipe: function(e) {\r\n var endEventData = eventData(e);\r\n return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(endEventData.x - this._tickData.x) >= endEventData.time - this._tickData.time\r\n }\r\n};\r\nvar VerticalStrategy = {\r\n defaultItemSizeFunc: function() {\r\n return getHeight(this.getElement())\r\n },\r\n getBounds: function() {\r\n return [this._maxTopOffset, this._maxBottomOffset]\r\n },\r\n calcOffsetRatio: function(e) {\r\n var endEventData = eventData(e);\r\n return (endEventData.y - (this._savedEventData && this._savedEventData.y || 0)) / this._itemSizeFunc().call(this, e)\r\n },\r\n isFastSwipe: function(e) {\r\n var endEventData = eventData(e);\r\n return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(endEventData.y - this._tickData.y) >= endEventData.time - this._tickData.time\r\n }\r\n};\r\nvar STRATEGIES = {\r\n horizontal: HorizontalStrategy,\r\n vertical: VerticalStrategy\r\n};\r\nvar SwipeEmitter = GestureEmitter.inherit({\r\n TICK_INTERVAL: 300,\r\n FAST_SWIPE_SPEED_LIMIT: 10,\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this.direction = \"horizontal\";\r\n this.elastic = true\r\n },\r\n _getStrategy: function() {\r\n return STRATEGIES[this.direction]\r\n },\r\n _defaultItemSizeFunc: function() {\r\n return this._getStrategy().defaultItemSizeFunc.call(this)\r\n },\r\n _itemSizeFunc: function() {\r\n return this.itemSizeFunc || this._defaultItemSizeFunc\r\n },\r\n _init: function(e) {\r\n this._tickData = eventData(e)\r\n },\r\n _start: function(e) {\r\n this._savedEventData = eventData(e);\r\n e = this._fireEvent(SWIPE_START_EVENT, e);\r\n if (!e.cancel) {\r\n this._maxLeftOffset = e.maxLeftOffset;\r\n this._maxRightOffset = e.maxRightOffset;\r\n this._maxTopOffset = e.maxTopOffset;\r\n this._maxBottomOffset = e.maxBottomOffset\r\n }\r\n },\r\n _move: function(e) {\r\n var strategy = this._getStrategy();\r\n var moveEventData = eventData(e);\r\n var offset = strategy.calcOffsetRatio.call(this, e);\r\n offset = this._fitOffset(offset, this.elastic);\r\n if (moveEventData.time - this._tickData.time > this.TICK_INTERVAL) {\r\n this._tickData = moveEventData\r\n }\r\n this._fireEvent(SWIPE_EVENT, e, {\r\n offset: offset\r\n });\r\n e.preventDefault()\r\n },\r\n _end: function(e) {\r\n var strategy = this._getStrategy();\r\n var offsetRatio = strategy.calcOffsetRatio.call(this, e);\r\n var isFast = strategy.isFastSwipe.call(this, e);\r\n var startOffset = offsetRatio;\r\n var targetOffset = this._calcTargetOffset(offsetRatio, isFast);\r\n startOffset = this._fitOffset(startOffset, this.elastic);\r\n targetOffset = this._fitOffset(targetOffset, false);\r\n this._fireEvent(SWIPE_END_EVENT, e, {\r\n offset: startOffset,\r\n targetOffset: targetOffset\r\n })\r\n },\r\n _fitOffset: function(offset, elastic) {\r\n var strategy = this._getStrategy();\r\n var bounds = strategy.getBounds.call(this);\r\n if (offset < -bounds[0]) {\r\n return elastic ? (-2 * bounds[0] + offset) / 3 : -bounds[0]\r\n }\r\n if (offset > bounds[1]) {\r\n return elastic ? (2 * bounds[1] + offset) / 3 : bounds[1]\r\n }\r\n return offset\r\n },\r\n _calcTargetOffset: function(offsetRatio, isFast) {\r\n var result;\r\n if (isFast) {\r\n result = Math.ceil(Math.abs(offsetRatio));\r\n if (offsetRatio < 0) {\r\n result = -result\r\n }\r\n } else {\r\n result = Math.round(offsetRatio)\r\n }\r\n return result\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: SwipeEmitter,\r\n events: [SWIPE_START_EVENT, SWIPE_EVENT, SWIPE_END_EVENT]\r\n});\r\nexport {\r\n SWIPE_EVENT as swipe, SWIPE_START_EVENT as start, SWIPE_END_EVENT as end\r\n};\r\n","/**\r\n * DevExtreme (esm/events/utils/add_namespace.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../../core/errors\";\r\nvar addNamespace = (eventNames, namespace) => {\r\n if (!namespace) {\r\n throw errors.Error(\"E0017\")\r\n }\r\n if (Array.isArray(eventNames)) {\r\n return eventNames.map(eventName => addNamespace(eventName, namespace)).join(\" \")\r\n }\r\n if (-1 !== eventNames.indexOf(\" \")) {\r\n return addNamespace(eventNames.split(/\\s+/g), namespace)\r\n }\r\n return \"\".concat(eventNames, \".\").concat(namespace)\r\n};\r\nexport default addNamespace;\r\n","/**\r\n * DevExtreme (esm/events/utils/index.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport mappedAddNamespace from \"./add_namespace\";\r\nimport eventsEngine from \"../core/events_engine\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focused\r\n} from \"../../ui/widget/selectors\";\r\nvar KEY_MAP = {\r\n backspace: \"backspace\",\r\n tab: \"tab\",\r\n enter: \"enter\",\r\n escape: \"escape\",\r\n pageup: \"pageUp\",\r\n pagedown: \"pageDown\",\r\n end: \"end\",\r\n home: \"home\",\r\n arrowleft: \"leftArrow\",\r\n arrowup: \"upArrow\",\r\n arrowright: \"rightArrow\",\r\n arrowdown: \"downArrow\",\r\n delete: \"del\",\r\n \" \": \"space\",\r\n f: \"F\",\r\n a: \"A\",\r\n \"*\": \"asterisk\",\r\n \"-\": \"minus\",\r\n alt: \"alt\",\r\n control: \"control\",\r\n shift: \"shift\"\r\n};\r\nvar LEGACY_KEY_CODES = {\r\n 8: \"backspace\",\r\n 9: \"tab\",\r\n 13: \"enter\",\r\n 27: \"escape\",\r\n 33: \"pageUp\",\r\n 34: \"pageDown\",\r\n 35: \"end\",\r\n 36: \"home\",\r\n 37: \"leftArrow\",\r\n 38: \"upArrow\",\r\n 39: \"rightArrow\",\r\n 40: \"downArrow\",\r\n 46: \"del\",\r\n 32: \"space\",\r\n 70: \"F\",\r\n 65: \"A\",\r\n 106: \"asterisk\",\r\n 109: \"minus\",\r\n 189: \"minus\",\r\n 173: \"minus\",\r\n 16: \"shift\",\r\n 17: \"control\",\r\n 18: \"alt\"\r\n};\r\nvar EVENT_SOURCES_REGEX = {\r\n dx: /^dx/i,\r\n mouse: /(mouse|wheel)/i,\r\n touch: /^touch/i,\r\n keyboard: /^key/i,\r\n pointer: /^(ms)?pointer/i\r\n};\r\nvar fixMethod = e => e;\r\nvar copyEvent = originalEvent => fixMethod(eventsEngine.Event(originalEvent, originalEvent), originalEvent);\r\nvar isDxEvent = e => \"dx\" === eventSource(e);\r\nvar isNativeMouseEvent = e => \"mouse\" === eventSource(e);\r\nvar isNativeTouchEvent = e => \"touch\" === eventSource(e);\r\nexport var eventSource = _ref => {\r\n var {\r\n type: type\r\n } = _ref;\r\n var result = \"other\";\r\n each(EVENT_SOURCES_REGEX, (function(key) {\r\n if (this.test(type)) {\r\n result = key;\r\n return false\r\n }\r\n }));\r\n return result\r\n};\r\nexport var isPointerEvent = e => \"pointer\" === eventSource(e);\r\nexport var isMouseEvent = e => isNativeMouseEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"mouse\" === e.pointerType;\r\nexport var isDxMouseWheelEvent = e => e && \"dxmousewheel\" === e.type;\r\nexport var isTouchEvent = e => isNativeTouchEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"touch\" === e.pointerType;\r\nexport var isKeyboardEvent = e => \"keyboard\" === eventSource(e);\r\nexport var isFakeClickEvent = _ref2 => {\r\n var {\r\n screenX: screenX,\r\n offsetX: offsetX,\r\n pageX: pageX\r\n } = _ref2;\r\n return 0 === screenX && !offsetX && 0 === pageX\r\n};\r\nexport var eventData = _ref3 => {\r\n var {\r\n pageX: pageX,\r\n pageY: pageY,\r\n timeStamp: timeStamp\r\n } = _ref3;\r\n return {\r\n x: pageX,\r\n y: pageY,\r\n time: timeStamp\r\n }\r\n};\r\nexport var eventDelta = (from, to) => ({\r\n x: to.x - from.x,\r\n y: to.y - from.y,\r\n time: to.time - from.time || 1\r\n});\r\nexport var hasTouches = e => {\r\n var {\r\n originalEvent: originalEvent,\r\n pointers: pointers\r\n } = e;\r\n if (isNativeTouchEvent(e)) {\r\n return (originalEvent.touches || []).length\r\n }\r\n if (isDxEvent(e)) {\r\n return (pointers || []).length\r\n }\r\n return 0\r\n};\r\nvar skipEvents = false;\r\nexport var forceSkipEvents = () => skipEvents = true;\r\nexport var stopEventsSkipping = () => skipEvents = false;\r\nexport var needSkipEvent = e => {\r\n if (skipEvents) {\r\n return true\r\n }\r\n var {\r\n target: target\r\n } = e;\r\n var $target = $(target);\r\n var isContentEditable = (null === target || void 0 === target ? void 0 : target.isContentEditable) || (null === target || void 0 === target ? void 0 : target.hasAttribute(\"contenteditable\"));\r\n var touchInEditable = $target.is(\"input, textarea, select\") || isContentEditable;\r\n if (isDxMouseWheelEvent(e)) {\r\n var isTextArea = $target.is(\"textarea\") && $target.hasClass(\"dx-texteditor-input\");\r\n if (isTextArea || isContentEditable) {\r\n return false\r\n }\r\n var isInputFocused = $target.is(\"input[type='number'], textarea, select\") && $target.is(\":focus\");\r\n return isInputFocused\r\n }\r\n if (isMouseEvent(e)) {\r\n return touchInEditable || e.which > 1\r\n }\r\n if (isTouchEvent(e)) {\r\n return touchInEditable && focused($target)\r\n }\r\n};\r\nexport var setEventFixMethod = func => fixMethod = func;\r\nexport var createEvent = (originalEvent, args) => {\r\n var event = copyEvent(originalEvent);\r\n args && extend(event, args);\r\n return event\r\n};\r\nexport var fireEvent = props => {\r\n var {\r\n originalEvent: originalEvent,\r\n delegateTarget: delegateTarget\r\n } = props;\r\n var event = createEvent(originalEvent, props);\r\n eventsEngine.trigger(delegateTarget || event.target, event);\r\n return event\r\n};\r\nexport var normalizeKeyName = _ref4 => {\r\n var {\r\n key: key,\r\n which: which\r\n } = _ref4;\r\n var normalizedKey = KEY_MAP[null === key || void 0 === key ? void 0 : key.toLowerCase()] || key;\r\n var normalizedKeyFromWhich = LEGACY_KEY_CODES[which];\r\n if (normalizedKeyFromWhich && normalizedKey === key) {\r\n return normalizedKeyFromWhich\r\n } else if (!normalizedKey && which) {\r\n return String.fromCharCode(which)\r\n }\r\n return normalizedKey\r\n};\r\nexport var getChar = _ref5 => {\r\n var {\r\n key: key,\r\n which: which\r\n } = _ref5;\r\n return key || String.fromCharCode(which)\r\n};\r\nexport var addNamespace = mappedAddNamespace;\r\nexport var isCommandKeyPressed = _ref6 => {\r\n var {\r\n ctrlKey: ctrlKey,\r\n metaKey: metaKey\r\n } = _ref6;\r\n return ctrlKey || metaKey\r\n};\r\n","/**\r\n * DevExtreme (esm/events/visibility_change.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"./core/events_engine\";\r\nvar triggerVisibilityChangeEvent = function(eventName) {\r\n return function(element) {\r\n var $element = $(element || \"body\");\r\n var changeHandlers = $element.filter(\".dx-visibility-change-handler\").add($element.find(\".dx-visibility-change-handler\"));\r\n for (var i = 0; i < changeHandlers.length; i++) {\r\n eventsEngine.triggerHandler(changeHandlers[i], eventName)\r\n }\r\n }\r\n};\r\nexport var triggerShownEvent = triggerVisibilityChangeEvent(\"dxshown\");\r\nexport var triggerHidingEvent = triggerVisibilityChangeEvent(\"dxhiding\");\r\nexport var triggerResizeEvent = triggerVisibilityChangeEvent(\"dxresize\");\r\n","/**\r\n * DevExtreme (esm/localization/cldr-data/parent_locales.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {\r\n \"en-150\": \"en-001\",\r\n \"en-AG\": \"en-001\",\r\n \"en-AI\": \"en-001\",\r\n \"en-AU\": \"en-001\",\r\n \"en-BB\": \"en-001\",\r\n \"en-BM\": \"en-001\",\r\n \"en-BS\": \"en-001\",\r\n \"en-BW\": \"en-001\",\r\n \"en-BZ\": \"en-001\",\r\n \"en-CC\": \"en-001\",\r\n \"en-CK\": \"en-001\",\r\n \"en-CM\": \"en-001\",\r\n \"en-CX\": \"en-001\",\r\n \"en-CY\": \"en-001\",\r\n \"en-DG\": \"en-001\",\r\n \"en-DM\": \"en-001\",\r\n \"en-ER\": \"en-001\",\r\n \"en-FJ\": \"en-001\",\r\n \"en-FK\": \"en-001\",\r\n \"en-FM\": \"en-001\",\r\n \"en-GB\": \"en-001\",\r\n \"en-GD\": \"en-001\",\r\n \"en-GG\": \"en-001\",\r\n \"en-GH\": \"en-001\",\r\n \"en-GI\": \"en-001\",\r\n \"en-GM\": \"en-001\",\r\n \"en-GY\": \"en-001\",\r\n \"en-HK\": \"en-001\",\r\n \"en-IE\": \"en-001\",\r\n \"en-IL\": \"en-001\",\r\n \"en-IM\": \"en-001\",\r\n \"en-IN\": \"en-001\",\r\n \"en-IO\": \"en-001\",\r\n \"en-JE\": \"en-001\",\r\n \"en-JM\": \"en-001\",\r\n \"en-KE\": \"en-001\",\r\n \"en-KI\": \"en-001\",\r\n \"en-KN\": \"en-001\",\r\n \"en-KY\": \"en-001\",\r\n \"en-LC\": \"en-001\",\r\n \"en-LR\": \"en-001\",\r\n \"en-LS\": \"en-001\",\r\n \"en-MG\": \"en-001\",\r\n \"en-MO\": \"en-001\",\r\n \"en-MS\": \"en-001\",\r\n \"en-MT\": \"en-001\",\r\n \"en-MU\": \"en-001\",\r\n \"en-MV\": \"en-001\",\r\n \"en-MW\": \"en-001\",\r\n \"en-MY\": \"en-001\",\r\n \"en-NA\": \"en-001\",\r\n \"en-NF\": \"en-001\",\r\n \"en-NG\": \"en-001\",\r\n \"en-NR\": \"en-001\",\r\n \"en-NU\": \"en-001\",\r\n \"en-NZ\": \"en-001\",\r\n \"en-PG\": \"en-001\",\r\n \"en-PK\": \"en-001\",\r\n \"en-PN\": \"en-001\",\r\n \"en-PW\": \"en-001\",\r\n \"en-RW\": \"en-001\",\r\n \"en-SB\": \"en-001\",\r\n \"en-SC\": \"en-001\",\r\n \"en-SD\": \"en-001\",\r\n \"en-SG\": \"en-001\",\r\n \"en-SH\": \"en-001\",\r\n \"en-SL\": \"en-001\",\r\n \"en-SS\": \"en-001\",\r\n \"en-SX\": \"en-001\",\r\n \"en-SZ\": \"en-001\",\r\n \"en-TC\": \"en-001\",\r\n \"en-TK\": \"en-001\",\r\n \"en-TO\": \"en-001\",\r\n \"en-TT\": \"en-001\",\r\n \"en-TV\": \"en-001\",\r\n \"en-TZ\": \"en-001\",\r\n \"en-UG\": \"en-001\",\r\n \"en-VC\": \"en-001\",\r\n \"en-VG\": \"en-001\",\r\n \"en-VU\": \"en-001\",\r\n \"en-WS\": \"en-001\",\r\n \"en-ZA\": \"en-001\",\r\n \"en-ZM\": \"en-001\",\r\n \"en-ZW\": \"en-001\",\r\n \"en-AT\": \"en-150\",\r\n \"en-BE\": \"en-150\",\r\n \"en-CH\": \"en-150\",\r\n \"en-DE\": \"en-150\",\r\n \"en-DK\": \"en-150\",\r\n \"en-FI\": \"en-150\",\r\n \"en-NL\": \"en-150\",\r\n \"en-SE\": \"en-150\",\r\n \"en-SI\": \"en-150\",\r\n \"hi-Latn\": \"en-IN\",\r\n \"es-AR\": \"es-419\",\r\n \"es-BO\": \"es-419\",\r\n \"es-BR\": \"es-419\",\r\n \"es-BZ\": \"es-419\",\r\n \"es-CL\": \"es-419\",\r\n \"es-CO\": \"es-419\",\r\n \"es-CR\": \"es-419\",\r\n \"es-CU\": \"es-419\",\r\n \"es-DO\": \"es-419\",\r\n \"es-EC\": \"es-419\",\r\n \"es-GT\": \"es-419\",\r\n \"es-HN\": \"es-419\",\r\n \"es-MX\": \"es-419\",\r\n \"es-NI\": \"es-419\",\r\n \"es-PA\": \"es-419\",\r\n \"es-PE\": \"es-419\",\r\n \"es-PR\": \"es-419\",\r\n \"es-PY\": \"es-419\",\r\n \"es-SV\": \"es-419\",\r\n \"es-US\": \"es-419\",\r\n \"es-UY\": \"es-419\",\r\n \"es-VE\": \"es-419\",\r\n nb: \"no\",\r\n nn: \"no\",\r\n \"pt-AO\": \"pt-PT\",\r\n \"pt-CH\": \"pt-PT\",\r\n \"pt-CV\": \"pt-PT\",\r\n \"pt-FR\": \"pt-PT\",\r\n \"pt-GQ\": \"pt-PT\",\r\n \"pt-GW\": \"pt-PT\",\r\n \"pt-LU\": \"pt-PT\",\r\n \"pt-MO\": \"pt-PT\",\r\n \"pt-MZ\": \"pt-PT\",\r\n \"pt-ST\": \"pt-PT\",\r\n \"pt-TL\": \"pt-PT\",\r\n \"az-Arab\": \"und\",\r\n \"az-Cyrl\": \"und\",\r\n \"bal-Latn\": \"und\",\r\n \"blt-Latn\": \"und\",\r\n \"bm-Nkoo\": \"und\",\r\n \"bs-Cyrl\": \"und\",\r\n \"byn-Latn\": \"und\",\r\n \"cu-Glag\": \"und\",\r\n \"dje-Arab\": \"und\",\r\n \"dyo-Arab\": \"und\",\r\n \"en-Dsrt\": \"und\",\r\n \"en-Shaw\": \"und\",\r\n \"ff-Adlm\": \"und\",\r\n \"ff-Arab\": \"und\",\r\n \"ha-Arab\": \"und\",\r\n \"iu-Latn\": \"und\",\r\n \"kk-Arab\": \"und\",\r\n \"ks-Deva\": \"und\",\r\n \"ku-Arab\": \"und\",\r\n \"ky-Arab\": \"und\",\r\n \"ky-Latn\": \"und\",\r\n \"ml-Arab\": \"und\",\r\n \"mn-Mong\": \"und\",\r\n \"mni-Mtei\": \"und\",\r\n \"ms-Arab\": \"und\",\r\n \"pa-Arab\": \"und\",\r\n \"sat-Deva\": \"und\",\r\n \"sd-Deva\": \"und\",\r\n \"sd-Khoj\": \"und\",\r\n \"sd-Sind\": \"und\",\r\n \"shi-Latn\": \"und\",\r\n \"so-Arab\": \"und\",\r\n \"sr-Latn\": \"und\",\r\n \"sw-Arab\": \"und\",\r\n \"tg-Arab\": \"und\",\r\n \"ug-Cyrl\": \"und\",\r\n \"uz-Arab\": \"und\",\r\n \"uz-Cyrl\": \"und\",\r\n \"vai-Latn\": \"und\",\r\n \"wo-Arab\": \"und\",\r\n \"yo-Arab\": \"und\",\r\n \"yue-Hans\": \"und\",\r\n \"zh-Hant\": \"und\",\r\n \"zh-Hant-MO\": \"zh-Hant-HK\"\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/parentLocale.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar PARENT_LOCALE_SEPARATOR = \"-\";\r\nexport default (parentLocales, locale) => {\r\n var parentLocale = parentLocales[locale];\r\n if (parentLocale) {\r\n return \"root\" !== parentLocale && parentLocale\r\n }\r\n return locale.substr(0, locale.lastIndexOf(PARENT_LOCALE_SEPARATOR))\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/core.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport parentLocales from \"./cldr-data/parent_locales\";\r\nimport getParentLocale from \"./parentLocale\";\r\nvar DEFAULT_LOCALE = \"en\";\r\nexport default dependencyInjector({\r\n locale: (() => {\r\n var currentLocale = DEFAULT_LOCALE;\r\n return locale => {\r\n if (!locale) {\r\n return currentLocale\r\n }\r\n currentLocale = locale\r\n }\r\n })(),\r\n getValueByClosestLocale: function(getter) {\r\n var locale = this.locale();\r\n var value = getter(locale);\r\n var isRootLocale;\r\n while (!value && !isRootLocale) {\r\n locale = getParentLocale(parentLocales, locale);\r\n if (locale) {\r\n value = getter(locale)\r\n } else {\r\n isRootLocale = true\r\n }\r\n }\r\n if (void 0 === value && locale !== DEFAULT_LOCALE) {\r\n return getter(DEFAULT_LOCALE)\r\n }\r\n return value\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/localization/message.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n format as stringFormat\r\n} from \"../core/utils/string\";\r\nimport {\r\n humanize\r\n} from \"../core/utils/inflector\";\r\nimport coreLocalization from \"./core\";\r\nimport {\r\n defaultMessages\r\n} from \"./default_messages\";\r\nvar baseDictionary = extend(true, {}, defaultMessages);\r\nvar getDataByLocale = (localeData, locale) => localeData[locale] || {};\r\nvar newMessages = {};\r\nvar messageLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n _dictionary: baseDictionary,\r\n load: function(messages) {\r\n extend(true, this._dictionary, messages)\r\n },\r\n _localizablePrefix: \"@\",\r\n setup: function(localizablePrefix) {\r\n this._localizablePrefix = localizablePrefix\r\n },\r\n localizeString: function(text) {\r\n var that = this;\r\n var regex = new RegExp(\"(^|[^a-zA-Z_0-9\" + that._localizablePrefix + \"-]+)(\" + that._localizablePrefix + \"{1,2})([a-zA-Z_0-9-]+)\", \"g\");\r\n var escapeString = that._localizablePrefix + that._localizablePrefix;\r\n return text.replace(regex, (str, prefix, escape, localizationKey) => {\r\n var defaultResult = that._localizablePrefix + localizationKey;\r\n var result;\r\n if (escape !== escapeString) {\r\n result = that.format(localizationKey)\r\n }\r\n if (!result) {\r\n newMessages[localizationKey] = humanize(localizationKey)\r\n }\r\n return prefix + (result || defaultResult)\r\n })\r\n },\r\n getMessagesByLocales: function() {\r\n return this._dictionary\r\n },\r\n getDictionary: function(onlyNew) {\r\n if (onlyNew) {\r\n return newMessages\r\n }\r\n return extend({}, newMessages, this.getMessagesByLocales()[coreLocalization.locale()])\r\n },\r\n getFormatter: function(key) {\r\n return this._getFormatterBase(key) || this._getFormatterBase(key, \"en\")\r\n },\r\n _getFormatterBase: function(key, locale) {\r\n var message = coreLocalization.getValueByClosestLocale(locale => getDataByLocale(this._dictionary, locale)[key]);\r\n if (message) {\r\n return function() {\r\n var args = 1 === arguments.length && Array.isArray(arguments[0]) ? arguments[0].slice(0) : Array.prototype.slice.call(arguments, 0);\r\n args.unshift(message);\r\n return stringFormat.apply(this, args)\r\n }\r\n }\r\n },\r\n format: function(key) {\r\n var formatter = this.getFormatter(key);\r\n var values = Array.prototype.slice.call(arguments, 1);\r\n return formatter && formatter.apply(this, values) || \"\"\r\n }\r\n});\r\nexport default messageLocalization;\r\n","/**\r\n * DevExtreme (esm/localization/default_messages.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var defaultMessages = {\r\n en: {\r\n Yes: \"Yes\",\r\n No: \"No\",\r\n Cancel: \"Cancel\",\r\n Close: \"Close\",\r\n Clear: \"Clear\",\r\n Done: \"Done\",\r\n Loading: \"Loading...\",\r\n Select: \"Select...\",\r\n Search: \"Search\",\r\n Back: \"Back\",\r\n OK: \"OK\",\r\n \"dxCollectionWidget-noDataText\": \"No data to display\",\r\n \"dxDropDownEditor-selectLabel\": \"Select\",\r\n \"validation-required\": \"Required\",\r\n \"validation-required-formatted\": \"{0} is required\",\r\n \"validation-numeric\": \"Value must be a number\",\r\n \"validation-numeric-formatted\": \"{0} must be a number\",\r\n \"validation-range\": \"Value is out of range\",\r\n \"validation-range-formatted\": \"{0} is out of range\",\r\n \"validation-stringLength\": \"The length of the value is not correct\",\r\n \"validation-stringLength-formatted\": \"The length of {0} is not correct\",\r\n \"validation-custom\": \"Value is invalid\",\r\n \"validation-custom-formatted\": \"{0} is invalid\",\r\n \"validation-async\": \"Value is invalid\",\r\n \"validation-async-formatted\": \"{0} is invalid\",\r\n \"validation-compare\": \"Values do not match\",\r\n \"validation-compare-formatted\": \"{0} does not match\",\r\n \"validation-pattern\": \"Value does not match pattern\",\r\n \"validation-pattern-formatted\": \"{0} does not match pattern\",\r\n \"validation-email\": \"Email is invalid\",\r\n \"validation-email-formatted\": \"{0} is invalid\",\r\n \"validation-mask\": \"Value is invalid\",\r\n \"dxLookup-searchPlaceholder\": \"Minimum character number: {0}\",\r\n \"dxList-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxList-pulledDownText\": \"Release to refresh...\",\r\n \"dxList-refreshingText\": \"Refreshing...\",\r\n \"dxList-pageLoadingText\": \"Loading...\",\r\n \"dxList-nextButtonText\": \"More\",\r\n \"dxList-selectAll\": \"Select All\",\r\n \"dxListEditDecorator-delete\": \"Delete\",\r\n \"dxListEditDecorator-more\": \"More\",\r\n \"dxScrollView-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxScrollView-pulledDownText\": \"Release to refresh...\",\r\n \"dxScrollView-refreshingText\": \"Refreshing...\",\r\n \"dxScrollView-reachBottomText\": \"Loading...\",\r\n \"dxDateBox-simulatedDataPickerTitleTime\": \"Select time\",\r\n \"dxDateBox-simulatedDataPickerTitleDate\": \"Select date\",\r\n \"dxDateBox-simulatedDataPickerTitleDateTime\": \"Select date and time\",\r\n \"dxDateBox-validation-datetime\": \"Value must be a date or time\",\r\n \"dxFileUploader-selectFile\": \"Select a file\",\r\n \"dxFileUploader-dropFile\": \"or Drop a file here\",\r\n \"dxFileUploader-bytes\": \"bytes\",\r\n \"dxFileUploader-kb\": \"kb\",\r\n \"dxFileUploader-Mb\": \"Mb\",\r\n \"dxFileUploader-Gb\": \"Gb\",\r\n \"dxFileUploader-upload\": \"Upload\",\r\n \"dxFileUploader-uploaded\": \"Uploaded\",\r\n \"dxFileUploader-readyToUpload\": \"Ready to upload\",\r\n \"dxFileUploader-uploadAbortedMessage\": \"Upload cancelled\",\r\n \"dxFileUploader-uploadFailedMessage\": \"Upload failed\",\r\n \"dxFileUploader-invalidFileExtension\": \"File type is not allowed\",\r\n \"dxFileUploader-invalidMaxFileSize\": \"File is too large\",\r\n \"dxFileUploader-invalidMinFileSize\": \"File is too small\",\r\n \"dxRangeSlider-ariaFrom\": \"From\",\r\n \"dxRangeSlider-ariaTill\": \"Till\",\r\n \"dxSwitch-switchedOnText\": \"ON\",\r\n \"dxSwitch-switchedOffText\": \"OFF\",\r\n \"dxForm-optionalMark\": \"optional\",\r\n \"dxForm-requiredMessage\": \"{0} is required\",\r\n \"dxNumberBox-invalidValueMessage\": \"Value must be a number\",\r\n \"dxNumberBox-noDataText\": \"No data\",\r\n \"dxDataGrid-columnChooserTitle\": \"Column Chooser\",\r\n \"dxDataGrid-columnChooserEmptyText\": \"Drag a column here to hide it\",\r\n \"dxDataGrid-groupContinuesMessage\": \"Continues on the next page\",\r\n \"dxDataGrid-groupContinuedMessage\": \"Continued from the previous page\",\r\n \"dxDataGrid-groupHeaderText\": \"Group by This Column\",\r\n \"dxDataGrid-ungroupHeaderText\": \"Ungroup\",\r\n \"dxDataGrid-ungroupAllText\": \"Ungroup All\",\r\n \"dxDataGrid-editingEditRow\": \"Edit\",\r\n \"dxDataGrid-editingSaveRowChanges\": \"Save\",\r\n \"dxDataGrid-editingCancelRowChanges\": \"Cancel\",\r\n \"dxDataGrid-editingDeleteRow\": \"Delete\",\r\n \"dxDataGrid-editingUndeleteRow\": \"Undelete\",\r\n \"dxDataGrid-editingConfirmDeleteMessage\": \"Are you sure you want to delete this record?\",\r\n \"dxDataGrid-validationCancelChanges\": \"Cancel changes\",\r\n \"dxDataGrid-groupPanelEmptyText\": \"Drag a column header here to group by that column\",\r\n \"dxDataGrid-noDataText\": \"No data\",\r\n \"dxDataGrid-searchPanelPlaceholder\": \"Search...\",\r\n \"dxDataGrid-filterRowShowAllText\": \"(All)\",\r\n \"dxDataGrid-filterRowResetOperationText\": \"Reset\",\r\n \"dxDataGrid-filterRowOperationEquals\": \"Equals\",\r\n \"dxDataGrid-filterRowOperationNotEquals\": \"Does not equal\",\r\n \"dxDataGrid-filterRowOperationLess\": \"Less than\",\r\n \"dxDataGrid-filterRowOperationLessOrEquals\": \"Less than or equal to\",\r\n \"dxDataGrid-filterRowOperationGreater\": \"Greater than\",\r\n \"dxDataGrid-filterRowOperationGreaterOrEquals\": \"Greater than or equal to\",\r\n \"dxDataGrid-filterRowOperationStartsWith\": \"Starts with\",\r\n \"dxDataGrid-filterRowOperationContains\": \"Contains\",\r\n \"dxDataGrid-filterRowOperationNotContains\": \"Does not contain\",\r\n \"dxDataGrid-filterRowOperationEndsWith\": \"Ends with\",\r\n \"dxDataGrid-filterRowOperationBetween\": \"Between\",\r\n \"dxDataGrid-filterRowOperationBetweenStartText\": \"Start\",\r\n \"dxDataGrid-filterRowOperationBetweenEndText\": \"End\",\r\n \"dxDataGrid-applyFilterText\": \"Apply filter\",\r\n \"dxDataGrid-trueText\": \"true\",\r\n \"dxDataGrid-falseText\": \"false\",\r\n \"dxDataGrid-sortingAscendingText\": \"Sort Ascending\",\r\n \"dxDataGrid-sortingDescendingText\": \"Sort Descending\",\r\n \"dxDataGrid-sortingClearText\": \"Clear Sorting\",\r\n \"dxDataGrid-editingSaveAllChanges\": \"Save changes\",\r\n \"dxDataGrid-editingCancelAllChanges\": \"Discard changes\",\r\n \"dxDataGrid-editingAddRow\": \"Add a row\",\r\n \"dxDataGrid-summaryMin\": \"Min: {0}\",\r\n \"dxDataGrid-summaryMinOtherColumn\": \"Min of {1} is {0}\",\r\n \"dxDataGrid-summaryMax\": \"Max: {0}\",\r\n \"dxDataGrid-summaryMaxOtherColumn\": \"Max of {1} is {0}\",\r\n \"dxDataGrid-summaryAvg\": \"Avg: {0}\",\r\n \"dxDataGrid-summaryAvgOtherColumn\": \"Avg of {1} is {0}\",\r\n \"dxDataGrid-summarySum\": \"Sum: {0}\",\r\n \"dxDataGrid-summarySumOtherColumn\": \"Sum of {1} is {0}\",\r\n \"dxDataGrid-summaryCount\": \"Count: {0}\",\r\n \"dxDataGrid-columnFixingFix\": \"Fix\",\r\n \"dxDataGrid-columnFixingUnfix\": \"Unfix\",\r\n \"dxDataGrid-columnFixingLeftPosition\": \"To the left\",\r\n \"dxDataGrid-columnFixingRightPosition\": \"To the right\",\r\n \"dxDataGrid-exportTo\": \"Export\",\r\n \"dxDataGrid-exportToExcel\": \"Export to Excel file\",\r\n \"dxDataGrid-exporting\": \"Exporting...\",\r\n \"dxDataGrid-excelFormat\": \"Excel file\",\r\n \"dxDataGrid-selectedRows\": \"Selected rows\",\r\n \"dxDataGrid-exportSelectedRows\": \"Export selected rows to {0}\",\r\n \"dxDataGrid-exportAll\": \"Export all data to {0}\",\r\n \"dxDataGrid-headerFilterLabel\": \"Filter options\",\r\n \"dxDataGrid-headerFilterIndicatorLabel\": \"Show filter options for column '{0}'\",\r\n \"dxDataGrid-headerFilterEmptyValue\": \"(Blanks)\",\r\n \"dxDataGrid-headerFilterOK\": \"OK\",\r\n \"dxDataGrid-headerFilterCancel\": \"Cancel\",\r\n \"dxDataGrid-ariaAdaptiveCollapse\": \"Hide additional data\",\r\n \"dxDataGrid-ariaAdaptiveExpand\": \"Display additional data\",\r\n \"dxDataGrid-ariaColumn\": \"Column\",\r\n \"dxDataGrid-ariaValue\": \"Value\",\r\n \"dxDataGrid-ariaFilterCell\": \"Filter cell\",\r\n \"dxDataGrid-ariaCollapse\": \"Collapse\",\r\n \"dxDataGrid-ariaExpand\": \"Expand\",\r\n \"dxDataGrid-ariaDataGrid\": \"Data grid\",\r\n \"dxDataGrid-ariaSearchInGrid\": \"Search in the data grid\",\r\n \"dxDataGrid-ariaSelectAll\": \"Select all\",\r\n \"dxDataGrid-ariaSelectRow\": \"Select row\",\r\n \"dxDataGrid-ariaToolbar\": \"Data grid toolbar\",\r\n \"dxDataGrid-filterBuilderPopupTitle\": \"Filter Builder\",\r\n \"dxDataGrid-filterPanelCreateFilter\": \"Create Filter\",\r\n \"dxDataGrid-filterPanelClearFilter\": \"Clear\",\r\n \"dxDataGrid-filterPanelFilterEnabledHint\": \"Enable the filter\",\r\n \"dxTreeList-ariaTreeList\": \"Tree list\",\r\n \"dxTreeList-ariaSearchInGrid\": \"Search in the tree list\",\r\n \"dxTreeList-ariaToolbar\": \"Tree list toolbar\",\r\n \"dxTreeList-editingAddRowToNode\": \"Add\",\r\n \"dxPager-infoText\": \"Page {0} of {1} ({2} items)\",\r\n \"dxPager-pagesCountText\": \"of\",\r\n \"dxPager-pageSize\": \"Items per page: {0}\",\r\n \"dxPager-pageSizesAllText\": \"All\",\r\n \"dxPager-page\": \"Page {0}\",\r\n \"dxPager-prevPage\": \"Previous Page\",\r\n \"dxPager-nextPage\": \"Next Page\",\r\n \"dxPager-ariaLabel\": \"Page Navigation\",\r\n \"dxPivotGrid-grandTotal\": \"Grand Total\",\r\n \"dxPivotGrid-total\": \"{0} Total\",\r\n \"dxPivotGrid-fieldChooserTitle\": \"Field Chooser\",\r\n \"dxPivotGrid-showFieldChooser\": \"Show Field Chooser\",\r\n \"dxPivotGrid-expandAll\": \"Expand All\",\r\n \"dxPivotGrid-collapseAll\": \"Collapse All\",\r\n \"dxPivotGrid-sortColumnBySummary\": 'Sort \"{0}\" by This Column',\r\n \"dxPivotGrid-sortRowBySummary\": 'Sort \"{0}\" by This Row',\r\n \"dxPivotGrid-removeAllSorting\": \"Remove All Sorting\",\r\n \"dxPivotGrid-dataNotAvailable\": \"N/A\",\r\n \"dxPivotGrid-rowFields\": \"Row Fields\",\r\n \"dxPivotGrid-columnFields\": \"Column Fields\",\r\n \"dxPivotGrid-dataFields\": \"Data Fields\",\r\n \"dxPivotGrid-filterFields\": \"Filter Fields\",\r\n \"dxPivotGrid-allFields\": \"All Fields\",\r\n \"dxPivotGrid-columnFieldArea\": \"Drop Column Fields Here\",\r\n \"dxPivotGrid-dataFieldArea\": \"Drop Data Fields Here\",\r\n \"dxPivotGrid-rowFieldArea\": \"Drop Row Fields Here\",\r\n \"dxPivotGrid-filterFieldArea\": \"Drop Filter Fields Here\",\r\n \"dxScheduler-editorLabelTitle\": \"Subject\",\r\n \"dxScheduler-editorLabelStartDate\": \"Start Date\",\r\n \"dxScheduler-editorLabelEndDate\": \"End Date\",\r\n \"dxScheduler-editorLabelDescription\": \"Description\",\r\n \"dxScheduler-editorLabelRecurrence\": \"Repeat\",\r\n \"dxScheduler-openAppointment\": \"Open appointment\",\r\n \"dxScheduler-recurrenceNever\": \"Never\",\r\n \"dxScheduler-recurrenceMinutely\": \"Every minute\",\r\n \"dxScheduler-recurrenceHourly\": \"Hourly\",\r\n \"dxScheduler-recurrenceDaily\": \"Daily\",\r\n \"dxScheduler-recurrenceWeekly\": \"Weekly\",\r\n \"dxScheduler-recurrenceMonthly\": \"Monthly\",\r\n \"dxScheduler-recurrenceYearly\": \"Yearly\",\r\n \"dxScheduler-recurrenceRepeatEvery\": \"Repeat Every\",\r\n \"dxScheduler-recurrenceRepeatOn\": \"Repeat On\",\r\n \"dxScheduler-recurrenceEnd\": \"End repeat\",\r\n \"dxScheduler-recurrenceAfter\": \"After\",\r\n \"dxScheduler-recurrenceOn\": \"On\",\r\n \"dxScheduler-recurrenceRepeatMinutely\": \"minute(s)\",\r\n \"dxScheduler-recurrenceRepeatHourly\": \"hour(s)\",\r\n \"dxScheduler-recurrenceRepeatDaily\": \"day(s)\",\r\n \"dxScheduler-recurrenceRepeatWeekly\": \"week(s)\",\r\n \"dxScheduler-recurrenceRepeatMonthly\": \"month(s)\",\r\n \"dxScheduler-recurrenceRepeatYearly\": \"year(s)\",\r\n \"dxScheduler-switcherDay\": \"Day\",\r\n \"dxScheduler-switcherWeek\": \"Week\",\r\n \"dxScheduler-switcherWorkWeek\": \"Work Week\",\r\n \"dxScheduler-switcherMonth\": \"Month\",\r\n \"dxScheduler-switcherAgenda\": \"Agenda\",\r\n \"dxScheduler-switcherTimelineDay\": \"Timeline Day\",\r\n \"dxScheduler-switcherTimelineWeek\": \"Timeline Week\",\r\n \"dxScheduler-switcherTimelineWorkWeek\": \"Timeline Work Week\",\r\n \"dxScheduler-switcherTimelineMonth\": \"Timeline Month\",\r\n \"dxScheduler-recurrenceRepeatOnDate\": \"on date\",\r\n \"dxScheduler-recurrenceRepeatCount\": \"occurrence(s)\",\r\n \"dxScheduler-allDay\": \"All day\",\r\n \"dxScheduler-confirmRecurrenceEditMessage\": \"Do you want to edit only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceDeleteMessage\": \"Do you want to delete only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceEditSeries\": \"Edit series\",\r\n \"dxScheduler-confirmRecurrenceDeleteSeries\": \"Delete series\",\r\n \"dxScheduler-confirmRecurrenceEditOccurrence\": \"Edit appointment\",\r\n \"dxScheduler-confirmRecurrenceDeleteOccurrence\": \"Delete appointment\",\r\n \"dxScheduler-noTimezoneTitle\": \"No timezone\",\r\n \"dxScheduler-moreAppointments\": \"{0} more\",\r\n \"dxCalendar-todayButtonText\": \"Today\",\r\n \"dxCalendar-ariaWidgetName\": \"Calendar\",\r\n \"dxColorView-ariaRed\": \"Red\",\r\n \"dxColorView-ariaGreen\": \"Green\",\r\n \"dxColorView-ariaBlue\": \"Blue\",\r\n \"dxColorView-ariaAlpha\": \"Transparency\",\r\n \"dxColorView-ariaHex\": \"Color code\",\r\n \"dxTagBox-selected\": \"{0} selected\",\r\n \"dxTagBox-allSelected\": \"All selected ({0})\",\r\n \"dxTagBox-moreSelected\": \"{0} more\",\r\n \"vizExport-printingButtonText\": \"Print\",\r\n \"vizExport-titleMenuText\": \"Exporting/Printing\",\r\n \"vizExport-exportButtonText\": \"{0} file\",\r\n \"dxFilterBuilder-and\": \"And\",\r\n \"dxFilterBuilder-or\": \"Or\",\r\n \"dxFilterBuilder-notAnd\": \"Not And\",\r\n \"dxFilterBuilder-notOr\": \"Not Or\",\r\n \"dxFilterBuilder-addCondition\": \"Add Condition\",\r\n \"dxFilterBuilder-addGroup\": \"Add Group\",\r\n \"dxFilterBuilder-enterValueText\": \"\",\r\n \"dxFilterBuilder-filterOperationEquals\": \"Equals\",\r\n \"dxFilterBuilder-filterOperationNotEquals\": \"Does not equal\",\r\n \"dxFilterBuilder-filterOperationLess\": \"Is less than\",\r\n \"dxFilterBuilder-filterOperationLessOrEquals\": \"Is less than or equal to\",\r\n \"dxFilterBuilder-filterOperationGreater\": \"Is greater than\",\r\n \"dxFilterBuilder-filterOperationGreaterOrEquals\": \"Is greater than or equal to\",\r\n \"dxFilterBuilder-filterOperationStartsWith\": \"Starts with\",\r\n \"dxFilterBuilder-filterOperationContains\": \"Contains\",\r\n \"dxFilterBuilder-filterOperationNotContains\": \"Does not contain\",\r\n \"dxFilterBuilder-filterOperationEndsWith\": \"Ends with\",\r\n \"dxFilterBuilder-filterOperationIsBlank\": \"Is blank\",\r\n \"dxFilterBuilder-filterOperationIsNotBlank\": \"Is not blank\",\r\n \"dxFilterBuilder-filterOperationBetween\": \"Is between\",\r\n \"dxFilterBuilder-filterOperationAnyOf\": \"Is any of\",\r\n \"dxFilterBuilder-filterOperationNoneOf\": \"Is none of\",\r\n \"dxHtmlEditor-dialogColorCaption\": \"Change Font Color\",\r\n \"dxHtmlEditor-dialogBackgroundCaption\": \"Change Background Color\",\r\n \"dxHtmlEditor-dialogLinkCaption\": \"Add Link\",\r\n \"dxHtmlEditor-dialogLinkUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogLinkTextField\": \"Text\",\r\n \"dxHtmlEditor-dialogLinkTargetField\": \"Open link in new window\",\r\n \"dxHtmlEditor-dialogImageCaption\": \"Add Image\",\r\n \"dxHtmlEditor-dialogImageUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogImageAltField\": \"Alternate text\",\r\n \"dxHtmlEditor-dialogImageWidthField\": \"Width (px)\",\r\n \"dxHtmlEditor-dialogImageHeightField\": \"Height (px)\",\r\n \"dxHtmlEditor-dialogInsertTableRowsField\": \"Rows\",\r\n \"dxHtmlEditor-dialogInsertTableColumnsField\": \"Columns\",\r\n \"dxHtmlEditor-dialogInsertTableCaption\": \"Insert Table\",\r\n \"dxHtmlEditor-dialogUpdateImageCaption\": \"Update Image\",\r\n \"dxHtmlEditor-dialogImageUpdateButton\": \"Update\",\r\n \"dxHtmlEditor-dialogImageAddButton\": \"Add\",\r\n \"dxHtmlEditor-dialogImageSpecifyUrl\": \"From the Web\",\r\n \"dxHtmlEditor-dialogImageSelectFile\": \"From This Device\",\r\n \"dxHtmlEditor-dialogImageKeepAspectRatio\": \"Keep Aspect Ratio\",\r\n \"dxHtmlEditor-dialogImageEncodeToBase64\": \"Encode to Base64\",\r\n \"dxHtmlEditor-heading\": \"Heading\",\r\n \"dxHtmlEditor-normalText\": \"Normal text\",\r\n \"dxHtmlEditor-background\": \"Background Color\",\r\n \"dxHtmlEditor-bold\": \"Bold\",\r\n \"dxHtmlEditor-color\": \"Font Color\",\r\n \"dxHtmlEditor-font\": \"Font\",\r\n \"dxHtmlEditor-italic\": \"Italic\",\r\n \"dxHtmlEditor-link\": \"Add Link\",\r\n \"dxHtmlEditor-image\": \"Add Image\",\r\n \"dxHtmlEditor-size\": \"Size\",\r\n \"dxHtmlEditor-strike\": \"Strikethrough\",\r\n \"dxHtmlEditor-subscript\": \"Subscript\",\r\n \"dxHtmlEditor-superscript\": \"Superscript\",\r\n \"dxHtmlEditor-underline\": \"Underline\",\r\n \"dxHtmlEditor-blockquote\": \"Blockquote\",\r\n \"dxHtmlEditor-header\": \"Header\",\r\n \"dxHtmlEditor-increaseIndent\": \"Increase Indent\",\r\n \"dxHtmlEditor-decreaseIndent\": \"Decrease Indent\",\r\n \"dxHtmlEditor-orderedList\": \"Ordered List\",\r\n \"dxHtmlEditor-bulletList\": \"Bullet List\",\r\n \"dxHtmlEditor-alignLeft\": \"Align Left\",\r\n \"dxHtmlEditor-alignCenter\": \"Align Center\",\r\n \"dxHtmlEditor-alignRight\": \"Align Right\",\r\n \"dxHtmlEditor-alignJustify\": \"Align Justify\",\r\n \"dxHtmlEditor-codeBlock\": \"Code Block\",\r\n \"dxHtmlEditor-variable\": \"Add Variable\",\r\n \"dxHtmlEditor-undo\": \"Undo\",\r\n \"dxHtmlEditor-redo\": \"Redo\",\r\n \"dxHtmlEditor-clear\": \"Clear Formatting\",\r\n \"dxHtmlEditor-insertTable\": \"Insert Table\",\r\n \"dxHtmlEditor-insertHeaderRow\": \"Insert Header Row\",\r\n \"dxHtmlEditor-insertRowAbove\": \"Insert Row Above\",\r\n \"dxHtmlEditor-insertRowBelow\": \"Insert Row Below\",\r\n \"dxHtmlEditor-insertColumnLeft\": \"Insert Column Left\",\r\n \"dxHtmlEditor-insertColumnRight\": \"Insert Column Right\",\r\n \"dxHtmlEditor-deleteColumn\": \"Delete Column\",\r\n \"dxHtmlEditor-deleteRow\": \"Delete Row\",\r\n \"dxHtmlEditor-deleteTable\": \"Delete Table\",\r\n \"dxHtmlEditor-cellProperties\": \"Cell Properties\",\r\n \"dxHtmlEditor-tableProperties\": \"Table Properties\",\r\n \"dxHtmlEditor-insert\": \"Insert\",\r\n \"dxHtmlEditor-delete\": \"Delete\",\r\n \"dxHtmlEditor-border\": \"Border\",\r\n \"dxHtmlEditor-style\": \"Style\",\r\n \"dxHtmlEditor-width\": \"Width\",\r\n \"dxHtmlEditor-height\": \"Height\",\r\n \"dxHtmlEditor-borderColor\": \"Color\",\r\n \"dxHtmlEditor-tableBackground\": \"Background\",\r\n \"dxHtmlEditor-dimensions\": \"Dimensions\",\r\n \"dxHtmlEditor-alignment\": \"Alignment\",\r\n \"dxHtmlEditor-horizontal\": \"Horizontal\",\r\n \"dxHtmlEditor-vertical\": \"Vertical\",\r\n \"dxHtmlEditor-paddingVertical\": \"Vertical Padding\",\r\n \"dxHtmlEditor-paddingHorizontal\": \"Horizontal Padding\",\r\n \"dxHtmlEditor-pixels\": \"Pixels\",\r\n \"dxHtmlEditor-list\": \"List\",\r\n \"dxHtmlEditor-ordered\": \"Ordered\",\r\n \"dxHtmlEditor-bullet\": \"Bullet\",\r\n \"dxHtmlEditor-align\": \"Align\",\r\n \"dxHtmlEditor-center\": \"Center\",\r\n \"dxHtmlEditor-left\": \"Left\",\r\n \"dxHtmlEditor-right\": \"Right\",\r\n \"dxHtmlEditor-indent\": \"Indent\",\r\n \"dxHtmlEditor-justify\": \"Justify\",\r\n \"dxFileManager-newDirectoryName\": \"Untitled directory\",\r\n \"dxFileManager-rootDirectoryName\": \"Files\",\r\n \"dxFileManager-errorNoAccess\": \"Access Denied. Operation could not be completed.\",\r\n \"dxFileManager-errorDirectoryExistsFormat\": \"Directory '{0}' already exists.\",\r\n \"dxFileManager-errorFileExistsFormat\": \"File '{0}' already exists.\",\r\n \"dxFileManager-errorFileNotFoundFormat\": \"File '{0}' not found.\",\r\n \"dxFileManager-errorDirectoryNotFoundFormat\": \"Directory '{0}' not found.\",\r\n \"dxFileManager-errorWrongFileExtension\": \"File extension is not allowed.\",\r\n \"dxFileManager-errorMaxFileSizeExceeded\": \"File size exceeds the maximum allowed size.\",\r\n \"dxFileManager-errorInvalidSymbols\": \"This name contains invalid characters.\",\r\n \"dxFileManager-errorDefault\": \"Unspecified error.\",\r\n \"dxFileManager-errorDirectoryOpenFailed\": \"The directory cannot be opened\",\r\n \"dxFileManager-commandCreate\": \"New directory\",\r\n \"dxFileManager-commandRename\": \"Rename\",\r\n \"dxFileManager-commandMove\": \"Move to\",\r\n \"dxFileManager-commandCopy\": \"Copy to\",\r\n \"dxFileManager-commandDelete\": \"Delete\",\r\n \"dxFileManager-commandDownload\": \"Download\",\r\n \"dxFileManager-commandUpload\": \"Upload files\",\r\n \"dxFileManager-commandRefresh\": \"Refresh\",\r\n \"dxFileManager-commandThumbnails\": \"Thumbnails View\",\r\n \"dxFileManager-commandDetails\": \"Details View\",\r\n \"dxFileManager-commandClearSelection\": \"Clear selection\",\r\n \"dxFileManager-commandShowNavPane\": \"Toggle navigation pane\",\r\n \"dxFileManager-dialogDirectoryChooserMoveTitle\": \"Move to\",\r\n \"dxFileManager-dialogDirectoryChooserMoveButtonText\": \"Move\",\r\n \"dxFileManager-dialogDirectoryChooserCopyTitle\": \"Copy to\",\r\n \"dxFileManager-dialogDirectoryChooserCopyButtonText\": \"Copy\",\r\n \"dxFileManager-dialogRenameItemTitle\": \"Rename\",\r\n \"dxFileManager-dialogRenameItemButtonText\": \"Save\",\r\n \"dxFileManager-dialogCreateDirectoryTitle\": \"New directory\",\r\n \"dxFileManager-dialogCreateDirectoryButtonText\": \"Create\",\r\n \"dxFileManager-dialogDeleteItemTitle\": \"Delete\",\r\n \"dxFileManager-dialogDeleteItemButtonText\": \"Delete\",\r\n \"dxFileManager-dialogDeleteItemSingleItemConfirmation\": \"Are you sure you want to delete {0}?\",\r\n \"dxFileManager-dialogDeleteItemMultipleItemsConfirmation\": \"Are you sure you want to delete {0} items?\",\r\n \"dxFileManager-dialogButtonCancel\": \"Cancel\",\r\n \"dxFileManager-editingCreateSingleItemProcessingMessage\": \"Creating a directory inside {0}\",\r\n \"dxFileManager-editingCreateSingleItemSuccessMessage\": \"Created a directory inside {0}\",\r\n \"dxFileManager-editingCreateSingleItemErrorMessage\": \"Directory was not created\",\r\n \"dxFileManager-editingCreateCommonErrorMessage\": \"Directory was not created\",\r\n \"dxFileManager-editingRenameSingleItemProcessingMessage\": \"Renaming an item inside {0}\",\r\n \"dxFileManager-editingRenameSingleItemSuccessMessage\": \"Renamed an item inside {0}\",\r\n \"dxFileManager-editingRenameSingleItemErrorMessage\": \"Item was not renamed\",\r\n \"dxFileManager-editingRenameCommonErrorMessage\": \"Item was not renamed\",\r\n \"dxFileManager-editingDeleteSingleItemProcessingMessage\": \"Deleting an item from {0}\",\r\n \"dxFileManager-editingDeleteMultipleItemsProcessingMessage\": \"Deleting {0} items from {1}\",\r\n \"dxFileManager-editingDeleteSingleItemSuccessMessage\": \"Deleted an item from {0}\",\r\n \"dxFileManager-editingDeleteMultipleItemsSuccessMessage\": \"Deleted {0} items from {1}\",\r\n \"dxFileManager-editingDeleteSingleItemErrorMessage\": \"Item was not deleted\",\r\n \"dxFileManager-editingDeleteMultipleItemsErrorMessage\": \"{0} items were not deleted\",\r\n \"dxFileManager-editingDeleteCommonErrorMessage\": \"Some items were not deleted\",\r\n \"dxFileManager-editingMoveSingleItemProcessingMessage\": \"Moving an item to {0}\",\r\n \"dxFileManager-editingMoveMultipleItemsProcessingMessage\": \"Moving {0} items to {1}\",\r\n \"dxFileManager-editingMoveSingleItemSuccessMessage\": \"Moved an item to {0}\",\r\n \"dxFileManager-editingMoveMultipleItemsSuccessMessage\": \"Moved {0} items to {1}\",\r\n \"dxFileManager-editingMoveSingleItemErrorMessage\": \"Item was not moved\",\r\n \"dxFileManager-editingMoveMultipleItemsErrorMessage\": \"{0} items were not moved\",\r\n \"dxFileManager-editingMoveCommonErrorMessage\": \"Some items were not moved\",\r\n \"dxFileManager-editingCopySingleItemProcessingMessage\": \"Copying an item to {0}\",\r\n \"dxFileManager-editingCopyMultipleItemsProcessingMessage\": \"Copying {0} items to {1}\",\r\n \"dxFileManager-editingCopySingleItemSuccessMessage\": \"Copied an item to {0}\",\r\n \"dxFileManager-editingCopyMultipleItemsSuccessMessage\": \"Copied {0} items to {1}\",\r\n \"dxFileManager-editingCopySingleItemErrorMessage\": \"Item was not copied\",\r\n \"dxFileManager-editingCopyMultipleItemsErrorMessage\": \"{0} items were not copied\",\r\n \"dxFileManager-editingCopyCommonErrorMessage\": \"Some items were not copied\",\r\n \"dxFileManager-editingUploadSingleItemProcessingMessage\": \"Uploading an item to {0}\",\r\n \"dxFileManager-editingUploadMultipleItemsProcessingMessage\": \"Uploading {0} items to {1}\",\r\n \"dxFileManager-editingUploadSingleItemSuccessMessage\": \"Uploaded an item to {0}\",\r\n \"dxFileManager-editingUploadMultipleItemsSuccessMessage\": \"Uploaded {0} items to {1}\",\r\n \"dxFileManager-editingUploadSingleItemErrorMessage\": \"Item was not uploaded\",\r\n \"dxFileManager-editingUploadMultipleItemsErrorMessage\": \"{0} items were not uploaded\",\r\n \"dxFileManager-editingUploadCanceledMessage\": \"Canceled\",\r\n \"dxFileManager-editingDownloadSingleItemErrorMessage\": \"Item was not downloaded\",\r\n \"dxFileManager-editingDownloadMultipleItemsErrorMessage\": \"{0} items were not downloaded\",\r\n \"dxFileManager-listDetailsColumnCaptionName\": \"Name\",\r\n \"dxFileManager-listDetailsColumnCaptionDateModified\": \"Date Modified\",\r\n \"dxFileManager-listDetailsColumnCaptionFileSize\": \"File Size\",\r\n \"dxFileManager-listThumbnailsTooltipTextSize\": \"Size\",\r\n \"dxFileManager-listThumbnailsTooltipTextDateModified\": \"Date Modified\",\r\n \"dxFileManager-notificationProgressPanelTitle\": \"Progress\",\r\n \"dxFileManager-notificationProgressPanelEmptyListText\": \"No operations\",\r\n \"dxFileManager-notificationProgressPanelOperationCanceled\": \"Canceled\",\r\n \"dxDiagram-categoryGeneral\": \"General\",\r\n \"dxDiagram-categoryFlowchart\": \"Flowchart\",\r\n \"dxDiagram-categoryOrgChart\": \"Org Chart\",\r\n \"dxDiagram-categoryContainers\": \"Containers\",\r\n \"dxDiagram-categoryCustom\": \"Custom\",\r\n \"dxDiagram-commandExportToSvg\": \"Export to SVG\",\r\n \"dxDiagram-commandExportToPng\": \"Export to PNG\",\r\n \"dxDiagram-commandExportToJpg\": \"Export to JPEG\",\r\n \"dxDiagram-commandUndo\": \"Undo\",\r\n \"dxDiagram-commandRedo\": \"Redo\",\r\n \"dxDiagram-commandFontName\": \"Font Name\",\r\n \"dxDiagram-commandFontSize\": \"Font Size\",\r\n \"dxDiagram-commandBold\": \"Bold\",\r\n \"dxDiagram-commandItalic\": \"Italic\",\r\n \"dxDiagram-commandUnderline\": \"Underline\",\r\n \"dxDiagram-commandTextColor\": \"Font Color\",\r\n \"dxDiagram-commandLineColor\": \"Line Color\",\r\n \"dxDiagram-commandLineWidth\": \"Line Width\",\r\n \"dxDiagram-commandLineStyle\": \"Line Style\",\r\n \"dxDiagram-commandLineStyleSolid\": \"Solid\",\r\n \"dxDiagram-commandLineStyleDotted\": \"Dotted\",\r\n \"dxDiagram-commandLineStyleDashed\": \"Dashed\",\r\n \"dxDiagram-commandFillColor\": \"Fill Color\",\r\n \"dxDiagram-commandAlignLeft\": \"Align Left\",\r\n \"dxDiagram-commandAlignCenter\": \"Align Center\",\r\n \"dxDiagram-commandAlignRight\": \"Align Right\",\r\n \"dxDiagram-commandConnectorLineType\": \"Connector Line Type\",\r\n \"dxDiagram-commandConnectorLineStraight\": \"Straight\",\r\n \"dxDiagram-commandConnectorLineOrthogonal\": \"Orthogonal\",\r\n \"dxDiagram-commandConnectorLineStart\": \"Connector Line Start\",\r\n \"dxDiagram-commandConnectorLineEnd\": \"Connector Line End\",\r\n \"dxDiagram-commandConnectorLineNone\": \"None\",\r\n \"dxDiagram-commandConnectorLineArrow\": \"Arrow\",\r\n \"dxDiagram-commandFullscreen\": \"Full Screen\",\r\n \"dxDiagram-commandUnits\": \"Units\",\r\n \"dxDiagram-commandPageSize\": \"Page Size\",\r\n \"dxDiagram-commandPageOrientation\": \"Page Orientation\",\r\n \"dxDiagram-commandPageOrientationLandscape\": \"Landscape\",\r\n \"dxDiagram-commandPageOrientationPortrait\": \"Portrait\",\r\n \"dxDiagram-commandPageColor\": \"Page Color\",\r\n \"dxDiagram-commandShowGrid\": \"Show Grid\",\r\n \"dxDiagram-commandSnapToGrid\": \"Snap to Grid\",\r\n \"dxDiagram-commandGridSize\": \"Grid Size\",\r\n \"dxDiagram-commandZoomLevel\": \"Zoom Level\",\r\n \"dxDiagram-commandAutoZoom\": \"Auto Zoom\",\r\n \"dxDiagram-commandFitToContent\": \"Fit to Content\",\r\n \"dxDiagram-commandFitToWidth\": \"Fit to Width\",\r\n \"dxDiagram-commandAutoZoomByContent\": \"Auto Zoom by Content\",\r\n \"dxDiagram-commandAutoZoomByWidth\": \"Auto Zoom by Width\",\r\n \"dxDiagram-commandSimpleView\": \"Simple View\",\r\n \"dxDiagram-commandCut\": \"Cut\",\r\n \"dxDiagram-commandCopy\": \"Copy\",\r\n \"dxDiagram-commandPaste\": \"Paste\",\r\n \"dxDiagram-commandSelectAll\": \"Select All\",\r\n \"dxDiagram-commandDelete\": \"Delete\",\r\n \"dxDiagram-commandBringToFront\": \"Bring to Front\",\r\n \"dxDiagram-commandSendToBack\": \"Send to Back\",\r\n \"dxDiagram-commandLock\": \"Lock\",\r\n \"dxDiagram-commandUnlock\": \"Unlock\",\r\n \"dxDiagram-commandInsertShapeImage\": \"Insert Image...\",\r\n \"dxDiagram-commandEditShapeImage\": \"Change Image...\",\r\n \"dxDiagram-commandDeleteShapeImage\": \"Delete Image\",\r\n \"dxDiagram-commandLayoutLeftToRight\": \"Left-to-right\",\r\n \"dxDiagram-commandLayoutRightToLeft\": \"Right-to-left\",\r\n \"dxDiagram-commandLayoutTopToBottom\": \"Top-to-bottom\",\r\n \"dxDiagram-commandLayoutBottomToTop\": \"Bottom-to-top\",\r\n \"dxDiagram-unitIn\": \"in\",\r\n \"dxDiagram-unitCm\": \"cm\",\r\n \"dxDiagram-unitPx\": \"px\",\r\n \"dxDiagram-dialogButtonOK\": \"OK\",\r\n \"dxDiagram-dialogButtonCancel\": \"Cancel\",\r\n \"dxDiagram-dialogInsertShapeImageTitle\": \"Insert Image\",\r\n \"dxDiagram-dialogEditShapeImageTitle\": \"Change Image\",\r\n \"dxDiagram-dialogEditShapeImageSelectButton\": \"Select image\",\r\n \"dxDiagram-dialogEditShapeImageLabelText\": \"or drop a file here\",\r\n \"dxDiagram-uiExport\": \"Export\",\r\n \"dxDiagram-uiProperties\": \"Properties\",\r\n \"dxDiagram-uiSettings\": \"Settings\",\r\n \"dxDiagram-uiShowToolbox\": \"Show Toolbox\",\r\n \"dxDiagram-uiSearch\": \"Search\",\r\n \"dxDiagram-uiStyle\": \"Style\",\r\n \"dxDiagram-uiLayout\": \"Layout\",\r\n \"dxDiagram-uiLayoutTree\": \"Tree\",\r\n \"dxDiagram-uiLayoutLayered\": \"Layered\",\r\n \"dxDiagram-uiDiagram\": \"Diagram\",\r\n \"dxDiagram-uiText\": \"Text\",\r\n \"dxDiagram-uiObject\": \"Object\",\r\n \"dxDiagram-uiConnector\": \"Connector\",\r\n \"dxDiagram-uiPage\": \"Page\",\r\n \"dxDiagram-shapeText\": \"Text\",\r\n \"dxDiagram-shapeRectangle\": \"Rectangle\",\r\n \"dxDiagram-shapeEllipse\": \"Ellipse\",\r\n \"dxDiagram-shapeCross\": \"Cross\",\r\n \"dxDiagram-shapeTriangle\": \"Triangle\",\r\n \"dxDiagram-shapeDiamond\": \"Diamond\",\r\n \"dxDiagram-shapeHeart\": \"Heart\",\r\n \"dxDiagram-shapePentagon\": \"Pentagon\",\r\n \"dxDiagram-shapeHexagon\": \"Hexagon\",\r\n \"dxDiagram-shapeOctagon\": \"Octagon\",\r\n \"dxDiagram-shapeStar\": \"Star\",\r\n \"dxDiagram-shapeArrowLeft\": \"Left Arrow\",\r\n \"dxDiagram-shapeArrowUp\": \"Up Arrow\",\r\n \"dxDiagram-shapeArrowRight\": \"Right Arrow\",\r\n \"dxDiagram-shapeArrowDown\": \"Down Arrow\",\r\n \"dxDiagram-shapeArrowUpDown\": \"Up Down Arrow\",\r\n \"dxDiagram-shapeArrowLeftRight\": \"Left Right Arrow\",\r\n \"dxDiagram-shapeProcess\": \"Process\",\r\n \"dxDiagram-shapeDecision\": \"Decision\",\r\n \"dxDiagram-shapeTerminator\": \"Terminator\",\r\n \"dxDiagram-shapePredefinedProcess\": \"Predefined Process\",\r\n \"dxDiagram-shapeDocument\": \"Document\",\r\n \"dxDiagram-shapeMultipleDocuments\": \"Multiple Documents\",\r\n \"dxDiagram-shapeManualInput\": \"Manual Input\",\r\n \"dxDiagram-shapePreparation\": \"Preparation\",\r\n \"dxDiagram-shapeData\": \"Data\",\r\n \"dxDiagram-shapeDatabase\": \"Database\",\r\n \"dxDiagram-shapeHardDisk\": \"Hard Disk\",\r\n \"dxDiagram-shapeInternalStorage\": \"Internal Storage\",\r\n \"dxDiagram-shapePaperTape\": \"Paper Tape\",\r\n \"dxDiagram-shapeManualOperation\": \"Manual Operation\",\r\n \"dxDiagram-shapeDelay\": \"Delay\",\r\n \"dxDiagram-shapeStoredData\": \"Stored Data\",\r\n \"dxDiagram-shapeDisplay\": \"Display\",\r\n \"dxDiagram-shapeMerge\": \"Merge\",\r\n \"dxDiagram-shapeConnector\": \"Connector\",\r\n \"dxDiagram-shapeOr\": \"Or\",\r\n \"dxDiagram-shapeSummingJunction\": \"Summing Junction\",\r\n \"dxDiagram-shapeContainerDefaultText\": \"Container\",\r\n \"dxDiagram-shapeVerticalContainer\": \"Vertical Container\",\r\n \"dxDiagram-shapeHorizontalContainer\": \"Horizontal Container\",\r\n \"dxDiagram-shapeCardDefaultText\": \"Person's Name\",\r\n \"dxDiagram-shapeCardWithImageOnLeft\": \"Card with Image on the Left\",\r\n \"dxDiagram-shapeCardWithImageOnTop\": \"Card with Image on the Top\",\r\n \"dxDiagram-shapeCardWithImageOnRight\": \"Card with Image on the Right\",\r\n \"dxGantt-dialogTitle\": \"Title\",\r\n \"dxGantt-dialogStartTitle\": \"Start\",\r\n \"dxGantt-dialogEndTitle\": \"End\",\r\n \"dxGantt-dialogProgressTitle\": \"Progress\",\r\n \"dxGantt-dialogResourcesTitle\": \"Resources\",\r\n \"dxGantt-dialogResourceManagerTitle\": \"Resource Manager\",\r\n \"dxGantt-dialogTaskDetailsTitle\": \"Task Details\",\r\n \"dxGantt-dialogEditResourceListHint\": \"Edit Resource List\",\r\n \"dxGantt-dialogEditNoResources\": \"No resources\",\r\n \"dxGantt-dialogButtonAdd\": \"Add\",\r\n \"dxGantt-contextMenuNewTask\": \"New Task\",\r\n \"dxGantt-contextMenuNewSubtask\": \"New Subtask\",\r\n \"dxGantt-contextMenuDeleteTask\": \"Delete Task\",\r\n \"dxGantt-contextMenuDeleteDependency\": \"Delete Dependency\",\r\n \"dxGantt-dialogTaskDeleteConfirmation\": \"Deleting a task also deletes all its dependencies and subtasks. Are you sure you want to delete this task?\",\r\n \"dxGantt-dialogDependencyDeleteConfirmation\": \"Are you sure you want to delete the dependency from the task?\",\r\n \"dxGantt-dialogResourcesDeleteConfirmation\": \"Deleting a resource also deletes it from tasks to which this resource is assigned. Are you sure you want to delete these resources? Resources: {0}\",\r\n \"dxGantt-dialogConstraintCriticalViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. This change would conflict with dependency rules. How would you like to proceed?\",\r\n \"dxGantt-dialogConstraintViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. How would you like to proceed?\",\r\n \"dxGantt-dialogCancelOperationMessage\": \"Cancel the operation\",\r\n \"dxGantt-dialogDeleteDependencyMessage\": \"Delete the dependency\",\r\n \"dxGantt-dialogMoveTaskAndKeepDependencyMessage\": \"Move the task and keep the dependency\",\r\n \"dxGantt-dialogConstraintCriticalViolationSeveralTasksMessage\": \"The task you are attempting to move is linked to another tasks by dependency relations. This change would conflict with dependency rules. How would you like to proceed?\",\r\n \"dxGantt-dialogConstraintViolationSeveralTasksMessage\": \"The task you are attempting to move is linked to another tasks by dependency relations. How would you like to proceed?\",\r\n \"dxGantt-dialogDeleteDependenciesMessage\": \"Delete the dependency relations\",\r\n \"dxGantt-dialogMoveTaskAndKeepDependenciesMessage\": \"Move the task and keep the dependencies\",\r\n \"dxGantt-undo\": \"Undo\",\r\n \"dxGantt-redo\": \"Redo\",\r\n \"dxGantt-expandAll\": \"Expand All\",\r\n \"dxGantt-collapseAll\": \"Collapse All\",\r\n \"dxGantt-addNewTask\": \"Add New Task\",\r\n \"dxGantt-deleteSelectedTask\": \"Delete Selected Task\",\r\n \"dxGantt-zoomIn\": \"Zoom In\",\r\n \"dxGantt-zoomOut\": \"Zoom Out\",\r\n \"dxGantt-fullScreen\": \"Full Screen\",\r\n \"dxGantt-quarter\": \"Q{0}\",\r\n \"dxGantt-sortingAscendingText\": \"Sort Ascending\",\r\n \"dxGantt-sortingDescendingText\": \"Sort Descending\",\r\n \"dxGantt-sortingClearText\": \"Clear Sorting\",\r\n \"dxGantt-showResources\": \"Show Resources\",\r\n \"dxGantt-showDependencies\": \"Show Dependencies\",\r\n \"dxGantt-dialogStartDateValidation\": \"Start date must be after {0}\",\r\n \"dxGantt-dialogEndDateValidation\": \"End date must be after {0}\"\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/common/config_context.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n createContext\r\n} from \"@devextreme/runtime/inferno\";\r\nexport var ConfigContext = createContext(void 0);\r\n","/**\r\n * DevExtreme (esm/core/inferno_renderer.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n render as _render\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffectHost,\r\n hydrate\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createElement as _createElement\r\n} from \"inferno-create-element\";\r\nimport domAdapter from \"./dom_adapter\";\r\nimport {\r\n cleanDataRecursive\r\n} from \"./element_data\";\r\nimport injector from \"./utils/dependency_injector\";\r\nvar remove = element => {\r\n var {\r\n parentNode: parentNode\r\n } = element;\r\n if (parentNode) {\r\n cleanDataRecursive(element);\r\n parentNode.$V = element.$V;\r\n _render(null, parentNode);\r\n parentNode.appendChild(element);\r\n element.innerHTML = \"\";\r\n delete parentNode.$V\r\n }\r\n delete element.$V\r\n};\r\nexport default injector({\r\n createElement: (component, props) => _createElement(component, props),\r\n remove: remove,\r\n onAfterRender: () => {\r\n InfernoEffectHost.callEffects()\r\n },\r\n onPreRender: () => {\r\n InfernoEffectHost.lock()\r\n },\r\n render: (component, props, container, replace) => {\r\n if (!replace) {\r\n var {\r\n parentNode: parentNode\r\n } = container;\r\n var nextNode = null === container || void 0 === container ? void 0 : container.nextSibling;\r\n var rootNode = domAdapter.createElement(\"div\");\r\n rootNode.appendChild(container);\r\n var mountNode = domAdapter.createDocumentFragment().appendChild(rootNode);\r\n var vNodeAlreadyExists = !!container.$V;\r\n vNodeAlreadyExists && remove(container);\r\n hydrate(_createElement(component, props), mountNode);\r\n container.$V = mountNode.$V;\r\n if (parentNode) {\r\n parentNode.insertBefore(container, nextNode)\r\n }\r\n } else {\r\n _render(_createElement(component, props), container)\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/common/template_wrapper.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n InfernoComponent,\r\n InfernoEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n findDOMfromVNode\r\n} from \"inferno\";\r\nimport {\r\n shallowEquals\r\n} from \"../../utils/shallow_equals\";\r\nimport {\r\n replaceWith\r\n} from \"../../../core/utils/dom\";\r\nimport $ from \"../../../core/renderer\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n removeDifferentElements\r\n} from \"../utils/utils\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nexport class TemplateWrapper extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.renderTemplate = this.renderTemplate.bind(this)\r\n }\r\n renderTemplate() {\r\n var _this$props$model;\r\n var node = findDOMfromVNode(this.$LI, true);\r\n var parentNode = node.parentNode;\r\n var $parent = $(parentNode);\r\n var $children = $parent.contents();\r\n var {\r\n data: data,\r\n index: index\r\n } = null !== (_this$props$model = this.props.model) && void 0 !== _this$props$model ? _this$props$model : {\r\n data: {}\r\n };\r\n if (data) {\r\n Object.keys(data).forEach(name => {\r\n if (data[name] && domAdapter.isNode(data[name])) {\r\n data[name] = getPublicElement($(data[name]))\r\n }\r\n })\r\n }\r\n var $result = $(this.props.template.render(_extends({\r\n container: getPublicElement($parent),\r\n transclude: this.props.transclude\r\n }, {\r\n renovated: this.props.renovated\r\n }, !this.props.transclude ? {\r\n model: data\r\n } : {}, !this.props.transclude && Number.isFinite(index) ? {\r\n index: index\r\n } : {})));\r\n replaceWith($(node), $result);\r\n return () => {\r\n removeDifferentElements($children, $parent.contents());\r\n parentNode.appendChild(node)\r\n }\r\n }\r\n shouldComponentUpdate(nextProps) {\r\n var {\r\n model: model,\r\n template: template\r\n } = this.props;\r\n var {\r\n model: nextModel,\r\n template: nextTemplate\r\n } = nextProps;\r\n var sameTemplate = template === nextTemplate;\r\n if (!sameTemplate) {\r\n return true\r\n }\r\n if (isDefined(model) && isDefined(nextModel)) {\r\n var {\r\n data: data,\r\n index: index\r\n } = model;\r\n var {\r\n data: nextData,\r\n index: nextIndex\r\n } = nextModel;\r\n return index !== nextIndex || !shallowEquals(data, nextData)\r\n }\r\n var sameModel = model === nextModel;\r\n return !sameModel\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.renderTemplate, [this.props.template, this.props.model])]\r\n }\r\n updateEffects() {\r\n this._effects[0].update([this.props.template, this.props.model])\r\n }\r\n componentWillUnmount() {}\r\n render() {\r\n return null\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/utils/utils.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nexport var removeDifferentElements = ($children, $newChildren) => {\r\n each($newChildren, (__, element) => {\r\n var hasComponent = false;\r\n each($children, (_, oldElement) => {\r\n if (element === oldElement) {\r\n hasComponent = true\r\n }\r\n });\r\n if (!hasComponent && element.parentNode) {\r\n element.parentNode.removeChild(element)\r\n }\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/utils/shallow_equals.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var shallowEquals = (firstObject, secondObject) => {\r\n if (Object.keys(firstObject).length !== Object.keys(secondObject).length) {\r\n return false\r\n }\r\n return Object.keys(firstObject).every(key => firstObject[key] === secondObject[key])\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/utils/update_props_immutable.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isPlainObject\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n getPathParts\r\n} from \"../../../core/utils/data\";\r\n\r\nfunction cloneObjectValue(value) {\r\n return Array.isArray(value) ? [...value] : _extends({}, value)\r\n}\r\n\r\nfunction cloneObjectProp(value, prevValue, fullNameParts) {\r\n var result = fullNameParts.length > 0 && prevValue && value !== prevValue ? cloneObjectValue(prevValue) : cloneObjectValue(value);\r\n var name = fullNameParts[0];\r\n if (fullNameParts.length > 1) {\r\n result[name] = cloneObjectProp(value[name], null === prevValue || void 0 === prevValue ? void 0 : prevValue[name], fullNameParts.slice(1))\r\n } else if (name) {\r\n if (isPlainObject(value[name])) {\r\n result[name] = cloneObjectValue(value[name])\r\n } else {\r\n result[name] = value[name]\r\n }\r\n }\r\n return result\r\n}\r\nexport function updatePropsImmutable(props, option, name, fullName) {\r\n var currentPropsValue = option[name];\r\n var prevPropsValue = props[name];\r\n var result = props;\r\n if (isPlainObject(currentPropsValue) || name !== fullName && Array.isArray(currentPropsValue)) {\r\n result[name] = cloneObjectProp(currentPropsValue, prevPropsValue, getPathParts(fullName).slice(1))\r\n } else {\r\n result[name] = currentPropsValue\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/common/component.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n createRef\r\n} from \"inferno\";\r\nimport KeyboardProcessor from \"../../../events/core/keyboard_processor\";\r\nimport renderer from \"../../../core/inferno_renderer\";\r\nimport $ from \"../../../core/renderer\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport DOMComponent from \"../../../core/dom_component\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n isDefined,\r\n isRenderer,\r\n isString\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n TemplateWrapper\r\n} from \"./template_wrapper\";\r\nimport {\r\n updatePropsImmutable\r\n} from \"../utils/update_props_immutable\";\r\nvar setDefaultOptionValue = (options, defaultValueGetter) => name => {\r\n if (Object.prototype.hasOwnProperty.call(options, name) && void 0 === options[name]) {\r\n options[name] = defaultValueGetter(name)\r\n }\r\n};\r\nexport default class ComponentWrapper extends DOMComponent {\r\n constructor(element, options) {\r\n super(element, options);\r\n this._shouldRaiseContentReady = false;\r\n this.validateKeyDownHandler()\r\n }\r\n get _propsInfo() {\r\n return {\r\n allowNull: [],\r\n twoWay: [],\r\n elements: [],\r\n templates: [],\r\n props: []\r\n }\r\n }\r\n validateKeyDownHandler() {\r\n var supportedKeyNames = this.getSupportedKeyNames();\r\n var hasComponentDefaultKeyHandlers = supportedKeyNames.length > 0;\r\n var hasComponentKeyDownMethod = \"function\" === typeof this._viewComponent.prototype.keyDown;\r\n if (hasComponentDefaultKeyHandlers && !hasComponentKeyDownMethod) {\r\n throw Error(\"Component's declaration must have 'keyDown' method.\")\r\n }\r\n }\r\n get viewRef() {\r\n var _this$_viewRef;\r\n return null === (_this$_viewRef = this._viewRef) || void 0 === _this$_viewRef ? void 0 : _this$_viewRef.current\r\n }\r\n _checkContentReadyOption(fullName) {\r\n var contentReadyOptions = this._getContentReadyOptions().reduce((options, name) => {\r\n options[name] = true;\r\n return options\r\n }, {});\r\n this._checkContentReadyOption = optionName => !!contentReadyOptions[optionName];\r\n return this._checkContentReadyOption(fullName)\r\n }\r\n _getContentReadyOptions() {\r\n return [\"rtlEnabled\"]\r\n }\r\n _fireContentReady() {\r\n this._actionsMap.onContentReady({})\r\n }\r\n _getDefaultOptions() {\r\n return extend(true, super._getDefaultOptions(), this._viewComponent.defaultProps, this._propsInfo.twoWay.reduce((options, _ref) => {\r\n var [name, defaultName, eventName] = _ref;\r\n return _extends({}, options, {\r\n [name]: this._viewComponent.defaultProps[defaultName],\r\n [eventName]: value => this.option(name, value)\r\n })\r\n }, {}), this._propsInfo.templates.reduce((options, name) => _extends({}, options, {\r\n [name]: null\r\n }), {}))\r\n }\r\n _getUnwrappedOption() {\r\n var unwrappedProps = {};\r\n Object.keys(this.option()).forEach(key => {\r\n unwrappedProps[key] = this.option(key)\r\n });\r\n return unwrappedProps\r\n }\r\n _initializeComponent() {\r\n var _this$_templateManage;\r\n super._initializeComponent();\r\n null === (_this$_templateManage = this._templateManager) || void 0 === _this$_templateManage ? void 0 : _this$_templateManage.addDefaultTemplates(this.getDefaultTemplates());\r\n var optionProxy = this._getUnwrappedOption();\r\n this._props = this._optionsWithDefaultTemplates(optionProxy);\r\n this._propsInfo.templates.forEach(template => {\r\n this._componentTemplates[template] = this._createTemplateComponent(this._props[template])\r\n });\r\n Object.keys(this._getActionConfigsFull()).forEach(name => this._addAction(name));\r\n this._viewRef = createRef();\r\n this.defaultKeyHandlers = this._createDefaultKeyHandlers()\r\n }\r\n _initMarkup() {\r\n var props = this.getProps();\r\n this._renderWrapper(props)\r\n }\r\n _renderWrapper(props) {\r\n var containerNode = this.$element()[0];\r\n if (!this._isNodeReplaced) {\r\n renderer.onPreRender()\r\n }\r\n renderer.render(this._viewComponent, props, containerNode, this._isNodeReplaced);\r\n if (!this._isNodeReplaced) {\r\n this._isNodeReplaced = true;\r\n renderer.onAfterRender();\r\n this._shouldRaiseContentReady = true\r\n }\r\n if (this._shouldRaiseContentReady) {\r\n this._fireContentReady();\r\n this._shouldRaiseContentReady = false\r\n }\r\n }\r\n _silent(name, value) {\r\n this._options.silent(name, value)\r\n }\r\n _render() {}\r\n _removeWidget() {\r\n renderer.remove(this.$element()[0])\r\n }\r\n _dispose() {\r\n this._removeWidget();\r\n super._dispose()\r\n }\r\n get elementAttr() {\r\n var element = this.$element()[0];\r\n if (!this._elementAttr) {\r\n var {\r\n attributes: attributes\r\n } = element;\r\n var attrs = Array.from(attributes).filter(attr => {\r\n var _attributes$attr$name;\r\n return !this._propsInfo.templates.includes(attr.name) && (null === (_attributes$attr$name = attributes[attr.name]) || void 0 === _attributes$attr$name ? void 0 : _attributes$attr$name.specified)\r\n }).reduce((result, _ref2) => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref2;\r\n var updatedAttributes = result;\r\n var isDomAttr = name in element;\r\n updatedAttributes[name] = \"\" === value && isDomAttr ? element[name] : value;\r\n return updatedAttributes\r\n }, {});\r\n this._elementAttr = attrs;\r\n this._storedClasses = element.getAttribute(\"class\") || \"\"\r\n }\r\n var elemStyle = element.style;\r\n var style = {};\r\n for (var i = 0; i < elemStyle.length; i += 1) {\r\n style[elemStyle[i]] = elemStyle.getPropertyValue(elemStyle[i])\r\n }\r\n this._elementAttr.style = style;\r\n this._elementAttr.class = this._storedClasses;\r\n return this._elementAttr\r\n }\r\n _getAdditionalActionConfigs() {\r\n return {\r\n onContentReady: {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }\r\n }\r\n }\r\n _getAdditionalProps() {\r\n return []\r\n }\r\n _patchOptionValues(options) {\r\n var {\r\n allowNull: allowNull,\r\n elements: elements,\r\n props: props,\r\n twoWay: twoWay\r\n } = this._propsInfo;\r\n var defaultWidgetPropsKeys = Object.keys(this._viewComponent.defaultProps);\r\n var defaultOptions = this._getDefaultOptions();\r\n var {\r\n children: children,\r\n onKeyboardHandled: onKeyboardHandled,\r\n ref: ref\r\n } = options;\r\n var onKeyDown = onKeyboardHandled ? (_, event_options) => {\r\n onKeyboardHandled(event_options)\r\n } : void 0;\r\n var widgetProps = {\r\n ref: ref,\r\n children: children,\r\n onKeyDown: onKeyDown\r\n };\r\n [...props, ...this._getAdditionalProps()].forEach(propName => {\r\n if (Object.prototype.hasOwnProperty.call(options, propName)) {\r\n widgetProps[propName] = options[propName]\r\n }\r\n });\r\n allowNull.forEach(setDefaultOptionValue(widgetProps, () => null));\r\n defaultWidgetPropsKeys.forEach(setDefaultOptionValue(widgetProps, name => defaultOptions[name]));\r\n twoWay.forEach(_ref3 => {\r\n var [name, defaultName] = _ref3;\r\n setDefaultOptionValue(widgetProps, () => defaultOptions[defaultName])(name)\r\n });\r\n elements.forEach(name => {\r\n if (name in widgetProps) {\r\n var value = widgetProps[name];\r\n if (isRenderer(value)) {\r\n widgetProps[name] = this._patchElementParam(value)\r\n }\r\n }\r\n });\r\n return widgetProps\r\n }\r\n getSupportedKeyNames() {\r\n return []\r\n }\r\n prepareStyleProp(props) {\r\n if (\"string\" === typeof props.style) {\r\n return _extends({}, props, {\r\n style: {},\r\n cssText: props.style\r\n })\r\n }\r\n return props\r\n }\r\n getProps() {\r\n var _this$elementAttr$cla, _elementAttr$class;\r\n var {\r\n elementAttr: elementAttr\r\n } = this.option();\r\n var options = this._patchOptionValues(_extends({}, this._props, {\r\n ref: this._viewRef,\r\n children: this._extractDefaultSlot(),\r\n aria: this._aria\r\n }));\r\n this._propsInfo.templates.forEach(template => {\r\n options[template] = this._componentTemplates[template]\r\n });\r\n return this.prepareStyleProp(_extends({}, options, this.elementAttr, elementAttr, {\r\n className: [...(null !== (_this$elementAttr$cla = this.elementAttr.class) && void 0 !== _this$elementAttr$cla ? _this$elementAttr$cla : \"\").split(\" \"), ...(null !== (_elementAttr$class = null === elementAttr || void 0 === elementAttr ? void 0 : elementAttr.class) && void 0 !== _elementAttr$class ? _elementAttr$class : \"\").split(\" \")].filter((c, i, a) => c && a.indexOf(c) === i).join(\" \").trim(),\r\n class: \"\"\r\n }, this._actionsMap))\r\n }\r\n _getActionConfigs() {\r\n return {}\r\n }\r\n _getActionConfigsFull() {\r\n return _extends({}, this._getActionConfigs(), this._getAdditionalActionConfigs())\r\n }\r\n getDefaultTemplates() {\r\n var defaultTemplates = Object.values(this._templatesInfo);\r\n var result = {};\r\n defaultTemplates.forEach(template => {\r\n result[template] = \"dx-renovation-template-mock\"\r\n });\r\n return result\r\n }\r\n get _templatesInfo() {\r\n return {}\r\n }\r\n _optionsWithDefaultTemplates(options) {\r\n var templateOptions = Object.entries(this._templatesInfo).reduce((result, _ref4) => {\r\n var _options$templateName;\r\n var [templateName, templateValue] = _ref4;\r\n return _extends({}, result, {\r\n [templateName]: null !== (_options$templateName = options[templateName]) && void 0 !== _options$templateName ? _options$templateName : templateValue\r\n })\r\n }, {});\r\n return _extends({}, options, templateOptions)\r\n }\r\n _init() {\r\n super._init();\r\n this.customKeyHandlers = {};\r\n this._actionsMap = {};\r\n this._aria = {};\r\n this._componentTemplates = {}\r\n }\r\n _createDefaultKeyHandlers() {\r\n var result = {};\r\n var keys = this.getSupportedKeyNames();\r\n keys.forEach(key => {\r\n result[key] = e => this.viewRef.keyDown(KeyboardProcessor.createKeyDownOptions(e))\r\n });\r\n return result\r\n }\r\n _addAction(event, actionToAdd) {\r\n var action = actionToAdd;\r\n if (!action) {\r\n var actionByOption = this._createActionByOption(event, this._getActionConfigsFull()[event]);\r\n action = actArgs => {\r\n Object.keys(actArgs).forEach(name => {\r\n if (isDefined(actArgs[name]) && domAdapter.isNode(actArgs[name])) {\r\n actArgs[name] = getPublicElement($(actArgs[name]))\r\n }\r\n });\r\n return actionByOption(actArgs)\r\n }\r\n }\r\n this._actionsMap[event] = action\r\n }\r\n _optionChanged(option) {\r\n var {\r\n fullName: fullName,\r\n name: name,\r\n previousValue: previousValue,\r\n value: value\r\n } = option;\r\n updatePropsImmutable(this._props, this.option(), name, fullName);\r\n if (this._propsInfo.templates.includes(name) && value !== previousValue) {\r\n this._componentTemplates[name] = this._createTemplateComponent(value)\r\n }\r\n if (name && this._getActionConfigsFull()[name]) {\r\n this._addAction(name)\r\n }\r\n this._shouldRaiseContentReady = this._shouldRaiseContentReady || this._checkContentReadyOption(fullName);\r\n super._optionChanged(option);\r\n this._invalidate()\r\n }\r\n _extractDefaultSlot() {\r\n if (this.option(\"_hasAnonymousTemplateContent\")) {\r\n return renderer.createElement(TemplateWrapper, {\r\n template: this._getTemplate(this._templateManager.anonymousTemplateName),\r\n transclude: true,\r\n renovated: true\r\n })\r\n }\r\n return null\r\n }\r\n _createTemplateComponent(templateOption) {\r\n if (!templateOption) {\r\n return\r\n }\r\n var template = this._getTemplate(templateOption);\r\n if (isString(template) && \"dx-renovation-template-mock\" === template) {\r\n return\r\n }\r\n return model => renderer.createElement(TemplateWrapper, {\r\n template: template,\r\n model: model\r\n })\r\n }\r\n _wrapKeyDownHandler(initialHandler) {\r\n return options => {\r\n var {\r\n keyName: keyName,\r\n originalEvent: originalEvent,\r\n which: which\r\n } = options;\r\n var keys = this.customKeyHandlers;\r\n var func = keys[keyName] || keys[which];\r\n if (void 0 !== func) {\r\n var handler = func.bind(this);\r\n var result = handler(originalEvent, options);\r\n if (!result) {\r\n originalEvent.cancel = true;\r\n return originalEvent\r\n }\r\n }\r\n return null === initialHandler || void 0 === initialHandler ? void 0 : initialHandler(originalEvent, options)\r\n }\r\n }\r\n _toPublicElement(element) {\r\n return getPublicElement($(element))\r\n }\r\n _patchElementParam(value) {\r\n try {\r\n var result = $(value);\r\n var element = null === result || void 0 === result ? void 0 : result.get(0);\r\n return null !== element && void 0 !== element && element.nodeType ? element : value\r\n } catch (error) {\r\n return value\r\n }\r\n }\r\n repaint() {\r\n this._isNodeReplaced = false;\r\n this._shouldRaiseContentReady = true;\r\n this._removeWidget();\r\n this._refresh()\r\n }\r\n _supportedKeys() {\r\n return _extends({}, this.defaultKeyHandlers, this.customKeyHandlers)\r\n }\r\n registerKeyHandler(key, handler) {\r\n this.customKeyHandlers[key] = handler\r\n }\r\n setAria(name, value) {\r\n this._aria[name] = value;\r\n this._initMarkup()\r\n }\r\n}\r\nComponentWrapper.IS_RENOVATED_WIDGET = false;\r\nComponentWrapper.IS_RENOVATED_WIDGET = true;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/base_props.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var BaseWidgetProps = {\r\n className: \"\",\r\n activeStateEnabled: false,\r\n disabled: false,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n tabIndex: 0,\r\n visible: true\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/utils/subscribe_to_event.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport * as clickEvent from \"../../events/click\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport scrollEvents from \"../../events/gesture/emitter.gesture.scroll\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nexport function subscribeToEvent(eventName) {\r\n return (element, handler, eventData, namespace) => {\r\n var event = namespace ? addNamespace(eventName, namespace) : eventName;\r\n if (handler) {\r\n eventsEngine.on(element, event, eventData, handler);\r\n return () => {\r\n eventsEngine.off(element, event, handler)\r\n }\r\n }\r\n return\r\n }\r\n}\r\nexport var subscribeToClickEvent = subscribeToEvent(clickEvent.name);\r\nexport var subscribeToScrollEvent = subscribeToEvent(scrollEvents.scroll);\r\nexport var subscribeToScrollInitEvent = subscribeToEvent(scrollEvents.init);\r\nexport var subscribeToDXScrollStartEvent = subscribeToEvent(scrollEvents.start);\r\nexport var subscribeToDXScrollMoveEvent = subscribeToEvent(scrollEvents.move);\r\nexport var subscribeToDXScrollEndEvent = subscribeToEvent(scrollEvents.end);\r\nexport var subscribeToDXScrollStopEvent = subscribeToEvent(scrollEvents.stop);\r\nexport var subscribeToDXScrollCancelEvent = subscribeToEvent(scrollEvents.cancel);\r\nexport var subscribeToDXPointerDownEvent = subscribeToEvent(pointerEvents.down);\r\nexport var subscribeToDXPointerUpEvent = subscribeToEvent(pointerEvents.up);\r\nexport var subscribeToDXPointerMoveEvent = subscribeToEvent(pointerEvents.move);\r\nexport var subscribeToMouseEnterEvent = subscribeToEvent(\"mouseenter\");\r\nexport var subscribeToMouseLeaveEvent = subscribeToEvent(\"mouseleave\");\r\nexport var subscribeToKeyDownEvent = subscribeToEvent(\"keydown\");\r\nexport var subscribeToDxActiveEvent = subscribeToEvent(\"dxactive\");\r\nexport var subscribeToDxInactiveEvent = subscribeToEvent(\"dxinactive\");\r\nexport var subscribeToDxHoverStartEvent = subscribeToEvent(\"dxhoverstart\");\r\nexport var subscribeToDxHoverEndEvent = subscribeToEvent(\"dxhoverend\");\r\nexport var subscribeToDxFocusInEvent = subscribeToEvent(\"focusin\");\r\nexport var subscribeToDxFocusOutEvent = subscribeToEvent(\"focusout\");\r\n","/**\r\n * DevExtreme (esm/renovation/common/config_provider.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"children\", \"rtlEnabled\"];\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nexport var viewFunction = viewModel => viewModel.props.children;\r\nexport var ConfigProviderProps = {};\r\nexport class ConfigProvider extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {}\r\n }\r\n getChildContext() {\r\n return _extends({}, this.context, {\r\n ConfigContext: this.config\r\n })\r\n }\r\n get config() {\r\n if (void 0 !== this.__getterCache.config) {\r\n return this.__getterCache.config\r\n }\r\n return this.__getterCache.config = (() => ({\r\n rtlEnabled: this.props.rtlEnabled\r\n }))()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.rtlEnabled !== nextProps.rtlEnabled) {\r\n this.__getterCache.config = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n config: this.config,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nConfigProvider.defaultProps = ConfigProviderProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/widget.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"_feedbackHideTimeout\", \"_feedbackShowTimeout\", \"accessKey\", \"activeStateEnabled\", \"activeStateUnit\", \"addWidgetClass\", \"aria\", \"children\", \"className\", \"classes\", \"cssText\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"name\", \"onActive\", \"onClick\", \"onDimensionChanged\", \"onFocusIn\", \"onFocusOut\", \"onHoverEnd\", \"onHoverStart\", \"onInactive\", \"onKeyDown\", \"onRootElementRendered\", \"onVisibilityChange\", \"rootElementRef\", \"rtlEnabled\", \"tabIndex\", \"visible\", \"width\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport \"../../../events/click\";\r\nimport \"../../../events/hover\";\r\nimport {\r\n isFunction\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n dxClick,\r\n focus,\r\n keyboard,\r\n resize,\r\n visibility\r\n} from \"../../../events/short\";\r\nimport {\r\n subscribeToDxActiveEvent,\r\n subscribeToDxInactiveEvent,\r\n subscribeToDxHoverStartEvent,\r\n subscribeToDxHoverEndEvent,\r\n subscribeToDxFocusInEvent,\r\n subscribeToDxFocusOutEvent\r\n} from \"../../utils/subscribe_to_event\";\r\nimport {\r\n combineClasses\r\n} from \"../../utils/combine_classes\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n normalizeStyleProp\r\n} from \"../../../core/utils/style\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"./base_props\";\r\nimport {\r\n ConfigContext\r\n} from \"../../common/config_context\";\r\nimport {\r\n ConfigProvider\r\n} from \"../../common/config_provider\";\r\nimport {\r\n resolveRtlEnabled,\r\n resolveRtlEnabledDefinition\r\n} from \"../../utils/resolve_rtl\";\r\nimport resizeCallbacks from \"../../../core/utils/resize_callbacks\";\r\nimport errors from \"../../../core/errors\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nvar DEFAULT_FEEDBACK_HIDE_TIMEOUT = 400;\r\nvar DEFAULT_FEEDBACK_SHOW_TIMEOUT = 30;\r\nvar getAria = args => Object.keys(args).reduce((r, key) => {\r\n if (args[key]) {\r\n return _extends({}, r, {\r\n [\"role\" === key || \"id\" === key ? key : \"aria-\".concat(key)]: String(args[key])\r\n })\r\n }\r\n return r\r\n}, {});\r\nexport var viewFunction = viewModel => {\r\n var widget = normalizeProps(createVNode(1, \"div\", viewModel.cssClasses, viewModel.props.children, 0, _extends({}, viewModel.attributes, {\r\n tabIndex: viewModel.tabIndex,\r\n title: viewModel.props.hint,\r\n style: normalizeStyles(viewModel.styles)\r\n }), null, viewModel.widgetElementRef));\r\n return viewModel.shouldRenderConfigProvider ? createComponentVNode(2, ConfigProvider, {\r\n rtlEnabled: viewModel.rtlEnabled,\r\n children: widget\r\n }) : widget\r\n};\r\nexport var WidgetProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n _feedbackHideTimeout: DEFAULT_FEEDBACK_HIDE_TIMEOUT,\r\n _feedbackShowTimeout: DEFAULT_FEEDBACK_SHOW_TIMEOUT,\r\n cssText: \"\",\r\n aria: Object.freeze({}),\r\n classes: \"\",\r\n name: \"\",\r\n addWidgetClass: true\r\n})));\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class Widget extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.widgetElementRef = infernoCreateRef();\r\n this.state = {\r\n active: false,\r\n focused: false,\r\n hovered: false\r\n };\r\n this.setRootElementRef = this.setRootElementRef.bind(this);\r\n this.activeEffect = this.activeEffect.bind(this);\r\n this.inactiveEffect = this.inactiveEffect.bind(this);\r\n this.clickEffect = this.clickEffect.bind(this);\r\n this.focus = this.focus.bind(this);\r\n this.blur = this.blur.bind(this);\r\n this.activate = this.activate.bind(this);\r\n this.deactivate = this.deactivate.bind(this);\r\n this.focusInEffect = this.focusInEffect.bind(this);\r\n this.focusOutEffect = this.focusOutEffect.bind(this);\r\n this.hoverStartEffect = this.hoverStartEffect.bind(this);\r\n this.hoverEndEffect = this.hoverEndEffect.bind(this);\r\n this.keyboardEffect = this.keyboardEffect.bind(this);\r\n this.resizeEffect = this.resizeEffect.bind(this);\r\n this.windowResizeEffect = this.windowResizeEffect.bind(this);\r\n this.visibilityEffect = this.visibilityEffect.bind(this);\r\n this.checkDeprecation = this.checkDeprecation.bind(this);\r\n this.applyCssTextEffect = this.applyCssTextEffect.bind(this)\r\n }\r\n get config() {\r\n if (\"ConfigContext\" in this.context) {\r\n return this.context.ConfigContext\r\n }\r\n return ConfigContext\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.setRootElementRef, []), new InfernoEffect(this.activeEffect, [this.props._feedbackShowTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.disabled, this.props.onActive]), new InfernoEffect(this.inactiveEffect, [this.props._feedbackHideTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.onInactive, this.state.active]), new InfernoEffect(this.clickEffect, [this.props.disabled, this.props.name, this.props.onClick]), new InfernoEffect(this.focusInEffect, [this.props.disabled, this.props.focusStateEnabled, this.props.name, this.props.onFocusIn]), new InfernoEffect(this.focusOutEffect, [this.props.focusStateEnabled, this.props.name, this.props.onFocusOut, this.state.focused]), new InfernoEffect(this.hoverStartEffect, [this.props.activeStateUnit, this.props.disabled, this.props.hoverStateEnabled, this.props.onHoverStart, this.state.active]), new InfernoEffect(this.hoverEndEffect, [this.props.activeStateUnit, this.props.hoverStateEnabled, this.props.onHoverEnd, this.state.hovered]), new InfernoEffect(this.keyboardEffect, [this.props.focusStateEnabled, this.props.onKeyDown]), new InfernoEffect(this.resizeEffect, [this.props.name, this.props.onDimensionChanged]), new InfernoEffect(this.windowResizeEffect, [this.props.onDimensionChanged]), new InfernoEffect(this.visibilityEffect, [this.props.name, this.props.onVisibilityChange]), new InfernoEffect(this.checkDeprecation, [this.props.height, this.props.width]), new InfernoEffect(this.applyCssTextEffect, [this.props.cssText]), createReRenderEffect()]\r\n }\r\n updateEffects() {\r\n var _this$_effects$, _this$_effects$2, _this$_effects$3, _this$_effects$4, _this$_effects$5, _this$_effects$6, _this$_effects$7, _this$_effects$8, _this$_effects$9, _this$_effects$10, _this$_effects$11, _this$_effects$12, _this$_effects$13;\r\n null === (_this$_effects$ = this._effects[1]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props._feedbackShowTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.disabled, this.props.onActive]);\r\n null === (_this$_effects$2 = this._effects[2]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props._feedbackHideTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.onInactive, this.state.active]);\r\n null === (_this$_effects$3 = this._effects[3]) || void 0 === _this$_effects$3 ? void 0 : _this$_effects$3.update([this.props.disabled, this.props.name, this.props.onClick]);\r\n null === (_this$_effects$4 = this._effects[4]) || void 0 === _this$_effects$4 ? void 0 : _this$_effects$4.update([this.props.disabled, this.props.focusStateEnabled, this.props.name, this.props.onFocusIn]);\r\n null === (_this$_effects$5 = this._effects[5]) || void 0 === _this$_effects$5 ? void 0 : _this$_effects$5.update([this.props.focusStateEnabled, this.props.name, this.props.onFocusOut, this.state.focused]);\r\n null === (_this$_effects$6 = this._effects[6]) || void 0 === _this$_effects$6 ? void 0 : _this$_effects$6.update([this.props.activeStateUnit, this.props.disabled, this.props.hoverStateEnabled, this.props.onHoverStart, this.state.active]);\r\n null === (_this$_effects$7 = this._effects[7]) || void 0 === _this$_effects$7 ? void 0 : _this$_effects$7.update([this.props.activeStateUnit, this.props.hoverStateEnabled, this.props.onHoverEnd, this.state.hovered]);\r\n null === (_this$_effects$8 = this._effects[8]) || void 0 === _this$_effects$8 ? void 0 : _this$_effects$8.update([this.props.focusStateEnabled, this.props.onKeyDown]);\r\n null === (_this$_effects$9 = this._effects[9]) || void 0 === _this$_effects$9 ? void 0 : _this$_effects$9.update([this.props.name, this.props.onDimensionChanged]);\r\n null === (_this$_effects$10 = this._effects[10]) || void 0 === _this$_effects$10 ? void 0 : _this$_effects$10.update([this.props.onDimensionChanged]);\r\n null === (_this$_effects$11 = this._effects[11]) || void 0 === _this$_effects$11 ? void 0 : _this$_effects$11.update([this.props.name, this.props.onVisibilityChange]);\r\n null === (_this$_effects$12 = this._effects[12]) || void 0 === _this$_effects$12 ? void 0 : _this$_effects$12.update([this.props.height, this.props.width]);\r\n null === (_this$_effects$13 = this._effects[13]) || void 0 === _this$_effects$13 ? void 0 : _this$_effects$13.update([this.props.cssText])\r\n }\r\n setRootElementRef() {\r\n var {\r\n onRootElementRendered: onRootElementRendered,\r\n rootElementRef: rootElementRef\r\n } = this.props;\r\n if (rootElementRef) {\r\n rootElementRef.current = this.widgetElementRef.current\r\n }\r\n null === onRootElementRendered || void 0 === onRootElementRendered ? void 0 : onRootElementRendered(this.widgetElementRef.current)\r\n }\r\n activeEffect() {\r\n var {\r\n _feedbackShowTimeout: _feedbackShowTimeout,\r\n activeStateEnabled: activeStateEnabled,\r\n activeStateUnit: activeStateUnit,\r\n disabled: disabled,\r\n onActive: onActive\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (activeStateEnabled) {\r\n if (!disabled) {\r\n return subscribeToDxActiveEvent(this.widgetElementRef.current, event => {\r\n this.setState(__state_argument => ({\r\n active: true\r\n }));\r\n null === onActive || void 0 === onActive ? void 0 : onActive(event)\r\n }, {\r\n timeout: _feedbackShowTimeout,\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n }\r\n return\r\n }\r\n inactiveEffect() {\r\n var {\r\n _feedbackHideTimeout: _feedbackHideTimeout,\r\n activeStateEnabled: activeStateEnabled,\r\n activeStateUnit: activeStateUnit,\r\n onInactive: onInactive\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (activeStateEnabled) {\r\n return subscribeToDxInactiveEvent(this.widgetElementRef.current, event => {\r\n if (this.state.active) {\r\n this.setState(__state_argument => ({\r\n active: false\r\n }));\r\n null === onInactive || void 0 === onInactive ? void 0 : onInactive(event)\r\n }\r\n }, {\r\n timeout: _feedbackHideTimeout,\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n return\r\n }\r\n clickEffect() {\r\n var {\r\n disabled: disabled,\r\n name: name,\r\n onClick: onClick\r\n } = this.props;\r\n var namespace = name;\r\n if (onClick && !disabled) {\r\n dxClick.on(this.widgetElementRef.current, onClick, {\r\n namespace: namespace\r\n });\r\n return () => dxClick.off(this.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n return\r\n }\r\n focusInEffect() {\r\n var {\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n name: name,\r\n onFocusIn: onFocusIn\r\n } = this.props;\r\n var namespace = \"\".concat(name, \"Focus\");\r\n if (focusStateEnabled) {\r\n if (!disabled) {\r\n return subscribeToDxFocusInEvent(this.widgetElementRef.current, event => {\r\n if (!event.isDefaultPrevented()) {\r\n this.setState(__state_argument => ({\r\n focused: true\r\n }));\r\n null === onFocusIn || void 0 === onFocusIn ? void 0 : onFocusIn(event)\r\n }\r\n }, null, namespace)\r\n }\r\n }\r\n return\r\n }\r\n focusOutEffect() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n name: name,\r\n onFocusOut: onFocusOut\r\n } = this.props;\r\n var namespace = \"\".concat(name, \"Focus\");\r\n if (focusStateEnabled) {\r\n return subscribeToDxFocusOutEvent(this.widgetElementRef.current, event => {\r\n if (!event.isDefaultPrevented() && this.state.focused) {\r\n this.setState(__state_argument => ({\r\n focused: false\r\n }));\r\n null === onFocusOut || void 0 === onFocusOut ? void 0 : onFocusOut(event)\r\n }\r\n }, null, namespace)\r\n }\r\n return\r\n }\r\n hoverStartEffect() {\r\n var {\r\n activeStateUnit: activeStateUnit,\r\n disabled: disabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onHoverStart: onHoverStart\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (hoverStateEnabled) {\r\n if (!disabled) {\r\n return subscribeToDxHoverStartEvent(this.widgetElementRef.current, event => {\r\n !this.state.active && this.setState(__state_argument => ({\r\n hovered: true\r\n }));\r\n null === onHoverStart || void 0 === onHoverStart ? void 0 : onHoverStart(event)\r\n }, {\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n }\r\n return\r\n }\r\n hoverEndEffect() {\r\n var {\r\n activeStateUnit: activeStateUnit,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onHoverEnd: onHoverEnd\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (hoverStateEnabled) {\r\n return subscribeToDxHoverEndEvent(this.widgetElementRef.current, event => {\r\n if (this.state.hovered) {\r\n this.setState(__state_argument => ({\r\n hovered: false\r\n }));\r\n null === onHoverEnd || void 0 === onHoverEnd ? void 0 : onHoverEnd(event)\r\n }\r\n }, {\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n return\r\n }\r\n keyboardEffect() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n onKeyDown: onKeyDown\r\n } = this.props;\r\n if (focusStateEnabled && onKeyDown) {\r\n var id = keyboard.on(this.widgetElementRef.current, this.widgetElementRef.current, e => onKeyDown(e));\r\n return () => keyboard.off(id)\r\n }\r\n return\r\n }\r\n resizeEffect() {\r\n var namespace = \"\".concat(this.props.name, \"VisibilityChange\");\r\n var {\r\n onDimensionChanged: onDimensionChanged\r\n } = this.props;\r\n if (onDimensionChanged) {\r\n resize.on(this.widgetElementRef.current, onDimensionChanged, {\r\n namespace: namespace\r\n });\r\n return () => resize.off(this.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n return\r\n }\r\n windowResizeEffect() {\r\n var {\r\n onDimensionChanged: onDimensionChanged\r\n } = this.props;\r\n if (onDimensionChanged) {\r\n resizeCallbacks.add(onDimensionChanged);\r\n return () => {\r\n resizeCallbacks.remove(onDimensionChanged)\r\n }\r\n }\r\n return\r\n }\r\n visibilityEffect() {\r\n var {\r\n name: name,\r\n onVisibilityChange: onVisibilityChange\r\n } = this.props;\r\n var namespace = \"\".concat(name, \"VisibilityChange\");\r\n if (onVisibilityChange) {\r\n visibility.on(this.widgetElementRef.current, () => onVisibilityChange(true), () => onVisibilityChange(false), {\r\n namespace: namespace\r\n });\r\n return () => visibility.off(this.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n return\r\n }\r\n checkDeprecation() {\r\n var {\r\n height: height,\r\n width: width\r\n } = this.props;\r\n if (isFunction(width)) {\r\n errors.log(\"W0017\", \"width\")\r\n }\r\n if (isFunction(height)) {\r\n errors.log(\"W0017\", \"height\")\r\n }\r\n }\r\n applyCssTextEffect() {\r\n var {\r\n cssText: cssText\r\n } = this.props;\r\n if (\"\" !== cssText) {\r\n this.widgetElementRef.current.style.cssText = cssText\r\n }\r\n }\r\n get shouldRenderConfigProvider() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.props;\r\n return resolveRtlEnabledDefinition(rtlEnabled, this.config)\r\n }\r\n get rtlEnabled() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.props;\r\n return resolveRtlEnabled(rtlEnabled, this.config)\r\n }\r\n get attributes() {\r\n var {\r\n aria: aria,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n visible: visible\r\n } = this.props;\r\n var accessKey = focusStateEnabled && !disabled && this.props.accessKey;\r\n return _extends({}, extend({}, accessKey && {\r\n accessKey: accessKey\r\n }), getAria(_extends({}, aria, {\r\n disabled: disabled,\r\n hidden: !visible\r\n })), extend({}, this.restAttributes))\r\n }\r\n get styles() {\r\n var {\r\n height: height,\r\n width: width\r\n } = this.props;\r\n var style = this.restAttributes.style || {};\r\n var computedWidth = normalizeStyleProp(\"width\", isFunction(width) ? width() : width);\r\n var computedHeight = normalizeStyleProp(\"height\", isFunction(height) ? height() : height);\r\n return _extends({}, style, {\r\n height: null !== computedHeight && void 0 !== computedHeight ? computedHeight : style.height,\r\n width: null !== computedWidth && void 0 !== computedWidth ? computedWidth : style.width\r\n })\r\n }\r\n get cssClasses() {\r\n var {\r\n activeStateEnabled: activeStateEnabled,\r\n addWidgetClass: addWidgetClass,\r\n className: className,\r\n classes: classes,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onVisibilityChange: onVisibilityChange,\r\n visible: visible\r\n } = this.props;\r\n var isFocusable = !!focusStateEnabled && !disabled;\r\n var isHoverable = !!hoverStateEnabled && !disabled;\r\n var canBeActive = !!activeStateEnabled && !disabled;\r\n var classesMap = {\r\n \"dx-widget\": !!addWidgetClass,\r\n [String(classes)]: !!classes,\r\n [String(className)]: !!className,\r\n \"dx-state-disabled\": !!disabled,\r\n \"dx-state-invisible\": !visible,\r\n \"dx-state-focused\": !!this.state.focused && isFocusable,\r\n \"dx-state-active\": !!this.state.active && canBeActive,\r\n \"dx-state-hover\": !!this.state.hovered && isHoverable && !this.state.active,\r\n \"dx-rtl\": !!this.rtlEnabled,\r\n \"dx-visibility-change-handler\": !!onVisibilityChange\r\n };\r\n return combineClasses(classesMap)\r\n }\r\n get tabIndex() {\r\n var {\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n tabIndex: tabIndex\r\n } = this.props;\r\n var isFocusable = focusStateEnabled && !disabled;\r\n return isFocusable ? tabIndex : void 0\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n focus.trigger(this.widgetElementRef.current)\r\n }\r\n blur() {\r\n var activeElement = domAdapter.getActiveElement(this.widgetElementRef.current);\r\n if (this.widgetElementRef.current === activeElement) {\r\n activeElement.blur()\r\n }\r\n }\r\n activate() {\r\n this.setState(__state_argument => ({\r\n active: true\r\n }))\r\n }\r\n deactivate() {\r\n this.setState(__state_argument => ({\r\n active: false\r\n }))\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n active: this.state.active,\r\n focused: this.state.focused,\r\n hovered: this.state.hovered,\r\n widgetElementRef: this.widgetElementRef,\r\n config: this.config,\r\n shouldRenderConfigProvider: this.shouldRenderConfigProvider,\r\n rtlEnabled: this.rtlEnabled,\r\n attributes: this.attributes,\r\n styles: this.styles,\r\n cssClasses: this.cssClasses,\r\n tabIndex: this.tabIndex,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nWidget.defaultProps = WidgetProps;\r\n","/**\r\n * DevExtreme (esm/renovation/utils/resolve_rtl.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport globalConfig from \"../../core/config\";\r\nexport function resolveRtlEnabled(rtlProp, config) {\r\n if (void 0 !== rtlProp) {\r\n return rtlProp\r\n }\r\n if (void 0 !== (null === config || void 0 === config ? void 0 : config.rtlEnabled)) {\r\n return config.rtlEnabled\r\n }\r\n return globalConfig().rtlEnabled\r\n}\r\nexport function resolveRtlEnabledDefinition(rtlProp, config) {\r\n var isPropDefined = isDefined(rtlProp);\r\n var onlyGlobalDefined = isDefined(globalConfig().rtlEnabled) && !isPropDefined && !isDefined(null === config || void 0 === config ? void 0 : config.rtlEnabled);\r\n return isPropDefined && rtlProp !== (null === config || void 0 === config ? void 0 : config.rtlEnabled) || onlyGlobalDefined\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/utils/combine_classes.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function combineClasses(classesMap) {\r\n return Object.keys(classesMap).filter(p => classesMap[p]).join(\" \")\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/button.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport ValidationEngine from \"../../ui/validation_engine\";\r\nimport Component from \"./common/component\";\r\nimport {\r\n getImageSourceType\r\n} from \"../../core/utils/icon\";\r\nexport default class ButtonWrapper extends Component {\r\n get _validationGroupConfig() {\r\n return ValidationEngine.getGroupConfig(this._findGroup())\r\n }\r\n getDefaultTemplateNames() {\r\n return [\"content\"]\r\n }\r\n getSupportedKeyNames() {\r\n return [\"space\", \"enter\"]\r\n }\r\n getProps() {\r\n var props = super.getProps();\r\n props.onClick = _ref => {\r\n var {\r\n event: event\r\n } = _ref;\r\n this._clickAction({\r\n event: event,\r\n validationGroup: this._validationGroupConfig\r\n })\r\n };\r\n var iconType = getImageSourceType(props.icon);\r\n if (\"svg\" === iconType) {\r\n props.iconTemplate = this._createTemplateComponent(() => props.icon)\r\n }\r\n return props\r\n }\r\n get _templatesInfo() {\r\n return {\r\n template: \"content\"\r\n }\r\n }\r\n _toggleActiveState(_, value) {\r\n var button = this.viewRef;\r\n value ? button.activate() : button.deactivate()\r\n }\r\n _getSubmitAction() {\r\n var needValidate = true;\r\n var validationStatus = \"valid\";\r\n return this._createAction(_ref2 => {\r\n var {\r\n event: event,\r\n submitInput: submitInput\r\n } = _ref2;\r\n if (needValidate) {\r\n var validationGroup = this._validationGroupConfig;\r\n if (void 0 !== validationGroup && \"\" !== validationGroup) {\r\n var validationResult = validationGroup.validate();\r\n validationStatus = validationResult.status;\r\n if (\"pending\" === validationResult.status) {\r\n needValidate = false;\r\n this.option(\"disabled\", true);\r\n validationResult.complete.then(_ref3 => {\r\n var {\r\n status: status\r\n } = _ref3;\r\n this.option(\"disabled\", false);\r\n validationStatus = status;\r\n \"valid\" === validationStatus && submitInput.click();\r\n needValidate = true\r\n })\r\n }\r\n }\r\n }\r\n \"valid\" !== validationStatus && event.preventDefault();\r\n event.stopPropagation()\r\n })\r\n }\r\n _initializeComponent() {\r\n super._initializeComponent();\r\n this._addAction(\"onSubmit\", this._getSubmitAction());\r\n this._clickAction = this._createClickAction()\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n var $content = this.$element().find(\".dx-button-content\");\r\n var $template = $content.children().filter(\".dx-template-wrapper\");\r\n var $input = $content.children().filter(\".dx-button-submit-input\");\r\n if ($template.length) {\r\n $template.addClass(\"dx-button-content\");\r\n $template.append($input);\r\n $content.replaceWith($template)\r\n }\r\n }\r\n _patchOptionValues(options) {\r\n return super._patchOptionValues(_extends({}, options, {\r\n templateData: options._templateData\r\n }))\r\n }\r\n _findGroup() {\r\n var $element = this.$element();\r\n var validationGroup = this.option(\"validationGroup\");\r\n return void 0 !== validationGroup && \"\" !== validationGroup ? validationGroup : ValidationEngine.findGroup($element, this._modelByElement($element))\r\n }\r\n _createClickAction() {\r\n return this._createActionByOption(\"onClick\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n }\r\n _optionChanged(option) {\r\n switch (option.name) {\r\n case \"onClick\":\r\n this._clickAction = this._createClickAction()\r\n }\r\n super._optionChanged(option)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/icon.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"iconTemplate\", \"position\", \"source\"];\r\nimport {\r\n createVNode,\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n getImageSourceType\r\n} from \"../../../core/utils/icon\";\r\nimport {\r\n combineClasses\r\n} from \"../../utils/combine_classes\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n iconClassName: iconClassName,\r\n props: {\r\n iconTemplate: IconTemplate,\r\n source: source\r\n },\r\n sourceType: sourceType\r\n } = _ref;\r\n return createFragment([\"dxIcon\" === sourceType && createVNode(1, \"i\", iconClassName), \"fontIcon\" === sourceType && createVNode(1, \"i\", iconClassName), \"image\" === sourceType && createVNode(1, \"img\", iconClassName, null, 1, {\r\n alt: \"\",\r\n src: source\r\n }), IconTemplate && createVNode(1, \"i\", iconClassName, IconTemplate({}), 0)], 0)\r\n};\r\nexport var IconProps = {\r\n position: \"left\",\r\n source: \"\"\r\n};\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class Icon extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get sourceType() {\r\n return getImageSourceType(this.props.source)\r\n }\r\n get cssClass() {\r\n return \"left\" !== this.props.position ? \"dx-icon-right\" : \"\"\r\n }\r\n get iconClassName() {\r\n var generalClasses = {\r\n \"dx-icon\": true,\r\n [this.cssClass]: !!this.cssClass\r\n };\r\n var {\r\n source: source\r\n } = this.props;\r\n if (\"dxIcon\" === this.sourceType) {\r\n return combineClasses(_extends({}, generalClasses, {\r\n [\"dx-icon-\".concat(source)]: true\r\n }))\r\n }\r\n if (\"fontIcon\" === this.sourceType) {\r\n return combineClasses(_extends({}, generalClasses, {\r\n [String(source)]: !!source\r\n }))\r\n }\r\n if (\"image\" === this.sourceType) {\r\n return combineClasses(generalClasses)\r\n }\r\n if (\"svg\" === this.sourceType) {\r\n return combineClasses(_extends({}, generalClasses, {\r\n \"dx-svg-icon\": true\r\n }))\r\n }\r\n return \"\"\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n iconTemplate: getTemplate(props.iconTemplate)\r\n }),\r\n sourceType: this.sourceType,\r\n cssClass: this.cssClass,\r\n iconClassName: this.iconClassName,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nIcon.defaultProps = IconProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/ink_ripple.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"config\"];\r\nimport {\r\n createVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n initConfig,\r\n showWave,\r\n hideWave\r\n} from \"../../../ui/widget/utils.ink_ripple\";\r\nexport var viewFunction = model => normalizeProps(createVNode(1, \"div\", \"dx-inkripple\", null, 1, _extends({}, model.restAttributes)));\r\nexport var InkRippleProps = {\r\n config: Object.freeze({})\r\n};\r\nexport class InkRipple extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {};\r\n this.hideWave = this.hideWave.bind(this);\r\n this.showWave = this.showWave.bind(this)\r\n }\r\n get getConfig() {\r\n if (void 0 !== this.__getterCache.getConfig) {\r\n return this.__getterCache.getConfig\r\n }\r\n return this.__getterCache.getConfig = (() => {\r\n var {\r\n config: config\r\n } = this.props;\r\n return initConfig(config)\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n hideWave(opts) {\r\n hideWave(this.getConfig, opts)\r\n }\r\n showWave(opts) {\r\n showWave(this.getConfig, opts)\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.config !== nextProps.config) {\r\n this.__getterCache.getConfig = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n getConfig: this.getConfig,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nInkRipple.defaultProps = InkRippleProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/button.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"children\", \"className\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"icon\", \"iconPosition\", \"iconTemplate\", \"onClick\", \"onKeyDown\", \"onSubmit\", \"pressed\", \"rtlEnabled\", \"stylingMode\", \"tabIndex\", \"template\", \"templateData\", \"text\", \"type\", \"useInkRipple\", \"useSubmitBehavior\", \"visible\", \"width\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createDefaultOptionRules,\r\n convertRulesToOptions\r\n} from \"../../core/options/utils\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n isMaterial,\r\n current\r\n} from \"../../ui/themes\";\r\nimport {\r\n click\r\n} from \"../../events/short\";\r\nimport {\r\n combineClasses\r\n} from \"../utils/combine_classes\";\r\nimport {\r\n getImageSourceType\r\n} from \"../../core/utils/icon\";\r\nimport {\r\n camelize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n Icon\r\n} from \"./common/icon\";\r\nimport errors from \"../../core/errors\";\r\nimport {\r\n InkRipple\r\n} from \"./common/ink_ripple\";\r\nimport {\r\n Widget\r\n} from \"./common/widget\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"./common/base_props\";\r\nimport messageLocalization from \"../../localization/message\";\r\nvar stylingModes = [\"outlined\", \"text\", \"contained\"];\r\nvar getCssClasses = model => {\r\n var {\r\n icon: icon,\r\n iconPosition: iconPosition,\r\n stylingMode: stylingMode,\r\n text: text,\r\n type: type\r\n } = model;\r\n var isValidStylingMode = stylingMode && stylingModes.includes(stylingMode);\r\n var classesMap = {\r\n \"dx-button\": true,\r\n [\"dx-button-mode-\".concat(isValidStylingMode ? stylingMode : \"contained\")]: true,\r\n [\"dx-button-\".concat(null !== type && void 0 !== type ? type : \"normal\")]: true,\r\n \"dx-button-has-text\": !!text,\r\n \"dx-button-has-icon\": !!icon,\r\n \"dx-button-icon-right\": \"left\" !== iconPosition\r\n };\r\n return combineClasses(classesMap)\r\n};\r\nexport var viewFunction = viewModel => {\r\n var {\r\n children: children,\r\n iconPosition: iconPosition,\r\n iconTemplate: IconTemplate,\r\n template: ButtonTemplate,\r\n text: text\r\n } = viewModel.props;\r\n var renderText = !viewModel.props.template && !children && \"\" !== text;\r\n var isIconLeft = \"left\" === iconPosition;\r\n var iconComponent = !viewModel.props.template && !children && (viewModel.iconSource || viewModel.props.iconTemplate) && createComponentVNode(2, Icon, {\r\n source: viewModel.iconSource,\r\n position: iconPosition,\r\n iconTemplate: IconTemplate\r\n });\r\n return normalizeProps(createComponentVNode(2, Widget, _extends({\r\n accessKey: viewModel.props.accessKey,\r\n activeStateEnabled: viewModel.props.activeStateEnabled,\r\n aria: viewModel.aria,\r\n className: viewModel.props.className,\r\n classes: viewModel.cssClasses,\r\n disabled: viewModel.props.disabled,\r\n focusStateEnabled: viewModel.props.focusStateEnabled,\r\n height: viewModel.props.height,\r\n hint: viewModel.props.hint,\r\n hoverStateEnabled: viewModel.props.hoverStateEnabled,\r\n onActive: viewModel.onActive,\r\n onClick: viewModel.onWidgetClick,\r\n onInactive: viewModel.onInactive,\r\n onKeyDown: viewModel.keyDown,\r\n rtlEnabled: viewModel.props.rtlEnabled,\r\n tabIndex: viewModel.props.tabIndex,\r\n visible: viewModel.props.visible,\r\n width: viewModel.props.width\r\n }, viewModel.restAttributes, {\r\n children: createVNode(1, \"div\", \"dx-button-content\", [viewModel.props.template && ButtonTemplate({\r\n data: viewModel.buttonTemplateData\r\n }), !viewModel.props.template && children, isIconLeft && iconComponent, renderText && createVNode(1, \"span\", \"dx-button-text\", text, 0), !isIconLeft && iconComponent, viewModel.props.useSubmitBehavior && createVNode(64, \"input\", \"dx-button-submit-input\", null, 1, {\r\n type: \"submit\",\r\n tabIndex: -1\r\n }, null, viewModel.submitInputRef), viewModel.props.useInkRipple && createComponentVNode(2, InkRipple, {\r\n config: viewModel.inkRippleConfig\r\n }, null, viewModel.inkRippleRef)], 0, null, null, viewModel.contentRef)\r\n }), null, viewModel.widgetRef))\r\n};\r\nexport var ButtonProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n icon: \"\",\r\n iconPosition: \"left\",\r\n stylingMode: \"contained\",\r\n text: \"\",\r\n type: \"normal\",\r\n useInkRipple: false,\r\n useSubmitBehavior: false,\r\n templateData: Object.freeze({})\r\n})));\r\nexport var defaultOptionRules = createDefaultOptionRules([{\r\n device: () => \"desktop\" === devices.real().deviceType && !devices.isSimulator(),\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n}, {\r\n device: () => isMaterial(current()),\r\n options: {\r\n useInkRipple: true\r\n }\r\n}]);\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class Button extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.contentRef = infernoCreateRef();\r\n this.inkRippleRef = infernoCreateRef();\r\n this.submitInputRef = infernoCreateRef();\r\n this.widgetRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.focus = this.focus.bind(this);\r\n this.activate = this.activate.bind(this);\r\n this.deactivate = this.deactivate.bind(this);\r\n this.submitEffect = this.submitEffect.bind(this);\r\n this.checkDeprecation = this.checkDeprecation.bind(this);\r\n this.onActive = this.onActive.bind(this);\r\n this.onInactive = this.onInactive.bind(this);\r\n this.onWidgetClick = this.onWidgetClick.bind(this);\r\n this.keyDown = this.keyDown.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.submitEffect, [this.props.onSubmit, this.props.useSubmitBehavior]), new InfernoEffect(this.checkDeprecation, [this.props.type]), createReRenderEffect()]\r\n }\r\n updateEffects() {\r\n var _this$_effects$, _this$_effects$2;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.onSubmit, this.props.useSubmitBehavior]);\r\n null === (_this$_effects$2 = this._effects[1]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props.type])\r\n }\r\n submitEffect() {\r\n var {\r\n onSubmit: onSubmit,\r\n useSubmitBehavior: useSubmitBehavior\r\n } = this.props;\r\n if (useSubmitBehavior && onSubmit) {\r\n click.on(this.submitInputRef.current, event => onSubmit({\r\n event: event,\r\n submitInput: this.submitInputRef.current\r\n }), {\r\n namespace: \"UIFeedback\"\r\n });\r\n return () => click.off(this.submitInputRef.current, {\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n return\r\n }\r\n checkDeprecation() {\r\n var {\r\n type: type\r\n } = this.props;\r\n if (\"back\" === type) {\r\n errors.log(\"W0016\", \"type\", \"back\", \"22.2\", \"Use the 'back' icon instead\")\r\n }\r\n }\r\n onActive(event) {\r\n var {\r\n useInkRipple: useInkRipple\r\n } = this.props;\r\n useInkRipple && this.inkRippleRef.current.showWave({\r\n element: this.contentRef.current,\r\n event: event\r\n })\r\n }\r\n onInactive(event) {\r\n var {\r\n useInkRipple: useInkRipple\r\n } = this.props;\r\n useInkRipple && this.inkRippleRef.current.hideWave({\r\n element: this.contentRef.current,\r\n event: event\r\n })\r\n }\r\n onWidgetClick(event) {\r\n var {\r\n onClick: onClick,\r\n useSubmitBehavior: useSubmitBehavior\r\n } = this.props;\r\n null === onClick || void 0 === onClick ? void 0 : onClick({\r\n event: event\r\n });\r\n useSubmitBehavior && this.submitInputRef.current.click()\r\n }\r\n keyDown(e) {\r\n var {\r\n onKeyDown: onKeyDown\r\n } = this.props;\r\n var {\r\n keyName: keyName,\r\n originalEvent: originalEvent,\r\n which: which\r\n } = e;\r\n var result = null === onKeyDown || void 0 === onKeyDown ? void 0 : onKeyDown(e);\r\n if (null !== result && void 0 !== result && result.cancel) {\r\n return result\r\n }\r\n if (\"space\" === keyName || \"space\" === which || \"enter\" === keyName || \"enter\" === which) {\r\n originalEvent.preventDefault();\r\n this.onWidgetClick(originalEvent)\r\n }\r\n return\r\n }\r\n get aria() {\r\n var {\r\n icon: icon,\r\n text: text\r\n } = this.props;\r\n var label = (null !== text && void 0 !== text ? text : \"\") || messageLocalization.format(camelize(icon, true)) || icon;\r\n if (!text && icon && \"image\" === getImageSourceType(icon)) {\r\n label = !icon.includes(\"base64\") ? icon.replace(/.+\\/([^.]+)\\..+$/, \"$1\") : \"Base64\"\r\n }\r\n return _extends({\r\n role: \"button\"\r\n }, label ? {\r\n label: label\r\n } : {})\r\n }\r\n get cssClasses() {\r\n return getCssClasses(this.props)\r\n }\r\n get iconSource() {\r\n var {\r\n icon: icon,\r\n type: type\r\n } = this.props;\r\n if (icon || \"back\" === type) {\r\n return (null !== icon && void 0 !== icon ? icon : \"\") || \"back\"\r\n }\r\n return \"\"\r\n }\r\n get inkRippleConfig() {\r\n if (void 0 !== this.__getterCache.inkRippleConfig) {\r\n return this.__getterCache.inkRippleConfig\r\n }\r\n return this.__getterCache.inkRippleConfig = (() => {\r\n var {\r\n icon: icon,\r\n text: text,\r\n type: type\r\n } = this.props;\r\n return !text && icon || \"back\" === type ? {\r\n isCentered: true,\r\n useHoldAnimation: false,\r\n waveSizeCoefficient: 1\r\n } : {}\r\n })()\r\n }\r\n get buttonTemplateData() {\r\n var {\r\n icon: icon,\r\n templateData: templateData,\r\n text: text\r\n } = this.props;\r\n return _extends({\r\n icon: icon,\r\n text: text\r\n }, templateData)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n this.widgetRef.current.focus()\r\n }\r\n activate() {\r\n this.widgetRef.current.activate()\r\n }\r\n deactivate() {\r\n this.widgetRef.current.deactivate()\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.icon !== nextProps.icon || this.props.text !== nextProps.text || this.props.type !== nextProps.type) {\r\n this.__getterCache.inkRippleConfig = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n template: getTemplate(props.template),\r\n iconTemplate: getTemplate(props.iconTemplate)\r\n }),\r\n contentRef: this.contentRef,\r\n submitInputRef: this.submitInputRef,\r\n inkRippleRef: this.inkRippleRef,\r\n widgetRef: this.widgetRef,\r\n onActive: this.onActive,\r\n onInactive: this.onInactive,\r\n onWidgetClick: this.onWidgetClick,\r\n keyDown: this.keyDown,\r\n aria: this.aria,\r\n cssClasses: this.cssClasses,\r\n iconSource: this.iconSource,\r\n inkRippleConfig: this.inkRippleConfig,\r\n buttonTemplateData: this.buttonTemplateData,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nButton.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(ButtonProps), Object.getOwnPropertyDescriptors(_extends({}, convertRulesToOptions(defaultOptionRules)))));\r\nvar __defaultOptionRules = [];\r\nexport function defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n Button.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(Button.defaultProps), Object.getOwnPropertyDescriptors(convertRulesToOptions(defaultOptionRules)), Object.getOwnPropertyDescriptors(convertRulesToOptions(__defaultOptionRules))))\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/button.j.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport BaseComponent from \"../component_wrapper/button\";\r\nimport {\r\n Button as ButtonComponent,\r\n defaultOptions\r\n} from \"./button\";\r\nexport default class Button extends BaseComponent {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);\r\n return props\r\n }\r\n focus() {\r\n var _this$viewRef;\r\n return null === (_this$viewRef = this.viewRef) || void 0 === _this$viewRef ? void 0 : _this$viewRef.focus(...arguments)\r\n }\r\n activate() {\r\n var _this$viewRef2;\r\n return null === (_this$viewRef2 = this.viewRef) || void 0 === _this$viewRef2 ? void 0 : _this$viewRef2.activate(...arguments)\r\n }\r\n deactivate() {\r\n var _this$viewRef3;\r\n return null === (_this$viewRef3 = this.viewRef) || void 0 === _this$viewRef3 ? void 0 : _this$viewRef3.deactivate(...arguments)\r\n }\r\n _getActionConfigs() {\r\n return {\r\n onClick: {\r\n excludeValidators: [\"readOnly\"]\r\n },\r\n onSubmit: {}\r\n }\r\n }\r\n get _propsInfo() {\r\n return {\r\n twoWay: [],\r\n allowNull: [],\r\n elements: [\"onSubmit\"],\r\n templates: [\"template\", \"iconTemplate\"],\r\n props: [\"activeStateEnabled\", \"hoverStateEnabled\", \"icon\", \"iconPosition\", \"onClick\", \"onSubmit\", \"pressed\", \"stylingMode\", \"template\", \"iconTemplate\", \"text\", \"type\", \"useInkRipple\", \"useSubmitBehavior\", \"templateData\", \"className\", \"accessKey\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"onKeyDown\", \"rtlEnabled\", \"tabIndex\", \"visible\", \"width\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return ButtonComponent\r\n }\r\n}\r\nregisterComponent(\"dxButton\", Button);\r\nButton.defaultOptions = defaultOptions;\r\n","/**\r\n * DevExtreme (esm/ui/button.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Widget from \"../renovation/ui/button.j\";\r\nexport default Widget;\r\n","/**\r\n * DevExtreme (esm/ui/collection/item.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n attachInstanceToElement,\r\n getInstanceByElement\r\n} from \"../../core/utils/public_component\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar ITEM_CONTENT_PLACEHOLDER_CLASS = \"dx-item-content-placeholder\";\r\nvar forcibleWatcher = function(watchMethod, fn, callback) {\r\n var filteredCallback = function(value) {\r\n if (oldValue !== value) {\r\n callback(value, oldValue);\r\n oldValue = value\r\n }\r\n };\r\n var oldValue;\r\n return {\r\n dispose: watchMethod(fn, filteredCallback),\r\n force: function() {\r\n filteredCallback(fn())\r\n }\r\n }\r\n};\r\nvar CollectionItem = Class.inherit({\r\n ctor: function($element, options, rawData) {\r\n this._$element = $element;\r\n this._options = options;\r\n this._rawData = rawData;\r\n attachInstanceToElement($element, this, this._dispose);\r\n this._render()\r\n },\r\n _render: function() {\r\n var $placeholder = $(\"
\").addClass(ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n this._$element.append($placeholder);\r\n this._watchers = [];\r\n this._renderWatchers()\r\n },\r\n _renderWatchers: function() {\r\n this._startWatcher(\"disabled\", this._renderDisabled.bind(this));\r\n this._startWatcher(\"visible\", this._renderVisible.bind(this))\r\n },\r\n _startWatcher: function(field, render) {\r\n var rawData = this._rawData;\r\n var exprGetter = this._options.fieldGetter(field);\r\n var watcher = forcibleWatcher(this._options.watchMethod(), (function() {\r\n return exprGetter(rawData)\r\n }), function(value, oldValue) {\r\n this._dirty = true;\r\n render(value, oldValue)\r\n }.bind(this));\r\n this._watchers.push(watcher)\r\n },\r\n setDataField: function() {\r\n this._dirty = false;\r\n each(this._watchers, (function(_, watcher) {\r\n watcher.force()\r\n }));\r\n if (this._dirty) {\r\n return true\r\n }\r\n },\r\n _renderDisabled: function(value, oldValue) {\r\n this._$element.toggleClass(DISABLED_STATE_CLASS, !!value);\r\n this._updateOwnerFocus(value)\r\n },\r\n _updateOwnerFocus: function(isDisabled) {\r\n var ownerComponent = this._options.owner;\r\n if (ownerComponent && isDisabled) {\r\n ownerComponent._resetItemFocus(this._$element)\r\n }\r\n },\r\n _renderVisible: function(value, oldValue) {\r\n this._$element.toggleClass(INVISIBLE_STATE_CLASS, void 0 !== value && !value)\r\n },\r\n _dispose: function() {\r\n each(this._watchers, (function(_, watcher) {\r\n watcher.dispose()\r\n }))\r\n }\r\n});\r\nCollectionItem.getInstance = function($element) {\r\n return getInstanceByElement($element, this)\r\n};\r\nexport default CollectionItem;\r\n","/**\r\n * DevExtreme (esm/events/hold.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n eventData,\r\n eventDelta\r\n} from \"./utils/index\";\r\nimport Emitter from \"./core/emitter\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar abs = Math.abs;\r\nvar HOLD_EVENT_NAME = \"dxhold\";\r\nvar HOLD_TIMEOUT = 750;\r\nvar TOUCH_BOUNDARY = 5;\r\nvar HoldEmitter = Emitter.inherit({\r\n start: function(e) {\r\n this._startEventData = eventData(e);\r\n this._startTimer(e)\r\n },\r\n _startTimer: function(e) {\r\n var holdTimeout = \"timeout\" in this ? this.timeout : HOLD_TIMEOUT;\r\n this._holdTimer = setTimeout(function() {\r\n this._requestAccept(e);\r\n this._fireEvent(HOLD_EVENT_NAME, e, {\r\n target: e.target\r\n });\r\n this._forgetAccept()\r\n }.bind(this), holdTimeout)\r\n },\r\n move: function(e) {\r\n if (this._touchWasMoved(e)) {\r\n this._cancel(e)\r\n }\r\n },\r\n _touchWasMoved: function(e) {\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n return abs(delta.x) > TOUCH_BOUNDARY || abs(delta.y) > TOUCH_BOUNDARY\r\n },\r\n end: function() {\r\n this._stopTimer()\r\n },\r\n _stopTimer: function() {\r\n clearTimeout(this._holdTimer)\r\n },\r\n cancel: function() {\r\n this._stopTimer()\r\n },\r\n dispose: function() {\r\n this._stopTimer()\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: HoldEmitter,\r\n bubble: true,\r\n events: [HOLD_EVENT_NAME]\r\n});\r\nexport default {\r\n name: HOLD_EVENT_NAME\r\n};\r\n","/**\r\n * DevExtreme (esm/events/contextmenu.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n touch\r\n} from \"../core/utils/support\";\r\nimport devices from \"../core/devices\";\r\nimport Class from \"../core/class\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n addNamespace,\r\n fireEvent,\r\n isMouseEvent\r\n} from \"./utils/index\";\r\nimport holdEvent from \"./hold\";\r\nvar CONTEXTMENU_NAMESPACE = \"dxContexMenu\";\r\nvar CONTEXTMENU_NAMESPACED_EVENT_NAME = addNamespace(\"contextmenu\", CONTEXTMENU_NAMESPACE);\r\nvar HOLD_NAMESPACED_EVENT_NAME = addNamespace(holdEvent.name, CONTEXTMENU_NAMESPACE);\r\nvar CONTEXTMENU_EVENT_NAME = \"dxcontextmenu\";\r\nvar ContextMenu = Class.inherit({\r\n setup: function(element) {\r\n var $element = $(element);\r\n eventsEngine.on($element, CONTEXTMENU_NAMESPACED_EVENT_NAME, this._contextMenuHandler.bind(this));\r\n if (touch || devices.isSimulator()) {\r\n eventsEngine.on($element, HOLD_NAMESPACED_EVENT_NAME, this._holdHandler.bind(this))\r\n }\r\n },\r\n _holdHandler: function(e) {\r\n if (isMouseEvent(e) && !devices.isSimulator()) {\r\n return\r\n }\r\n this._fireContextMenu(e)\r\n },\r\n _contextMenuHandler: function(e) {\r\n this._fireContextMenu(e)\r\n },\r\n _fireContextMenu: function(e) {\r\n return fireEvent({\r\n type: CONTEXTMENU_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n },\r\n teardown: function(element) {\r\n eventsEngine.off(element, \".\" + CONTEXTMENU_NAMESPACE)\r\n }\r\n});\r\nregisterEvent(CONTEXTMENU_EVENT_NAME, new ContextMenu);\r\nexport var name = CONTEXTMENU_EVENT_NAME;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.base.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n ensureDefined,\r\n deferRenderer,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n findTemplates\r\n} from \"../../core/utils/template_manager\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isPlainObject,\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport Action from \"../../core/action\";\r\nimport Guid from \"../../core/guid\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nimport CollectionWidgetItem from \"./item\";\r\nimport {\r\n focusable\r\n} from \"../widget/selectors\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport holdEvent from \"../../events/hold\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n name as contextMenuEventName\r\n} from \"../../events/contextmenu\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nvar COLLECTION_CLASS = \"dx-collection\";\r\nvar ITEM_CLASS = \"dx-item\";\r\nvar CONTENT_CLASS_POSTFIX = \"-content\";\r\nvar ITEM_CONTENT_PLACEHOLDER_CLASS = \"dx-item-content-placeholder\";\r\nvar ITEM_DATA_KEY = \"dxItemData\";\r\nvar ITEM_INDEX_KEY = \"dxItemIndex\";\r\nvar ITEM_TEMPLATE_ID_PREFIX = \"tmpl-\";\r\nvar ITEMS_OPTIONS_NAME = \"dxItem\";\r\nvar SELECTED_ITEM_CLASS = \"dx-item-selected\";\r\nvar ITEM_RESPONSE_WAIT_CLASS = \"dx-item-response-wait\";\r\nvar EMPTY_COLLECTION = \"dx-empty-collection\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar ITEM_PATH_REGEX = /^([^.]+\\[\\d+\\]\\.)+([\\w.]+)$/;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"item\";\r\nvar FOCUS_UP = \"up\";\r\nvar FOCUS_DOWN = \"down\";\r\nvar FOCUS_LEFT = \"left\";\r\nvar FOCUS_RIGHT = \"right\";\r\nvar FOCUS_PAGE_UP = \"pageup\";\r\nvar FOCUS_PAGE_DOWN = \"pagedown\";\r\nvar FOCUS_LAST = \"last\";\r\nvar FOCUS_FIRST = \"first\";\r\nvar CollectionWidget = Widget.inherit({\r\n _activeStateUnit: \".\" + ITEM_CLASS,\r\n _supportedKeys: function() {\r\n var enter = function(e) {\r\n var $itemElement = $(this.option(\"focusedElement\"));\r\n if (!$itemElement.length) {\r\n return\r\n }\r\n this._itemClickHandler(extend({}, e, {\r\n target: $itemElement.get(0),\r\n currentTarget: $itemElement.get(0)\r\n }))\r\n };\r\n var move = function(location, e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._moveFocus(location, e)\r\n }\r\n };\r\n return extend(this.callBase(), {\r\n space: function(e) {\r\n e.preventDefault();\r\n enter.call(this, e)\r\n },\r\n enter: enter,\r\n leftArrow: move.bind(this, FOCUS_LEFT),\r\n rightArrow: move.bind(this, FOCUS_RIGHT),\r\n upArrow: move.bind(this, FOCUS_UP),\r\n downArrow: move.bind(this, FOCUS_DOWN),\r\n pageUp: move.bind(this, FOCUS_UP),\r\n pageDown: move.bind(this, FOCUS_DOWN),\r\n home: move.bind(this, FOCUS_FIRST),\r\n end: move.bind(this, FOCUS_LAST)\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n selectOnFocus: false,\r\n loopItemFocus: true,\r\n items: [],\r\n itemTemplate: \"item\",\r\n onItemRendered: null,\r\n onItemClick: null,\r\n onItemHold: null,\r\n itemHoldTimeout: 750,\r\n onItemContextMenu: null,\r\n onFocusedItemChanged: null,\r\n noDataText: messageLocalization.format(\"dxCollectionWidget-noDataText\"),\r\n encodeNoDataText: false,\r\n dataSource: null,\r\n _dataController: null,\r\n _itemAttributes: {},\r\n itemTemplateProperty: \"template\",\r\n focusOnSelectedItem: true,\r\n focusedElement: null,\r\n displayExpr: void 0,\r\n disabledExpr: function(data) {\r\n return data ? data.disabled : void 0\r\n },\r\n visibleExpr: function(data) {\r\n return data ? data.visible : void 0\r\n }\r\n })\r\n },\r\n _init: function() {\r\n this._compileDisplayGetter();\r\n this._initDataController();\r\n this.callBase();\r\n this._cleanRenderedItems();\r\n this._refreshDataSource()\r\n },\r\n _compileDisplayGetter: function() {\r\n var displayExpr = this.option(\"displayExpr\");\r\n this._displayGetter = displayExpr ? compileGetter(this.option(\"displayExpr\")) : void 0\r\n },\r\n _initTemplates: function() {\r\n this._initItemsFromMarkup();\r\n this._initDefaultItemTemplate();\r\n this.callBase()\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initDefaultItemTemplate: function() {\r\n var fieldsMap = this._getFieldsMap();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(function($container, data) {\r\n if (isPlainObject(data)) {\r\n this._prepareDefaultItemTemplate(data, $container)\r\n } else {\r\n if (fieldsMap && isFunction(fieldsMap.text)) {\r\n data = fieldsMap.text(data)\r\n }\r\n $container.text(String(ensureDefined(data, \"\")))\r\n }\r\n }.bind(this), this._getBindableFields(), this.option(\"integrationOptions.watchMethod\"), fieldsMap)\r\n })\r\n },\r\n _getBindableFields: function() {\r\n return [\"text\", \"html\"]\r\n },\r\n _getFieldsMap: function() {\r\n if (this._displayGetter) {\r\n return {\r\n text: this._displayGetter\r\n }\r\n }\r\n },\r\n _prepareDefaultItemTemplate: function(data, $container) {\r\n if (isDefined(data.text)) {\r\n $container.text(data.text)\r\n }\r\n if (isDefined(data.html)) {\r\n $container.html(data.html)\r\n }\r\n },\r\n _initItemsFromMarkup: function() {\r\n var rawItems = findTemplates(this.$element(), ITEMS_OPTIONS_NAME);\r\n if (!rawItems.length || this.option(\"items\").length) {\r\n return\r\n }\r\n var items = rawItems.map(_ref => {\r\n var {\r\n element: element,\r\n options: options\r\n } = _ref;\r\n var isTemplateRequired = /\\S/.test(element.innerHTML) && !options.template;\r\n if (isTemplateRequired) {\r\n options.template = this._prepareItemTemplate(element)\r\n } else {\r\n $(element).remove()\r\n }\r\n return options\r\n });\r\n this.option(\"items\", items)\r\n },\r\n _prepareItemTemplate: function(item) {\r\n var templateId = ITEM_TEMPLATE_ID_PREFIX + new Guid;\r\n var $template = $(item).detach().clone().removeAttr(\"data-options\").addClass(TEMPLATE_WRAPPER_CLASS);\r\n this._saveTemplate(templateId, $template);\r\n return templateId\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _cleanRenderedItems: function() {\r\n this._renderedItemsCount = 0\r\n },\r\n _focusTarget: function() {\r\n return this.$element()\r\n },\r\n _focusInHandler: function(e) {\r\n this.callBase.apply(this, arguments);\r\n if (!this._isFocusTarget(e.target)) {\r\n return\r\n }\r\n var $focusedElement = $(this.option(\"focusedElement\"));\r\n if ($focusedElement.length) {\r\n this._setFocusedItem($focusedElement)\r\n } else {\r\n var $activeItem = this._getActiveItem();\r\n if ($activeItem.length) {\r\n this.option(\"focusedElement\", getPublicElement($activeItem))\r\n }\r\n }\r\n },\r\n _focusOutHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n var $target = $(this.option(\"focusedElement\"));\r\n this._updateFocusedItemState($target, false)\r\n },\r\n _getActiveItem: function(last) {\r\n var $focusedElement = $(this.option(\"focusedElement\"));\r\n if ($focusedElement.length) {\r\n return $focusedElement\r\n }\r\n var index = this.option(\"focusOnSelectedItem\") ? this.option(\"selectedIndex\") : 0;\r\n var activeElements = this._getActiveElement();\r\n var lastIndex = activeElements.length - 1;\r\n if (index < 0) {\r\n index = last ? lastIndex : 0\r\n }\r\n return activeElements.eq(index)\r\n },\r\n _moveFocus: function(location) {\r\n var $items = this._getAvailableItems();\r\n var $newTarget;\r\n switch (location) {\r\n case FOCUS_PAGE_UP:\r\n case FOCUS_UP:\r\n $newTarget = this._prevItem($items);\r\n break;\r\n case FOCUS_PAGE_DOWN:\r\n case FOCUS_DOWN:\r\n $newTarget = this._nextItem($items);\r\n break;\r\n case FOCUS_RIGHT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._prevItem($items) : this._nextItem($items);\r\n break;\r\n case FOCUS_LEFT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._nextItem($items) : this._prevItem($items);\r\n break;\r\n case FOCUS_FIRST:\r\n $newTarget = $items.first();\r\n break;\r\n case FOCUS_LAST:\r\n $newTarget = $items.last();\r\n break;\r\n default:\r\n return false\r\n }\r\n if (0 !== $newTarget.length) {\r\n this.option(\"focusedElement\", getPublicElement($newTarget))\r\n }\r\n },\r\n _getVisibleItems: function($itemElements) {\r\n $itemElements = $itemElements || this._itemElements();\r\n return $itemElements.filter(\":visible\")\r\n },\r\n _getAvailableItems: function($itemElements) {\r\n return this._getVisibleItems($itemElements).not(\".dx-state-disabled\")\r\n },\r\n _prevItem: function($items) {\r\n var $target = this._getActiveItem();\r\n var targetIndex = $items.index($target);\r\n var $last = $items.last();\r\n var $item = $($items[targetIndex - 1]);\r\n var loop = this.option(\"loopItemFocus\");\r\n if (0 === $item.length && loop) {\r\n $item = $last\r\n }\r\n return $item\r\n },\r\n _nextItem: function($items) {\r\n var $target = this._getActiveItem(true);\r\n var targetIndex = $items.index($target);\r\n var $first = $items.first();\r\n var $item = $($items[targetIndex + 1]);\r\n var loop = this.option(\"loopItemFocus\");\r\n if (0 === $item.length && loop) {\r\n $item = $first\r\n }\r\n return $item\r\n },\r\n _selectFocusedItem: function($target) {\r\n this.selectItem($target)\r\n },\r\n _updateFocusedItemState: function(target, isFocused, needCleanItemId) {\r\n var $target = $(target);\r\n if ($target.length) {\r\n this._refreshActiveDescendant();\r\n this._refreshItemId($target, needCleanItemId);\r\n this._toggleFocusClass(isFocused, $target)\r\n }\r\n this._updateParentActiveDescendant()\r\n },\r\n _refreshActiveDescendant: function($target) {\r\n this.setAria(\"activedescendant\", isDefined(this.option(\"focusedElement\")) ? this.getFocusedItemId() : null, $target)\r\n },\r\n _refreshItemId: function($target, needCleanItemId) {\r\n if (!needCleanItemId && this.option(\"focusedElement\")) {\r\n this.setAria(\"id\", this.getFocusedItemId(), $target)\r\n } else {\r\n this.setAria(\"id\", null, $target)\r\n }\r\n },\r\n _setFocusedItem: function($target) {\r\n if (!$target || !$target.length) {\r\n return\r\n }\r\n this._updateFocusedItemState($target, true);\r\n this.onFocusedItemChanged(this.getFocusedItemId());\r\n if (this.option(\"selectOnFocus\")) {\r\n this._selectFocusedItem($target)\r\n }\r\n },\r\n _findItemElementByItem: function(item) {\r\n var result = $();\r\n var that = this;\r\n this.itemElements().each((function() {\r\n var $item = $(this);\r\n if ($item.data(that._itemDataKey()) === item) {\r\n result = $item;\r\n return false\r\n }\r\n }));\r\n return result\r\n },\r\n _getIndexByItem: function(item) {\r\n return this.option(\"items\").indexOf(item)\r\n },\r\n _itemOptionChanged: function(item, property, value, oldValue) {\r\n var $item = this._findItemElementByItem(item);\r\n if (!$item.length) {\r\n return\r\n }\r\n if (!this.constructor.ItemClass.getInstance($item).setDataField(property, value)) {\r\n this._refreshItem($item, item)\r\n }\r\n var isDisabling = \"disabled\" === property && value;\r\n if (isDisabling) {\r\n this._resetItemFocus($item)\r\n }\r\n },\r\n _resetItemFocus($item) {\r\n if ($item.is(this.option(\"focusedElement\"))) {\r\n this.option(\"focusedElement\", null)\r\n }\r\n },\r\n _refreshItem: function($item) {\r\n var itemData = this._getItemData($item);\r\n var index = $item.data(this._itemIndexKey());\r\n this._renderItem(this._renderedItemsCount + index, itemData, null, $item)\r\n },\r\n _updateParentActiveDescendant: noop,\r\n _optionChanged: function(args) {\r\n if (\"items\" === args.name) {\r\n var matches = args.fullName.match(ITEM_PATH_REGEX);\r\n if (matches && matches.length) {\r\n var property = matches[matches.length - 1];\r\n var itemPath = args.fullName.replace(\".\" + property, \"\");\r\n var item = this.option(itemPath);\r\n this._itemOptionChanged(item, property, args.value, args.previousValue);\r\n return\r\n }\r\n }\r\n switch (args.name) {\r\n case \"items\":\r\n case \"_itemAttributes\":\r\n case \"itemTemplateProperty\":\r\n case \"useItemTextAsTitle\":\r\n this._cleanRenderedItems();\r\n this._invalidate();\r\n break;\r\n case \"dataSource\":\r\n this._refreshDataSource();\r\n this._renderEmptyMessage();\r\n break;\r\n case \"noDataText\":\r\n case \"encodeNoDataText\":\r\n this._renderEmptyMessage();\r\n break;\r\n case \"itemTemplate\":\r\n this._invalidate();\r\n break;\r\n case \"onItemRendered\":\r\n this._createItemRenderAction();\r\n break;\r\n case \"onItemClick\":\r\n break;\r\n case \"onItemHold\":\r\n case \"itemHoldTimeout\":\r\n this._attachHoldEvent();\r\n break;\r\n case \"onItemContextMenu\":\r\n this._attachContextMenuEvent();\r\n break;\r\n case \"onFocusedItemChanged\":\r\n this.onFocusedItemChanged = this._createActionByOption(\"onFocusedItemChanged\");\r\n break;\r\n case \"selectOnFocus\":\r\n case \"loopItemFocus\":\r\n case \"focusOnSelectedItem\":\r\n break;\r\n case \"focusedElement\":\r\n this._updateFocusedItemState(args.previousValue, false, true);\r\n this._setFocusedItem($(args.value));\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._initDefaultItemTemplate();\r\n this._invalidate();\r\n break;\r\n case \"visibleExpr\":\r\n case \"disabledExpr\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _invalidate: function() {\r\n this.option(\"focusedElement\", null);\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _loadNextPage: function() {\r\n this._expectNextPageLoading();\r\n return this._dataController.loadNextPage()\r\n },\r\n _expectNextPageLoading: function() {\r\n this._startIndexForAppendedItems = 0\r\n },\r\n _expectLastItemLoading: function() {\r\n this._startIndexForAppendedItems = -1\r\n },\r\n _forgetNextPageLoading: function() {\r\n this._startIndexForAppendedItems = null\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n var items = this.option(\"items\");\r\n if (this._initialized && items && this._shouldAppendItems()) {\r\n this._renderedItemsCount = items.length;\r\n if (!this._isLastPage() || -1 !== this._startIndexForAppendedItems) {\r\n this.option().items = items.concat(newItems.slice(this._startIndexForAppendedItems))\r\n }\r\n this._forgetNextPageLoading();\r\n this._refreshContent()\r\n } else {\r\n this.option(\"items\", newItems.slice())\r\n }\r\n },\r\n _refreshContent: function() {\r\n this._prepareContent();\r\n this._renderContent()\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._forgetNextPageLoading();\r\n this.option(\"items\", this.option(\"items\"))\r\n },\r\n _shouldAppendItems: function() {\r\n return null != this._startIndexForAppendedItems && this._allowDynamicItemsAppend()\r\n },\r\n _allowDynamicItemsAppend: function() {\r\n return false\r\n },\r\n _clean: function() {\r\n this._cleanFocusState();\r\n this._cleanItemContainer();\r\n this._inkRipple && delete this._inkRipple;\r\n this._resetActiveState()\r\n },\r\n _cleanItemContainer: function() {\r\n $(this._itemContainer()).empty()\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n clearTimeout(this._itemFocusTimeout)\r\n },\r\n _refresh: function() {\r\n this._cleanRenderedItems();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _itemContainer: function() {\r\n return this.$element()\r\n },\r\n _itemClass: function() {\r\n return ITEM_CLASS\r\n },\r\n _itemContentClass: function() {\r\n return this._itemClass() + CONTENT_CLASS_POSTFIX\r\n },\r\n _selectedItemClass: function() {\r\n return SELECTED_ITEM_CLASS\r\n },\r\n _itemResponseWaitClass: function() {\r\n return ITEM_RESPONSE_WAIT_CLASS\r\n },\r\n _itemSelector: function() {\r\n return \".\" + this._itemClass()\r\n },\r\n _itemDataKey: function() {\r\n return ITEM_DATA_KEY\r\n },\r\n _itemIndexKey: function() {\r\n return ITEM_INDEX_KEY\r\n },\r\n _itemElements: function() {\r\n return this._itemContainer().find(this._itemSelector())\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.onFocusedItemChanged = this._createActionByOption(\"onFocusedItemChanged\");\r\n this.$element().addClass(COLLECTION_CLASS);\r\n this._prepareContent()\r\n },\r\n _prepareContent: deferRenderer((function() {\r\n this._renderContentImpl()\r\n })),\r\n _renderContent: function() {\r\n this._fireContentReadyAction()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._attachClickEvent();\r\n this._attachHoldEvent();\r\n this._attachContextMenuEvent()\r\n },\r\n _attachClickEvent: function() {\r\n var itemSelector = this._itemSelector();\r\n var clickEventNamespace = addNamespace(clickEventName, this.NAME);\r\n var pointerDownEventNamespace = addNamespace(pointerEvents.down, this.NAME);\r\n var that = this;\r\n var pointerDownAction = new Action((function(args) {\r\n var event = args.event;\r\n that._itemPointerDownHandler(event)\r\n }));\r\n eventsEngine.off(this._itemContainer(), clickEventNamespace, itemSelector);\r\n eventsEngine.off(this._itemContainer(), pointerDownEventNamespace, itemSelector);\r\n eventsEngine.on(this._itemContainer(), clickEventNamespace, itemSelector, function(e) {\r\n this._itemClickHandler(e)\r\n }.bind(this));\r\n eventsEngine.on(this._itemContainer(), pointerDownEventNamespace, itemSelector, (function(e) {\r\n pointerDownAction.execute({\r\n element: $(e.target),\r\n event: e\r\n })\r\n }))\r\n },\r\n _itemClickHandler: function(e, args, config) {\r\n this._itemDXEventHandler(e, \"onItemClick\", args, config)\r\n },\r\n _itemPointerDownHandler: function(e) {\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n this._itemFocusHandler = function() {\r\n clearTimeout(this._itemFocusTimeout);\r\n this._itemFocusHandler = null;\r\n if (e.isDefaultPrevented()) {\r\n return\r\n }\r\n var $target = $(e.target);\r\n var $closestItem = $target.closest(this._itemElements());\r\n var $closestFocusable = this._closestFocusable($target);\r\n if ($closestItem.length && this._isFocusTarget(null === $closestFocusable || void 0 === $closestFocusable ? void 0 : $closestFocusable.get(0))) {\r\n this.option(\"focusedElement\", getPublicElement($closestItem))\r\n }\r\n }.bind(this);\r\n this._itemFocusTimeout = setTimeout(this._forcePointerDownFocus.bind(this))\r\n },\r\n _closestFocusable: function($target) {\r\n if ($target.is(focusable)) {\r\n return $target\r\n } else {\r\n $target = $target.parent();\r\n while ($target.length && !domAdapter.isDocument($target.get(0)) && !domAdapter.isDocumentFragment($target.get(0))) {\r\n if ($target.is(focusable)) {\r\n return $target\r\n }\r\n $target = $target.parent()\r\n }\r\n }\r\n },\r\n _forcePointerDownFocus: function() {\r\n this._itemFocusHandler && this._itemFocusHandler()\r\n },\r\n _updateFocusState: function() {\r\n this.callBase.apply(this, arguments);\r\n this._forcePointerDownFocus()\r\n },\r\n _attachHoldEvent: function() {\r\n var $itemContainer = this._itemContainer();\r\n var itemSelector = this._itemSelector();\r\n var eventName = addNamespace(holdEvent.name, this.NAME);\r\n eventsEngine.off($itemContainer, eventName, itemSelector);\r\n eventsEngine.on($itemContainer, eventName, itemSelector, {\r\n timeout: this._getHoldTimeout()\r\n }, this._itemHoldHandler.bind(this))\r\n },\r\n _getHoldTimeout: function() {\r\n return this.option(\"itemHoldTimeout\")\r\n },\r\n _shouldFireHoldEvent: function() {\r\n return this.hasActionSubscription(\"onItemHold\")\r\n },\r\n _itemHoldHandler: function(e) {\r\n if (this._shouldFireHoldEvent()) {\r\n this._itemDXEventHandler(e, \"onItemHold\")\r\n } else {\r\n e.cancel = true\r\n }\r\n },\r\n _attachContextMenuEvent: function() {\r\n var $itemContainer = this._itemContainer();\r\n var itemSelector = this._itemSelector();\r\n var eventName = addNamespace(contextMenuEventName, this.NAME);\r\n eventsEngine.off($itemContainer, eventName, itemSelector);\r\n eventsEngine.on($itemContainer, eventName, itemSelector, this._itemContextMenuHandler.bind(this))\r\n },\r\n _shouldFireContextMenuEvent: function() {\r\n return this.hasActionSubscription(\"onItemContextMenu\")\r\n },\r\n _itemContextMenuHandler: function(e) {\r\n if (this._shouldFireContextMenuEvent()) {\r\n this._itemDXEventHandler(e, \"onItemContextMenu\")\r\n } else {\r\n e.cancel = true\r\n }\r\n },\r\n _renderContentImpl: function() {\r\n var items = this.option(\"items\") || [];\r\n if (this._renderedItemsCount) {\r\n this._renderItems(items.slice(this._renderedItemsCount))\r\n } else {\r\n this._renderItems(items)\r\n }\r\n },\r\n _renderItems: function(items) {\r\n if (items.length) {\r\n each(items, function(index, itemData) {\r\n this._renderItem(this._renderedItemsCount + index, itemData)\r\n }.bind(this))\r\n }\r\n this._renderEmptyMessage()\r\n },\r\n _renderItem: function(index, itemData, $container, $itemToReplace) {\r\n var _index$item;\r\n var itemIndex = null !== (_index$item = null === index || void 0 === index ? void 0 : index.item) && void 0 !== _index$item ? _index$item : index;\r\n $container = $container || this._itemContainer();\r\n var $itemFrame = this._renderItemFrame(itemIndex, itemData, $container, $itemToReplace);\r\n this._setElementData($itemFrame, itemData, itemIndex);\r\n $itemFrame.attr(this.option(\"_itemAttributes\"));\r\n this._attachItemClickEvent(itemData, $itemFrame);\r\n var $itemContent = this._getItemContent($itemFrame);\r\n var renderContentPromise = this._renderItemContent({\r\n index: itemIndex,\r\n itemData: itemData,\r\n container: getPublicElement($itemContent),\r\n contentClass: this._itemContentClass(),\r\n defaultTemplateName: this.option(\"itemTemplate\")\r\n });\r\n var that = this;\r\n when(renderContentPromise).done((function($itemContent) {\r\n that._postprocessRenderItem({\r\n itemElement: $itemFrame,\r\n itemContent: $itemContent,\r\n itemData: itemData,\r\n itemIndex: itemIndex\r\n });\r\n that._executeItemRenderAction(index, itemData, getPublicElement($itemFrame))\r\n }));\r\n return $itemFrame\r\n },\r\n _getItemContent: function($itemFrame) {\r\n var $itemContent = $itemFrame.find(\".\" + ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n $itemContent.removeClass(ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n return $itemContent\r\n },\r\n _attachItemClickEvent: function(itemData, $itemElement) {\r\n if (!itemData || !itemData.onClick) {\r\n return\r\n }\r\n eventsEngine.on($itemElement, clickEventName, function(e) {\r\n this._itemEventHandlerByHandler($itemElement, itemData.onClick, {\r\n event: e\r\n })\r\n }.bind(this))\r\n },\r\n _renderItemContent: function(args) {\r\n var itemTemplateName = this._getItemTemplateName(args);\r\n var itemTemplate = this._getTemplate(itemTemplateName);\r\n this._addItemContentClasses(args);\r\n var $templateResult = $(this._createItemByTemplate(itemTemplate, args));\r\n if (!$templateResult.hasClass(TEMPLATE_WRAPPER_CLASS)) {\r\n return args.container\r\n }\r\n return this._renderItemContentByNode(args, $templateResult)\r\n },\r\n _renderItemContentByNode: function(args, $node) {\r\n $(args.container).replaceWith($node);\r\n args.container = getPublicElement($node);\r\n this._addItemContentClasses(args);\r\n return $node\r\n },\r\n _addItemContentClasses: function(args) {\r\n var classes = [ITEM_CLASS + CONTENT_CLASS_POSTFIX, args.contentClass];\r\n $(args.container).addClass(classes.join(\" \"))\r\n },\r\n _appendItemToContainer: function($container, $itemFrame, index) {\r\n $itemFrame.appendTo($container)\r\n },\r\n _renderItemFrame: function(index, itemData, $container, $itemToReplace) {\r\n var $itemFrame = $(\"
\");\r\n new this.constructor.ItemClass($itemFrame, this._itemOptions(), itemData || {});\r\n if ($itemToReplace && $itemToReplace.length) {\r\n $itemToReplace.replaceWith($itemFrame)\r\n } else {\r\n this._appendItemToContainer.call(this, $container, $itemFrame, index)\r\n }\r\n if (this.option(\"useItemTextAsTitle\")) {\r\n var displayValue = this._displayGetter ? this._displayGetter(itemData) : itemData;\r\n $itemFrame.attr(\"title\", displayValue)\r\n }\r\n return $itemFrame\r\n },\r\n _itemOptions: function() {\r\n var that = this;\r\n return {\r\n watchMethod: function() {\r\n return that.option(\"integrationOptions.watchMethod\")\r\n },\r\n owner: that,\r\n fieldGetter: function(field) {\r\n var expr = that.option(field + \"Expr\");\r\n var getter = compileGetter(expr);\r\n return getter\r\n }\r\n }\r\n },\r\n _postprocessRenderItem: noop,\r\n _executeItemRenderAction: function(index, itemData, itemElement) {\r\n this._getItemRenderAction()({\r\n itemElement: itemElement,\r\n itemIndex: index,\r\n itemData: itemData\r\n })\r\n },\r\n _setElementData: function(element, data, index) {\r\n element.addClass([ITEM_CLASS, this._itemClass()].join(\" \")).data(this._itemDataKey(), data).data(this._itemIndexKey(), index)\r\n },\r\n _createItemRenderAction: function() {\r\n return this._itemRenderAction = this._createActionByOption(\"onItemRendered\", {\r\n element: this.element(),\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n })\r\n },\r\n _getItemRenderAction: function() {\r\n return this._itemRenderAction || this._createItemRenderAction()\r\n },\r\n _getItemTemplateName: function(args) {\r\n var data = args.itemData;\r\n var templateProperty = args.templateProperty || this.option(\"itemTemplateProperty\");\r\n var template = data && data[templateProperty];\r\n return template || args.defaultTemplateName\r\n },\r\n _createItemByTemplate: function(itemTemplate, renderArgs) {\r\n return itemTemplate.render({\r\n model: renderArgs.itemData,\r\n container: renderArgs.container,\r\n index: renderArgs.index\r\n })\r\n },\r\n _emptyMessageContainer: function() {\r\n return this._itemContainer()\r\n },\r\n _renderEmptyMessage: function(items) {\r\n items = items || this.option(\"items\");\r\n var noDataText = this.option(\"noDataText\");\r\n var hideNoData = !noDataText || items && items.length || this._dataController.isLoading();\r\n if (hideNoData && this._$noData) {\r\n this._$noData.remove();\r\n this._$noData = null;\r\n this.setAria(\"label\", void 0)\r\n }\r\n if (!hideNoData) {\r\n this._$noData = this._$noData || $(\"
\").addClass(\"dx-empty-message\");\r\n this._$noData.appendTo(this._emptyMessageContainer());\r\n if (this.option(\"encodeNoDataText\")) {\r\n this._$noData.text(noDataText)\r\n } else {\r\n this._$noData.html(noDataText)\r\n }\r\n this.setAria(\"label\", noDataText)\r\n }\r\n this.$element().toggleClass(EMPTY_COLLECTION, !hideNoData)\r\n },\r\n _itemDXEventHandler: function(dxEvent, handlerOptionName, actionArgs, actionConfig) {\r\n this._itemEventHandler(dxEvent.target, handlerOptionName, extend(actionArgs, {\r\n event: dxEvent\r\n }), actionConfig)\r\n },\r\n _itemEventHandler: function(initiator, handlerOptionName, actionArgs, actionConfig) {\r\n var action = this._createActionByOption(handlerOptionName, extend({\r\n validatingTargetName: \"itemElement\"\r\n }, actionConfig));\r\n return this._itemEventHandlerImpl(initiator, action, actionArgs)\r\n },\r\n _itemEventHandlerByHandler: function(initiator, handler, actionArgs, actionConfig) {\r\n var action = this._createAction(handler, extend({\r\n validatingTargetName: \"itemElement\"\r\n }, actionConfig));\r\n return this._itemEventHandlerImpl(initiator, action, actionArgs)\r\n },\r\n _itemEventHandlerImpl: function(initiator, action, actionArgs) {\r\n var $itemElement = this._closestItemElement($(initiator));\r\n var args = extend({}, actionArgs);\r\n return action(extend(actionArgs, this._extendActionArgs($itemElement), args))\r\n },\r\n _extendActionArgs: function($itemElement) {\r\n return {\r\n itemElement: getPublicElement($itemElement),\r\n itemIndex: this._itemElements().index($itemElement),\r\n itemData: this._getItemData($itemElement)\r\n }\r\n },\r\n _closestItemElement: function($element) {\r\n return $($element).closest(this._itemSelector())\r\n },\r\n _getItemData: function(itemElement) {\r\n return $(itemElement).data(this._itemDataKey())\r\n },\r\n _getSummaryItemsWidth: function(items, includeMargin) {\r\n var result = 0;\r\n if (items) {\r\n each(items, (function(_, item) {\r\n result += getOuterWidth(item, includeMargin || false)\r\n }))\r\n }\r\n return result\r\n },\r\n getFocusedItemId: function() {\r\n if (!this._focusedItemId) {\r\n this._focusedItemId = \"dx-\" + new Guid\r\n }\r\n return this._focusedItemId\r\n },\r\n itemElements: function() {\r\n return this._itemElements()\r\n },\r\n itemsContainer: function() {\r\n return this._itemContainer()\r\n }\r\n}).include(DataHelperMixin);\r\nCollectionWidget.ItemClass = CollectionWidgetItem;\r\nexport default CollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n getKeyHash,\r\n noop,\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nexport default Class.inherit({\r\n ctor: function(options) {\r\n this.options = options;\r\n this._setOption(\"disabledItemKeys\", []);\r\n this._clearItemKeys()\r\n },\r\n _clearItemKeys: function() {\r\n this._setOption(\"addedItemKeys\", []);\r\n this._setOption(\"removedItemKeys\", []);\r\n this._setOption(\"removedItems\", []);\r\n this._setOption(\"addedItems\", [])\r\n },\r\n validate: noop,\r\n _setOption: function(name, value) {\r\n this.options[name] = value\r\n },\r\n onSelectionChanged: function() {\r\n var addedItemKeys = this.options.addedItemKeys;\r\n var removedItemKeys = this.options.removedItemKeys;\r\n var addedItems = this.options.addedItems;\r\n var removedItems = this.options.removedItems;\r\n var selectedItems = this.options.selectedItems;\r\n var selectedItemKeys = this.options.selectedItemKeys;\r\n var onSelectionChanged = this.options.onSelectionChanged || noop;\r\n this._clearItemKeys();\r\n onSelectionChanged({\r\n selectedItems: selectedItems,\r\n selectedItemKeys: selectedItemKeys,\r\n addedItemKeys: addedItemKeys,\r\n removedItemKeys: removedItemKeys,\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n },\r\n equalKeys: function(key1, key2) {\r\n if (this.options.equalByReference) {\r\n if (isObject(key1) && isObject(key2)) {\r\n return key1 === key2\r\n }\r\n }\r\n return equalByValue(key1, key2)\r\n },\r\n getSelectableItems: function(items) {\r\n return items.filter((function(item) {\r\n return !(null !== item && void 0 !== item && item.disabled)\r\n }))\r\n },\r\n _clearSelection: function(keys, preserve, isDeselect, isSelectAll) {\r\n keys = keys || [];\r\n keys = Array.isArray(keys) ? keys : [keys];\r\n this.validate();\r\n return this.selectedItemKeys(keys, preserve, isDeselect, isSelectAll)\r\n },\r\n _removeTemplateProperty: function(remoteFilter) {\r\n if (Array.isArray(remoteFilter)) {\r\n return remoteFilter.map(f => this._removeTemplateProperty(f))\r\n }\r\n if (isObject(remoteFilter)) {\r\n delete remoteFilter.template\r\n }\r\n return remoteFilter\r\n },\r\n _loadFilteredData: function(remoteFilter, localFilter, select, isSelectAll) {\r\n var filterLength = encodeURI(JSON.stringify(this._removeTemplateProperty(remoteFilter))).length;\r\n var needLoadAllData = this.options.maxFilterLengthInRequest && filterLength > this.options.maxFilterLengthInRequest;\r\n var deferred = new Deferred;\r\n var loadOptions = {\r\n filter: needLoadAllData ? void 0 : remoteFilter,\r\n select: needLoadAllData ? this.options.dataFields() : select || this.options.dataFields()\r\n };\r\n if (remoteFilter && 0 === remoteFilter.length) {\r\n deferred.resolve([])\r\n } else {\r\n this.options.load(loadOptions).done((function(items) {\r\n var filteredItems = isPlainObject(items) ? items.data : items;\r\n if (localFilter && !isSelectAll) {\r\n filteredItems = filteredItems.filter(localFilter)\r\n } else if (needLoadAllData) {\r\n filteredItems = dataQuery(filteredItems).filter(remoteFilter).toArray()\r\n }\r\n deferred.resolve(filteredItems)\r\n })).fail(deferred.reject.bind(deferred))\r\n }\r\n return deferred\r\n },\r\n updateSelectedItemKeyHash: function(keys) {\r\n for (var i = 0; i < keys.length; i++) {\r\n var keyHash = getKeyHash(keys[i]);\r\n if (!isObject(keyHash)) {\r\n this.options.keyHashIndices[keyHash] = this.options.keyHashIndices[keyHash] || [];\r\n var keyIndices = this.options.keyHashIndices[keyHash];\r\n keyIndices.push(i)\r\n }\r\n }\r\n },\r\n _isAnyItemSelected: function(items) {\r\n for (var i = 0; i < items.length; i++) {\r\n if (this.options.isItemSelected(items[i])) {\r\n return\r\n }\r\n }\r\n return false\r\n },\r\n _getFullSelectAllState: function() {\r\n var items = this.options.plainItems();\r\n var dataFilter = this.options.filter();\r\n var selectedItems = this.options.ignoreDisabledItems ? this.options.selectedItems : this.options.selectedItems.filter(item => !(null !== item && void 0 !== item && item.disabled));\r\n if (dataFilter) {\r\n selectedItems = dataQuery(selectedItems).filter(dataFilter).toArray()\r\n }\r\n var selectedItemsLength = selectedItems.length;\r\n var disabledItemsLength = items.length - this.getSelectableItems(items).length;\r\n if (!selectedItemsLength) {\r\n return this._isAnyItemSelected(items)\r\n }\r\n if (selectedItemsLength >= this.options.totalCount() - disabledItemsLength) {\r\n return true\r\n }\r\n return\r\n },\r\n _getVisibleSelectAllState: function() {\r\n var items = this.getSelectableItems(this.options.plainItems());\r\n var hasSelectedItems = false;\r\n var hasUnselectedItems = false;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var itemData = this.options.getItemData(item);\r\n var key = this.options.keyOf(itemData);\r\n if (this.options.isSelectableItem(item)) {\r\n if (this.isItemKeySelected(key)) {\r\n hasSelectedItems = true\r\n } else {\r\n hasUnselectedItems = true\r\n }\r\n }\r\n }\r\n if (hasSelectedItems) {\r\n return !hasUnselectedItems ? true : void 0\r\n } else {\r\n return false\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.deferred.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport SelectionStrategy from \"./selection.strategy\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nexport default SelectionStrategy.inherit({\r\n getSelectedItems: function() {\r\n return this._loadFilteredData(this.options.selectionFilter)\r\n },\r\n getSelectedItemKeys: function() {\r\n var d = new Deferred;\r\n var that = this;\r\n var key = this.options.key();\r\n var select = isString(key) ? [key] : key;\r\n this._loadFilteredData(this.options.selectionFilter, null, select).done((function(items) {\r\n var keys = items.map((function(item) {\r\n return that.options.keyOf(item)\r\n }));\r\n d.resolve(keys)\r\n })).fail(d.reject);\r\n return d.promise()\r\n },\r\n selectedItemKeys: function(keys, preserve, isDeselect, isSelectAll) {\r\n if (isSelectAll) {\r\n var filter = this.options.filter();\r\n var needResetSelectionFilter = !filter || JSON.stringify(filter) === JSON.stringify(this.options.selectionFilter) && isDeselect;\r\n if (needResetSelectionFilter) {\r\n this._setOption(\"selectionFilter\", isDeselect ? [] : null)\r\n } else {\r\n this._addSelectionFilter(isDeselect, filter, isSelectAll)\r\n }\r\n } else {\r\n if (!preserve) {\r\n this._setOption(\"selectionFilter\", [])\r\n }\r\n for (var i = 0; i < keys.length; i++) {\r\n if (isDeselect) {\r\n this.removeSelectedItem(keys[i])\r\n } else {\r\n this.addSelectedItem(keys[i])\r\n }\r\n }\r\n }\r\n this.onSelectionChanged();\r\n return (new Deferred).resolve()\r\n },\r\n setSelectedItems: function(keys) {\r\n this._setOption(\"selectionFilter\", null);\r\n for (var i = 0; i < keys.length; i++) {\r\n this.addSelectedItem(keys[i])\r\n }\r\n },\r\n isItemDataSelected: function(itemData) {\r\n return this.isItemKeySelected(itemData)\r\n },\r\n isItemKeySelected: function(itemData) {\r\n var selectionFilter = this.options.selectionFilter;\r\n if (!selectionFilter) {\r\n return true\r\n }\r\n return !!dataQuery([itemData]).filter(selectionFilter).toArray().length\r\n },\r\n _getKeyExpr: function() {\r\n var keyField = this.options.key();\r\n if (Array.isArray(keyField) && 1 === keyField.length) {\r\n return keyField[0]\r\n }\r\n return keyField\r\n },\r\n _normalizeKey: function(key) {\r\n var keyExpr = this.options.key();\r\n if (Array.isArray(keyExpr) && 1 === keyExpr.length) {\r\n return key[keyExpr[0]]\r\n }\r\n return key\r\n },\r\n _getFilterByKey: function(key) {\r\n var keyField = this._getKeyExpr();\r\n var filter = [keyField, \"=\", this._normalizeKey(key)];\r\n if (Array.isArray(keyField)) {\r\n filter = [];\r\n for (var i = 0; i < keyField.length; i++) {\r\n filter.push([keyField[i], \"=\", key[keyField[i]]]);\r\n if (i !== keyField.length - 1) {\r\n filter.push(\"and\")\r\n }\r\n }\r\n }\r\n return filter\r\n },\r\n addSelectedItem: function(key) {\r\n var filter = this._getFilterByKey(key);\r\n this._addSelectionFilter(false, filter)\r\n },\r\n removeSelectedItem: function(key) {\r\n var filter = this._getFilterByKey(key);\r\n this._addSelectionFilter(true, filter)\r\n },\r\n validate: function() {\r\n var key = this.options.key;\r\n if (key && void 0 === key()) {\r\n throw errors.Error(\"E1042\", \"Deferred selection\")\r\n }\r\n },\r\n _findSubFilter: function(selectionFilter, filter) {\r\n if (!selectionFilter) {\r\n return -1\r\n }\r\n var filterString = JSON.stringify(filter);\r\n for (var index = 0; index < selectionFilter.length; index++) {\r\n var subFilter = selectionFilter[index];\r\n if (subFilter && JSON.stringify(subFilter) === filterString) {\r\n return index\r\n }\r\n }\r\n return -1\r\n },\r\n _isLastSubFilter: function(selectionFilter, filter) {\r\n if (selectionFilter && filter) {\r\n return this._findSubFilter(selectionFilter, filter) === selectionFilter.length - 1 || 0 === this._findSubFilter([selectionFilter], filter)\r\n }\r\n return false\r\n },\r\n _addFilterOperator: function(selectionFilter, filterOperator) {\r\n if (selectionFilter.length > 1 && isString(selectionFilter[1]) && selectionFilter[1] !== filterOperator) {\r\n selectionFilter = [selectionFilter]\r\n }\r\n if (selectionFilter.length) {\r\n selectionFilter.push(filterOperator)\r\n }\r\n return selectionFilter\r\n },\r\n _denormalizeFilter: function(filter) {\r\n if (filter && isString(filter[0])) {\r\n filter = [filter]\r\n }\r\n return filter\r\n },\r\n _isOnlyNegativeFiltersLeft: function(filters) {\r\n return filters.every((filterItem, i) => {\r\n if (i % 2 === 0) {\r\n return Array.isArray(filterItem) && \"!\" === filterItem[0]\r\n } else {\r\n return \"and\" === filterItem\r\n }\r\n })\r\n },\r\n _addSelectionFilter: function(isDeselect, filter, isSelectAll) {\r\n var currentFilter = isDeselect ? [\"!\", filter] : filter;\r\n var currentOperation = isDeselect ? \"and\" : \"or\";\r\n var needAddFilter = true;\r\n var selectionFilter = this.options.selectionFilter || [];\r\n selectionFilter = this._denormalizeFilter(selectionFilter);\r\n if (selectionFilter && selectionFilter.length) {\r\n var removedIndex = this._removeSameFilter(selectionFilter, filter, isDeselect, isSelectAll);\r\n var filterIndex = this._removeSameFilter(selectionFilter, filter, !isDeselect);\r\n var shouldCleanFilter = isDeselect && (-1 !== removedIndex || -1 !== filterIndex) && this._isOnlyNegativeFiltersLeft(selectionFilter);\r\n if (shouldCleanFilter) {\r\n selectionFilter = []\r\n }\r\n var isKeyOperatorsAfterRemoved = this._isKeyFilter(filter) && this._hasKeyFiltersOnlyStartingFromIndex(selectionFilter, filterIndex);\r\n needAddFilter = filter.length && !isKeyOperatorsAfterRemoved;\r\n if (needAddFilter) {\r\n selectionFilter = this._addFilterOperator(selectionFilter, currentOperation)\r\n }\r\n }\r\n if (needAddFilter) {\r\n selectionFilter.push(currentFilter)\r\n }\r\n selectionFilter = this._normalizeFilter(selectionFilter);\r\n this._setOption(\"selectionFilter\", !isDeselect && !selectionFilter.length ? null : selectionFilter)\r\n },\r\n _normalizeFilter: function(filter) {\r\n if (filter && 1 === filter.length) {\r\n filter = filter[0]\r\n }\r\n return filter\r\n },\r\n _removeFilterByIndex: function(filter, filterIndex, isSelectAll) {\r\n var operation = filter[1];\r\n if (filterIndex > 0) {\r\n filter.splice(filterIndex - 1, 2)\r\n } else {\r\n filter.splice(filterIndex, 2)\r\n }\r\n if (isSelectAll && \"and\" === operation) {\r\n filter.splice(0, filter.length)\r\n }\r\n },\r\n _isSimpleKeyFilter: function(filter, key) {\r\n return 3 === filter.length && filter[0] === key && \"=\" === filter[1]\r\n },\r\n _isKeyFilter: function(filter) {\r\n if (2 === filter.length && \"!\" === filter[0]) {\r\n return this._isKeyFilter(filter[1])\r\n }\r\n var keyField = this._getKeyExpr();\r\n if (Array.isArray(keyField)) {\r\n if (filter.length !== 2 * keyField.length - 1) {\r\n return false\r\n }\r\n for (var i = 0; i < keyField.length; i++) {\r\n if (i > 0 && \"and\" !== filter[2 * i - 1]) {\r\n return false\r\n }\r\n if (!this._isSimpleKeyFilter(filter[2 * i], keyField[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return this._isSimpleKeyFilter(filter, keyField)\r\n },\r\n _hasKeyFiltersOnlyStartingFromIndex: function(selectionFilter, filterIndex) {\r\n if (filterIndex >= 0) {\r\n for (var i = filterIndex; i < selectionFilter.length; i++) {\r\n if (\"string\" !== typeof selectionFilter[i] && !this._isKeyFilter(selectionFilter[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return false\r\n },\r\n _removeSameFilter: function(selectionFilter, filter, inverted, isSelectAll) {\r\n filter = inverted ? [\"!\", filter] : filter;\r\n if (JSON.stringify(filter) === JSON.stringify(selectionFilter)) {\r\n selectionFilter.splice(0, selectionFilter.length);\r\n return 0\r\n }\r\n var filterIndex = this._findSubFilter(selectionFilter, filter);\r\n if (filterIndex >= 0) {\r\n this._removeFilterByIndex(selectionFilter, filterIndex, isSelectAll);\r\n return filterIndex\r\n } else {\r\n for (var i = 0; i < selectionFilter.length; i++) {\r\n if (Array.isArray(selectionFilter[i]) && selectionFilter[i].length > 2) {\r\n var _filterIndex = this._removeSameFilter(selectionFilter[i], filter, false, isSelectAll);\r\n if (_filterIndex >= 0) {\r\n if (!selectionFilter[i].length) {\r\n this._removeFilterByIndex(selectionFilter, i, isSelectAll)\r\n } else if (1 === selectionFilter[i].length) {\r\n selectionFilter[i] = selectionFilter[i][0]\r\n }\r\n return _filterIndex\r\n }\r\n }\r\n }\r\n return -1\r\n }\r\n },\r\n getSelectAllState: function() {\r\n var filter = this.options.filter();\r\n var selectionFilter = this.options.selectionFilter;\r\n if (!selectionFilter) {\r\n return true\r\n }\r\n if (!selectionFilter.length) {\r\n return false\r\n }\r\n if (!filter || !filter.length) {\r\n return\r\n }\r\n selectionFilter = this._denormalizeFilter(selectionFilter);\r\n if (this._isLastSubFilter(selectionFilter, filter)) {\r\n return true\r\n }\r\n if (this._isLastSubFilter(selectionFilter, [\"!\", filter])) {\r\n return false\r\n }\r\n return\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/utils/selection_filter.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getKeyHash,\r\n equalByValue\r\n} from \"./common\";\r\nimport {\r\n isString,\r\n isObject\r\n} from \"./type\";\r\nexport var SelectionFilterCreator = function(selectedItemKeys, isSelectAll) {\r\n this.getLocalFilter = function(keyGetter, equalKeys, equalByReference, keyExpr) {\r\n equalKeys = void 0 === equalKeys ? equalByValue : equalKeys;\r\n return functionFilter.bind(this, equalKeys, keyGetter, equalByReference, keyExpr)\r\n };\r\n this.getExpr = function(keyExpr) {\r\n if (!keyExpr) {\r\n return\r\n }\r\n var filterExpr;\r\n selectedItemKeys.forEach((function(key, index) {\r\n filterExpr = filterExpr || [];\r\n var filterExprPart;\r\n if (index > 0) {\r\n filterExpr.push(isSelectAll ? \"and\" : \"or\")\r\n }\r\n if (isString(keyExpr)) {\r\n filterExprPart = getFilterForPlainKey(keyExpr, key)\r\n } else {\r\n filterExprPart = function(keyExpr, itemKeyValue) {\r\n var filterExpr = [];\r\n for (var i = 0, length = keyExpr.length; i < length; i++) {\r\n var currentKeyExpr = keyExpr[i];\r\n var currentKeyValue = itemKeyValue && itemKeyValue[currentKeyExpr];\r\n var filterExprPart = getFilterForPlainKey(currentKeyExpr, currentKeyValue);\r\n if (!filterExprPart) {\r\n break\r\n }\r\n if (i > 0) {\r\n filterExpr.push(isSelectAll ? \"or\" : \"and\")\r\n }\r\n filterExpr.push(filterExprPart)\r\n }\r\n return filterExpr\r\n }(keyExpr, key)\r\n }\r\n filterExpr.push(filterExprPart)\r\n }));\r\n if (filterExpr && 1 === filterExpr.length) {\r\n filterExpr = filterExpr[0]\r\n }\r\n return filterExpr\r\n };\r\n this.getCombinedFilter = function(keyExpr, dataSourceFilter) {\r\n var filterExpr = this.getExpr(keyExpr);\r\n var combinedFilter = filterExpr;\r\n if (isSelectAll && dataSourceFilter) {\r\n if (filterExpr) {\r\n combinedFilter = [];\r\n combinedFilter.push(filterExpr);\r\n combinedFilter.push(dataSourceFilter)\r\n } else {\r\n combinedFilter = dataSourceFilter\r\n }\r\n }\r\n return combinedFilter\r\n };\r\n var selectedItemKeyHashesMap;\r\n var normalizeKeys = function(keys, keyOf, keyExpr) {\r\n return Array.isArray(keyExpr) ? keys.map(key => keyOf(key)) : keys\r\n };\r\n\r\n function functionFilter(equalKeys, keyOf, equalByReference, keyExpr, item) {\r\n var key = keyOf(item);\r\n var keyHash;\r\n var i;\r\n if (!equalByReference) {\r\n keyHash = getKeyHash(key);\r\n if (!isObject(keyHash)) {\r\n var selectedKeyHashesMap = function(keyOf, keyExpr) {\r\n if (!selectedItemKeyHashesMap) {\r\n selectedItemKeyHashesMap = {};\r\n var normalizedKeys = normalizeKeys(selectedItemKeys, keyOf, keyExpr);\r\n for (var i = 0; i < normalizedKeys.length; i++) {\r\n selectedItemKeyHashesMap[getKeyHash(normalizedKeys[i])] = true\r\n }\r\n }\r\n return selectedItemKeyHashesMap\r\n }(keyOf, keyExpr);\r\n if (selectedKeyHashesMap[keyHash]) {\r\n return !isSelectAll\r\n }\r\n return !!isSelectAll\r\n }\r\n }\r\n for (i = 0; i < selectedItemKeys.length; i++) {\r\n if (equalKeys(selectedItemKeys[i], key)) {\r\n return !isSelectAll\r\n }\r\n }\r\n return !!isSelectAll\r\n }\r\n\r\n function getFilterForPlainKey(keyExpr, keyValue) {\r\n if (void 0 === keyValue) {\r\n return\r\n }\r\n return [keyExpr, isSelectAll ? \"<>\" : \"=\", keyValue]\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.standard.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getKeyHash\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n removeDuplicates,\r\n getUniqueValues\r\n} from \"../../core/utils/array\";\r\nimport {\r\n isKeysEqual\r\n} from \"../../core/utils/array_compare\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n SelectionFilterCreator\r\n} from \"../../core/utils/selection_filter\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport SelectionStrategy from \"./selection.strategy\";\r\nexport default SelectionStrategy.inherit({\r\n ctor: function(options) {\r\n this.callBase(options);\r\n this._initSelectedItemKeyHash()\r\n },\r\n _initSelectedItemKeyHash: function() {\r\n this._setOption(\"keyHashIndices\", this.options.equalByReference ? null : {})\r\n },\r\n getSelectedItemKeys: function() {\r\n return this.options.selectedItemKeys.slice(0)\r\n },\r\n getSelectedItems: function() {\r\n return this.options.selectedItems.slice(0)\r\n },\r\n _preserveSelectionUpdate: function(items, isDeselect) {\r\n var keyOf = this.options.keyOf;\r\n var keyIndicesToRemoveMap;\r\n var keyIndex;\r\n var i;\r\n if (!keyOf) {\r\n return\r\n }\r\n var isBatchDeselect = isDeselect && items.length > 1 && !this.options.equalByReference;\r\n if (isBatchDeselect) {\r\n keyIndicesToRemoveMap = {}\r\n }\r\n for (i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var key = keyOf(item);\r\n if (isDeselect) {\r\n keyIndex = this.removeSelectedItem(key, keyIndicesToRemoveMap, null === item || void 0 === item ? void 0 : item.disabled);\r\n if (keyIndicesToRemoveMap && keyIndex >= 0) {\r\n keyIndicesToRemoveMap[keyIndex] = true\r\n }\r\n } else {\r\n this.addSelectedItem(key, item)\r\n }\r\n }\r\n if (isBatchDeselect) {\r\n this._batchRemoveSelectedItems(keyIndicesToRemoveMap)\r\n }\r\n },\r\n _batchRemoveSelectedItems: function(keyIndicesToRemoveMap) {\r\n var selectedItemKeys = this.options.selectedItemKeys.slice(0);\r\n var selectedItems = this.options.selectedItems.slice(0);\r\n this.options.selectedItemKeys.length = 0;\r\n this.options.selectedItems.length = 0;\r\n for (var i = 0; i < selectedItemKeys.length; i++) {\r\n if (!keyIndicesToRemoveMap[i]) {\r\n this.options.selectedItemKeys.push(selectedItemKeys[i]);\r\n this.options.selectedItems.push(selectedItems[i])\r\n }\r\n }\r\n this._initSelectedItemKeyHash();\r\n this.updateSelectedItemKeyHash(this.options.selectedItemKeys)\r\n },\r\n _loadSelectedItemsCore: function(keys, isDeselect, isSelectAll, filter) {\r\n var deferred = new Deferred;\r\n var key = this.options.key();\r\n if (!keys.length && !isSelectAll) {\r\n deferred.resolve([]);\r\n return deferred\r\n }\r\n if (isSelectAll && isDeselect && !filter) {\r\n deferred.resolve(this.getSelectedItems());\r\n return deferred\r\n }\r\n var selectionFilterCreator = new SelectionFilterCreator(keys, isSelectAll);\r\n var combinedFilter = selectionFilterCreator.getCombinedFilter(key, filter);\r\n var deselectedItems = [];\r\n if (isDeselect) {\r\n var selectedItems = this.options.selectedItems;\r\n deselectedItems = combinedFilter && keys.length !== selectedItems.length ? dataQuery(selectedItems).filter(combinedFilter).toArray() : selectedItems.slice(0)\r\n }\r\n var filteredItems = deselectedItems.length ? deselectedItems : this.options.plainItems(true).filter(this.options.isSelectableItem).map(this.options.getItemData);\r\n var localFilter = selectionFilterCreator.getLocalFilter(this.options.keyOf, this.equalKeys.bind(this), this.options.equalByReference, key);\r\n filteredItems = filteredItems.filter(localFilter);\r\n if (deselectedItems.length || !isSelectAll && filteredItems.length === keys.length) {\r\n deferred.resolve(filteredItems)\r\n } else {\r\n deferred = this._loadFilteredData(combinedFilter, localFilter, null, isSelectAll)\r\n }\r\n return deferred\r\n },\r\n _replaceSelectionUpdate: function(items) {\r\n var internalKeys = [];\r\n var keyOf = this.options.keyOf;\r\n if (!keyOf) {\r\n return\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var key = keyOf(item);\r\n internalKeys.push(key)\r\n }\r\n this.setSelectedItems(internalKeys, items)\r\n },\r\n _warnOnIncorrectKeys: function(keys) {\r\n var allowNullValue = this.options.allowNullValue;\r\n for (var i = 0; i < keys.length; i++) {\r\n var key = keys[i];\r\n if ((!allowNullValue || null !== key) && !this.isItemKeySelected(key)) {\r\n errors.log(\"W1002\", key)\r\n }\r\n }\r\n },\r\n _isMultiSelectEnabled: function() {\r\n var mode = this.options.mode;\r\n return \"all\" === mode || \"multiple\" === mode\r\n },\r\n _requestInProgress: function() {\r\n var _this$_lastLoadDeferr;\r\n return \"pending\" === (null === (_this$_lastLoadDeferr = this._lastLoadDeferred) || void 0 === _this$_lastLoadDeferr ? void 0 : _this$_lastLoadDeferr.state())\r\n },\r\n _concatRequestsItems: function(keys, isDeselect, oldRequestItems, updatedKeys) {\r\n var selectedItems;\r\n var deselectedItems = isDeselect ? keys : [];\r\n if (updatedKeys) {\r\n selectedItems = updatedKeys\r\n } else {\r\n selectedItems = removeDuplicates(keys, this.options.selectedItemKeys)\r\n }\r\n return {\r\n addedItems: oldRequestItems.added.concat(selectedItems),\r\n removedItems: oldRequestItems.removed.concat(deselectedItems),\r\n keys: keys\r\n }\r\n },\r\n _collectLastRequestData: function(keys, isDeselect, isSelectAll, updatedKeys) {\r\n var isDeselectAll = isDeselect && isSelectAll;\r\n var oldRequestItems = {\r\n added: [],\r\n removed: []\r\n };\r\n var multiSelectEnabled = this._isMultiSelectEnabled();\r\n var lastRequestData = multiSelectEnabled ? this._lastRequestData : {};\r\n if (multiSelectEnabled) {\r\n if (this._shouldMergeWithLastRequest) {\r\n if (isDeselectAll) {\r\n this._lastLoadDeferred.reject();\r\n lastRequestData = {}\r\n } else if (!isKeysEqual(keys, this.options.selectedItemKeys)) {\r\n oldRequestItems.added = lastRequestData.addedItems;\r\n oldRequestItems.removed = lastRequestData.removedItems;\r\n if (!isDeselect) {\r\n this._lastLoadDeferred.reject()\r\n }\r\n }\r\n }\r\n lastRequestData = this._concatRequestsItems(keys, isDeselect, oldRequestItems, this._shouldMergeWithLastRequest ? void 0 : updatedKeys)\r\n }\r\n return lastRequestData\r\n },\r\n _updateKeysByLastRequestData: function(keys, isDeselect, isSelectAll) {\r\n var currentKeys = keys;\r\n if (this._isMultiSelectEnabled() && this._shouldMergeWithLastRequest && !isDeselect && !isSelectAll) {\r\n var _this$_lastRequestDat, _this$_lastRequestDat2;\r\n currentKeys = removeDuplicates(keys.concat(null === (_this$_lastRequestDat = this._lastRequestData) || void 0 === _this$_lastRequestDat ? void 0 : _this$_lastRequestDat.addedItems), null === (_this$_lastRequestDat2 = this._lastRequestData) || void 0 === _this$_lastRequestDat2 ? void 0 : _this$_lastRequestDat2.removedItems);\r\n currentKeys = getUniqueValues(currentKeys)\r\n }\r\n return currentKeys\r\n },\r\n _loadSelectedItems: function(keys, isDeselect, isSelectAll, updatedKeys) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n var filter = that.options.filter();\r\n this._shouldMergeWithLastRequest = this._requestInProgress();\r\n this._lastRequestData = this._collectLastRequestData(keys, isDeselect, isSelectAll, updatedKeys);\r\n when(that._lastLoadDeferred).always((function() {\r\n var currentKeys = that._updateKeysByLastRequestData(keys, isDeselect, isSelectAll);\r\n that._shouldMergeWithLastRequest = false;\r\n that._loadSelectedItemsCore(currentKeys, isDeselect, isSelectAll, filter).done(deferred.resolve).fail(deferred.reject)\r\n }));\r\n that._lastLoadDeferred = deferred;\r\n return deferred\r\n },\r\n selectedItemKeys: function(keys, preserve, isDeselect, isSelectAll, updatedKeys) {\r\n var that = this;\r\n var deferred = that._loadSelectedItems(keys, isDeselect, isSelectAll, updatedKeys);\r\n deferred.done((function(items) {\r\n if (preserve) {\r\n that._preserveSelectionUpdate(items, isDeselect)\r\n } else {\r\n that._replaceSelectionUpdate(items)\r\n }\r\n that.onSelectionChanged()\r\n }));\r\n return deferred\r\n },\r\n addSelectedItem: function(key, itemData) {\r\n if (isDefined(itemData) && !this.options.ignoreDisabledItems && itemData.disabled) {\r\n if (-1 === this.options.disabledItemKeys.indexOf(key)) {\r\n this.options.disabledItemKeys.push(key)\r\n }\r\n return\r\n }\r\n var keyHash = this._getKeyHash(key);\r\n if (-1 === this._indexOfSelectedItemKey(keyHash)) {\r\n if (!isObject(keyHash) && this.options.keyHashIndices) {\r\n this.options.keyHashIndices[keyHash] = [this.options.selectedItemKeys.length]\r\n }\r\n this.options.selectedItemKeys.push(key);\r\n this.options.addedItemKeys.push(key);\r\n this.options.addedItems.push(itemData);\r\n this.options.selectedItems.push(itemData)\r\n }\r\n },\r\n _getSelectedIndexByKey: function(key, ignoreIndicesMap) {\r\n var selectedItemKeys = this.options.selectedItemKeys;\r\n for (var index = 0; index < selectedItemKeys.length; index++) {\r\n if ((!ignoreIndicesMap || !ignoreIndicesMap[index]) && this.equalKeys(selectedItemKeys[index], key)) {\r\n return index\r\n }\r\n }\r\n return -1\r\n },\r\n _getSelectedIndexByHash: function(key, ignoreIndicesMap) {\r\n var indices = this.options.keyHashIndices[key];\r\n if (indices && indices.length > 1 && ignoreIndicesMap) {\r\n indices = indices.filter((function(index) {\r\n return !ignoreIndicesMap[index]\r\n }))\r\n }\r\n return indices && indices[0] >= 0 ? indices[0] : -1\r\n },\r\n _indexOfSelectedItemKey: function(key, ignoreIndicesMap) {\r\n var selectedIndex;\r\n if (this.options.equalByReference) {\r\n selectedIndex = this.options.selectedItemKeys.indexOf(key)\r\n } else if (isObject(key)) {\r\n selectedIndex = this._getSelectedIndexByKey(key, ignoreIndicesMap)\r\n } else {\r\n selectedIndex = this._getSelectedIndexByHash(key, ignoreIndicesMap)\r\n }\r\n return selectedIndex\r\n },\r\n _shiftSelectedKeyIndices: function(keyIndex) {\r\n for (var currentKeyIndex = keyIndex; currentKeyIndex < this.options.selectedItemKeys.length; currentKeyIndex++) {\r\n var currentKey = this.options.selectedItemKeys[currentKeyIndex];\r\n var currentKeyHash = getKeyHash(currentKey);\r\n var currentKeyIndices = this.options.keyHashIndices[currentKeyHash];\r\n if (!currentKeyIndices) {\r\n continue\r\n }\r\n for (var i = 0; i < currentKeyIndices.length; i++) {\r\n if (currentKeyIndices[i] > keyIndex) {\r\n currentKeyIndices[i]--\r\n }\r\n }\r\n }\r\n },\r\n removeSelectedItem: function(key, keyIndicesToRemoveMap, isDisabled) {\r\n if (!this.options.ignoreDisabledItems && isDisabled) {\r\n return\r\n }\r\n var keyHash = this._getKeyHash(key);\r\n var isBatchDeselect = !!keyIndicesToRemoveMap;\r\n var keyIndex = this._indexOfSelectedItemKey(keyHash, keyIndicesToRemoveMap);\r\n if (keyIndex < 0) {\r\n return keyIndex\r\n }\r\n this.options.removedItemKeys.push(key);\r\n this.options.removedItems.push(this.options.selectedItems[keyIndex]);\r\n if (isBatchDeselect) {\r\n return keyIndex\r\n }\r\n this.options.selectedItemKeys.splice(keyIndex, 1);\r\n this.options.selectedItems.splice(keyIndex, 1);\r\n if (isObject(keyHash) || !this.options.keyHashIndices) {\r\n return keyIndex\r\n }\r\n var keyIndices = this.options.keyHashIndices[keyHash];\r\n if (!keyIndices) {\r\n return keyIndex\r\n }\r\n keyIndices.shift();\r\n if (!keyIndices.length) {\r\n delete this.options.keyHashIndices[keyHash]\r\n }\r\n this._shiftSelectedKeyIndices(keyIndex);\r\n return keyIndex\r\n },\r\n _updateAddedItemKeys: function(keys, items) {\r\n for (var i = 0; i < keys.length; i++) {\r\n if (!this.isItemKeySelected(keys[i])) {\r\n this.options.addedItemKeys.push(keys[i]);\r\n this.options.addedItems.push(items[i])\r\n }\r\n }\r\n },\r\n _updateRemovedItemKeys: function(keys, oldSelectedKeys, oldSelectedItems) {\r\n for (var i = 0; i < oldSelectedKeys.length; i++) {\r\n if (!this.isItemKeySelected(oldSelectedKeys[i])) {\r\n this.options.removedItemKeys.push(oldSelectedKeys[i]);\r\n this.options.removedItems.push(oldSelectedItems[i])\r\n }\r\n }\r\n },\r\n _isItemSelectionInProgress: function(key, checkPending) {\r\n var shouldCheckPending = checkPending && this._lastRequestData && this._requestInProgress();\r\n if (shouldCheckPending) {\r\n var _this$_lastRequestDat3;\r\n var addedItems = null !== (_this$_lastRequestDat3 = this._lastRequestData.addedItems) && void 0 !== _this$_lastRequestDat3 ? _this$_lastRequestDat3 : [];\r\n return addedItems.includes(key)\r\n } else {\r\n return false\r\n }\r\n },\r\n _getKeyHash: function(key) {\r\n return this.options.equalByReference ? key : getKeyHash(key)\r\n },\r\n setSelectedItems: function(keys, items) {\r\n this._updateAddedItemKeys(keys, items);\r\n var oldSelectedKeys = this.options.selectedItemKeys;\r\n var oldSelectedItems = this.options.selectedItems;\r\n if (!this.options.equalByReference) {\r\n this._initSelectedItemKeyHash();\r\n this.updateSelectedItemKeyHash(keys)\r\n }\r\n this._setOption(\"selectedItemKeys\", keys);\r\n this._setOption(\"selectedItems\", items);\r\n this._updateRemovedItemKeys(keys, oldSelectedKeys, oldSelectedItems)\r\n },\r\n isItemDataSelected: function(itemData) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n var key = this.options.keyOf(itemData);\r\n return this.isItemKeySelected(key, options)\r\n },\r\n isItemKeySelected: function(key) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n var result = this._isItemSelectionInProgress(key, options.checkPending);\r\n if (!result) {\r\n var keyHash = this._getKeyHash(key);\r\n var index = this._indexOfSelectedItemKey(keyHash);\r\n result = -1 !== index\r\n }\r\n return result\r\n },\r\n getSelectAllState: function(visibleOnly) {\r\n if (visibleOnly) {\r\n return this._getVisibleSelectAllState()\r\n } else {\r\n return this._getFullSelectAllState()\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport deferredStrategy from \"./selection.strategy.deferred\";\r\nimport standardStrategy from \"./selection.strategy.standard\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nexport default Class.inherit({\r\n ctor: function(options) {\r\n this.options = extend(this._getDefaultOptions(), options, {\r\n selectedItemKeys: options.selectedKeys || []\r\n });\r\n this._selectionStrategy = this.options.deferred ? new deferredStrategy(this.options) : new standardStrategy(this.options);\r\n this._focusedItemIndex = -1;\r\n if (!this.options.equalByReference) {\r\n this._selectionStrategy.updateSelectedItemKeyHash(this.options.selectedItemKeys)\r\n }\r\n },\r\n _getDefaultOptions: function() {\r\n return {\r\n allowNullValue: false,\r\n deferred: false,\r\n equalByReference: false,\r\n mode: \"multiple\",\r\n selectedItems: [],\r\n selectionFilter: [],\r\n maxFilterLengthInRequest: 0,\r\n onSelectionChanged: noop,\r\n key: noop,\r\n keyOf: function(item) {\r\n return item\r\n },\r\n load: function() {\r\n return (new Deferred).resolve([])\r\n },\r\n totalCount: function() {\r\n return -1\r\n },\r\n isSelectableItem: function() {\r\n return true\r\n },\r\n isItemSelected: function() {\r\n return false\r\n },\r\n getItemData: function(item) {\r\n return item\r\n },\r\n dataFields: noop,\r\n filter: noop\r\n }\r\n },\r\n validate: function() {\r\n this._selectionStrategy.validate()\r\n },\r\n getSelectedItemKeys: function() {\r\n return this._selectionStrategy.getSelectedItemKeys()\r\n },\r\n getSelectedItems: function() {\r\n return this._selectionStrategy.getSelectedItems()\r\n },\r\n selectionFilter: function(value) {\r\n if (void 0 === value) {\r\n return this.options.selectionFilter\r\n }\r\n var filterIsChanged = this.options.selectionFilter !== value && JSON.stringify(this.options.selectionFilter) !== JSON.stringify(value);\r\n this.options.selectionFilter = value;\r\n filterIsChanged && this.onSelectionChanged()\r\n },\r\n setSelection: function(keys, updatedKeys) {\r\n return this.selectedItemKeys(keys, false, false, false, updatedKeys)\r\n },\r\n select: function(keys) {\r\n return this.selectedItemKeys(keys, true)\r\n },\r\n deselect: function(keys) {\r\n return this.selectedItemKeys(keys, true, true)\r\n },\r\n selectedItemKeys: function(keys, preserve, isDeselect, isSelectAll, updatedKeys) {\r\n var _keys;\r\n keys = null !== (_keys = keys) && void 0 !== _keys ? _keys : [];\r\n keys = Array.isArray(keys) ? keys : [keys];\r\n this.validate();\r\n return this._selectionStrategy.selectedItemKeys(keys, preserve, isDeselect, isSelectAll, updatedKeys)\r\n },\r\n clearSelection: function() {\r\n return this.selectedItemKeys([])\r\n },\r\n _addSelectedItem: function(itemData, key) {\r\n this._selectionStrategy.addSelectedItem(key, itemData)\r\n },\r\n _removeSelectedItem: function(key) {\r\n this._selectionStrategy.removeSelectedItem(key)\r\n },\r\n _setSelectedItems: function(keys, items) {\r\n this._selectionStrategy.setSelectedItems(keys, items)\r\n },\r\n onSelectionChanged: function() {\r\n this._selectionStrategy.onSelectionChanged()\r\n },\r\n changeItemSelection: function(itemIndex, keys, setFocusOnly) {\r\n var _this$options$allowLo, _this$options;\r\n var isSelectedItemsChanged;\r\n var items = this.options.plainItems();\r\n var item = items[itemIndex];\r\n var deferred;\r\n var allowLoadByRange = null === (_this$options$allowLo = (_this$options = this.options).allowLoadByRange) || void 0 === _this$options$allowLo ? void 0 : _this$options$allowLo.call(_this$options);\r\n var indexOffset;\r\n var focusedItemNotInLoadedRange = false;\r\n var shiftFocusedItemNotInLoadedRange = false;\r\n var itemIsNotInLoadedRange = index => index >= 0 && !items.filter(it => it.loadIndex === index).length;\r\n if (allowLoadByRange) {\r\n indexOffset = item.loadIndex - itemIndex;\r\n itemIndex = item.loadIndex;\r\n focusedItemNotInLoadedRange = itemIsNotInLoadedRange(this._focusedItemIndex);\r\n if (isDefined(this._shiftFocusedItemIndex)) {\r\n shiftFocusedItemNotInLoadedRange = itemIsNotInLoadedRange(this._shiftFocusedItemIndex)\r\n }\r\n }\r\n if (!this.isSelectable() || !this.isDataItem(item)) {\r\n return false\r\n }\r\n var itemData = this.options.getItemData(item);\r\n var itemKey = this.options.keyOf(itemData);\r\n keys = keys || {};\r\n if (keys.shift && \"multiple\" === this.options.mode && this._focusedItemIndex >= 0) {\r\n if (focusedItemNotInLoadedRange || shiftFocusedItemNotInLoadedRange) {\r\n isSelectedItemsChanged = itemIndex !== this._shiftFocusedItemIndex || this._focusedItemIndex !== this._shiftFocusedItemIndex;\r\n if (isSelectedItemsChanged) {\r\n deferred = this.changeItemSelectionWhenShiftKeyInVirtualPaging(itemIndex)\r\n }\r\n } else {\r\n isSelectedItemsChanged = this.changeItemSelectionWhenShiftKeyPressed(itemIndex, items, indexOffset)\r\n }\r\n } else if (keys.control) {\r\n this._resetItemSelectionWhenShiftKeyPressed();\r\n if (!setFocusOnly) {\r\n var isSelected = this._selectionStrategy.isItemDataSelected(itemData);\r\n if (\"single\" === this.options.mode) {\r\n this.clearSelectedItems()\r\n }\r\n if (isSelected) {\r\n this._removeSelectedItem(itemKey)\r\n } else {\r\n this._addSelectedItem(itemData, itemKey)\r\n }\r\n }\r\n isSelectedItemsChanged = true\r\n } else {\r\n this._resetItemSelectionWhenShiftKeyPressed();\r\n var isKeysEqual = this._selectionStrategy.equalKeys(this.options.selectedItemKeys[0], itemKey);\r\n if (1 !== this.options.selectedItemKeys.length || !isKeysEqual) {\r\n this._setSelectedItems([itemKey], [itemData]);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n if (isSelectedItemsChanged) {\r\n when(deferred).done(() => {\r\n this._focusedItemIndex = itemIndex;\r\n !setFocusOnly && this.onSelectionChanged()\r\n });\r\n return true\r\n }\r\n },\r\n isDataItem: function(item) {\r\n return this.options.isSelectableItem(item)\r\n },\r\n isSelectable: function() {\r\n return \"single\" === this.options.mode || \"multiple\" === this.options.mode\r\n },\r\n isItemDataSelected: function(data) {\r\n return this._selectionStrategy.isItemDataSelected(data, {\r\n checkPending: true\r\n })\r\n },\r\n isItemSelected: function(arg, options) {\r\n return this._selectionStrategy.isItemKeySelected(arg, options)\r\n },\r\n _resetItemSelectionWhenShiftKeyPressed: function() {\r\n delete this._shiftFocusedItemIndex\r\n },\r\n _resetFocusedItemIndex: function() {\r\n this._focusedItemIndex = -1\r\n },\r\n changeItemSelectionWhenShiftKeyInVirtualPaging: function(loadIndex) {\r\n var loadOptions = this.options.getLoadOptions(loadIndex, this._focusedItemIndex, this._shiftFocusedItemIndex);\r\n var deferred = new Deferred;\r\n var indexOffset = loadOptions.skip;\r\n this.options.load(loadOptions).done(items => {\r\n this.changeItemSelectionWhenShiftKeyPressed(loadIndex, items, indexOffset);\r\n deferred.resolve()\r\n });\r\n return deferred.promise()\r\n },\r\n changeItemSelectionWhenShiftKeyPressed: function(itemIndex, items, indexOffset) {\r\n var isSelectedItemsChanged = false;\r\n var itemIndexStep;\r\n var indexOffsetDefined = isDefined(indexOffset);\r\n var index = indexOffsetDefined ? this._focusedItemIndex - indexOffset : this._focusedItemIndex;\r\n var keyOf = this.options.keyOf;\r\n var focusedItem = items[index];\r\n var focusedData = this.options.getItemData(focusedItem);\r\n var focusedKey = keyOf(focusedData);\r\n var isFocusedItemSelected = focusedItem && this.isItemDataSelected(focusedData);\r\n if (!isDefined(this._shiftFocusedItemIndex)) {\r\n this._shiftFocusedItemIndex = this._focusedItemIndex\r\n }\r\n var data;\r\n var itemKey;\r\n var startIndex;\r\n var endIndex;\r\n if (this._shiftFocusedItemIndex !== this._focusedItemIndex) {\r\n itemIndexStep = this._focusedItemIndex < this._shiftFocusedItemIndex ? 1 : -1;\r\n startIndex = indexOffsetDefined ? this._focusedItemIndex - indexOffset : this._focusedItemIndex;\r\n endIndex = indexOffsetDefined ? this._shiftFocusedItemIndex - indexOffset : this._shiftFocusedItemIndex;\r\n for (index = startIndex; index !== endIndex; index += itemIndexStep) {\r\n if (indexOffsetDefined || this.isDataItem(items[index])) {\r\n itemKey = keyOf(this.options.getItemData(items[index]));\r\n this._removeSelectedItem(itemKey);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n }\r\n if (itemIndex !== this._shiftFocusedItemIndex) {\r\n itemIndexStep = itemIndex < this._shiftFocusedItemIndex ? 1 : -1;\r\n startIndex = indexOffsetDefined ? itemIndex - indexOffset : itemIndex;\r\n endIndex = indexOffsetDefined ? this._shiftFocusedItemIndex - indexOffset : this._shiftFocusedItemIndex;\r\n for (index = startIndex; index !== endIndex; index += itemIndexStep) {\r\n if (indexOffsetDefined || this.isDataItem(items[index])) {\r\n data = this.options.getItemData(items[index]);\r\n itemKey = keyOf(data);\r\n this._addSelectedItem(data, itemKey);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n }\r\n if ((indexOffsetDefined || this.isDataItem(focusedItem)) && !isFocusedItemSelected) {\r\n this._addSelectedItem(focusedData, focusedKey);\r\n isSelectedItemsChanged = true\r\n }\r\n return isSelectedItemsChanged\r\n },\r\n clearSelectedItems: function() {\r\n this._setSelectedItems([], [])\r\n },\r\n selectAll: function(isOnePage) {\r\n this._resetFocusedItemIndex();\r\n if (isOnePage) {\r\n return this._onePageSelectAll(false)\r\n } else {\r\n return this.selectedItemKeys([], true, false, true)\r\n }\r\n },\r\n deselectAll: function(isOnePage) {\r\n this._resetFocusedItemIndex();\r\n if (isOnePage) {\r\n return this._onePageSelectAll(true)\r\n } else {\r\n return this.selectedItemKeys([], true, true, true)\r\n }\r\n },\r\n _onePageSelectAll: function(isDeselect) {\r\n var items = this._selectionStrategy.getSelectableItems(this.options.plainItems());\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (this.isDataItem(item)) {\r\n var itemData = this.options.getItemData(item);\r\n var itemKey = this.options.keyOf(itemData);\r\n var isSelected = this.isItemSelected(itemKey);\r\n if (!isSelected && !isDeselect) {\r\n this._addSelectedItem(itemData, itemKey)\r\n }\r\n if (isSelected && isDeselect) {\r\n this._removeSelectedItem(itemKey)\r\n }\r\n }\r\n }\r\n this.onSelectionChanged();\r\n return (new Deferred).resolve()\r\n },\r\n getSelectAllState: function(visibleOnly) {\r\n return this._selectionStrategy.getSelectAllState(visibleOnly)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport BaseCollectionWidget from \"./ui.collection_widget.base\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport PlainEditStrategy from \"./ui.collection_widget.edit.strategy.plain\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n DataSource\r\n} from \"../../data/data_source/data_source\";\r\nimport {\r\n normalizeLoadResult\r\n} from \"../../data/data_source/utils\";\r\nimport Selection from \"../selection/selection\";\r\nimport {\r\n when,\r\n Deferred,\r\n fromPromise\r\n} from \"../../core/utils/deferred\";\r\nvar ITEM_DELETING_DATA_KEY = \"dxItemDeleting\";\r\nvar NOT_EXISTING_INDEX = -1;\r\nvar indexExists = function(index) {\r\n return index !== NOT_EXISTING_INDEX\r\n};\r\nvar CollectionWidget = BaseCollectionWidget.inherit({\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n selectedItem: true\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n selectionMode: \"none\",\r\n selectionRequired: false,\r\n selectionByClick: true,\r\n selectedItems: [],\r\n selectedItemKeys: [],\r\n maxFilterLengthInRequest: 1500,\r\n keyExpr: null,\r\n selectedIndex: NOT_EXISTING_INDEX,\r\n selectedItem: null,\r\n onSelectionChanged: null,\r\n onItemReordered: null,\r\n onItemDeleting: null,\r\n onItemDeleted: null\r\n })\r\n },\r\n ctor: function(element, options) {\r\n this._userOptions = options || {};\r\n this.callBase(element, options)\r\n },\r\n _init: function() {\r\n this._initEditStrategy();\r\n this.callBase();\r\n this._initKeyGetter();\r\n this._initSelectionModule()\r\n },\r\n _initKeyGetter: function() {\r\n this._keyGetter = compileGetter(this.option(\"keyExpr\"))\r\n },\r\n _getKeysByItems: function(selectedItems) {\r\n return this._editStrategy.getKeysByItems(selectedItems)\r\n },\r\n _getItemsByKeys: function(selectedItemKeys, selectedItems) {\r\n return this._editStrategy.getItemsByKeys(selectedItemKeys, selectedItems)\r\n },\r\n _getKeyByIndex: function(index) {\r\n return this._editStrategy.getKeyByIndex(index)\r\n },\r\n _getIndexByKey: function(key) {\r\n return this._editStrategy.getIndexByKey(key)\r\n },\r\n _getIndexByItemData: function(itemData) {\r\n return this._editStrategy.getIndexByItemData(itemData)\r\n },\r\n _isKeySpecified: function() {\r\n return !!this._dataController.key()\r\n },\r\n _getCombinedFilter: function() {\r\n return this._dataController.filter()\r\n },\r\n key: function() {\r\n if (this.option(\"keyExpr\")) {\r\n return this.option(\"keyExpr\")\r\n }\r\n return this._dataController.key()\r\n },\r\n keyOf: function(item) {\r\n var key = item;\r\n if (this.option(\"keyExpr\")) {\r\n key = this._keyGetter(item)\r\n } else if (this._dataController.store()) {\r\n key = this._dataController.keyOf(item)\r\n }\r\n return key\r\n },\r\n _nullValueSelectionSupported: function() {\r\n return false\r\n },\r\n _initSelectionModule: function() {\r\n var that = this;\r\n var itemsGetter = that._editStrategy.itemsGetter;\r\n this._selection = new Selection({\r\n allowNullValue: this._nullValueSelectionSupported(),\r\n mode: this.option(\"selectionMode\"),\r\n maxFilterLengthInRequest: this.option(\"maxFilterLengthInRequest\"),\r\n equalByReference: !this._isKeySpecified(),\r\n onSelectionChanged: function(args) {\r\n if (args.addedItemKeys.length || args.removedItemKeys.length) {\r\n that.option(\"selectedItems\", that._getItemsByKeys(args.selectedItemKeys, args.selectedItems));\r\n that._updateSelectedItems(args)\r\n }\r\n },\r\n filter: that._getCombinedFilter.bind(that),\r\n totalCount: function() {\r\n var items = that.option(\"items\");\r\n var totalCount = that._dataController.totalCount();\r\n return totalCount >= 0 ? totalCount : that._getItemsCount(items)\r\n },\r\n key: that.key.bind(that),\r\n keyOf: that.keyOf.bind(that),\r\n load: function(options) {\r\n var _dataController$loadO;\r\n var dataController = that._dataController;\r\n options.customQueryParams = null === (_dataController$loadO = dataController.loadOptions()) || void 0 === _dataController$loadO ? void 0 : _dataController$loadO.customQueryParams;\r\n options.userData = dataController.userData();\r\n if (dataController.store()) {\r\n return dataController.loadFromStore(options).done((function(loadResult) {\r\n if (that._disposed) {\r\n return\r\n }\r\n var items = normalizeLoadResult(loadResult).data;\r\n dataController.applyMapFunction(items)\r\n }))\r\n } else {\r\n return (new Deferred).resolve(this.plainItems())\r\n }\r\n },\r\n dataFields: function() {\r\n return that._dataController.select()\r\n },\r\n plainItems: itemsGetter.bind(that._editStrategy)\r\n })\r\n },\r\n _getItemsCount: function(items) {\r\n return items.reduce((itemsCount, item) => itemsCount + (item.items ? this._getItemsCount(item.items) : 1), 0)\r\n },\r\n _initEditStrategy: function() {\r\n var Strategy = PlainEditStrategy;\r\n this._editStrategy = new Strategy(this)\r\n },\r\n _getSelectedItemIndices: function(keys) {\r\n var that = this;\r\n var indices = [];\r\n keys = keys || this._selection.getSelectedItemKeys();\r\n that._editStrategy.beginCache();\r\n each(keys, (function(_, key) {\r\n var selectedIndex = that._getIndexByKey(key);\r\n if (indexExists(selectedIndex)) {\r\n indices.push(selectedIndex)\r\n }\r\n }));\r\n that._editStrategy.endCache();\r\n return indices\r\n },\r\n _initMarkup: function() {\r\n this._rendering = true;\r\n if (!this._dataController.isLoading()) {\r\n this._syncSelectionOptions().done(() => this._normalizeSelectedItems())\r\n }\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._rendering = false\r\n },\r\n _fireContentReadyAction: function() {\r\n this._rendering = false;\r\n this._rendered = true;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _syncSelectionOptions: function(byOption) {\r\n byOption = byOption || this._chooseSelectOption();\r\n var selectedItem;\r\n var selectedIndex;\r\n var selectedItemKeys;\r\n var selectedItems;\r\n switch (byOption) {\r\n case \"selectedIndex\":\r\n selectedItem = this._editStrategy.getItemDataByIndex(this.option(\"selectedIndex\"));\r\n if (isDefined(selectedItem)) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [selectedItem]);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItem);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems([selectedItem]))\r\n } else {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", null)\r\n }\r\n break;\r\n case \"selectedItems\":\r\n selectedItems = this.option(\"selectedItems\") || [];\r\n selectedIndex = selectedItems.length ? this._editStrategy.getIndexByItemData(selectedItems[0]) : NOT_EXISTING_INDEX;\r\n if (this.option(\"selectionRequired\") && !indexExists(selectedIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItems[0]);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", selectedIndex);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems(selectedItems));\r\n break;\r\n case \"selectedItem\":\r\n selectedItem = this.option(\"selectedItem\");\r\n selectedIndex = this._editStrategy.getIndexByItemData(selectedItem);\r\n if (this.option(\"selectionRequired\") && !indexExists(selectedIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n if (isDefined(selectedItem)) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [selectedItem]);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", selectedIndex);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems([selectedItem]))\r\n } else {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", []);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", NOT_EXISTING_INDEX)\r\n }\r\n break;\r\n case \"selectedItemKeys\":\r\n selectedItemKeys = this.option(\"selectedItemKeys\");\r\n if (this.option(\"selectionRequired\")) {\r\n var selectedItemIndex = this._getIndexByKey(selectedItemKeys[0]);\r\n if (!indexExists(selectedItemIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n }\r\n return this._selection.setSelection(selectedItemKeys)\r\n }\r\n return (new Deferred).resolve().promise()\r\n },\r\n _chooseSelectOption: function() {\r\n var optionName = \"selectedIndex\";\r\n var isOptionDefined = function(optionName) {\r\n var optionValue = this.option(optionName);\r\n var length = isDefined(optionValue) && optionValue.length;\r\n return length || optionName in this._userOptions\r\n }.bind(this);\r\n if (isOptionDefined(\"selectedItems\")) {\r\n optionName = \"selectedItems\"\r\n } else if (isOptionDefined(\"selectedItem\")) {\r\n optionName = \"selectedItem\"\r\n } else if (isOptionDefined(\"selectedItemKeys\")) {\r\n optionName = \"selectedItemKeys\"\r\n }\r\n return optionName\r\n },\r\n _compareKeys: function(oldKeys, newKeys) {\r\n if (oldKeys.length !== newKeys.length) {\r\n return false\r\n }\r\n for (var i = 0; i < newKeys.length; i++) {\r\n if (oldKeys[i] !== newKeys[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _normalizeSelectedItems: function() {\r\n if (\"none\" === this.option(\"selectionMode\")) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._syncSelectionOptions(\"selectedItems\")\r\n } else if (\"single\" === this.option(\"selectionMode\")) {\r\n var newSelection = this.option(\"selectedItems\");\r\n if (newSelection.length > 1 || !newSelection.length && this.option(\"selectionRequired\") && this.option(\"items\") && this.option(\"items\").length) {\r\n var currentSelection = this._selection.getSelectedItems();\r\n var normalizedSelection = void 0 === newSelection[0] ? currentSelection[0] : newSelection[0];\r\n if (void 0 === normalizedSelection) {\r\n normalizedSelection = this._editStrategy.itemsGetter()[0]\r\n }\r\n if (this.option(\"grouped\") && normalizedSelection && normalizedSelection.items) {\r\n normalizedSelection.items = [normalizedSelection.items[0]]\r\n }\r\n this._selection.setSelection(this._getKeysByItems([normalizedSelection]));\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [normalizedSelection]);\r\n return this._syncSelectionOptions(\"selectedItems\")\r\n } else {\r\n this._selection.setSelection(this._getKeysByItems(newSelection))\r\n }\r\n } else {\r\n var newKeys = this._getKeysByItems(this.option(\"selectedItems\"));\r\n var oldKeys = this._selection.getSelectedItemKeys();\r\n if (!this._compareKeys(oldKeys, newKeys)) {\r\n this._selection.setSelection(newKeys)\r\n }\r\n }\r\n return (new Deferred).resolve().promise()\r\n },\r\n _itemClickHandler: function(e) {\r\n var itemSelectPromise = (new Deferred).resolve();\r\n var callBase = this.callBase;\r\n this._createAction(function(e) {\r\n var _this$_itemSelectHand;\r\n itemSelectPromise = null !== (_this$_itemSelectHand = this._itemSelectHandler(e.event)) && void 0 !== _this$_itemSelectHand ? _this$_itemSelectHand : itemSelectPromise\r\n }.bind(this), {\r\n validatingTargetName: \"itemElement\"\r\n })({\r\n itemElement: $(e.currentTarget),\r\n event: e\r\n });\r\n itemSelectPromise.always(() => {\r\n callBase.apply(this, arguments)\r\n })\r\n },\r\n _itemSelectHandler: function(e) {\r\n var _itemSelectPromise;\r\n var itemSelectPromise;\r\n if (!this.option(\"selectionByClick\")) {\r\n return\r\n }\r\n var $itemElement = e.currentTarget;\r\n if (this.isItemSelected($itemElement)) {\r\n this.unselectItem(e.currentTarget)\r\n } else {\r\n itemSelectPromise = this.selectItem(e.currentTarget)\r\n }\r\n return null === (_itemSelectPromise = itemSelectPromise) || void 0 === _itemSelectPromise ? void 0 : _itemSelectPromise.promise()\r\n },\r\n _selectedItemElement: function(index) {\r\n return this._itemElements().eq(index)\r\n },\r\n _postprocessRenderItem: function(args) {\r\n if (\"none\" !== this.option(\"selectionMode\")) {\r\n var $itemElement = $(args.itemElement);\r\n var normalizedItemIndex = this._editStrategy.getNormalizedIndex($itemElement);\r\n var isItemSelected = this._isItemSelected(normalizedItemIndex);\r\n this._processSelectableItem($itemElement, isItemSelected)\r\n }\r\n },\r\n _processSelectableItem: function($itemElement, isSelected) {\r\n $itemElement.toggleClass(this._selectedItemClass(), isSelected);\r\n this._setAriaSelected($itemElement, String(isSelected))\r\n },\r\n _updateSelectedItems: function(args) {\r\n var that = this;\r\n var addedItemKeys = args.addedItemKeys;\r\n var removedItemKeys = args.removedItemKeys;\r\n if (that._rendered && (addedItemKeys.length || removedItemKeys.length)) {\r\n var selectionChangePromise = that._selectionChangePromise;\r\n if (!that._rendering) {\r\n var addedSelection = [];\r\n var normalizedIndex;\r\n var removedSelection = [];\r\n that._editStrategy.beginCache();\r\n for (var i = 0; i < addedItemKeys.length; i++) {\r\n normalizedIndex = that._getIndexByKey(addedItemKeys[i]);\r\n addedSelection.push(normalizedIndex);\r\n that._addSelection(normalizedIndex)\r\n }\r\n for (var _i = 0; _i < removedItemKeys.length; _i++) {\r\n normalizedIndex = that._getIndexByKey(removedItemKeys[_i]);\r\n removedSelection.push(normalizedIndex);\r\n that._removeSelection(normalizedIndex)\r\n }\r\n that._editStrategy.endCache();\r\n that._updateSelection(addedSelection, removedSelection)\r\n }\r\n when(selectionChangePromise).done((function() {\r\n that._fireSelectionChangeEvent(args.addedItems, args.removedItems)\r\n }))\r\n }\r\n },\r\n _fireSelectionChangeEvent: function(addedItems, removedItems) {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })({\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n },\r\n _updateSelection: noop,\r\n _setAriaSelected: function($target, value) {\r\n this.setAria(\"selected\", value, $target)\r\n },\r\n _removeSelection: function(normalizedIndex) {\r\n var $itemElement = this._editStrategy.getItemElement(normalizedIndex);\r\n if (indexExists(normalizedIndex)) {\r\n this._processSelectableItem($itemElement, false);\r\n eventsEngine.triggerHandler($itemElement, \"stateChanged\", false)\r\n }\r\n },\r\n _addSelection: function(normalizedIndex) {\r\n var $itemElement = this._editStrategy.getItemElement(normalizedIndex);\r\n if (indexExists(normalizedIndex)) {\r\n this._processSelectableItem($itemElement, true);\r\n eventsEngine.triggerHandler($itemElement, \"stateChanged\", true)\r\n }\r\n },\r\n _isItemSelected: function(index) {\r\n var key = this._getKeyByIndex(index);\r\n return this._selection.isItemSelected(key, {\r\n checkPending: true\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"selectionMode\":\r\n this._invalidate();\r\n break;\r\n case \"dataSource\":\r\n if (!args.value || Array.isArray(args.value) && !args.value.length) {\r\n this.option(\"selectedItemKeys\", [])\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"selectedIndex\":\r\n case \"selectedItem\":\r\n case \"selectedItems\":\r\n case \"selectedItemKeys\":\r\n this._syncSelectionOptions(args.name).done(() => this._normalizeSelectedItems());\r\n break;\r\n case \"keyExpr\":\r\n this._initKeyGetter();\r\n break;\r\n case \"selectionRequired\":\r\n this._normalizeSelectedItems();\r\n break;\r\n case \"selectionByClick\":\r\n case \"onSelectionChanged\":\r\n case \"onItemDeleting\":\r\n case \"onItemDeleted\":\r\n case \"onItemReordered\":\r\n case \"maxFilterLengthInRequest\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clearSelectedItems: function() {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._syncSelectionOptions(\"selectedItems\")\r\n },\r\n _waitDeletingPrepare: function($itemElement) {\r\n if ($itemElement.data(ITEM_DELETING_DATA_KEY)) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n $itemElement.data(ITEM_DELETING_DATA_KEY, true);\r\n var deferred = new Deferred;\r\n var deletingActionArgs = {\r\n cancel: false\r\n };\r\n var deletePromise = this._itemEventHandler($itemElement, \"onItemDeleting\", deletingActionArgs, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n when(deletePromise).always(function(value) {\r\n var deletePromiseExists = !deletePromise;\r\n var deletePromiseResolved = !deletePromiseExists && \"resolved\" === deletePromise.state();\r\n var argumentsSpecified = !!arguments.length;\r\n var shouldDelete = deletePromiseExists || deletePromiseResolved && !argumentsSpecified || deletePromiseResolved && value;\r\n when(fromPromise(deletingActionArgs.cancel)).always((function() {\r\n $itemElement.data(ITEM_DELETING_DATA_KEY, false)\r\n })).done((function(cancel) {\r\n shouldDelete && !cancel ? deferred.resolve() : deferred.reject()\r\n })).fail(deferred.reject)\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n _deleteItemFromDS: function($item) {\r\n var dataController = this._dataController;\r\n var deferred = new Deferred;\r\n var disabledState = this.option(\"disabled\");\r\n var dataStore = dataController.store();\r\n if (!dataStore) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n if (!dataStore.remove) {\r\n throw errors.Error(\"E1011\")\r\n }\r\n this.option(\"disabled\", true);\r\n dataStore.remove(dataController.keyOf(this._getItemData($item))).done((function(key) {\r\n if (void 0 !== key) {\r\n deferred.resolve()\r\n } else {\r\n deferred.reject()\r\n }\r\n })).fail((function() {\r\n deferred.reject()\r\n }));\r\n deferred.always(function() {\r\n this.option(\"disabled\", disabledState)\r\n }.bind(this));\r\n return deferred\r\n },\r\n _tryRefreshLastPage: function() {\r\n var deferred = new Deferred;\r\n if (this._isLastPage() || this.option(\"grouped\")) {\r\n deferred.resolve()\r\n } else {\r\n this._refreshLastPage().done((function() {\r\n deferred.resolve()\r\n }))\r\n }\r\n return deferred.promise()\r\n },\r\n _refreshLastPage: function() {\r\n this._expectLastItemLoading();\r\n return this._dataController.load()\r\n },\r\n _updateSelectionAfterDelete: function(index) {\r\n var key = this._getKeyByIndex(index);\r\n this._selection.deselect([key])\r\n },\r\n _updateIndicesAfterIndex: function(index) {\r\n var itemElements = this._itemElements();\r\n for (var i = index + 1; i < itemElements.length; i++) {\r\n $(itemElements[i]).data(this._itemIndexKey(), i - 1)\r\n }\r\n },\r\n _simulateOptionChange: function(optionName) {\r\n var optionValue = this.option(optionName);\r\n if (optionValue instanceof DataSource) {\r\n return\r\n }\r\n this._optionChangedAction({\r\n name: optionName,\r\n fullName: optionName,\r\n value: optionValue\r\n })\r\n },\r\n isItemSelected: function(itemElement) {\r\n return this._isItemSelected(this._editStrategy.getNormalizedIndex(itemElement))\r\n },\r\n selectItem: function(itemElement) {\r\n if (\"none\" === this.option(\"selectionMode\")) {\r\n return\r\n }\r\n var itemIndex = this._editStrategy.getNormalizedIndex(itemElement);\r\n if (!indexExists(itemIndex)) {\r\n return\r\n }\r\n var key = this._getKeyByIndex(itemIndex);\r\n if (this._selection.isItemSelected(key)) {\r\n return\r\n }\r\n if (\"single\" === this.option(\"selectionMode\")) {\r\n return this._selection.setSelection([key])\r\n } else {\r\n var selectedItemKeys = this.option(\"selectedItemKeys\") || [];\r\n return this._selection.setSelection([...selectedItemKeys, key], [key])\r\n }\r\n },\r\n unselectItem: function(itemElement) {\r\n var itemIndex = this._editStrategy.getNormalizedIndex(itemElement);\r\n if (!indexExists(itemIndex)) {\r\n return\r\n }\r\n var selectedItemKeys = this._selection.getSelectedItemKeys();\r\n if (this.option(\"selectionRequired\") && selectedItemKeys.length <= 1) {\r\n return\r\n }\r\n var key = this._getKeyByIndex(itemIndex);\r\n if (!this._selection.isItemSelected(key, {\r\n checkPending: true\r\n })) {\r\n return\r\n }\r\n this._selection.deselect([key])\r\n },\r\n _deleteItemElementByIndex: function(index) {\r\n this._updateSelectionAfterDelete(index);\r\n this._updateIndicesAfterIndex(index);\r\n this._editStrategy.deleteItemAtIndex(index)\r\n },\r\n _afterItemElementDeleted: function($item, deletedActionArgs) {\r\n var changingOption = this._dataController.getDataSource() ? \"dataSource\" : \"items\";\r\n this._simulateOptionChange(changingOption);\r\n this._itemEventHandler($item, \"onItemDeleted\", deletedActionArgs, {\r\n beforeExecute: function() {\r\n $item.remove()\r\n },\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this._renderEmptyMessage()\r\n },\r\n deleteItem: function(itemElement) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n var $item = this._editStrategy.getItemElement(itemElement);\r\n var index = this._editStrategy.getNormalizedIndex(itemElement);\r\n var itemResponseWaitClass = this._itemResponseWaitClass();\r\n if (indexExists(index)) {\r\n this._waitDeletingPrepare($item).done((function() {\r\n $item.addClass(itemResponseWaitClass);\r\n var deletedActionArgs = that._extendActionArgs($item);\r\n that._deleteItemFromDS($item).done((function() {\r\n that._deleteItemElementByIndex(index);\r\n that._afterItemElementDeleted($item, deletedActionArgs);\r\n that._tryRefreshLastPage().done((function() {\r\n deferred.resolveWith(that)\r\n }))\r\n })).fail((function() {\r\n $item.removeClass(itemResponseWaitClass);\r\n deferred.rejectWith(that)\r\n }))\r\n })).fail((function() {\r\n deferred.rejectWith(that)\r\n }))\r\n } else {\r\n deferred.rejectWith(that)\r\n }\r\n return deferred.promise()\r\n },\r\n reorderItem: function(itemElement, toItemElement) {\r\n var deferred = new Deferred;\r\n var that = this;\r\n var strategy = this._editStrategy;\r\n var $movingItem = strategy.getItemElement(itemElement);\r\n var $destinationItem = strategy.getItemElement(toItemElement);\r\n var movingIndex = strategy.getNormalizedIndex(itemElement);\r\n var destinationIndex = strategy.getNormalizedIndex(toItemElement);\r\n var changingOption = this._dataController.getDataSource() ? \"dataSource\" : \"items\";\r\n var canMoveItems = indexExists(movingIndex) && indexExists(destinationIndex) && movingIndex !== destinationIndex;\r\n if (canMoveItems) {\r\n deferred.resolveWith(this)\r\n } else {\r\n deferred.rejectWith(this)\r\n }\r\n return deferred.promise().done((function() {\r\n $destinationItem[strategy.itemPlacementFunc(movingIndex, destinationIndex)]($movingItem);\r\n strategy.moveItemAtIndexToIndex(movingIndex, destinationIndex);\r\n this._updateIndicesAfterIndex(movingIndex);\r\n that.option(\"selectedItems\", that._getItemsByKeys(that._selection.getSelectedItemKeys(), that._selection.getSelectedItems()));\r\n if (\"items\" === changingOption) {\r\n that._simulateOptionChange(changingOption)\r\n }\r\n that._itemEventHandler($movingItem, \"onItemReordered\", {\r\n fromIndex: strategy.getIndex(movingIndex),\r\n toIndex: strategy.getIndex(destinationIndex)\r\n }, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }))\r\n }\r\n});\r\nexport default CollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.strategy.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isRenderer\r\n} from \"../../core/utils/type\";\r\nvar abstract = Class.abstract;\r\nvar EditStrategy = Class.inherit({\r\n ctor: function(collectionWidget) {\r\n this._collectionWidget = collectionWidget\r\n },\r\n getIndexByItemData: abstract,\r\n getItemDataByIndex: abstract,\r\n getKeysByItems: abstract,\r\n getItemsByKeys: abstract,\r\n itemsGetter: abstract,\r\n getKeyByIndex: function(index) {\r\n var resultIndex = this._denormalizeItemIndex(index);\r\n return this.getKeysByItems([this.getItemDataByIndex(resultIndex)])[0]\r\n },\r\n _equalKeys: function(key1, key2) {\r\n if (this._collectionWidget._isKeySpecified()) {\r\n return equalByValue(key1, key2)\r\n } else {\r\n return key1 === key2\r\n }\r\n },\r\n beginCache: function() {\r\n this._cache = {}\r\n },\r\n endCache: function() {\r\n this._cache = null\r\n },\r\n getIndexByKey: abstract,\r\n getNormalizedIndex: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return value\r\n }\r\n if (this._isItemIndex(value)) {\r\n return this._normalizeItemIndex(value)\r\n }\r\n if (this._isNode(value)) {\r\n return this._getNormalizedItemIndex(value)\r\n }\r\n return this._normalizeItemIndex(this.getIndexByItemData(value))\r\n },\r\n getIndex: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return this._denormalizeItemIndex(value)\r\n }\r\n if (this._isItemIndex(value)) {\r\n return value\r\n }\r\n if (this._isNode(value)) {\r\n return this._denormalizeItemIndex(this._getNormalizedItemIndex(value))\r\n }\r\n return this.getIndexByItemData(value)\r\n },\r\n getItemElement: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return this._getItemByNormalizedIndex(value)\r\n }\r\n if (this._isItemIndex(value)) {\r\n return this._getItemByNormalizedIndex(this._normalizeItemIndex(value))\r\n }\r\n if (this._isNode(value)) {\r\n return $(value)\r\n }\r\n var normalizedItemIndex = this._normalizeItemIndex(this.getIndexByItemData(value));\r\n return this._getItemByNormalizedIndex(normalizedItemIndex)\r\n },\r\n _isNode: el => domAdapter.isNode(el && isRenderer(el) ? el.get(0) : el),\r\n deleteItemAtIndex: abstract,\r\n itemPlacementFunc: function(movingIndex, destinationIndex) {\r\n return this._itemsFromSameParent(movingIndex, destinationIndex) && movingIndex < destinationIndex ? \"after\" : \"before\"\r\n },\r\n moveItemAtIndexToIndex: abstract,\r\n _isNormalizedItemIndex: function(index) {\r\n return \"number\" === typeof index && Math.round(index) === index\r\n },\r\n _isItemIndex: abstract,\r\n _getNormalizedItemIndex: abstract,\r\n _normalizeItemIndex: abstract,\r\n _denormalizeItemIndex: abstract,\r\n _getItemByNormalizedIndex: abstract,\r\n _itemsFromSameParent: abstract\r\n});\r\nexport default EditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.strategy.plain.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport EditStrategy from \"./ui.collection_widget.edit.strategy\";\r\nvar PlainEditStrategy = EditStrategy.inherit({\r\n _getPlainItems: function() {\r\n return this._collectionWidget.option(\"items\") || []\r\n },\r\n getIndexByItemData: function(itemData) {\r\n var keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget);\r\n if (keyOf) {\r\n return this.getIndexByKey(keyOf(itemData))\r\n } else {\r\n return this._getPlainItems().indexOf(itemData)\r\n }\r\n },\r\n getItemDataByIndex: function(index) {\r\n return this._getPlainItems()[index]\r\n },\r\n deleteItemAtIndex: function(index) {\r\n this._getPlainItems().splice(index, 1)\r\n },\r\n itemsGetter: function() {\r\n return this._getPlainItems()\r\n },\r\n getKeysByItems: function(items) {\r\n var keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget);\r\n var result = items;\r\n if (keyOf) {\r\n result = [];\r\n for (var i = 0; i < items.length; i++) {\r\n result.push(keyOf(items[i]))\r\n }\r\n }\r\n return result\r\n },\r\n getIndexByKey: function(key) {\r\n var cache = this._cache;\r\n var keys = cache && cache.keys || this.getKeysByItems(this._getPlainItems());\r\n if (cache && !cache.keys) {\r\n cache.keys = keys\r\n }\r\n if (\"object\" === typeof key) {\r\n for (var i = 0, length = keys.length; i < length; i++) {\r\n if (this._equalKeys(key, keys[i])) {\r\n return i\r\n }\r\n }\r\n } else {\r\n return keys.indexOf(key)\r\n }\r\n return -1\r\n },\r\n getItemsByKeys: function(keys, items) {\r\n return (items || keys).slice()\r\n },\r\n moveItemAtIndexToIndex: function(movingIndex, destinationIndex) {\r\n var items = this._getPlainItems();\r\n var movedItemData = items[movingIndex];\r\n items.splice(movingIndex, 1);\r\n items.splice(destinationIndex, 0, movedItemData)\r\n },\r\n _isItemIndex: function(index) {\r\n return \"number\" === typeof index && Math.round(index) === index\r\n },\r\n _getNormalizedItemIndex: function(itemElement) {\r\n return this._collectionWidget._itemElements().index(itemElement)\r\n },\r\n _normalizeItemIndex: function(index) {\r\n return index\r\n },\r\n _denormalizeItemIndex: function(index) {\r\n return index\r\n },\r\n _getItemByNormalizedIndex: function(index) {\r\n return index > -1 ? this._collectionWidget._itemElements().eq(index) : null\r\n },\r\n _itemsFromSameParent: function() {\r\n return true\r\n }\r\n});\r\nexport default PlainEditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/editor/editor.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n data\r\n} from \"../../core/element_data\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport ValidationEngine from \"../validation_engine\";\r\nimport EventsEngine from \"../../events/core/events_engine\";\r\nimport ValidationMessage from \"../validation_message\";\r\nimport Guid from \"../../core/guid\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n resetActiveElement\r\n} from \"../../core/utils/dom\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar READONLY_STATE_CLASS = \"dx-state-readonly\";\r\nvar INVALID_CLASS = \"dx-invalid\";\r\nvar DX_INVALID_BADGE_CLASS = \"dx-show-invalid-badge\";\r\nvar VALIDATION_TARGET = \"dx-validation-target\";\r\nvar VALIDATION_STATUS_VALID = \"valid\";\r\nvar VALIDATION_STATUS_INVALID = \"invalid\";\r\nvar READONLY_NAMESPACE = \"editorReadOnly\";\r\nvar ALLOWED_STYLING_MODES = [\"outlined\", \"filled\", \"underlined\"];\r\nvar VALIDATION_MESSAGE_KEYS_MAP = {\r\n validationMessageMode: \"mode\",\r\n validationMessagePosition: \"positionSide\",\r\n validationMessageOffset: \"offset\",\r\n validationBoundary: \"boundary\"\r\n};\r\nvar Editor = Widget.inherit({\r\n ctor: function() {\r\n this.showValidationMessageTimeout = null;\r\n this.validationRequest = Callbacks();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _createElement: function(element) {\r\n this.callBase(element);\r\n var $element = this.$element();\r\n if ($element) {\r\n data($element[0], VALIDATION_TARGET, this)\r\n }\r\n },\r\n _initOptions: function(options) {\r\n this.callBase.apply(this, arguments);\r\n this.option(ValidationEngine.initValidationOptions(options))\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._options.cache(\"validationTooltipOptions\", this.option(\"validationTooltipOptions\"));\r\n var $element = this.$element();\r\n $element.addClass(DX_INVALID_BADGE_CLASS)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: null,\r\n name: \"\",\r\n onValueChanged: null,\r\n readOnly: false,\r\n isValid: true,\r\n validationError: null,\r\n validationErrors: null,\r\n validationStatus: VALIDATION_STATUS_VALID,\r\n validationMessageMode: \"auto\",\r\n validationMessagePosition: \"bottom\",\r\n validationBoundary: void 0,\r\n validationMessageOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n validationTooltipOptions: {}\r\n })\r\n },\r\n _attachKeyboardEvents: function() {\r\n if (!this.option(\"readOnly\")) {\r\n this.callBase()\r\n }\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n validationError: true\r\n })\r\n },\r\n _createValueChangeAction: function() {\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _suppressValueChangeAction: function() {\r\n this._valueChangeActionSuppressed = true\r\n },\r\n _resumeValueChangeAction: function() {\r\n this._valueChangeActionSuppressed = false\r\n },\r\n _initMarkup: function() {\r\n var _this$option;\r\n this._toggleReadOnlyState();\r\n this._setSubmitElementName(this.option(\"name\"));\r\n this.callBase();\r\n this._renderValidationState();\r\n null === (_this$option = this.option(\"_onMarkupRendered\")) || void 0 === _this$option ? void 0 : _this$option()\r\n },\r\n _raiseValueChangeAction: function(value, previousValue) {\r\n if (!this._valueChangeAction) {\r\n this._createValueChangeAction()\r\n }\r\n this._valueChangeAction(this._valueChangeArgs(value, previousValue))\r\n },\r\n _valueChangeArgs: function(value, previousValue) {\r\n return {\r\n value: value,\r\n previousValue: previousValue,\r\n event: this._valueChangeEventInstance\r\n }\r\n },\r\n _saveValueChangeEvent: function(e) {\r\n this._valueChangeEventInstance = e\r\n },\r\n _focusInHandler: function(e) {\r\n var isValidationMessageShownOnFocus = \"auto\" === this.option(\"validationMessageMode\");\r\n if (this._canValueBeChangedByClick() && isValidationMessageShownOnFocus) {\r\n var _this$_validationMess;\r\n var $validationMessageWrapper = null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.$wrapper();\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.removeClass(INVALID_MESSAGE_AUTO);\r\n clearTimeout(this.showValidationMessageTimeout);\r\n this.showValidationMessageTimeout = setTimeout(() => null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.addClass(INVALID_MESSAGE_AUTO), 150)\r\n }\r\n return this.callBase(e)\r\n },\r\n _canValueBeChangedByClick: function() {\r\n return false\r\n },\r\n _getStylingModePrefix: function() {\r\n return \"dx-editor-\"\r\n },\r\n _renderStylingMode: function() {\r\n var optionValue = this.option(\"stylingMode\");\r\n var prefix = this._getStylingModePrefix();\r\n var allowedStylingClasses = ALLOWED_STYLING_MODES.map(mode => prefix + mode);\r\n allowedStylingClasses.forEach(className => this.$element().removeClass(className));\r\n var stylingModeClass = prefix + optionValue;\r\n if (-1 === allowedStylingClasses.indexOf(stylingModeClass)) {\r\n var defaultOptionValue = this._getDefaultOptions().stylingMode;\r\n var platformOptionValue = this._convertRulesToOptions(this._defaultOptionsRules()).stylingMode;\r\n stylingModeClass = prefix + (platformOptionValue || defaultOptionValue)\r\n }\r\n this.$element().addClass(stylingModeClass)\r\n },\r\n _getValidationErrors: function() {\r\n var validationErrors = this.option(\"validationErrors\");\r\n if (!validationErrors && this.option(\"validationError\")) {\r\n validationErrors = [this.option(\"validationError\")]\r\n }\r\n return validationErrors\r\n },\r\n _disposeValidationMessage: function() {\r\n if (this._$validationMessage) {\r\n this._$validationMessage.remove();\r\n this.setAria(\"describedby\", null);\r\n this._$validationMessage = void 0;\r\n this._validationMessage = void 0\r\n }\r\n },\r\n _toggleValidationClasses: function(isInvalid) {\r\n this.$element().toggleClass(INVALID_CLASS, isInvalid);\r\n this.setAria(VALIDATION_STATUS_INVALID, isInvalid || void 0)\r\n },\r\n _renderValidationState: function() {\r\n var isValid = this.option(\"isValid\") && this.option(\"validationStatus\") !== VALIDATION_STATUS_INVALID;\r\n var validationErrors = this._getValidationErrors();\r\n var $element = this.$element();\r\n this._toggleValidationClasses(!isValid);\r\n if (!hasWindow()) {\r\n return\r\n }\r\n this._disposeValidationMessage();\r\n if (!isValid && validationErrors) {\r\n var {\r\n validationMessageMode: validationMessageMode,\r\n validationMessagePosition: validationMessagePosition,\r\n validationMessageOffset: validationMessageOffset,\r\n validationBoundary: validationBoundary,\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n this._$validationMessage = $(\"
\").appendTo($element);\r\n var validationMessageContentId = \"dx-\".concat(new Guid);\r\n this.setAria(\"describedby\", validationMessageContentId);\r\n this._validationMessage = new ValidationMessage(this._$validationMessage, extend({\r\n validationErrors: validationErrors,\r\n rtlEnabled: rtlEnabled,\r\n target: this._getValidationMessageTarget(),\r\n visualContainer: $element,\r\n mode: validationMessageMode,\r\n positionSide: validationMessagePosition,\r\n offset: validationMessageOffset,\r\n boundary: validationBoundary,\r\n contentId: validationMessageContentId\r\n }, this._options.cache(\"validationTooltipOptions\")));\r\n this._bindInnerWidgetOptions(this._validationMessage, \"validationTooltipOptions\")\r\n }\r\n },\r\n _getValidationMessageTarget: function() {\r\n return this.$element()\r\n },\r\n _toggleReadOnlyState: function() {\r\n var readOnly = this.option(\"readOnly\");\r\n this._toggleBackspaceHandler(readOnly);\r\n this.$element().toggleClass(READONLY_STATE_CLASS, !!readOnly);\r\n this.setAria(\"readonly\", readOnly || void 0)\r\n },\r\n _toggleBackspaceHandler: function(isReadOnly) {\r\n var $eventTarget = this._keyboardEventBindingTarget();\r\n var eventName = addNamespace(\"keydown\", READONLY_NAMESPACE);\r\n EventsEngine.off($eventTarget, eventName);\r\n if (isReadOnly) {\r\n EventsEngine.on($eventTarget, eventName, e => {\r\n if (\"backspace\" === normalizeKeyName(e)) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n },\r\n _dispose: function() {\r\n var element = this.$element()[0];\r\n data(element, VALIDATION_TARGET, null);\r\n clearTimeout(this.showValidationMessageTimeout);\r\n this._disposeValidationMessage();\r\n this.callBase()\r\n },\r\n _setSubmitElementName: function(name) {\r\n var $submitElement = this._getSubmitElement();\r\n if (!$submitElement) {\r\n return\r\n }\r\n if (name.length > 0) {\r\n $submitElement.attr(\"name\", name)\r\n } else {\r\n $submitElement.removeAttr(\"name\")\r\n }\r\n },\r\n _getSubmitElement: function() {\r\n return null\r\n },\r\n _setValidationMessageOption: function(_ref) {\r\n var _this$_validationMess2;\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n var optionKey = VALIDATION_MESSAGE_KEYS_MAP[name] ? VALIDATION_MESSAGE_KEYS_MAP[name] : name;\r\n null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option(optionKey, value)\r\n },\r\n _hasActiveElement: noop,\r\n _optionChanged: function(args) {\r\n var _this$_validationMess3;\r\n switch (args.name) {\r\n case \"onValueChanged\":\r\n this._createValueChangeAction();\r\n break;\r\n case \"readOnly\":\r\n this._toggleReadOnlyState();\r\n this._refreshFocusState();\r\n break;\r\n case \"value\":\r\n if (args.value != args.previousValue) {\r\n this.validationRequest.fire({\r\n value: args.value,\r\n editor: this\r\n })\r\n }\r\n if (!this._valueChangeActionSuppressed) {\r\n this._raiseValueChangeAction(args.value, args.previousValue);\r\n this._saveValueChangeEvent(void 0)\r\n }\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n null === (_this$_validationMess3 = this._validationMessage) || void 0 === _this$_validationMess3 ? void 0 : _this$_validationMess3.updateMaxWidth();\r\n break;\r\n case \"name\":\r\n this._setSubmitElementName(args.value);\r\n break;\r\n case \"isValid\":\r\n case \"validationError\":\r\n case \"validationErrors\":\r\n case \"validationStatus\":\r\n this.option(ValidationEngine.synchronizeValidationOptions(args, this.option()));\r\n this._renderValidationState();\r\n break;\r\n case \"validationBoundary\":\r\n case \"validationMessageMode\":\r\n case \"validationMessagePosition\":\r\n case \"validationMessageOffset\":\r\n this._setValidationMessageOption(args);\r\n break;\r\n case \"rtlEnabled\":\r\n this._setValidationMessageOption(args);\r\n this.callBase(args);\r\n break;\r\n case \"validationTooltipOptions\":\r\n this._innerWidgetOptionChanged(this._validationMessage, args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n blur: function() {\r\n if (this._hasActiveElement()) {\r\n resetActiveElement()\r\n }\r\n },\r\n reset: function() {\r\n var defaultOptions = this._getDefaultOptions();\r\n this.option(\"value\", defaultOptions.value)\r\n }\r\n});\r\nEditor.isEditor = instance => instance instanceof Editor;\r\nexport default Editor;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator_menu_helper.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar EditDecoratorMenuHelperMixin = {\r\n _menuEnabled: function() {\r\n return !!this._menuItems().length\r\n },\r\n _menuItems: function() {\r\n return this._list.option(\"menuItems\")\r\n },\r\n _deleteEnabled: function() {\r\n return this._list.option(\"allowItemDeleting\")\r\n },\r\n _fireMenuAction: function($itemElement, action) {\r\n this._list._itemEventHandlerByHandler($itemElement, action, {}, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n};\r\nexport default EditDecoratorMenuHelperMixin;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.context.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight,\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport EditDecoratorMenuHelperMixin from \"./ui.list.edit.decorator_menu_helper\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport {\r\n ListBase\r\n} from \"./ui.list.base\";\r\nvar CONTEXTMENU_CLASS = \"dx-list-context-menu\";\r\nvar CONTEXTMENU_MENUCONTENT_CLASS = \"dx-list-context-menucontent\";\r\nregisterDecorator(\"menu\", \"context\", EditDecorator.inherit({\r\n _init: function() {\r\n var $menu = $(\"
\").addClass(CONTEXTMENU_CLASS);\r\n this._list.$element().append($menu);\r\n this._menu = this._renderOverlay($menu)\r\n },\r\n _renderOverlay: function($element) {\r\n return this._list._createComponent($element, Overlay, {\r\n shading: false,\r\n deferRendering: true,\r\n hideOnParentScroll: true,\r\n hideOnOutsideClick: function(e) {\r\n return !$(e.target).closest(\".\" + CONTEXTMENU_CLASS).length\r\n },\r\n animation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n height: 0,\r\n opacity: 1\r\n },\r\n to: {\r\n height: function() {\r\n return getOuterHeight(this._$menuList)\r\n }.bind(this),\r\n opacity: 1\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 0,\r\n from: {\r\n opacity: 1\r\n },\r\n to: {\r\n opacity: 0\r\n }\r\n }\r\n },\r\n _ignoreFunctionValueDeprecation: true,\r\n height: function() {\r\n return this._$menuList ? getOuterHeight(this._$menuList) : 0\r\n }.bind(this),\r\n width: function() {\r\n return getOuterWidth(this._list.$element())\r\n }.bind(this),\r\n onContentReady: this._renderMenuContent.bind(this)\r\n })\r\n },\r\n _renderMenuContent: function(e) {\r\n var $overlayContent = e.component.$content();\r\n var items = this._menuItems().slice();\r\n if (this._deleteEnabled()) {\r\n items.push({\r\n text: messageLocalization.format(\"dxListEditDecorator-delete\"),\r\n action: this._deleteItem.bind(this)\r\n })\r\n }\r\n this._$menuList = $(\"
\");\r\n this._list._createComponent(this._$menuList, ListBase, {\r\n items: items,\r\n onItemClick: this._menuItemClickHandler.bind(this),\r\n height: \"auto\",\r\n integrationOptions: {}\r\n });\r\n $overlayContent.addClass(CONTEXTMENU_MENUCONTENT_CLASS);\r\n $overlayContent.append(this._$menuList)\r\n },\r\n _menuItemClickHandler: function(args) {\r\n this._menu.hide();\r\n this._fireMenuAction(this._$itemWithMenu, args.itemData.action)\r\n },\r\n _deleteItem: function() {\r\n this._list.deleteItem(this._$itemWithMenu)\r\n },\r\n handleContextMenu: function($itemElement) {\r\n this._$itemWithMenu = $itemElement;\r\n this._menu.option({\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: $itemElement,\r\n collision: \"flip\"\r\n }\r\n });\r\n this._menu.show();\r\n return true\r\n },\r\n dispose: function() {\r\n if (this._menu) {\r\n this._menu.$element().remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n}).include(EditDecoratorMenuHelperMixin));\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.switchable.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight,\r\n setHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nvar abstract = EditDecorator.abstract;\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n active\r\n} from \"../../events/core/emitter.feedback\";\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar POINTER_DOWN_EVENT_NAME = addNamespace(pointerEvents.down, LIST_EDIT_DECORATOR);\r\nvar ACTIVE_EVENT_NAME = addNamespace(active, LIST_EDIT_DECORATOR);\r\nvar LIST_ITEM_CONTENT_CLASS = \"dx-list-item-content\";\r\nvar SWITCHABLE_DELETE_READY_CLASS = \"dx-list-switchable-delete-ready\";\r\nvar SWITCHABLE_MENU_SHIELD_POSITIONING_CLASS = \"dx-list-switchable-menu-shield-positioning\";\r\nvar SWITCHABLE_DELETE_TOP_SHIELD_CLASS = \"dx-list-switchable-delete-top-shield\";\r\nvar SWITCHABLE_DELETE_BOTTOM_SHIELD_CLASS = \"dx-list-switchable-delete-bottom-shield\";\r\nvar SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS = \"dx-list-switchable-menu-item-shield-positioning\";\r\nvar SWITCHABLE_DELETE_ITEM_CONTENT_SHIELD_CLASS = \"dx-list-switchable-delete-item-content-shield\";\r\nvar SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS = \"dx-list-switchable-delete-button-container\";\r\nvar SwitchableEditDecorator = EditDecorator.inherit({\r\n _init: function() {\r\n this._$topShield = $(\"
\").addClass(SWITCHABLE_DELETE_TOP_SHIELD_CLASS);\r\n this._$bottomShield = $(\"
\").addClass(SWITCHABLE_DELETE_BOTTOM_SHIELD_CLASS);\r\n this._$itemContentShield = $(\"
\").addClass(SWITCHABLE_DELETE_ITEM_CONTENT_SHIELD_CLASS);\r\n eventsEngine.on(this._$topShield, POINTER_DOWN_EVENT_NAME, this._cancelDeleteReadyItem.bind(this));\r\n eventsEngine.on(this._$bottomShield, POINTER_DOWN_EVENT_NAME, this._cancelDeleteReadyItem.bind(this));\r\n this._list.$element().append(this._$topShield.toggle(false)).append(this._$bottomShield.toggle(false))\r\n },\r\n handleClick: function() {\r\n return this._cancelDeleteReadyItem()\r\n },\r\n _cancelDeleteReadyItem: function() {\r\n if (!this._$readyToDeleteItem) {\r\n return false\r\n }\r\n this._cancelDelete(this._$readyToDeleteItem);\r\n return true\r\n },\r\n _cancelDelete: function($itemElement) {\r\n this._toggleDeleteReady($itemElement, false)\r\n },\r\n _toggleDeleteReady: function($itemElement, readyToDelete) {\r\n if (void 0 === readyToDelete) {\r\n readyToDelete = !this._isReadyToDelete($itemElement)\r\n }\r\n this._toggleShields($itemElement, readyToDelete);\r\n this._toggleScrolling(readyToDelete);\r\n this._cacheReadyToDeleteItem($itemElement, readyToDelete);\r\n this._animateToggleDelete($itemElement, readyToDelete)\r\n },\r\n _isReadyToDelete: function($itemElement) {\r\n return $itemElement.hasClass(SWITCHABLE_DELETE_READY_CLASS)\r\n },\r\n _toggleShields: function($itemElement, enabled) {\r\n this._list.$element().toggleClass(SWITCHABLE_MENU_SHIELD_POSITIONING_CLASS, enabled);\r\n this._$topShield.toggle(enabled);\r\n this._$bottomShield.toggle(enabled);\r\n if (enabled) {\r\n this._updateShieldsHeight($itemElement)\r\n }\r\n this._toggleContentShield($itemElement, enabled)\r\n },\r\n _updateShieldsHeight: function($itemElement) {\r\n var $list = this._list.$element();\r\n var listTopOffset = $list.offset().top;\r\n var listHeight = getOuterHeight($list);\r\n var itemTopOffset = $itemElement.offset().top;\r\n var itemHeight = getOuterHeight($itemElement);\r\n var dirtyTopShieldHeight = itemTopOffset - listTopOffset;\r\n var dirtyBottomShieldHeight = listHeight - itemHeight - dirtyTopShieldHeight;\r\n setHeight(this._$topShield, Math.max(dirtyTopShieldHeight, 0));\r\n setHeight(this._$bottomShield, Math.max(dirtyBottomShieldHeight, 0))\r\n },\r\n _toggleContentShield: function($itemElement, enabled) {\r\n if (enabled) {\r\n $itemElement.find(\".\" + LIST_ITEM_CONTENT_CLASS).first().append(this._$itemContentShield)\r\n } else {\r\n this._$itemContentShield.detach()\r\n }\r\n },\r\n _toggleScrolling: function(readyToDelete) {\r\n var scrollView = this._list.$element().dxScrollView(\"instance\");\r\n if (readyToDelete) {\r\n scrollView.on(\"start\", this._cancelScrolling)\r\n } else {\r\n scrollView.off(\"start\", this._cancelScrolling)\r\n }\r\n },\r\n _cancelScrolling: function(args) {\r\n args.event.cancel = true\r\n },\r\n _cacheReadyToDeleteItem: function($itemElement, cache) {\r\n if (cache) {\r\n this._$readyToDeleteItem = $itemElement\r\n } else {\r\n delete this._$readyToDeleteItem\r\n }\r\n },\r\n _animateToggleDelete: function($itemElement, readyToDelete) {\r\n if (readyToDelete) {\r\n this._enablePositioning($itemElement);\r\n this._prepareDeleteReady($itemElement);\r\n this._animatePrepareDeleteReady($itemElement);\r\n eventsEngine.off($itemElement, pointerEvents.up)\r\n } else {\r\n this._forgetDeleteReady($itemElement);\r\n this._animateForgetDeleteReady($itemElement).done(this._disablePositioning.bind(this, $itemElement))\r\n }\r\n },\r\n _enablePositioning: function($itemElement) {\r\n $itemElement.addClass(SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS);\r\n eventsEngine.on($itemElement, ACTIVE_EVENT_NAME, noop);\r\n eventsEngine.one($itemElement, pointerEvents.up, this._disablePositioning.bind(this, $itemElement))\r\n },\r\n _disablePositioning: function($itemElement) {\r\n $itemElement.removeClass(SWITCHABLE_MENU_ITEM_SHIELD_POSITIONING_CLASS);\r\n eventsEngine.off($itemElement, ACTIVE_EVENT_NAME)\r\n },\r\n _prepareDeleteReady: function($itemElement) {\r\n $itemElement.addClass(SWITCHABLE_DELETE_READY_CLASS)\r\n },\r\n _forgetDeleteReady: function($itemElement) {\r\n $itemElement.removeClass(SWITCHABLE_DELETE_READY_CLASS)\r\n },\r\n _animatePrepareDeleteReady: abstract,\r\n _animateForgetDeleteReady: abstract,\r\n _getDeleteButtonContainer: function($itemElement) {\r\n $itemElement = $itemElement || this._$readyToDeleteItem;\r\n return $itemElement.children(\".\" + SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS)\r\n },\r\n _deleteItem: function($itemElement) {\r\n $itemElement = $itemElement || this._$readyToDeleteItem;\r\n this._getDeleteButtonContainer($itemElement).detach();\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n this._list.deleteItem($itemElement).always(this._cancelDelete.bind(this, $itemElement))\r\n },\r\n _isRtlEnabled: function() {\r\n return this._list.option(\"rtlEnabled\")\r\n },\r\n dispose: function() {\r\n if (this._$topShield) {\r\n this._$topShield.remove()\r\n }\r\n if (this._$bottomShield) {\r\n this._$bottomShield.remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n});\r\nexport default SwitchableEditDecorator;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.switchable.button.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport fx from \"../../animation/fx\";\r\nimport Button from \"../button\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport SwitchableEditDecorator from \"./ui.list.edit.decorator.switchable\";\r\nvar SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS = \"dx-list-switchable-delete-button-container\";\r\nvar SWITCHABLE_DELETE_BUTTON_WRAPPER_CLASS = \"dx-list-switchable-delete-button-wrapper\";\r\nvar SWITCHABLE_DELETE_BUTTON_INNER_WRAPPER_CLASS = \"dx-list-switchable-delete-button-inner-wrapper\";\r\nvar SWITCHABLE_DELETE_BUTTON_CLASS = \"dx-list-switchable-delete-button\";\r\nvar SWITCHABLE_DELETE_BUTTON_ANIMATION_DURATION = 200;\r\nvar SwitchableButtonEditDecorator = SwitchableEditDecorator.inherit({\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n var $buttonContainer = $(\"
\").addClass(SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS);\r\n var $buttonWrapper = $(\"
\").addClass(SWITCHABLE_DELETE_BUTTON_WRAPPER_CLASS);\r\n var $buttonInnerWrapper = $(\"
\").addClass(SWITCHABLE_DELETE_BUTTON_INNER_WRAPPER_CLASS);\r\n var $button = $(\"
\").addClass(SWITCHABLE_DELETE_BUTTON_CLASS);\r\n this._list._createComponent($button, Button, {\r\n text: messageLocalization.format(\"dxListEditDecorator-delete\"),\r\n type: \"danger\",\r\n onClick: function(e) {\r\n this._deleteItem();\r\n e.event.stopPropagation()\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $buttonContainer.append($buttonWrapper);\r\n $buttonWrapper.append($buttonInnerWrapper);\r\n $buttonInnerWrapper.append($button);\r\n this._$buttonContainer = $buttonContainer\r\n },\r\n _enablePositioning: function($itemElement) {\r\n this.callBase.apply(this, arguments);\r\n fx.stop(this._$buttonContainer, true);\r\n this._$buttonContainer.appendTo($itemElement)\r\n },\r\n _disablePositioning: function() {\r\n this.callBase.apply(this, arguments);\r\n this._$buttonContainer.detach()\r\n },\r\n _animatePrepareDeleteReady: function() {\r\n var rtl = this._isRtlEnabled();\r\n var listWidth = getWidth(this._list.$element());\r\n var buttonWidth = this._buttonWidth();\r\n var fromValue = rtl ? listWidth : -buttonWidth;\r\n var toValue = rtl ? listWidth - buttonWidth : 0;\r\n return fx.animate(this._$buttonContainer, {\r\n type: \"custom\",\r\n duration: SWITCHABLE_DELETE_BUTTON_ANIMATION_DURATION,\r\n from: {\r\n right: fromValue\r\n },\r\n to: {\r\n right: toValue\r\n }\r\n })\r\n },\r\n _animateForgetDeleteReady: function() {\r\n var rtl = this._isRtlEnabled();\r\n var listWidth = getWidth(this._list.$element());\r\n var buttonWidth = this._buttonWidth();\r\n var fromValue = rtl ? listWidth - buttonWidth : 0;\r\n var toValue = rtl ? listWidth : -buttonWidth;\r\n return fx.animate(this._$buttonContainer, {\r\n type: \"custom\",\r\n duration: SWITCHABLE_DELETE_BUTTON_ANIMATION_DURATION,\r\n from: {\r\n right: fromValue\r\n },\r\n to: {\r\n right: toValue\r\n }\r\n })\r\n },\r\n _buttonWidth: function() {\r\n if (!this._buttonContainerWidth) {\r\n this._buttonContainerWidth = getOuterWidth(this._$buttonContainer)\r\n }\r\n return this._buttonContainerWidth\r\n },\r\n dispose: function() {\r\n if (this._$buttonContainer) {\r\n this._$buttonContainer.remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n});\r\nvar TOGGLE_DELETE_SWITCH_CONTAINER_CLASS = \"dx-list-toggle-delete-switch-container\";\r\nvar TOGGLE_DELETE_SWITCH_CLASS = \"dx-list-toggle-delete-switch\";\r\nregisterDecorator(\"delete\", \"toggle\", SwitchableButtonEditDecorator.inherit({\r\n beforeBag: function(config) {\r\n var $itemElement = config.$itemElement;\r\n var $container = config.$container;\r\n var $toggle = $(\"
\").addClass(TOGGLE_DELETE_SWITCH_CLASS);\r\n this._list._createComponent($toggle, Button, {\r\n icon: \"toggle-delete\",\r\n onClick: function(e) {\r\n fx.stop(this._$buttonContainer, false);\r\n this._toggleDeleteReady($itemElement);\r\n e.event.stopPropagation()\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $container.addClass(TOGGLE_DELETE_SWITCH_CONTAINER_CLASS);\r\n $container.append($toggle)\r\n }\r\n}));\r\nregisterDecorator(\"delete\", \"slideButton\", SwitchableButtonEditDecorator.inherit({\r\n _shouldHandleSwipe: true,\r\n _swipeEndHandler: function($itemElement, args) {\r\n if (0 !== args.targetOffset) {\r\n fx.stop(this._$buttonContainer, false);\r\n this._toggleDeleteReady($itemElement)\r\n }\r\n return true\r\n }\r\n}));\r\nexport default SwitchableButtonEditDecorator;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/resizable/utils.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isWindow\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n getOuterWidth,\r\n getInnerWidth,\r\n getOuterHeight,\r\n getInnerHeight,\r\n getOffset\r\n} from \"../../../core/utils/size\";\r\nexport var borderWidthStyles = {\r\n left: \"borderLeftWidth\",\r\n top: \"borderTopWidth\",\r\n right: \"borderRightWidth\",\r\n bottom: \"borderBottomWidth\"\r\n};\r\n\r\nfunction getBorderWidth(el, direction) {\r\n if (!isWindow(el)) {\r\n var borderWidth = el.style[borderWidthStyles[direction]];\r\n return parseInt(borderWidth, 10) || 0\r\n }\r\n return 0\r\n}\r\nvar correctGeometry = function(area, mainEl) {\r\n var el = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : void 0;\r\n var {\r\n height: height,\r\n offset: offset,\r\n width: width\r\n } = area;\r\n var {\r\n left: left,\r\n top: top\r\n } = offset;\r\n var areaBorderLeft = el ? getBorderWidth(el, \"left\") : 0;\r\n var areaBorderTop = el ? getBorderWidth(el, \"top\") : 0;\r\n return {\r\n width: width - getOuterWidth(mainEl) - getInnerWidth(mainEl),\r\n height: height - getOuterHeight(mainEl) - getInnerHeight(mainEl),\r\n offset: {\r\n left: left + areaBorderLeft + getBorderWidth(mainEl, \"left\"),\r\n top: top + areaBorderTop + getBorderWidth(mainEl, \"top\")\r\n }\r\n }\r\n};\r\nexport var getAreaFromElement = (el, mainEl) => correctGeometry({\r\n width: getInnerWidth(el),\r\n height: getInnerHeight(el),\r\n offset: extend({\r\n top: 0,\r\n left: 0\r\n }, isWindow(el) ? {} : getOffset(el))\r\n}, mainEl, el);\r\nexport var getAreaFromObject = (_ref, mainEl) => {\r\n var {\r\n bottom: bottom,\r\n left: left,\r\n right: right,\r\n top: top\r\n } = _ref;\r\n return correctGeometry({\r\n width: right - left,\r\n height: bottom - top,\r\n offset: {\r\n left: left,\r\n top: top\r\n }\r\n }, mainEl)\r\n};\r\nexport var getMovingSides = el => {\r\n var {\r\n className: className\r\n } = el;\r\n var hasCornerTopLeftClass = className.includes(\"dx-resizable-handle-corner-top-left\");\r\n var hasCornerTopRightClass = className.includes(\"dx-resizable-handle-corner-top-right\");\r\n var hasCornerBottomLeftClass = className.includes(\"dx-resizable-handle-corner-bottom-left\");\r\n var hasCornerBottomRightClass = className.includes(\"dx-resizable-handle-corner-bottom-right\");\r\n return {\r\n top: className.includes(\"dx-resizable-handle-top\") || hasCornerTopLeftClass || hasCornerTopRightClass,\r\n left: className.includes(\"dx-resizable-handle-left\") || hasCornerTopLeftClass || hasCornerBottomLeftClass,\r\n bottom: className.includes(\"dx-resizable-handle-bottom\") || hasCornerBottomLeftClass || hasCornerBottomRightClass,\r\n right: className.includes(\"dx-resizable-handle-right\") || hasCornerTopRightClass || hasCornerBottomRightClass\r\n }\r\n};\r\nexport function getDragOffsets(area, handleEl, areaProp) {\r\n var hWidth = getOuterWidth(handleEl);\r\n var hHeight = getOuterHeight(handleEl);\r\n var hOffset = getOffset(handleEl);\r\n var areaOffset = area.offset;\r\n var isAreaWindow = isWindow(areaProp);\r\n var scrollOffset_scrollX = isAreaWindow ? areaProp.pageXOffset : 0,\r\n scrollOffset_scrollY = isAreaWindow ? areaProp.pageYOffset : 0;\r\n return {\r\n maxLeftOffset: hOffset.left - areaOffset.left - scrollOffset_scrollX,\r\n maxRightOffset: areaOffset.left + area.width - hOffset.left - hWidth + scrollOffset_scrollX,\r\n maxTopOffset: hOffset.top - areaOffset.top - scrollOffset_scrollY,\r\n maxBottomOffset: areaOffset.top + area.height - hOffset.top - hHeight + scrollOffset_scrollY\r\n }\r\n}\r\nexport var filterOffsets = (offset, handleEl) => {\r\n var sides = getMovingSides(handleEl);\r\n var offsetX = !sides.left && !sides.right ? 0 : offset.x;\r\n var offsetY = !sides.top && !sides.bottom ? 0 : offset.y;\r\n return {\r\n x: offsetX,\r\n y: offsetY\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/popover/popover_position_controller.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"shading\", \"target\", \"$arrow\"];\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport positionUtils from \"../../animation/position\";\r\nimport {\r\n pairToObject\r\n} from \"../../core/utils/common\";\r\nimport {\r\n borderWidthStyles\r\n} from \"../../renovation/ui/resizable/utils\";\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n OverlayPositionController\r\n} from \"../overlay/overlay_position_controller\";\r\nvar WEIGHT_OF_SIDES = {\r\n left: -1,\r\n top: -1,\r\n center: 0,\r\n right: 1,\r\n bottom: 1\r\n};\r\nvar POPOVER_POSITION_ALIASES = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\",\r\n collision: \"fit flip\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\",\r\n collision: \"fit flip\"\r\n },\r\n right: {\r\n my: \"left center\",\r\n at: \"right center\",\r\n collision: \"flip fit\"\r\n },\r\n left: {\r\n my: \"right center\",\r\n at: \"left center\",\r\n collision: \"flip fit\"\r\n }\r\n};\r\nvar POPOVER_DEFAULT_BOUNDARY_OFFSET = {\r\n h: 10,\r\n v: 10\r\n};\r\nclass PopoverPositionController extends OverlayPositionController {\r\n constructor(_ref) {\r\n var {\r\n shading: shading,\r\n target: target,\r\n $arrow: $arrow\r\n } = _ref, args = _objectWithoutPropertiesLoose(_ref, _excluded);\r\n super(args);\r\n this._props = _extends({}, this._props, {\r\n shading: shading,\r\n target: target\r\n });\r\n this._$arrow = $arrow;\r\n this._positionSide = void 0;\r\n this.updatePosition(this._props.position)\r\n }\r\n positionWrapper() {\r\n if (this._props.shading) {\r\n this._$wrapper.css({\r\n top: 0,\r\n left: 0\r\n })\r\n }\r\n }\r\n updateTarget(target) {\r\n this._props.target = target;\r\n this.updatePosition(this._props.position)\r\n }\r\n _renderBoundaryOffset() {}\r\n _getContainerPosition() {\r\n var offset = pairToObject(this._position.offset || \"\");\r\n var {\r\n h: hOffset,\r\n v: vOffset\r\n } = offset;\r\n var isVerticalSide = this._isVerticalSide();\r\n var isHorizontalSide = this._isHorizontalSide();\r\n if (isVerticalSide || isHorizontalSide) {\r\n var isPopoverInside = this._isPopoverInside();\r\n var sign = (isPopoverInside ? -1 : 1) * WEIGHT_OF_SIDES[this._positionSide];\r\n var arrowSize = isVerticalSide ? getHeight(this._$arrow) : getWidth(this._$arrow);\r\n var arrowSizeCorrection = this._getContentBorderWidth(this._positionSide);\r\n var arrowOffset = sign * (arrowSize - arrowSizeCorrection);\r\n isVerticalSide ? vOffset += arrowOffset : hOffset += arrowOffset\r\n }\r\n return extend({}, this._position, {\r\n offset: hOffset + \" \" + vOffset\r\n })\r\n }\r\n _getContentBorderWidth(side) {\r\n var borderWidth = this._$content.css(borderWidthStyles[side]);\r\n return parseInt(borderWidth) || 0\r\n }\r\n _isPopoverInside() {\r\n var my = positionUtils.setup.normalizeAlign(this._position.my);\r\n var at = positionUtils.setup.normalizeAlign(this._position.at);\r\n return my.h === at.h && my.v === at.v\r\n }\r\n _isVerticalSide() {\r\n var side = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._positionSide;\r\n return \"top\" === side || \"bottom\" === side\r\n }\r\n _isHorizontalSide() {\r\n var side = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._positionSide;\r\n return \"left\" === side || \"right\" === side\r\n }\r\n _getDisplaySide(position) {\r\n var my = positionUtils.setup.normalizeAlign(position.my);\r\n var at = positionUtils.setup.normalizeAlign(position.at);\r\n var weightSign = WEIGHT_OF_SIDES[my.h] === WEIGHT_OF_SIDES[at.h] && WEIGHT_OF_SIDES[my.v] === WEIGHT_OF_SIDES[at.v] ? -1 : 1;\r\n var horizontalWeight = Math.abs(WEIGHT_OF_SIDES[my.h] - weightSign * WEIGHT_OF_SIDES[at.h]);\r\n var verticalWeight = Math.abs(WEIGHT_OF_SIDES[my.v] - weightSign * WEIGHT_OF_SIDES[at.v]);\r\n return horizontalWeight > verticalWeight ? at.h : at.v\r\n }\r\n _normalizePosition(positionProp) {\r\n var defaultPositionConfig = {\r\n of: this._props.target,\r\n boundaryOffset: POPOVER_DEFAULT_BOUNDARY_OFFSET\r\n };\r\n var resultPosition;\r\n if (isDefined(positionProp)) {\r\n resultPosition = extend(true, {}, defaultPositionConfig, this._positionToObject(positionProp))\r\n } else {\r\n resultPosition = defaultPositionConfig\r\n }\r\n this._positionSide = this._getDisplaySide(resultPosition);\r\n return resultPosition\r\n }\r\n _positionToObject(positionProp) {\r\n if (isString(positionProp)) {\r\n return extend({}, POPOVER_POSITION_ALIASES[positionProp])\r\n }\r\n return positionProp\r\n }\r\n}\r\nexport {\r\n PopoverPositionController,\r\n POPOVER_POSITION_ALIASES\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/popover/ui.popover.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n setWidth,\r\n getHeight,\r\n setHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport positionUtils from \"../../animation/position\";\r\nimport {\r\n isObject,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport {\r\n PopoverPositionController,\r\n POPOVER_POSITION_ALIASES\r\n} from \"./popover_position_controller\";\r\nvar POPOVER_CLASS = \"dx-popover\";\r\nvar POPOVER_WRAPPER_CLASS = \"dx-popover-wrapper\";\r\nvar POPOVER_ARROW_CLASS = \"dx-popover-arrow\";\r\nvar POPOVER_WITHOUT_TITLE_CLASS = \"dx-popover-without-title\";\r\nvar POSITION_FLIP_MAP = {\r\n left: \"right\",\r\n top: \"bottom\",\r\n right: \"left\",\r\n bottom: \"top\",\r\n center: \"center\"\r\n};\r\nvar getEventNameByOption = function(optionValue) {\r\n return isObject(optionValue) ? optionValue.name : optionValue\r\n};\r\nvar getEventName = function(that, optionName) {\r\n var optionValue = that.option(optionName);\r\n return getEventNameByOption(optionValue)\r\n};\r\nvar getEventDelay = function(that, optionName) {\r\n var optionValue = that.option(optionName);\r\n return isObject(optionValue) && optionValue.delay\r\n};\r\nvar attachEvent = function(that, name) {\r\n var {\r\n target: target,\r\n shading: shading,\r\n disabled: disabled,\r\n hideEvent: hideEvent\r\n } = that.option();\r\n var isSelector = isString(target);\r\n var shouldIgnoreHideEvent = shading && \"hide\" === name;\r\n var event = shouldIgnoreHideEvent ? null : getEventName(that, \"\".concat(name, \"Event\"));\r\n if (shouldIgnoreHideEvent && hideEvent) {\r\n errors.log(\"W1020\")\r\n }\r\n if (!event || disabled) {\r\n return\r\n }\r\n var eventName = addNamespace(event, that.NAME);\r\n var action = that._createAction(function() {\r\n var delay = getEventDelay(that, name + \"Event\");\r\n this._clearEventsTimeouts();\r\n if (delay) {\r\n this._timeouts[name] = setTimeout((function() {\r\n that[name]()\r\n }), delay)\r\n } else {\r\n that[name]()\r\n }\r\n }.bind(that), {\r\n validatingTargetName: \"target\"\r\n });\r\n var handler = function(e) {\r\n action({\r\n event: e,\r\n target: $(e.currentTarget)\r\n })\r\n };\r\n var EVENT_HANDLER_NAME = \"_\" + name + \"EventHandler\";\r\n if (isSelector) {\r\n that[EVENT_HANDLER_NAME] = handler;\r\n eventsEngine.on(domAdapter.getDocument(), eventName, target, handler)\r\n } else {\r\n var targetElement = getPublicElement($(target));\r\n that[EVENT_HANDLER_NAME] = void 0;\r\n eventsEngine.on(targetElement, eventName, handler)\r\n }\r\n};\r\nvar detachEvent = function(that, target, name, event) {\r\n var eventName = event || getEventName(that, name + \"Event\");\r\n if (!eventName) {\r\n return\r\n }\r\n eventName = addNamespace(eventName, that.NAME);\r\n var EVENT_HANDLER_NAME = \"_\" + name + \"EventHandler\";\r\n if (that[EVENT_HANDLER_NAME]) {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, target, that[EVENT_HANDLER_NAME])\r\n } else {\r\n eventsEngine.off(getPublicElement($(target)), eventName)\r\n }\r\n};\r\nvar Popover = Popup.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n target: void 0,\r\n shading: false,\r\n position: extend({}, POPOVER_POSITION_ALIASES.bottom),\r\n hideOnOutsideClick: true,\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n showTitle: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n dragEnabled: false,\r\n resizeEnabled: false,\r\n fullScreen: false,\r\n hideOnParentScroll: true,\r\n arrowPosition: \"\",\r\n arrowOffset: 0,\r\n _fixWrapperPosition: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return [{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n arrowPosition: {\r\n boundaryOffset: {\r\n h: 20,\r\n v: -10\r\n },\r\n collision: \"fit\"\r\n }\r\n }\r\n }, {\r\n device: function() {\r\n return !hasWindow()\r\n },\r\n options: {\r\n animation: null\r\n }\r\n }]\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._renderArrow();\r\n this._timeouts = {};\r\n this.$element().addClass(POPOVER_CLASS);\r\n this.$wrapper().addClass(POPOVER_WRAPPER_CLASS)\r\n },\r\n _render: function() {\r\n this.callBase.apply(this, arguments);\r\n this._detachEvents(this.option(\"target\"));\r\n this._attachEvents()\r\n },\r\n _detachEvents: function(target) {\r\n detachEvent(this, target, \"show\");\r\n detachEvent(this, target, \"hide\")\r\n },\r\n _attachEvents: function() {\r\n attachEvent(this, \"show\");\r\n attachEvent(this, \"hide\")\r\n },\r\n _renderArrow: function() {\r\n this._$arrow = $(\"
\").addClass(POPOVER_ARROW_CLASS).prependTo(this.$overlayContent())\r\n },\r\n _documentDownHandler: function(e) {\r\n if (this._isOutsideClick(e)) {\r\n return this.callBase(e)\r\n }\r\n return true\r\n },\r\n _isOutsideClick: function(e) {\r\n return !$(e.target).closest(this.option(\"target\")).length\r\n },\r\n _animate: function(animation) {\r\n if (animation && animation.to && \"object\" === typeof animation.to) {\r\n extend(animation.to, {\r\n position: this._getContainerPosition()\r\n })\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _stopAnimation: function() {\r\n this.callBase.apply(this, arguments)\r\n },\r\n _renderTitle: function() {\r\n this.$wrapper().toggleClass(POPOVER_WITHOUT_TITLE_CLASS, !this.option(\"showTitle\"));\r\n this.callBase()\r\n },\r\n _renderPosition: function() {\r\n var shouldUpdateDimensions = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : true;\r\n this.callBase();\r\n this._renderOverlayPosition(shouldUpdateDimensions);\r\n this._actions.onPositioned()\r\n },\r\n _renderOverlayPosition: function(shouldUpdateDimensions) {\r\n this._resetOverlayPosition(shouldUpdateDimensions);\r\n this._updateContentSize(shouldUpdateDimensions);\r\n var contentPosition = this._getContainerPosition();\r\n var resultLocation = positionUtils.setup(this.$overlayContent(), contentPosition);\r\n var positionSide = this._getSideByLocation(resultLocation);\r\n this._togglePositionClass(\"dx-position-\" + positionSide);\r\n this._toggleFlippedClass(resultLocation.h.flip, resultLocation.v.flip);\r\n var isArrowVisible = this._isHorizontalSide() || this._isVerticalSide();\r\n if (isArrowVisible) {\r\n this._renderArrowPosition(positionSide)\r\n }\r\n },\r\n _resetOverlayPosition: function(shouldUpdateDimensions) {\r\n this._setContentHeight(shouldUpdateDimensions);\r\n this._togglePositionClass(\"dx-position-\" + this._positionController._positionSide);\r\n move(this.$overlayContent(), {\r\n left: 0,\r\n top: 0\r\n });\r\n this._$arrow.css({\r\n top: \"auto\",\r\n right: \"auto\",\r\n bottom: \"auto\",\r\n left: \"auto\"\r\n })\r\n },\r\n _updateContentSize: function(shouldUpdateDimensions) {\r\n if (!this.$content() || !shouldUpdateDimensions) {\r\n return\r\n }\r\n var containerLocation = positionUtils.calculate(this.$overlayContent(), this._getContainerPosition());\r\n if (containerLocation.h.oversize > 0 && this._isHorizontalSide() && !containerLocation.h.fit) {\r\n var newContainerWidth = getWidth(this.$overlayContent()) - containerLocation.h.oversize;\r\n setWidth(this.$overlayContent(), newContainerWidth)\r\n }\r\n if (containerLocation.v.oversize > 0 && this._isVerticalSide() && !containerLocation.v.fit) {\r\n var newOverlayContentHeight = getHeight(this.$overlayContent()) - containerLocation.v.oversize;\r\n var newPopupContentHeight = getHeight(this.$content()) - containerLocation.v.oversize;\r\n setHeight(this.$overlayContent(), newOverlayContentHeight);\r\n setHeight(this.$content(), newPopupContentHeight)\r\n }\r\n },\r\n _getContainerPosition: function() {\r\n return this._positionController._getContainerPosition()\r\n },\r\n _hideOnParentScrollTarget: function() {\r\n return $(this._positionController._position.of || this.callBase())\r\n },\r\n _getSideByLocation: function(location) {\r\n var isFlippedByVertical = location.v.flip;\r\n var isFlippedByHorizontal = location.h.flip;\r\n return this._isVerticalSide() && isFlippedByVertical || this._isHorizontalSide() && isFlippedByHorizontal || this._isPopoverInside() ? POSITION_FLIP_MAP[this._positionController._positionSide] : this._positionController._positionSide\r\n },\r\n _togglePositionClass: function(positionClass) {\r\n this.$wrapper().removeClass(\"dx-position-left dx-position-right dx-position-top dx-position-bottom\").addClass(positionClass)\r\n },\r\n _toggleFlippedClass: function(isFlippedHorizontal, isFlippedVertical) {\r\n this.$wrapper().toggleClass(\"dx-popover-flipped-horizontal\", isFlippedHorizontal).toggleClass(\"dx-popover-flipped-vertical\", isFlippedVertical)\r\n },\r\n _renderArrowPosition: function(side) {\r\n var arrowRect = getBoundingRect(this._$arrow.get(0));\r\n var arrowFlip = -(this._isVerticalSide(side) ? arrowRect.height : arrowRect.width);\r\n this._$arrow.css(POSITION_FLIP_MAP[side], arrowFlip);\r\n var axis = this._isVerticalSide(side) ? \"left\" : \"top\";\r\n var sizeProperty = this._isVerticalSide(side) ? \"width\" : \"height\";\r\n var $target = $(this._positionController._position.of);\r\n var targetOffset = positionUtils.offset($target) || {\r\n top: 0,\r\n left: 0\r\n };\r\n var contentOffset = positionUtils.offset(this.$overlayContent());\r\n var arrowSize = arrowRect[sizeProperty];\r\n var contentLocation = contentOffset[axis];\r\n var contentSize = getBoundingRect(this.$overlayContent().get(0))[sizeProperty];\r\n var targetLocation = targetOffset[axis];\r\n var targetElement = $target.get(0);\r\n var targetSize = targetElement && !targetElement.preventDefault ? getBoundingRect(targetElement)[sizeProperty] : 0;\r\n var min = Math.max(contentLocation, targetLocation);\r\n var max = Math.min(contentLocation + contentSize, targetLocation + targetSize);\r\n var arrowLocation;\r\n if (\"start\" === this.option(\"arrowPosition\")) {\r\n arrowLocation = min - contentLocation\r\n } else if (\"end\" === this.option(\"arrowPosition\")) {\r\n arrowLocation = max - contentLocation - arrowSize\r\n } else {\r\n arrowLocation = (min + max) / 2 - contentLocation - arrowSize / 2\r\n }\r\n var borderWidth = this._positionController._getContentBorderWidth(side);\r\n var finalArrowLocation = fitIntoRange(arrowLocation - borderWidth + this.option(\"arrowOffset\"), borderWidth, contentSize - arrowSize - 2 * borderWidth);\r\n this._$arrow.css(axis, finalArrowLocation)\r\n },\r\n _isPopoverInside: function() {\r\n return this._positionController._isPopoverInside()\r\n },\r\n _setContentHeight: function(fullUpdate) {\r\n if (fullUpdate) {\r\n this.callBase()\r\n }\r\n },\r\n _getPositionControllerConfig() {\r\n var {\r\n shading: shading,\r\n target: target\r\n } = this.option();\r\n return extend({}, this.callBase(), {\r\n target: target,\r\n shading: shading,\r\n $arrow: this._$arrow\r\n })\r\n },\r\n _initPositionController() {\r\n this._positionController = new PopoverPositionController(this._getPositionControllerConfig())\r\n },\r\n _renderWrapperDimensions: function() {\r\n if (this.option(\"shading\")) {\r\n this.$wrapper().css({\r\n width: \"100%\",\r\n height: \"100%\"\r\n })\r\n }\r\n },\r\n _isVerticalSide: function(side) {\r\n return this._positionController._isVerticalSide(side)\r\n },\r\n _isHorizontalSide: function(side) {\r\n return this._positionController._isHorizontalSide(side)\r\n },\r\n _clearEventTimeout: function(name) {\r\n clearTimeout(this._timeouts[name])\r\n },\r\n _clearEventsTimeouts: function() {\r\n this._clearEventTimeout(\"show\");\r\n this._clearEventTimeout(\"hide\")\r\n },\r\n _clean: function() {\r\n this._detachEvents(this.option(\"target\"));\r\n this.callBase.apply(this, arguments)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"arrowPosition\":\r\n case \"arrowOffset\":\r\n this._renderGeometry();\r\n break;\r\n case \"fullScreen\":\r\n if (args.value) {\r\n this.option(\"fullScreen\", false)\r\n }\r\n break;\r\n case \"target\":\r\n args.previousValue && this._detachEvents(args.previousValue);\r\n this._positionController.updateTarget(args.value);\r\n this._invalidate();\r\n break;\r\n case \"showEvent\":\r\n case \"hideEvent\":\r\n var name = args.name.substring(0, 4);\r\n var event = getEventNameByOption(args.previousValue);\r\n this.hide();\r\n detachEvent(this, this.option(\"target\"), name, event);\r\n attachEvent(this, name);\r\n break;\r\n case \"visible\":\r\n this._clearEventTimeout(args.value ? \"show\" : \"hide\");\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n show: function(target) {\r\n if (target) {\r\n this.option(\"target\", target)\r\n }\r\n return this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxPopover\", Popover);\r\nexport default Popover;\r\n","/**\r\n * DevExtreme (esm/ui/action_sheet.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport Button from \"./button\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nimport Popup from \"./popup/ui.popup\";\r\nimport Popover from \"./popover/ui.popover\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar ACTION_SHEET_CLASS = \"dx-actionsheet\";\r\nvar ACTION_SHEET_CONTAINER_CLASS = \"dx-actionsheet-container\";\r\nvar ACTION_SHEET_POPUP_WRAPPER_CLASS = \"dx-actionsheet-popup-wrapper\";\r\nvar ACTION_SHEET_POPOVER_WRAPPER_CLASS = \"dx-actionsheet-popover-wrapper\";\r\nvar ACTION_SHEET_CANCEL_BUTTON_CLASS = \"dx-actionsheet-cancel\";\r\nvar ACTION_SHEET_ITEM_CLASS = \"dx-actionsheet-item\";\r\nvar ACTION_SHEET_ITEM_DATA_KEY = \"dxActionSheetItemData\";\r\nvar ACTION_SHEET_WITHOUT_TITLE_CLASS = \"dx-actionsheet-without-title\";\r\nvar ACTION_SHEET_BUTTON_DEFAULT_STYLING_MODE = \"outlined\";\r\nvar ActionSheet = CollectionWidget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n usePopover: false,\r\n target: null,\r\n title: \"\",\r\n showTitle: true,\r\n showCancelButton: true,\r\n cancelText: messageLocalization.format(\"Cancel\"),\r\n onCancelClick: null,\r\n visible: false,\r\n noDataText: \"\",\r\n focusStateEnabled: false,\r\n selectionByClick: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\",\r\n tablet: true\r\n },\r\n options: {\r\n usePopover: true\r\n }\r\n }])\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate((function($container, data) {\r\n var button = new Button($(\"
\"), extend({\r\n onClick: data && data.click,\r\n stylingMode: data && data.stylingMode || ACTION_SHEET_BUTTON_DEFAULT_STYLING_MODE\r\n }, data));\r\n $container.append(button.$element())\r\n }), [\"disabled\", \"icon\", \"text\", \"type\", \"onClick\", \"click\", \"stylingMode\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _itemContainer: function() {\r\n return this._$itemContainer\r\n },\r\n _itemClass: function() {\r\n return ACTION_SHEET_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return ACTION_SHEET_ITEM_DATA_KEY\r\n },\r\n _toggleVisibility: noop,\r\n _renderDimensions: noop,\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(ACTION_SHEET_CLASS);\r\n this._createItemContainer()\r\n },\r\n _render: function() {\r\n this._renderPopup()\r\n },\r\n _createItemContainer: function() {\r\n this._$itemContainer = $(\"
\").addClass(ACTION_SHEET_CONTAINER_CLASS);\r\n this._renderDisabled()\r\n },\r\n _renderDisabled: function() {\r\n this._$itemContainer.toggleClass(\"dx-state-disabled\", this.option(\"disabled\"))\r\n },\r\n _renderPopup: function() {\r\n this._$popup = $(\"
\").appendTo(this.$element());\r\n this._isPopoverMode() ? this._createPopover() : this._createPopup();\r\n this._renderPopupTitle();\r\n this._mapPopupOption(\"visible\")\r\n },\r\n _mapPopupOption: function(optionName) {\r\n this._popup && this._popup.option(optionName, this.option(optionName))\r\n },\r\n _isPopoverMode: function() {\r\n return this.option(\"usePopover\") && this.option(\"target\")\r\n },\r\n _renderPopupTitle: function() {\r\n this._mapPopupOption(\"showTitle\");\r\n this._popup && this._popup.$wrapper().toggleClass(ACTION_SHEET_WITHOUT_TITLE_CLASS, !this.option(\"showTitle\"))\r\n },\r\n _clean: function() {\r\n if (this._$popup) {\r\n this._$popup.remove()\r\n }\r\n this.callBase()\r\n },\r\n _overlayConfig: function() {\r\n return {\r\n onInitialized: function(args) {\r\n this._popup = args.component\r\n }.bind(this),\r\n disabled: false,\r\n showTitle: true,\r\n title: this.option(\"title\"),\r\n deferRendering: !window.angular,\r\n onContentReady: this._popupContentReadyAction.bind(this),\r\n onHidden: this.hide.bind(this)\r\n }\r\n },\r\n _createPopover: function() {\r\n this._createComponent(this._$popup, Popover, extend(this._overlayConfig(), {\r\n width: this.option(\"width\") || 200,\r\n height: this.option(\"height\") || \"auto\",\r\n target: this.option(\"target\")\r\n }));\r\n this._popup.$wrapper().addClass(ACTION_SHEET_POPOVER_WRAPPER_CLASS)\r\n },\r\n _createPopup: function() {\r\n this._createComponent(this._$popup, Popup, extend(this._overlayConfig(), {\r\n dragEnabled: false,\r\n width: this.option(\"width\") || \"100%\",\r\n height: this.option(\"height\") || \"auto\",\r\n showCloseButton: false,\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n },\r\n animation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n }\r\n }\r\n }));\r\n this._popup.$wrapper().addClass(ACTION_SHEET_POPUP_WRAPPER_CLASS)\r\n },\r\n _popupContentReadyAction: function() {\r\n this._popup.$content().append(this._$itemContainer);\r\n this._attachClickEvent();\r\n this._attachHoldEvent();\r\n this._prepareContent();\r\n this._renderContent();\r\n this._renderCancelButton()\r\n },\r\n _renderCancelButton: function() {\r\n if (this._isPopoverMode()) {\r\n return\r\n }\r\n if (this._$cancelButton) {\r\n this._$cancelButton.remove()\r\n }\r\n if (this.option(\"showCancelButton\")) {\r\n var cancelClickAction = this._createActionByOption(\"onCancelClick\") || noop;\r\n var that = this;\r\n this._$cancelButton = $(\"
\").addClass(ACTION_SHEET_CANCEL_BUTTON_CLASS).appendTo(this._popup && this._popup.$content());\r\n this._createComponent(this._$cancelButton, Button, {\r\n disabled: false,\r\n stylingMode: ACTION_SHEET_BUTTON_DEFAULT_STYLING_MODE,\r\n text: this.option(\"cancelText\"),\r\n onClick: function(e) {\r\n var hidingArgs = {\r\n event: e,\r\n cancel: false\r\n };\r\n cancelClickAction(hidingArgs);\r\n if (!hidingArgs.cancel) {\r\n that.hide()\r\n }\r\n },\r\n integrationOptions: {}\r\n })\r\n }\r\n },\r\n _attachItemClickEvent: noop,\r\n _itemClickHandler: function(e) {\r\n this.callBase(e);\r\n if (!$(e.target).is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n this.hide()\r\n }\r\n },\r\n _itemHoldHandler: function(e) {\r\n this.callBase(e);\r\n if (!$(e.target).is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n this.hide()\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n case \"visible\":\r\n case \"title\":\r\n this._mapPopupOption(args.name);\r\n break;\r\n case \"disabled\":\r\n this._renderDisabled();\r\n break;\r\n case \"showTitle\":\r\n this._renderPopupTitle();\r\n break;\r\n case \"showCancelButton\":\r\n case \"onCancelClick\":\r\n case \"cancelText\":\r\n this._renderCancelButton();\r\n break;\r\n case \"target\":\r\n case \"usePopover\":\r\n case \"items\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n toggle: function(showing) {\r\n var that = this;\r\n var d = new Deferred;\r\n that._popup.toggle(showing).done((function() {\r\n that.option(\"visible\", showing);\r\n d.resolveWith(that)\r\n }));\r\n return d.promise()\r\n },\r\n show: function() {\r\n return this.toggle(true)\r\n },\r\n hide: function() {\r\n return this.toggle(false)\r\n }\r\n});\r\nregisterComponent(\"dxActionSheet\", ActionSheet);\r\nexport default ActionSheet;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.switchable.slide.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n setWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n active\r\n} from \"../../events/core/emitter.feedback\";\r\nimport EditDecoratorMenuHelperMixin from \"./ui.list.edit.decorator_menu_helper\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport SwitchableEditDecorator from \"./ui.list.edit.decorator.switchable\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n isMaterial\r\n} from \"../themes\";\r\nimport ActionSheet from \"../action_sheet\";\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar CLICK_EVENT_NAME = addNamespace(clickEventName, LIST_EDIT_DECORATOR);\r\nvar ACTIVE_EVENT_NAME = addNamespace(active, LIST_EDIT_DECORATOR);\r\nvar SLIDE_MENU_CLASS = \"dx-list-slide-menu\";\r\nvar SLIDE_MENU_WRAPPER_CLASS = \"dx-list-slide-menu-wrapper\";\r\nvar SLIDE_MENU_CONTENT_CLASS = \"dx-list-slide-menu-content\";\r\nvar SLIDE_MENU_BUTTONS_CONTAINER_CLASS = \"dx-list-slide-menu-buttons-container\";\r\nvar SLIDE_MENU_BUTTONS_CLASS = \"dx-list-slide-menu-buttons\";\r\nvar SLIDE_MENU_BUTTON_CLASS = \"dx-list-slide-menu-button\";\r\nvar SLIDE_MENU_BUTTON_MENU_CLASS = \"dx-list-slide-menu-button-menu\";\r\nvar SLIDE_MENU_BUTTON_DELETE_CLASS = \"dx-list-slide-menu-button-delete\";\r\nvar SLIDE_MENU_ANIMATION_DURATION = 400;\r\nvar SLIDE_MENU_ANIMATION_EASING = \"cubic-bezier(0.075, 0.82, 0.165, 1)\";\r\nregisterDecorator(\"menu\", \"slide\", SwitchableEditDecorator.inherit({\r\n _shouldHandleSwipe: true,\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n this._$buttonsContainer = $(\"
\").addClass(SLIDE_MENU_BUTTONS_CONTAINER_CLASS);\r\n eventsEngine.on(this._$buttonsContainer, ACTIVE_EVENT_NAME, noop);\r\n this._$buttons = $(\"
\").addClass(SLIDE_MENU_BUTTONS_CLASS).appendTo(this._$buttonsContainer);\r\n this._renderMenu();\r\n this._renderDeleteButton()\r\n },\r\n _renderMenu: function() {\r\n if (!this._menuEnabled()) {\r\n return\r\n }\r\n var menuItems = this._menuItems();\r\n if (1 === menuItems.length) {\r\n var menuItem = menuItems[0];\r\n this._renderMenuButton(menuItem.text, function(e) {\r\n e.stopPropagation();\r\n this._fireAction(menuItem)\r\n }.bind(this))\r\n } else {\r\n var $menu = $(\"
\").addClass(SLIDE_MENU_CLASS);\r\n this._menu = this._list._createComponent($menu, ActionSheet, {\r\n showTitle: false,\r\n items: menuItems,\r\n onItemClick: function(args) {\r\n this._fireAction(args.itemData)\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $menu.appendTo(this._list.$element());\r\n var $menuButton = this._renderMenuButton(messageLocalization.format(\"dxListEditDecorator-more\"), function(e) {\r\n e.stopPropagation();\r\n this._menu.show()\r\n }.bind(this));\r\n this._menu.option(\"target\", $menuButton)\r\n }\r\n },\r\n _renderMenuButton: function(text, action) {\r\n var $menuButton = $(\"
\").addClass(SLIDE_MENU_BUTTON_CLASS).addClass(SLIDE_MENU_BUTTON_MENU_CLASS).text(text);\r\n this._$buttons.append($menuButton);\r\n eventsEngine.on($menuButton, CLICK_EVENT_NAME, action);\r\n return $menuButton\r\n },\r\n _renderDeleteButton: function() {\r\n if (!this._deleteEnabled()) {\r\n return\r\n }\r\n var $deleteButton = $(\"
\").addClass(SLIDE_MENU_BUTTON_CLASS).addClass(SLIDE_MENU_BUTTON_DELETE_CLASS).text(isMaterial() ? \"\" : messageLocalization.format(\"dxListEditDecorator-delete\"));\r\n eventsEngine.on($deleteButton, CLICK_EVENT_NAME, function(e) {\r\n e.stopPropagation();\r\n this._deleteItem()\r\n }.bind(this));\r\n this._$buttons.append($deleteButton)\r\n },\r\n _fireAction: function(menuItem) {\r\n this._fireMenuAction($(this._cachedNode), menuItem.action);\r\n this._cancelDeleteReadyItem()\r\n },\r\n modifyElement: function(config) {\r\n this.callBase.apply(this, arguments);\r\n var $itemElement = config.$itemElement;\r\n $itemElement.addClass(SLIDE_MENU_WRAPPER_CLASS);\r\n var $slideMenuContent = $(\"
\").addClass(SLIDE_MENU_CONTENT_CLASS);\r\n $itemElement.wrapInner($slideMenuContent)\r\n },\r\n _getDeleteButtonContainer: function() {\r\n return this._$buttonsContainer\r\n },\r\n handleClick: function(_, e) {\r\n if ($(e.target).closest(\".\" + SLIDE_MENU_CONTENT_CLASS).length) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return false\r\n },\r\n _swipeStartHandler: function($itemElement) {\r\n this._enablePositioning($itemElement);\r\n this._cacheItemData($itemElement);\r\n this._setPositions(this._getPositions(0))\r\n },\r\n _swipeUpdateHandler: function($itemElement, args) {\r\n var rtl = this._isRtlEnabled();\r\n var signCorrection = rtl ? -1 : 1;\r\n var isItemReadyToDelete = this._isReadyToDelete($itemElement);\r\n var moveJustStarted = this._getCurrentPositions().content === this._getStartPositions().content;\r\n if (moveJustStarted && !isItemReadyToDelete && args.offset * signCorrection > 0) {\r\n args.cancel = true;\r\n return\r\n }\r\n var offset = this._cachedItemWidth * args.offset;\r\n var startOffset = isItemReadyToDelete ? -this._cachedButtonWidth * signCorrection : 0;\r\n var correctedOffset = (offset + startOffset) * signCorrection;\r\n var percent = correctedOffset < 0 ? Math.abs((offset + startOffset) / this._cachedButtonWidth) : 0;\r\n this._setPositions(this._getPositions(percent));\r\n return true\r\n },\r\n _getStartPositions: function() {\r\n var rtl = this._isRtlEnabled();\r\n var signCorrection = rtl ? -1 : 1;\r\n return {\r\n content: 0,\r\n buttonsContainer: rtl ? -this._cachedButtonWidth : this._cachedItemWidth,\r\n buttons: -this._cachedButtonWidth * signCorrection\r\n }\r\n },\r\n _getPositions: function(percent) {\r\n var rtl = this._isRtlEnabled();\r\n var signCorrection = rtl ? -1 : 1;\r\n var startPositions = this._getStartPositions();\r\n return {\r\n content: startPositions.content - percent * this._cachedButtonWidth * signCorrection,\r\n buttonsContainer: startPositions.buttonsContainer - Math.min(percent, 1) * this._cachedButtonWidth * signCorrection,\r\n buttons: startPositions.buttons + Math.min(percent, 1) * this._cachedButtonWidth * signCorrection\r\n }\r\n },\r\n _getCurrentPositions: function() {\r\n return {\r\n content: locate(this._$cachedContent).left,\r\n buttonsContainer: locate(this._$buttonsContainer).left,\r\n buttons: locate(this._$buttons).left\r\n }\r\n },\r\n _setPositions: function(positions) {\r\n move(this._$cachedContent, {\r\n left: positions.content\r\n });\r\n move(this._$buttonsContainer, {\r\n left: positions.buttonsContainer\r\n });\r\n move(this._$buttons, {\r\n left: positions.buttons\r\n })\r\n },\r\n _cacheItemData: function($itemElement) {\r\n if ($itemElement[0] === this._cachedNode) {\r\n return\r\n }\r\n this._$cachedContent = $itemElement.find(\".\" + SLIDE_MENU_CONTENT_CLASS);\r\n this._cachedItemWidth = getOuterWidth($itemElement);\r\n this._cachedButtonWidth = this._cachedButtonWidth || getOuterWidth(this._$buttons);\r\n setWidth(this._$buttonsContainer, this._cachedButtonWidth);\r\n if (this._$cachedContent.length) {\r\n this._cachedNode = $itemElement[0]\r\n }\r\n },\r\n _minButtonContainerLeftOffset: function() {\r\n return this._cachedItemWidth - this._cachedButtonWidth\r\n },\r\n _swipeEndHandler: function($itemElement, args) {\r\n this._cacheItemData($itemElement);\r\n var signCorrection = this._isRtlEnabled() ? 1 : -1;\r\n var offset = this._cachedItemWidth * args.offset;\r\n var endedAtReadyToDelete = !this._isReadyToDelete($itemElement) && offset * signCorrection > .2 * this._cachedButtonWidth;\r\n var readyToDelete = args.targetOffset === signCorrection && endedAtReadyToDelete;\r\n this._toggleDeleteReady($itemElement, readyToDelete);\r\n return true\r\n },\r\n _enablePositioning: function($itemElement) {\r\n fx.stop(this._$cachedContent, true);\r\n this.callBase.apply(this, arguments);\r\n this._$buttonsContainer.appendTo($itemElement)\r\n },\r\n _disablePositioning: function() {\r\n this.callBase.apply(this, arguments);\r\n this._$buttonsContainer.detach()\r\n },\r\n _animatePrepareDeleteReady: function() {\r\n return this._animateToPositions(this._getPositions(1))\r\n },\r\n _animateForgetDeleteReady: function($itemElement) {\r\n this._cacheItemData($itemElement);\r\n return this._animateToPositions(this._getPositions(0))\r\n },\r\n _animateToPositions: function(positions) {\r\n var that = this;\r\n var currentPosition = this._getCurrentPositions();\r\n var durationTimePart = Math.min(Math.abs(currentPosition.content - positions.content) / this._cachedButtonWidth, 1);\r\n return fx.animate(this._$cachedContent, {\r\n from: currentPosition,\r\n to: positions,\r\n easing: SLIDE_MENU_ANIMATION_EASING,\r\n duration: SLIDE_MENU_ANIMATION_DURATION * durationTimePart,\r\n strategy: \"frame\",\r\n draw: function(positions) {\r\n that._setPositions(positions)\r\n }\r\n })\r\n },\r\n dispose: function() {\r\n if (this._menu) {\r\n this._menu.$element().remove()\r\n }\r\n if (this._$buttonsContainer) {\r\n this._$buttonsContainer.remove()\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n}).include(EditDecoratorMenuHelperMixin));\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.static.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Button from \"../button\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nvar STATIC_DELETE_BUTTON_CONTAINER_CLASS = \"dx-list-static-delete-button-container\";\r\nvar STATIC_DELETE_BUTTON_CLASS = \"dx-list-static-delete-button\";\r\nregisterDecorator(\"delete\", \"static\", EditDecorator.inherit({\r\n afterBag: function(config) {\r\n var $itemElement = config.$itemElement;\r\n var $container = config.$container;\r\n var $button = $(\"
\").addClass(STATIC_DELETE_BUTTON_CLASS);\r\n this._list._createComponent($button, Button, {\r\n icon: \"remove\",\r\n onClick: function(args) {\r\n args.event.stopPropagation();\r\n this._deleteItem($itemElement)\r\n }.bind(this),\r\n integrationOptions: {}\r\n });\r\n $container.addClass(STATIC_DELETE_BUTTON_CONTAINER_CLASS).append($button)\r\n },\r\n _deleteItem: function($itemElement) {\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n this._list.deleteItem($itemElement)\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.swipe.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nregisterDecorator(\"delete\", \"swipe\", EditDecorator.inherit({\r\n _shouldHandleSwipe: true,\r\n _renderItemPosition: function($itemElement, offset, animate) {\r\n var deferred = new Deferred;\r\n var itemOffset = offset * this._itemElementWidth;\r\n if (animate) {\r\n fx.animate($itemElement, {\r\n to: {\r\n left: itemOffset\r\n },\r\n type: \"slide\",\r\n complete: function() {\r\n deferred.resolve($itemElement, offset)\r\n }\r\n })\r\n } else {\r\n move($itemElement, {\r\n left: itemOffset\r\n });\r\n deferred.resolve()\r\n }\r\n return deferred.promise()\r\n },\r\n _swipeStartHandler: function($itemElement) {\r\n this._itemElementWidth = getWidth($itemElement);\r\n return true\r\n },\r\n _swipeUpdateHandler: function($itemElement, args) {\r\n this._renderItemPosition($itemElement, args.offset);\r\n return true\r\n },\r\n _swipeEndHandler: function($itemElement, args) {\r\n var offset = args.targetOffset;\r\n this._renderItemPosition($itemElement, offset, true).done(function($itemElement, offset) {\r\n if (Math.abs(offset)) {\r\n this._list.deleteItem($itemElement).fail(function() {\r\n this._renderItemPosition($itemElement, 0, true)\r\n }.bind(this))\r\n }\r\n }.bind(this));\r\n return true\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/draggable.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getWidth,\r\n getHeight,\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n quadToObject\r\n} from \"../core/utils/string\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../animation/translator\";\r\nimport Animator from \"./scroll_view/animator\";\r\nimport {\r\n dasherize\r\n} from \"../core/utils/inflector\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n addNamespace,\r\n needSkipEvent\r\n} from \"../events/utils/index\";\r\nimport pointerEvents from \"../events/pointer\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd,\r\n enter as dragEventEnter,\r\n leave as dragEventLeave\r\n} from \"../events/drag\";\r\nimport positionUtils from \"../animation/position\";\r\nimport {\r\n isFunction,\r\n isObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n noop,\r\n splitPair\r\n} from \"../core/utils/common\";\r\nimport {\r\n value as viewPort\r\n} from \"../core/utils/view_port\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../core/templates/empty_template\";\r\nimport {\r\n when,\r\n fromPromise,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar window = getWindow();\r\nvar DRAGGABLE = \"dxDraggable\";\r\nvar DRAGSTART_EVENT_NAME = addNamespace(dragEventStart, DRAGGABLE);\r\nvar DRAG_EVENT_NAME = addNamespace(dragEventMove, DRAGGABLE);\r\nvar DRAGEND_EVENT_NAME = addNamespace(dragEventEnd, DRAGGABLE);\r\nvar DRAG_ENTER_EVENT_NAME = addNamespace(dragEventEnter, DRAGGABLE);\r\nvar DRAGEND_LEAVE_EVENT_NAME = addNamespace(dragEventLeave, DRAGGABLE);\r\nvar POINTERDOWN_EVENT_NAME = addNamespace(pointerEvents.down, DRAGGABLE);\r\nvar CLONE_CLASS = \"clone\";\r\nvar targetDraggable;\r\nvar sourceDraggable;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar getMousePosition = event => ({\r\n x: event.pageX - $(window).scrollLeft(),\r\n y: event.pageY - $(window).scrollTop()\r\n});\r\nvar GESTURE_COVER_CLASS = \"dx-gesture-cover\";\r\nvar OVERLAY_WRAPPER_CLASS = \"dx-overlay-wrapper\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\r\nclass ScrollHelper {\r\n constructor(orientation, component) {\r\n this._preventScroll = true;\r\n this._component = component;\r\n if (\"vertical\" === orientation) {\r\n this._scrollValue = \"scrollTop\";\r\n this._overFlowAttr = \"overflowY\";\r\n this._sizeAttr = \"height\";\r\n this._scrollSizeProp = \"scrollHeight\";\r\n this._clientSizeProp = \"clientHeight\";\r\n this._limitProps = {\r\n start: \"top\",\r\n end: \"bottom\"\r\n }\r\n } else {\r\n this._scrollValue = \"scrollLeft\";\r\n this._overFlowAttr = \"overflowX\";\r\n this._sizeAttr = \"width\";\r\n this._scrollSizeProp = \"scrollWidth\";\r\n this._clientSizeProp = \"clientWidth\";\r\n this._limitProps = {\r\n start: \"left\",\r\n end: \"right\"\r\n }\r\n }\r\n }\r\n updateScrollable(elements, mousePosition) {\r\n var isScrollableFound = false;\r\n elements.some(element => {\r\n var $element = $(element);\r\n var isTargetOverOverlayWrapper = $element.hasClass(OVERLAY_WRAPPER_CLASS);\r\n var isTargetOverOverlayContent = $element.hasClass(OVERLAY_CONTENT_CLASS);\r\n if (isTargetOverOverlayWrapper || isTargetOverOverlayContent) {\r\n return true\r\n }\r\n isScrollableFound = this._trySetScrollable(element, mousePosition);\r\n return isScrollableFound\r\n });\r\n if (!isScrollableFound) {\r\n this._$scrollableAtPointer = null;\r\n this._scrollSpeed = 0\r\n }\r\n }\r\n isScrolling() {\r\n return !!this._scrollSpeed\r\n }\r\n isScrollable($element) {\r\n return (\"auto\" === $element.css(this._overFlowAttr) || $element.hasClass(\"dx-scrollable-container\")) && $element.prop(this._scrollSizeProp) > Math.ceil(\"width\" === this._sizeAttr ? getWidth($element) : getHeight($element))\r\n }\r\n _trySetScrollable(element, mousePosition) {\r\n var $element = $(element);\r\n var distanceToBorders;\r\n var sensitivity = this._component.option(\"scrollSensitivity\");\r\n var isScrollable = this.isScrollable($element);\r\n if (isScrollable) {\r\n distanceToBorders = this._calculateDistanceToBorders($element, mousePosition);\r\n if (sensitivity > distanceToBorders[this._limitProps.start]) {\r\n if (!this._preventScroll) {\r\n this._scrollSpeed = -this._calculateScrollSpeed(distanceToBorders[this._limitProps.start]);\r\n this._$scrollableAtPointer = $element\r\n }\r\n } else if (sensitivity > distanceToBorders[this._limitProps.end]) {\r\n if (!this._preventScroll) {\r\n this._scrollSpeed = this._calculateScrollSpeed(distanceToBorders[this._limitProps.end]);\r\n this._$scrollableAtPointer = $element\r\n }\r\n } else {\r\n isScrollable = false;\r\n this._preventScroll = false\r\n }\r\n }\r\n return isScrollable\r\n }\r\n _calculateDistanceToBorders($area, mousePosition) {\r\n var area = $area.get(0);\r\n var areaBoundingRect;\r\n if (area) {\r\n areaBoundingRect = getBoundingRect(area);\r\n return {\r\n left: mousePosition.x - areaBoundingRect.left,\r\n top: mousePosition.y - areaBoundingRect.top,\r\n right: areaBoundingRect.right - mousePosition.x,\r\n bottom: areaBoundingRect.bottom - mousePosition.y\r\n }\r\n } else {\r\n return {}\r\n }\r\n }\r\n _calculateScrollSpeed(distance) {\r\n var component = this._component;\r\n var sensitivity = component.option(\"scrollSensitivity\");\r\n var maxSpeed = component.option(\"scrollSpeed\");\r\n return Math.ceil(Math.pow((sensitivity - distance) / sensitivity, 2) * maxSpeed)\r\n }\r\n scrollByStep() {\r\n if (this._$scrollableAtPointer && this._scrollSpeed) {\r\n if (this._$scrollableAtPointer.hasClass(\"dx-scrollable-container\")) {\r\n var $scrollable = this._$scrollableAtPointer.closest(\".dx-scrollable\");\r\n var scrollableInstance = $scrollable.data(\"dxScrollable\") || $scrollable.data(\"dxScrollView\");\r\n if (scrollableInstance) {\r\n var nextScrollPosition = scrollableInstance.scrollOffset()[this._limitProps.start] + this._scrollSpeed;\r\n scrollableInstance.scrollTo({\r\n [this._limitProps.start]: nextScrollPosition\r\n })\r\n }\r\n } else {\r\n var _nextScrollPosition = this._$scrollableAtPointer[this._scrollValue]() + this._scrollSpeed;\r\n this._$scrollableAtPointer[this._scrollValue](_nextScrollPosition)\r\n }\r\n var dragMoveArgs = this._component._dragMoveArgs;\r\n if (dragMoveArgs) {\r\n this._component._dragMoveHandler(dragMoveArgs)\r\n }\r\n }\r\n }\r\n reset() {\r\n this._$scrollableAtPointer = null;\r\n this._scrollSpeed = 0;\r\n this._preventScroll = true\r\n }\r\n isOutsideScrollable($scrollable, event) {\r\n if (!$scrollable) {\r\n return false\r\n }\r\n var scrollableSize = getBoundingRect($scrollable.get(0));\r\n var start = scrollableSize[this._limitProps.start];\r\n var size = scrollableSize[this._sizeAttr];\r\n var mousePosition = getMousePosition(event);\r\n var location = \"width\" === this._sizeAttr ? mousePosition.x : mousePosition.y;\r\n return location < start || location > start + size\r\n }\r\n}\r\nvar ScrollAnimator = Animator.inherit({\r\n ctor: function(strategy) {\r\n this.callBase();\r\n this._strategy = strategy\r\n },\r\n _step: function() {\r\n var horizontalScrollHelper = this._strategy._horizontalScrollHelper;\r\n var verticalScrollHelper = this._strategy._verticalScrollHelper;\r\n horizontalScrollHelper && horizontalScrollHelper.scrollByStep();\r\n verticalScrollHelper && verticalScrollHelper.scrollByStep()\r\n }\r\n});\r\nvar Draggable = DOMComponent.inherit({\r\n reset: noop,\r\n dragMove: noop,\r\n dragEnter: noop,\r\n dragLeave: noop,\r\n dragEnd: function(sourceEvent) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable._fireRemoveEvent(sourceEvent);\r\n return (new Deferred).resolve()\r\n },\r\n _fireRemoveEvent: noop,\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n onDragStart: null,\r\n onDragMove: null,\r\n onDragEnd: null,\r\n onDragEnter: null,\r\n onDragLeave: null,\r\n onDrop: null,\r\n immediate: true,\r\n dragDirection: \"both\",\r\n boundary: void 0,\r\n boundOffset: 0,\r\n allowMoveByClick: false,\r\n itemData: null,\r\n container: void 0,\r\n dragTemplate: void 0,\r\n contentTemplate: \"content\",\r\n handle: \"\",\r\n filter: \"\",\r\n clone: false,\r\n autoScroll: true,\r\n scrollSpeed: 30,\r\n scrollSensitivity: 60,\r\n group: void 0,\r\n data: void 0\r\n })\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase.apply(this, arguments);\r\n extend(this._optionsByReference, {\r\n component: true,\r\n group: true,\r\n itemData: true,\r\n data: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._attachEventHandlers();\r\n this._scrollAnimator = new ScrollAnimator(this);\r\n this._horizontalScrollHelper = new ScrollHelper(\"horizontal\", this);\r\n this._verticalScrollHelper = new ScrollHelper(\"vertical\", this)\r\n },\r\n _normalizeCursorOffset: function(offset) {\r\n if (isObject(offset)) {\r\n offset = {\r\n h: offset.x,\r\n v: offset.y\r\n }\r\n }\r\n offset = splitPair(offset).map(value => parseFloat(value));\r\n return {\r\n left: offset[0],\r\n top: 1 === offset.length ? offset[0] : offset[1]\r\n }\r\n },\r\n _getNormalizedCursorOffset: function(offset, options) {\r\n if (isFunction(offset)) {\r\n offset = offset.call(this, options)\r\n }\r\n return this._normalizeCursorOffset(offset)\r\n },\r\n _calculateElementOffset: function(options) {\r\n var elementOffset;\r\n var dragElementOffset;\r\n var event = options.event;\r\n var $element = $(options.itemElement);\r\n var $dragElement = $(options.dragElement);\r\n var isCloned = this._dragElementIsCloned();\r\n var cursorOffset = this.option(\"cursorOffset\");\r\n var normalizedCursorOffset = {\r\n left: 0,\r\n top: 0\r\n };\r\n var currentLocate = this._initialLocate = locate($dragElement);\r\n if (isCloned || options.initialOffset || cursorOffset) {\r\n elementOffset = options.initialOffset || $element.offset();\r\n if (cursorOffset) {\r\n normalizedCursorOffset = this._getNormalizedCursorOffset(cursorOffset, options);\r\n if (isFinite(normalizedCursorOffset.left)) {\r\n elementOffset.left = event.pageX\r\n }\r\n if (isFinite(normalizedCursorOffset.top)) {\r\n elementOffset.top = event.pageY\r\n }\r\n }\r\n dragElementOffset = $dragElement.offset();\r\n elementOffset.top -= dragElementOffset.top + (normalizedCursorOffset.top || 0) - currentLocate.top;\r\n elementOffset.left -= dragElementOffset.left + (normalizedCursorOffset.left || 0) - currentLocate.left\r\n }\r\n return elementOffset\r\n },\r\n _initPosition: function(options) {\r\n var $dragElement = $(options.dragElement);\r\n var elementOffset = this._calculateElementOffset(options);\r\n if (elementOffset) {\r\n this._move(elementOffset, $dragElement)\r\n }\r\n this._startPosition = locate($dragElement)\r\n },\r\n _startAnimator: function() {\r\n if (!this._scrollAnimator.inProgress()) {\r\n this._scrollAnimator.start()\r\n }\r\n },\r\n _stopAnimator: function() {\r\n this._scrollAnimator.stop()\r\n },\r\n _addWidgetPrefix: function(className) {\r\n var componentName = this.NAME;\r\n return dasherize(componentName) + (className ? \"-\" + className : \"\")\r\n },\r\n _getItemsSelector: function() {\r\n return this.option(\"filter\") || \"\"\r\n },\r\n _$content: function() {\r\n var $element = this.$element();\r\n var $wrapper = $element.children(\".dx-template-wrapper\");\r\n return $wrapper.length ? $wrapper : $element\r\n },\r\n _attachEventHandlers: function() {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var $element = this._$content();\r\n var itemsSelector = this._getItemsSelector();\r\n var allowMoveByClick = this.option(\"allowMoveByClick\");\r\n var data = {\r\n direction: this.option(\"dragDirection\"),\r\n immediate: this.option(\"immediate\"),\r\n checkDropTarget: ($target, event) => {\r\n var targetGroup = this.option(\"group\");\r\n var sourceGroup = this._getSourceDraggable().option(\"group\");\r\n var $scrollable = this._getScrollable($target);\r\n if (this._verticalScrollHelper.isOutsideScrollable($scrollable, event) || this._horizontalScrollHelper.isOutsideScrollable($scrollable, event)) {\r\n return false\r\n }\r\n return sourceGroup && sourceGroup === targetGroup\r\n }\r\n };\r\n if (allowMoveByClick) {\r\n $element = this._getArea();\r\n eventsEngine.on($element, POINTERDOWN_EVENT_NAME, data, this._pointerDownHandler.bind(this))\r\n }\r\n if (\">\" === itemsSelector[0]) {\r\n itemsSelector = itemsSelector.slice(1)\r\n }\r\n eventsEngine.on($element, DRAGSTART_EVENT_NAME, itemsSelector, data, this._dragStartHandler.bind(this));\r\n eventsEngine.on($element, DRAG_EVENT_NAME, data, this._dragMoveHandler.bind(this));\r\n eventsEngine.on($element, DRAGEND_EVENT_NAME, data, this._dragEndHandler.bind(this));\r\n eventsEngine.on($element, DRAG_ENTER_EVENT_NAME, data, this._dragEnterHandler.bind(this));\r\n eventsEngine.on($element, DRAGEND_LEAVE_EVENT_NAME, data, this._dragLeaveHandler.bind(this))\r\n },\r\n _dragElementIsCloned: function() {\r\n return this._$dragElement && this._$dragElement.hasClass(this._addWidgetPrefix(CLONE_CLASS))\r\n },\r\n _getDragTemplateArgs: function($element, $container) {\r\n return {\r\n container: getPublicElement($container),\r\n model: {\r\n itemData: this.option(\"itemData\"),\r\n itemElement: getPublicElement($element)\r\n }\r\n }\r\n },\r\n _createDragElement: function($element) {\r\n var result = $element;\r\n var clone = this.option(\"clone\");\r\n var $container = this._getContainer();\r\n var template = this.option(\"dragTemplate\");\r\n if (template) {\r\n template = this._getTemplate(template);\r\n result = $(\"
\").appendTo($container);\r\n template.render(this._getDragTemplateArgs($element, result))\r\n } else if (clone) {\r\n result = $(\"
\").appendTo($container);\r\n $element.clone().css({\r\n width: $element.css(\"width\"),\r\n height: $element.css(\"height\")\r\n }).appendTo(result)\r\n }\r\n return result.toggleClass(this._addWidgetPrefix(CLONE_CLASS), result.get(0) !== $element.get(0)).toggleClass(\"dx-rtl\", this.option(\"rtlEnabled\"))\r\n },\r\n _resetDragElement: function() {\r\n if (this._dragElementIsCloned()) {\r\n this._$dragElement.remove()\r\n } else {\r\n this._toggleDraggingClass(false)\r\n }\r\n this._$dragElement = null\r\n },\r\n _resetSourceElement: function() {\r\n this._toggleDragSourceClass(false);\r\n this._$sourceElement = null\r\n },\r\n _detachEventHandlers: function() {\r\n eventsEngine.off(this._$content(), \".\" + DRAGGABLE);\r\n eventsEngine.off(this._getArea(), \".\" + DRAGGABLE)\r\n },\r\n _move: function(position, $element) {\r\n move($element || this._$dragElement, position)\r\n },\r\n _getDraggableElement: function(e) {\r\n var $sourceElement = this._getSourceElement();\r\n if ($sourceElement) {\r\n return $sourceElement\r\n }\r\n var allowMoveByClick = this.option(\"allowMoveByClick\");\r\n if (allowMoveByClick) {\r\n return this.$element()\r\n }\r\n var $target = $(e && e.target);\r\n var itemsSelector = this._getItemsSelector();\r\n if (\">\" === itemsSelector[0]) {\r\n var $items = this._$content().find(itemsSelector);\r\n if (!$items.is($target)) {\r\n $target = $target.closest($items)\r\n }\r\n }\r\n return $target\r\n },\r\n _getSourceElement: function() {\r\n var draggable = this._getSourceDraggable();\r\n return draggable._$sourceElement\r\n },\r\n _pointerDownHandler: function(e) {\r\n if (needSkipEvent(e)) {\r\n return\r\n }\r\n var position = {};\r\n var $element = this.$element();\r\n var dragDirection = this.option(\"dragDirection\");\r\n if (\"horizontal\" === dragDirection || \"both\" === dragDirection) {\r\n position.left = e.pageX - $element.offset().left + locate($element).left - getWidth($element) / 2\r\n }\r\n if (\"vertical\" === dragDirection || \"both\" === dragDirection) {\r\n position.top = e.pageY - $element.offset().top + locate($element).top - getHeight($element) / 2\r\n }\r\n this._move(position, $element);\r\n this._getAction(\"onDragMove\")(this._getEventArgs(e))\r\n },\r\n _isValidElement: function(event, $element) {\r\n var handle = this.option(\"handle\");\r\n var $target = $(event.originalEvent && event.originalEvent.target);\r\n if (handle && !$target.closest(handle).length) {\r\n return false\r\n }\r\n if (!$element.length) {\r\n return false\r\n }\r\n return !$element.is(\".dx-state-disabled, .dx-state-disabled *\")\r\n },\r\n _dragStartHandler: function(e) {\r\n var $element = this._getDraggableElement(e);\r\n if (!this._isValidElement(e, $element)) {\r\n e.cancel = true;\r\n return\r\n }\r\n if (this._$sourceElement) {\r\n return\r\n }\r\n var dragStartArgs = this._getDragStartArgs(e, $element);\r\n this._getAction(\"onDragStart\")(dragStartArgs);\r\n if (dragStartArgs.cancel) {\r\n e.cancel = true;\r\n return\r\n }\r\n this.option(\"itemData\", dragStartArgs.itemData);\r\n this._setSourceDraggable();\r\n this._$sourceElement = $element;\r\n var initialOffset = $element.offset();\r\n var $dragElement = this._$dragElement = this._createDragElement($element);\r\n this._toggleDraggingClass(true);\r\n this._toggleDragSourceClass(true);\r\n this._setGestureCoverCursor($dragElement.children());\r\n var isFixedPosition = \"fixed\" === $dragElement.css(\"position\");\r\n this._initPosition(extend({}, dragStartArgs, {\r\n dragElement: $dragElement.get(0),\r\n initialOffset: isFixedPosition && initialOffset\r\n }));\r\n this._getAction(\"onDraggableElementShown\")(_extends({}, dragStartArgs, {\r\n dragElement: $dragElement\r\n }));\r\n var $area = this._getArea();\r\n var areaOffset = this._getAreaOffset($area);\r\n var boundOffset = this._getBoundOffset();\r\n var areaWidth = getOuterWidth($area);\r\n var areaHeight = getOuterHeight($area);\r\n var elementWidth = getWidth($dragElement);\r\n var elementHeight = getHeight($dragElement);\r\n var startOffset_left = $dragElement.offset().left - areaOffset.left,\r\n startOffset_top = $dragElement.offset().top - areaOffset.top;\r\n if ($area.length) {\r\n e.maxLeftOffset = startOffset_left - boundOffset.left;\r\n e.maxRightOffset = areaWidth - startOffset_left - elementWidth - boundOffset.right;\r\n e.maxTopOffset = startOffset_top - boundOffset.top;\r\n e.maxBottomOffset = areaHeight - startOffset_top - elementHeight - boundOffset.bottom\r\n }\r\n if (this.option(\"autoScroll\")) {\r\n this._startAnimator()\r\n }\r\n },\r\n _getAreaOffset: function($area) {\r\n var offset = $area && positionUtils.offset($area);\r\n return offset ? offset : {\r\n left: 0,\r\n top: 0\r\n }\r\n },\r\n _toggleDraggingClass: function(value) {\r\n this._$dragElement && this._$dragElement.toggleClass(this._addWidgetPrefix(\"dragging\"), value)\r\n },\r\n _toggleDragSourceClass: function(value, $element) {\r\n var $sourceElement = $element || this._$sourceElement;\r\n $sourceElement && $sourceElement.toggleClass(this._addWidgetPrefix(\"source\"), value)\r\n },\r\n _setGestureCoverCursor: function($element) {\r\n $(\".\".concat(GESTURE_COVER_CLASS)).css(\"cursor\", $element.css(\"cursor\"))\r\n },\r\n _getBoundOffset: function() {\r\n var boundOffset = this.option(\"boundOffset\");\r\n if (isFunction(boundOffset)) {\r\n boundOffset = boundOffset.call(this)\r\n }\r\n return quadToObject(boundOffset)\r\n },\r\n _getArea: function() {\r\n var area = this.option(\"boundary\");\r\n if (isFunction(area)) {\r\n area = area.call(this)\r\n }\r\n return $(area)\r\n },\r\n _getContainer: function() {\r\n var container = this.option(\"container\");\r\n if (void 0 === container) {\r\n container = viewPort()\r\n }\r\n return $(container)\r\n },\r\n _dragMoveHandler: function(e, scrollBy) {\r\n this._dragMoveArgs = e;\r\n if (!this._$dragElement) {\r\n e.cancel = true;\r\n return\r\n }\r\n var offset = e.offset;\r\n var startPosition = this._startPosition;\r\n this._move({\r\n left: startPosition.left + offset.x,\r\n top: startPosition.top + offset.y\r\n });\r\n if (!scrollBy) {\r\n this._updateScrollable(e)\r\n }\r\n var eventArgs = this._getEventArgs(e);\r\n this._getAction(\"onDragMove\")(eventArgs);\r\n if (true === eventArgs.cancel) {\r\n return\r\n }\r\n var targetDraggable = this._getTargetDraggable();\r\n targetDraggable.dragMove(e, scrollBy)\r\n },\r\n _updateScrollable: function(e) {\r\n if (this.option(\"autoScroll\")) {\r\n var mousePosition = getMousePosition(e);\r\n var allObjects = domAdapter.elementsFromPoint(mousePosition.x, mousePosition.y, this.$element().get(0));\r\n this._verticalScrollHelper.updateScrollable(allObjects, mousePosition);\r\n this._horizontalScrollHelper.updateScrollable(allObjects, mousePosition)\r\n }\r\n },\r\n _getScrollable: function($element) {\r\n var $scrollable;\r\n $element.parents().toArray().some(parent => {\r\n var $parent = $(parent);\r\n if (this._horizontalScrollHelper.isScrollable($parent) || this._verticalScrollHelper.isScrollable($parent)) {\r\n $scrollable = $parent;\r\n return true\r\n }\r\n });\r\n return $scrollable\r\n },\r\n _defaultActionArgs: function() {\r\n var args = this.callBase.apply(this, arguments);\r\n var component = this.option(\"component\");\r\n if (component) {\r\n args.component = component;\r\n args.element = component.element()\r\n }\r\n return args\r\n },\r\n _getEventArgs: function(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n return {\r\n event: e,\r\n itemData: sourceDraggable.option(\"itemData\"),\r\n itemElement: getPublicElement(sourceDraggable._$sourceElement),\r\n fromComponent: sourceDraggable.option(\"component\") || sourceDraggable,\r\n toComponent: targetDraggable.option(\"component\") || targetDraggable,\r\n fromData: sourceDraggable.option(\"data\"),\r\n toData: targetDraggable.option(\"data\")\r\n }\r\n },\r\n _getDragStartArgs: function(e, $itemElement) {\r\n var args = this._getEventArgs(e);\r\n return {\r\n event: args.event,\r\n itemData: args.itemData,\r\n itemElement: $itemElement,\r\n fromData: args.fromData\r\n }\r\n },\r\n _revertItemToInitialPosition: function() {\r\n !this._dragElementIsCloned() && this._move(this._initialLocate, this._$sourceElement)\r\n },\r\n _dragEndHandler: function(e) {\r\n var d = new Deferred;\r\n var dragEndEventArgs = this._getEventArgs(e);\r\n var dropEventArgs = this._getEventArgs(e);\r\n var targetDraggable = this._getTargetDraggable();\r\n var needRevertPosition = true;\r\n try {\r\n this._getAction(\"onDragEnd\")(dragEndEventArgs)\r\n } finally {\r\n when(fromPromise(dragEndEventArgs.cancel)).done(cancel => {\r\n if (!cancel) {\r\n if (targetDraggable !== this) {\r\n targetDraggable._getAction(\"onDrop\")(dropEventArgs)\r\n }\r\n if (!dropEventArgs.cancel) {\r\n needRevertPosition = false;\r\n when(fromPromise(targetDraggable.dragEnd(dragEndEventArgs))).always(d.resolve);\r\n return\r\n }\r\n }\r\n d.resolve()\r\n }).fail(d.resolve);\r\n d.done(() => {\r\n if (needRevertPosition) {\r\n this._revertItemToInitialPosition()\r\n }\r\n this.reset();\r\n targetDraggable.reset();\r\n this._stopAnimator();\r\n this._horizontalScrollHelper.reset();\r\n this._verticalScrollHelper.reset();\r\n this._resetDragElement();\r\n this._resetSourceElement();\r\n this._resetTargetDraggable();\r\n this._resetSourceDraggable()\r\n })\r\n }\r\n },\r\n _isTargetOverAnotherDraggable: function(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (this === sourceDraggable) {\r\n return false\r\n }\r\n var $dragElement = sourceDraggable._$dragElement;\r\n var $sourceDraggableElement = sourceDraggable.$element();\r\n var $targetDraggableElement = this.$element();\r\n var mousePosition = getMousePosition(e);\r\n var elements = domAdapter.elementsFromPoint(mousePosition.x, mousePosition.y, this.element());\r\n var firstWidgetElement = elements.filter(element => {\r\n var $element = $(element);\r\n if ($element.hasClass(this._addWidgetPrefix())) {\r\n return !$element.closest($dragElement).length\r\n }\r\n })[0];\r\n var $sourceElement = this._getSourceElement();\r\n var isTargetOverItself = firstWidgetElement === $sourceDraggableElement.get(0);\r\n var isTargetOverNestedDraggable = $(firstWidgetElement).closest($sourceElement).length;\r\n return !firstWidgetElement || firstWidgetElement === $targetDraggableElement.get(0) && !isTargetOverItself && !isTargetOverNestedDraggable\r\n },\r\n _dragEnterHandler: function(e) {\r\n this._fireDragEnterEvent(e);\r\n if (this._isTargetOverAnotherDraggable(e)) {\r\n this._setTargetDraggable()\r\n }\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable.dragEnter(e)\r\n },\r\n _dragLeaveHandler: function(e) {\r\n this._fireDragLeaveEvent(e);\r\n this._resetTargetDraggable();\r\n if (this !== this._getSourceDraggable()) {\r\n this.reset()\r\n }\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable.dragLeave(e)\r\n },\r\n _getAction: function(name) {\r\n return this[\"_\" + name + \"Action\"] || this._createActionByOption(name)\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n if (!this.option(\"contentTemplate\")) {\r\n return\r\n }\r\n this._templateManager.addDefaultTemplates({\r\n content: new EmptyTemplate\r\n });\r\n this.callBase.apply(this, arguments)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(this._addWidgetPrefix());\r\n var transclude = this._templateManager.anonymousTemplateName === this.option(\"contentTemplate\");\r\n var template = this._getTemplateByOption(\"contentTemplate\");\r\n if (template) {\r\n $(template.render({\r\n container: this.element(),\r\n transclude: transclude\r\n }))\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"onDragStart\":\r\n case \"onDragMove\":\r\n case \"onDragEnd\":\r\n case \"onDrop\":\r\n case \"onDragEnter\":\r\n case \"onDragLeave\":\r\n case \"onDraggableElementShown\":\r\n this[\"_\" + name + \"Action\"] = this._createActionByOption(name);\r\n break;\r\n case \"dragTemplate\":\r\n case \"contentTemplate\":\r\n case \"container\":\r\n case \"clone\":\r\n break;\r\n case \"allowMoveByClick\":\r\n case \"dragDirection\":\r\n case \"disabled\":\r\n case \"boundary\":\r\n case \"filter\":\r\n case \"immediate\":\r\n this._resetDragElement();\r\n this._detachEventHandlers();\r\n this._attachEventHandlers();\r\n break;\r\n case \"autoScroll\":\r\n this._verticalScrollHelper.reset();\r\n this._horizontalScrollHelper.reset();\r\n break;\r\n case \"scrollSensitivity\":\r\n case \"scrollSpeed\":\r\n case \"boundOffset\":\r\n case \"handle\":\r\n case \"group\":\r\n case \"data\":\r\n case \"itemData\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getTargetDraggable: function() {\r\n return targetDraggable || this\r\n },\r\n _getSourceDraggable: function() {\r\n return sourceDraggable || this\r\n },\r\n _setTargetDraggable: function() {\r\n var currentGroup = this.option(\"group\");\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (currentGroup && currentGroup === sourceDraggable.option(\"group\")) {\r\n targetDraggable = this\r\n }\r\n },\r\n _setSourceDraggable: function() {\r\n sourceDraggable = this\r\n },\r\n _resetSourceDraggable: function() {\r\n sourceDraggable = null\r\n },\r\n _resetTargetDraggable: function() {\r\n targetDraggable = null\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n this._detachEventHandlers();\r\n this._resetDragElement();\r\n this._resetTargetDraggable();\r\n this._resetSourceDraggable();\r\n this._$sourceElement = null;\r\n this._stopAnimator()\r\n },\r\n _fireDragEnterEvent: function(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onDragEnter\")(args)\r\n },\r\n _fireDragLeaveEvent: function(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onDragLeave\")(args)\r\n }\r\n});\r\nregisterComponent(DRAGGABLE, Draggable);\r\nexport default Draggable;\r\n","/**\r\n * DevExtreme (esm/ui/sortable.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport Draggable from \"./draggable\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport {\r\n resetPosition\r\n} from \"../animation/translator\";\r\nimport fx from \"../animation/fx\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar window = getWindow();\r\nvar SORTABLE = \"dxSortable\";\r\nvar PLACEHOLDER_CLASS = \"placeholder\";\r\nvar CLONE_CLASS = \"clone\";\r\nvar isElementVisible = itemElement => $(itemElement).is(\":visible\");\r\nvar animate = (element, config) => {\r\n var _config$to, _config$to2;\r\n if (!element) {\r\n return\r\n }\r\n var left = (null === (_config$to = config.to) || void 0 === _config$to ? void 0 : _config$to.left) || 0;\r\n var top = (null === (_config$to2 = config.to) || void 0 === _config$to2 ? void 0 : _config$to2.top) || 0;\r\n element.style.transform = \"translate(\".concat(left, \"px,\").concat(top, \"px)\");\r\n element.style.transition = fx.off ? \"\" : \"transform \".concat(config.duration, \"ms \").concat(config.easing)\r\n};\r\nvar stopAnimation = element => {\r\n if (!element) {\r\n return\r\n }\r\n element.style.transform = \"\";\r\n element.style.transition = \"\"\r\n};\r\n\r\nfunction getScrollableBoundary($scrollable) {\r\n var offset = $scrollable.offset();\r\n var style = $scrollable[0].style;\r\n var paddingLeft = parseFloat(style.paddingLeft) || 0;\r\n var paddingRight = parseFloat(style.paddingRight) || 0;\r\n var paddingTop = parseFloat(style.paddingTop) || 0;\r\n var width = $scrollable[0].clientWidth - (paddingLeft + paddingRight);\r\n var height = getHeight($scrollable);\r\n var left = offset.left + paddingLeft;\r\n var top = offset.top + paddingTop;\r\n return {\r\n left: left,\r\n right: left + width,\r\n top: top,\r\n bottom: top + height\r\n }\r\n}\r\nvar Sortable = Draggable.inherit({\r\n _init: function() {\r\n this.callBase();\r\n this._sourceScrollHandler = this._handleSourceScroll.bind(this);\r\n this._sourceScrollableInfo = null\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n clone: true,\r\n filter: \"> *\",\r\n itemOrientation: \"vertical\",\r\n dropFeedbackMode: \"push\",\r\n allowDropInsideItem: false,\r\n allowReordering: true,\r\n moveItemOnDrop: false,\r\n onDragChange: null,\r\n onAdd: null,\r\n onRemove: null,\r\n onReorder: null,\r\n onPlaceholderPrepared: null,\r\n animation: {\r\n type: \"slide\",\r\n duration: 300,\r\n easing: \"ease\"\r\n },\r\n fromIndex: null,\r\n toIndex: null,\r\n dropInsideItem: false,\r\n itemPoints: null,\r\n fromIndexOffset: 0,\r\n offset: 0,\r\n autoUpdate: false,\r\n draggableElementSize: 0\r\n })\r\n },\r\n reset: function() {\r\n this.option({\r\n dropInsideItem: false,\r\n toIndex: null,\r\n fromIndex: null,\r\n itemPoints: null,\r\n fromIndexOffset: 0,\r\n draggableElementSize: 0\r\n });\r\n if (this._$placeholderElement) {\r\n this._$placeholderElement.remove()\r\n }\r\n this._$placeholderElement = null;\r\n if (!this._isIndicateMode() && this._$modifiedItem) {\r\n this._$modifiedItem.css(\"marginBottom\", this._modifiedItemMargin);\r\n this._$modifiedItem = null\r\n }\r\n },\r\n _getPrevVisibleItem: function(items, index) {\r\n return items.slice(0, index).reverse().filter(isElementVisible)[0]\r\n },\r\n _dragStartHandler: function(e) {\r\n this.callBase.apply(this, arguments);\r\n if (true === e.cancel) {\r\n return\r\n }\r\n var $sourceElement = this._getSourceElement();\r\n this._updateItemPoints();\r\n this._subscribeToSourceScroll(e);\r\n this.option(\"fromIndex\", this._getElementIndex($sourceElement));\r\n this.option(\"fromIndexOffset\", this.option(\"offset\"))\r\n },\r\n _subscribeToSourceScroll: function(e) {\r\n var $scrollable = this._getScrollable($(e.target));\r\n if ($scrollable) {\r\n this._sourceScrollableInfo = {\r\n element: $scrollable,\r\n scrollLeft: $scrollable.scrollLeft(),\r\n scrollTop: $scrollable.scrollTop()\r\n };\r\n eventsEngine.off($scrollable, \"scroll\", this._sourceScrollHandler);\r\n eventsEngine.on($scrollable, \"scroll\", this._sourceScrollHandler)\r\n }\r\n },\r\n _unsubscribeFromSourceScroll: function() {\r\n if (this._sourceScrollableInfo) {\r\n eventsEngine.off(this._sourceScrollableInfo.element, \"scroll\", this._sourceScrollHandler);\r\n this._sourceScrollableInfo = null\r\n }\r\n },\r\n _handleSourceScroll: function(e) {\r\n var sourceScrollableInfo = this._sourceScrollableInfo;\r\n if (sourceScrollableInfo) {\r\n [\"scrollLeft\", \"scrollTop\"].forEach(scrollProp => {\r\n if (e.target[scrollProp] !== sourceScrollableInfo[scrollProp]) {\r\n var scrollBy = e.target[scrollProp] - sourceScrollableInfo[scrollProp];\r\n this._correctItemPoints(scrollBy);\r\n this._movePlaceholder();\r\n sourceScrollableInfo[scrollProp] = e.target[scrollProp]\r\n }\r\n })\r\n }\r\n },\r\n _dragEnterHandler: function(e) {\r\n this.callBase.apply(this, arguments);\r\n if (this === this._getSourceDraggable()) {\r\n return\r\n }\r\n this._subscribeToSourceScroll(e);\r\n this._updateItemPoints();\r\n this.option(\"fromIndex\", -1);\r\n if (!this._isIndicateMode()) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n var lastItemPoint = itemPoints[itemPoints.length - 1];\r\n if (lastItemPoint) {\r\n var $element = this.$element();\r\n var $sourceElement = this._getSourceElement();\r\n var isVertical = this._isVerticalOrientation();\r\n var sourceElementSize = isVertical ? getOuterHeight($sourceElement, true) : getOuterWidth($sourceElement, true);\r\n var scrollSize = $element.get(0)[isVertical ? \"scrollHeight\" : \"scrollWidth\"];\r\n var scrollPosition = $element.get(0)[isVertical ? \"scrollTop\" : \"scrollLeft\"];\r\n var positionProp = isVertical ? \"top\" : \"left\";\r\n var lastPointPosition = lastItemPoint[positionProp];\r\n var elementPosition = $element.offset()[positionProp];\r\n var freeSize = elementPosition + scrollSize - scrollPosition - lastPointPosition;\r\n if (freeSize < sourceElementSize) {\r\n if (isVertical) {\r\n var items = this._getItems();\r\n var $lastItem = $(this._getPrevVisibleItem(items));\r\n this._$modifiedItem = $lastItem;\r\n this._modifiedItemMargin = $lastItem.get(0).style.marginBottom;\r\n $lastItem.css(\"marginBottom\", sourceElementSize - freeSize);\r\n var $sortable = $lastItem.closest(\".dx-sortable\");\r\n var sortable = $sortable.data(\"dxScrollable\") || $sortable.data(\"dxScrollView\");\r\n sortable && sortable.update()\r\n }\r\n }\r\n }\r\n }\r\n },\r\n _dragLeaveHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n if (this !== this._getSourceDraggable()) {\r\n this._unsubscribeFromSourceScroll()\r\n }\r\n },\r\n dragEnter: function() {\r\n if (this !== this._getTargetDraggable()) {\r\n this.option(\"toIndex\", -1)\r\n }\r\n },\r\n dragLeave: function() {\r\n if (this !== this._getTargetDraggable()) {\r\n this.option(\"toIndex\", this.option(\"fromIndex\"))\r\n }\r\n },\r\n _allowDrop: function(event) {\r\n var targetDraggable = this._getTargetDraggable();\r\n var $targetDraggable = targetDraggable.$element();\r\n var $scrollable = this._getScrollable($targetDraggable);\r\n if ($scrollable) {\r\n var {\r\n left: left,\r\n right: right,\r\n top: top,\r\n bottom: bottom\r\n } = getScrollableBoundary($scrollable);\r\n var toIndex = this.option(\"toIndex\");\r\n var itemPoints = this.option(\"itemPoints\");\r\n var itemPoint = null === itemPoints || void 0 === itemPoints ? void 0 : itemPoints.filter(item => item.index === toIndex)[0];\r\n if (itemPoint && void 0 !== itemPoint.top) {\r\n var isVertical = this._isVerticalOrientation();\r\n if (isVertical) {\r\n return top <= Math.ceil(itemPoint.top) && Math.floor(itemPoint.top) <= bottom\r\n } else {\r\n return left <= Math.ceil(itemPoint.left) && Math.floor(itemPoint.left) <= right\r\n }\r\n }\r\n }\r\n return true\r\n },\r\n dragEnd: function(sourceEvent) {\r\n this._unsubscribeFromSourceScroll();\r\n var $sourceElement = this._getSourceElement();\r\n var sourceDraggable = this._getSourceDraggable();\r\n var isSourceDraggable = sourceDraggable.NAME !== this.NAME;\r\n var toIndex = this.option(\"toIndex\");\r\n var event = sourceEvent.event;\r\n var allowDrop = this._allowDrop(event);\r\n if (null !== toIndex && toIndex >= 0 && allowDrop) {\r\n var cancelAdd;\r\n var cancelRemove;\r\n if (sourceDraggable !== this) {\r\n cancelAdd = this._fireAddEvent(event);\r\n if (!cancelAdd) {\r\n cancelRemove = this._fireRemoveEvent(event)\r\n }\r\n }\r\n if (isSourceDraggable) {\r\n resetPosition($sourceElement)\r\n }\r\n if (this.option(\"moveItemOnDrop\")) {\r\n !cancelAdd && this._moveItem($sourceElement, toIndex, cancelRemove)\r\n }\r\n if (sourceDraggable === this) {\r\n return this._fireReorderEvent(event)\r\n }\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n dragMove: function(e) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n if (!itemPoints) {\r\n return\r\n }\r\n var isVertical = this._isVerticalOrientation();\r\n var axisName = isVertical ? \"top\" : \"left\";\r\n var cursorPosition = isVertical ? e.pageY : e.pageX;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var itemPoint;\r\n for (var i = itemPoints.length - 1; i >= 0; i--) {\r\n var centerPosition = itemPoints[i + 1] && (itemPoints[i][axisName] + itemPoints[i + 1][axisName]) / 2;\r\n if ((!isVertical && rtlEnabled ? cursorPosition > centerPosition : centerPosition > cursorPosition) || void 0 === centerPosition) {\r\n itemPoint = itemPoints[i]\r\n } else {\r\n break\r\n }\r\n }\r\n if (itemPoint) {\r\n this._updatePlaceholderPosition(e, itemPoint);\r\n if (this._verticalScrollHelper.isScrolling() && this._isIndicateMode()) {\r\n this._movePlaceholder()\r\n }\r\n }\r\n },\r\n _isIndicateMode: function() {\r\n return \"indicate\" === this.option(\"dropFeedbackMode\") || this.option(\"allowDropInsideItem\")\r\n },\r\n _createPlaceholder: function() {\r\n var $placeholderContainer;\r\n if (this._isIndicateMode()) {\r\n $placeholderContainer = $(\"
\").addClass(this._addWidgetPrefix(PLACEHOLDER_CLASS)).insertBefore(this._getSourceDraggable()._$dragElement)\r\n }\r\n this._$placeholderElement = $placeholderContainer;\r\n return $placeholderContainer\r\n },\r\n _getItems: function() {\r\n var itemsSelector = this._getItemsSelector();\r\n return this._$content().find(itemsSelector).not(\".\" + this._addWidgetPrefix(PLACEHOLDER_CLASS)).not(\".\" + this._addWidgetPrefix(CLONE_CLASS)).toArray()\r\n },\r\n _allowReordering: function() {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n return sourceDraggable !== targetDraggable || this.option(\"allowReordering\")\r\n },\r\n _isValidPoint: function(visibleIndex, draggableVisibleIndex, dropInsideItem) {\r\n var allowDropInsideItem = this.option(\"allowDropInsideItem\");\r\n var allowReordering = dropInsideItem || this._allowReordering();\r\n if (!allowReordering && (0 !== visibleIndex || !allowDropInsideItem)) {\r\n return false\r\n }\r\n if (!this._isIndicateMode()) {\r\n return true\r\n }\r\n return -1 === draggableVisibleIndex || visibleIndex !== draggableVisibleIndex && (dropInsideItem || visibleIndex !== draggableVisibleIndex + 1)\r\n },\r\n _getItemPoints: function() {\r\n var result = [];\r\n var $item;\r\n var offset;\r\n var itemWidth;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isVertical = this._isVerticalOrientation();\r\n var itemElements = this._getItems();\r\n var visibleItemElements = itemElements.filter(isElementVisible);\r\n var visibleItemCount = visibleItemElements.length;\r\n var $draggableItem = this._getDraggableElement();\r\n var draggableVisibleIndex = visibleItemElements.indexOf($draggableItem.get(0));\r\n if (visibleItemCount) {\r\n for (var i = 0; i <= visibleItemCount; i++) {\r\n var needCorrectLeftPosition = !isVertical && rtlEnabled ^ i === visibleItemCount;\r\n var needCorrectTopPosition = isVertical && i === visibleItemCount;\r\n if (i < visibleItemCount) {\r\n $item = $(visibleItemElements[i]);\r\n offset = $item.offset();\r\n itemWidth = getOuterWidth($item)\r\n }\r\n result.push({\r\n dropInsideItem: false,\r\n left: offset.left + (needCorrectLeftPosition ? itemWidth : 0),\r\n top: offset.top + (needCorrectTopPosition ? result[i - 1].height : 0),\r\n index: i === visibleItemCount ? itemElements.length : itemElements.indexOf($item.get(0)),\r\n $item: $item,\r\n width: getOuterWidth($item),\r\n height: getOuterHeight($item),\r\n isValid: this._isValidPoint(i, draggableVisibleIndex)\r\n })\r\n }\r\n if (this.option(\"allowDropInsideItem\")) {\r\n var points = result;\r\n result = [];\r\n for (var _i = 0; _i < points.length; _i++) {\r\n result.push(points[_i]);\r\n if (points[_i + 1]) {\r\n result.push(extend({}, points[_i], {\r\n dropInsideItem: true,\r\n top: Math.floor((points[_i].top + points[_i + 1].top) / 2),\r\n left: Math.floor((points[_i].left + points[_i + 1].left) / 2),\r\n isValid: this._isValidPoint(_i, draggableVisibleIndex, true)\r\n }))\r\n }\r\n }\r\n }\r\n } else {\r\n result.push({\r\n dropInsideItem: false,\r\n index: 0,\r\n isValid: true\r\n })\r\n }\r\n return result\r\n },\r\n _updateItemPoints: function(forceUpdate) {\r\n if (forceUpdate || this.option(\"autoUpdate\") || !this.option(\"itemPoints\")) {\r\n this.option(\"itemPoints\", this._getItemPoints())\r\n }\r\n },\r\n _correctItemPoints: function(scrollBy) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n if (scrollBy && itemPoints && !this.option(\"autoUpdate\")) {\r\n var isVertical = this._isVerticalOrientation();\r\n var positionPropName = isVertical ? \"top\" : \"left\";\r\n itemPoints.forEach(itemPoint => {\r\n itemPoint[positionPropName] -= scrollBy\r\n })\r\n }\r\n },\r\n _getElementIndex: function($itemElement) {\r\n return this._getItems().indexOf($itemElement.get(0))\r\n },\r\n _getDragTemplateArgs: function($element) {\r\n var args = this.callBase.apply(this, arguments);\r\n args.model.fromIndex = this._getElementIndex($element);\r\n return args\r\n },\r\n _togglePlaceholder: function(value) {\r\n this._$placeholderElement && this._$placeholderElement.toggle(value)\r\n },\r\n _isVerticalOrientation: function() {\r\n return \"vertical\" === this.option(\"itemOrientation\")\r\n },\r\n _normalizeToIndex: function(toIndex, dropInsideItem) {\r\n var isAnotherDraggable = this._getSourceDraggable() !== this._getTargetDraggable();\r\n var fromIndex = this.option(\"fromIndex\");\r\n if (null === toIndex) {\r\n return fromIndex\r\n }\r\n return Math.max(isAnotherDraggable || fromIndex >= toIndex || dropInsideItem ? toIndex : toIndex - 1, 0)\r\n },\r\n _updatePlaceholderPosition: function(e, itemPoint) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var toIndex = this._normalizeToIndex(itemPoint.index, itemPoint.dropInsideItem);\r\n var eventArgs = extend(this._getEventArgs(e), {\r\n toIndex: toIndex,\r\n dropInsideItem: itemPoint.dropInsideItem\r\n });\r\n itemPoint.isValid && this._getAction(\"onDragChange\")(eventArgs);\r\n if (eventArgs.cancel || !itemPoint.isValid) {\r\n if (!itemPoint.isValid) {\r\n this.option({\r\n dropInsideItem: false,\r\n toIndex: null\r\n })\r\n }\r\n return\r\n }\r\n this.option({\r\n dropInsideItem: itemPoint.dropInsideItem,\r\n toIndex: itemPoint.index\r\n });\r\n this._getAction(\"onPlaceholderPrepared\")(extend(this._getEventArgs(e), {\r\n placeholderElement: getPublicElement(this._$placeholderElement),\r\n dragElement: getPublicElement(sourceDraggable._$dragElement)\r\n }));\r\n this._updateItemPoints()\r\n },\r\n _makeWidthCorrection: function($item, width) {\r\n this._$scrollable = this._getScrollable($item);\r\n if (this._$scrollable) {\r\n var scrollableWidth = getWidth(this._$scrollable);\r\n var overflowLeft = this._$scrollable.offset().left - $item.offset().left;\r\n var overflowRight = getOuterWidth($item) - overflowLeft - scrollableWidth;\r\n if (overflowLeft > 0) {\r\n width -= overflowLeft\r\n }\r\n if (overflowRight > 0) {\r\n width -= overflowRight\r\n }\r\n }\r\n return width\r\n },\r\n _updatePlaceholderSizes: function($placeholderElement, itemElement) {\r\n var dropInsideItem = this.option(\"dropInsideItem\");\r\n var $item = $(itemElement);\r\n var isVertical = this._isVerticalOrientation();\r\n var width = \"\";\r\n var height = \"\";\r\n $placeholderElement.toggleClass(this._addWidgetPrefix(\"placeholder-inside\"), dropInsideItem);\r\n if (isVertical || dropInsideItem) {\r\n width = getOuterWidth($item)\r\n }\r\n if (!isVertical || dropInsideItem) {\r\n height = getOuterHeight($item)\r\n }\r\n width = this._makeWidthCorrection($item, width);\r\n $placeholderElement.css({\r\n width: width,\r\n height: height\r\n })\r\n },\r\n _moveItem: function($itemElement, index, cancelRemove) {\r\n var $prevTargetItemElement;\r\n var $itemElements = this._getItems();\r\n var $targetItemElement = $itemElements[index];\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (cancelRemove) {\r\n $itemElement = $itemElement.clone();\r\n sourceDraggable._toggleDragSourceClass(false, $itemElement)\r\n }\r\n if (!$targetItemElement) {\r\n $prevTargetItemElement = $itemElements[index - 1]\r\n }\r\n this._moveItemCore($itemElement, $targetItemElement, $prevTargetItemElement)\r\n },\r\n _moveItemCore: function($targetItem, item, prevItem) {\r\n if (!item && !prevItem) {\r\n $targetItem.appendTo(this.$element())\r\n } else if (prevItem) {\r\n $targetItem.insertAfter($(prevItem))\r\n } else {\r\n $targetItem.insertBefore($(item))\r\n }\r\n },\r\n _getDragStartArgs: function(e, $itemElement) {\r\n return extend(this.callBase.apply(this, arguments), {\r\n fromIndex: this._getElementIndex($itemElement)\r\n })\r\n },\r\n _getEventArgs: function(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n var dropInsideItem = targetDraggable.option(\"dropInsideItem\");\r\n return extend(this.callBase.apply(this, arguments), {\r\n fromIndex: sourceDraggable.option(\"fromIndex\"),\r\n toIndex: this._normalizeToIndex(targetDraggable.option(\"toIndex\"), dropInsideItem),\r\n dropInsideItem: dropInsideItem\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"onDragChange\":\r\n case \"onPlaceholderPrepared\":\r\n case \"onAdd\":\r\n case \"onRemove\":\r\n case \"onReorder\":\r\n this[\"_\" + name + \"Action\"] = this._createActionByOption(name);\r\n break;\r\n case \"itemOrientation\":\r\n case \"allowDropInsideItem\":\r\n case \"moveItemOnDrop\":\r\n case \"dropFeedbackMode\":\r\n case \"itemPoints\":\r\n case \"animation\":\r\n case \"allowReordering\":\r\n case \"fromIndexOffset\":\r\n case \"offset\":\r\n case \"draggableElementSize\":\r\n case \"autoUpdate\":\r\n break;\r\n case \"fromIndex\":\r\n [false, true].forEach(isDragSource => {\r\n var fromIndex = isDragSource ? args.value : args.previousValue;\r\n if (null !== fromIndex) {\r\n var $fromElement = $(this._getItems()[fromIndex]);\r\n this._toggleDragSourceClass(isDragSource, $fromElement)\r\n }\r\n });\r\n break;\r\n case \"dropInsideItem\":\r\n this._optionChangedDropInsideItem(args);\r\n break;\r\n case \"toIndex\":\r\n this._optionChangedToIndex(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _optionChangedDropInsideItem: function() {\r\n if (this._isIndicateMode() && this._$placeholderElement) {\r\n this._movePlaceholder()\r\n }\r\n },\r\n _isPositionVisible: function(position) {\r\n var $element = this.$element();\r\n var scrollContainer;\r\n if (\"hidden\" !== $element.css(\"overflow\")) {\r\n scrollContainer = $element.get(0)\r\n } else {\r\n $element.parents().each((function() {\r\n if (\"visible\" !== $(this).css(\"overflow\")) {\r\n scrollContainer = this;\r\n return false\r\n }\r\n }))\r\n }\r\n if (scrollContainer) {\r\n var clientRect = getBoundingRect(scrollContainer);\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var start = isVerticalOrientation ? \"top\" : \"left\";\r\n var end = isVerticalOrientation ? \"bottom\" : \"right\";\r\n var pageOffset = isVerticalOrientation ? window.pageYOffset : window.pageXOffset;\r\n if (position[start] < clientRect[start] + pageOffset || position[start] > clientRect[end] + pageOffset) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _optionChangedToIndex: function(args) {\r\n var toIndex = args.value;\r\n if (this._isIndicateMode()) {\r\n var showPlaceholder = null !== toIndex && toIndex >= 0;\r\n this._togglePlaceholder(showPlaceholder);\r\n if (showPlaceholder) {\r\n this._movePlaceholder()\r\n }\r\n } else {\r\n this._moveItems(args.previousValue, args.value, args.fullUpdate)\r\n }\r\n },\r\n update: function() {\r\n if (null === this.option(\"fromIndex\") && null === this.option(\"toIndex\")) {\r\n return\r\n }\r\n this._updateItemPoints(true);\r\n this._updateDragSourceClass();\r\n var toIndex = this.option(\"toIndex\");\r\n this._optionChangedToIndex({\r\n value: toIndex,\r\n fullUpdate: true\r\n })\r\n },\r\n _updateDragSourceClass: function() {\r\n var fromIndex = this._getActualFromIndex();\r\n var $fromElement = $(this._getItems()[fromIndex]);\r\n if ($fromElement.length) {\r\n this._$sourceElement = $fromElement;\r\n this._toggleDragSourceClass(true, $fromElement)\r\n }\r\n },\r\n _makeLeftCorrection: function(left) {\r\n var $scrollable = this._$scrollable;\r\n if ($scrollable && this._isVerticalOrientation()) {\r\n var overflowLeft = $scrollable.offset().left - left;\r\n if (overflowLeft > 0) {\r\n left += overflowLeft\r\n }\r\n }\r\n return left\r\n },\r\n _movePlaceholder: function() {\r\n var $placeholderElement = this._$placeholderElement || this._createPlaceholder();\r\n if (!$placeholderElement) {\r\n return\r\n }\r\n var items = this._getItems();\r\n var toIndex = this.option(\"toIndex\");\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var dropInsideItem = this.option(\"dropInsideItem\");\r\n var position = null;\r\n var itemElement = items[toIndex];\r\n if (itemElement) {\r\n var $itemElement = $(itemElement);\r\n position = $itemElement.offset();\r\n if (!isVerticalOrientation && rtlEnabled && !dropInsideItem) {\r\n position.left += getOuterWidth($itemElement, true)\r\n }\r\n } else {\r\n var prevVisibleItemElement = itemElement = this._getPrevVisibleItem(items, toIndex);\r\n if (prevVisibleItemElement) {\r\n position = $(prevVisibleItemElement).offset();\r\n if (isVerticalOrientation) {\r\n position.top += getOuterHeight(prevVisibleItemElement, true)\r\n } else if (!rtlEnabled) {\r\n position.left += getOuterWidth(prevVisibleItemElement, true)\r\n }\r\n }\r\n }\r\n this._updatePlaceholderSizes($placeholderElement, itemElement);\r\n if (position && !this._isPositionVisible(position)) {\r\n position = null\r\n }\r\n if (position) {\r\n position.left = this._makeLeftCorrection(position.left);\r\n this._move(position, $placeholderElement)\r\n }\r\n $placeholderElement.toggle(!!position)\r\n },\r\n _getPositions: function(items, elementSize, fromIndex, toIndex) {\r\n var positions = [];\r\n for (var i = 0; i < items.length; i++) {\r\n var position = 0;\r\n if (null === toIndex || null === fromIndex) {\r\n positions.push(position);\r\n continue\r\n }\r\n if (-1 === fromIndex) {\r\n if (i >= toIndex) {\r\n position = elementSize\r\n }\r\n } else if (-1 === toIndex) {\r\n if (i > fromIndex) {\r\n position = -elementSize\r\n }\r\n } else if (fromIndex < toIndex) {\r\n if (i > fromIndex && i < toIndex) {\r\n position = -elementSize\r\n }\r\n } else if (fromIndex > toIndex) {\r\n if (i >= toIndex && i < fromIndex) {\r\n position = elementSize\r\n }\r\n }\r\n positions.push(position)\r\n }\r\n return positions\r\n },\r\n _getDraggableElementSize: function(isVerticalOrientation) {\r\n var $draggableItem = this._getDraggableElement();\r\n var size = this.option(\"draggableElementSize\");\r\n if (!size) {\r\n size = isVerticalOrientation ? (getOuterHeight($draggableItem) + getOuterHeight($draggableItem, true)) / 2 : (getOuterWidth($draggableItem) + getOuterWidth($draggableItem, true)) / 2;\r\n if (!this.option(\"autoUpdate\")) {\r\n this.option(\"draggableElementSize\", size)\r\n }\r\n }\r\n return size\r\n },\r\n _getActualFromIndex: function() {\r\n var {\r\n fromIndex: fromIndex,\r\n fromIndexOffset: fromIndexOffset,\r\n offset: offset\r\n } = this.option();\r\n return null == fromIndex ? null : fromIndex + fromIndexOffset - offset\r\n },\r\n _moveItems: function(prevToIndex, toIndex, fullUpdate) {\r\n var fromIndex = this._getActualFromIndex();\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var positionPropName = isVerticalOrientation ? \"top\" : \"left\";\r\n var elementSize = this._getDraggableElementSize(isVerticalOrientation);\r\n var items = this._getItems();\r\n var prevPositions = this._getPositions(items, elementSize, fromIndex, prevToIndex);\r\n var positions = this._getPositions(items, elementSize, fromIndex, toIndex);\r\n var animationConfig = this.option(\"animation\");\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n for (var i = 0; i < items.length; i++) {\r\n var itemElement = items[i];\r\n var prevPosition = prevPositions[i];\r\n var position = positions[i];\r\n if (null === toIndex || null === fromIndex) {\r\n stopAnimation(itemElement)\r\n } else if (prevPosition !== position || fullUpdate && position) {\r\n animate(itemElement, extend({}, animationConfig, {\r\n to: {\r\n [positionPropName]: !isVerticalOrientation && rtlEnabled ? -position : position\r\n }\r\n }))\r\n }\r\n }\r\n },\r\n _toggleDragSourceClass: function(value, $element) {\r\n var $sourceElement = $element || this._$sourceElement;\r\n this.callBase.apply(this, arguments);\r\n if (!this._isIndicateMode()) {\r\n $sourceElement && $sourceElement.toggleClass(this._addWidgetPrefix(\"source-hidden\"), value)\r\n }\r\n },\r\n _dispose: function() {\r\n this.reset();\r\n this.callBase()\r\n },\r\n _fireAddEvent: function(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onAdd\")(args);\r\n return args.cancel\r\n },\r\n _fireRemoveEvent: function(sourceEvent) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var args = this._getEventArgs(sourceEvent);\r\n sourceDraggable._getAction(\"onRemove\")(args);\r\n return args.cancel\r\n },\r\n _fireReorderEvent: function(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onReorder\")(args);\r\n return args.promise || (new Deferred).resolve()\r\n }\r\n});\r\nregisterComponent(SORTABLE, Sortable);\r\nexport default Sortable;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.reorder.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n setWidth,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isMouseEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nimport Sortable from \"../sortable\";\r\nvar REORDER_HANDLE_CONTAINER_CLASS = \"dx-list-reorder-handle-container\";\r\nvar REORDER_HANDLE_CLASS = \"dx-list-reorder-handle\";\r\nvar REORDERING_ITEM_GHOST_CLASS = \"dx-list-item-ghost-reordering\";\r\nvar STATE_HOVER_CLASS = \"dx-state-hover\";\r\nregisterDecorator(\"reorder\", \"default\", EditDecorator.inherit({\r\n _init: function() {\r\n var list = this._list;\r\n this._groupedEnabled = this._list.option(\"grouped\");\r\n this._lockedDrag = false;\r\n var filter = this._groupedEnabled ? \"> .dx-list-group > .dx-list-group-body > .dx-list-item\" : \"> .dx-list-item\";\r\n this._sortable = list._createComponent(list._scrollView.content(), Sortable, extend({\r\n component: list,\r\n contentTemplate: null,\r\n allowReordering: false,\r\n filter: filter,\r\n container: list.$element(),\r\n dragDirection: list.option(\"itemDragging.group\") ? \"both\" : \"vertical\",\r\n handle: \".\".concat(REORDER_HANDLE_CLASS),\r\n dragTemplate: this._dragTemplate,\r\n onDragStart: this._dragStartHandler.bind(this),\r\n onDragChange: this._dragChangeHandler.bind(this),\r\n onReorder: this._reorderHandler.bind(this)\r\n }, list.option(\"itemDragging\")))\r\n },\r\n afterRender: function() {\r\n this._sortable.update()\r\n },\r\n _dragTemplate: function(e) {\r\n var result = $(e.itemElement).clone().addClass(REORDERING_ITEM_GHOST_CLASS).addClass(STATE_HOVER_CLASS);\r\n setWidth(result, getWidth(e.itemElement));\r\n return result\r\n },\r\n _dragStartHandler: function(e) {\r\n if (this._lockedDrag) {\r\n e.cancel = true;\r\n return\r\n }\r\n },\r\n _dragChangeHandler: function(e) {\r\n if (this._groupedEnabled && !this._sameParent(e.fromIndex, e.toIndex)) {\r\n e.cancel = true;\r\n return\r\n }\r\n },\r\n _sameParent: function(fromIndex, toIndex) {\r\n var $dragging = this._list.getItemElementByFlatIndex(fromIndex);\r\n var $over = this._list.getItemElementByFlatIndex(toIndex);\r\n return $over.parent().get(0) === $dragging.parent().get(0)\r\n },\r\n _reorderHandler: function(e) {\r\n var $targetElement = this._list.getItemElementByFlatIndex(e.toIndex);\r\n this._list.reorderItem($(e.itemElement), $targetElement)\r\n },\r\n afterBag: function(config) {\r\n var $handle = $(\"
\").addClass(REORDER_HANDLE_CLASS);\r\n eventsEngine.on($handle, \"dxpointerdown\", e => {\r\n this._lockedDrag = !isMouseEvent(e)\r\n });\r\n eventsEngine.on($handle, \"dxhold\", {\r\n timeout: 30\r\n }, e => {\r\n e.cancel = true;\r\n this._lockedDrag = false\r\n });\r\n config.$container.addClass(REORDER_HANDLE_CONTAINER_CLASS).append($handle)\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/list/modules/search.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport searchBoxMixin from \"../../widget/ui.search_box_mixin\";\r\nimport TextBox from \"../../text_box\";\r\nsearchBoxMixin.setEditorClass(TextBox);\r\n","/**\r\n * DevExtreme (esm/ui/list.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport List from \"./list_light\";\r\nimport \"./list/modules/selection\";\r\nimport \"./list/modules/deleting\";\r\nimport \"./list/modules/dragging\";\r\nimport \"./list/modules/context\";\r\nimport \"./list/modules/search\";\r\nexport default List;\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/editors/editor.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport Component from \"../common/component\";\r\nimport ValidationEngine from \"../../../ui/validation_engine\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n data\r\n} from \"../../../core/element_data\";\r\nimport Callbacks from \"../../../core/utils/callbacks\";\r\nimport OldEditor from \"../../../ui/editor/editor\";\r\nimport {\r\n querySelectorInSameDocument\r\n} from \"../../utils/dom\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar VALIDATION_TARGET = \"dx-validation-target\";\r\nexport default class Editor extends Component {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onFocusIn = () => {\r\n var isValidationMessageShownOnFocus = \"auto\" === this.option(\"validationMessageMode\");\r\n if (isValidationMessageShownOnFocus) {\r\n var $validationMessageWrapper = $(querySelectorInSameDocument(this.element(), \".dx-invalid-message.dx-overlay-wrapper\"));\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.removeClass(INVALID_MESSAGE_AUTO);\r\n if (this.showValidationMessageTimeout) {\r\n clearTimeout(this.showValidationMessageTimeout)\r\n }\r\n this.showValidationMessageTimeout = setTimeout(() => {\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.addClass(INVALID_MESSAGE_AUTO)\r\n }, 150)\r\n }\r\n };\r\n props.saveValueChangeEvent = e => {\r\n this._valueChangeEventInstance = e\r\n };\r\n return props\r\n }\r\n _createElement(element) {\r\n super._createElement(element);\r\n this.showValidationMessageTimeout = void 0;\r\n this.validationRequest = Callbacks();\r\n data(this.$element()[0], VALIDATION_TARGET, this)\r\n }\r\n _render() {\r\n var _this$option;\r\n null === (_this$option = this.option(\"_onMarkupRendered\")) || void 0 === _this$option ? void 0 : _this$option()\r\n }\r\n _initializeComponent() {\r\n super._initializeComponent();\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n _initOptions(options) {\r\n super._initOptions(options);\r\n this.option(ValidationEngine.initValidationOptions(options))\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n validationMessageOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n validationTooltipOptions: {}\r\n })\r\n }\r\n _bindInnerWidgetOptions(innerWidget, optionsContainer) {\r\n var innerWidgetOptions = extend({}, innerWidget.option());\r\n var syncOptions = () => this._silent(optionsContainer, innerWidgetOptions);\r\n syncOptions();\r\n innerWidget.on(\"optionChanged\", syncOptions)\r\n }\r\n _raiseValidation(value, previousValue) {\r\n var areValuesEmpty = !isDefined(value) && !isDefined(previousValue);\r\n if (value !== previousValue && !areValuesEmpty) {\r\n this.validationRequest.fire({\r\n value: value,\r\n editor: this\r\n })\r\n }\r\n }\r\n _raiseValueChangeAction(value, previousValue) {\r\n var _this$_valueChangeAct;\r\n null === (_this$_valueChangeAct = this._valueChangeAction) || void 0 === _this$_valueChangeAct ? void 0 : _this$_valueChangeAct.call(this, {\r\n element: this.$element(),\r\n previousValue: previousValue,\r\n value: value,\r\n event: this._valueChangeEventInstance\r\n });\r\n this._valueChangeEventInstance = void 0\r\n }\r\n _optionChanged(option) {\r\n var {\r\n name: name,\r\n previousValue: previousValue,\r\n value: value\r\n } = option;\r\n if (name && void 0 !== this._getActionConfigs()[name]) {\r\n this._addAction(name)\r\n }\r\n switch (name) {\r\n case \"value\":\r\n this._raiseValidation(value, previousValue);\r\n this._raiseValueChangeAction(value, previousValue);\r\n break;\r\n case \"onValueChanged\":\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n break;\r\n case \"isValid\":\r\n case \"validationError\":\r\n case \"validationErrors\":\r\n case \"validationStatus\":\r\n this.option(ValidationEngine.synchronizeValidationOptions(option, this.option()))\r\n }\r\n super._optionChanged(option)\r\n }\r\n reset() {\r\n var {\r\n value: value\r\n } = this._getDefaultOptions();\r\n this.option({\r\n value: value\r\n })\r\n }\r\n _dispose() {\r\n super._dispose();\r\n data(this.element(), VALIDATION_TARGET, null);\r\n if (this.showValidationMessageTimeout) {\r\n clearTimeout(this.showValidationMessageTimeout)\r\n }\r\n }\r\n}\r\nvar prevIsEditor = OldEditor.isEditor;\r\nvar newIsEditor = instance => prevIsEditor(instance) || instance instanceof Editor;\r\nEditor.isEditor = newIsEditor;\r\nOldEditor.isEditor = newIsEditor;\r\n","/**\r\n * DevExtreme (esm/renovation/utils/dom.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function querySelectorInSameDocument(el, selector) {\r\n var _el$getRootNode, _el$getRootNode2;\r\n var root = null !== (_el$getRootNode = null === (_el$getRootNode2 = el.getRootNode) || void 0 === _el$getRootNode2 ? void 0 : _el$getRootNode2.call(el)) && void 0 !== _el$getRootNode ? _el$getRootNode : document;\r\n return root.querySelector(selector)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/editors/check_box.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Editor from \"./editor\";\r\nexport default class CheckBox extends Editor {\r\n _useTemplates() {\r\n return false\r\n }\r\n _isFocused() {\r\n var focusTarget = this.$element()[0];\r\n return focusTarget.classList.contains(\"dx-state-focused\")\r\n }\r\n getSupportedKeyNames() {\r\n return [\"space\"]\r\n }\r\n getProps() {\r\n var props = super.getProps();\r\n if (null !== props.value) {\r\n props.value = Boolean(props.value)\r\n }\r\n return props\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/utils/get_updated_options.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isPlainObject,\r\n type\r\n} from \"../../../../core/utils/type\";\r\nvar defaultNotDeepCopyArrays = [\"dataSource\", \"selectedRowKeys\"];\r\nvar propsToIgnore = {\r\n integrationOptions: true\r\n};\r\n\r\nfunction getDiffItem(key, value, previousValue) {\r\n return {\r\n path: key,\r\n value: value,\r\n previousValue: previousValue\r\n }\r\n}\r\n\r\nfunction compare(resultPaths, item1, item2, key, fullPropName, notDeepCopyArrays) {\r\n if (propsToIgnore[key]) {\r\n return\r\n }\r\n var type1 = type(item1);\r\n var type2 = type(item2);\r\n if (item1 === item2) {\r\n return\r\n }\r\n if (type1 !== type2) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else if (\"object\" === type1) {\r\n if (!isPlainObject(item2)) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else {\r\n var diffPaths = objectDiffs(item1, item2, fullPropName, notDeepCopyArrays);\r\n resultPaths.push(...diffPaths.map(item => _extends({}, item, {\r\n path: \"\".concat(key, \".\").concat(item.path)\r\n })))\r\n }\r\n } else if (\"array\" === type1) {\r\n var notDeepCopy = notDeepCopyArrays.some(prop => fullPropName.includes(prop));\r\n if (notDeepCopy && item1 !== item2) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else if (item1.length !== item2.length) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else {\r\n var _diffPaths = objectDiffs(item1, item2, fullPropName, notDeepCopyArrays);\r\n [].push.apply(resultPaths, _diffPaths.map(item => _extends({}, item, {\r\n path: \"\".concat(key).concat(item.path)\r\n })))\r\n }\r\n } else {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n }\r\n}\r\nvar objectDiffsFiltered = propsEnumerator => (oldProps, props, fullPropName, notDeepCopyArrays) => {\r\n var resultPaths = [];\r\n var processItem = !Array.isArray(oldProps) ? propName => {\r\n compare(resultPaths, oldProps[propName], props[propName], propName, \"\".concat(fullPropName, \".\").concat(propName), notDeepCopyArrays)\r\n } : propName => {\r\n compare(resultPaths, oldProps[propName], props[propName], \"[\".concat(propName, \"]\"), \"\".concat(fullPropName, \".\").concat(propName), notDeepCopyArrays)\r\n };\r\n propsEnumerator(oldProps).forEach(processItem);\r\n Object.keys(props).filter(propName => !Object.prototype.hasOwnProperty.call(oldProps, propName) && oldProps[propName] !== props[propName]).forEach(propName => {\r\n resultPaths.push({\r\n path: propName,\r\n value: props[propName],\r\n previousValue: oldProps[propName]\r\n })\r\n });\r\n return resultPaths\r\n};\r\nvar objectDiffs = objectDiffsFiltered(oldProps => Object.keys(oldProps));\r\nvar reactProps = {\r\n key: true,\r\n ref: true,\r\n children: true,\r\n style: true\r\n};\r\nvar objectDiffsWithoutReactProps = objectDiffsFiltered(prop => Object.keys(prop).filter(p => !reactProps[p]));\r\nexport function getUpdatedOptions(oldProps, props) {\r\n var notDeepCopyArrays = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : defaultNotDeepCopyArrays;\r\n return objectDiffsWithoutReactProps(oldProps, props, \"\", notDeepCopyArrays)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/dom_component_wrapper.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"valueChange\"],\r\n _excluded2 = [\"componentProps\", \"componentType\", \"templateNames\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n renderTemplate,\r\n hasTemplate\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n ConfigContext\r\n} from \"../../common/config_context\";\r\nimport {\r\n getUpdatedOptions\r\n} from \"./utils/get_updated_options\";\r\nvar normalizeProps = props => Object.keys(props).reduce((accumulator, key) => {\r\n if (void 0 !== props[key]) {\r\n accumulator[key] = props[key]\r\n }\r\n return accumulator\r\n}, {});\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n componentProps: {\r\n className: className\r\n }\r\n },\r\n restAttributes: restAttributes,\r\n widgetRef: widgetRef\r\n } = _ref;\r\n return normalizeProps(createVNode(1, \"div\", className, null, 1, _extends({}, restAttributes), null, widgetRef))\r\n};\r\nexport var DomComponentWrapperProps = {};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class DomComponentWrapper extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.widgetRef = infernoCreateRef();\r\n this.getInstance = this.getInstance.bind(this);\r\n this.setupWidget = this.setupWidget.bind(this);\r\n this.updateWidget = this.updateWidget.bind(this)\r\n }\r\n get config() {\r\n if (\"ConfigContext\" in this.context) {\r\n return this.context.ConfigContext\r\n }\r\n return ConfigContext\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.setupWidget, []), new InfernoEffect(this.updateWidget, [this.props.componentProps, this.config, this.props.templateNames])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[1]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.componentProps, this.config, this.props.templateNames])\r\n }\r\n setupWidget() {\r\n var componentInstance = new this.props.componentType(this.widgetRef.current, this.properties);\r\n this.instance = componentInstance;\r\n return () => {\r\n componentInstance.dispose();\r\n this.instance = null\r\n }\r\n }\r\n updateWidget() {\r\n var instance = this.getInstance();\r\n if (!instance) {\r\n return\r\n }\r\n var updatedOptions = getUpdatedOptions(this.prevProps || {}, this.properties);\r\n if (updatedOptions.length) {\r\n instance.beginUpdate();\r\n updatedOptions.forEach(_ref2 => {\r\n var {\r\n path: path,\r\n value: value\r\n } = _ref2;\r\n instance.option(path, value)\r\n });\r\n instance.endUpdate()\r\n }\r\n this.prevProps = this.properties\r\n }\r\n get properties() {\r\n var _this$config;\r\n var normalizedProps = normalizeProps(this.props.componentProps);\r\n var {\r\n valueChange: valueChange\r\n } = normalizedProps, restProps = _objectWithoutPropertiesLoose(normalizedProps, _excluded);\r\n var properties = _extends({\r\n rtlEnabled: !!(null !== (_this$config = this.config) && void 0 !== _this$config && _this$config.rtlEnabled),\r\n isRenovated: true\r\n }, restProps);\r\n if (valueChange) {\r\n properties.onValueChanged = _ref3 => {\r\n var {\r\n value: value\r\n } = _ref3;\r\n return valueChange(value)\r\n }\r\n }\r\n var templates = this.props.templateNames;\r\n templates.forEach(name => {\r\n if (hasTemplate(name, properties, this)) {\r\n properties[name] = (item, index, container) => {\r\n renderTemplate(this.props.componentProps[name], {\r\n item: item,\r\n index: index,\r\n container: container\r\n }, this)\r\n }\r\n }\r\n });\r\n return properties\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded2);\r\n return restProps\r\n }\r\n getInstance() {\r\n return this.instance\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n widgetRef: this.widgetRef,\r\n config: this.config,\r\n properties: this.properties,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nDomComponentWrapper.defaultProps = DomComponentWrapperProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/overlays/validation_message.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"boundary\", \"className\", \"contentId\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"mode\", \"offset\", \"onClick\", \"onKeyDown\", \"positionSide\", \"rtlEnabled\", \"tabIndex\", \"target\", \"validationErrors\", \"visible\", \"visualContainer\", \"width\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport LegacyValidationMessage from \"../../../ui/validation_message\";\r\nimport {\r\n DomComponentWrapper\r\n} from \"../common/dom_component_wrapper\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"../common/base_props\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n componentProps: componentProps,\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, DomComponentWrapper, _extends({\r\n componentType: LegacyValidationMessage,\r\n componentProps: componentProps,\r\n templateNames: []\r\n }, restAttributes)))\r\n};\r\nexport var ValidationMessageProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n mode: \"auto\",\r\n positionSide: \"top\",\r\n offset: Object.freeze({\r\n h: 0,\r\n v: 0\r\n }),\r\n isReactComponentWrapper: true\r\n})));\r\nexport class ValidationMessage extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get componentProps() {\r\n return this.props\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n componentProps: this.componentProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nValidationMessage.defaultProps = ValidationMessageProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/common/editor.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"aria\", \"children\", \"className\", \"classes\", \"defaultValue\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"isValid\", \"name\", \"onClick\", \"onFocusIn\", \"onKeyDown\", \"readOnly\", \"rtlEnabled\", \"tabIndex\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"value\", \"valueChange\", \"visible\", \"width\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport Guid from \"../../../../core/guid\";\r\nimport {\r\n Widget,\r\n WidgetProps\r\n} from \"../../common/widget\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"../../common/base_props\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport {\r\n ValidationMessage\r\n} from \"../../overlays/validation_message\";\r\nvar getCssClasses = model => {\r\n var {\r\n classes: classes,\r\n isValid: isValid,\r\n readOnly: readOnly\r\n } = model;\r\n var classesMap = {\r\n \"dx-state-readonly\": !!readOnly,\r\n \"dx-invalid\": !isValid,\r\n [\"\".concat(classes)]: !!classes\r\n };\r\n return combineClasses(classesMap)\r\n};\r\nexport var viewFunction = viewModel => {\r\n var {\r\n aria: aria,\r\n cssClasses: classes,\r\n isValidationMessageVisible: isValidationMessageVisible,\r\n onFocusIn: onFocusIn,\r\n props: {\r\n accessKey: accessKey,\r\n activeStateEnabled: activeStateEnabled,\r\n children: children,\r\n className: className,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n height: height,\r\n hint: hint,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onClick: onClick,\r\n onKeyDown: onKeyDown,\r\n rtlEnabled: rtlEnabled,\r\n tabIndex: tabIndex,\r\n validationMessageMode: validationMessageMode,\r\n validationMessagePosition: validationMessagePosition,\r\n visible: visible,\r\n width: width\r\n },\r\n restAttributes: restAttributes,\r\n rootElementRef: rootElementRef,\r\n validationErrors: validationErrors,\r\n validationMessageGuid: validationMessageGuid,\r\n validationMessageTarget: validationMessageTarget,\r\n widgetRef: widgetRef\r\n } = viewModel;\r\n return normalizeProps(createComponentVNode(2, Widget, _extends({\r\n rootElementRef: rootElementRef,\r\n aria: aria,\r\n classes: classes,\r\n activeStateEnabled: activeStateEnabled,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n accessKey: accessKey,\r\n className: className,\r\n rtlEnabled: rtlEnabled,\r\n hint: hint,\r\n disabled: disabled,\r\n height: height,\r\n width: width,\r\n onFocusIn: onFocusIn,\r\n onClick: onClick,\r\n onKeyDown: onKeyDown,\r\n tabIndex: tabIndex,\r\n visible: visible\r\n }, restAttributes, {\r\n children: createFragment([children, isValidationMessageVisible && createComponentVNode(2, ValidationMessage, {\r\n validationErrors: validationErrors,\r\n mode: validationMessageMode,\r\n positionSide: validationMessagePosition,\r\n rtlEnabled: rtlEnabled,\r\n target: validationMessageTarget,\r\n boundary: validationMessageTarget,\r\n visualContainer: validationMessageTarget,\r\n contentId: validationMessageGuid\r\n })], 0)\r\n }), null, widgetRef))\r\n};\r\nexport var EditorProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n readOnly: false,\r\n name: \"\",\r\n validationError: null,\r\n validationErrors: null,\r\n validationMessageMode: \"auto\",\r\n validationMessagePosition: \"bottom\",\r\n validationStatus: \"valid\",\r\n isValid: true,\r\n defaultValue: null,\r\n valueChange: () => {}\r\n})));\r\nexport var EditorPropsType = {\r\n get readOnly() {\r\n return EditorProps.readOnly\r\n },\r\n get name() {\r\n return EditorProps.name\r\n },\r\n get validationError() {\r\n return EditorProps.validationError\r\n },\r\n get validationErrors() {\r\n return EditorProps.validationErrors\r\n },\r\n get validationMessageMode() {\r\n return EditorProps.validationMessageMode\r\n },\r\n get validationMessagePosition() {\r\n return EditorProps.validationMessagePosition\r\n },\r\n get validationStatus() {\r\n return EditorProps.validationStatus\r\n },\r\n get isValid() {\r\n return EditorProps.isValid\r\n },\r\n get defaultValue() {\r\n return EditorProps.defaultValue\r\n },\r\n get valueChange() {\r\n return EditorProps.valueChange\r\n },\r\n get className() {\r\n return EditorProps.className\r\n },\r\n get activeStateEnabled() {\r\n return EditorProps.activeStateEnabled\r\n },\r\n get disabled() {\r\n return EditorProps.disabled\r\n },\r\n get focusStateEnabled() {\r\n return EditorProps.focusStateEnabled\r\n },\r\n get hoverStateEnabled() {\r\n return EditorProps.hoverStateEnabled\r\n },\r\n get tabIndex() {\r\n return EditorProps.tabIndex\r\n },\r\n get visible() {\r\n return EditorProps.visible\r\n },\r\n get aria() {\r\n return WidgetProps.aria\r\n },\r\n get classes() {\r\n return WidgetProps.classes\r\n }\r\n};\r\nimport {\r\n convertRulesToOptions\r\n} from \"../../../../core/options/utils\";\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class Editor extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.widgetRef = infernoCreateRef();\r\n this.rootElementRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.state = {\r\n validationMessageGuid: \"dx-\".concat(new Guid),\r\n isValidationMessageVisible: false,\r\n value: void 0 !== this.props.value ? this.props.value : this.props.defaultValue\r\n };\r\n this.updateValidationMessageVisibility = this.updateValidationMessageVisibility.bind(this);\r\n this.focus = this.focus.bind(this);\r\n this.blur = this.blur.bind(this);\r\n this.onFocusIn = this.onFocusIn.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateValidationMessageVisibility, [this.props.isValid, this.props.validationStatus, this.props.validationError, this.props.validationErrors]), createReRenderEffect()]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.isValid, this.props.validationStatus, this.props.validationError, this.props.validationErrors])\r\n }\r\n updateValidationMessageVisibility() {\r\n this.setState(__state_argument => ({\r\n isValidationMessageVisible: this.shouldShowValidationMessage\r\n }))\r\n }\r\n onFocusIn(event) {\r\n var {\r\n onFocusIn: onFocusIn\r\n } = this.props;\r\n null === onFocusIn || void 0 === onFocusIn ? void 0 : onFocusIn(event)\r\n }\r\n get cssClasses() {\r\n return \"\".concat(getCssClasses(_extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n })))\r\n }\r\n get shouldShowValidationMessage() {\r\n var _this$validationError;\r\n var {\r\n isValid: isValid,\r\n validationStatus: validationStatus\r\n } = this.props;\r\n var validationErrors = null !== (_this$validationError = this.validationErrors) && void 0 !== _this$validationError ? _this$validationError : [];\r\n var isEditorValid = isValid && \"invalid\" !== validationStatus;\r\n return !isEditorValid && validationErrors.length > 0\r\n }\r\n get aria() {\r\n var {\r\n isValid: isValid,\r\n readOnly: readOnly\r\n } = this.props;\r\n var result = {\r\n readonly: readOnly ? \"true\" : \"false\",\r\n invalid: !isValid ? \"true\" : \"false\"\r\n };\r\n if (this.shouldShowValidationMessage) {\r\n result.describedBy = this.state.validationMessageGuid\r\n }\r\n return _extends({}, result, this.props.aria)\r\n }\r\n get validationErrors() {\r\n if (void 0 !== this.__getterCache.validationErrors) {\r\n return this.__getterCache.validationErrors\r\n }\r\n return this.__getterCache.validationErrors = (() => {\r\n var {\r\n validationError: validationError,\r\n validationErrors: validationErrors\r\n } = this.props;\r\n var allValidationErrors = validationErrors && [...validationErrors];\r\n if (!allValidationErrors && validationError) {\r\n allValidationErrors = [_extends({}, validationError)]\r\n }\r\n return allValidationErrors\r\n })()\r\n }\r\n get validationMessageTarget() {\r\n var _this$rootElementRef;\r\n return null === (_this$rootElementRef = this.rootElementRef) || void 0 === _this$rootElementRef ? void 0 : _this$rootElementRef.current\r\n }\r\n get restAttributes() {\r\n var _this$props$value = _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$value, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n this.widgetRef.current.focus()\r\n }\r\n blur() {\r\n this.widgetRef.current.blur()\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.validationError !== nextProps.validationError || this.props.validationErrors !== nextProps.validationErrors) {\r\n this.__getterCache.validationErrors = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n validationMessageGuid: this.state.validationMessageGuid,\r\n isValidationMessageVisible: this.state.isValidationMessageVisible,\r\n rootElementRef: this.rootElementRef,\r\n widgetRef: this.widgetRef,\r\n onFocusIn: this.onFocusIn,\r\n cssClasses: this.cssClasses,\r\n shouldShowValidationMessage: this.shouldShowValidationMessage,\r\n aria: this.aria,\r\n validationErrors: this.validationErrors,\r\n validationMessageTarget: this.validationMessageTarget,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\n\r\nfunction __processTwoWayProps(defaultProps) {\r\n var twoWayProps = [\"value\"];\r\n return Object.keys(defaultProps).reduce((props, propName) => {\r\n var propValue = defaultProps[propName];\r\n var defaultPropName = twoWayProps.some(p => p === propName) ? \"default\" + propName.charAt(0).toUpperCase() + propName.slice(1) : propName;\r\n props[defaultPropName] = propValue;\r\n return props\r\n }, {})\r\n}\r\nEditor.defaultProps = EditorPropsType;\r\nvar __defaultOptionRules = [];\r\nexport function defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n Editor.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(Editor.defaultProps), Object.getOwnPropertyDescriptors(__processTwoWayProps(convertRulesToOptions(__defaultOptionRules)))))\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/utils.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isMaterial,\r\n isCompact,\r\n current\r\n} from \"../../../../ui/themes\";\r\nvar defaultIconSizes = [\r\n [22, 16],\r\n [18, 16]\r\n];\r\nvar defaultFontSizes = [\r\n [\r\n [12, 8],\r\n [20, 18]\r\n ],\r\n [\r\n [16, 10],\r\n [16, 14]\r\n ]\r\n];\r\n\r\nfunction getThemeType() {\r\n var theme = current();\r\n return {\r\n isMaterialTheme: isMaterial(theme),\r\n isCompactTheme: isCompact(theme)\r\n }\r\n}\r\n\r\nfunction getDefaultIconSize() {\r\n var {\r\n isCompactTheme: isCompactTheme,\r\n isMaterialTheme: isMaterialTheme\r\n } = getThemeType();\r\n return defaultIconSizes[+isMaterialTheme][+isCompactTheme]\r\n}\r\n\r\nfunction getDefaultFontSize(isChecked) {\r\n var {\r\n isCompactTheme: isCompactTheme,\r\n isMaterialTheme: isMaterialTheme\r\n } = getThemeType();\r\n return defaultFontSizes[+isChecked][+isMaterialTheme][+isCompactTheme]\r\n}\r\n\r\nfunction getFontSizeByIconSize(iconSize, isChecked) {\r\n var defaultFontSize = getDefaultFontSize(isChecked);\r\n var defaultIconSize = getDefaultIconSize();\r\n var fontToIconSizeRatio = defaultFontSize / defaultIconSize;\r\n return Math.ceil(fontToIconSizeRatio * iconSize)\r\n}\r\nexport {\r\n getDefaultFontSize,\r\n getDefaultIconSize,\r\n getFontSizeByIconSize\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/check_box_icon.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"isChecked\", \"size\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport getElementComputedStyle from \"../../../utils/get_computed_style\";\r\nimport {\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport {\r\n normalizeStyleProp\r\n} from \"../../../../core/utils/style\";\r\nimport {\r\n isNumeric as isNumber\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getFontSizeByIconSize\r\n} from \"./utils\";\r\nexport var viewFunction = viewModel => {\r\n var {\r\n cssStyles: cssStyles,\r\n elementRef: elementRef\r\n } = viewModel;\r\n return createVNode(1, \"span\", \"dx-checkbox-icon\", null, 1, {\r\n style: normalizeStyles(cssStyles)\r\n }, null, elementRef)\r\n};\r\nexport var CheckBoxIconProps = {\r\n isChecked: false\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class CheckBoxIcon extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.elementRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.updateFontSize = this.updateFontSize.bind(this);\r\n this.setIconFontSize = this.setIconFontSize.bind(this);\r\n this.getIconSize = this.getIconSize.bind(this);\r\n this.getComputedIconSize = this.getComputedIconSize.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateFontSize, [this.props.isChecked, this.props.size])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.isChecked, this.props.size])\r\n }\r\n updateFontSize() {\r\n var {\r\n isChecked: isChecked,\r\n size: size\r\n } = this.props;\r\n if (hasWindow() && size) {\r\n var newIconSize = this.getIconSize(size);\r\n var newFontSize = getFontSizeByIconSize(newIconSize, isChecked);\r\n this.setIconFontSize(newFontSize)\r\n }\r\n }\r\n setIconFontSize(fontSize) {\r\n var element = this.elementRef.current;\r\n element.style.fontSize = \"\".concat(fontSize, \"px\")\r\n }\r\n getIconSize(size) {\r\n if (isNumber(size)) {\r\n return size\r\n }\r\n if (size.endsWith(\"px\")) {\r\n return parseInt(size, 10)\r\n }\r\n return this.getComputedIconSize()\r\n }\r\n getComputedIconSize() {\r\n var element = this.elementRef.current;\r\n var iconComputedStyle = getElementComputedStyle(element);\r\n var computedIconSize = parseInt(null === iconComputedStyle || void 0 === iconComputedStyle ? void 0 : iconComputedStyle.width, 10);\r\n return computedIconSize\r\n }\r\n get cssStyles() {\r\n if (void 0 !== this.__getterCache.cssStyles) {\r\n return this.__getterCache.cssStyles\r\n }\r\n return this.__getterCache.cssStyles = (() => {\r\n var {\r\n size: size\r\n } = this.props;\r\n var width = normalizeStyleProp(\"width\", size);\r\n var height = normalizeStyleProp(\"height\", size);\r\n return {\r\n height: height,\r\n width: width\r\n }\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.size !== nextProps.size) {\r\n this.__getterCache.cssStyles = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n elementRef: this.elementRef,\r\n setIconFontSize: this.setIconFontSize,\r\n getIconSize: this.getIconSize,\r\n getComputedIconSize: this.getComputedIconSize,\r\n cssStyles: this.cssStyles,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nCheckBoxIcon.defaultProps = CheckBoxIconProps;\r\n","/**\r\n * DevExtreme (esm/renovation/utils/get_computed_style.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nexport default function getElementComputedStyle(el) {\r\n var _window$getComputedSt;\r\n var window = getWindow();\r\n return el ? null === (_window$getComputedSt = window.getComputedStyle) || void 0 === _window$getComputedSt ? void 0 : _window$getComputedSt.call(window, el) : null\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/check_box.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"aria\", \"className\", \"defaultValue\", \"disabled\", \"enableThreeStateBehavior\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"iconSize\", \"isValid\", \"name\", \"onClick\", \"onFocusIn\", \"onKeyDown\", \"readOnly\", \"rtlEnabled\", \"saveValueChangeEvent\", \"tabIndex\", \"text\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"value\", \"valueChange\", \"visible\", \"width\"];\r\nimport {\r\n createVNode,\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport devices from \"../../../../core/devices\";\r\nimport {\r\n Editor,\r\n EditorProps\r\n} from \"../common/editor\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport {\r\n CheckBoxIcon\r\n} from \"./check_box_icon\";\r\nimport {\r\n WidgetProps\r\n} from \"../../common/widget\";\r\nvar getCssClasses = model => {\r\n var {\r\n text: text,\r\n value: value\r\n } = model;\r\n var checked = value;\r\n var indeterminate = null === checked;\r\n var classesMap = {\r\n \"dx-checkbox\": true,\r\n \"dx-checkbox-checked\": true === checked,\r\n \"dx-checkbox-has-text\": !!text,\r\n \"dx-checkbox-indeterminate\": indeterminate\r\n };\r\n return combineClasses(classesMap)\r\n};\r\nexport var viewFunction = viewModel => {\r\n var {\r\n aria: aria,\r\n cssClasses: classes,\r\n editorRef: editorRef,\r\n keyDown: onKeyDown,\r\n onWidgetClick: onClick,\r\n props: {\r\n accessKey: accessKey,\r\n activeStateEnabled: activeStateEnabled,\r\n className: className,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n height: height,\r\n hint: hint,\r\n hoverStateEnabled: hoverStateEnabled,\r\n iconSize: iconSize,\r\n isValid: isValid,\r\n name: name,\r\n onFocusIn: onFocusIn,\r\n readOnly: readOnly,\r\n rtlEnabled: rtlEnabled,\r\n tabIndex: tabIndex,\r\n text: text,\r\n validationError: validationError,\r\n validationErrors: validationErrors,\r\n validationMessageMode: validationMessageMode,\r\n validationMessagePosition: validationMessagePosition,\r\n validationStatus: validationStatus,\r\n value: value,\r\n visible: visible,\r\n width: width\r\n },\r\n restAttributes: restAttributes\r\n } = viewModel;\r\n return normalizeProps(createComponentVNode(2, Editor, _extends({\r\n aria: aria,\r\n classes: classes,\r\n onClick: onClick,\r\n onKeyDown: onKeyDown,\r\n accessKey: accessKey,\r\n activeStateEnabled: activeStateEnabled,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n className: className,\r\n disabled: disabled,\r\n readOnly: readOnly,\r\n hint: hint,\r\n height: height,\r\n width: width,\r\n rtlEnabled: rtlEnabled,\r\n tabIndex: tabIndex,\r\n visible: visible,\r\n validationError: validationError,\r\n validationErrors: validationErrors,\r\n validationMessageMode: validationMessageMode,\r\n validationMessagePosition: validationMessagePosition,\r\n validationStatus: validationStatus,\r\n isValid: isValid,\r\n onFocusIn: onFocusIn\r\n }, restAttributes, {\r\n children: createFragment([normalizeProps(createVNode(64, \"input\", null, null, 1, _extends({\r\n type: \"hidden\",\r\n value: \"\".concat(value)\r\n }, name && {\r\n name: name\r\n }))), createVNode(1, \"div\", \"dx-checkbox-container\", [createComponentVNode(2, CheckBoxIcon, {\r\n size: iconSize,\r\n isChecked: true === value\r\n }), text && createVNode(1, \"span\", \"dx-checkbox-text\", text, 0)], 0)], 4)\r\n }), null, editorRef))\r\n};\r\nexport var CheckBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(EditorProps), Object.getOwnPropertyDescriptors({\r\n text: \"\",\r\n enableThreeStateBehavior: false,\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n get focusStateEnabled() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n defaultValue: false,\r\n valueChange: () => {}\r\n})));\r\nexport var CheckBoxPropsType = {\r\n get text() {\r\n return CheckBoxProps.text\r\n },\r\n get enableThreeStateBehavior() {\r\n return CheckBoxProps.enableThreeStateBehavior\r\n },\r\n get activeStateEnabled() {\r\n return CheckBoxProps.activeStateEnabled\r\n },\r\n get hoverStateEnabled() {\r\n return CheckBoxProps.hoverStateEnabled\r\n },\r\n get focusStateEnabled() {\r\n return CheckBoxProps.focusStateEnabled\r\n },\r\n get defaultValue() {\r\n return CheckBoxProps.defaultValue\r\n },\r\n get valueChange() {\r\n return CheckBoxProps.valueChange\r\n },\r\n get readOnly() {\r\n return CheckBoxProps.readOnly\r\n },\r\n get name() {\r\n return CheckBoxProps.name\r\n },\r\n get validationError() {\r\n return CheckBoxProps.validationError\r\n },\r\n get validationErrors() {\r\n return CheckBoxProps.validationErrors\r\n },\r\n get validationMessageMode() {\r\n return CheckBoxProps.validationMessageMode\r\n },\r\n get validationMessagePosition() {\r\n return CheckBoxProps.validationMessagePosition\r\n },\r\n get validationStatus() {\r\n return CheckBoxProps.validationStatus\r\n },\r\n get isValid() {\r\n return CheckBoxProps.isValid\r\n },\r\n get className() {\r\n return CheckBoxProps.className\r\n },\r\n get disabled() {\r\n return CheckBoxProps.disabled\r\n },\r\n get tabIndex() {\r\n return CheckBoxProps.tabIndex\r\n },\r\n get visible() {\r\n return CheckBoxProps.visible\r\n },\r\n get aria() {\r\n return WidgetProps.aria\r\n }\r\n};\r\nimport {\r\n convertRulesToOptions\r\n} from \"../../../../core/options/utils\";\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class CheckBox extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.editorRef = infernoCreateRef();\r\n this.state = {\r\n value: void 0 !== this.props.value ? this.props.value : this.props.defaultValue\r\n };\r\n this.focus = this.focus.bind(this);\r\n this.blur = this.blur.bind(this);\r\n this.onWidgetClick = this.onWidgetClick.bind(this);\r\n this.keyDown = this.keyDown.bind(this)\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n onWidgetClick(event) {\r\n var {\r\n enableThreeStateBehavior: enableThreeStateBehavior,\r\n readOnly: readOnly,\r\n saveValueChangeEvent: saveValueChangeEvent\r\n } = this.props;\r\n if (!readOnly) {\r\n null === saveValueChangeEvent || void 0 === saveValueChangeEvent ? void 0 : saveValueChangeEvent(event);\r\n if (enableThreeStateBehavior) {\r\n var __newValue;\r\n this.setState(__state_argument => {\r\n __newValue = null === (void 0 !== this.props.value ? this.props.value : __state_argument.value) || (!(void 0 !== this.props.value ? this.props.value : __state_argument.value) ? null : false);\r\n return {\r\n value: __newValue\r\n }\r\n });\r\n this.props.valueChange(__newValue)\r\n } else {\r\n var _newValue;\r\n this.setState(__state_argument => {\r\n var _ref;\r\n _newValue = !(null !== (_ref = void 0 !== this.props.value ? this.props.value : __state_argument.value) && void 0 !== _ref ? _ref : false);\r\n return {\r\n value: _newValue\r\n }\r\n });\r\n this.props.valueChange(_newValue)\r\n }\r\n }\r\n }\r\n keyDown(e) {\r\n var {\r\n onKeyDown: onKeyDown\r\n } = this.props;\r\n var {\r\n keyName: keyName,\r\n originalEvent: originalEvent,\r\n which: which\r\n } = e;\r\n var result = null === onKeyDown || void 0 === onKeyDown ? void 0 : onKeyDown(e);\r\n if (null !== result && void 0 !== result && result.cancel) {\r\n return result\r\n }\r\n if (\"space\" === keyName || \"space\" === which) {\r\n originalEvent.preventDefault();\r\n this.onWidgetClick(originalEvent)\r\n }\r\n return\r\n }\r\n get cssClasses() {\r\n return getCssClasses(_extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }))\r\n }\r\n get aria() {\r\n var checked = true === (void 0 !== this.props.value ? this.props.value : this.state.value);\r\n var indeterminate = null === (void 0 !== this.props.value ? this.props.value : this.state.value);\r\n var result = {\r\n role: \"checkbox\",\r\n checked: indeterminate ? \"mixed\" : \"\".concat(checked)\r\n };\r\n return _extends({}, result, this.props.aria)\r\n }\r\n get restAttributes() {\r\n var _this$props$value = _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$value, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n this.editorRef.current.focus()\r\n }\r\n blur() {\r\n this.editorRef.current.blur()\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n editorRef: this.editorRef,\r\n onWidgetClick: this.onWidgetClick,\r\n keyDown: this.keyDown,\r\n cssClasses: this.cssClasses,\r\n aria: this.aria,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\n\r\nfunction __processTwoWayProps(defaultProps) {\r\n var twoWayProps = [\"value\"];\r\n return Object.keys(defaultProps).reduce((props, propName) => {\r\n var propValue = defaultProps[propName];\r\n var defaultPropName = twoWayProps.some(p => p === propName) ? \"default\" + propName.charAt(0).toUpperCase() + propName.slice(1) : propName;\r\n props[defaultPropName] = propValue;\r\n return props\r\n }, {})\r\n}\r\nCheckBox.defaultProps = CheckBoxPropsType;\r\nvar __defaultOptionRules = [];\r\nexport function defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n CheckBox.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(CheckBox.defaultProps), Object.getOwnPropertyDescriptors(__processTwoWayProps(convertRulesToOptions(__defaultOptionRules)))))\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/check_box.j.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../core/component_registrator\";\r\nimport BaseComponent from \"../../../component_wrapper/editors/check_box\";\r\nimport {\r\n CheckBox as CheckBoxComponent,\r\n defaultOptions\r\n} from \"./check_box\";\r\nexport default class CheckBox extends BaseComponent {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);\r\n return props\r\n }\r\n focus() {\r\n var _this$viewRef;\r\n return null === (_this$viewRef = this.viewRef) || void 0 === _this$viewRef ? void 0 : _this$viewRef.focus(...arguments)\r\n }\r\n blur() {\r\n var _this$viewRef2;\r\n return null === (_this$viewRef2 = this.viewRef) || void 0 === _this$viewRef2 ? void 0 : _this$viewRef2.blur(...arguments)\r\n }\r\n _getActionConfigs() {\r\n return {\r\n onFocusIn: {},\r\n onClick: {}\r\n }\r\n }\r\n get _propsInfo() {\r\n return {\r\n twoWay: [\r\n [\"value\", \"defaultValue\", \"valueChange\"]\r\n ],\r\n allowNull: [\"defaultValue\", \"validationError\", \"validationErrors\", \"value\"],\r\n elements: [],\r\n templates: [],\r\n props: [\"text\", \"iconSize\", \"enableThreeStateBehavior\", \"activeStateEnabled\", \"hoverStateEnabled\", \"focusStateEnabled\", \"saveValueChangeEvent\", \"defaultValue\", \"valueChange\", \"readOnly\", \"name\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"isValid\", \"onFocusIn\", \"className\", \"accessKey\", \"disabled\", \"height\", \"hint\", \"onClick\", \"onKeyDown\", \"rtlEnabled\", \"tabIndex\", \"visible\", \"width\", \"aria\", \"value\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return CheckBoxComponent\r\n }\r\n}\r\nregisterComponent(\"dxCheckBox\", CheckBox);\r\nCheckBox.defaultOptions = defaultOptions;\r\n","/**\r\n * DevExtreme (esm/ui/check_box.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Widget from \"../renovation/ui/editors/check_box/check_box.j\";\r\nexport default Widget;\r\n","/**\r\n * DevExtreme (esm/ui/radio_group/radio_button.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport Editor from \"../editor/editor\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nvar RADIO_BUTTON_CLASS = \"dx-radiobutton\";\r\nvar RADIO_BUTTON_ICON_CLASS = \"dx-radiobutton-icon\";\r\nvar RADIO_BUTTON_ICON_DOT_CLASS = \"dx-radiobutton-icon-dot\";\r\nvar RADIO_BUTTON_CHECKED_CLASS = \"dx-radiobutton-checked\";\r\nvar RADIO_BUTTON_ICON_CHECKED_CLASS = \"dx-radiobutton-icon-checked\";\r\nvar RadioButton = Editor.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n space: function(e) {\r\n e.preventDefault();\r\n this._clickAction({\r\n event: e\r\n })\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n value: false\r\n })\r\n },\r\n _canValueBeChangedByClick: function() {\r\n return true\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(RADIO_BUTTON_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderIcon();\r\n this._renderCheckedState(this.option(\"value\"));\r\n this._renderClick();\r\n this.setAria(\"role\", \"radio\")\r\n },\r\n _renderIcon: function() {\r\n this._$icon = $(\"
\").addClass(RADIO_BUTTON_ICON_CLASS);\r\n $(\"
\").addClass(RADIO_BUTTON_ICON_DOT_CLASS).appendTo(this._$icon);\r\n this.$element().append(this._$icon)\r\n },\r\n _renderCheckedState: function(checked) {\r\n this.$element().toggleClass(RADIO_BUTTON_CHECKED_CLASS, checked).find(\".\" + RADIO_BUTTON_ICON_CLASS).toggleClass(RADIO_BUTTON_ICON_CHECKED_CLASS, checked);\r\n this.setAria(\"checked\", checked)\r\n },\r\n _renderClick: function() {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n this._clickAction = this._createAction(function(args) {\r\n this._clickHandler(args.event)\r\n }.bind(this));\r\n eventsEngine.off(this.$element(), eventName);\r\n eventsEngine.on(this.$element(), eventName, function(e) {\r\n this._clickAction({\r\n event: e\r\n })\r\n }.bind(this))\r\n },\r\n _clickHandler: function(e) {\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", true)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"value\":\r\n this._renderCheckedState(args.value);\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxRadioButton\", RadioButton);\r\nexport default RadioButton;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.selection.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport CheckBox from \"../check_box\";\r\nimport RadioButton from \"../radio_group/radio_button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nvar SELECT_DECORATOR_ENABLED_CLASS = \"dx-list-select-decorator-enabled\";\r\nvar SELECT_DECORATOR_SELECT_ALL_CLASS = \"dx-list-select-all\";\r\nvar SELECT_DECORATOR_SELECT_ALL_CHECKBOX_CLASS = \"dx-list-select-all-checkbox\";\r\nvar SELECT_DECORATOR_SELECT_ALL_LABEL_CLASS = \"dx-list-select-all-label\";\r\nvar SELECT_CHECKBOX_CONTAINER_CLASS = \"dx-list-select-checkbox-container\";\r\nvar SELECT_CHECKBOX_CLASS = \"dx-list-select-checkbox\";\r\nvar SELECT_RADIO_BUTTON_CONTAINER_CLASS = \"dx-list-select-radiobutton-container\";\r\nvar SELECT_RADIO_BUTTON_CLASS = \"dx-list-select-radiobutton\";\r\nvar FOCUSED_STATE_CLASS = \"dx-state-focused\";\r\nvar CLICK_EVENT_NAME = addNamespace(clickEventName, \"dxListEditDecorator\");\r\nregisterDecorator(\"selection\", \"default\", EditDecorator.inherit({\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n var selectionMode = this._list.option(\"selectionMode\");\r\n this._singleStrategy = \"single\" === selectionMode;\r\n this._containerClass = this._singleStrategy ? SELECT_RADIO_BUTTON_CONTAINER_CLASS : SELECT_CHECKBOX_CONTAINER_CLASS;\r\n this._controlClass = this._singleStrategy ? SELECT_RADIO_BUTTON_CLASS : SELECT_CHECKBOX_CLASS;\r\n this._controlWidget = this._singleStrategy ? RadioButton : CheckBox;\r\n this._list.$element().addClass(SELECT_DECORATOR_ENABLED_CLASS)\r\n },\r\n beforeBag: function(config) {\r\n var $itemElement = config.$itemElement;\r\n var $container = config.$container.addClass(this._containerClass);\r\n var $control = $(\"
\").addClass(this._controlClass).appendTo($container);\r\n new this._controlWidget($control, extend(this._commonOptions(), {\r\n value: this._isSelected($itemElement),\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n onValueChanged: function(e) {\r\n e.event && this._list._saveSelectionChangeEvent(e.event);\r\n this._processCheckedState($itemElement, e.value);\r\n e.event && e.event.stopPropagation()\r\n }.bind(this)\r\n }))\r\n },\r\n modifyElement: function(config) {\r\n this.callBase.apply(this, arguments);\r\n var $itemElement = config.$itemElement;\r\n var control = this._controlWidget.getInstance($itemElement.find(\".\" + this._controlClass));\r\n eventsEngine.on($itemElement, \"stateChanged\", function(e, state) {\r\n control.option(\"value\", state)\r\n }.bind(this))\r\n },\r\n _updateSelectAllState: function() {\r\n if (!this._$selectAll) {\r\n return\r\n }\r\n this._selectAllCheckBox.option(\"value\", this._list.isSelectAll())\r\n },\r\n afterRender: function() {\r\n if (\"all\" !== this._list.option(\"selectionMode\")) {\r\n return\r\n }\r\n if (!this._$selectAll) {\r\n this._renderSelectAll()\r\n } else {\r\n this._updateSelectAllState()\r\n }\r\n },\r\n handleKeyboardEvents: function(currentFocusedIndex, moveFocusUp) {\r\n var moveFocusDown = !moveFocusUp;\r\n var list = this._list;\r\n var $selectAll = this._$selectAll;\r\n var lastItemIndex = list._getLastItemIndex();\r\n var isFocusOutOfList = moveFocusUp && 0 === currentFocusedIndex || moveFocusDown && currentFocusedIndex === lastItemIndex;\r\n var hasSelectAllItem = !!$selectAll;\r\n if (hasSelectAllItem && isFocusOutOfList) {\r\n list.option(\"focusedElement\", $selectAll);\r\n list.scrollToItem(list.option(\"focusedElement\"));\r\n return true\r\n }\r\n return false\r\n },\r\n handleEnterPressing: function(e) {\r\n if (this._$selectAll && this._$selectAll.hasClass(FOCUSED_STATE_CLASS)) {\r\n e.target = this._$selectAll.get(0);\r\n this._list._saveSelectionChangeEvent(e);\r\n this._selectAllCheckBox.option(\"value\", !this._selectAllCheckBox.option(\"value\"));\r\n return true\r\n }\r\n },\r\n _renderSelectAll: function() {\r\n var $selectAll = this._$selectAll = $(\"
\").addClass(SELECT_DECORATOR_SELECT_ALL_CLASS);\r\n var list = this._list;\r\n var downArrowHandler = list._supportedKeys().downArrow.bind(list);\r\n this._selectAllCheckBox = list._createComponent($(\"
\").addClass(SELECT_DECORATOR_SELECT_ALL_CHECKBOX_CLASS).appendTo($selectAll), CheckBox, {\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false\r\n });\r\n this._selectAllCheckBox.registerKeyHandler(\"downArrow\", downArrowHandler);\r\n $(\"
\").addClass(SELECT_DECORATOR_SELECT_ALL_LABEL_CLASS).text(this._list.option(\"selectAllText\")).appendTo($selectAll);\r\n this._list.itemsContainer().prepend($selectAll);\r\n this._updateSelectAllState();\r\n this._attachSelectAllHandler()\r\n },\r\n _attachSelectAllHandler: function() {\r\n this._selectAllCheckBox.option(\"onValueChanged\", this._selectAllHandler.bind(this));\r\n eventsEngine.off(this._$selectAll, CLICK_EVENT_NAME);\r\n eventsEngine.on(this._$selectAll, CLICK_EVENT_NAME, this._selectAllClickHandler.bind(this))\r\n },\r\n _selectAllHandler: function(e) {\r\n e.event && e.event.stopPropagation();\r\n var isSelectedAll = this._selectAllCheckBox.option(\"value\");\r\n e.event && this._list._saveSelectionChangeEvent(e.event);\r\n if (true === isSelectedAll) {\r\n this._selectAllItems()\r\n } else if (false === isSelectedAll) {\r\n this._unselectAllItems()\r\n }\r\n this._list._createActionByOption(\"onSelectAllValueChanged\")({\r\n value: isSelectedAll\r\n })\r\n },\r\n _checkSelectAllCapability: function() {\r\n var list = this._list;\r\n var dataController = list._dataController;\r\n if (\"allPages\" === list.option(\"selectAllMode\") && list.option(\"grouped\") && !dataController.group()) {\r\n errors.log(\"W1010\");\r\n return false\r\n }\r\n return true\r\n },\r\n _selectAllItems: function() {\r\n if (!this._checkSelectAllCapability()) {\r\n return\r\n }\r\n this._list._selection.selectAll(\"page\" === this._list.option(\"selectAllMode\"))\r\n },\r\n _unselectAllItems: function() {\r\n if (!this._checkSelectAllCapability()) {\r\n return\r\n }\r\n this._list._selection.deselectAll(\"page\" === this._list.option(\"selectAllMode\"))\r\n },\r\n _selectAllClickHandler: function(e) {\r\n this._list._saveSelectionChangeEvent(e);\r\n this._selectAllCheckBox.option(\"value\", !this._selectAllCheckBox.option(\"value\"))\r\n },\r\n _isSelected: function($itemElement) {\r\n return this._list.isItemSelected($itemElement)\r\n },\r\n _processCheckedState: function($itemElement, checked) {\r\n if (checked) {\r\n this._list.selectItem($itemElement)\r\n } else {\r\n this._list.unselectItem($itemElement)\r\n }\r\n },\r\n dispose: function() {\r\n this._disposeSelectAll();\r\n this._list.$element().removeClass(SELECT_DECORATOR_ENABLED_CLASS);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _disposeSelectAll: function() {\r\n if (this._$selectAll) {\r\n this._$selectAll.remove();\r\n this._$selectAll = null\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/list/item.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport CollectionWidgetItem from \"../collection/item\";\r\nvar LIST_ITEM_BADGE_CONTAINER_CLASS = \"dx-list-item-badge-container\";\r\nvar LIST_ITEM_BADGE_CLASS = \"dx-list-item-badge\";\r\nvar BADGE_CLASS = \"dx-badge\";\r\nvar LIST_ITEM_CHEVRON_CONTAINER_CLASS = \"dx-list-item-chevron-container\";\r\nvar LIST_ITEM_CHEVRON_CLASS = \"dx-list-item-chevron\";\r\nvar ListItem = CollectionWidgetItem.inherit({\r\n _renderWatchers: function() {\r\n this.callBase();\r\n this._startWatcher(\"badge\", this._renderBadge.bind(this));\r\n this._startWatcher(\"showChevron\", this._renderShowChevron.bind(this))\r\n },\r\n _renderBadge: function(badge) {\r\n this._$element.children(\".\" + LIST_ITEM_BADGE_CONTAINER_CLASS).remove();\r\n if (!badge) {\r\n return\r\n }\r\n var $badge = $(\"
\").addClass(LIST_ITEM_BADGE_CONTAINER_CLASS).append($(\"
\").addClass(LIST_ITEM_BADGE_CLASS).addClass(BADGE_CLASS).text(badge));\r\n var $chevron = this._$element.children(\".\" + LIST_ITEM_CHEVRON_CONTAINER_CLASS).first();\r\n $chevron.length > 0 ? $badge.insertBefore($chevron) : $badge.appendTo(this._$element)\r\n },\r\n _renderShowChevron: function(showChevron) {\r\n this._$element.children(\".\" + LIST_ITEM_CHEVRON_CONTAINER_CLASS).remove();\r\n if (!showChevron) {\r\n return\r\n }\r\n var $chevronContainer = $(\"
\").addClass(LIST_ITEM_CHEVRON_CONTAINER_CLASS);\r\n var $chevron = $(\"
\").addClass(LIST_ITEM_CHEVRON_CLASS);\r\n $chevronContainer.append($chevron).appendTo(this._$element)\r\n }\r\n});\r\nexport default ListItem;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollbar.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport readyCallback from \"../../core/utils/ready_callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n deferRenderer\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nvar SCROLLBAR = \"dxScrollbar\";\r\nvar SCROLLABLE_SCROLLBAR_CLASS = \"dx-scrollable-scrollbar\";\r\nvar SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = \"\".concat(SCROLLABLE_SCROLLBAR_CLASS, \"-active\");\r\nvar SCROLLABLE_SCROLL_CLASS = \"dx-scrollable-scroll\";\r\nvar SCROLLABLE_SCROLL_CONTENT_CLASS = \"dx-scrollable-scroll-content\";\r\nvar HOVER_ENABLED_STATE = \"dx-scrollbar-hoverable\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar THUMB_MIN_SIZE = 15;\r\nvar SCROLLBAR_VISIBLE = {\r\n onScroll: \"onScroll\",\r\n onHover: \"onHover\",\r\n always: \"always\",\r\n never: \"never\"\r\n};\r\nvar activeScrollbar = null;\r\nvar Scrollbar = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n direction: null,\r\n visible: false,\r\n activeStateEnabled: false,\r\n visibilityMode: SCROLLBAR_VISIBLE.onScroll,\r\n containerSize: 0,\r\n contentSize: 0,\r\n expandable: true,\r\n scaleRatio: 1\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._isHovered = false\r\n },\r\n _initMarkup: function() {\r\n this._renderThumb();\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderDirection();\r\n this._update();\r\n this._attachPointerDownHandler();\r\n this.option(\"hoverStateEnabled\", this._isHoverMode());\r\n this.$element().toggleClass(HOVER_ENABLED_STATE, this.option(\"hoverStateEnabled\"))\r\n },\r\n _renderThumb: function() {\r\n this._$thumb = $(\"
\").addClass(SCROLLABLE_SCROLL_CLASS);\r\n $(\"
\").addClass(SCROLLABLE_SCROLL_CONTENT_CLASS).appendTo(this._$thumb);\r\n this.$element().addClass(SCROLLABLE_SCROLLBAR_CLASS).append(this._$thumb)\r\n },\r\n isThumb: function($element) {\r\n return !!this.$element().find($element).length\r\n },\r\n _isHoverMode: function() {\r\n var visibilityMode = this.option(\"visibilityMode\");\r\n return (visibilityMode === SCROLLBAR_VISIBLE.onHover || visibilityMode === SCROLLBAR_VISIBLE.always) && this.option(\"expandable\")\r\n },\r\n _renderDirection: function() {\r\n var direction = this.option(\"direction\");\r\n this.$element().addClass(\"dx-scrollbar-\" + direction);\r\n this._dimension = direction === HORIZONTAL ? \"width\" : \"height\";\r\n this._prop = direction === HORIZONTAL ? \"left\" : \"top\"\r\n },\r\n _attachPointerDownHandler: function() {\r\n eventsEngine.on(this._$thumb, addNamespace(pointerEvents.down, SCROLLBAR), this.feedbackOn.bind(this))\r\n },\r\n feedbackOn: function() {\r\n this.$element().addClass(SCROLLABLE_SCROLLBAR_ACTIVE_CLASS);\r\n activeScrollbar = this\r\n },\r\n feedbackOff: function() {\r\n this.$element().removeClass(SCROLLABLE_SCROLLBAR_ACTIVE_CLASS);\r\n activeScrollbar = null\r\n },\r\n cursorEnter: function() {\r\n this._isHovered = true;\r\n if (this._needScrollbar()) {\r\n this.option(\"visible\", true)\r\n }\r\n },\r\n cursorLeave: function() {\r\n this._isHovered = false;\r\n this.option(\"visible\", false)\r\n },\r\n _renderDimensions: function() {\r\n this._$thumb.css({\r\n width: this.option(\"width\"),\r\n height: this.option(\"height\")\r\n })\r\n },\r\n _toggleVisibility: function(visible) {\r\n if (this.option(\"visibilityMode\") === SCROLLBAR_VISIBLE.onScroll) {\r\n this._$thumb.css(\"opacity\")\r\n }\r\n visible = this._adjustVisibility(visible);\r\n this.option().visible = visible;\r\n this._$thumb.toggleClass(\"dx-state-invisible\", !visible)\r\n },\r\n _adjustVisibility: function(visible) {\r\n if (this._baseContainerToContentRatio && !this._needScrollbar()) {\r\n return false\r\n }\r\n switch (this.option(\"visibilityMode\")) {\r\n case SCROLLBAR_VISIBLE.onScroll:\r\n break;\r\n case SCROLLBAR_VISIBLE.onHover:\r\n visible = visible || !!this._isHovered;\r\n break;\r\n case SCROLLBAR_VISIBLE.never:\r\n visible = false;\r\n break;\r\n case SCROLLBAR_VISIBLE.always:\r\n visible = true\r\n }\r\n return visible\r\n },\r\n moveTo: function(location) {\r\n if (this._isHidden()) {\r\n return\r\n }\r\n if (isPlainObject(location)) {\r\n location = location[this._prop] || 0\r\n }\r\n var scrollBarLocation = {};\r\n scrollBarLocation[this._prop] = this._calculateScrollBarPosition(location);\r\n move(this._$thumb, scrollBarLocation)\r\n },\r\n _calculateScrollBarPosition: function(location) {\r\n return -location * this._thumbRatio\r\n },\r\n _update: function() {\r\n var containerSize = Math.round(this.option(\"containerSize\"));\r\n var contentSize = Math.round(this.option(\"contentSize\"));\r\n var baseContainerSize = Math.round(this.option(\"baseContainerSize\"));\r\n var baseContentSize = Math.round(this.option(\"baseContentSize\"));\r\n if (isNaN(baseContainerSize)) {\r\n baseContainerSize = containerSize;\r\n baseContentSize = contentSize\r\n }\r\n this._baseContainerToContentRatio = baseContentSize ? baseContainerSize / baseContentSize : baseContainerSize;\r\n this._realContainerToContentRatio = contentSize ? containerSize / contentSize : containerSize;\r\n var thumbSize = Math.round(Math.max(Math.round(containerSize * this._realContainerToContentRatio), THUMB_MIN_SIZE));\r\n this._thumbRatio = (containerSize - thumbSize) / (this.option(\"scaleRatio\") * (contentSize - containerSize));\r\n this.option(this._dimension, thumbSize / this.option(\"scaleRatio\"));\r\n this.$element().css(\"display\", this._needScrollbar() ? \"\" : \"none\")\r\n },\r\n _isHidden: function() {\r\n return this.option(\"visibilityMode\") === SCROLLBAR_VISIBLE.never\r\n },\r\n _needScrollbar: function() {\r\n return !this._isHidden() && this._baseContainerToContentRatio < 1\r\n },\r\n containerToContentRatio: function() {\r\n return this._realContainerToContentRatio\r\n },\r\n _normalizeSize: function(size) {\r\n return isPlainObject(size) ? size[this._dimension] || 0 : size\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n if (this === activeScrollbar) {\r\n activeScrollbar = null\r\n }\r\n eventsEngine.off(this._$thumb, \".\" + SCROLLBAR)\r\n },\r\n _optionChanged: function(args) {\r\n if (this._isHidden()) {\r\n return\r\n }\r\n switch (args.name) {\r\n case \"containerSize\":\r\n case \"contentSize\":\r\n this.option()[args.name] = this._normalizeSize(args.value);\r\n this._update();\r\n break;\r\n case \"baseContentSize\":\r\n case \"baseContainerSize\":\r\n this._update();\r\n break;\r\n case \"visibilityMode\":\r\n case \"direction\":\r\n this._invalidate();\r\n break;\r\n case \"scaleRatio\":\r\n this._update();\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n update: deferRenderer((function() {\r\n this._adjustVisibility() && this.option(\"visible\", true)\r\n }))\r\n});\r\nreadyCallback.add((function() {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), addNamespace(pointerEvents.up, SCROLLBAR), (function() {\r\n if (activeScrollbar) {\r\n activeScrollbar.feedbackOff()\r\n }\r\n }))\r\n}));\r\nexport default Scrollbar;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.native.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isDxMouseWheelEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport devices from \"../../core/devices\";\r\nimport Class from \"../../core/class\";\r\nimport Scrollbar from \"./ui.scrollbar\";\r\nvar SCROLLABLE_NATIVE = \"dxNativeScrollable\";\r\nvar SCROLLABLE_NATIVE_CLASS = \"dx-scrollable-native\";\r\nvar SCROLLABLE_SCROLLBAR_SIMULATED = \"dx-scrollable-scrollbar-simulated\";\r\nvar SCROLLABLE_SCROLLBARS_HIDDEN = \"dx-scrollable-scrollbars-hidden\";\r\nvar VERTICAL = \"vertical\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar HIDE_SCROLLBAR_TIMEOUT = 500;\r\nvar NativeStrategy = Class.inherit({\r\n ctor: function(scrollable) {\r\n this._init(scrollable)\r\n },\r\n _init: function(scrollable) {\r\n this._component = scrollable;\r\n this._$element = scrollable.$element();\r\n this._$container = $(scrollable.container());\r\n this._$content = scrollable.$content();\r\n this._direction = scrollable.option(\"direction\");\r\n this._useSimulatedScrollbar = scrollable.option(\"useSimulatedScrollbar\");\r\n this.option = scrollable.option.bind(scrollable);\r\n this._createActionByOption = scrollable._createActionByOption.bind(scrollable);\r\n this._isLocked = scrollable._isLocked.bind(scrollable);\r\n this._isDirection = scrollable._isDirection.bind(scrollable);\r\n this._allowedDirection = scrollable._allowedDirection.bind(scrollable);\r\n this._getMaxOffset = scrollable._getMaxOffset.bind(scrollable);\r\n this._isRtlNativeStrategy = scrollable._isRtlNativeStrategy.bind(scrollable)\r\n },\r\n render: function() {\r\n var device = devices.real();\r\n var deviceType = device.platform;\r\n this._$element.addClass(SCROLLABLE_NATIVE_CLASS).addClass(SCROLLABLE_NATIVE_CLASS + \"-\" + deviceType).toggleClass(SCROLLABLE_SCROLLBARS_HIDDEN, !this._isScrollbarVisible());\r\n if (this._isScrollbarVisible() && this._useSimulatedScrollbar) {\r\n this._renderScrollbars()\r\n }\r\n },\r\n updateRtlPosition: function(isFirstRender) {\r\n if (isFirstRender && this.option(\"rtlEnabled\")) {\r\n if (this._isScrollbarVisible() && this._useSimulatedScrollbar) {\r\n this._moveScrollbars()\r\n }\r\n }\r\n },\r\n _renderScrollbars: function() {\r\n this._scrollbars = {};\r\n this._hideScrollbarTimeout = 0;\r\n this._$element.addClass(SCROLLABLE_SCROLLBAR_SIMULATED);\r\n this._renderScrollbar(VERTICAL);\r\n this._renderScrollbar(HORIZONTAL)\r\n },\r\n _renderScrollbar: function(direction) {\r\n if (!this._isDirection(direction)) {\r\n return\r\n }\r\n this._scrollbars[direction] = new Scrollbar($(\"
\").appendTo(this._$element), {\r\n direction: direction,\r\n expandable: this._component.option(\"scrollByThumb\")\r\n })\r\n },\r\n handleInit: noop,\r\n handleStart: noop,\r\n handleMove: function(e) {\r\n if (this._isLocked()) {\r\n e.cancel = true;\r\n return\r\n }\r\n if (this._allowedDirection()) {\r\n e.originalEvent.isScrollingEvent = true\r\n }\r\n },\r\n handleEnd: noop,\r\n handleCancel: noop,\r\n handleStop: noop,\r\n _eachScrollbar: function(callback) {\r\n callback = callback.bind(this);\r\n each(this._scrollbars || {}, (function(direction, scrollbar) {\r\n callback(scrollbar, direction)\r\n }))\r\n },\r\n createActions: function() {\r\n this._scrollAction = this._createActionByOption(\"onScroll\");\r\n this._updateAction = this._createActionByOption(\"onUpdated\")\r\n },\r\n _createActionArgs: function() {\r\n var {\r\n left: left,\r\n top: top\r\n } = this.location();\r\n return {\r\n event: this._eventForUserAction,\r\n scrollOffset: this._getScrollOffset(),\r\n reachedLeft: this._isRtlNativeStrategy() ? this._isReachedRight(-left) : this._isReachedLeft(left),\r\n reachedRight: this._isRtlNativeStrategy() ? this._isReachedLeft(-Math.abs(left)) : this._isReachedRight(left),\r\n reachedTop: this._isDirection(VERTICAL) ? Math.round(top) >= 0 : void 0,\r\n reachedBottom: this._isDirection(VERTICAL) ? Math.round(Math.abs(top) - this._getMaxOffset().top) >= 0 : void 0\r\n }\r\n },\r\n _getScrollOffset: function() {\r\n var {\r\n top: top,\r\n left: left\r\n } = this.location();\r\n return {\r\n top: -top,\r\n left: this._normalizeOffsetLeft(-left)\r\n }\r\n },\r\n _normalizeOffsetLeft(scrollLeft) {\r\n if (this._isRtlNativeStrategy()) {\r\n return this._getMaxOffset().left + scrollLeft\r\n }\r\n return scrollLeft\r\n },\r\n _isReachedLeft: function(left) {\r\n return this._isDirection(HORIZONTAL) ? Math.round(left) >= 0 : void 0\r\n },\r\n _isReachedRight: function(left) {\r\n return this._isDirection(HORIZONTAL) ? Math.round(Math.abs(left) - this._getMaxOffset().left) >= 0 : void 0\r\n },\r\n _isScrollbarVisible: function() {\r\n var {\r\n showScrollbar: showScrollbar\r\n } = this.option();\r\n return \"never\" !== showScrollbar && false !== showScrollbar\r\n },\r\n handleScroll: function(e) {\r\n this._eventForUserAction = e;\r\n this._moveScrollbars();\r\n this._scrollAction(this._createActionArgs())\r\n },\r\n _moveScrollbars: function() {\r\n var {\r\n top: top,\r\n left: left\r\n } = this._getScrollOffset();\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.moveTo({\r\n top: -top,\r\n left: -left\r\n });\r\n scrollbar.option(\"visible\", true)\r\n }));\r\n this._hideScrollbars()\r\n },\r\n _hideScrollbars: function() {\r\n clearTimeout(this._hideScrollbarTimeout);\r\n this._hideScrollbarTimeout = setTimeout(function() {\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.option(\"visible\", false)\r\n }))\r\n }.bind(this), HIDE_SCROLLBAR_TIMEOUT)\r\n },\r\n location: function() {\r\n return {\r\n left: -this._$container.scrollLeft(),\r\n top: -this._$container.scrollTop()\r\n }\r\n },\r\n disabledChanged: noop,\r\n update: function() {\r\n this._update();\r\n this._updateAction(this._createActionArgs())\r\n },\r\n _update: function() {\r\n this._updateDimensions();\r\n this._updateScrollbars()\r\n },\r\n _updateDimensions: function() {\r\n this._containerSize = {\r\n height: getHeight(this._$container),\r\n width: getWidth(this._$container)\r\n };\r\n this._componentContentSize = {\r\n height: getHeight(this._component.$content()),\r\n width: getWidth(this._component.$content())\r\n };\r\n this._contentSize = {\r\n height: getHeight(this._$content),\r\n width: getWidth(this._$content)\r\n }\r\n },\r\n _updateScrollbars: function() {\r\n this._eachScrollbar((function(scrollbar, direction) {\r\n var dimension = direction === VERTICAL ? \"height\" : \"width\";\r\n scrollbar.option({\r\n containerSize: this._containerSize[dimension],\r\n contentSize: this._componentContentSize[dimension]\r\n });\r\n scrollbar.update()\r\n }))\r\n },\r\n _allowedDirections: function() {\r\n return {\r\n vertical: this._isDirection(VERTICAL) && this._contentSize.height > this._containerSize.height,\r\n horizontal: this._isDirection(HORIZONTAL) && this._contentSize.width > this._containerSize.width\r\n }\r\n },\r\n dispose: function() {\r\n var className = this._$element.get(0).className;\r\n var scrollableNativeRegexp = new RegExp(SCROLLABLE_NATIVE_CLASS + \"\\\\S*\", \"g\");\r\n if (scrollableNativeRegexp.test(className)) {\r\n this._$element.removeClass(className.match(scrollableNativeRegexp).join(\" \"))\r\n }\r\n eventsEngine.off(this._$element, \".\" + SCROLLABLE_NATIVE);\r\n eventsEngine.off(this._$container, \".\" + SCROLLABLE_NATIVE);\r\n this._removeScrollbars();\r\n clearTimeout(this._hideScrollbarTimeout)\r\n },\r\n _removeScrollbars: function() {\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.$element().remove()\r\n }))\r\n },\r\n scrollBy: function(distance) {\r\n var location = this.location();\r\n this._$container.scrollTop(Math.round(-location.top - distance.top));\r\n this._$container.scrollLeft(Math.round(-location.left - distance.left))\r\n },\r\n validate: function(e) {\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (isDxMouseWheelEvent(e) && this._isScrolledInMaxDirection(e)) {\r\n return false\r\n }\r\n return !!this._allowedDirection()\r\n },\r\n _isScrolledInMaxDirection(e) {\r\n var container = this._$container.get(0);\r\n var result;\r\n if (e.delta > 0) {\r\n result = e.shiftKey ? !container.scrollLeft : !container.scrollTop\r\n } else if (e.shiftKey) {\r\n result = container.scrollLeft >= this._getMaxOffset().left\r\n } else {\r\n result = container.scrollTop >= this._getMaxOffset().top\r\n }\r\n return result\r\n },\r\n getDirection: function() {\r\n return this._allowedDirection()\r\n }\r\n});\r\nexport default NativeStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.native.pull_down.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nvar SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nvar SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_LOADING = 3;\r\nvar PULLDOWN_RELEASE_TIME = 400;\r\nvar PullDownNativeScrollViewStrategy = NativeStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$refreshingText = scrollView._$refreshingText;\r\n this._$scrollViewContent = $(scrollView.content());\r\n this._$container = $(scrollView.container());\r\n this._initCallbacks()\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this.callBase();\r\n this._renderPullDown();\r\n this._releaseState()\r\n },\r\n _renderPullDown: function() {\r\n var $image = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_IMAGE_CLASS);\r\n var $loadContainer = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"
\")).$element();\r\n var $text = this._$pullDownText = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_TEXT_CLASS);\r\n this._$pullingDownText = $(\"
\").text(this.option(\"pullingDownText\")).appendTo($text);\r\n this._$pulledDownText = $(\"
\").text(this.option(\"pulledDownText\")).appendTo($text);\r\n this._$refreshingText = $(\"
\").text(this.option(\"refreshingText\")).appendTo($text);\r\n this._$pullDown.empty().append($image).append($loadContainer.append($loadIndicator)).append($text)\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._refreshPullDownText()\r\n },\r\n _refreshPullDownText: function() {\r\n var that = this;\r\n var pullDownTextItems = [{\r\n element: this._$pullingDownText,\r\n visibleState: STATE_RELEASED\r\n }, {\r\n element: this._$pulledDownText,\r\n visibleState: STATE_READY\r\n }, {\r\n element: this._$refreshingText,\r\n visibleState: STATE_REFRESHING\r\n }];\r\n each(pullDownTextItems, (function(_, item) {\r\n var action = that._state === item.visibleState ? \"addClass\" : \"removeClass\";\r\n item.element[action](SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS)\r\n }))\r\n },\r\n update: function() {\r\n this.callBase();\r\n this._setTopPocketOffset()\r\n },\r\n _updateDimensions: function() {\r\n this.callBase();\r\n this._topPocketSize = this._$topPocket.get(0).clientHeight;\r\n var contentEl = this._$scrollViewContent.get(0);\r\n var containerEl = this._$container.get(0);\r\n this._bottomBoundary = Math.max(contentEl.clientHeight - containerEl.clientHeight, 0)\r\n },\r\n _allowedDirections: function() {\r\n var allowedDirections = this.callBase();\r\n allowedDirections.vertical = allowedDirections.vertical || this._pullDownEnabled;\r\n return allowedDirections\r\n },\r\n _setTopPocketOffset: function() {\r\n this._$topPocket.css({\r\n top: -this._topPocketSize\r\n })\r\n },\r\n handleEnd: function() {\r\n this.callBase();\r\n this._complete()\r\n },\r\n handleStop: function() {\r\n this.callBase();\r\n this._complete()\r\n },\r\n _complete: function() {\r\n if (this._state === STATE_READY) {\r\n this._setPullDownOffset(this._topPocketSize);\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n this._pullDownRefreshTimeout = setTimeout(function() {\r\n this._pullDownRefreshing()\r\n }.bind(this), 400)\r\n }\r\n },\r\n _setPullDownOffset: function(offset) {\r\n move(this._$topPocket, {\r\n top: offset\r\n });\r\n move(this._$scrollViewContent, {\r\n top: offset\r\n })\r\n },\r\n handleScroll: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n var currentLocation = this.location().top;\r\n var scrollDelta = (this._location || 0) - currentLocation;\r\n this._location = currentLocation;\r\n if (this._isPullDown()) {\r\n this._pullDownReady()\r\n } else if (scrollDelta > 0 && this._isReachBottom()) {\r\n this._reachBottom()\r\n } else {\r\n this._stateReleased()\r\n }\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._location >= this._topPocketSize\r\n },\r\n _isReachBottom: function() {\r\n return this._reachBottomEnabled && Math.round(this._bottomBoundary + Math.floor(this._location)) <= 1\r\n },\r\n _reachBottom: function() {\r\n if (this._state === STATE_LOADING) {\r\n return\r\n }\r\n this._state = STATE_LOADING;\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _pullDownReady: function() {\r\n if (this._state === STATE_READY) {\r\n return\r\n }\r\n this._state = STATE_READY;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._releaseState()\r\n },\r\n _pullDownRefreshing: function() {\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n this._state = STATE_REFRESHING;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText();\r\n this.pullDownCallbacks.fire()\r\n },\r\n pullDownEnable: function(enabled) {\r\n if (enabled) {\r\n this._updateDimensions();\r\n this._setTopPocketOffset()\r\n }\r\n this._pullDownEnabled = enabled\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._reachBottomEnabled = enabled\r\n },\r\n pendingRelease: function() {\r\n this._state = STATE_READY\r\n },\r\n release: function() {\r\n var deferred = new Deferred;\r\n this._updateDimensions();\r\n clearTimeout(this._releaseTimeout);\r\n if (this._state === STATE_LOADING) {\r\n this._state = STATE_RELEASED\r\n }\r\n this._releaseTimeout = setTimeout(function() {\r\n this._setPullDownOffset(0);\r\n this._stateReleased();\r\n this.releaseCallbacks.fire();\r\n this._updateAction();\r\n deferred.resolve()\r\n }.bind(this), PULLDOWN_RELEASE_TIME);\r\n return deferred.promise()\r\n },\r\n dispose: function() {\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n clearTimeout(this._releaseTimeout);\r\n this.callBase()\r\n }\r\n});\r\nexport default PullDownNativeScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.native.swipe_down.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport {\r\n eventData\r\n} from \"../../events/utils/index\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-refreshing\";\r\nvar PULLDOWN_ICON_CLASS = \"dx-icon-pulldown\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_TOUCHED = 4;\r\nvar STATE_PULLED = 5;\r\nvar SwipeDownNativeScrollViewStrategy = NativeStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$scrollViewContent = $(scrollView.content());\r\n this._$container = $(scrollView.container());\r\n this._initCallbacks();\r\n this._location = 0\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this.callBase();\r\n this._renderPullDown();\r\n this._releaseState()\r\n },\r\n _renderPullDown: function() {\r\n var $loadContainer = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"
\")).$element();\r\n this._$icon = $(\"
\").addClass(PULLDOWN_ICON_CLASS);\r\n this._$pullDown.empty().append(this._$icon).append($loadContainer.append($loadIndicator))\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._releasePullDown();\r\n this._updateDimensions()\r\n },\r\n _releasePullDown: function() {\r\n this._$pullDown.css({\r\n opacity: 0\r\n })\r\n },\r\n _updateDimensions: function() {\r\n this.callBase();\r\n this._topPocketSize = this._$topPocket.get(0).clientHeight;\r\n var contentEl = this._$scrollViewContent.get(0);\r\n var containerEl = this._$container.get(0);\r\n this._bottomBoundary = Math.max(contentEl.clientHeight - containerEl.clientHeight, 0)\r\n },\r\n _allowedDirections: function() {\r\n var allowedDirections = this.callBase();\r\n allowedDirections.vertical = allowedDirections.vertical || this._pullDownEnabled;\r\n return allowedDirections\r\n },\r\n handleInit: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_RELEASED && 0 === this._location) {\r\n this._startClientY = eventData(e.originalEvent).y;\r\n this._state = STATE_TOUCHED\r\n }\r\n },\r\n handleMove: function(e) {\r\n this.callBase(e);\r\n this._deltaY = eventData(e.originalEvent).y - this._startClientY;\r\n if (this._state === STATE_TOUCHED) {\r\n if (this._pullDownEnabled && this._deltaY > 0) {\r\n this._state = STATE_PULLED\r\n } else {\r\n this._complete()\r\n }\r\n }\r\n if (this._state === STATE_PULLED) {\r\n e.preventDefault();\r\n this._movePullDown()\r\n }\r\n },\r\n _movePullDown: function() {\r\n var pullDownHeight = this._getPullDownHeight();\r\n var top = Math.min(3 * pullDownHeight, this._deltaY + this._getPullDownStartPosition());\r\n var angle = 180 * top / pullDownHeight / 3;\r\n this._$pullDown.css({\r\n opacity: 1\r\n }).toggleClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS, top < pullDownHeight);\r\n move(this._$pullDown, {\r\n top: top\r\n });\r\n this._$icon.css({\r\n transform: \"rotate(\" + angle + \"deg)\"\r\n })\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._state === STATE_PULLED && this._deltaY >= this._getPullDownHeight() - this._getPullDownStartPosition()\r\n },\r\n _getPullDownHeight: function() {\r\n return Math.round(.05 * getOuterHeight(this._$element))\r\n },\r\n _getPullDownStartPosition: function() {\r\n return -Math.round(1.5 * getOuterHeight(this._$pullDown))\r\n },\r\n handleEnd: function() {\r\n if (this._isPullDown()) {\r\n this._pullDownRefreshing()\r\n }\r\n this._complete()\r\n },\r\n handleStop: function() {\r\n this._complete()\r\n },\r\n _complete: function() {\r\n if (this._state === STATE_TOUCHED || this._state === STATE_PULLED) {\r\n this._releaseState()\r\n }\r\n },\r\n handleScroll: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n var currentLocation = this.location().top;\r\n var scrollDelta = this._location - currentLocation;\r\n this._location = currentLocation;\r\n if (scrollDelta > 0 && this._isReachBottom()) {\r\n this._reachBottom()\r\n } else {\r\n this._stateReleased()\r\n }\r\n },\r\n _isReachBottom: function() {\r\n return this._reachBottomEnabled && Math.round(this._bottomBoundary + Math.floor(this._location)) <= 1\r\n },\r\n _reachBottom: function() {\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS);\r\n this._releaseState()\r\n },\r\n _pullDownRefreshing: function() {\r\n this._state = STATE_REFRESHING;\r\n this._pullDownRefreshHandler()\r\n },\r\n _pullDownRefreshHandler: function() {\r\n this._refreshPullDown();\r\n this.pullDownCallbacks.fire()\r\n },\r\n _refreshPullDown: function() {\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS);\r\n move(this._$pullDown, {\r\n top: this._getPullDownHeight()\r\n })\r\n },\r\n pullDownEnable: function(enabled) {\r\n this._$topPocket.toggle(enabled);\r\n this._pullDownEnabled = enabled\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._reachBottomEnabled = enabled\r\n },\r\n pendingRelease: function() {\r\n this._state = STATE_READY\r\n },\r\n release: function() {\r\n var deferred = new Deferred;\r\n this._updateDimensions();\r\n clearTimeout(this._releaseTimeout);\r\n this._releaseTimeout = setTimeout(function() {\r\n this._stateReleased();\r\n this.releaseCallbacks.fire();\r\n this._updateAction();\r\n deferred.resolve()\r\n }.bind(this), 800);\r\n return deferred.promise()\r\n },\r\n dispose: function() {\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n clearTimeout(this._releaseTimeout);\r\n this.callBase()\r\n }\r\n});\r\nexport default SwipeDownNativeScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.simulated.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n titleize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport {\r\n resetPosition,\r\n move,\r\n locate\r\n} from \"../../animation/translator\";\r\nimport Class from \"../../core/class\";\r\nimport Animator from \"./animator\";\r\nimport {\r\n isDxMouseWheelEvent,\r\n addNamespace as addEventNamespace,\r\n normalizeKeyName,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport {\r\n deferUpdate,\r\n deferUpdater,\r\n deferRender,\r\n deferRenderer,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Scrollbar from \"./ui.scrollbar\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLABLE_SIMULATED = \"dxSimulatedScrollable\";\r\nvar SCROLLABLE_STRATEGY = \"dxScrollableStrategy\";\r\nvar SCROLLABLE_SIMULATED_CURSOR = SCROLLABLE_SIMULATED + \"Cursor\";\r\nvar SCROLLABLE_SIMULATED_KEYBOARD = SCROLLABLE_SIMULATED + \"Keyboard\";\r\nvar SCROLLABLE_SIMULATED_CLASS = \"dx-scrollable-simulated\";\r\nvar SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE = \"dx-scrollable-scrollbars-alwaysvisible\";\r\nvar SCROLLABLE_SCROLLBAR_CLASS = \"dx-scrollable-scrollbar\";\r\nvar VERTICAL = \"vertical\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar ACCELERATION = .92;\r\nvar OUT_BOUNDS_ACCELERATION = .5;\r\nvar MIN_VELOCITY_LIMIT = 1;\r\nvar FRAME_DURATION = Math.round(1e3 / 60);\r\nvar SCROLL_LINE_HEIGHT = 40;\r\nvar VALIDATE_WHEEL_TIMEOUT = 500;\r\nvar BOUNCE_MIN_VELOCITY_LIMIT = MIN_VELOCITY_LIMIT / 5;\r\nvar BOUNCE_DURATION = 400;\r\nvar BOUNCE_FRAMES = BOUNCE_DURATION / FRAME_DURATION;\r\nvar BOUNCE_ACCELERATION_SUM = (1 - Math.pow(ACCELERATION, BOUNCE_FRAMES)) / (1 - ACCELERATION);\r\nvar KEY_CODES = {\r\n PAGE_UP: \"pageUp\",\r\n PAGE_DOWN: \"pageDown\",\r\n END: \"end\",\r\n HOME: \"home\",\r\n LEFT: \"leftArrow\",\r\n UP: \"upArrow\",\r\n RIGHT: \"rightArrow\",\r\n DOWN: \"downArrow\",\r\n TAB: \"tab\"\r\n};\r\nvar InertiaAnimator = Animator.inherit({\r\n ctor: function(scroller) {\r\n this.callBase();\r\n this.scroller = scroller\r\n },\r\n VELOCITY_LIMIT: MIN_VELOCITY_LIMIT,\r\n _isFinished: function() {\r\n return Math.abs(this.scroller._velocity) <= this.VELOCITY_LIMIT\r\n },\r\n _step: function() {\r\n this.scroller._scrollStep(this.scroller._velocity);\r\n this.scroller._velocity *= this._acceleration()\r\n },\r\n _acceleration: function() {\r\n return this.scroller._inBounds() ? ACCELERATION : OUT_BOUNDS_ACCELERATION\r\n },\r\n _complete: function() {\r\n this.scroller._scrollComplete()\r\n }\r\n});\r\nvar BounceAnimator = InertiaAnimator.inherit({\r\n VELOCITY_LIMIT: BOUNCE_MIN_VELOCITY_LIMIT,\r\n _isFinished: function() {\r\n return this.scroller._crossBoundOnNextStep() || this.callBase()\r\n },\r\n _acceleration: function() {\r\n return ACCELERATION\r\n },\r\n _complete: function() {\r\n this.scroller._move(this.scroller._bounceLocation);\r\n this.callBase()\r\n }\r\n});\r\nexport var Scroller = Class.inherit({\r\n ctor: function(options) {\r\n this._initOptions(options);\r\n this._initAnimators();\r\n this._initScrollbar()\r\n },\r\n _initOptions: function(options) {\r\n this._location = 0;\r\n this._topReached = false;\r\n this._bottomReached = false;\r\n this._axis = options.direction === HORIZONTAL ? \"x\" : \"y\";\r\n this._prop = options.direction === HORIZONTAL ? \"left\" : \"top\";\r\n this._dimension = options.direction === HORIZONTAL ? \"width\" : \"height\";\r\n this._scrollProp = options.direction === HORIZONTAL ? \"scrollLeft\" : \"scrollTop\";\r\n each(options, (optionName, optionValue) => {\r\n this[\"_\" + optionName] = optionValue\r\n })\r\n },\r\n _initAnimators: function() {\r\n this._inertiaAnimator = new InertiaAnimator(this);\r\n this._bounceAnimator = new BounceAnimator(this)\r\n },\r\n _initScrollbar: function() {\r\n this._scrollbar = new Scrollbar($(\"
\").appendTo(this._$container), {\r\n direction: this._direction,\r\n visible: this._scrollByThumb,\r\n visibilityMode: this._visibilityModeNormalize(this._scrollbarVisible),\r\n expandable: this._scrollByThumb\r\n });\r\n this._$scrollbar = this._scrollbar.$element()\r\n },\r\n _visibilityModeNormalize: function(mode) {\r\n return true === mode ? \"onScroll\" : false === mode ? \"never\" : mode\r\n },\r\n _scrollStep: function(delta) {\r\n var prevLocation = this._location;\r\n this._location += delta;\r\n this._suppressBounce();\r\n this._move();\r\n if (Math.abs(prevLocation - this._location) < 1) {\r\n return\r\n }\r\n eventsEngine.triggerHandler(this._$container, {\r\n type: \"scroll\"\r\n })\r\n },\r\n _suppressBounce: function() {\r\n if (this._bounceEnabled || this._inBounds(this._location)) {\r\n return\r\n }\r\n this._velocity = 0;\r\n this._location = this._boundLocation()\r\n },\r\n _boundLocation: function(location) {\r\n location = void 0 !== location ? location : this._location;\r\n return Math.max(Math.min(location, this._maxOffset), this._minOffset)\r\n },\r\n _move: function(location) {\r\n this._location = void 0 !== location ? location * this._getScaleRatio() : this._location;\r\n this._moveContent();\r\n this._moveScrollbar()\r\n },\r\n _moveContent: function() {\r\n var location = this._location;\r\n this._$container[this._scrollProp](-location / this._getScaleRatio());\r\n this._moveContentByTranslator(location)\r\n },\r\n _getScaleRatio: function() {\r\n if (hasWindow() && !this._scaleRatio) {\r\n var element = this._$element.get(0);\r\n var realDimension = this._getRealDimension(element, this._dimension);\r\n var baseDimension = this._getBaseDimension(element, this._dimension);\r\n this._scaleRatio = Math.round(realDimension / baseDimension * 100) / 100\r\n }\r\n return this._scaleRatio || 1\r\n },\r\n _getRealDimension: function(element, dimension) {\r\n return Math.round(getBoundingRect(element)[dimension])\r\n },\r\n _getBaseDimension: function(element, dimension) {\r\n var dimensionName = \"offset\" + titleize(dimension);\r\n return element[dimensionName]\r\n },\r\n _moveContentByTranslator: function(location) {\r\n var translateOffset;\r\n var minOffset = -this._maxScrollPropValue;\r\n if (location > 0) {\r\n translateOffset = location\r\n } else if (location <= minOffset) {\r\n translateOffset = location - minOffset\r\n } else {\r\n translateOffset = location % 1\r\n }\r\n if (this._translateOffset === translateOffset) {\r\n return\r\n }\r\n var targetLocation = {};\r\n targetLocation[this._prop] = translateOffset;\r\n this._translateOffset = translateOffset;\r\n if (0 === translateOffset) {\r\n resetPosition(this._$content);\r\n return\r\n }\r\n move(this._$content, targetLocation)\r\n },\r\n _moveScrollbar: function() {\r\n this._scrollbar.moveTo(this._location)\r\n },\r\n _scrollComplete: function() {\r\n if (this._inBounds()) {\r\n this._hideScrollbar();\r\n if (this._completeDeferred) {\r\n this._completeDeferred.resolve()\r\n }\r\n }\r\n this._scrollToBounds()\r\n },\r\n _scrollToBounds: function() {\r\n if (this._inBounds()) {\r\n return\r\n }\r\n this._bounceAction();\r\n this._setupBounce();\r\n this._bounceAnimator.start()\r\n },\r\n _setupBounce: function() {\r\n var boundLocation = this._bounceLocation = this._boundLocation();\r\n var bounceDistance = boundLocation - this._location;\r\n this._velocity = bounceDistance / BOUNCE_ACCELERATION_SUM\r\n },\r\n _inBounds: function(location) {\r\n location = void 0 !== location ? location : this._location;\r\n return this._boundLocation(location) === location\r\n },\r\n _crossBoundOnNextStep: function() {\r\n var location = this._location;\r\n var nextLocation = location + this._velocity;\r\n return location < this._minOffset && nextLocation >= this._minOffset || location > this._maxOffset && nextLocation <= this._maxOffset\r\n },\r\n _initHandler: function(e) {\r\n this._stopScrolling();\r\n this._prepareThumbScrolling(e)\r\n },\r\n _stopScrolling: deferRenderer((function() {\r\n this._hideScrollbar();\r\n this._inertiaAnimator.stop();\r\n this._bounceAnimator.stop()\r\n })),\r\n _prepareThumbScrolling: function(e) {\r\n if (isDxMouseWheelEvent(e.originalEvent)) {\r\n return\r\n }\r\n var $target = $(e.originalEvent.target);\r\n var scrollbarClicked = this._isScrollbar($target);\r\n if (scrollbarClicked) {\r\n this._moveToMouseLocation(e)\r\n }\r\n this._thumbScrolling = scrollbarClicked || this._isThumb($target);\r\n this._crossThumbScrolling = !this._thumbScrolling && this._isAnyThumbScrolling($target);\r\n if (this._thumbScrolling) {\r\n this._scrollbar.feedbackOn()\r\n }\r\n },\r\n _isThumbScrollingHandler: function($target) {\r\n return this._isThumb($target)\r\n },\r\n _moveToMouseLocation: function(e) {\r\n var mouseLocation = e[\"page\" + this._axis.toUpperCase()] - this._$element.offset()[this._prop];\r\n var location = this._location + mouseLocation / this._containerToContentRatio() - getHeight(this._$container) / 2;\r\n this._scrollStep(-Math.round(location))\r\n },\r\n _startHandler: function() {\r\n this._showScrollbar()\r\n },\r\n _moveHandler: function(delta) {\r\n if (this._crossThumbScrolling) {\r\n return\r\n }\r\n if (this._thumbScrolling) {\r\n delta[this._axis] = -Math.round(delta[this._axis] / this._containerToContentRatio())\r\n }\r\n this._scrollBy(delta)\r\n },\r\n _scrollBy: function(delta) {\r\n delta = delta[this._axis];\r\n if (!this._inBounds()) {\r\n delta *= OUT_BOUNDS_ACCELERATION\r\n }\r\n this._scrollStep(delta)\r\n },\r\n _scrollByHandler: function(delta) {\r\n this._scrollBy(delta);\r\n this._scrollComplete()\r\n },\r\n _containerToContentRatio: function() {\r\n return this._scrollbar.containerToContentRatio()\r\n },\r\n _endHandler: function(velocity) {\r\n this._completeDeferred = new Deferred;\r\n this._velocity = velocity[this._axis];\r\n this._inertiaHandler();\r\n this._resetThumbScrolling();\r\n return this._completeDeferred.promise()\r\n },\r\n _inertiaHandler: function() {\r\n this._suppressInertia();\r\n this._inertiaAnimator.start()\r\n },\r\n _suppressInertia: function() {\r\n if (!this._inertiaEnabled || this._thumbScrolling) {\r\n this._velocity = 0\r\n }\r\n },\r\n _resetThumbScrolling: function() {\r\n this._thumbScrolling = false;\r\n this._crossThumbScrolling = false\r\n },\r\n _stopHandler: function() {\r\n if (this._thumbScrolling) {\r\n this._scrollComplete()\r\n }\r\n this._resetThumbScrolling();\r\n this._scrollToBounds()\r\n },\r\n _disposeHandler: function() {\r\n this._stopScrolling();\r\n this._$scrollbar.remove()\r\n },\r\n _updateHandler: function() {\r\n this._update();\r\n this._moveToBounds()\r\n },\r\n _update: function() {\r\n this._stopScrolling();\r\n return deferUpdate(() => {\r\n this._resetScaleRatio();\r\n this._updateLocation();\r\n this._updateBounds();\r\n this._updateScrollbar();\r\n deferRender(() => {\r\n this._moveScrollbar();\r\n this._scrollbar.update()\r\n })\r\n })\r\n },\r\n _resetScaleRatio: function() {\r\n this._scaleRatio = null\r\n },\r\n _updateLocation: function() {\r\n this._location = (locate(this._$content)[this._prop] - this._$container[this._scrollProp]()) * this._getScaleRatio()\r\n },\r\n _updateBounds: function() {\r\n this._maxOffset = this._getMaxOffset();\r\n this._minOffset = this._getMinOffset()\r\n },\r\n _getMaxOffset: function() {\r\n return 0\r\n },\r\n _getMinOffset: function() {\r\n this._maxScrollPropValue = Math.max(this._contentSize() - this._containerSize(), 0);\r\n return -this._maxScrollPropValue\r\n },\r\n _updateScrollbar: deferUpdater((function() {\r\n var containerSize = this._containerSize();\r\n var contentSize = this._contentSize();\r\n var baseContainerSize = this._getBaseDimension(this._$container.get(0), this._dimension);\r\n var baseContentSize = this._getBaseDimension(this._$content.get(0), this._dimension);\r\n deferRender(() => {\r\n this._scrollbar.option({\r\n containerSize: containerSize,\r\n contentSize: contentSize,\r\n baseContainerSize: baseContainerSize,\r\n baseContentSize: baseContentSize,\r\n scaleRatio: this._getScaleRatio()\r\n })\r\n })\r\n })),\r\n _moveToBounds: deferRenderer(deferUpdater(deferRenderer((function() {\r\n var location = this._boundLocation();\r\n var locationChanged = location !== this._location;\r\n this._location = location;\r\n this._move();\r\n if (locationChanged) {\r\n this._scrollAction()\r\n }\r\n })))),\r\n _createActionsHandler: function(actions) {\r\n this._scrollAction = actions.scroll;\r\n this._bounceAction = actions.bounce\r\n },\r\n _showScrollbar: function() {\r\n this._scrollbar.option(\"visible\", true)\r\n },\r\n _hideScrollbar: function() {\r\n this._scrollbar.option(\"visible\", false)\r\n },\r\n _containerSize: function() {\r\n return this._getRealDimension(this._$container.get(0), this._dimension)\r\n },\r\n _contentSize: function() {\r\n var isOverflowHidden = \"hidden\" === this._$content.css(\"overflow\" + this._axis.toUpperCase());\r\n var contentSize = this._getRealDimension(this._$content.get(0), this._dimension);\r\n if (!isOverflowHidden) {\r\n var containerScrollSize = this._$content[0][\"scroll\" + titleize(this._dimension)] * this._getScaleRatio();\r\n contentSize = Math.max(containerScrollSize, contentSize)\r\n }\r\n return contentSize\r\n },\r\n _validateEvent: function(e) {\r\n var $target = $(e.originalEvent.target);\r\n return this._isThumb($target) || this._isScrollbar($target)\r\n },\r\n _isThumb: function($element) {\r\n return this._scrollByThumb && this._scrollbar.isThumb($element)\r\n },\r\n _isScrollbar: function($element) {\r\n return this._scrollByThumb && $element && $element.is(this._$scrollbar)\r\n },\r\n _reachedMin: function() {\r\n return Math.round(this._location - this._minOffset) <= 0\r\n },\r\n _reachedMax: function() {\r\n return Math.round(this._location - this._maxOffset) >= 0\r\n },\r\n _cursorEnterHandler: function() {\r\n this._resetScaleRatio();\r\n this._updateScrollbar();\r\n this._scrollbar.cursorEnter()\r\n },\r\n _cursorLeaveHandler: function() {\r\n this._scrollbar.cursorLeave()\r\n },\r\n dispose: noop\r\n});\r\nvar hoveredScrollable;\r\nvar activeScrollable;\r\nexport var SimulatedStrategy = Class.inherit({\r\n ctor: function(scrollable) {\r\n this._init(scrollable)\r\n },\r\n _init: function(scrollable) {\r\n this._component = scrollable;\r\n this._$element = scrollable.$element();\r\n this._$container = $(scrollable.container());\r\n this._$wrapper = scrollable._$wrapper;\r\n this._$content = scrollable.$content();\r\n this.option = scrollable.option.bind(scrollable);\r\n this._createActionByOption = scrollable._createActionByOption.bind(scrollable);\r\n this._isLocked = scrollable._isLocked.bind(scrollable);\r\n this._isDirection = scrollable._isDirection.bind(scrollable);\r\n this._allowedDirection = scrollable._allowedDirection.bind(scrollable);\r\n this._getMaxOffset = scrollable._getMaxOffset.bind(scrollable)\r\n },\r\n render: function() {\r\n this._$element.addClass(SCROLLABLE_SIMULATED_CLASS);\r\n this._createScrollers();\r\n if (this.option(\"useKeyboard\")) {\r\n this._$container.prop(\"tabIndex\", 0)\r\n }\r\n this._attachKeyboardHandler();\r\n this._attachCursorHandlers()\r\n },\r\n _createScrollers: function() {\r\n this._scrollers = {};\r\n if (this._isDirection(HORIZONTAL)) {\r\n this._createScroller(HORIZONTAL)\r\n }\r\n if (this._isDirection(VERTICAL)) {\r\n this._createScroller(VERTICAL)\r\n }\r\n this._$element.toggleClass(SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE, \"always\" === this.option(\"showScrollbar\"))\r\n },\r\n _createScroller: function(direction) {\r\n this._scrollers[direction] = new Scroller(this._scrollerOptions(direction))\r\n },\r\n _scrollerOptions: function(direction) {\r\n return {\r\n direction: direction,\r\n $content: this._$content,\r\n $container: this._$container,\r\n $wrapper: this._$wrapper,\r\n $element: this._$element,\r\n scrollByThumb: this.option(\"scrollByThumb\"),\r\n scrollbarVisible: this.option(\"showScrollbar\"),\r\n bounceEnabled: this.option(\"bounceEnabled\"),\r\n inertiaEnabled: this.option(\"inertiaEnabled\"),\r\n isAnyThumbScrolling: this._isAnyThumbScrolling.bind(this)\r\n }\r\n },\r\n _applyScaleRatio: function(targetLocation) {\r\n for (var direction in this._scrollers) {\r\n var prop = this._getPropByDirection(direction);\r\n if (isDefined(targetLocation[prop])) {\r\n var scroller = this._scrollers[direction];\r\n targetLocation[prop] *= scroller._getScaleRatio()\r\n }\r\n }\r\n return targetLocation\r\n },\r\n _isAnyThumbScrolling: function($target) {\r\n var result = false;\r\n this._eventHandler(\"isThumbScrolling\", $target).done((function(isThumbScrollingVertical, isThumbScrollingHorizontal) {\r\n result = isThumbScrollingVertical || isThumbScrollingHorizontal\r\n }));\r\n return result\r\n },\r\n handleInit: function(e) {\r\n this._suppressDirections(e);\r\n this._eventForUserAction = e;\r\n this._eventHandler(\"init\", e)\r\n },\r\n _suppressDirections: function(e) {\r\n if (isDxMouseWheelEvent(e.originalEvent)) {\r\n this._prepareDirections(true);\r\n return\r\n }\r\n this._prepareDirections();\r\n this._eachScroller((function(scroller, direction) {\r\n var $target = $(e.originalEvent.target);\r\n var isValid = scroller._validateEvent(e) || this.option(\"scrollByContent\") && this._isContent($target);\r\n this._validDirections[direction] = isValid\r\n }))\r\n },\r\n _isContent: function($element) {\r\n return !!$element.closest(this._$element).length\r\n },\r\n _prepareDirections: function(value) {\r\n value = value || false;\r\n this._validDirections = {};\r\n this._validDirections[HORIZONTAL] = value;\r\n this._validDirections[VERTICAL] = value\r\n },\r\n _eachScroller: function(callback) {\r\n callback = callback.bind(this);\r\n each(this._scrollers, (function(direction, scroller) {\r\n callback(scroller, direction)\r\n }))\r\n },\r\n handleStart: function(e) {\r\n this._eventForUserAction = e;\r\n this._eventHandler(\"start\").done(this._startAction)\r\n },\r\n _saveActive: function() {\r\n activeScrollable = this\r\n },\r\n _resetActive: function() {\r\n if (activeScrollable === this) {\r\n activeScrollable = null\r\n }\r\n },\r\n handleMove: function(e) {\r\n if (this._isLocked()) {\r\n e.cancel = true;\r\n this._resetActive();\r\n return\r\n }\r\n this._saveActive();\r\n e.preventDefault && e.preventDefault();\r\n this._adjustDistance(e, e.delta);\r\n this._eventForUserAction = e;\r\n this._eventHandler(\"move\", e.delta)\r\n },\r\n _adjustDistance: function(e, distance) {\r\n distance.x *= this._validDirections[HORIZONTAL];\r\n distance.y *= this._validDirections[VERTICAL];\r\n var devicePixelRatio = this._tryGetDevicePixelRatio();\r\n if (devicePixelRatio && isDxMouseWheelEvent(e.originalEvent)) {\r\n distance.x = Math.round(distance.x / devicePixelRatio * 100) / 100;\r\n distance.y = Math.round(distance.y / devicePixelRatio * 100) / 100\r\n }\r\n },\r\n _tryGetDevicePixelRatio: function() {\r\n if (hasWindow()) {\r\n return getWindow().devicePixelRatio\r\n }\r\n },\r\n handleEnd: function(e) {\r\n this._resetActive();\r\n this._refreshCursorState(e.originalEvent && e.originalEvent.target);\r\n this._adjustDistance(e, e.velocity);\r\n this._eventForUserAction = e;\r\n return this._eventHandler(\"end\", e.velocity).done(this._endAction)\r\n },\r\n handleCancel: function(e) {\r\n this._resetActive();\r\n this._eventForUserAction = e;\r\n return this._eventHandler(\"end\", {\r\n x: 0,\r\n y: 0\r\n })\r\n },\r\n handleStop: function() {\r\n this._resetActive();\r\n this._eventHandler(\"stop\")\r\n },\r\n handleScroll: function() {\r\n this._updateRtlConfig();\r\n this._scrollAction()\r\n },\r\n _attachKeyboardHandler: function() {\r\n eventsEngine.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_KEYBOARD));\r\n if (!this.option(\"disabled\") && this.option(\"useKeyboard\")) {\r\n eventsEngine.on(this._$element, addEventNamespace(\"keydown\", SCROLLABLE_SIMULATED_KEYBOARD), this._keyDownHandler.bind(this))\r\n }\r\n },\r\n _keyDownHandler: function(e) {\r\n clearTimeout(this._updateHandlerTimeout);\r\n this._updateHandlerTimeout = setTimeout(() => {\r\n if (normalizeKeyName(e) === KEY_CODES.TAB) {\r\n this._eachScroller(scroller => {\r\n scroller._updateHandler()\r\n })\r\n }\r\n });\r\n if (!this._$container.is(domAdapter.getActiveElement(this._$container.get(0)))) {\r\n return\r\n }\r\n var handled = true;\r\n switch (normalizeKeyName(e)) {\r\n case KEY_CODES.DOWN:\r\n this._scrollByLine({\r\n y: 1\r\n });\r\n break;\r\n case KEY_CODES.UP:\r\n this._scrollByLine({\r\n y: -1\r\n });\r\n break;\r\n case KEY_CODES.RIGHT:\r\n this._scrollByLine({\r\n x: 1\r\n });\r\n break;\r\n case KEY_CODES.LEFT:\r\n this._scrollByLine({\r\n x: -1\r\n });\r\n break;\r\n case KEY_CODES.PAGE_DOWN:\r\n this._scrollByPage(1);\r\n break;\r\n case KEY_CODES.PAGE_UP:\r\n this._scrollByPage(-1);\r\n break;\r\n case KEY_CODES.HOME:\r\n this._scrollToHome();\r\n break;\r\n case KEY_CODES.END:\r\n this._scrollToEnd();\r\n break;\r\n default:\r\n handled = false\r\n }\r\n if (handled) {\r\n e.stopPropagation();\r\n e.preventDefault()\r\n }\r\n },\r\n _scrollByLine: function(lines) {\r\n var devicePixelRatio = this._tryGetDevicePixelRatio();\r\n var scrollOffset = SCROLL_LINE_HEIGHT;\r\n if (devicePixelRatio) {\r\n scrollOffset = Math.abs(scrollOffset / devicePixelRatio * 100) / 100\r\n }\r\n this.scrollBy({\r\n top: (lines.y || 0) * -scrollOffset,\r\n left: (lines.x || 0) * -scrollOffset\r\n })\r\n },\r\n _scrollByPage: function(page) {\r\n var prop = this._wheelProp();\r\n var dimension = this._dimensionByProp(prop);\r\n var distance = {};\r\n var getter = \"width\" === dimension ? getWidth : getHeight;\r\n distance[prop] = page * -getter(this._$container);\r\n this.scrollBy(distance)\r\n },\r\n _dimensionByProp: function(prop) {\r\n return \"left\" === prop ? \"width\" : \"height\"\r\n },\r\n _getPropByDirection: function(direction) {\r\n return direction === HORIZONTAL ? \"left\" : \"top\"\r\n },\r\n _scrollToHome: function() {\r\n var prop = this._wheelProp();\r\n var distance = {};\r\n distance[prop] = 0;\r\n this._component.scrollTo(distance)\r\n },\r\n _scrollToEnd: function() {\r\n var prop = this._wheelProp();\r\n var dimension = this._dimensionByProp(prop);\r\n var distance = {};\r\n var getter = \"width\" === dimension ? getWidth : getHeight;\r\n distance[prop] = getter(this._$content) - getter(this._$container);\r\n this._component.scrollTo(distance)\r\n },\r\n createActions: function() {\r\n this._startAction = this._createActionHandler(\"onStart\");\r\n this._endAction = this._createActionHandler(\"onEnd\");\r\n this._updateAction = this._createActionHandler(\"onUpdated\");\r\n this._createScrollerActions()\r\n },\r\n _createScrollerActions: function() {\r\n this._scrollAction = this._createActionHandler(\"onScroll\");\r\n this._bounceAction = this._createActionHandler(\"onBounce\");\r\n this._eventHandler(\"createActions\", {\r\n scroll: this._scrollAction,\r\n bounce: this._bounceAction\r\n })\r\n },\r\n _createActionHandler: function(optionName) {\r\n var actionHandler = this._createActionByOption(optionName);\r\n return () => {\r\n actionHandler(extend(this._createActionArgs(), arguments))\r\n }\r\n },\r\n _createActionArgs: function() {\r\n var {\r\n horizontal: scrollerX,\r\n vertical: scrollerY\r\n } = this._scrollers;\r\n var offset = this._getScrollOffset();\r\n this._scrollOffset = {\r\n top: scrollerY && offset.top,\r\n left: scrollerX && offset.left\r\n };\r\n return {\r\n event: this._eventForUserAction,\r\n scrollOffset: this._scrollOffset,\r\n reachedLeft: scrollerX && scrollerX._reachedMax(),\r\n reachedRight: scrollerX && scrollerX._reachedMin(),\r\n reachedTop: scrollerY && scrollerY._reachedMax(),\r\n reachedBottom: scrollerY && scrollerY._reachedMin()\r\n }\r\n },\r\n _getScrollOffset() {\r\n return {\r\n top: -this.location().top,\r\n left: -this.location().left\r\n }\r\n },\r\n _eventHandler: function(eventName) {\r\n var args = [].slice.call(arguments).slice(1);\r\n var deferreds = map(this._scrollers, scroller => scroller[\"_\" + eventName + \"Handler\"].apply(scroller, args));\r\n return when.apply($, deferreds).promise()\r\n },\r\n location: function() {\r\n var location = locate(this._$content);\r\n location.top -= this._$container.scrollTop();\r\n location.left -= this._$container.scrollLeft();\r\n return location\r\n },\r\n disabledChanged: function() {\r\n this._attachCursorHandlers()\r\n },\r\n _attachCursorHandlers: function() {\r\n eventsEngine.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_CURSOR));\r\n if (!this.option(\"disabled\") && this._isHoverMode()) {\r\n eventsEngine.on(this._$element, addEventNamespace(\"mouseenter\", SCROLLABLE_SIMULATED_CURSOR), this._cursorEnterHandler.bind(this));\r\n eventsEngine.on(this._$element, addEventNamespace(\"mouseleave\", SCROLLABLE_SIMULATED_CURSOR), this._cursorLeaveHandler.bind(this))\r\n }\r\n },\r\n _isHoverMode: function() {\r\n return \"onHover\" === this.option(\"showScrollbar\")\r\n },\r\n _cursorEnterHandler: function(e) {\r\n e = e || {};\r\n e.originalEvent = e.originalEvent || {};\r\n if (activeScrollable || e.originalEvent._hoverHandled) {\r\n return\r\n }\r\n if (hoveredScrollable) {\r\n hoveredScrollable._cursorLeaveHandler()\r\n }\r\n hoveredScrollable = this;\r\n this._eventHandler(\"cursorEnter\");\r\n e.originalEvent._hoverHandled = true\r\n },\r\n _cursorLeaveHandler: function(e) {\r\n if (hoveredScrollable !== this || activeScrollable === hoveredScrollable) {\r\n return\r\n }\r\n this._eventHandler(\"cursorLeave\");\r\n hoveredScrollable = null;\r\n this._refreshCursorState(e && e.relatedTarget)\r\n },\r\n _refreshCursorState: function(target) {\r\n if (!this._isHoverMode() && (!target || activeScrollable)) {\r\n return\r\n }\r\n var $target = $(target);\r\n var $scrollable = $target.closest(\".\".concat(SCROLLABLE_SIMULATED_CLASS, \":not(.dx-state-disabled)\"));\r\n var targetScrollable = $scrollable.length && $scrollable.data(SCROLLABLE_STRATEGY);\r\n if (hoveredScrollable && hoveredScrollable !== targetScrollable) {\r\n hoveredScrollable._cursorLeaveHandler()\r\n }\r\n if (targetScrollable) {\r\n targetScrollable._cursorEnterHandler()\r\n }\r\n },\r\n update: function() {\r\n var result = this._eventHandler(\"update\").done(this._updateAction);\r\n return when(result, deferUpdate(() => {\r\n var allowedDirections = this._allowedDirections();\r\n deferRender(() => {\r\n var touchDirection = allowedDirections.vertical ? \"pan-x\" : \"\";\r\n touchDirection = allowedDirections.horizontal ? \"pan-y\" : touchDirection;\r\n touchDirection = allowedDirections.vertical && allowedDirections.horizontal ? \"none\" : touchDirection;\r\n this._$container.css(\"touchAction\", touchDirection)\r\n });\r\n return when().promise()\r\n }))\r\n },\r\n _allowedDirections: function() {\r\n var bounceEnabled = this.option(\"bounceEnabled\");\r\n var verticalScroller = this._scrollers[VERTICAL];\r\n var horizontalScroller = this._scrollers[HORIZONTAL];\r\n return {\r\n vertical: verticalScroller && (verticalScroller._minOffset < 0 || bounceEnabled),\r\n horizontal: horizontalScroller && (horizontalScroller._minOffset < 0 || bounceEnabled)\r\n }\r\n },\r\n _updateBounds: function() {\r\n this._scrollers[HORIZONTAL] && this._scrollers[HORIZONTAL]._updateBounds()\r\n },\r\n _isHorizontalAndRtlEnabled: function() {\r\n return this.option(\"rtlEnabled\") && this.option(\"direction\") !== VERTICAL\r\n },\r\n updateRtlPosition: function(needInitializeRtlConfig) {\r\n if (needInitializeRtlConfig) {\r\n this._rtlConfig = {\r\n scrollRight: 0,\r\n clientWidth: this._$container.get(0).clientWidth,\r\n windowPixelRatio: this._getWindowDevicePixelRatio()\r\n }\r\n }\r\n this._updateBounds();\r\n if (this._isHorizontalAndRtlEnabled()) {\r\n deferUpdate(() => {\r\n var scrollLeft = this._getMaxOffset().left - this._rtlConfig.scrollRight;\r\n if (scrollLeft <= 0) {\r\n scrollLeft = 0;\r\n this._rtlConfig.scrollRight = this._getMaxOffset().left\r\n }\r\n deferRender(() => {\r\n if (this._getScrollOffset().left !== scrollLeft) {\r\n this._rtlConfig.skipUpdating = true;\r\n this._component.scrollTo({\r\n left: scrollLeft\r\n });\r\n this._rtlConfig.skipUpdating = false\r\n }\r\n })\r\n })\r\n }\r\n },\r\n _updateRtlConfig: function() {\r\n if (this._isHorizontalAndRtlEnabled() && !this._rtlConfig.skipUpdating) {\r\n var {\r\n clientWidth: clientWidth,\r\n scrollLeft: scrollLeft\r\n } = this._$container.get(0);\r\n var windowPixelRatio = this._getWindowDevicePixelRatio();\r\n if (this._rtlConfig.windowPixelRatio === windowPixelRatio && this._rtlConfig.clientWidth === clientWidth) {\r\n this._rtlConfig.scrollRight = this._getMaxOffset().left - scrollLeft\r\n }\r\n this._rtlConfig.clientWidth = clientWidth;\r\n this._rtlConfig.windowPixelRatio = windowPixelRatio\r\n }\r\n },\r\n _getWindowDevicePixelRatio: function() {\r\n return hasWindow() ? getWindow().devicePixelRatio : 1\r\n },\r\n scrollBy: function(distance) {\r\n var verticalScroller = this._scrollers[VERTICAL];\r\n var horizontalScroller = this._scrollers[HORIZONTAL];\r\n if (verticalScroller) {\r\n distance.top = verticalScroller._boundLocation(distance.top + verticalScroller._location) - verticalScroller._location\r\n }\r\n if (horizontalScroller) {\r\n distance.left = horizontalScroller._boundLocation(distance.left + horizontalScroller._location) - horizontalScroller._location\r\n }\r\n this._prepareDirections(true);\r\n this._startAction();\r\n this._eventHandler(\"scrollBy\", {\r\n x: distance.left,\r\n y: distance.top\r\n });\r\n this._endAction();\r\n this._updateRtlConfig()\r\n },\r\n validate: function(e) {\r\n if (isDxMouseWheelEvent(e) && isCommandKeyPressed(e)) {\r\n return false\r\n }\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (this.option(\"bounceEnabled\")) {\r\n return true\r\n }\r\n return isDxMouseWheelEvent(e) ? this._validateWheel(e) : this._validateMove(e)\r\n },\r\n _validateWheel: function(e) {\r\n var scroller = this._scrollers[this._wheelDirection(e)];\r\n var reachedMin = scroller._reachedMin();\r\n var reachedMax = scroller._reachedMax();\r\n var contentGreaterThanContainer = !reachedMin || !reachedMax;\r\n var locatedNotAtBound = !reachedMin && !reachedMax;\r\n var scrollFromMin = reachedMin && e.delta > 0;\r\n var scrollFromMax = reachedMax && e.delta < 0;\r\n var validated = contentGreaterThanContainer && (locatedNotAtBound || scrollFromMin || scrollFromMax);\r\n validated = validated || void 0 !== this._validateWheelTimer;\r\n if (validated) {\r\n clearTimeout(this._validateWheelTimer);\r\n this._validateWheelTimer = setTimeout(() => {\r\n this._validateWheelTimer = void 0\r\n }, VALIDATE_WHEEL_TIMEOUT)\r\n }\r\n return validated\r\n },\r\n _validateMove: function(e) {\r\n if (!this.option(\"scrollByContent\") && !$(e.target).closest(\".\".concat(SCROLLABLE_SCROLLBAR_CLASS)).length) {\r\n return false\r\n }\r\n return this._allowedDirection()\r\n },\r\n getDirection: function(e) {\r\n return isDxMouseWheelEvent(e) ? this._wheelDirection(e) : this._allowedDirection()\r\n },\r\n _wheelProp: function() {\r\n return this._wheelDirection() === HORIZONTAL ? \"left\" : \"top\"\r\n },\r\n _wheelDirection: function(e) {\r\n switch (this.option(\"direction\")) {\r\n case HORIZONTAL:\r\n return HORIZONTAL;\r\n case VERTICAL:\r\n return VERTICAL;\r\n default:\r\n return e && e.shiftKey ? HORIZONTAL : VERTICAL\r\n }\r\n },\r\n dispose: function() {\r\n this._resetActive();\r\n if (hoveredScrollable === this) {\r\n hoveredScrollable = null\r\n }\r\n this._eventHandler(\"dispose\");\r\n this._detachEventHandlers();\r\n this._$element.removeClass(SCROLLABLE_SIMULATED_CLASS);\r\n this._eventForUserAction = null;\r\n clearTimeout(this._validateWheelTimer);\r\n clearTimeout(this._updateHandlerTimeout)\r\n },\r\n _detachEventHandlers: function() {\r\n eventsEngine.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_CURSOR));\r\n eventsEngine.off(this._$container, \".\".concat(SCROLLABLE_SIMULATED_KEYBOARD))\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.simulated.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n executeAsync\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar math = Math;\r\nimport {\r\n Scroller,\r\n SimulatedStrategy\r\n} from \"./ui.scrollable.simulated\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nvar SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nvar SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_LOADING = 3;\r\nvar ScrollViewScroller = Scroller.inherit({\r\n ctor: function() {\r\n this._topPocketSize = 0;\r\n this._bottomPocketSize = 0;\r\n this.callBase.apply(this, arguments);\r\n this._initCallbacks();\r\n this._releaseState()\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._refreshPullDownText()\r\n },\r\n _refreshPullDownText: function() {\r\n var that = this;\r\n var pullDownTextItems = [{\r\n element: this._$pullingDownText,\r\n visibleState: STATE_RELEASED\r\n }, {\r\n element: this._$pulledDownText,\r\n visibleState: STATE_READY\r\n }, {\r\n element: this._$refreshingText,\r\n visibleState: STATE_REFRESHING\r\n }];\r\n each(pullDownTextItems, (function(_, item) {\r\n var action = that._state === item.visibleState ? \"addClass\" : \"removeClass\";\r\n item.element[action](SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS)\r\n }))\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n _updateBounds: function() {\r\n var considerPockets = \"horizontal\" !== this._direction;\r\n if (considerPockets) {\r\n this._topPocketSize = this._$topPocket.get(0).clientHeight;\r\n this._bottomPocketSize = this._$bottomPocket.get(0).clientHeight;\r\n var containerEl = this._$container.get(0);\r\n var contentEl = this._$content.get(0);\r\n this._bottomBoundary = Math.max(contentEl.clientHeight - this._bottomPocketSize - containerEl.clientHeight, 0)\r\n }\r\n this.callBase()\r\n },\r\n _updateScrollbar: function() {\r\n this._scrollbar.option({\r\n containerSize: this._containerSize(),\r\n contentSize: this._contentSize() - this._topPocketSize - this._bottomPocketSize,\r\n scaleRatio: this._getScaleRatio()\r\n })\r\n },\r\n _moveContent: function() {\r\n this.callBase();\r\n if (this._isPullDown()) {\r\n this._pullDownReady()\r\n } else if (this._isReachBottom()) {\r\n this._reachBottomReady()\r\n } else if (this._state !== STATE_RELEASED) {\r\n this._stateReleased()\r\n }\r\n },\r\n _moveScrollbar: function() {\r\n this._scrollbar.moveTo(this._topPocketSize + this._location)\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._location >= 0\r\n },\r\n _isReachBottom: function() {\r\n var containerEl = this._$container.get(0);\r\n return this._reachBottomEnabled && Math.round(this._bottomBoundary - Math.ceil(containerEl.scrollTop)) <= 1\r\n },\r\n _scrollComplete: function() {\r\n if (this._inBounds() && this._state === STATE_READY) {\r\n this._pullDownRefreshing()\r\n } else if (this._inBounds() && this._state === STATE_LOADING) {\r\n this._reachBottomLoading()\r\n } else {\r\n this.callBase()\r\n }\r\n },\r\n _reachBottomReady: function() {\r\n if (this._state === STATE_LOADING) {\r\n return\r\n }\r\n this._state = STATE_LOADING;\r\n this._minOffset = this._getMinOffset()\r\n },\r\n _getMaxOffset: function() {\r\n return -this._topPocketSize\r\n },\r\n _getMinOffset: function() {\r\n return math.min(this.callBase(), -this._topPocketSize)\r\n },\r\n _reachBottomLoading: function() {\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _pullDownReady: function() {\r\n if (this._state === STATE_READY) {\r\n return\r\n }\r\n this._state = STATE_READY;\r\n this._maxOffset = 0;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._releaseState();\r\n this._updateBounds();\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this.releaseCallbacks.fire()\r\n },\r\n _pullDownRefreshing: function() {\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n this._state = STATE_REFRESHING;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText();\r\n this.pullDownCallbacks.fire()\r\n },\r\n _releaseHandler: function() {\r\n if (this._state === STATE_RELEASED) {\r\n this._moveToBounds()\r\n }\r\n this._update();\r\n if (this._releaseTask) {\r\n this._releaseTask.abort()\r\n }\r\n this._releaseTask = executeAsync(this._release.bind(this));\r\n return this._releaseTask.promise\r\n },\r\n _release: function() {\r\n this._stateReleased();\r\n this._scrollComplete()\r\n },\r\n _reachBottomEnablingHandler: function(enabled) {\r\n if (this._reachBottomEnabled === enabled) {\r\n return\r\n }\r\n this._reachBottomEnabled = enabled;\r\n this._updateBounds()\r\n },\r\n _pullDownEnablingHandler: function(enabled) {\r\n if (this._pullDownEnabled === enabled) {\r\n return\r\n }\r\n this._pullDownEnabled = enabled;\r\n this._considerTopPocketChange();\r\n this._updateHandler()\r\n },\r\n _considerTopPocketChange: function() {\r\n this._location -= getHeight(this._$topPocket) || -this._topPocketSize;\r\n this._maxOffset = 0;\r\n this._move()\r\n },\r\n _pendingReleaseHandler: function() {\r\n this._state = STATE_READY\r\n },\r\n dispose: function() {\r\n if (this._releaseTask) {\r\n this._releaseTask.abort()\r\n }\r\n this.callBase()\r\n }\r\n});\r\nvar SimulatedScrollViewStrategy = SimulatedStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$bottomPocket = scrollView._$bottomPocket;\r\n this._initCallbacks()\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this._renderPullDown();\r\n this.callBase()\r\n },\r\n _renderPullDown: function() {\r\n var $image = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_IMAGE_CLASS);\r\n var $loadContainer = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"
\")).$element();\r\n var $text = this._$pullDownText = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_TEXT_CLASS);\r\n this._$pullingDownText = $(\"
\").text(this.option(\"pullingDownText\")).appendTo($text);\r\n this._$pulledDownText = $(\"
\").text(this.option(\"pulledDownText\")).appendTo($text);\r\n this._$refreshingText = $(\"
\").text(this.option(\"refreshingText\")).appendTo($text);\r\n this._$pullDown.empty().append($image).append($loadContainer.append($loadIndicator)).append($text)\r\n },\r\n pullDownEnable: function(enabled) {\r\n this._eventHandler(\"pullDownEnabling\", enabled)\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._eventHandler(\"reachBottomEnabling\", enabled)\r\n },\r\n _createScroller: function(direction) {\r\n var that = this;\r\n var scroller = that._scrollers[direction] = new ScrollViewScroller(that._scrollerOptions(direction));\r\n scroller.pullDownCallbacks.add((function() {\r\n that.pullDownCallbacks.fire()\r\n }));\r\n scroller.releaseCallbacks.add((function() {\r\n that.releaseCallbacks.fire()\r\n }));\r\n scroller.reachBottomCallbacks.add((function() {\r\n that.reachBottomCallbacks.fire()\r\n }))\r\n },\r\n _scrollerOptions: function(direction) {\r\n return extend(this.callBase(direction), {\r\n $topPocket: this._$topPocket,\r\n $bottomPocket: this._$bottomPocket,\r\n $pullDown: this._$pullDown,\r\n $pullDownText: this._$pullDownText,\r\n $pullingDownText: this._$pullingDownText,\r\n $pulledDownText: this._$pulledDownText,\r\n $refreshingText: this._$refreshingText\r\n })\r\n },\r\n pendingRelease: function() {\r\n this._eventHandler(\"pendingRelease\")\r\n },\r\n release: function() {\r\n return this._eventHandler(\"release\").done(this._updateAction)\r\n },\r\n location: function() {\r\n var location = this.callBase();\r\n location.top += getHeight(this._$topPocket);\r\n return location\r\n },\r\n dispose: function() {\r\n each(this._scrollers, (function() {\r\n this.dispose()\r\n }));\r\n this.callBase()\r\n }\r\n});\r\nexport default SimulatedScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.device.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n nativeScrolling,\r\n touch\r\n} from \"../../core/utils/support\";\r\nexport var deviceDependentOptions = function() {\r\n return [{\r\n device: function() {\r\n return !nativeScrolling\r\n },\r\n options: {\r\n useNative: false\r\n }\r\n }, {\r\n device: function(_device) {\r\n return !devices.isSimulator() && \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n bounceEnabled: false,\r\n scrollByThumb: true,\r\n scrollByContent: touch,\r\n showScrollbar: \"onHover\"\r\n }\r\n }]\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.old.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getWidth,\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../core/utils/support\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport devices from \"../../core/devices\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport DOMComponent from \"../../core/dom_component\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport scrollEvents from \"../../events/gesture/emitter.gesture.scroll\";\r\nimport {\r\n SimulatedStrategy\r\n} from \"./ui.scrollable.simulated\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport {\r\n deviceDependentOptions\r\n} from \"./ui.scrollable.device\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n getElementLocationInternal\r\n} from \"../../renovation/ui/scroll_view/utils/get_element_location_internal\";\r\nvar SCROLLABLE = \"dxScrollable\";\r\nvar SCROLLABLE_STRATEGY = \"dxScrollableStrategy\";\r\nvar SCROLLABLE_CLASS = \"dx-scrollable\";\r\nvar SCROLLABLE_DISABLED_CLASS = \"dx-scrollable-disabled\";\r\nvar SCROLLABLE_CONTAINER_CLASS = \"dx-scrollable-container\";\r\nvar SCROLLABLE_WRAPPER_CLASS = \"dx-scrollable-wrapper\";\r\nvar SCROLLABLE_CONTENT_CLASS = \"dx-scrollable-content\";\r\nvar VERTICAL = \"vertical\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar BOTH = \"both\";\r\nvar Scrollable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n disabled: false,\r\n onScroll: null,\r\n direction: VERTICAL,\r\n showScrollbar: \"onScroll\",\r\n useNative: true,\r\n bounceEnabled: true,\r\n scrollByContent: true,\r\n scrollByThumb: false,\r\n onUpdated: null,\r\n onStart: null,\r\n onEnd: null,\r\n onBounce: null,\r\n useSimulatedScrollbar: false,\r\n useKeyboard: true,\r\n inertiaEnabled: true,\r\n updateManually: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat(deviceDependentOptions(), [{\r\n device: function() {\r\n return nativeScrolling && \"android\" === devices.real().platform && !browser.mozilla\r\n },\r\n options: {\r\n useSimulatedScrollbar: true\r\n }\r\n }])\r\n },\r\n _initOptions: function(options) {\r\n this.callBase(options);\r\n if (!(\"useSimulatedScrollbar\" in options)) {\r\n this._setUseSimulatedScrollbar()\r\n }\r\n },\r\n _setUseSimulatedScrollbar: function() {\r\n if (!this.initialOption(\"useSimulatedScrollbar\")) {\r\n this.option(\"useSimulatedScrollbar\", !this.option(\"useNative\"))\r\n }\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initScrollableMarkup();\r\n this._locked = false\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this.update();\r\n this._updateRtlPosition();\r\n this._savedScrollOffset && this.scrollTo(this._savedScrollOffset);\r\n delete this._savedScrollOffset\r\n } else {\r\n this._savedScrollOffset = this.scrollOffset()\r\n }\r\n },\r\n _initScrollableMarkup: function() {\r\n var $element = this.$element().addClass(SCROLLABLE_CLASS);\r\n var $container = this._$container = $(\"
\").addClass(SCROLLABLE_CONTAINER_CLASS);\r\n var $wrapper = this._$wrapper = $(\"
\").addClass(SCROLLABLE_WRAPPER_CLASS);\r\n var $content = this._$content = $(\"
\").addClass(SCROLLABLE_CONTENT_CLASS);\r\n $content.append($element.contents()).appendTo($container);\r\n $container.appendTo($wrapper);\r\n $wrapper.appendTo($element)\r\n },\r\n _dimensionChanged: function() {\r\n this.update();\r\n this._updateRtlPosition()\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderDirection()\r\n },\r\n _render: function() {\r\n this._renderStrategy();\r\n this._attachEventHandlers();\r\n this._renderDisabledState();\r\n this._createActions();\r\n this.update();\r\n this.callBase();\r\n this._updateRtlPosition(true)\r\n },\r\n _updateRtlPosition: function(needInitializeRtlConfig) {\r\n this._strategy.updateRtlPosition(needInitializeRtlConfig)\r\n },\r\n _getMaxOffset: function() {\r\n var {\r\n scrollWidth: scrollWidth,\r\n clientWidth: clientWidth,\r\n scrollHeight: scrollHeight,\r\n clientHeight: clientHeight\r\n } = $(this.container()).get(0);\r\n return {\r\n left: scrollWidth - clientWidth,\r\n top: scrollHeight - clientHeight\r\n }\r\n },\r\n _attachEventHandlers: function() {\r\n var strategy = this._strategy;\r\n var initEventData = {\r\n getDirection: strategy.getDirection.bind(strategy),\r\n validate: this._validate.bind(this),\r\n isNative: this.option(\"useNative\"),\r\n scrollTarget: this._$container\r\n };\r\n eventsEngine.off(this._$wrapper, \".\" + SCROLLABLE);\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.init, SCROLLABLE), initEventData, this._initHandler.bind(this));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.start, SCROLLABLE), strategy.handleStart.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.move, SCROLLABLE), strategy.handleMove.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.end, SCROLLABLE), strategy.handleEnd.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.cancel, SCROLLABLE), strategy.handleCancel.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.stop, SCROLLABLE), strategy.handleStop.bind(strategy));\r\n eventsEngine.off(this._$container, \".\" + SCROLLABLE);\r\n eventsEngine.on(this._$container, addNamespace(\"scroll\", SCROLLABLE), strategy.handleScroll.bind(strategy))\r\n },\r\n _validate: function(e) {\r\n if (this._isLocked()) {\r\n return false\r\n }\r\n this._updateIfNeed();\r\n return this._moveIsAllowed(e)\r\n },\r\n _moveIsAllowed(e) {\r\n return this._strategy.validate(e)\r\n },\r\n handleMove(e) {\r\n this._strategy.handleMove(e)\r\n },\r\n _prepareDirections(value) {\r\n this._strategy._prepareDirections(value)\r\n },\r\n _initHandler: function() {\r\n var strategy = this._strategy;\r\n strategy.handleInit.apply(strategy, arguments)\r\n },\r\n _renderDisabledState: function() {\r\n this.$element().toggleClass(SCROLLABLE_DISABLED_CLASS, this.option(\"disabled\"));\r\n if (this.option(\"disabled\")) {\r\n this._lock()\r\n } else {\r\n this._unlock()\r\n }\r\n },\r\n _renderDirection: function() {\r\n this.$element().removeClass(\"dx-scrollable-\" + HORIZONTAL).removeClass(\"dx-scrollable-\" + VERTICAL).removeClass(\"dx-scrollable-\" + BOTH).addClass(\"dx-scrollable-\" + this.option(\"direction\"))\r\n },\r\n _renderStrategy: function() {\r\n this._createStrategy();\r\n this._strategy.render();\r\n this.$element().data(SCROLLABLE_STRATEGY, this._strategy)\r\n },\r\n _createStrategy: function() {\r\n this._strategy = this.option(\"useNative\") ? new NativeStrategy(this) : new SimulatedStrategy(this)\r\n },\r\n _createActions: function() {\r\n this._strategy && this._strategy.createActions()\r\n },\r\n _clean: function() {\r\n this._strategy && this._strategy.dispose()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onStart\":\r\n case \"onEnd\":\r\n case \"onUpdated\":\r\n case \"onScroll\":\r\n case \"onBounce\":\r\n this._createActions();\r\n break;\r\n case \"direction\":\r\n this._resetInactiveDirection();\r\n this._invalidate();\r\n break;\r\n case \"useNative\":\r\n this._setUseSimulatedScrollbar();\r\n this._invalidate();\r\n break;\r\n case \"inertiaEnabled\":\r\n case \"scrollByThumb\":\r\n case \"bounceEnabled\":\r\n case \"useKeyboard\":\r\n case \"showScrollbar\":\r\n case \"useSimulatedScrollbar\":\r\n this._invalidate();\r\n break;\r\n case \"disabled\":\r\n this._renderDisabledState();\r\n this._strategy && this._strategy.disabledChanged();\r\n break;\r\n case \"updateManually\":\r\n case \"scrollByContent\":\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._updateRtlPosition();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _resetInactiveDirection: function() {\r\n var inactiveProp = this._getInactiveProp();\r\n if (!inactiveProp || !hasWindow()) {\r\n return\r\n }\r\n var scrollOffset = this.scrollOffset();\r\n scrollOffset[inactiveProp] = 0;\r\n this.scrollTo(scrollOffset)\r\n },\r\n _getInactiveProp: function() {\r\n var direction = this.option(\"direction\");\r\n if (direction === VERTICAL) {\r\n return \"left\"\r\n }\r\n if (direction === HORIZONTAL) {\r\n return \"top\"\r\n }\r\n },\r\n _location: function() {\r\n return this._strategy.location()\r\n },\r\n _normalizeLocation: function(location) {\r\n if (isPlainObject(location)) {\r\n var left = ensureDefined(location.left, location.x);\r\n var top = ensureDefined(location.top, location.y);\r\n return {\r\n left: isDefined(left) ? -left : void 0,\r\n top: isDefined(top) ? -top : void 0\r\n }\r\n } else {\r\n var direction = this.option(\"direction\");\r\n return {\r\n left: direction !== VERTICAL ? -location : void 0,\r\n top: direction !== HORIZONTAL ? -location : void 0\r\n }\r\n }\r\n },\r\n _isLocked: function() {\r\n return this._locked\r\n },\r\n _lock: function() {\r\n this._locked = true\r\n },\r\n _unlock: function() {\r\n if (!this.option(\"disabled\")) {\r\n this._locked = false\r\n }\r\n },\r\n _isDirection: function(direction) {\r\n var current = this.option(\"direction\");\r\n if (direction === VERTICAL) {\r\n return current !== HORIZONTAL\r\n }\r\n if (direction === HORIZONTAL) {\r\n return current !== VERTICAL\r\n }\r\n return current === direction\r\n },\r\n _updateAllowedDirection: function() {\r\n var allowedDirections = this._strategy._allowedDirections();\r\n if (this._isDirection(BOTH) && allowedDirections.vertical && allowedDirections.horizontal) {\r\n this._allowedDirectionValue = BOTH\r\n } else if (this._isDirection(HORIZONTAL) && allowedDirections.horizontal) {\r\n this._allowedDirectionValue = HORIZONTAL\r\n } else if (this._isDirection(VERTICAL) && allowedDirections.vertical) {\r\n this._allowedDirectionValue = VERTICAL\r\n } else {\r\n this._allowedDirectionValue = null\r\n }\r\n },\r\n _allowedDirection: function() {\r\n return this._allowedDirectionValue\r\n },\r\n $content: function() {\r\n return this._$content\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content)\r\n },\r\n container: function() {\r\n return getPublicElement(this._$container)\r\n },\r\n scrollOffset: function() {\r\n return this._strategy._getScrollOffset()\r\n },\r\n _isRtlNativeStrategy: function() {\r\n var {\r\n useNative: useNative,\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n return useNative && rtlEnabled\r\n },\r\n scrollTop: function() {\r\n return this.scrollOffset().top\r\n },\r\n scrollLeft: function() {\r\n return this.scrollOffset().left\r\n },\r\n clientHeight: function() {\r\n return getHeight(this._$container)\r\n },\r\n scrollHeight: function() {\r\n return getOuterHeight(this.$content())\r\n },\r\n clientWidth: function() {\r\n return getWidth(this._$container)\r\n },\r\n scrollWidth: function() {\r\n return getOuterWidth(this.$content())\r\n },\r\n update: function() {\r\n if (!this._strategy) {\r\n return\r\n }\r\n return when(this._strategy.update()).done(function() {\r\n this._updateAllowedDirection()\r\n }.bind(this))\r\n },\r\n scrollBy: function(distance) {\r\n distance = this._normalizeLocation(distance);\r\n if (!distance.top && !distance.left) {\r\n return\r\n }\r\n this._updateIfNeed();\r\n this._strategy.scrollBy(distance)\r\n },\r\n scrollTo: function(targetLocation) {\r\n targetLocation = this._normalizeLocation(targetLocation);\r\n this._updateIfNeed();\r\n var location = this._location();\r\n if (!this.option(\"useNative\")) {\r\n targetLocation = this._strategy._applyScaleRatio(targetLocation);\r\n location = this._strategy._applyScaleRatio(location)\r\n }\r\n if (this._isRtlNativeStrategy()) {\r\n location.left = location.left - this._getMaxOffset().left\r\n }\r\n var distance = this._normalizeLocation({\r\n left: location.left - ensureDefined(targetLocation.left, location.left),\r\n top: location.top - ensureDefined(targetLocation.top, location.top)\r\n });\r\n if (!distance.top && !distance.left) {\r\n return\r\n }\r\n this._strategy.scrollBy(distance)\r\n },\r\n scrollToElement: function(element, offset) {\r\n var $element = $(element);\r\n var elementInsideContent = this.$content().find(element).length;\r\n var elementIsInsideContent = $element.parents(\".\" + SCROLLABLE_CLASS).length - $element.parents(\".\" + SCROLLABLE_CONTENT_CLASS).length === 0;\r\n if (!elementInsideContent || !elementIsInsideContent) {\r\n return\r\n }\r\n var scrollPosition = {\r\n top: 0,\r\n left: 0\r\n };\r\n var direction = this.option(\"direction\");\r\n if (direction !== VERTICAL) {\r\n scrollPosition.left = this.getScrollElementPosition($element, HORIZONTAL, offset)\r\n }\r\n if (direction !== HORIZONTAL) {\r\n scrollPosition.top = this.getScrollElementPosition($element, VERTICAL, offset)\r\n }\r\n this.scrollTo(scrollPosition)\r\n },\r\n getScrollElementPosition: function($element, direction, offset) {\r\n var scrollOffset = this.scrollOffset();\r\n return getElementLocationInternal($element.get(0), direction, $(this.container()).get(0), scrollOffset, offset)\r\n },\r\n _updateIfNeed: function() {\r\n if (!this.option(\"updateManually\")) {\r\n this.update()\r\n }\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n isRenovated: function() {\r\n return !!Scrollable.IS_RENOVATED_WIDGET\r\n }\r\n});\r\nregisterComponent(SCROLLABLE, Scrollable);\r\nexport default Scrollable;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_element_location_internal.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n titleize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n getRelativeOffset\r\n} from \"./get_relative_offset\";\r\nimport {\r\n DIRECTION_VERTICAL,\r\n SCROLLABLE_CONTENT_CLASS\r\n} from \"../common/consts\";\r\nexport function getElementLocationInternal(targetElement, direction, containerElement, scrollOffset, offset) {\r\n var additionalOffset = _extends({\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0\r\n }, offset);\r\n var isVertical = direction === DIRECTION_VERTICAL;\r\n var prop = isVertical ? \"top\" : \"left\";\r\n var inverseProp = isVertical ? \"bottom\" : \"right\";\r\n var dimension = isVertical ? \"height\" : \"width\";\r\n var containerOffsetSize = containerElement[\"offset\".concat(titleize(dimension))];\r\n var containerClientSize = containerElement[\"client\".concat(titleize(dimension))];\r\n var containerSize = containerElement.getBoundingClientRect()[dimension];\r\n var elementSize = targetElement.getBoundingClientRect()[dimension];\r\n var scale = 1;\r\n if (Math.abs(containerSize - containerOffsetSize) > 1) {\r\n scale = containerSize / containerOffsetSize\r\n }\r\n var relativeElementOffset = getRelativeOffset(SCROLLABLE_CONTENT_CLASS, targetElement)[prop] / scale;\r\n var containerScrollOffset = scrollOffset[prop];\r\n var relativeStartOffset = containerScrollOffset - relativeElementOffset + additionalOffset[prop];\r\n var relativeEndOffset = containerScrollOffset - relativeElementOffset - elementSize / scale + containerClientSize - additionalOffset[inverseProp];\r\n if (relativeStartOffset <= 0 && relativeEndOffset >= 0) {\r\n return containerScrollOffset\r\n }\r\n return containerScrollOffset - (Math.abs(relativeStartOffset) > Math.abs(relativeEndOffset) ? relativeEndOffset : relativeStartOffset)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/common/consts.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var SCROLL_LINE_HEIGHT = 40;\r\nexport var DIRECTION_VERTICAL = \"vertical\";\r\nexport var DIRECTION_HORIZONTAL = \"horizontal\";\r\nexport var DIRECTION_BOTH = \"both\";\r\nexport var SCROLLABLE_SIMULATED_CLASS = \"dx-scrollable-simulated\";\r\nexport var SCROLLABLE_CONTENT_CLASS = \"dx-scrollable-content\";\r\nexport var SCROLLABLE_WRAPPER_CLASS = \"dx-scrollable-wrapper\";\r\nexport var SCROLLABLE_CONTAINER_CLASS = \"dx-scrollable-container\";\r\nexport var SCROLLABLE_DISABLED_CLASS = \"dx-scrollable-disabled\";\r\nexport var SCROLLABLE_SCROLLBAR_SIMULATED = \"dx-scrollable-scrollbar-simulated\";\r\nexport var SCROLLABLE_SCROLLBARS_HIDDEN = \"dx-scrollable-scrollbars-hidden\";\r\nexport var SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE = \"dx-scrollable-scrollbars-alwaysvisible\";\r\nexport var SCROLLABLE_SCROLLBAR_CLASS = \"dx-scrollable-scrollbar\";\r\nexport var SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = \"dx-scrollable-scrollbar-active\";\r\nexport var SCROLLABLE_SCROLL_CLASS = \"dx-scrollable-scroll\";\r\nexport var SCROLLABLE_SCROLL_CONTENT_CLASS = \"dx-scrollable-scroll-content\";\r\nexport var HOVER_ENABLED_STATE = \"dx-scrollbar-hoverable\";\r\nexport var SCROLLVIEW_CONTENT_CLASS = \"dx-scrollview-content\";\r\nexport var SCROLLVIEW_TOP_POCKET_CLASS = \"dx-scrollview-top-pocket\";\r\nexport var SCROLLVIEW_PULLDOWN = \"dx-scrollview-pull-down\";\r\nexport var SCROLLVIEW_PULLDOWN_LOADING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nexport var SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nexport var SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nexport var SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nexport var SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nexport var SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nexport var PULLDOWN_ICON_CLASS = \"dx-icon-pulldown\";\r\nexport var SCROLLVIEW_BOTTOM_POCKET_CLASS = \"dx-scrollview-bottom-pocket\";\r\nexport var SCROLLVIEW_REACHBOTTOM_CLASS = \"dx-scrollview-scrollbottom\";\r\nexport var SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS = \"dx-scrollview-scrollbottom-indicator\";\r\nexport var SCROLLVIEW_REACHBOTTOM_TEXT_CLASS = \"dx-scrollview-scrollbottom-text\";\r\nexport var TopPocketState = {\r\n STATE_RELEASED: 0,\r\n STATE_READY: 1,\r\n STATE_REFRESHING: 2,\r\n STATE_LOADING: 3,\r\n STATE_TOUCHED: 4,\r\n STATE_PULLED: 5\r\n};\r\nexport var ShowScrollbarMode = {\r\n HOVER: \"onHover\",\r\n ALWAYS: \"always\",\r\n NEVER: \"never\",\r\n SCROLL: \"onScroll\"\r\n};\r\nexport var KEY_CODES = {\r\n PAGE_UP: \"pageUp\",\r\n PAGE_DOWN: \"pageDown\",\r\n END: \"end\",\r\n HOME: \"home\",\r\n LEFT: \"leftArrow\",\r\n UP: \"upArrow\",\r\n RIGHT: \"rightArrow\",\r\n DOWN: \"downArrow\"\r\n};\r\nexport var VALIDATE_WHEEL_TIMEOUT = 500;\r\nexport var HIDE_SCROLLBAR_TIMEOUT = 500;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_relative_offset.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function getRelativeOffset(targetElementClass, sourceElement) {\r\n var offset = {\r\n left: 0,\r\n top: 0\r\n };\r\n var element = sourceElement;\r\n while (null !== (_element = element) && void 0 !== _element && _element.offsetParent && !element.classList.contains(targetElementClass)) {\r\n var _element;\r\n var parentElement = element.offsetParent;\r\n var elementRect = element.getBoundingClientRect();\r\n var parentElementRect = parentElement.getBoundingClientRect();\r\n offset.left += elementRect.left - parentElementRect.left;\r\n offset.top += elementRect.top - parentElementRect.top;\r\n element = element.offsetParent\r\n }\r\n return offset\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Scrollable from \"./ui.scrollable.old\";\r\nexport default Scrollable;\r\n","/**\r\n * DevExtreme (esm/ui/load_panel.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport LoadIndicator from \"./load_indicator\";\r\nimport Overlay from \"./overlay/ui.overlay\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n isMaterial\r\n} from \"./themes\";\r\nvar LOADPANEL_CLASS = \"dx-loadpanel\";\r\nvar LOADPANEL_WRAPPER_CLASS = \"dx-loadpanel-wrapper\";\r\nvar LOADPANEL_INDICATOR_CLASS = \"dx-loadpanel-indicator\";\r\nvar LOADPANEL_MESSAGE_CLASS = \"dx-loadpanel-message\";\r\nvar LOADPANEL_CONTENT_CLASS = \"dx-loadpanel-content\";\r\nvar LOADPANEL_CONTENT_WRAPPER_CLASS = \"dx-loadpanel-content-wrapper\";\r\nvar LOADPANEL_PANE_HIDDEN_CLASS = \"dx-loadpanel-pane-hidden\";\r\nvar LoadPanel = Overlay.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n escape: noop\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n message: messageLocalization.format(\"Loading\"),\r\n width: 222,\r\n height: 90,\r\n animation: null,\r\n showIndicator: true,\r\n indicatorSrc: \"\",\r\n showPane: true,\r\n delay: 0,\r\n templatesRenderAsynchronously: false,\r\n hideTopOverlayHandler: null,\r\n focusStateEnabled: false,\r\n propagateOutsideClick: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n shadingColor: \"transparent\"\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n message: \"\",\r\n width: 60,\r\n height: 60,\r\n maxHeight: 60,\r\n maxWidth: 60\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase.apply(this, arguments)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(LOADPANEL_CLASS);\r\n this.$wrapper().addClass(LOADPANEL_WRAPPER_CLASS)\r\n },\r\n _renderContentImpl: function() {\r\n this.callBase();\r\n this.$content().addClass(LOADPANEL_CONTENT_CLASS);\r\n this._$loadPanelContentWrapper = $(\"
\").addClass(LOADPANEL_CONTENT_WRAPPER_CLASS);\r\n this._$loadPanelContentWrapper.appendTo(this.$content());\r\n this._togglePaneVisible();\r\n this._cleanPreviousContent();\r\n this._renderLoadIndicator();\r\n this._renderMessage()\r\n },\r\n _show: function() {\r\n var delay = this.option(\"delay\");\r\n if (!delay) {\r\n return this.callBase()\r\n }\r\n var deferred = new Deferred;\r\n var callBase = this.callBase.bind(this);\r\n this._clearShowTimeout();\r\n this._showTimeout = setTimeout((function() {\r\n callBase().done((function() {\r\n deferred.resolve()\r\n }))\r\n }), delay);\r\n return deferred.promise()\r\n },\r\n _hide: function() {\r\n this._clearShowTimeout();\r\n return this.callBase()\r\n },\r\n _clearShowTimeout: function() {\r\n clearTimeout(this._showTimeout)\r\n },\r\n _renderMessage: function() {\r\n if (!this._$loadPanelContentWrapper) {\r\n return\r\n }\r\n var message = this.option(\"message\");\r\n if (!message) {\r\n return\r\n }\r\n var $message = $(\"
\").addClass(LOADPANEL_MESSAGE_CLASS).text(message);\r\n this._$loadPanelContentWrapper.append($message)\r\n },\r\n _renderLoadIndicator: function() {\r\n if (!this._$loadPanelContentWrapper || !this.option(\"showIndicator\")) {\r\n return\r\n }\r\n if (!this._$indicator) {\r\n this._$indicator = $(\"
\").addClass(LOADPANEL_INDICATOR_CLASS).appendTo(this._$loadPanelContentWrapper)\r\n }\r\n this._createComponent(this._$indicator, LoadIndicator, {\r\n indicatorSrc: this.option(\"indicatorSrc\")\r\n })\r\n },\r\n _cleanPreviousContent: function() {\r\n this.$content().find(\".\" + LOADPANEL_MESSAGE_CLASS).remove();\r\n this.$content().find(\".\" + LOADPANEL_INDICATOR_CLASS).remove();\r\n delete this._$indicator\r\n },\r\n _togglePaneVisible: function() {\r\n this.$content().toggleClass(LOADPANEL_PANE_HIDDEN_CLASS, !this.option(\"showPane\"))\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"delay\":\r\n break;\r\n case \"message\":\r\n case \"showIndicator\":\r\n this._cleanPreviousContent();\r\n this._renderLoadIndicator();\r\n this._renderMessage();\r\n break;\r\n case \"showPane\":\r\n this._togglePaneVisible();\r\n break;\r\n case \"indicatorSrc\":\r\n this._renderLoadIndicator();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _dispose: function() {\r\n this._clearShowTimeout();\r\n this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxLoadPanel\", LoadPanel);\r\nexport default LoadPanel;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport PullDownStrategy from \"./ui.scroll_view.native.pull_down\";\r\nimport SwipeDownStrategy from \"./ui.scroll_view.native.swipe_down\";\r\nimport SimulatedStrategy from \"./ui.scroll_view.simulated\";\r\nimport Scrollable from \"./ui.scrollable\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n isMaterial\r\n} from \"./../themes\";\r\nimport LoadPanel from \"../load_panel\";\r\nvar SCROLLVIEW_CLASS = \"dx-scrollview\";\r\nvar SCROLLVIEW_CONTENT_CLASS = SCROLLVIEW_CLASS + \"-content\";\r\nvar SCROLLVIEW_TOP_POCKET_CLASS = SCROLLVIEW_CLASS + \"-top-pocket\";\r\nvar SCROLLVIEW_BOTTOM_POCKET_CLASS = SCROLLVIEW_CLASS + \"-bottom-pocket\";\r\nvar SCROLLVIEW_PULLDOWN_CLASS = SCROLLVIEW_CLASS + \"-pull-down\";\r\nvar SCROLLVIEW_REACHBOTTOM_CLASS = SCROLLVIEW_CLASS + \"-scrollbottom\";\r\nvar SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS = SCROLLVIEW_REACHBOTTOM_CLASS + \"-indicator\";\r\nvar SCROLLVIEW_REACHBOTTOM_TEXT_CLASS = SCROLLVIEW_REACHBOTTOM_CLASS + \"-text\";\r\nvar SCROLLVIEW_LOADPANEL = SCROLLVIEW_CLASS + \"-loadpanel\";\r\nvar refreshStrategies = {\r\n pullDown: PullDownStrategy,\r\n swipeDown: SwipeDownStrategy,\r\n simulated: SimulatedStrategy\r\n};\r\nvar isServerSide = !hasWindow();\r\nvar scrollViewServerConfig = {\r\n finishLoading: noop,\r\n release: noop,\r\n refresh: noop,\r\n scrollOffset: () => ({\r\n top: 0,\r\n left: 0\r\n }),\r\n _optionChanged: function(args) {\r\n if (\"onUpdated\" !== args.name) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n};\r\nvar ScrollView = Scrollable.inherit(isServerSide ? scrollViewServerConfig : {\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n pullingDownText: messageLocalization.format(\"dxScrollView-pullingDownText\"),\r\n pulledDownText: messageLocalization.format(\"dxScrollView-pulledDownText\"),\r\n refreshingText: messageLocalization.format(\"dxScrollView-refreshingText\"),\r\n reachBottomText: messageLocalization.format(\"dxScrollView-reachBottomText\"),\r\n onPullDown: null,\r\n onReachBottom: null,\r\n refreshStrategy: \"pullDown\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n var realDevice = devices.real();\r\n return \"android\" === realDevice.platform\r\n },\r\n options: {\r\n refreshStrategy: \"swipeDown\"\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n pullingDownText: \"\",\r\n pulledDownText: \"\",\r\n refreshingText: \"\",\r\n reachBottomText: \"\"\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._loadingIndicatorEnabled = true\r\n },\r\n _initScrollableMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(SCROLLVIEW_CLASS);\r\n this._initContent();\r\n this._initTopPocket();\r\n this._initBottomPocket();\r\n this._initLoadPanel()\r\n },\r\n _initContent: function() {\r\n var $content = $(\"
\").addClass(SCROLLVIEW_CONTENT_CLASS);\r\n this._$content.wrapInner($content)\r\n },\r\n _initTopPocket: function() {\r\n var $topPocket = this._$topPocket = $(\"
\").addClass(SCROLLVIEW_TOP_POCKET_CLASS);\r\n var $pullDown = this._$pullDown = $(\"
\").addClass(SCROLLVIEW_PULLDOWN_CLASS);\r\n $topPocket.append($pullDown);\r\n this._$content.prepend($topPocket)\r\n },\r\n _initBottomPocket: function() {\r\n var $bottomPocket = this._$bottomPocket = $(\"
\").addClass(SCROLLVIEW_BOTTOM_POCKET_CLASS);\r\n var $reachBottom = this._$reachBottom = $(\"
\").addClass(SCROLLVIEW_REACHBOTTOM_CLASS);\r\n var $loadContainer = $(\"
\").addClass(SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"
\")).$element();\r\n var $text = this._$reachBottomText = $(\"
\").addClass(SCROLLVIEW_REACHBOTTOM_TEXT_CLASS);\r\n this._updateReachBottomText();\r\n $reachBottom.append($loadContainer.append($loadIndicator)).append($text);\r\n $bottomPocket.append($reachBottom);\r\n this._$content.append($bottomPocket)\r\n },\r\n _initLoadPanel: function() {\r\n var $loadPanelElement = $(\"
\").addClass(SCROLLVIEW_LOADPANEL).appendTo(this.$element());\r\n var loadPanelOptions = {\r\n shading: false,\r\n delay: 400,\r\n message: this.option(\"refreshingText\"),\r\n position: {\r\n of: this.$element()\r\n }\r\n };\r\n this._loadPanel = this._createComponent($loadPanelElement, LoadPanel, loadPanelOptions)\r\n },\r\n _updateReachBottomText: function() {\r\n this._$reachBottomText.text(this.option(\"reachBottomText\"))\r\n },\r\n _createStrategy: function() {\r\n var strategyName = this.option(\"useNative\") ? this.option(\"refreshStrategy\") : \"simulated\";\r\n var strategyClass = refreshStrategies[strategyName];\r\n this._strategy = new strategyClass(this);\r\n this._strategy.pullDownCallbacks.add(this._pullDownHandler.bind(this));\r\n this._strategy.releaseCallbacks.add(this._releaseHandler.bind(this));\r\n this._strategy.reachBottomCallbacks.add(this._reachBottomHandler.bind(this))\r\n },\r\n _createActions: function() {\r\n this.callBase();\r\n this._pullDownAction = this._createActionByOption(\"onPullDown\");\r\n this._reachBottomAction = this._createActionByOption(\"onReachBottom\");\r\n this._tryRefreshPocketState()\r\n },\r\n _tryRefreshPocketState: function() {\r\n this._pullDownEnable(this.hasActionSubscription(\"onPullDown\"));\r\n this._reachBottomEnable(this.hasActionSubscription(\"onReachBottom\"))\r\n },\r\n on: function(eventName) {\r\n var result = this.callBase.apply(this, arguments);\r\n if (\"pullDown\" === eventName || \"reachBottom\" === eventName) {\r\n this._tryRefreshPocketState()\r\n }\r\n return result\r\n },\r\n _pullDownEnable: function(enabled) {\r\n if (0 === arguments.length) {\r\n return this._pullDownEnabled\r\n }\r\n if (this._$pullDown && this._strategy) {\r\n this._$pullDown.toggle(enabled);\r\n this._strategy.pullDownEnable(enabled);\r\n this._pullDownEnabled = enabled\r\n }\r\n },\r\n _reachBottomEnable: function(enabled) {\r\n if (0 === arguments.length) {\r\n return this._reachBottomEnabled\r\n }\r\n if (this._$reachBottom && this._strategy) {\r\n this._$reachBottom.toggle(enabled);\r\n this._strategy.reachBottomEnable(enabled);\r\n this._reachBottomEnabled = enabled\r\n }\r\n },\r\n _pullDownHandler: function() {\r\n this._loadingIndicator(false);\r\n this._pullDownLoading()\r\n },\r\n _loadingIndicator: function(value) {\r\n if (arguments.length < 1) {\r\n return this._loadingIndicatorEnabled\r\n }\r\n this._loadingIndicatorEnabled = value\r\n },\r\n _pullDownLoading: function() {\r\n this.startLoading();\r\n this._pullDownAction()\r\n },\r\n _reachBottomHandler: function() {\r\n this._loadingIndicator(false);\r\n this._reachBottomLoading()\r\n },\r\n _reachBottomLoading: function() {\r\n this.startLoading();\r\n this._reachBottomAction()\r\n },\r\n _releaseHandler: function() {\r\n this.finishLoading();\r\n this._loadingIndicator(true)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onPullDown\":\r\n case \"onReachBottom\":\r\n this._createActions();\r\n break;\r\n case \"pullingDownText\":\r\n case \"pulledDownText\":\r\n case \"refreshingText\":\r\n case \"refreshStrategy\":\r\n this._invalidate();\r\n break;\r\n case \"reachBottomText\":\r\n this._updateReachBottomText();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content.children().eq(1))\r\n },\r\n release: function(preventReachBottom) {\r\n if (void 0 !== preventReachBottom) {\r\n this.toggleLoading(!preventReachBottom)\r\n }\r\n return this._strategy.release()\r\n },\r\n toggleLoading: function(showOrHide) {\r\n this._reachBottomEnable(showOrHide)\r\n },\r\n refresh: function() {\r\n if (!this.hasActionSubscription(\"onPullDown\")) {\r\n return\r\n }\r\n this._strategy.pendingRelease();\r\n this._pullDownLoading()\r\n },\r\n startLoading: function() {\r\n if (this._loadingIndicator() && this.$element().is(\":visible\")) {\r\n this._loadPanel.show()\r\n }\r\n this._lock()\r\n },\r\n finishLoading: function() {\r\n this._loadPanel.hide();\r\n this._unlock()\r\n },\r\n _dispose: function() {\r\n this._strategy.dispose();\r\n this.callBase();\r\n if (this._loadPanel) {\r\n this._loadPanel.$element().remove()\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxScrollView\", ScrollView);\r\nexport default ScrollView;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ScrollView from \"./scroll_view/ui.scroll_view\";\r\nexport default ScrollView;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.live_update.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport CollectionWidget from \"./ui.collection_widget.edit\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n update,\r\n insert,\r\n indexByKey\r\n} from \"../../data/array_utils\";\r\nimport {\r\n keysEqual\r\n} from \"../../data/utils\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n findChanges\r\n} from \"../../core/utils/array_compare\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar PRIVATE_KEY_FIELD = \"__dx_key__\";\r\nexport default CollectionWidget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n repaintChangesOnly: false\r\n })\r\n },\r\n ctor: function() {\r\n var _this$_dataController;\r\n this.callBase.apply(this, arguments);\r\n this._customizeStoreLoadOptions = e => {\r\n var dataController = this._dataController;\r\n if (dataController.getDataSource() && !this._dataController.isLoaded()) {\r\n this._correctionIndex = 0\r\n }\r\n if (this._correctionIndex && e.storeLoadOptions) {\r\n e.storeLoadOptions.skip += this._correctionIndex\r\n }\r\n }, null === (_this$_dataController = this._dataController) || void 0 === _this$_dataController ? void 0 : _this$_dataController.on(\"customizeStoreLoadOptions\", this._customizeStoreLoadOptions)\r\n },\r\n reload: function() {\r\n this._correctionIndex = 0\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._refreshItemsCache();\r\n this._correctionIndex = 0\r\n },\r\n _findItemElementByKey: function(key) {\r\n var result = $();\r\n var keyExpr = this.key();\r\n this.itemElements().each((_, item) => {\r\n var $item = $(item);\r\n var itemData = this._getItemData($item);\r\n if (keyExpr ? keysEqual(keyExpr, this.keyOf(itemData), key) : this._isItemEquals(itemData, key)) {\r\n result = $item;\r\n return false\r\n }\r\n });\r\n return result\r\n },\r\n _dataSourceChangedHandler: function(newItems, e) {\r\n if (null !== e && void 0 !== e && e.changes) {\r\n this._modifyByChanges(e.changes)\r\n } else {\r\n this.callBase(newItems, e);\r\n this._refreshItemsCache()\r\n }\r\n },\r\n _isItemEquals: function(item1, item2) {\r\n if (item1 && item1[PRIVATE_KEY_FIELD]) {\r\n item1 = item1.data\r\n }\r\n try {\r\n return JSON.stringify(item1) === JSON.stringify(item2)\r\n } catch (e) {\r\n return item1 === item2\r\n }\r\n },\r\n _isItemStrictEquals: function(item1, item2) {\r\n return this._isItemEquals(item1, item2)\r\n },\r\n _shouldAddNewGroup: function(changes, items) {\r\n var result = false;\r\n if (this.option(\"grouped\")) {\r\n if (!changes.length) {\r\n result = true\r\n }\r\n each(changes, (i, change) => {\r\n if (\"insert\" === change.type) {\r\n result = true;\r\n each(items, (_, item) => {\r\n if (void 0 !== change.data.key && change.data.key === item.key) {\r\n result = false;\r\n return false\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return result\r\n },\r\n _partialRefresh: function() {\r\n if (this.option(\"repaintChangesOnly\")) {\r\n var result = findChanges(this._itemsCache, this._editStrategy.itemsGetter(), data => {\r\n if (data && void 0 !== data[PRIVATE_KEY_FIELD]) {\r\n return data[PRIVATE_KEY_FIELD]\r\n }\r\n return this.keyOf(data)\r\n }, this._isItemStrictEquals.bind(this));\r\n if (result && this._itemsCache.length && !this._shouldAddNewGroup(result, this._itemsCache)) {\r\n this._modifyByChanges(result, true);\r\n this._renderEmptyMessage();\r\n return true\r\n } else {\r\n this._refreshItemsCache()\r\n }\r\n }\r\n return false\r\n },\r\n _refreshItemsCache: function() {\r\n if (this.option(\"repaintChangesOnly\")) {\r\n var items = this._editStrategy.itemsGetter();\r\n try {\r\n this._itemsCache = extend(true, [], items);\r\n if (!this.key()) {\r\n this._itemsCache = this._itemsCache.map((itemCache, index) => ({\r\n [PRIVATE_KEY_FIELD]: items[index],\r\n data: itemCache\r\n }))\r\n }\r\n } catch (e) {\r\n this._itemsCache = extend([], items)\r\n }\r\n }\r\n },\r\n _dispose: function() {\r\n this._dataController.off(\"customizeStoreLoadOptions\", this._customizeStoreLoadOptions);\r\n this.callBase()\r\n },\r\n _updateByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n if (isPartialRefresh) {\r\n this._renderItem(change.index, change.data, null, this._findItemElementByKey(change.key))\r\n } else {\r\n var changedItem = items[indexByKey(keyInfo, items, change.key)];\r\n if (changedItem) {\r\n update(keyInfo, items, change.key, change.data).done(() => {\r\n this._renderItem(items.indexOf(changedItem), changedItem, null, this._findItemElementByKey(change.key))\r\n })\r\n }\r\n }\r\n },\r\n _insertByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n when(isPartialRefresh || insert(keyInfo, items, change.data, change.index)).done(() => {\r\n var _change$index;\r\n this._beforeItemElementInserted(change);\r\n var $itemContainer = this._getItemContainer(change.data);\r\n this._renderItem(null !== (_change$index = change.index) && void 0 !== _change$index ? _change$index : items.length, change.data, $itemContainer);\r\n this._afterItemElementInserted();\r\n this._correctionIndex++\r\n })\r\n },\r\n _getItemContainer: function(changeData) {\r\n return this._itemContainer()\r\n },\r\n _updateSelectionAfterRemoveByChange: function(removeIndex) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n if (selectedIndex > removeIndex) {\r\n this.option(\"selectedIndex\", selectedIndex - 1)\r\n } else if (selectedIndex === removeIndex && 1 === this.option(\"selectedItems\").length) {\r\n this.option(\"selectedItems\", [])\r\n } else {\r\n this._normalizeSelectedItems()\r\n }\r\n },\r\n _beforeItemElementInserted: function(change) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n if (change.index <= selectedIndex) {\r\n this.option(\"selectedIndex\", selectedIndex + 1)\r\n }\r\n },\r\n _afterItemElementInserted: noop,\r\n _removeByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n var index = isPartialRefresh ? change.index : indexByKey(keyInfo, items, change.key);\r\n var removedItem = isPartialRefresh ? change.oldItem : items[index];\r\n if (removedItem) {\r\n var $removedItemElement = this._findItemElementByKey(change.key);\r\n var deletedActionArgs = this._extendActionArgs($removedItemElement);\r\n this._waitDeletingPrepare($removedItemElement).done(() => {\r\n if (isPartialRefresh) {\r\n this._updateIndicesAfterIndex(index - 1);\r\n this._afterItemElementDeleted($removedItemElement, deletedActionArgs);\r\n this._updateSelectionAfterRemoveByChange(index)\r\n } else {\r\n this._deleteItemElementByIndex(index);\r\n this._afterItemElementDeleted($removedItemElement, deletedActionArgs)\r\n }\r\n });\r\n this._correctionIndex--\r\n }\r\n },\r\n _modifyByChanges: function(changes, isPartialRefresh) {\r\n var items = this._editStrategy.itemsGetter();\r\n var keyInfo = {\r\n key: this.key.bind(this),\r\n keyOf: this.keyOf.bind(this)\r\n };\r\n var dataController = this._dataController;\r\n var paginate = dataController.paginate();\r\n var group = dataController.group();\r\n if (paginate || group) {\r\n changes = changes.filter(item => \"insert\" !== item.type || void 0 !== item.index)\r\n }\r\n changes.forEach(change => this[\"_\".concat(change.type, \"ByChange\")](keyInfo, items, change, isPartialRefresh));\r\n this._renderedItemsCount = items.length;\r\n this._refreshItemsCache();\r\n this._fireContentReadyAction()\r\n },\r\n _appendItemToContainer: function($container, $itemFrame, index) {\r\n var nextSiblingElement = $container.children(this._itemSelector()).get(index);\r\n domAdapter.insertElement($container.get(0), $itemFrame.get(0), nextSiblingElement)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"items\":\r\n var isItemsUpdated = this._partialRefresh(args.value);\r\n if (!isItemsUpdated) {\r\n this.callBase(args)\r\n }\r\n break;\r\n case \"dataSource\":\r\n if (!this.option(\"repaintChangesOnly\") || !args.value) {\r\n this.option(\"items\", [])\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"repaintChangesOnly\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_element_style.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n titleize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport {\r\n toNumber\r\n} from \"../../../utils/type_conversion\";\r\nexport function getElementStyle(el) {\r\n var _getWindow$getCompute, _getWindow;\r\n return el && hasWindow() ? null === (_getWindow$getCompute = (_getWindow = getWindow()).getComputedStyle) || void 0 === _getWindow$getCompute ? void 0 : _getWindow$getCompute.call(_getWindow, el) : null\r\n}\r\nexport function getElementMargin(element, side) {\r\n var style = getElementStyle(element);\r\n return style ? toNumber(style[\"margin\".concat(titleize(side))]) : 0\r\n}\r\nexport function getElementPadding(element, side) {\r\n var style = getElementStyle(element);\r\n return style ? toNumber(style[\"padding\".concat(titleize(side))]) : 0\r\n}\r\nexport function getElementOverflowX(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.overflowX : \"visible\"\r\n}\r\nexport function getElementOverflowY(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.overflowY : \"visible\"\r\n}\r\nexport function getElementTransform(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.transform : \"\"\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/utils/type_conversion.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function toNumber(attribute) {\r\n return attribute ? Number(attribute.replace(\"px\", \"\")) : 0\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.base.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n setHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n end as swipeEventEnd\r\n} from \"../../events/swipe\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../core/utils/support\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n render\r\n} from \"../widget/utils.ink_ripple\";\r\nimport devices from \"../../core/devices\";\r\nimport ListItem from \"./item\";\r\nimport Button from \"../button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n current,\r\n isMaterial\r\n} from \"../themes\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport ScrollView from \"../scroll_view\";\r\nimport {\r\n deviceDependentOptions\r\n} from \"../scroll_view/ui.scrollable.device\";\r\nimport CollectionWidget from \"../collection/ui.collection_widget.live_update\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport DataConverterMixin from \"../shared/grouped_data_converter_mixin\";\r\nimport {\r\n getElementMargin\r\n} from \"../../renovation/ui/scroll_view/utils/get_element_style\";\r\nvar LIST_CLASS = \"dx-list\";\r\nvar LIST_ITEM_CLASS = \"dx-list-item\";\r\nvar LIST_ITEM_SELECTOR = \".\" + LIST_ITEM_CLASS;\r\nvar LIST_ITEM_ICON_CONTAINER_CLASS = \"dx-list-item-icon-container\";\r\nvar LIST_ITEM_ICON_CLASS = \"dx-list-item-icon\";\r\nvar LIST_GROUP_CLASS = \"dx-list-group\";\r\nvar LIST_GROUP_HEADER_CLASS = \"dx-list-group-header\";\r\nvar LIST_GROUP_BODY_CLASS = \"dx-list-group-body\";\r\nvar LIST_COLLAPSIBLE_GROUPS_CLASS = \"dx-list-collapsible-groups\";\r\nvar LIST_GROUP_COLLAPSED_CLASS = \"dx-list-group-collapsed\";\r\nvar LIST_GROUP_HEADER_INDICATOR_CLASS = \"dx-list-group-header-indicator\";\r\nvar LIST_HAS_NEXT_CLASS = \"dx-has-next\";\r\nvar LIST_NEXT_BUTTON_CLASS = \"dx-list-next-button\";\r\nvar WRAP_ITEM_TEXT_CLASS = \"dx-wrap-item-text\";\r\nvar SELECT_ALL_ITEM_SELECTOR = \".dx-list-select-all\";\r\nvar LIST_ITEM_DATA_KEY = \"dxListItemData\";\r\nvar LIST_FEEDBACK_SHOW_TIMEOUT = 70;\r\nvar groupItemsGetter = compileGetter(\"items\");\r\nvar _scrollView;\r\nexport var ListBase = CollectionWidget.inherit({\r\n _activeStateUnit: [LIST_ITEM_SELECTOR, SELECT_ALL_ITEM_SELECTOR].join(\",\"),\r\n _supportedKeys: function() {\r\n var that = this;\r\n var moveFocusPerPage = function(direction) {\r\n var $item = getEdgeVisibleItem(direction);\r\n var isFocusedItem = $item.is(that.option(\"focusedElement\"));\r\n if (isFocusedItem) {\r\n ! function($item, direction) {\r\n var resultPosition = $item.position().top;\r\n if (\"prev\" === direction) {\r\n resultPosition = $item.position().top - getHeight(that.$element()) + getOuterHeight($item)\r\n }\r\n that.scrollTo(resultPosition)\r\n }($item, direction);\r\n $item = getEdgeVisibleItem(direction)\r\n }\r\n that.option(\"focusedElement\", getPublicElement($item));\r\n that.scrollToItem($item)\r\n };\r\n\r\n function getEdgeVisibleItem(direction) {\r\n var scrollTop = that.scrollTop();\r\n var containerHeight = getHeight(that.$element());\r\n var $item = $(that.option(\"focusedElement\"));\r\n var isItemVisible = true;\r\n if (!$item.length) {\r\n return $()\r\n }\r\n while (isItemVisible) {\r\n var $nextItem = $item[direction]();\r\n if (!$nextItem.length) {\r\n break\r\n }\r\n var nextItemLocation = $nextItem.position().top + getOuterHeight($nextItem) / 2;\r\n isItemVisible = nextItemLocation < containerHeight + scrollTop && nextItemLocation > scrollTop;\r\n if (isItemVisible) {\r\n $item = $nextItem\r\n }\r\n }\r\n return $item\r\n }\r\n return extend(this.callBase(), {\r\n leftArrow: noop,\r\n rightArrow: noop,\r\n pageUp: function() {\r\n moveFocusPerPage(\"prev\");\r\n return false\r\n },\r\n pageDown: function() {\r\n moveFocusPerPage(\"next\");\r\n return false\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n pullRefreshEnabled: false,\r\n scrollingEnabled: true,\r\n showScrollbar: \"onScroll\",\r\n useNativeScrolling: true,\r\n bounceEnabled: true,\r\n scrollByContent: true,\r\n scrollByThumb: false,\r\n pullingDownText: messageLocalization.format(\"dxList-pullingDownText\"),\r\n pulledDownText: messageLocalization.format(\"dxList-pulledDownText\"),\r\n refreshingText: messageLocalization.format(\"dxList-refreshingText\"),\r\n pageLoadingText: messageLocalization.format(\"dxList-pageLoadingText\"),\r\n onScroll: null,\r\n onPullRefresh: null,\r\n onPageLoading: null,\r\n pageLoadMode: \"scrollBottom\",\r\n nextButtonText: messageLocalization.format(\"dxList-nextButtonText\"),\r\n onItemSwipe: null,\r\n grouped: false,\r\n onGroupRendered: null,\r\n collapsibleGroups: false,\r\n groupTemplate: \"group\",\r\n indicateLoading: true,\r\n activeStateEnabled: true,\r\n _itemAttributes: {\r\n role: \"option\"\r\n },\r\n _listAttributes: {\r\n role: \"listbox\"\r\n },\r\n useInkRipple: false,\r\n wrapItemText: false,\r\n _swipeEnabled: true,\r\n showChevronExpr: function(data) {\r\n return data ? data.showChevron : void 0\r\n },\r\n badgeExpr: function(data) {\r\n return data ? data.badge : void 0\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = current();\r\n return this.callBase().concat(deviceDependentOptions(), [{\r\n device: function() {\r\n return !nativeScrolling\r\n },\r\n options: {\r\n useNativeScrolling: false\r\n }\r\n }, {\r\n device: function(_device) {\r\n return !nativeScrolling && !devices.isSimulator() && \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n showScrollbar: \"onHover\",\r\n pageLoadMode: \"nextButton\"\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n pullingDownText: \"\",\r\n pulledDownText: \"\",\r\n refreshingText: \"\",\r\n pageLoadingText: \"\",\r\n useInkRipple: true\r\n }\r\n }])\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._updateLoadingState(true)\r\n }\r\n },\r\n _itemClass: function() {\r\n return LIST_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return LIST_ITEM_DATA_KEY\r\n },\r\n _itemContainer: function() {\r\n return this._$container\r\n },\r\n _saveSelectionChangeEvent: function(e) {\r\n this._selectionChangeEventInstance = e\r\n },\r\n _getSelectionChangeEvent: function() {\r\n return this._selectionChangeEventInstance\r\n },\r\n _refreshItemElements: function() {\r\n if (!this.option(\"grouped\")) {\r\n this._itemElementsCache = this._itemContainer().children(this._itemSelector())\r\n } else {\r\n this._itemElementsCache = this._itemContainer().children(\".\" + LIST_GROUP_CLASS).children(\".\" + LIST_GROUP_BODY_CLASS).children(this._itemSelector())\r\n }\r\n },\r\n _modifyByChanges: function() {\r\n this.callBase.apply(this, arguments);\r\n this._refreshItemElements();\r\n this._updateLoadingState(true)\r\n },\r\n reorderItem: function(itemElement, toItemElement) {\r\n var promise = this.callBase(itemElement, toItemElement);\r\n return promise.done((function() {\r\n this._refreshItemElements()\r\n }))\r\n },\r\n deleteItem: function(itemElement) {\r\n var promise = this.callBase(itemElement);\r\n return promise.done((function() {\r\n this._refreshItemElements()\r\n }))\r\n },\r\n _itemElements: function() {\r\n return this._itemElementsCache\r\n },\r\n _itemSelectHandler: function(e) {\r\n if (\"single\" === this.option(\"selectionMode\") && this.isItemSelected(e.currentTarget)) {\r\n return\r\n }\r\n return this.callBase(e)\r\n },\r\n _allowDynamicItemsAppend: function() {\r\n return true\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._dataController.resetDataSourcePageIndex();\r\n this._$container = this.$element();\r\n this._initScrollView();\r\n this._feedbackShowTimeout = LIST_FEEDBACK_SHOW_TIMEOUT;\r\n this._createGroupRenderAction()\r\n },\r\n _scrollBottomMode: function() {\r\n return \"scrollBottom\" === this.option(\"pageLoadMode\")\r\n },\r\n _nextButtonMode: function() {\r\n return \"nextButton\" === this.option(\"pageLoadMode\")\r\n },\r\n _dataSourceOptions: function() {\r\n var scrollBottom = this._scrollBottomMode();\r\n var nextButton = this._nextButtonMode();\r\n return extend(this.callBase(), {\r\n paginate: ensureDefined(scrollBottom || nextButton, true)\r\n })\r\n },\r\n _getGroupedOption: function() {\r\n return this.option(\"grouped\")\r\n },\r\n _getGroupContainerByIndex: function(groupIndex) {\r\n return this._itemContainer().find(\".\".concat(LIST_GROUP_CLASS)).eq(groupIndex).find(\".\".concat(LIST_GROUP_BODY_CLASS))\r\n },\r\n _dataSourceFromUrlLoadMode: function() {\r\n return \"raw\"\r\n },\r\n _initScrollView: function() {\r\n var scrollingEnabled = this.option(\"scrollingEnabled\");\r\n var pullRefreshEnabled = scrollingEnabled && this.option(\"pullRefreshEnabled\");\r\n var autoPagingEnabled = scrollingEnabled && this._scrollBottomMode() && !!this._dataController.getDataSource();\r\n this._scrollView = this._createComponent(this.$element(), getScrollView(), {\r\n height: this.option(\"height\"),\r\n width: this.option(\"width\"),\r\n disabled: this.option(\"disabled\") || !scrollingEnabled,\r\n onScroll: this._scrollHandler.bind(this),\r\n onPullDown: pullRefreshEnabled ? this._pullDownHandler.bind(this) : null,\r\n onReachBottom: autoPagingEnabled ? this._scrollBottomHandler.bind(this) : null,\r\n showScrollbar: this.option(\"showScrollbar\"),\r\n useNative: this.option(\"useNativeScrolling\"),\r\n bounceEnabled: this.option(\"bounceEnabled\"),\r\n scrollByContent: this.option(\"scrollByContent\"),\r\n scrollByThumb: this.option(\"scrollByThumb\"),\r\n pullingDownText: this.option(\"pullingDownText\"),\r\n pulledDownText: this.option(\"pulledDownText\"),\r\n refreshingText: this.option(\"refreshingText\"),\r\n reachBottomText: this.option(\"pageLoadingText\"),\r\n useKeyboard: false\r\n });\r\n this._$container = $(this._scrollView.content());\r\n if (this.option(\"wrapItemText\")) {\r\n this._$container.addClass(WRAP_ITEM_TEXT_CLASS)\r\n }\r\n this._createScrollViewActions()\r\n },\r\n _createScrollViewActions: function() {\r\n this._scrollAction = this._createActionByOption(\"onScroll\");\r\n this._pullRefreshAction = this._createActionByOption(\"onPullRefresh\");\r\n this._pageLoadingAction = this._createActionByOption(\"onPageLoading\")\r\n },\r\n _scrollHandler: function(e) {\r\n this._scrollAction && this._scrollAction(e)\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n group: new BindableTemplate((function($container, data) {\r\n if (isPlainObject(data)) {\r\n if (data.key) {\r\n $container.text(data.key)\r\n }\r\n } else {\r\n $container.text(String(data))\r\n }\r\n }), [\"key\"], this.option(\"integrationOptions.watchMethod\"))\r\n });\r\n this.callBase()\r\n },\r\n _prepareDefaultItemTemplate: function(data, $container) {\r\n this.callBase(data, $container);\r\n if (data.icon) {\r\n var $icon = getImageContainer(data.icon).addClass(LIST_ITEM_ICON_CLASS);\r\n var $iconContainer = $(\"
\").addClass(LIST_ITEM_ICON_CONTAINER_CLASS);\r\n $iconContainer.append($icon);\r\n $container.prepend($iconContainer)\r\n }\r\n },\r\n _getBindableFields: function() {\r\n return [\"text\", \"html\", \"icon\"]\r\n },\r\n _updateLoadingState: function(tryLoadMore) {\r\n var dataController = this._dataController;\r\n var shouldLoadNextPage = this._scrollBottomMode() && tryLoadMore && !dataController.isLoading() && !this._isLastPage();\r\n if (this._shouldContinueLoading(shouldLoadNextPage)) {\r\n this._infiniteDataLoading()\r\n } else {\r\n this._scrollView.release(!shouldLoadNextPage && !dataController.isLoading());\r\n this._toggleNextButton(this._shouldRenderNextButton() && !this._isLastPage());\r\n this._loadIndicationSuppressed(false)\r\n }\r\n },\r\n _shouldRenderNextButton: function() {\r\n return this._nextButtonMode() && this._dataController.isLoaded()\r\n },\r\n _isDataSourceFirstLoadCompleted: function(newValue) {\r\n if (isDefined(newValue)) {\r\n this._isFirstLoadCompleted = newValue\r\n }\r\n return this._isFirstLoadCompleted\r\n },\r\n _dataSourceLoadingChangedHandler: function(isLoading) {\r\n if (this._loadIndicationSuppressed()) {\r\n return\r\n }\r\n if (isLoading && this.option(\"indicateLoading\")) {\r\n this._showLoadingIndicatorTimer = setTimeout(function() {\r\n var isEmpty = !this._itemElements().length;\r\n var shouldIndicateLoading = !isEmpty || this._isDataSourceFirstLoadCompleted();\r\n if (shouldIndicateLoading) {\r\n var _this$_scrollView;\r\n null === (_this$_scrollView = this._scrollView) || void 0 === _this$_scrollView ? void 0 : _this$_scrollView.startLoading()\r\n }\r\n }.bind(this))\r\n } else {\r\n clearTimeout(this._showLoadingIndicatorTimer);\r\n this._scrollView && this._scrollView.finishLoading()\r\n }\r\n if (!isLoading) {\r\n this._isDataSourceFirstLoadCompleted(false)\r\n }\r\n },\r\n _dataSourceChangedHandler: function() {\r\n if (!this._shouldAppendItems() && hasWindow()) {\r\n this._scrollView && this._scrollView.scrollTo(0)\r\n }\r\n this.callBase.apply(this, arguments);\r\n this._isDataSourceFirstLoadCompleted(true)\r\n },\r\n _refreshContent: function() {\r\n this._prepareContent();\r\n this._fireContentReadyAction()\r\n },\r\n _hideLoadingIfLoadIndicationOff: function() {\r\n if (!this.option(\"indicateLoading\")) {\r\n this._dataSourceLoadingChangedHandler(false)\r\n }\r\n },\r\n _loadIndicationSuppressed: function(value) {\r\n if (!arguments.length) {\r\n return this._isLoadIndicationSuppressed\r\n }\r\n this._isLoadIndicationSuppressed = value\r\n },\r\n _scrollViewIsFull: function() {\r\n var scrollView = this._scrollView;\r\n return !scrollView || getHeight(scrollView.content()) > getHeight(scrollView.container())\r\n },\r\n _pullDownHandler: function(e) {\r\n this._pullRefreshAction(e);\r\n var dataController = this._dataController;\r\n if (dataController.getDataSource() && !dataController.isLoading()) {\r\n this._clearSelectedItems();\r\n dataController.pageIndex(0);\r\n dataController.reload()\r\n } else {\r\n this._updateLoadingState()\r\n }\r\n },\r\n _shouldContinueLoading: function(shouldLoadNextPage) {\r\n var _this$_scrollView$scr, _this$_scrollView$scr2;\r\n var isBottomReached = getHeight(this._scrollView.content()) - getHeight(this._scrollView.container()) < (null !== (_this$_scrollView$scr = null === (_this$_scrollView$scr2 = this._scrollView.scrollOffset()) || void 0 === _this$_scrollView$scr2 ? void 0 : _this$_scrollView$scr2.top) && void 0 !== _this$_scrollView$scr ? _this$_scrollView$scr : 0);\r\n return shouldLoadNextPage && (!this._scrollViewIsFull() || isBottomReached)\r\n },\r\n _infiniteDataLoading: function() {\r\n var isElementVisible = this.$element().is(\":visible\");\r\n if (isElementVisible) {\r\n clearTimeout(this._loadNextPageTimer);\r\n this._loadNextPageTimer = setTimeout(() => {\r\n this._loadNextPage()\r\n })\r\n }\r\n },\r\n _scrollBottomHandler: function(e) {\r\n this._pageLoadingAction(e);\r\n var dataController = this._dataController;\r\n if (!dataController.isLoading() && !this._isLastPage()) {\r\n this._loadNextPage()\r\n } else {\r\n this._updateLoadingState()\r\n }\r\n },\r\n _renderItems: function(items) {\r\n if (this.option(\"grouped\")) {\r\n each(items, this._renderGroup.bind(this));\r\n this._attachGroupCollapseEvent();\r\n this._renderEmptyMessage();\r\n if (isMaterial()) {\r\n this.attachGroupHeaderInkRippleEvents()\r\n }\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n this._refreshItemElements();\r\n this._updateLoadingState(true)\r\n },\r\n _attachGroupCollapseEvent: function() {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var selector = \".\" + LIST_GROUP_HEADER_CLASS;\r\n var $element = this.$element();\r\n var collapsibleGroups = this.option(\"collapsibleGroups\");\r\n $element.toggleClass(LIST_COLLAPSIBLE_GROUPS_CLASS, collapsibleGroups);\r\n eventsEngine.off($element, eventName, selector);\r\n if (collapsibleGroups) {\r\n eventsEngine.on($element, eventName, selector, function(e) {\r\n this._createAction(function(e) {\r\n var $group = $(e.event.currentTarget).parent();\r\n this._collapseGroupHandler($group);\r\n if (this.option(\"focusStateEnabled\")) {\r\n this.option(\"focusedElement\", getPublicElement($group.find(\".\" + LIST_ITEM_CLASS).eq(0)))\r\n }\r\n }.bind(this), {\r\n validatingTargetName: \"element\"\r\n })({\r\n event: e\r\n })\r\n }.bind(this))\r\n }\r\n },\r\n _collapseGroupHandler: function($group, toggle) {\r\n var deferred = new Deferred;\r\n if ($group.hasClass(LIST_GROUP_COLLAPSED_CLASS) === toggle) {\r\n return deferred.resolve()\r\n }\r\n var $groupBody = $group.children(\".\" + LIST_GROUP_BODY_CLASS);\r\n var startHeight = getOuterHeight($groupBody);\r\n var endHeight = 0;\r\n if (0 === startHeight) {\r\n setHeight($groupBody, \"auto\");\r\n endHeight = getOuterHeight($groupBody)\r\n }\r\n $group.toggleClass(LIST_GROUP_COLLAPSED_CLASS, toggle);\r\n fx.animate($groupBody, {\r\n type: \"custom\",\r\n from: {\r\n height: startHeight\r\n },\r\n to: {\r\n height: endHeight\r\n },\r\n duration: 200,\r\n complete: function() {\r\n this.updateDimensions();\r\n this._updateLoadingState();\r\n deferred.resolve()\r\n }.bind(this)\r\n });\r\n return deferred.promise()\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._forgetNextPageLoading();\r\n if (this._initialized) {\r\n this._renderEmptyMessage();\r\n this._updateLoadingState()\r\n }\r\n },\r\n _initMarkup: function() {\r\n this._itemElementsCache = $();\r\n this.$element().addClass(LIST_CLASS);\r\n this.callBase();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this.setAria(\"role\", this.option(\"_listAttributes\").role)\r\n },\r\n _renderInkRipple: function() {\r\n this._inkRipple = render()\r\n },\r\n _toggleActiveState: function($element, value, e) {\r\n this.callBase.apply(this, arguments);\r\n var that = this;\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: $element,\r\n event: e\r\n };\r\n if (value) {\r\n if (isMaterial()) {\r\n this._inkRippleTimer = setTimeout((function() {\r\n that._inkRipple.showWave(config)\r\n }), LIST_FEEDBACK_SHOW_TIMEOUT / 2)\r\n } else {\r\n that._inkRipple.showWave(config)\r\n }\r\n } else {\r\n clearTimeout(this._inkRippleTimer);\r\n this._inkRipple.hideWave(config)\r\n }\r\n },\r\n _postprocessRenderItem: function(args) {\r\n this._refreshItemElements();\r\n this.callBase.apply(this, arguments);\r\n if (this.option(\"_swipeEnabled\")) {\r\n this._attachSwipeEvent($(args.itemElement))\r\n }\r\n },\r\n _attachSwipeEvent: function($itemElement) {\r\n var endEventName = addNamespace(swipeEventEnd, this.NAME);\r\n eventsEngine.on($itemElement, endEventName, this._itemSwipeEndHandler.bind(this))\r\n },\r\n _itemSwipeEndHandler: function(e) {\r\n this._itemDXEventHandler(e, \"onItemSwipe\", {\r\n direction: e.offset < 0 ? \"left\" : \"right\"\r\n })\r\n },\r\n _nextButtonHandler: function(e) {\r\n this._pageLoadingAction(e);\r\n var dataController = this._dataController;\r\n if (dataController.getDataSource() && !dataController.isLoading()) {\r\n this._scrollView.toggleLoading(true);\r\n this._$nextButton.detach();\r\n this._loadIndicationSuppressed(true);\r\n this._loadNextPage()\r\n }\r\n },\r\n _renderGroup: function(index, group) {\r\n var $groupElement = $(\"
\").addClass(LIST_GROUP_CLASS).appendTo(this._itemContainer());\r\n var $groupHeaderElement = $(\"
\").addClass(LIST_GROUP_HEADER_CLASS).appendTo($groupElement);\r\n var groupTemplateName = this.option(\"groupTemplate\");\r\n var groupTemplate = this._getTemplate(group.template || groupTemplateName, group, index, $groupHeaderElement);\r\n var renderArgs = {\r\n index: index,\r\n itemData: group,\r\n container: getPublicElement($groupHeaderElement)\r\n };\r\n this._createItemByTemplate(groupTemplate, renderArgs);\r\n if (isMaterial()) {\r\n $(\"
\").addClass(LIST_GROUP_HEADER_INDICATOR_CLASS).prependTo($groupHeaderElement)\r\n }\r\n this._renderingGroupIndex = index;\r\n var $groupBody = $(\"
\").addClass(LIST_GROUP_BODY_CLASS).appendTo($groupElement);\r\n each(groupItemsGetter(group) || [], function(itemIndex, item) {\r\n this._renderItem({\r\n group: index,\r\n item: itemIndex\r\n }, item, $groupBody)\r\n }.bind(this));\r\n this._groupRenderAction({\r\n groupElement: getPublicElement($groupElement),\r\n groupIndex: index,\r\n groupData: group\r\n })\r\n },\r\n downInkRippleHandler: function(e) {\r\n this._toggleActiveState($(e.currentTarget), true, e)\r\n },\r\n upInkRippleHandler: function(e) {\r\n this._toggleActiveState($(e.currentTarget), false)\r\n },\r\n attachGroupHeaderInkRippleEvents: function() {\r\n var selector = \".\" + LIST_GROUP_HEADER_CLASS;\r\n var $element = this.$element();\r\n this._downInkRippleHandler = this._downInkRippleHandler || this.downInkRippleHandler.bind(this);\r\n this._upInkRippleHandler = this._upInkRippleHandler || this.upInkRippleHandler.bind(this);\r\n var downArguments = [$element, \"dxpointerdown\", selector, this._downInkRippleHandler];\r\n var upArguments = [$element, \"dxpointerup dxpointerout\", selector, this._upInkRippleHandler];\r\n eventsEngine.off(...downArguments);\r\n eventsEngine.on(...downArguments);\r\n eventsEngine.off(...upArguments);\r\n eventsEngine.on(...upArguments)\r\n },\r\n _createGroupRenderAction: function() {\r\n this._groupRenderAction = this._createActionByOption(\"onGroupRendered\")\r\n },\r\n _clean: function() {\r\n clearTimeout(this._inkRippleTimer);\r\n if (this._$nextButton) {\r\n this._$nextButton.remove();\r\n this._$nextButton = null\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _dispose: function() {\r\n this._isDataSourceFirstLoadCompleted(false);\r\n clearTimeout(this._holdTimer);\r\n clearTimeout(this._loadNextPageTimer);\r\n clearTimeout(this._showLoadingIndicatorTimer);\r\n this.callBase()\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase(value);\r\n this._scrollView.option(\"disabled\", value || !this.option(\"scrollingEnabled\"))\r\n },\r\n _toggleNextButton: function(value) {\r\n var dataController = this._dataController;\r\n var $nextButton = this._getNextButton();\r\n this.$element().toggleClass(LIST_HAS_NEXT_CLASS, value);\r\n if (value && dataController.isLoaded()) {\r\n $nextButton.appendTo(this._itemContainer())\r\n }\r\n if (!value) {\r\n $nextButton.detach()\r\n }\r\n },\r\n _getNextButton: function() {\r\n if (!this._$nextButton) {\r\n this._$nextButton = this._createNextButton()\r\n }\r\n return this._$nextButton\r\n },\r\n _createNextButton: function() {\r\n var $result = $(\"
\").addClass(LIST_NEXT_BUTTON_CLASS);\r\n var $button = $(\"
\").appendTo($result);\r\n this._createComponent($button, Button, {\r\n text: this.option(\"nextButtonText\"),\r\n onClick: this._nextButtonHandler.bind(this),\r\n type: isMaterial() ? \"default\" : void 0,\r\n integrationOptions: {}\r\n });\r\n return $result\r\n },\r\n _moveFocus: function() {\r\n this.callBase.apply(this, arguments);\r\n this.scrollToItem(this.option(\"focusedElement\"))\r\n },\r\n _refresh: function() {\r\n if (!hasWindow()) {\r\n this.callBase()\r\n } else {\r\n var scrollTop = this._scrollView.scrollTop();\r\n this.callBase();\r\n scrollTop && this._scrollView.scrollTo(scrollTop)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"pageLoadMode\":\r\n this._toggleNextButton(args.value);\r\n this._initScrollView();\r\n break;\r\n case \"dataSource\":\r\n this.callBase(args);\r\n this._initScrollView();\r\n this._isDataSourceFirstLoadCompleted(false);\r\n break;\r\n case \"items\":\r\n this.callBase(args);\r\n this._isDataSourceFirstLoadCompleted(false);\r\n break;\r\n case \"pullingDownText\":\r\n case \"pulledDownText\":\r\n case \"refreshingText\":\r\n case \"pageLoadingText\":\r\n case \"showScrollbar\":\r\n case \"bounceEnabled\":\r\n case \"scrollByContent\":\r\n case \"scrollByThumb\":\r\n case \"useNativeScrolling\":\r\n case \"scrollingEnabled\":\r\n case \"pullRefreshEnabled\":\r\n this._initScrollView();\r\n this._updateLoadingState();\r\n break;\r\n case \"nextButtonText\":\r\n case \"onItemSwipe\":\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n case \"onScroll\":\r\n case \"onPullRefresh\":\r\n case \"onPageLoading\":\r\n this._createScrollViewActions();\r\n break;\r\n case \"grouped\":\r\n case \"collapsibleGroups\":\r\n case \"groupTemplate\":\r\n this._invalidate();\r\n break;\r\n case \"wrapItemText\":\r\n this._$container.toggleClass(WRAP_ITEM_TEXT_CLASS, args.value);\r\n break;\r\n case \"onGroupRendered\":\r\n this._createGroupRenderAction();\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n this._scrollView.option(args.name, args.value);\r\n this._scrollView.update();\r\n break;\r\n case \"indicateLoading\":\r\n this._hideLoadingIfLoadIndicationOff();\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n this._scrollView.update();\r\n break;\r\n case \"rtlEnabled\":\r\n this._initScrollView();\r\n this.callBase(args);\r\n break;\r\n case \"showChevronExpr\":\r\n case \"badgeExpr\":\r\n this._invalidate();\r\n break;\r\n case \"_swipeEnabled\":\r\n case \"_listAttributes\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _extendActionArgs: function($itemElement) {\r\n if (!this.option(\"grouped\")) {\r\n return this.callBase($itemElement)\r\n }\r\n var $group = $itemElement.closest(\".\" + LIST_GROUP_CLASS);\r\n var $item = $group.find(\".\" + LIST_ITEM_CLASS);\r\n return extend(this.callBase($itemElement), {\r\n itemIndex: {\r\n group: $group.index(),\r\n item: $item.index($itemElement)\r\n }\r\n })\r\n },\r\n expandGroup: function(groupIndex) {\r\n var deferred = new Deferred;\r\n var $group = this._itemContainer().find(\".\" + LIST_GROUP_CLASS).eq(groupIndex);\r\n this._collapseGroupHandler($group, false).done(function() {\r\n deferred.resolveWith(this)\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n collapseGroup: function(groupIndex) {\r\n var deferred = new Deferred;\r\n var $group = this._itemContainer().find(\".\" + LIST_GROUP_CLASS).eq(groupIndex);\r\n this._collapseGroupHandler($group, true).done(function() {\r\n deferred.resolveWith(this)\r\n }.bind(this));\r\n return deferred\r\n },\r\n updateDimensions: function() {\r\n var that = this;\r\n var deferred = new Deferred;\r\n if (that._scrollView) {\r\n that._scrollView.update().done((function() {\r\n !that._scrollViewIsFull() && that._updateLoadingState(true);\r\n deferred.resolveWith(that)\r\n }))\r\n } else {\r\n deferred.resolveWith(that)\r\n }\r\n return deferred.promise()\r\n },\r\n reload: function() {\r\n this.callBase();\r\n this.scrollTo(0);\r\n this._pullDownHandler()\r\n },\r\n repaint: function() {\r\n this.scrollTo(0);\r\n this.callBase()\r\n },\r\n scrollTop: function() {\r\n return this._scrollView.scrollOffset().top\r\n },\r\n clientHeight: function() {\r\n return this._scrollView.clientHeight()\r\n },\r\n scrollHeight: function() {\r\n return this._scrollView.scrollHeight()\r\n },\r\n scrollBy: function(distance) {\r\n this._scrollView.scrollBy(distance)\r\n },\r\n scrollTo: function(location) {\r\n this._scrollView.scrollTo(location)\r\n },\r\n scrollToItem: function(itemElement) {\r\n var $item = this._editStrategy.getItemElement(itemElement);\r\n var item = null === $item || void 0 === $item ? void 0 : $item.get(0);\r\n this._scrollView.scrollToElement(item, {\r\n bottom: getElementMargin(item, \"bottom\")\r\n })\r\n },\r\n _dimensionChanged: function() {\r\n this.updateDimensions()\r\n }\r\n}).include(DataConverterMixin);\r\nListBase.ItemClass = ListItem;\r\n\r\nfunction getScrollView() {\r\n return _scrollView || ScrollView\r\n}\r\nexport function setScrollView(value) {\r\n _scrollView = value\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n start as swipeEventStart,\r\n swipe as swipeEventSwipe,\r\n end as swipeEventEnd\r\n} from \"../../events/swipe\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar SWIPE_START_EVENT_NAME = addNamespace(swipeEventStart, LIST_EDIT_DECORATOR);\r\nvar SWIPE_UPDATE_EVENT_NAME = addNamespace(swipeEventSwipe, LIST_EDIT_DECORATOR);\r\nvar SWIPE_END_EVENT_NAME = addNamespace(swipeEventEnd, LIST_EDIT_DECORATOR);\r\nvar EditDecorator = Class.inherit({\r\n ctor: function(list) {\r\n this._list = list;\r\n this._init()\r\n },\r\n _init: noop,\r\n _shouldHandleSwipe: false,\r\n _attachSwipeEvent: function(config) {\r\n var swipeConfig = {\r\n itemSizeFunc: function() {\r\n if (this._clearSwipeCache) {\r\n this._itemWidthCache = getWidth(this._list.$element());\r\n this._clearSwipeCache = false\r\n }\r\n return this._itemWidthCache\r\n }.bind(this)\r\n };\r\n eventsEngine.on(config.$itemElement, SWIPE_START_EVENT_NAME, swipeConfig, this._itemSwipeStartHandler.bind(this));\r\n eventsEngine.on(config.$itemElement, SWIPE_UPDATE_EVENT_NAME, this._itemSwipeUpdateHandler.bind(this));\r\n eventsEngine.on(config.$itemElement, SWIPE_END_EVENT_NAME, this._itemSwipeEndHandler.bind(this))\r\n },\r\n _itemSwipeStartHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n e.cancel = true;\r\n return\r\n }\r\n clearTimeout(this._list._inkRippleTimer);\r\n this._swipeStartHandler($itemElement, e)\r\n },\r\n _itemSwipeUpdateHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n this._swipeUpdateHandler($itemElement, e)\r\n },\r\n _itemSwipeEndHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n this._swipeEndHandler($itemElement, e);\r\n this._clearSwipeCache = true\r\n },\r\n beforeBag: noop,\r\n afterBag: noop,\r\n _commonOptions: function() {\r\n return {\r\n activeStateEnabled: this._list.option(\"activeStateEnabled\"),\r\n hoverStateEnabled: this._list.option(\"hoverStateEnabled\"),\r\n focusStateEnabled: this._list.option(\"focusStateEnabled\")\r\n }\r\n },\r\n modifyElement: function(config) {\r\n if (this._shouldHandleSwipe) {\r\n this._attachSwipeEvent(config);\r\n this._clearSwipeCache = true\r\n }\r\n },\r\n afterRender: noop,\r\n handleClick: noop,\r\n handleKeyboardEvents: noop,\r\n handleEnterPressing: noop,\r\n handleContextMenu: noop,\r\n _swipeStartHandler: noop,\r\n _swipeUpdateHandler: noop,\r\n _swipeEndHandler: noop,\r\n visibilityChange: noop,\r\n getExcludedSelectors: noop,\r\n dispose: noop\r\n});\r\nexport default EditDecorator;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator_registry.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nexport var registry = {};\r\nexport function register(option, type, decoratorClass) {\r\n var decoratorsRegistry = registry;\r\n var decoratorConfig = {};\r\n decoratorConfig[option] = decoratorsRegistry[option] ? decoratorsRegistry[option] : {};\r\n decoratorConfig[option][type] = decoratorClass;\r\n extend(decoratorsRegistry, decoratorConfig)\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.strategy.grouped.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport storeHelper from \"../../data/store_helper\";\r\nimport query from \"../../data/query\";\r\nimport EditStrategy from \"../collection/ui.collection_widget.edit.strategy.plain\";\r\nvar LIST_ITEM_CLASS = \"dx-list-item\";\r\nvar LIST_GROUP_CLASS = \"dx-list-group\";\r\nvar SELECTION_SHIFT = 20;\r\nvar SELECTION_MASK = (1 << SELECTION_SHIFT) - 1;\r\nvar combineIndex = function(indices) {\r\n return (indices.group << SELECTION_SHIFT) + indices.item\r\n};\r\nvar splitIndex = function(combinedIndex) {\r\n return {\r\n group: combinedIndex >> SELECTION_SHIFT,\r\n item: combinedIndex & SELECTION_MASK\r\n }\r\n};\r\nvar GroupedEditStrategy = EditStrategy.inherit({\r\n _groupElements: function() {\r\n return this._collectionWidget._itemContainer().find(\".\" + LIST_GROUP_CLASS)\r\n },\r\n _groupItemElements: function($group) {\r\n return $group.find(\".\" + LIST_ITEM_CLASS)\r\n },\r\n getIndexByItemData: function(itemData) {\r\n var groups = this._collectionWidget.option(\"items\");\r\n var index = false;\r\n if (!itemData) {\r\n return false\r\n }\r\n if (itemData.items && itemData.items.length) {\r\n itemData = itemData.items[0]\r\n }\r\n each(groups, (function(groupIndex, group) {\r\n if (!group.items) {\r\n return false\r\n }\r\n each(group.items, (function(itemIndex, item) {\r\n if (item !== itemData) {\r\n return true\r\n }\r\n index = {\r\n group: groupIndex,\r\n item: itemIndex\r\n };\r\n return false\r\n }));\r\n if (index) {\r\n return false\r\n }\r\n }));\r\n return index\r\n },\r\n getItemDataByIndex: function(index) {\r\n var items = this._collectionWidget.option(\"items\");\r\n if (isNumeric(index)) {\r\n return this.itemsGetter()[index]\r\n }\r\n return index && items[index.group] && items[index.group].items[index.item] || null\r\n },\r\n itemsGetter: function() {\r\n var resultItems = [];\r\n var items = this._collectionWidget.option(\"items\");\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n resultItems = resultItems.concat(items[i].items)\r\n } else {\r\n resultItems.push(items[i])\r\n }\r\n }\r\n return resultItems\r\n },\r\n deleteItemAtIndex: function(index) {\r\n var indices = splitIndex(index);\r\n var itemGroup = this._collectionWidget.option(\"items\")[indices.group].items;\r\n itemGroup.splice(indices.item, 1)\r\n },\r\n getKeysByItems: function(items) {\r\n var plainItems = [];\r\n var i;\r\n for (i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n plainItems = plainItems.concat(items[i].items)\r\n } else {\r\n plainItems.push(items[i])\r\n }\r\n }\r\n var result = [];\r\n for (i = 0; i < plainItems.length; i++) {\r\n result.push(this._collectionWidget.keyOf(plainItems[i]))\r\n }\r\n return result\r\n },\r\n getIndexByKey: function(key, items) {\r\n var groups = items || this._collectionWidget.option(\"items\");\r\n var index = -1;\r\n var that = this;\r\n each(groups, (function(groupIndex, group) {\r\n if (!group.items) {\r\n return\r\n }\r\n each(group.items, (function(itemIndex, item) {\r\n var itemKey = that._collectionWidget.keyOf(item);\r\n if (that._equalKeys(itemKey, key)) {\r\n index = {\r\n group: groupIndex,\r\n item: itemIndex\r\n };\r\n return false\r\n }\r\n }));\r\n if (-1 !== index) {\r\n return false\r\n }\r\n }));\r\n return index\r\n },\r\n _getGroups: function(items) {\r\n var dataController = this._collectionWidget._dataController;\r\n var group = dataController.group();\r\n if (group) {\r\n return storeHelper.queryByOptions(query(items), {\r\n group: group\r\n }).toArray()\r\n }\r\n return this._collectionWidget.option(\"items\")\r\n },\r\n getItemsByKeys: function(keys, items) {\r\n var result = [];\r\n var groups = this._getGroups(items);\r\n var groupItemByKeyMap = {};\r\n var getItemMeta = key => {\r\n var index = this.getIndexByKey(key, groups);\r\n var group = index && groups[index.group];\r\n if (!group) {\r\n return\r\n }\r\n return {\r\n groupKey: group.key,\r\n item: group.items[index.item]\r\n }\r\n };\r\n each(keys, (function(_, key) {\r\n var itemMeta = getItemMeta(key);\r\n if (!itemMeta) {\r\n return\r\n }\r\n var groupKey = itemMeta.groupKey;\r\n var item = itemMeta.item;\r\n var selectedGroup = groupItemByKeyMap[groupKey];\r\n if (!selectedGroup) {\r\n selectedGroup = {\r\n key: groupKey,\r\n items: []\r\n };\r\n groupItemByKeyMap[groupKey] = selectedGroup;\r\n result.push(selectedGroup)\r\n }\r\n selectedGroup.items.push(item)\r\n }));\r\n return result\r\n },\r\n moveItemAtIndexToIndex: function(movingIndex, destinationIndex) {\r\n var items = this._collectionWidget.option(\"items\");\r\n var movingIndices = splitIndex(movingIndex);\r\n var destinationIndices = splitIndex(destinationIndex);\r\n var movingItemGroup = items[movingIndices.group].items;\r\n var destinationItemGroup = items[destinationIndices.group].items;\r\n var movedItemData = movingItemGroup[movingIndices.item];\r\n movingItemGroup.splice(movingIndices.item, 1);\r\n destinationItemGroup.splice(destinationIndices.item, 0, movedItemData)\r\n },\r\n _isItemIndex: function(index) {\r\n return index && isNumeric(index.group) && isNumeric(index.item)\r\n },\r\n _getNormalizedItemIndex: function(itemElement) {\r\n var $item = $(itemElement);\r\n var $group = $item.closest(\".\" + LIST_GROUP_CLASS);\r\n if (!$group.length) {\r\n return -1\r\n }\r\n return combineIndex({\r\n group: this._groupElements().index($group),\r\n item: this._groupItemElements($group).index($item)\r\n })\r\n },\r\n _normalizeItemIndex: function(index) {\r\n return combineIndex(index)\r\n },\r\n _denormalizeItemIndex: function(index) {\r\n return splitIndex(index)\r\n },\r\n _getItemByNormalizedIndex: function(index) {\r\n var indices = splitIndex(index);\r\n var $group = this._groupElements().eq(indices.group);\r\n return this._groupItemElements($group).eq(indices.item)\r\n },\r\n _itemsFromSameParent: function(firstIndex, secondIndex) {\r\n return splitIndex(firstIndex).group === splitIndex(secondIndex).group\r\n }\r\n});\r\nexport default GroupedEditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.provider.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n registry\r\n} from \"./ui.list.edit.decorator_registry\";\r\nvar editOptionsRegistry = [];\r\nvar registerOption = function(enabledFunc, decoratorTypeFunc, decoratorSubTypeFunc) {\r\n editOptionsRegistry.push({\r\n enabled: enabledFunc,\r\n decoratorType: decoratorTypeFunc,\r\n decoratorSubType: decoratorSubTypeFunc\r\n })\r\n};\r\nregisterOption((function() {\r\n return this.option(\"menuItems\").length\r\n}), (function() {\r\n return \"menu\"\r\n}), (function() {\r\n return this.option(\"menuMode\")\r\n}));\r\nregisterOption((function() {\r\n return !this.option(\"menuItems\").length && this.option(\"allowItemDeleting\")\r\n}), (function() {\r\n var mode = this.option(\"itemDeleteMode\");\r\n return \"toggle\" === mode || \"slideButton\" === mode || \"swipe\" === mode || \"static\" === mode ? \"delete\" : \"menu\"\r\n}), (function() {\r\n var mode = this.option(\"itemDeleteMode\");\r\n if (\"slideItem\" === mode) {\r\n mode = \"slide\"\r\n }\r\n return mode\r\n}));\r\nregisterOption((function() {\r\n return \"none\" !== this.option(\"selectionMode\") && this.option(\"showSelectionControls\")\r\n}), (function() {\r\n return \"selection\"\r\n}), (function() {\r\n return \"default\"\r\n}));\r\nregisterOption((function() {\r\n return this.option(\"itemDragging.allowReordering\") || this.option(\"itemDragging.allowDropInsideItem\") || this.option(\"itemDragging.group\")\r\n}), (function() {\r\n return \"reorder\"\r\n}), (function() {\r\n return \"default\"\r\n}));\r\nvar LIST_ITEM_BEFORE_BAG_CLASS = \"dx-list-item-before-bag\";\r\nvar LIST_ITEM_AFTER_BAG_CLASS = \"dx-list-item-after-bag\";\r\nvar DECORATOR_BEFORE_BAG_CREATE_METHOD = \"beforeBag\";\r\nvar DECORATOR_AFTER_BAG_CREATE_METHOD = \"afterBag\";\r\nvar DECORATOR_MODIFY_ELEMENT_METHOD = \"modifyElement\";\r\nvar DECORATOR_AFTER_RENDER_METHOD = \"afterRender\";\r\nvar DECORATOR_GET_EXCLUDED_SELECTORS_METHOD = \"getExcludedSelectors\";\r\nvar EditProvider = Class.inherit({\r\n ctor: function(list) {\r\n this._list = list;\r\n this._fetchRequiredDecorators()\r\n },\r\n dispose: function() {\r\n if (this._decorators && this._decorators.length) {\r\n each(this._decorators, (function(_, decorator) {\r\n decorator.dispose()\r\n }))\r\n }\r\n },\r\n _fetchRequiredDecorators: function() {\r\n this._decorators = [];\r\n each(editOptionsRegistry, function(_, option) {\r\n var optionEnabled = option.enabled.call(this._list);\r\n if (optionEnabled) {\r\n var decoratorType = option.decoratorType.call(this._list);\r\n var decoratorSubType = option.decoratorSubType.call(this._list);\r\n var decorator = this._createDecorator(decoratorType, decoratorSubType);\r\n this._decorators.push(decorator)\r\n }\r\n }.bind(this))\r\n },\r\n _createDecorator: function(type, subType) {\r\n var decoratorClass = this._findDecorator(type, subType);\r\n return new decoratorClass(this._list)\r\n },\r\n _findDecorator: function(type, subType) {\r\n var _registry$type;\r\n var foundDecorator = null === (_registry$type = registry[type]) || void 0 === _registry$type ? void 0 : _registry$type[subType];\r\n if (!foundDecorator) {\r\n throw errors.Error(\"E1012\", type, subType)\r\n }\r\n return foundDecorator\r\n },\r\n modifyItemElement: function(args) {\r\n var $itemElement = $(args.itemElement);\r\n var config = {\r\n $itemElement: $itemElement\r\n };\r\n this._prependBeforeBags($itemElement, config);\r\n this._appendAfterBags($itemElement, config);\r\n this._applyDecorators(DECORATOR_MODIFY_ELEMENT_METHOD, config)\r\n },\r\n afterItemsRendered: function() {\r\n this._applyDecorators(DECORATOR_AFTER_RENDER_METHOD)\r\n },\r\n _prependBeforeBags: function($itemElement, config) {\r\n var $beforeBags = this._collectDecoratorsMarkup(DECORATOR_BEFORE_BAG_CREATE_METHOD, config, LIST_ITEM_BEFORE_BAG_CLASS);\r\n $itemElement.prepend($beforeBags)\r\n },\r\n _appendAfterBags: function($itemElement, config) {\r\n var $afterBags = this._collectDecoratorsMarkup(DECORATOR_AFTER_BAG_CREATE_METHOD, config, LIST_ITEM_AFTER_BAG_CLASS);\r\n $itemElement.append($afterBags)\r\n },\r\n _collectDecoratorsMarkup: function(method, config, containerClass) {\r\n var $collector = $(\"
\");\r\n each(this._decorators, (function() {\r\n var $container = $(\"
\").addClass(containerClass);\r\n this[method](extend({\r\n $container: $container\r\n }, config));\r\n if ($container.children().length) {\r\n $collector.append($container)\r\n }\r\n }));\r\n return $collector.children()\r\n },\r\n _applyDecorators: function(method, config) {\r\n each(this._decorators, (function() {\r\n this[method](config)\r\n }))\r\n },\r\n _handlerExists: function(name) {\r\n if (!this._decorators) {\r\n return false\r\n }\r\n var decorators = this._decorators;\r\n var length = decorators.length;\r\n for (var i = 0; i < length; i++) {\r\n if (decorators[i][name] !== noop) {\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _eventHandler: function(name, $itemElement, e) {\r\n if (!this._decorators) {\r\n return false\r\n }\r\n var response = false;\r\n var decorators = this._decorators;\r\n var length = decorators.length;\r\n for (var i = 0; i < length; i++) {\r\n response = decorators[i][name]($itemElement, e);\r\n if (response) {\r\n break\r\n }\r\n }\r\n return response\r\n },\r\n handleClick: function($itemElement, e) {\r\n return this._eventHandler(\"handleClick\", $itemElement, e)\r\n },\r\n handleKeyboardEvents: function(currentFocusedIndex, moveFocusUp) {\r\n return this._eventHandler(\"handleKeyboardEvents\", currentFocusedIndex, moveFocusUp)\r\n },\r\n handleEnterPressing: function(e) {\r\n return this._eventHandler(\"handleEnterPressing\", e)\r\n },\r\n contextMenuHandlerExists: function() {\r\n return this._handlerExists(\"handleContextMenu\")\r\n },\r\n handleContextMenu: function($itemElement, e) {\r\n return this._eventHandler(\"handleContextMenu\", $itemElement, e)\r\n },\r\n getExcludedItemSelectors: function() {\r\n var excludedSelectors = [];\r\n this._applyDecorators(DECORATOR_GET_EXCLUDED_SELECTORS_METHOD, excludedSelectors);\r\n return excludedSelectors.join(\",\")\r\n }\r\n});\r\nexport default EditProvider;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isTouchEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport GroupedEditStrategy from \"./ui.list.edit.strategy.grouped\";\r\nimport localizationMessage from \"../../localization/message\";\r\nimport EditProvider from \"./ui.list.edit.provider\";\r\nimport {\r\n ListBase\r\n} from \"./ui.list.base\";\r\nvar LIST_ITEM_SELECTED_CLASS = \"dx-list-item-selected\";\r\nvar LIST_ITEM_RESPONSE_WAIT_CLASS = \"dx-list-item-response-wait\";\r\nvar ListEdit = ListBase.inherit({\r\n _supportedKeys() {\r\n var that = this;\r\n var parent = this.callBase();\r\n var moveFocusedItem = (e, moveUp) => {\r\n var editStrategy = this._editStrategy;\r\n var focusedElement = this.option(\"focusedElement\");\r\n var focusedItemIndex = editStrategy.getNormalizedIndex(focusedElement);\r\n var isLastIndexFocused = focusedItemIndex === this._getLastItemIndex();\r\n if (isLastIndexFocused && this._dataController.isLoading()) {\r\n return\r\n }\r\n if (e.shiftKey && that.option(\"itemDragging.allowReordering\")) {\r\n var nextItemIndex = focusedItemIndex + (moveUp ? -1 : 1);\r\n var $nextItem = editStrategy.getItemElement(nextItemIndex);\r\n this.reorderItem(focusedElement, $nextItem);\r\n this.scrollToItem(focusedElement);\r\n e.preventDefault()\r\n } else {\r\n var editProvider = this._editProvider;\r\n var isInternalMoving = editProvider.handleKeyboardEvents(focusedItemIndex, moveUp);\r\n if (!isInternalMoving) {\r\n moveUp ? parent.upArrow(e) : parent.downArrow(e)\r\n }\r\n }\r\n };\r\n return extend({}, parent, {\r\n del: e => {\r\n if (that.option(\"allowItemDeleting\")) {\r\n e.preventDefault();\r\n that.deleteItem(that.option(\"focusedElement\"))\r\n }\r\n },\r\n upArrow: e => moveFocusedItem(e, true),\r\n downArrow: e => moveFocusedItem(e),\r\n enter: function(e) {\r\n if (!this._editProvider.handleEnterPressing(e)) {\r\n parent.enter.apply(this, arguments)\r\n }\r\n },\r\n space: function(e) {\r\n if (!this._editProvider.handleEnterPressing(e)) {\r\n parent.space.apply(this, arguments)\r\n }\r\n }\r\n })\r\n },\r\n _updateSelection() {\r\n this._editProvider.afterItemsRendered();\r\n this.callBase()\r\n },\r\n _getLastItemIndex() {\r\n return this._itemElements().length - 1\r\n },\r\n _refreshItemElements() {\r\n this.callBase();\r\n var excludedSelectors = this._editProvider.getExcludedItemSelectors();\r\n if (excludedSelectors.length) {\r\n this._itemElementsCache = this._itemElementsCache.not(excludedSelectors)\r\n }\r\n },\r\n _isItemStrictEquals: function(item1, item2) {\r\n var privateKey = item1 && item1.__dx_key__;\r\n if (privateKey && !this.key() && this._selection.isItemSelected(privateKey)) {\r\n return false\r\n }\r\n return this.callBase(item1, item2)\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n showSelectionControls: false,\r\n selectionMode: \"none\",\r\n selectAllMode: \"page\",\r\n onSelectAllValueChanged: null,\r\n selectAllText: localizationMessage.format(\"dxList-selectAll\"),\r\n menuItems: [],\r\n menuMode: \"context\",\r\n allowItemDeleting: false,\r\n itemDeleteMode: \"static\",\r\n itemDragging: {}\r\n })\r\n },\r\n _defaultOptionsRules() {\r\n return this.callBase().concat([{\r\n device: _device => \"ios\" === _device.platform,\r\n options: {\r\n menuMode: \"slide\",\r\n itemDeleteMode: \"slideItem\"\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n itemDeleteMode: \"swipe\"\r\n }\r\n }])\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initEditProvider()\r\n },\r\n _initDataSource() {\r\n this.callBase();\r\n if (!this._isPageSelectAll()) {\r\n this._dataSource && this._dataSource.requireTotalCount(true)\r\n }\r\n },\r\n _isPageSelectAll() {\r\n return \"page\" === this.option(\"selectAllMode\")\r\n },\r\n _initEditProvider() {\r\n this._editProvider = new EditProvider(this)\r\n },\r\n _disposeEditProvider() {\r\n if (this._editProvider) {\r\n this._editProvider.dispose()\r\n }\r\n },\r\n _refreshEditProvider() {\r\n this._disposeEditProvider();\r\n this._initEditProvider()\r\n },\r\n _initEditStrategy() {\r\n if (this.option(\"grouped\")) {\r\n this._editStrategy = new GroupedEditStrategy(this)\r\n } else {\r\n this.callBase()\r\n }\r\n },\r\n _initMarkup() {\r\n this._refreshEditProvider();\r\n this.callBase()\r\n },\r\n _renderItems() {\r\n this.callBase(...arguments);\r\n this._editProvider.afterItemsRendered()\r\n },\r\n _selectedItemClass: () => LIST_ITEM_SELECTED_CLASS,\r\n _itemResponseWaitClass: () => LIST_ITEM_RESPONSE_WAIT_CLASS,\r\n _itemClickHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = this._editProvider.handleClick($itemElement, e);\r\n if (handledByEditProvider) {\r\n return\r\n }\r\n this._saveSelectionChangeEvent(e);\r\n this.callBase(...arguments)\r\n },\r\n _shouldFireContextMenuEvent() {\r\n return this.callBase(...arguments) || this._editProvider.contextMenuHandlerExists()\r\n },\r\n _itemHoldHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = isTouchEvent(e) && this._editProvider.handleContextMenu($itemElement, e);\r\n if (handledByEditProvider) {\r\n e.handledByEditProvider = true;\r\n return\r\n }\r\n this.callBase(...arguments)\r\n },\r\n _getItemContainer: function(changeData) {\r\n if (this.option(\"grouped\")) {\r\n var _this$_editStrategy$g;\r\n var groupIndex = null === (_this$_editStrategy$g = this._editStrategy.getIndexByItemData(changeData)) || void 0 === _this$_editStrategy$g ? void 0 : _this$_editStrategy$g.group;\r\n return this._getGroupContainerByIndex(groupIndex)\r\n } else {\r\n return this.callBase(changeData)\r\n }\r\n },\r\n _itemContextMenuHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = !e.handledByEditProvider && this._editProvider.handleContextMenu($itemElement, e);\r\n if (handledByEditProvider) {\r\n e.preventDefault();\r\n return\r\n }\r\n this.callBase(...arguments)\r\n },\r\n _postprocessRenderItem(args) {\r\n this.callBase(...arguments);\r\n this._editProvider.modifyItemElement(args)\r\n },\r\n _clean() {\r\n this._disposeEditProvider();\r\n this.callBase()\r\n },\r\n focusListItem(index) {\r\n var $item = this._editStrategy.getItemElement(index);\r\n this.option(\"focusedElement\", $item);\r\n this.focus();\r\n this.scrollToItem(this.option(\"focusedElement\"))\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"selectAllMode\":\r\n this._initDataSource();\r\n this._dataController.pageIndex(0);\r\n this._dataController.load();\r\n break;\r\n case \"grouped\":\r\n this._clearSelectedItems();\r\n delete this._renderingGroupIndex;\r\n this._initEditStrategy();\r\n this.callBase(args);\r\n break;\r\n case \"showSelectionControls\":\r\n case \"menuItems\":\r\n case \"menuMode\":\r\n case \"allowItemDeleting\":\r\n case \"itemDeleteMode\":\r\n case \"itemDragging\":\r\n case \"selectAllText\":\r\n this._invalidate();\r\n break;\r\n case \"onSelectAllValueChanged\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n selectAll() {\r\n return this._selection.selectAll(this._isPageSelectAll())\r\n },\r\n unselectAll() {\r\n return this._selection.deselectAll(this._isPageSelectAll())\r\n },\r\n isSelectAll() {\r\n return this._selection.getSelectAllState(this._isPageSelectAll())\r\n },\r\n getFlatIndexByItemElement(itemElement) {\r\n return this._itemElements().index(itemElement)\r\n },\r\n getItemElementByFlatIndex(flatIndex) {\r\n var $itemElements = this._itemElements();\r\n if (flatIndex < 0 || flatIndex >= $itemElements.length) {\r\n return $()\r\n }\r\n return $itemElements.eq(flatIndex)\r\n },\r\n getItemByIndex(index) {\r\n return this._editStrategy.getItemDataByIndex(index)\r\n }\r\n});\r\nexport default ListEdit;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.search.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ListEdit from \"./ui.list.edit\";\r\nimport searchBoxMixin from \"../widget/ui.search_box_mixin\";\r\nvar ListSearch = ListEdit.inherit(searchBoxMixin).inherit({\r\n _addWidgetPrefix: function(className) {\r\n return \"dx-list-\" + className\r\n },\r\n _getCombinedFilter: function() {\r\n var dataController = this._dataController;\r\n var storeLoadOptions = {\r\n filter: dataController.filter()\r\n };\r\n dataController.addSearchFilter(storeLoadOptions);\r\n var filter = storeLoadOptions.filter;\r\n return filter\r\n },\r\n _initDataSource: function() {\r\n var value = this.option(\"searchValue\");\r\n var expr = this.option(\"searchExpr\");\r\n var mode = this.option(\"searchMode\");\r\n this.callBase();\r\n var dataController = this._dataController;\r\n value && value.length && dataController.searchValue(value);\r\n mode.length && dataController.searchOperation(searchBoxMixin.getOperationBySearchMode(mode));\r\n expr && dataController.searchExpr(expr)\r\n }\r\n});\r\nexport default ListSearch;\r\n","/**\r\n * DevExtreme (esm/ui/list_light.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ListEdit from \"./list/ui.list.edit.search\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nregisterComponent(\"dxList\", ListEdit);\r\nexport default ListEdit;\r\n","/**\r\n * DevExtreme (esm/ui/load_indicator.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getNavigator\r\n} from \"../core/utils/window\";\r\nvar navigator = getNavigator();\r\nimport {\r\n animation\r\n} from \"../core/utils/support\";\r\nimport {\r\n current,\r\n isMaterial,\r\n isGeneric\r\n} from \"./themes\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport devices from \"../core/devices\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Widget from \"./widget/ui.widget\";\r\nvar LOADINDICATOR_CLASS = \"dx-loadindicator\";\r\nvar LOADINDICATOR_WRAPPER_CLASS = \"dx-loadindicator-wrapper\";\r\nvar LOADINDICATOR_CONTENT_CLASS = \"dx-loadindicator-content\";\r\nvar LOADINDICATOR_ICON_CLASS = \"dx-loadindicator-icon\";\r\nvar LOADINDICATOR_SEGMENT_CLASS = \"dx-loadindicator-segment\";\r\nvar LOADINDICATOR_SEGMENT_INNER_CLASS = \"dx-loadindicator-segment-inner\";\r\nvar LOADINDICATOR_IMAGE_CLASS = \"dx-loadindicator-image\";\r\nvar LoadIndicator = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n indicatorSrc: \"\",\r\n activeStateEnabled: false,\r\n hoverStateEnabled: false,\r\n _animatingSegmentCount: 1,\r\n _animatingSegmentInner: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = current();\r\n return this.callBase().concat([{\r\n device: function() {\r\n var realDevice = devices.real();\r\n var obsoleteAndroid = \"android\" === realDevice.platform && !/chrome/i.test(navigator.userAgent);\r\n return obsoleteAndroid\r\n },\r\n options: {\r\n viaImage: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n _animatingSegmentCount: 2,\r\n _animatingSegmentInner: true\r\n }\r\n }, {\r\n device: function() {\r\n return isGeneric(themeName)\r\n },\r\n options: {\r\n _animatingSegmentCount: 7\r\n }\r\n }])\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(LOADINDICATOR_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderWrapper();\r\n this._renderIndicatorContent();\r\n this._renderMarkup()\r\n },\r\n _renderWrapper: function() {\r\n this._$wrapper = $(\"
\").addClass(LOADINDICATOR_WRAPPER_CLASS);\r\n this.$element().append(this._$wrapper)\r\n },\r\n _renderIndicatorContent: function() {\r\n this._$content = $(\"
\").addClass(LOADINDICATOR_CONTENT_CLASS);\r\n this._$wrapper.append(this._$content)\r\n },\r\n _renderMarkup: function() {\r\n if (animation() && !this.option(\"viaImage\") && !this.option(\"indicatorSrc\")) {\r\n this._renderMarkupForAnimation()\r\n } else {\r\n this._renderMarkupForImage()\r\n }\r\n },\r\n _renderMarkupForAnimation: function() {\r\n var animatingSegmentInner = this.option(\"_animatingSegmentInner\");\r\n this._$indicator = $(\"
\").addClass(LOADINDICATOR_ICON_CLASS);\r\n this._$content.append(this._$indicator);\r\n for (var i = this.option(\"_animatingSegmentCount\"); i >= 0; --i) {\r\n var $segment = $(\"
\").addClass(LOADINDICATOR_SEGMENT_CLASS).addClass(LOADINDICATOR_SEGMENT_CLASS + i);\r\n if (animatingSegmentInner) {\r\n $segment.append($(\"
\").addClass(LOADINDICATOR_SEGMENT_INNER_CLASS))\r\n }\r\n this._$indicator.append($segment)\r\n }\r\n },\r\n _renderMarkupForImage: function() {\r\n var indicatorSrc = this.option(\"indicatorSrc\");\r\n this._$wrapper.addClass(LOADINDICATOR_IMAGE_CLASS);\r\n if (indicatorSrc) {\r\n this._$wrapper.css(\"backgroundImage\", \"url(\" + indicatorSrc + \")\")\r\n }\r\n },\r\n _renderDimensions: function() {\r\n this.callBase();\r\n this._updateContentSizeForAnimation()\r\n },\r\n _updateContentSizeForAnimation: function() {\r\n if (!this._$indicator) {\r\n return\r\n }\r\n var width = this.option(\"width\");\r\n var height = this.option(\"height\");\r\n if (width || height) {\r\n width = getWidth(this.$element());\r\n height = getHeight(this.$element());\r\n var minDimension = Math.min(height, width);\r\n this._$wrapper.css({\r\n height: minDimension,\r\n width: minDimension,\r\n fontSize: minDimension\r\n })\r\n }\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._removeMarkupForAnimation();\r\n this._removeMarkupForImage()\r\n },\r\n _removeMarkupForAnimation: function() {\r\n if (!this._$indicator) {\r\n return\r\n }\r\n this._$indicator.remove();\r\n delete this._$indicator\r\n },\r\n _removeMarkupForImage: function() {\r\n this._$wrapper.css(\"backgroundImage\", \"none\")\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"_animatingSegmentCount\":\r\n case \"_animatingSegmentInner\":\r\n case \"indicatorSrc\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxLoadIndicator\", LoadIndicator);\r\nexport default LoadIndicator;\r\n","/**\r\n * DevExtreme (esm/ui/map/provider.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isPlainObject,\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nvar abstract = Class.abstract;\r\nvar Provider = Class.inherit({\r\n _defaultRouteWeight: function() {\r\n return 5\r\n },\r\n _defaultRouteOpacity: function() {\r\n return .5\r\n },\r\n _defaultRouteColor: function() {\r\n return \"#0000FF\"\r\n },\r\n ctor: function(map, $container) {\r\n this._mapWidget = map;\r\n this._$container = $container\r\n },\r\n render: function(markerOptions, routeOptions) {\r\n return this._renderImpl().then(function() {\r\n return Promise.all([this._applyFunctionIfNeeded(\"addMarkers\", markerOptions), this._applyFunctionIfNeeded(\"addRoutes\", routeOptions)]).then((function() {\r\n return true\r\n }))\r\n }.bind(this))\r\n },\r\n _renderImpl: abstract,\r\n updateDimensions: abstract,\r\n updateMapType: abstract,\r\n updateBounds: abstract,\r\n updateCenter: abstract,\r\n updateZoom: abstract,\r\n updateControls: abstract,\r\n updateMarkers: function(markerOptionsToRemove, markerOptionsToAdd) {\r\n return new Promise(function(resolve) {\r\n return this._applyFunctionIfNeeded(\"removeMarkers\", markerOptionsToRemove).then(function(removeValue) {\r\n this._applyFunctionIfNeeded(\"addMarkers\", markerOptionsToAdd).then((function(addValue) {\r\n resolve(addValue ? addValue : removeValue)\r\n }))\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n addMarkers: abstract,\r\n removeMarkers: abstract,\r\n adjustViewport: abstract,\r\n updateRoutes: function(routeOptionsToRemove, routeOptionsToAdd) {\r\n return new Promise(function(resolve) {\r\n return this._applyFunctionIfNeeded(\"removeRoutes\", routeOptionsToRemove).then(function(removeValue) {\r\n this._applyFunctionIfNeeded(\"addRoutes\", routeOptionsToAdd).then((function(addValue) {\r\n resolve(addValue ? addValue : removeValue)\r\n }))\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n addRoutes: abstract,\r\n removeRoutes: abstract,\r\n clean: abstract,\r\n map: function() {\r\n return this._map\r\n },\r\n isEventsCanceled: function() {\r\n return false\r\n },\r\n _option: function(name, value) {\r\n if (void 0 === value) {\r\n return this._mapWidget.option(name)\r\n }\r\n this._mapWidget.setOptionSilent(name, value)\r\n },\r\n _keyOption: function(providerName) {\r\n var key = this._option(\"apiKey\");\r\n return void 0 === key[providerName] ? key : key[providerName]\r\n },\r\n _parseTooltipOptions: function(option) {\r\n return {\r\n text: option.text || option,\r\n visible: option.isShown || false\r\n }\r\n },\r\n _getLatLng: function(location) {\r\n if (\"string\" === typeof location) {\r\n var coords = map(location.split(\",\"), (function(item) {\r\n return item.trim()\r\n }));\r\n var numericRegex = /^[-+]?[0-9]*\\.?[0-9]*$/;\r\n if (2 === coords.length && coords[0].match(numericRegex) && coords[1].match(numericRegex)) {\r\n return {\r\n lat: parseFloat(coords[0]),\r\n lng: parseFloat(coords[1])\r\n }\r\n }\r\n } else if (Array.isArray(location) && 2 === location.length) {\r\n return {\r\n lat: location[0],\r\n lng: location[1]\r\n }\r\n } else if (isPlainObject(location) && isNumeric(location.lat) && isNumeric(location.lng)) {\r\n return location\r\n }\r\n return null\r\n },\r\n _areBoundsSet: function() {\r\n return this._option(\"bounds.northEast\") && this._option(\"bounds.southWest\")\r\n },\r\n _addEventNamespace: function(name) {\r\n return addNamespace(name, this._mapWidget.NAME)\r\n },\r\n _applyFunctionIfNeeded: function(fnName, array) {\r\n if (!array.length) {\r\n return Promise.resolve()\r\n }\r\n return this[fnName](array)\r\n },\r\n _fireAction: function(name, actionArguments) {\r\n this._mapWidget._createActionByOption(name)(actionArguments)\r\n },\r\n _fireClickAction: function(actionArguments) {\r\n this._fireAction(\"onClick\", actionArguments)\r\n },\r\n _fireMarkerAddedAction: function(actionArguments) {\r\n this._fireAction(\"onMarkerAdded\", actionArguments)\r\n },\r\n _fireMarkerRemovedAction: function(actionArguments) {\r\n this._fireAction(\"onMarkerRemoved\", actionArguments)\r\n },\r\n _fireRouteAddedAction: function(actionArguments) {\r\n this._fireAction(\"onRouteAdded\", actionArguments)\r\n },\r\n _fireRouteRemovedAction: function(actionArguments) {\r\n this._fireAction(\"onRouteRemoved\", actionArguments)\r\n }\r\n});\r\nexport default Provider;\r\n","/**\r\n * DevExtreme (esm/color.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar standardColorNames = {\r\n aliceblue: \"f0f8ff\",\r\n antiquewhite: \"faebd7\",\r\n aqua: \"00ffff\",\r\n aquamarine: \"7fffd4\",\r\n azure: \"f0ffff\",\r\n beige: \"f5f5dc\",\r\n bisque: \"ffe4c4\",\r\n black: \"000000\",\r\n blanchedalmond: \"ffebcd\",\r\n blue: \"0000ff\",\r\n blueviolet: \"8a2be2\",\r\n brown: \"a52a2a\",\r\n burlywood: \"deb887\",\r\n cadetblue: \"5f9ea0\",\r\n chartreuse: \"7fff00\",\r\n chocolate: \"d2691e\",\r\n coral: \"ff7f50\",\r\n cornflowerblue: \"6495ed\",\r\n cornsilk: \"fff8dc\",\r\n crimson: \"dc143c\",\r\n cyan: \"00ffff\",\r\n darkblue: \"00008b\",\r\n darkcyan: \"008b8b\",\r\n darkgoldenrod: \"b8860b\",\r\n darkgray: \"a9a9a9\",\r\n darkgreen: \"006400\",\r\n darkgrey: \"a9a9a9\",\r\n darkkhaki: \"bdb76b\",\r\n darkmagenta: \"8b008b\",\r\n darkolivegreen: \"556b2f\",\r\n darkorange: \"ff8c00\",\r\n darkorchid: \"9932cc\",\r\n darkred: \"8b0000\",\r\n darksalmon: \"e9967a\",\r\n darkseagreen: \"8fbc8f\",\r\n darkslateblue: \"483d8b\",\r\n darkslategray: \"2f4f4f\",\r\n darkslategrey: \"2f4f4f\",\r\n darkturquoise: \"00ced1\",\r\n darkviolet: \"9400d3\",\r\n deeppink: \"ff1493\",\r\n deepskyblue: \"00bfff\",\r\n dimgray: \"696969\",\r\n dimgrey: \"696969\",\r\n dodgerblue: \"1e90ff\",\r\n feldspar: \"d19275\",\r\n firebrick: \"b22222\",\r\n floralwhite: \"fffaf0\",\r\n forestgreen: \"228b22\",\r\n fuchsia: \"ff00ff\",\r\n gainsboro: \"dcdcdc\",\r\n ghostwhite: \"f8f8ff\",\r\n gold: \"ffd700\",\r\n goldenrod: \"daa520\",\r\n gray: \"808080\",\r\n green: \"008000\",\r\n greenyellow: \"adff2f\",\r\n grey: \"808080\",\r\n honeydew: \"f0fff0\",\r\n hotpink: \"ff69b4\",\r\n indianred: \"cd5c5c\",\r\n indigo: \"4b0082\",\r\n ivory: \"fffff0\",\r\n khaki: \"f0e68c\",\r\n lavender: \"e6e6fa\",\r\n lavenderblush: \"fff0f5\",\r\n lawngreen: \"7cfc00\",\r\n lemonchiffon: \"fffacd\",\r\n lightblue: \"add8e6\",\r\n lightcoral: \"f08080\",\r\n lightcyan: \"e0ffff\",\r\n lightgoldenrodyellow: \"fafad2\",\r\n lightgray: \"d3d3d3\",\r\n lightgreen: \"90ee90\",\r\n lightgrey: \"d3d3d3\",\r\n lightpink: \"ffb6c1\",\r\n lightsalmon: \"ffa07a\",\r\n lightseagreen: \"20b2aa\",\r\n lightskyblue: \"87cefa\",\r\n lightslateblue: \"8470ff\",\r\n lightslategray: \"778899\",\r\n lightslategrey: \"778899\",\r\n lightsteelblue: \"b0c4de\",\r\n lightyellow: \"ffffe0\",\r\n lime: \"00ff00\",\r\n limegreen: \"32cd32\",\r\n linen: \"faf0e6\",\r\n magenta: \"ff00ff\",\r\n maroon: \"800000\",\r\n mediumaquamarine: \"66cdaa\",\r\n mediumblue: \"0000cd\",\r\n mediumorchid: \"ba55d3\",\r\n mediumpurple: \"9370d8\",\r\n mediumseagreen: \"3cb371\",\r\n mediumslateblue: \"7b68ee\",\r\n mediumspringgreen: \"00fa9a\",\r\n mediumturquoise: \"48d1cc\",\r\n mediumvioletred: \"c71585\",\r\n midnightblue: \"191970\",\r\n mintcream: \"f5fffa\",\r\n mistyrose: \"ffe4e1\",\r\n moccasin: \"ffe4b5\",\r\n navajowhite: \"ffdead\",\r\n navy: \"000080\",\r\n oldlace: \"fdf5e6\",\r\n olive: \"808000\",\r\n olivedrab: \"6b8e23\",\r\n orange: \"ffa500\",\r\n orangered: \"ff4500\",\r\n orchid: \"da70d6\",\r\n palegoldenrod: \"eee8aa\",\r\n palegreen: \"98fb98\",\r\n paleturquoise: \"afeeee\",\r\n palevioletred: \"d87093\",\r\n papayawhip: \"ffefd5\",\r\n peachpuff: \"ffdab9\",\r\n peru: \"cd853f\",\r\n pink: \"ffc0cb\",\r\n plum: \"dda0dd\",\r\n powderblue: \"b0e0e6\",\r\n purple: \"800080\",\r\n rebeccapurple: \"663399\",\r\n red: \"ff0000\",\r\n rosybrown: \"bc8f8f\",\r\n royalblue: \"4169e1\",\r\n saddlebrown: \"8b4513\",\r\n salmon: \"fa8072\",\r\n sandybrown: \"f4a460\",\r\n seagreen: \"2e8b57\",\r\n seashell: \"fff5ee\",\r\n sienna: \"a0522d\",\r\n silver: \"c0c0c0\",\r\n skyblue: \"87ceeb\",\r\n slateblue: \"6a5acd\",\r\n slategray: \"708090\",\r\n slategrey: \"708090\",\r\n snow: \"fffafa\",\r\n springgreen: \"00ff7f\",\r\n steelblue: \"4682b4\",\r\n tan: \"d2b48c\",\r\n teal: \"008080\",\r\n thistle: \"d8bfd8\",\r\n tomato: \"ff6347\",\r\n turquoise: \"40e0d0\",\r\n violet: \"ee82ee\",\r\n violetred: \"d02090\",\r\n wheat: \"f5deb3\",\r\n white: \"ffffff\",\r\n whitesmoke: \"f5f5f5\",\r\n yellow: \"ffff00\",\r\n yellowgreen: \"9acd32\"\r\n};\r\nvar standardColorTypes = [{\r\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 10), parseInt(colorString[2], 10), parseInt(colorString[3], 10)]\r\n }\r\n}, {\r\n re: /^rgba\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d*\\.*\\d+)\\)$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 10), parseInt(colorString[2], 10), parseInt(colorString[3], 10), parseFloat(colorString[4])]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 16), parseInt(colorString[2], 16), parseInt(colorString[3], 16)]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1] + colorString[1], 16), parseInt(colorString[2] + colorString[2], 16), parseInt(colorString[3] + colorString[3], 16)]\r\n }\r\n}, {\r\n re: /^hsv\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n var h = parseInt(colorString[1], 10);\r\n var s = parseInt(colorString[2], 10);\r\n var v = parseInt(colorString[3], 10);\r\n var rgb = hsvToRgb(h, s, v);\r\n return [rgb[0], rgb[1], rgb[2], 1, [h, s, v]]\r\n }\r\n}, {\r\n re: /^hsl\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n var h = parseInt(colorString[1], 10);\r\n var s = parseInt(colorString[2], 10);\r\n var l = parseInt(colorString[3], 10);\r\n var rgb = hslToRgb(h, s, l);\r\n return [rgb[0], rgb[1], rgb[2], 1, null, [h, s, l]]\r\n }\r\n}];\r\nvar _round = Math.round;\r\n\r\nfunction Color(value) {\r\n this.baseColor = value;\r\n var color;\r\n if (value) {\r\n color = String(value).toLowerCase().replace(/ /g, \"\");\r\n color = standardColorNames[color] ? \"#\" + standardColorNames[color] : color;\r\n color = parseColor(color)\r\n }\r\n if (!color) {\r\n this.colorIsInvalid = true\r\n }\r\n color = color || {};\r\n this.r = normalize(color[0]);\r\n this.g = normalize(color[1]);\r\n this.b = normalize(color[2]);\r\n this.a = normalize(color[3], 1, 1);\r\n if (color[4]) {\r\n this.hsv = {\r\n h: color[4][0],\r\n s: color[4][1],\r\n v: color[4][2]\r\n }\r\n } else {\r\n this.hsv = toHsvFromRgb(this.r, this.g, this.b)\r\n }\r\n if (color[5]) {\r\n this.hsl = {\r\n h: color[5][0],\r\n s: color[5][1],\r\n l: color[5][2]\r\n }\r\n } else {\r\n this.hsl = toHslFromRgb(this.r, this.g, this.b)\r\n }\r\n}\r\n\r\nfunction parseColor(color) {\r\n if (\"transparent\" === color) {\r\n return [0, 0, 0, 0]\r\n }\r\n var i = 0;\r\n var ii = standardColorTypes.length;\r\n var str;\r\n for (; i < ii; ++i) {\r\n str = standardColorTypes[i].re.exec(color);\r\n if (str) {\r\n return standardColorTypes[i].process(str)\r\n }\r\n }\r\n return null\r\n}\r\n\r\nfunction normalize(colorComponent, def, max) {\r\n def = def || 0;\r\n max = max || 255;\r\n return colorComponent < 0 || isNaN(colorComponent) ? def : colorComponent > max ? max : colorComponent\r\n}\r\n\r\nfunction toHexFromRgb(r, g, b) {\r\n return \"#\" + (16777216 | r << 16 | g << 8 | b).toString(16).slice(1)\r\n}\r\n\r\nfunction toHsvFromRgb(r, g, b) {\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var delta = max - min;\r\n var H;\r\n var S;\r\n var V = max;\r\n S = 0 === max ? 0 : 1 - min / max;\r\n if (max === min) {\r\n H = 0\r\n } else {\r\n switch (max) {\r\n case r:\r\n H = (g - b) / delta * 60;\r\n if (g < b) {\r\n H += 360\r\n }\r\n break;\r\n case g:\r\n H = (b - r) / delta * 60 + 120;\r\n break;\r\n case b:\r\n H = (r - g) / delta * 60 + 240\r\n }\r\n }\r\n S *= 100;\r\n V *= 100 / 255;\r\n return {\r\n h: Math.round(H),\r\n s: Math.round(S),\r\n v: Math.round(V)\r\n }\r\n}\r\n\r\nfunction hsvToRgb(h, s, v) {\r\n var index = Math.floor(h % 360 / 60);\r\n var vMin = (100 - s) * v / 100;\r\n var a = h % 60 / 60 * (v - vMin);\r\n var vInc = vMin + a;\r\n var vDec = v - a;\r\n var r;\r\n var g;\r\n var b;\r\n switch (index) {\r\n case 0:\r\n r = v;\r\n g = vInc;\r\n b = vMin;\r\n break;\r\n case 1:\r\n r = vDec;\r\n g = v;\r\n b = vMin;\r\n break;\r\n case 2:\r\n r = vMin;\r\n g = v;\r\n b = vInc;\r\n break;\r\n case 3:\r\n r = vMin;\r\n g = vDec;\r\n b = v;\r\n break;\r\n case 4:\r\n r = vInc;\r\n g = vMin;\r\n b = v;\r\n break;\r\n case 5:\r\n r = v;\r\n g = vMin;\r\n b = vDec\r\n }\r\n return [Math.round(2.55 * r), Math.round(2.55 * g), Math.round(2.55 * b)]\r\n}\r\n\r\nfunction calculateHue(r, g, b, delta) {\r\n var max = Math.max(r, g, b);\r\n switch (max) {\r\n case r:\r\n return (g - b) / delta + (g < b ? 6 : 0);\r\n case g:\r\n return (b - r) / delta + 2;\r\n case b:\r\n return (r - g) / delta + 4\r\n }\r\n}\r\n\r\nfunction toHslFromRgb(r, g, b) {\r\n r = convertTo01Bounds(r, 255);\r\n g = convertTo01Bounds(g, 255);\r\n b = convertTo01Bounds(b, 255);\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var maxMinSum = max + min;\r\n var h;\r\n var s;\r\n var l = maxMinSum / 2;\r\n if (max === min) {\r\n h = s = 0\r\n } else {\r\n var delta = max - min;\r\n if (l > .5) {\r\n s = delta / (2 - maxMinSum)\r\n } else {\r\n s = delta / maxMinSum\r\n }\r\n h = calculateHue(r, g, b, delta);\r\n h /= 6\r\n }\r\n return {\r\n h: _round(360 * h),\r\n s: _round(100 * s),\r\n l: _round(100 * l)\r\n }\r\n}\r\n\r\nfunction makeColorTint(colorPart, h) {\r\n var colorTint = h;\r\n if (\"r\" === colorPart) {\r\n colorTint = h + 1 / 3\r\n }\r\n if (\"b\" === colorPart) {\r\n colorTint = h - 1 / 3\r\n }\r\n return colorTint\r\n}\r\n\r\nfunction modifyColorTint(colorTint) {\r\n if (colorTint < 0) {\r\n colorTint += 1\r\n }\r\n if (colorTint > 1) {\r\n colorTint -= 1\r\n }\r\n return colorTint\r\n}\r\n\r\nfunction hueToRgb(p, q, colorTint) {\r\n colorTint = modifyColorTint(colorTint);\r\n if (colorTint < 1 / 6) {\r\n return p + 6 * (q - p) * colorTint\r\n }\r\n if (colorTint < .5) {\r\n return q\r\n }\r\n if (colorTint < 2 / 3) {\r\n return p + (q - p) * (2 / 3 - colorTint) * 6\r\n }\r\n return p\r\n}\r\n\r\nfunction hslToRgb(h, s, l) {\r\n var r;\r\n var g;\r\n var b;\r\n h = convertTo01Bounds(h, 360);\r\n s = convertTo01Bounds(s, 100);\r\n l = convertTo01Bounds(l, 100);\r\n if (0 === s) {\r\n r = g = b = l\r\n } else {\r\n var q = l < .5 ? l * (1 + s) : l + s - l * s;\r\n var p = 2 * l - q;\r\n r = hueToRgb(p, q, makeColorTint(\"r\", h));\r\n g = hueToRgb(p, q, makeColorTint(\"g\", h));\r\n b = hueToRgb(p, q, makeColorTint(\"b\", h))\r\n }\r\n return [_round(255 * r), _round(255 * g), _round(255 * b)]\r\n}\r\n\r\nfunction convertTo01Bounds(n, max) {\r\n n = Math.min(max, Math.max(0, parseFloat(n)));\r\n if (Math.abs(n - max) < 1e-6) {\r\n return 1\r\n }\r\n return n % max / parseFloat(max)\r\n}\r\n\r\nfunction isIntegerBetweenMinAndMax(number, min, max) {\r\n min = min || 0;\r\n max = max || 255;\r\n if (number % 1 !== 0 || number < min || number > max || \"number\" !== typeof number || isNaN(number)) {\r\n return false\r\n }\r\n return true\r\n}\r\nColor.prototype = {\r\n constructor: Color,\r\n highlight: function(step) {\r\n step = step || 10;\r\n return this.alter(step).toHex()\r\n },\r\n darken: function(step) {\r\n step = step || 10;\r\n return this.alter(-step).toHex()\r\n },\r\n alter: function(step) {\r\n var result = new Color;\r\n result.r = normalize(this.r + step);\r\n result.g = normalize(this.g + step);\r\n result.b = normalize(this.b + step);\r\n return result\r\n },\r\n blend: function(blendColor, opacity) {\r\n var other = blendColor instanceof Color ? blendColor : new Color(blendColor);\r\n var result = new Color;\r\n result.r = normalize(_round(this.r * (1 - opacity) + other.r * opacity));\r\n result.g = normalize(_round(this.g * (1 - opacity) + other.g * opacity));\r\n result.b = normalize(_round(this.b * (1 - opacity) + other.b * opacity));\r\n return result\r\n },\r\n toHex: function() {\r\n return toHexFromRgb(this.r, this.g, this.b)\r\n },\r\n getPureColor: function() {\r\n var rgb = hsvToRgb(this.hsv.h, 100, 100);\r\n return new Color(\"rgb(\" + rgb.join(\",\") + \")\")\r\n },\r\n isValidHex: function(hex) {\r\n return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(hex)\r\n },\r\n isValidRGB: function(r, g, b) {\r\n if (!isIntegerBetweenMinAndMax(r) || !isIntegerBetweenMinAndMax(g) || !isIntegerBetweenMinAndMax(b)) {\r\n return false\r\n }\r\n return true\r\n },\r\n isValidAlpha: function(a) {\r\n if (isNaN(a) || a < 0 || a > 1 || \"number\" !== typeof a) {\r\n return false\r\n }\r\n return true\r\n },\r\n colorIsInvalid: false,\r\n fromHSL: function(hsl) {\r\n var color = new Color;\r\n var rgb = hslToRgb(hsl.h, hsl.s, hsl.l);\r\n color.r = rgb[0];\r\n color.g = rgb[1];\r\n color.b = rgb[2];\r\n return color\r\n }\r\n};\r\nexport default Color;\r\n","/**\r\n * DevExtreme (esm/ui/map/provider.google_static.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Provider from \"./provider\";\r\nimport Color from \"../../color\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nvar GOOGLE_STATIC_URL = \"https://maps.google.com/maps/api/staticmap?\";\r\nvar GoogleStaticProvider = Provider.inherit({\r\n _locationToString: function(location) {\r\n var latLng = this._getLatLng(location);\r\n return latLng ? latLng.lat + \",\" + latLng.lng : location.toString().replace(/ /g, \"+\")\r\n },\r\n _renderImpl: function() {\r\n return this._updateMap()\r\n },\r\n updateDimensions: function() {\r\n return this._updateMap()\r\n },\r\n updateMapType: function() {\r\n return this._updateMap()\r\n },\r\n updateBounds: function() {\r\n return Promise.resolve()\r\n },\r\n updateCenter: function() {\r\n return this._updateMap()\r\n },\r\n updateZoom: function() {\r\n return this._updateMap()\r\n },\r\n updateControls: function() {\r\n return Promise.resolve()\r\n },\r\n addMarkers: function(options) {\r\n var that = this;\r\n return this._updateMap().then((function(result) {\r\n each(options, (function(_, options) {\r\n that._fireMarkerAddedAction({\r\n options: options\r\n })\r\n }));\r\n return result\r\n }))\r\n },\r\n removeMarkers: function(options) {\r\n var that = this;\r\n return this._updateMap().then((function(result) {\r\n each(options, (function(_, options) {\r\n that._fireMarkerRemovedAction({\r\n options: options\r\n })\r\n }));\r\n return result\r\n }))\r\n },\r\n adjustViewport: function() {\r\n return Promise.resolve()\r\n },\r\n addRoutes: function(options) {\r\n var that = this;\r\n return this._updateMap().then((function(result) {\r\n each(options, (function(_, options) {\r\n that._fireRouteAddedAction({\r\n options: options\r\n })\r\n }));\r\n return result\r\n }))\r\n },\r\n removeRoutes: function(options) {\r\n var that = this;\r\n return this._updateMap().then((function(result) {\r\n each(options, (function(_, options) {\r\n that._fireRouteRemovedAction({\r\n options: options\r\n })\r\n }));\r\n return result\r\n }))\r\n },\r\n clean: function() {\r\n this._$container.css(\"backgroundImage\", \"none\");\r\n eventsEngine.off(this._$container, this._addEventNamespace(clickEventName));\r\n return Promise.resolve()\r\n },\r\n mapRendered: function() {\r\n return true\r\n },\r\n _updateMap: function() {\r\n var key = this._keyOption(\"googleStatic\");\r\n var $container = this._$container;\r\n var requestOptions = [\"sensor=false\", \"size=\" + Math.round(getWidth($container)) + \"x\" + Math.round(getHeight($container)), \"maptype=\" + this._option(\"type\"), \"center=\" + this._locationToString(this._option(\"center\")), \"zoom=\" + this._option(\"zoom\"), this._markersSubstring()];\r\n requestOptions.push.apply(requestOptions, this._routeSubstrings());\r\n if (key) {\r\n requestOptions.push(\"key=\" + key)\r\n }\r\n var request = GOOGLE_STATIC_URL + requestOptions.join(\"&\");\r\n this._$container.css(\"background\", 'url(\"' + request + '\") no-repeat 0 0');\r\n this._attachClickEvent();\r\n return Promise.resolve(true)\r\n },\r\n _markersSubstring: function() {\r\n var that = this;\r\n var markers = [];\r\n var markerIcon = this._option(\"markerIconSrc\");\r\n if (markerIcon) {\r\n markers.push(\"icon:\" + markerIcon)\r\n }\r\n each(this._option(\"markers\"), (function(_, marker) {\r\n markers.push(that._locationToString(marker.location))\r\n }));\r\n return \"markers=\" + markers.join(\"|\")\r\n },\r\n _routeSubstrings: function() {\r\n var that = this;\r\n var routes = [];\r\n each(this._option(\"routes\"), (function(_, route) {\r\n var color = new Color(route.color || that._defaultRouteColor()).toHex().replace(\"#\", \"0x\");\r\n var opacity = Math.round(255 * (route.opacity || that._defaultRouteOpacity())).toString(16);\r\n var width = route.weight || that._defaultRouteWeight();\r\n var locations = [];\r\n each(route.locations, (function(_, routePoint) {\r\n locations.push(that._locationToString(routePoint))\r\n }));\r\n routes.push(\"path=color:\" + color + opacity + \"|weight:\" + width + \"|\" + locations.join(\"|\"))\r\n }));\r\n return routes\r\n },\r\n _attachClickEvent: function() {\r\n var that = this;\r\n var eventName = this._addEventNamespace(clickEventName);\r\n eventsEngine.off(this._$container, eventName);\r\n eventsEngine.on(this._$container, eventName, (function(e) {\r\n that._fireClickAction({\r\n event: e\r\n })\r\n }))\r\n }\r\n});\r\nexport default GoogleStaticProvider;\r\n","/**\r\n * DevExtreme (esm/ui/map/provider.dynamic.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport Provider from \"./provider\";\r\nvar abstract = Provider.abstract;\r\nvar DynamicProvider = Provider.inherit({\r\n _geocodeLocation: function(location) {\r\n return new Promise(function(resolve) {\r\n var cache = this._geocodedLocations;\r\n var cachedLocation = cache[location];\r\n if (cachedLocation) {\r\n resolve(cachedLocation)\r\n } else {\r\n this._geocodeLocationImpl(location).then((function(geocodedLocation) {\r\n cache[location] = geocodedLocation;\r\n resolve(geocodedLocation)\r\n }))\r\n }\r\n }.bind(this))\r\n },\r\n _renderImpl: function() {\r\n return this._load().then(function() {\r\n return this._init()\r\n }.bind(this)).then(function() {\r\n return Promise.all([this.updateMapType(), this._areBoundsSet() ? this.updateBounds() : this.updateCenter()])\r\n }.bind(this)).then(function() {\r\n this._attachHandlers();\r\n return new Promise((function(resolve) {\r\n var timeout = setTimeout((function() {\r\n clearTimeout(timeout);\r\n resolve()\r\n }))\r\n }))\r\n }.bind(this))\r\n },\r\n _load: function() {\r\n if (!this._mapsLoader) {\r\n this._mapsLoader = this._loadImpl()\r\n }\r\n this._markers = [];\r\n this._routes = [];\r\n return this._mapsLoader\r\n },\r\n _loadImpl: abstract,\r\n _init: abstract,\r\n _attachHandlers: abstract,\r\n addMarkers: function(options) {\r\n return Promise.all(map(options, function(options) {\r\n return this._addMarker(options)\r\n }.bind(this))).then(function(markerObjects) {\r\n this._fitBounds();\r\n return [false, map(markerObjects, (function(markerObject) {\r\n return markerObject.marker\r\n }))]\r\n }.bind(this))\r\n },\r\n _addMarker: function(options) {\r\n return this._renderMarker(options).then(function(markerObject) {\r\n this._markers.push(extend({\r\n options: options\r\n }, markerObject));\r\n this._fireMarkerAddedAction({\r\n options: options,\r\n originalMarker: markerObject.marker\r\n });\r\n return markerObject\r\n }.bind(this))\r\n },\r\n _renderMarker: abstract,\r\n removeMarkers: function(markersOptionsToRemove) {\r\n var that = this;\r\n each(markersOptionsToRemove, (function(_, markerOptionToRemove) {\r\n that._removeMarker(markerOptionToRemove)\r\n }));\r\n return Promise.resolve()\r\n },\r\n _removeMarker: function(markersOptionToRemove) {\r\n var that = this;\r\n each(this._markers, (function(markerIndex, markerObject) {\r\n if (markerObject.options !== markersOptionToRemove) {\r\n return true\r\n }\r\n that._destroyMarker(markerObject);\r\n that._markers.splice(markerIndex, 1);\r\n that._fireMarkerRemovedAction({\r\n options: markerObject.options\r\n });\r\n return false\r\n }))\r\n },\r\n _destroyMarker: abstract,\r\n _clearMarkers: function() {\r\n while (this._markers.length > 0) {\r\n this._removeMarker(this._markers[0].options)\r\n }\r\n },\r\n addRoutes: function(options) {\r\n return Promise.all(map(options, function(options) {\r\n return this._addRoute(options)\r\n }.bind(this))).then(function(routeObjects) {\r\n this._fitBounds();\r\n return [false, map(routeObjects, (function(routeObject) {\r\n return routeObject.instance\r\n }))]\r\n }.bind(this))\r\n },\r\n _addRoute: function(options) {\r\n return this._renderRoute(options).then(function(routeObject) {\r\n this._routes.push(extend({\r\n options: options\r\n }, routeObject));\r\n this._fireRouteAddedAction({\r\n options: options,\r\n originalRoute: routeObject.instance\r\n });\r\n return routeObject\r\n }.bind(this))\r\n },\r\n _renderRoute: abstract,\r\n removeRoutes: function(options) {\r\n var that = this;\r\n each(options, (function(routeIndex, options) {\r\n that._removeRoute(options)\r\n }));\r\n return Promise.resolve()\r\n },\r\n _removeRoute: function(options) {\r\n var that = this;\r\n each(this._routes, (function(routeIndex, routeObject) {\r\n if (routeObject.options !== options) {\r\n return true\r\n }\r\n that._destroyRoute(routeObject);\r\n that._routes.splice(routeIndex, 1);\r\n that._fireRouteRemovedAction({\r\n options: options\r\n });\r\n return false\r\n }))\r\n },\r\n _destroyRoute: abstract,\r\n _clearRoutes: function() {\r\n while (this._routes.length > 0) {\r\n this._removeRoute(this._routes[0].options)\r\n }\r\n },\r\n adjustViewport: function() {\r\n return this._fitBounds()\r\n },\r\n isEventsCanceled: function() {\r\n return true\r\n },\r\n _fitBounds: abstract,\r\n _updateBounds: function() {\r\n var that = this;\r\n this._clearBounds();\r\n if (!this._option(\"autoAdjust\")) {\r\n return\r\n }\r\n each(this._markers, (function(_, markerObject) {\r\n that._extendBounds(markerObject.location)\r\n }));\r\n each(this._routes, (function(_, routeObject) {\r\n routeObject.northEast && that._extendBounds(routeObject.northEast);\r\n routeObject.southWest && that._extendBounds(routeObject.southWest)\r\n }))\r\n },\r\n _clearBounds: function() {\r\n this._bounds = null\r\n },\r\n _extendBounds: abstract\r\n});\r\nexport default DynamicProvider;\r\n","/**\r\n * DevExtreme (esm/ui/map/provider.dynamic.google.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport DynamicProvider from \"./provider.dynamic\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport Color from \"../../color\";\r\nimport ajax from \"../../core/utils/ajax\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nvar GOOGLE_MAP_READY = \"_googleScriptReady\";\r\nvar GOOGLE_URL = \"https://maps.googleapis.com/maps/api/js?callback=\" + GOOGLE_MAP_READY;\r\nvar INFO_WINDOW_CLASS = \"gm-style-iw\";\r\nvar CustomMarker;\r\nvar initCustomMarkerClass = function() {\r\n CustomMarker = function(options) {\r\n this._position = options.position;\r\n this._offset = options.offset;\r\n this._$overlayContainer = $(\"
\").css({\r\n position: \"absolute\",\r\n display: \"none\",\r\n cursor: \"pointer\"\r\n }).append(options.html);\r\n this.setMap(options.map)\r\n };\r\n CustomMarker.prototype = new google.maps.OverlayView;\r\n CustomMarker.prototype.onAdd = function() {\r\n var $pane = $(this.getPanes().overlayMouseTarget);\r\n $pane.append(this._$overlayContainer);\r\n this._clickListener = google.maps.event.addDomListener(this._$overlayContainer.get(0), \"click\", function(e) {\r\n google.maps.event.trigger(this, \"click\");\r\n e.preventDefault()\r\n }.bind(this));\r\n this.draw()\r\n };\r\n CustomMarker.prototype.onRemove = function() {\r\n google.maps.event.removeListener(this._clickListener);\r\n this._$overlayContainer.remove()\r\n };\r\n CustomMarker.prototype.draw = function() {\r\n var position = this.getProjection().fromLatLngToDivPixel(this._position);\r\n this._$overlayContainer.css({\r\n left: position.x + this._offset.left,\r\n top: position.y + this._offset.top,\r\n display: \"block\"\r\n })\r\n }\r\n};\r\nvar googleMapsLoaded = function() {\r\n return window.google && window.google.maps\r\n};\r\nvar googleMapsLoader;\r\nvar GoogleProvider = DynamicProvider.inherit({\r\n _mapType: function(type) {\r\n var mapTypes = {\r\n hybrid: google.maps.MapTypeId.HYBRID,\r\n roadmap: google.maps.MapTypeId.ROADMAP,\r\n satellite: google.maps.MapTypeId.SATELLITE\r\n };\r\n return mapTypes[type] || mapTypes.hybrid\r\n },\r\n _movementMode: function(type) {\r\n var movementTypes = {\r\n driving: google.maps.TravelMode.DRIVING,\r\n walking: google.maps.TravelMode.WALKING\r\n };\r\n return movementTypes[type] || movementTypes.driving\r\n },\r\n _resolveLocation: function(location) {\r\n return new Promise(function(resolve) {\r\n var latLng = this._getLatLng(location);\r\n if (latLng) {\r\n resolve(new google.maps.LatLng(latLng.lat, latLng.lng))\r\n } else {\r\n this._geocodeLocation(location).then((function(geocodedLocation) {\r\n resolve(geocodedLocation)\r\n }))\r\n }\r\n }.bind(this))\r\n },\r\n _geocodedLocations: {},\r\n _geocodeLocationImpl: function(location) {\r\n return new Promise((function(resolve) {\r\n if (!isDefined(location)) {\r\n resolve(new google.maps.LatLng(0, 0));\r\n return\r\n }\r\n var geocoder = new google.maps.Geocoder;\r\n geocoder.geocode({\r\n address: location\r\n }, (function(results, status) {\r\n if (status === google.maps.GeocoderStatus.OK) {\r\n resolve(results[0].geometry.location)\r\n } else {\r\n errors.log(\"W1006\", status);\r\n resolve(new google.maps.LatLng(0, 0))\r\n }\r\n }))\r\n }))\r\n },\r\n _normalizeLocation: function(location) {\r\n return {\r\n lat: location.lat(),\r\n lng: location.lng()\r\n }\r\n },\r\n _normalizeLocationRect: function(locationRect) {\r\n return {\r\n northEast: this._normalizeLocation(locationRect.getNorthEast()),\r\n southWest: this._normalizeLocation(locationRect.getSouthWest())\r\n }\r\n },\r\n _loadImpl: function() {\r\n return new Promise(function(resolve) {\r\n if (googleMapsLoaded()) {\r\n resolve()\r\n } else {\r\n if (!googleMapsLoader) {\r\n googleMapsLoader = this._loadMapScript()\r\n }\r\n googleMapsLoader.then(function() {\r\n if (googleMapsLoaded()) {\r\n resolve();\r\n return\r\n }\r\n this._loadMapScript().then(resolve)\r\n }.bind(this))\r\n }\r\n }.bind(this)).then((function() {\r\n initCustomMarkerClass()\r\n }))\r\n },\r\n _loadMapScript: function() {\r\n return new Promise(function(resolve) {\r\n var key = this._keyOption(\"google\");\r\n window[GOOGLE_MAP_READY] = resolve;\r\n ajax.sendRequest({\r\n url: GOOGLE_URL + (key ? \"&key=\" + key : \"\"),\r\n dataType: \"script\"\r\n })\r\n }.bind(this)).then((function() {\r\n try {\r\n delete window[GOOGLE_MAP_READY]\r\n } catch (e) {\r\n window[GOOGLE_MAP_READY] = void 0\r\n }\r\n }))\r\n },\r\n _init: function() {\r\n return new Promise(function(resolve) {\r\n this._resolveLocation(this._option(\"center\")).then(function(center) {\r\n var showDefaultUI = this._option(\"controls\");\r\n this._map = new google.maps.Map(this._$container[0], {\r\n zoom: this._option(\"zoom\"),\r\n center: center,\r\n disableDefaultUI: !showDefaultUI\r\n });\r\n var listener = google.maps.event.addListener(this._map, \"idle\", (function() {\r\n resolve(listener)\r\n }))\r\n }.bind(this))\r\n }.bind(this)).then((function(listener) {\r\n google.maps.event.removeListener(listener)\r\n }))\r\n },\r\n _attachHandlers: function() {\r\n this._boundsChangeListener = google.maps.event.addListener(this._map, \"bounds_changed\", this._boundsChangeHandler.bind(this));\r\n this._clickListener = google.maps.event.addListener(this._map, \"click\", this._clickActionHandler.bind(this))\r\n },\r\n _boundsChangeHandler: function() {\r\n var bounds = this._map.getBounds();\r\n this._option(\"bounds\", this._normalizeLocationRect(bounds));\r\n var center = this._map.getCenter();\r\n this._option(\"center\", this._normalizeLocation(center));\r\n if (!this._preventZoomChangeEvent) {\r\n this._option(\"zoom\", this._map.getZoom())\r\n }\r\n },\r\n _clickActionHandler: function(e) {\r\n this._fireClickAction({\r\n location: this._normalizeLocation(e.latLng)\r\n })\r\n },\r\n updateDimensions: function() {\r\n var center = this._option(\"center\");\r\n google.maps.event.trigger(this._map, \"resize\");\r\n this._option(\"center\", center);\r\n return this.updateCenter()\r\n },\r\n updateMapType: function() {\r\n this._map.setMapTypeId(this._mapType(this._option(\"type\")));\r\n return Promise.resolve()\r\n },\r\n updateBounds: function() {\r\n return Promise.all([this._resolveLocation(this._option(\"bounds.northEast\")), this._resolveLocation(this._option(\"bounds.southWest\"))]).then(function(result) {\r\n var bounds = new google.maps.LatLngBounds;\r\n bounds.extend(result[0]);\r\n bounds.extend(result[1]);\r\n this._map.fitBounds(bounds)\r\n }.bind(this))\r\n },\r\n updateCenter: function() {\r\n return this._resolveLocation(this._option(\"center\")).then(function(center) {\r\n this._map.setCenter(center);\r\n this._option(\"center\", this._normalizeLocation(center))\r\n }.bind(this))\r\n },\r\n updateZoom: function() {\r\n this._map.setZoom(this._option(\"zoom\"));\r\n return Promise.resolve()\r\n },\r\n updateControls: function() {\r\n var showDefaultUI = this._option(\"controls\");\r\n this._map.setOptions({\r\n disableDefaultUI: !showDefaultUI\r\n });\r\n return Promise.resolve()\r\n },\r\n isEventsCanceled: function(e) {\r\n var gestureHandling = this._map && this._map.get(\"gestureHandling\");\r\n var isInfoWindowContent = $(e.target).closest(\".\".concat(INFO_WINDOW_CLASS)).length > 0;\r\n if (isInfoWindowContent || \"desktop\" !== devices.real().deviceType && \"cooperative\" === gestureHandling) {\r\n return false\r\n }\r\n return this.callBase()\r\n },\r\n _renderMarker: function(options) {\r\n return this._resolveLocation(options.location).then(function(location) {\r\n var marker;\r\n if (options.html) {\r\n marker = new CustomMarker({\r\n map: this._map,\r\n position: location,\r\n html: options.html,\r\n offset: extend({\r\n top: 0,\r\n left: 0\r\n }, options.htmlOffset)\r\n })\r\n } else {\r\n marker = new google.maps.Marker({\r\n position: location,\r\n map: this._map,\r\n icon: options.iconSrc || this._option(\"markerIconSrc\")\r\n })\r\n }\r\n var infoWindow = this._renderTooltip(marker, options.tooltip);\r\n var listener;\r\n if (options.onClick || options.tooltip) {\r\n var markerClickAction = this._mapWidget._createAction(options.onClick || noop);\r\n var markerNormalizedLocation = this._normalizeLocation(location);\r\n listener = google.maps.event.addListener(marker, \"click\", function() {\r\n markerClickAction({\r\n location: markerNormalizedLocation\r\n });\r\n if (infoWindow) {\r\n infoWindow.open(this._map, marker)\r\n }\r\n }.bind(this))\r\n }\r\n return {\r\n location: location,\r\n marker: marker,\r\n listener: listener\r\n }\r\n }.bind(this))\r\n },\r\n _renderTooltip: function(marker, options) {\r\n if (!options) {\r\n return\r\n }\r\n options = this._parseTooltipOptions(options);\r\n var infoWindow = new google.maps.InfoWindow({\r\n content: options.text\r\n });\r\n if (options.visible) {\r\n infoWindow.open(this._map, marker)\r\n }\r\n return infoWindow\r\n },\r\n _destroyMarker: function(marker) {\r\n marker.marker.setMap(null);\r\n if (marker.listener) {\r\n google.maps.event.removeListener(marker.listener)\r\n }\r\n },\r\n _renderRoute: function(options) {\r\n return Promise.all(map(options.locations, function(point) {\r\n return this._resolveLocation(point)\r\n }.bind(this))).then(function(locations) {\r\n return new Promise(function(resolve) {\r\n var origin = locations.shift();\r\n var destination = locations.pop();\r\n var waypoints = map(locations, (function(location) {\r\n return {\r\n location: location,\r\n stopover: true\r\n }\r\n }));\r\n var request = {\r\n origin: origin,\r\n destination: destination,\r\n waypoints: waypoints,\r\n optimizeWaypoints: true,\r\n travelMode: this._movementMode(options.mode)\r\n };\r\n (new google.maps.DirectionsService).route(request, function(response, status) {\r\n if (status === google.maps.DirectionsStatus.OK) {\r\n var color = new Color(options.color || this._defaultRouteColor()).toHex();\r\n var directionOptions = {\r\n directions: response,\r\n map: this._map,\r\n suppressMarkers: true,\r\n preserveViewport: true,\r\n polylineOptions: {\r\n strokeWeight: options.weight || this._defaultRouteWeight(),\r\n strokeOpacity: options.opacity || this._defaultRouteOpacity(),\r\n strokeColor: color\r\n }\r\n };\r\n var route = new google.maps.DirectionsRenderer(directionOptions);\r\n var bounds = response.routes[0].bounds;\r\n resolve({\r\n instance: route,\r\n northEast: bounds.getNorthEast(),\r\n southWest: bounds.getSouthWest()\r\n })\r\n } else {\r\n errors.log(\"W1006\", status);\r\n resolve({\r\n instance: new google.maps.DirectionsRenderer({})\r\n })\r\n }\r\n }.bind(this))\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n _destroyRoute: function(routeObject) {\r\n routeObject.instance.setMap(null)\r\n },\r\n _fitBounds: function() {\r\n this._updateBounds();\r\n if (this._bounds && this._option(\"autoAdjust\")) {\r\n var zoomBeforeFitting = this._map.getZoom();\r\n this._preventZoomChangeEvent = true;\r\n this._map.fitBounds(this._bounds);\r\n this._boundsChangeHandler();\r\n var zoomAfterFitting = this._map.getZoom();\r\n if (zoomBeforeFitting < zoomAfterFitting) {\r\n this._map.setZoom(zoomBeforeFitting)\r\n } else {\r\n this._option(\"zoom\", zoomAfterFitting)\r\n }\r\n delete this._preventZoomChangeEvent\r\n }\r\n return Promise.resolve()\r\n },\r\n _extendBounds: function(location) {\r\n if (this._bounds) {\r\n this._bounds.extend(location)\r\n } else {\r\n this._bounds = new google.maps.LatLngBounds;\r\n this._bounds.extend(location)\r\n }\r\n },\r\n clean: function() {\r\n if (this._map) {\r\n google.maps.event.removeListener(this._boundsChangeListener);\r\n google.maps.event.removeListener(this._clickListener);\r\n this._clearMarkers();\r\n this._clearRoutes();\r\n delete this._map;\r\n this._$container.empty()\r\n }\r\n return Promise.resolve()\r\n }\r\n});\r\nexport default GoogleProvider;\r\n","/**\r\n * DevExtreme (esm/ui/map/provider.dynamic.bing.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n map,\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport DynamicProvider from \"./provider.dynamic\";\r\nimport Color from \"../../color\";\r\nimport ajax from \"../../core/utils/ajax\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nvar BING_MAP_READY = \"_bingScriptReady\";\r\nvar BING_URL_V8 = \"https://www.bing.com/api/maps/mapcontrol?callback=\" + BING_MAP_READY;\r\nvar INFOBOX_V_OFFSET_V8 = 13;\r\nvar BING_CREDENTIALS = \"AhuxC0dQ1DBTNo8L-H9ToVMQStmizZzBJdraTSgCzDSWPsA1Qd8uIvFSflzxdaLH\";\r\nvar MIN_LOCATION_RECT_LENGTH = 1e-16;\r\nvar msMapsLoaded = function() {\r\n return window.Microsoft && window.Microsoft.Maps\r\n};\r\nvar msMapsLoader;\r\nvar BingProvider = DynamicProvider.inherit({\r\n _mapType: function(type) {\r\n var mapTypes = {\r\n roadmap: Microsoft.Maps.MapTypeId.road,\r\n hybrid: Microsoft.Maps.MapTypeId.aerial,\r\n satellite: Microsoft.Maps.MapTypeId.aerial\r\n };\r\n return mapTypes[type] || mapTypes.road\r\n },\r\n _movementMode: function(type) {\r\n var movementTypes = {\r\n driving: Microsoft.Maps.Directions.RouteMode.driving,\r\n walking: Microsoft.Maps.Directions.RouteMode.walking\r\n };\r\n return movementTypes[type] || movementTypes.driving\r\n },\r\n _resolveLocation: function(location) {\r\n return new Promise(function(resolve) {\r\n var latLng = this._getLatLng(location);\r\n if (latLng) {\r\n resolve(new Microsoft.Maps.Location(latLng.lat, latLng.lng))\r\n } else {\r\n this._geocodeLocation(location).then((function(geocodedLocation) {\r\n resolve(geocodedLocation)\r\n }))\r\n }\r\n }.bind(this))\r\n },\r\n _geocodedLocations: {},\r\n _geocodeLocationImpl: function(location) {\r\n return new Promise(function(resolve) {\r\n if (!isDefined(location)) {\r\n resolve(new Microsoft.Maps.Location(0, 0));\r\n return\r\n }\r\n var searchManager = new Microsoft.Maps.Search.SearchManager(this._map);\r\n var searchRequest = {\r\n where: location,\r\n count: 1,\r\n callback: function(searchResponse) {\r\n var result = searchResponse.results[0];\r\n if (result) {\r\n var boundsBox = searchResponse.results[0].location;\r\n resolve(new Microsoft.Maps.Location(boundsBox.latitude, boundsBox.longitude))\r\n } else {\r\n resolve(new Microsoft.Maps.Location(0, 0))\r\n }\r\n }\r\n };\r\n searchManager.geocode(searchRequest)\r\n }.bind(this))\r\n },\r\n _normalizeLocation: function(location) {\r\n return {\r\n lat: location.latitude,\r\n lng: location.longitude\r\n }\r\n },\r\n _normalizeLocationRect: function(locationRect) {\r\n var northWest = this._normalizeLocation(locationRect.getNorthwest());\r\n var southEast = this._normalizeLocation(locationRect.getSoutheast());\r\n return {\r\n northEast: {\r\n lat: northWest.lat,\r\n lng: southEast.lng\r\n },\r\n southWest: {\r\n lat: southEast.lat,\r\n lng: northWest.lng\r\n }\r\n }\r\n },\r\n _loadImpl: function() {\r\n return new Promise(function(resolve) {\r\n if (msMapsLoaded()) {\r\n resolve()\r\n } else {\r\n if (!msMapsLoader) {\r\n msMapsLoader = this._loadMapScript()\r\n }\r\n msMapsLoader.then(function() {\r\n if (msMapsLoaded()) {\r\n resolve();\r\n return\r\n }\r\n this._loadMapScript().then(resolve)\r\n }.bind(this))\r\n }\r\n }.bind(this)).then((function() {\r\n return Promise.all([new Promise((function(resolve) {\r\n Microsoft.Maps.loadModule(\"Microsoft.Maps.Search\", {\r\n callback: resolve\r\n })\r\n })), new Promise((function(resolve) {\r\n Microsoft.Maps.loadModule(\"Microsoft.Maps.Directions\", {\r\n callback: resolve\r\n })\r\n }))])\r\n }))\r\n },\r\n _loadMapScript: function() {\r\n return new Promise((function(resolve) {\r\n window[BING_MAP_READY] = resolve;\r\n ajax.sendRequest({\r\n url: BING_URL_V8,\r\n dataType: \"script\"\r\n })\r\n })).then((function() {\r\n try {\r\n delete window[BING_MAP_READY]\r\n } catch (e) {\r\n window[BING_MAP_READY] = void 0\r\n }\r\n }))\r\n },\r\n _init: function() {\r\n this._createMap();\r\n return Promise.resolve()\r\n },\r\n _createMap: function() {\r\n var controls = this._option(\"controls\");\r\n this._map = new Microsoft.Maps.Map(this._$container[0], {\r\n credentials: this._keyOption(\"bing\") || BING_CREDENTIALS,\r\n zoom: this._option(\"zoom\"),\r\n showDashboard: controls,\r\n showMapTypeSelector: controls,\r\n showScalebar: controls\r\n })\r\n },\r\n _attachHandlers: function() {\r\n this._providerViewChangeHandler = Microsoft.Maps.Events.addHandler(this._map, \"viewchange\", this._viewChangeHandler.bind(this));\r\n this._providerClickHandler = Microsoft.Maps.Events.addHandler(this._map, \"click\", this._clickActionHandler.bind(this))\r\n },\r\n _viewChangeHandler: function() {\r\n var bounds = this._map.getBounds();\r\n this._option(\"bounds\", this._normalizeLocationRect(bounds));\r\n var center = this._map.getCenter();\r\n this._option(\"center\", this._normalizeLocation(center));\r\n if (!this._preventZoomChangeEvent) {\r\n this._option(\"zoom\", this._map.getZoom())\r\n }\r\n },\r\n _clickActionHandler: function(e) {\r\n if (\"map\" === e.targetType) {\r\n this._fireClickAction({\r\n location: this._normalizeLocation(e.location)\r\n })\r\n }\r\n },\r\n updateDimensions: function() {\r\n var $container = this._$container;\r\n this._map.setOptions({\r\n width: getWidth($container),\r\n height: getHeight($container)\r\n });\r\n return Promise.resolve()\r\n },\r\n updateMapType: function() {\r\n var type = this._option(\"type\");\r\n var labelOverlay = Microsoft.Maps.LabelOverlay;\r\n this._map.setView({\r\n animate: false,\r\n mapTypeId: this._mapType(type),\r\n labelOverlay: \"satellite\" === type ? labelOverlay.hidden : labelOverlay.visible\r\n });\r\n return Promise.resolve()\r\n },\r\n updateBounds: function() {\r\n return Promise.all([this._resolveLocation(this._option(\"bounds.northEast\")), this._resolveLocation(this._option(\"bounds.southWest\"))]).then(function(result) {\r\n var bounds = new Microsoft.Maps.LocationRect.fromLocations(result[0], result[1]);\r\n this._map.setView({\r\n animate: false,\r\n bounds: bounds\r\n })\r\n }.bind(this))\r\n },\r\n updateCenter: function() {\r\n return this._resolveLocation(this._option(\"center\")).then(function(center) {\r\n this._map.setView({\r\n animate: false,\r\n center: center\r\n })\r\n }.bind(this))\r\n },\r\n updateZoom: function() {\r\n this._map.setView({\r\n animate: false,\r\n zoom: this._option(\"zoom\")\r\n });\r\n return Promise.resolve()\r\n },\r\n updateControls: function() {\r\n this.clean();\r\n return this.render.apply(this, arguments)\r\n },\r\n _renderMarker: function(options) {\r\n return this._resolveLocation(options.location).then(function(location) {\r\n var pushpinOptions = {\r\n icon: options.iconSrc || this._option(\"markerIconSrc\")\r\n };\r\n if (options.html) {\r\n extend(pushpinOptions, {\r\n htmlContent: options.html,\r\n width: null,\r\n height: null\r\n });\r\n var htmlOffset = options.htmlOffset;\r\n if (htmlOffset) {\r\n pushpinOptions.anchor = new Microsoft.Maps.Point(-htmlOffset.left, -htmlOffset.top)\r\n }\r\n }\r\n var pushpin = new Microsoft.Maps.Pushpin(location, pushpinOptions);\r\n this._map.entities.push(pushpin);\r\n var infobox = this._renderTooltip(location, options.tooltip);\r\n var handler;\r\n if (options.onClick || options.tooltip) {\r\n var markerClickAction = this._mapWidget._createAction(options.onClick || noop);\r\n var markerNormalizedLocation = this._normalizeLocation(location);\r\n handler = Microsoft.Maps.Events.addHandler(pushpin, \"click\", (function() {\r\n markerClickAction({\r\n location: markerNormalizedLocation\r\n });\r\n if (infobox) {\r\n infobox.setOptions({\r\n visible: true\r\n })\r\n }\r\n }))\r\n }\r\n return {\r\n location: location,\r\n marker: pushpin,\r\n infobox: infobox,\r\n handler: handler\r\n }\r\n }.bind(this))\r\n },\r\n _renderTooltip: function(location, options) {\r\n if (!options) {\r\n return\r\n }\r\n options = this._parseTooltipOptions(options);\r\n var infobox = new Microsoft.Maps.Infobox(location, {\r\n description: options.text,\r\n offset: new Microsoft.Maps.Point(0, INFOBOX_V_OFFSET_V8),\r\n visible: options.visible\r\n });\r\n infobox.setMap(this._map);\r\n return infobox\r\n },\r\n _destroyMarker: function(marker) {\r\n this._map.entities.remove(marker.marker);\r\n if (marker.infobox) {\r\n marker.infobox.setMap(null)\r\n }\r\n if (marker.handler) {\r\n Microsoft.Maps.Events.removeHandler(marker.handler)\r\n }\r\n },\r\n _renderRoute: function(options) {\r\n return Promise.all(map(options.locations, function(point) {\r\n return this._resolveLocation(point)\r\n }.bind(this))).then(function(locations) {\r\n return new Promise(function(resolve) {\r\n var direction = new Microsoft.Maps.Directions.DirectionsManager(this._map);\r\n var color = new Color(options.color || this._defaultRouteColor()).toHex();\r\n var routeColor = new Microsoft.Maps.Color.fromHex(color);\r\n routeColor.a = 255 * (options.opacity || this._defaultRouteOpacity());\r\n direction.setRenderOptions({\r\n autoUpdateMapView: false,\r\n displayRouteSelector: false,\r\n waypointPushpinOptions: {\r\n visible: false\r\n },\r\n drivingPolylineOptions: {\r\n strokeColor: routeColor,\r\n strokeThickness: options.weight || this._defaultRouteWeight()\r\n },\r\n walkingPolylineOptions: {\r\n strokeColor: routeColor,\r\n strokeThickness: options.weight || this._defaultRouteWeight()\r\n }\r\n });\r\n direction.setRequestOptions({\r\n routeMode: this._movementMode(options.mode),\r\n routeDraggable: false\r\n });\r\n each(locations, (function(_, location) {\r\n var waypoint = new Microsoft.Maps.Directions.Waypoint({\r\n location: location\r\n });\r\n direction.addWaypoint(waypoint)\r\n }));\r\n var directionHandlers = [];\r\n directionHandlers.push(Microsoft.Maps.Events.addHandler(direction, \"directionsUpdated\", (function(args) {\r\n while (directionHandlers.length) {\r\n Microsoft.Maps.Events.removeHandler(directionHandlers.pop())\r\n }\r\n var routeSummary = args.routeSummary[0];\r\n resolve({\r\n instance: direction,\r\n northEast: routeSummary.northEast,\r\n southWest: routeSummary.southWest\r\n })\r\n })));\r\n directionHandlers.push(Microsoft.Maps.Events.addHandler(direction, \"directionsError\", (function(args) {\r\n while (directionHandlers.length) {\r\n Microsoft.Maps.Events.removeHandler(directionHandlers.pop())\r\n }\r\n var status = \"RouteResponseCode: \" + args.responseCode + \" - \" + args.message;\r\n errors.log(\"W1006\", status);\r\n resolve({\r\n instance: direction\r\n })\r\n })));\r\n direction.calculateDirections()\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n _destroyRoute: function(routeObject) {\r\n routeObject.instance.dispose()\r\n },\r\n _fitBounds: function() {\r\n this._updateBounds();\r\n if (this._bounds && this._option(\"autoAdjust\")) {\r\n var zoomBeforeFitting = this._map.getZoom();\r\n this._preventZoomChangeEvent = true;\r\n var bounds = this._bounds.clone();\r\n bounds.height = 1.1 * bounds.height;\r\n bounds.width = 1.1 * bounds.width;\r\n this._map.setView({\r\n animate: false,\r\n bounds: bounds,\r\n zoom: zoomBeforeFitting\r\n });\r\n var zoomAfterFitting = this._map.getZoom();\r\n if (zoomBeforeFitting < zoomAfterFitting) {\r\n this._map.setView({\r\n animate: false,\r\n zoom: zoomBeforeFitting\r\n })\r\n } else {\r\n this._option(\"zoom\", zoomAfterFitting)\r\n }\r\n delete this._preventZoomChangeEvent\r\n }\r\n return Promise.resolve()\r\n },\r\n _extendBounds: function(location) {\r\n if (this._bounds) {\r\n this._bounds = new Microsoft.Maps.LocationRect.fromLocations(this._bounds.getNorthwest(), this._bounds.getSoutheast(), location)\r\n } else {\r\n this._bounds = new Microsoft.Maps.LocationRect(location, MIN_LOCATION_RECT_LENGTH, MIN_LOCATION_RECT_LENGTH)\r\n }\r\n },\r\n clean: function() {\r\n if (this._map) {\r\n Microsoft.Maps.Events.removeHandler(this._providerViewChangeHandler);\r\n Microsoft.Maps.Events.removeHandler(this._providerClickHandler);\r\n this._clearMarkers();\r\n this._clearRoutes();\r\n this._map.dispose()\r\n }\r\n return Promise.resolve()\r\n }\r\n});\r\nexport default BingProvider;\r\n","/**\r\n * DevExtreme (esm/ui/map.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport errors from \"./widget/ui.errors\";\r\nimport devices from \"../core/devices\";\r\nimport Widget from \"./widget/ui.widget\";\r\nimport {\r\n titleize\r\n} from \"../core/utils/inflector\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n wrapToArray\r\n} from \"../core/utils/array\";\r\nimport {\r\n isNumeric\r\n} from \"../core/utils/type\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport pointerEvents from \"../events/pointer\";\r\nimport googleStatic from \"./map/provider.google_static\";\r\nimport google from \"./map/provider.dynamic.google\";\r\nimport bing from \"./map/provider.dynamic.bing\";\r\nvar PROVIDERS = {\r\n googleStatic: googleStatic,\r\n google: google,\r\n bing: bing\r\n};\r\nvar MAP_CLASS = \"dx-map\";\r\nvar MAP_CONTAINER_CLASS = \"dx-map-container\";\r\nvar MAP_SHIELD_CLASS = \"dx-map-shield\";\r\nvar Map = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n bounds: {\r\n northEast: null,\r\n southWest: null\r\n },\r\n center: {\r\n lat: 0,\r\n lng: 0\r\n },\r\n zoom: 1,\r\n width: 300,\r\n height: 300,\r\n type: \"roadmap\",\r\n provider: \"google\",\r\n autoAdjust: true,\r\n markers: [],\r\n markerIconSrc: null,\r\n onMarkerAdded: null,\r\n onMarkerRemoved: null,\r\n routes: [],\r\n onRouteAdded: null,\r\n onRouteRemoved: null,\r\n apiKey: {\r\n bing: \"\",\r\n google: \"\",\r\n googleStatic: \"\"\r\n },\r\n controls: false,\r\n onReady: null,\r\n onUpdated: null,\r\n onClick: null\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(MAP_CLASS);\r\n this._lastAsyncAction = Promise.resolve();\r\n this._checkOption(\"provider\");\r\n this._checkOption(\"markers\");\r\n this._checkOption(\"routes\");\r\n this._initContainer();\r\n this._grabEvents();\r\n this._rendered = {}\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _checkOption: function(option) {\r\n var value = this.option(option);\r\n if (\"markers\" === option && !Array.isArray(value)) {\r\n throw errors.Error(\"E1022\")\r\n }\r\n if (\"routes\" === option && !Array.isArray(value)) {\r\n throw errors.Error(\"E1023\")\r\n }\r\n },\r\n _initContainer: function() {\r\n this._$container = $(\"
\").addClass(MAP_CONTAINER_CLASS);\r\n this.$element().append(this._$container)\r\n },\r\n _grabEvents: function() {\r\n var eventName = addNamespace(pointerEvents.down, this.NAME);\r\n eventsEngine.on(this.$element(), eventName, this._cancelEvent.bind(this))\r\n },\r\n _cancelEvent: function(e) {\r\n var cancelByProvider = this._provider && this._provider.isEventsCanceled(e) && !this.option(\"disabled\");\r\n if (cancelByProvider) {\r\n e.stopPropagation()\r\n }\r\n },\r\n _saveRendered: function(option) {\r\n var value = this.option(option);\r\n this._rendered[option] = value.slice()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderShield();\r\n this._saveRendered(\"markers\");\r\n this._saveRendered(\"routes\");\r\n this._provider = new(PROVIDERS[this.option(\"provider\")])(this, this._$container);\r\n this._queueAsyncAction(\"render\", this._rendered.markers, this._rendered.routes)\r\n },\r\n _renderShield: function() {\r\n var $shield;\r\n if (this.option(\"disabled\")) {\r\n $shield = $(\"
\").addClass(MAP_SHIELD_CLASS);\r\n this.$element().append($shield)\r\n } else {\r\n $shield = this.$element().find(\".\" + MAP_SHIELD_CLASS);\r\n $shield.remove()\r\n }\r\n },\r\n _clean: function() {\r\n this._cleanFocusState();\r\n if (this._provider) {\r\n this._provider.clean()\r\n }\r\n this._provider = null;\r\n this._lastAsyncAction = Promise.resolve();\r\n this.setOptionSilent(\"bounds\", {\r\n northEast: null,\r\n southWest: null\r\n });\r\n delete this._suppressAsyncAction\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name;\r\n var changeBag = this._optionChangeBag;\r\n this._optionChangeBag = null;\r\n switch (name) {\r\n case \"disabled\":\r\n this._renderShield();\r\n this.callBase(args);\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n this._dimensionChanged();\r\n break;\r\n case \"provider\":\r\n this._suppressAsyncAction = true;\r\n this._invalidate();\r\n break;\r\n case \"apiKey\":\r\n errors.log(\"W1001\");\r\n break;\r\n case \"bounds\":\r\n this._queueAsyncAction(\"updateBounds\");\r\n break;\r\n case \"center\":\r\n this._queueAsyncAction(\"updateCenter\");\r\n break;\r\n case \"zoom\":\r\n this._queueAsyncAction(\"updateZoom\");\r\n break;\r\n case \"type\":\r\n this._queueAsyncAction(\"updateMapType\");\r\n break;\r\n case \"controls\":\r\n this._queueAsyncAction(\"updateControls\", this._rendered.markers, this._rendered.routes);\r\n break;\r\n case \"autoAdjust\":\r\n this._queueAsyncAction(\"adjustViewport\");\r\n break;\r\n case \"markers\":\r\n case \"routes\":\r\n this._checkOption(name);\r\n var prevValue = this._rendered[name];\r\n this._saveRendered(name);\r\n this._queueAsyncAction(\"update\" + titleize(name), changeBag ? changeBag.removed : prevValue, changeBag ? changeBag.added : this._rendered[name]).then((function(result) {\r\n if (changeBag) {\r\n changeBag.resolve(result)\r\n }\r\n }));\r\n break;\r\n case \"markerIconSrc\":\r\n this._queueAsyncAction(\"updateMarkers\", this._rendered.markers, this._rendered.markers);\r\n break;\r\n case \"onReady\":\r\n case \"onUpdated\":\r\n case \"onMarkerAdded\":\r\n case \"onMarkerRemoved\":\r\n case \"onRouteAdded\":\r\n case \"onRouteRemoved\":\r\n case \"onClick\":\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._queueAsyncAction(\"updateDimensions\")\r\n },\r\n _queueAsyncAction: function(name) {\r\n var options = [].slice.call(arguments).slice(1);\r\n var isActionSuppressed = this._suppressAsyncAction;\r\n this._lastAsyncAction = this._lastAsyncAction.then(function() {\r\n if (!this._provider || isActionSuppressed) {\r\n return Promise.resolve()\r\n }\r\n return this._provider[name].apply(this._provider, options).then(function(result) {\r\n result = wrapToArray(result);\r\n var mapRefreshed = result[0];\r\n if (mapRefreshed && !this._disposed) {\r\n this._triggerReadyAction()\r\n }\r\n return result[1]\r\n }.bind(this))\r\n }.bind(this));\r\n return this._lastAsyncAction\r\n },\r\n _triggerReadyAction: function() {\r\n this._createActionByOption(\"onReady\")({\r\n originalMap: this._provider.map()\r\n })\r\n },\r\n _triggerUpdateAction: function() {\r\n this._createActionByOption(\"onUpdated\")()\r\n },\r\n setOptionSilent: function(name, value) {\r\n this._setOptionWithoutOptionChange(name, value)\r\n },\r\n addMarker: function(marker) {\r\n return this._addFunction(\"markers\", marker)\r\n },\r\n removeMarker: function(marker) {\r\n return this._removeFunction(\"markers\", marker)\r\n },\r\n addRoute: function(route) {\r\n return this._addFunction(\"routes\", route)\r\n },\r\n removeRoute: function(route) {\r\n return this._removeFunction(\"routes\", route)\r\n },\r\n _addFunction: function(optionName, addingValue) {\r\n var optionValue = this.option(optionName);\r\n var addingValues = wrapToArray(addingValue);\r\n optionValue.push.apply(optionValue, addingValues);\r\n return this._partialArrayOptionChange(optionName, optionValue, addingValues, [])\r\n },\r\n _removeFunction: function(optionName, removingValue) {\r\n var optionValue = this.option(optionName);\r\n var removingValues = wrapToArray(removingValue);\r\n each(removingValues, (function(removingIndex, removingValue) {\r\n var index = isNumeric(removingValue) ? removingValue : null === optionValue || void 0 === optionValue ? void 0 : optionValue.indexOf(removingValue);\r\n if (-1 !== index) {\r\n var removing = optionValue.splice(index, 1)[0];\r\n removingValues.splice(removingIndex, 1, removing)\r\n } else {\r\n throw errors.log(\"E1021\", titleize(optionName.substring(0, optionName.length - 1)), removingValue)\r\n }\r\n }));\r\n return this._partialArrayOptionChange(optionName, optionValue, [], removingValues)\r\n },\r\n _partialArrayOptionChange: function(optionName, optionValue, addingValues, removingValues) {\r\n return fromPromise(new Promise(function(resolve) {\r\n this._optionChangeBag = {\r\n resolve: resolve,\r\n added: addingValues,\r\n removed: removingValues\r\n };\r\n this.option(optionName, optionValue)\r\n }.bind(this)).then((function(result) {\r\n return result && 1 === result.length ? result[0] : result\r\n })), this)\r\n }\r\n});\r\nregisterComponent(\"dxMap\", Map);\r\nexport default Map;\r\n","/**\r\n * DevExtreme (esm/ui/widget/swatch_container.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n value\r\n} from \"../../core/utils/view_port\";\r\nvar SWATCH_CONTAINER_CLASS_PREFIX = \"dx-swatch-\";\r\nvar getSwatchContainer = element => {\r\n var $element = $(element);\r\n var swatchContainer = $element.closest('[class^=\"'.concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"], [class*=\" ').concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"]'));\r\n var viewport = value();\r\n if (!swatchContainer.length) {\r\n return viewport\r\n }\r\n var swatchClassRegex = new RegExp(\"(\\\\s|^)(\".concat(SWATCH_CONTAINER_CLASS_PREFIX, \".*?)(\\\\s|$)\"));\r\n var swatchClass = swatchContainer[0].className.match(swatchClassRegex)[2];\r\n var viewportSwatchContainer = viewport.children(\".\" + swatchClass);\r\n if (!viewportSwatchContainer.length) {\r\n viewportSwatchContainer = $(\"
\").addClass(swatchClass).appendTo(viewport)\r\n }\r\n return viewportSwatchContainer\r\n};\r\nexport default {\r\n getSwatchContainer: getSwatchContainer\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/overlay/overlay_position_controller.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isWindow,\r\n isEvent\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport positionUtils from \"../../animation/position\";\r\nimport {\r\n resetPosition,\r\n move,\r\n locate\r\n} from \"../../animation/translator\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport swatch from \"../widget/swatch_container\";\r\nvar window = getWindow();\r\nvar OVERLAY_POSITION_ALIASES = {\r\n top: {\r\n my: \"top center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"bottom center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"right center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"left center\",\r\n at: \"left center\"\r\n },\r\n center: {\r\n my: \"center\",\r\n at: \"center\"\r\n },\r\n \"right bottom\": {\r\n my: \"right bottom\",\r\n at: \"right bottom\"\r\n },\r\n \"right top\": {\r\n my: \"right top\",\r\n at: \"right top\"\r\n },\r\n \"left bottom\": {\r\n my: \"left bottom\",\r\n at: \"left bottom\"\r\n },\r\n \"left top\": {\r\n my: \"left top\",\r\n at: \"left top\"\r\n }\r\n};\r\nvar OVERLAY_DEFAULT_BOUNDARY_OFFSET = {\r\n h: 0,\r\n v: 0\r\n};\r\nclass OverlayPositionController {\r\n constructor(_ref) {\r\n var {\r\n position: position,\r\n container: container,\r\n visualContainer: visualContainer,\r\n $root: $root,\r\n $content: $content,\r\n $wrapper: $wrapper,\r\n onPositioned: onPositioned,\r\n onVisualPositionChanged: onVisualPositionChanged,\r\n restorePosition: restorePosition,\r\n _fixWrapperPosition: _fixWrapperPosition\r\n } = _ref;\r\n this._props = {\r\n position: position,\r\n container: container,\r\n visualContainer: visualContainer,\r\n restorePosition: restorePosition,\r\n onPositioned: onPositioned,\r\n onVisualPositionChanged: onVisualPositionChanged,\r\n _fixWrapperPosition: _fixWrapperPosition\r\n };\r\n this._$root = $root;\r\n this._$content = $content;\r\n this._$wrapper = $wrapper;\r\n this._$markupContainer = void 0;\r\n this._$visualContainer = void 0;\r\n this._shouldRenderContentInitialPosition = true;\r\n this._visualPosition = void 0;\r\n this._initialPosition = void 0;\r\n this._previousVisualPosition = void 0;\r\n this.updateContainer(container);\r\n this.updatePosition(position);\r\n this.updateVisualContainer(visualContainer)\r\n }\r\n get $container() {\r\n this.updateContainer();\r\n return this._$markupContainer\r\n }\r\n get $visualContainer() {\r\n return this._$visualContainer\r\n }\r\n get position() {\r\n return this._position\r\n }\r\n set fixWrapperPosition(fixWrapperPosition) {\r\n this._props._fixWrapperPosition = fixWrapperPosition;\r\n this.styleWrapperPosition()\r\n }\r\n set restorePosition(restorePosition) {\r\n this._props.restorePosition = restorePosition\r\n }\r\n restorePositionOnNextRender(value) {\r\n this._shouldRenderContentInitialPosition = value || !this._visualPosition\r\n }\r\n openingHandled() {\r\n var shouldRestorePosition = this._props.restorePosition;\r\n this.restorePositionOnNextRender(shouldRestorePosition)\r\n }\r\n updatePosition(positionProp) {\r\n this._props.position = positionProp;\r\n this._position = this._normalizePosition(positionProp);\r\n this.updateVisualContainer()\r\n }\r\n updateContainer() {\r\n var containerProp = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._props.container;\r\n this._props.container = containerProp;\r\n this._$markupContainer = containerProp ? $(containerProp) : swatch.getSwatchContainer(this._$root);\r\n this.updateVisualContainer(this._props.visualContainer)\r\n }\r\n updateVisualContainer() {\r\n var visualContainer = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._props.visualContainer;\r\n this._props.visualContainer = visualContainer;\r\n this._$visualContainer = this._getVisualContainer()\r\n }\r\n detectVisualPositionChange(event) {\r\n this._updateVisualPositionValue();\r\n this._raisePositionedEvents(event)\r\n }\r\n positionContent() {\r\n if (this._shouldRenderContentInitialPosition) {\r\n this._renderContentInitialPosition()\r\n } else {\r\n move(this._$content, this._visualPosition);\r\n this.detectVisualPositionChange()\r\n }\r\n }\r\n positionWrapper() {\r\n if (this._$visualContainer) {\r\n positionUtils.setup(this._$wrapper, {\r\n my: \"top left\",\r\n at: \"top left\",\r\n of: this._$visualContainer\r\n })\r\n }\r\n }\r\n styleWrapperPosition() {\r\n var useFixed = isWindow(this.$visualContainer.get(0)) || this._props._fixWrapperPosition;\r\n var positionStyle = useFixed ? \"fixed\" : \"absolute\";\r\n this._$wrapper.css(\"position\", positionStyle)\r\n }\r\n _updateVisualPositionValue() {\r\n this._previousVisualPosition = this._visualPosition;\r\n this._visualPosition = locate(this._$content)\r\n }\r\n _renderContentInitialPosition() {\r\n this._renderBoundaryOffset();\r\n resetPosition(this._$content);\r\n var wrapperOverflow = this._$wrapper.css(\"overflow\");\r\n this._$wrapper.css(\"overflow\", \"hidden\");\r\n var resultPosition = positionUtils.setup(this._$content, this._position);\r\n this._$wrapper.css(\"overflow\", wrapperOverflow);\r\n this._initialPosition = resultPosition;\r\n this.detectVisualPositionChange()\r\n }\r\n _raisePositionedEvents(event) {\r\n var previousPosition = this._previousVisualPosition;\r\n var newPosition = this._visualPosition;\r\n var isVisualPositionChanged = (null === previousPosition || void 0 === previousPosition ? void 0 : previousPosition.top) !== newPosition.top || (null === previousPosition || void 0 === previousPosition ? void 0 : previousPosition.left) !== newPosition.left;\r\n if (isVisualPositionChanged) {\r\n this._props.onVisualPositionChanged({\r\n previousPosition: previousPosition,\r\n position: newPosition,\r\n event: event\r\n })\r\n }\r\n this._props.onPositioned({\r\n position: this._initialPosition\r\n })\r\n }\r\n _renderBoundaryOffset() {\r\n var _this$_position;\r\n var boundaryOffset = null !== (_this$_position = this._position) && void 0 !== _this$_position ? _this$_position : {\r\n boundaryOffset: OVERLAY_DEFAULT_BOUNDARY_OFFSET\r\n };\r\n this._$content.css(\"margin\", \"\".concat(boundaryOffset.v, \"px \").concat(boundaryOffset.h, \"px\"))\r\n }\r\n _getVisualContainer() {\r\n var _this$_props$position, _this$_props$position2;\r\n var containerProp = this._props.container;\r\n var visualContainerProp = this._props.visualContainer;\r\n var positionOf = isEvent(null === (_this$_props$position = this._props.position) || void 0 === _this$_props$position ? void 0 : _this$_props$position.of) ? this._props.position.of.target : null === (_this$_props$position2 = this._props.position) || void 0 === _this$_props$position2 ? void 0 : _this$_props$position2.of;\r\n if (visualContainerProp) {\r\n return $(visualContainerProp)\r\n }\r\n if (containerProp) {\r\n return $(containerProp)\r\n }\r\n if (positionOf) {\r\n return $(positionOf)\r\n }\r\n return $(window)\r\n }\r\n _normalizePosition(positionProp) {\r\n var defaultPositionConfig = {\r\n boundaryOffset: OVERLAY_DEFAULT_BOUNDARY_OFFSET\r\n };\r\n if (isDefined(positionProp)) {\r\n return extend(true, {}, defaultPositionConfig, this._positionToObject(positionProp))\r\n } else {\r\n return defaultPositionConfig\r\n }\r\n }\r\n _positionToObject(position) {\r\n if (isString(position)) {\r\n return extend({}, OVERLAY_POSITION_ALIASES[position])\r\n }\r\n return position\r\n }\r\n}\r\nexport {\r\n OVERLAY_POSITION_ALIASES,\r\n OverlayPositionController\r\n};\r\n","/**\r\n * DevExtreme (esm/mobile/hide_callback.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var hideCallback = function() {\r\n var callbacks = [];\r\n return {\r\n add: function(callback) {\r\n if (!callbacks.includes(callback)) {\r\n callbacks.push(callback)\r\n }\r\n },\r\n remove: function(callback) {\r\n var indexOfCallback = callbacks.indexOf(callback);\r\n if (-1 !== indexOfCallback) {\r\n callbacks.splice(indexOfCallback, 1)\r\n }\r\n },\r\n fire: function() {\r\n var callback = callbacks.pop();\r\n var result = !!callback;\r\n if (result) {\r\n callback()\r\n }\r\n return result\r\n },\r\n hasCallback: function() {\r\n return callbacks.length > 0\r\n }\r\n }\r\n}();\r\n","/**\r\n * DevExtreme (esm/ui/overlay/ui.overlay.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport fx from \"../../animation/fx\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport devices from \"../../core/devices\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../../core/templates/empty_template\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n contains,\r\n resetActiveElement\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport {\r\n isFunction,\r\n isObject,\r\n isPromise,\r\n isWindow\r\n} from \"../../core/utils/type\";\r\nimport {\r\n changeCallback\r\n} from \"../../core/utils/view_port\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport errors from \"../../core/errors\";\r\nimport uiErrors from \"../widget/ui.errors\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n move as dragEventMove\r\n} from \"../../events/drag\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n keyboard\r\n} from \"../../events/short\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n triggerHidingEvent,\r\n triggerResizeEvent,\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport {\r\n hideCallback as hideTopOverlayCallback\r\n} from \"../../mobile/hide_callback\";\r\nimport {\r\n tabbable\r\n} from \"../widget/selectors\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport * as zIndexPool from \"./z_index\";\r\nimport {\r\n OverlayPositionController,\r\n OVERLAY_POSITION_ALIASES\r\n} from \"./overlay_position_controller\";\r\nvar ready = readyCallbacks.add;\r\nvar window = getWindow();\r\nvar viewPortChanged = changeCallback;\r\nvar OVERLAY_CLASS = \"dx-overlay\";\r\nvar OVERLAY_WRAPPER_CLASS = \"dx-overlay-wrapper\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\r\nvar OVERLAY_SHADER_CLASS = \"dx-overlay-shader\";\r\nvar INNER_OVERLAY_CLASS = \"dx-inner-overlay\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar RTL_DIRECTION_CLASS = \"dx-rtl\";\r\nvar OVERLAY_STACK = [];\r\nvar PREVENT_SAFARI_SCROLLING_CLASS = \"dx-prevent-safari-scrolling\";\r\nvar TAB_KEY = \"tab\";\r\nready(() => {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), pointerEvents.down, e => {\r\n for (var i = OVERLAY_STACK.length - 1; i >= 0; i--) {\r\n if (!OVERLAY_STACK[i]._proxiedDocumentDownHandler(e)) {\r\n return\r\n }\r\n }\r\n })\r\n});\r\nvar Overlay = Widget.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n escape: function() {\r\n this.hide()\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n activeStateEnabled: false,\r\n visible: false,\r\n deferRendering: true,\r\n shading: true,\r\n shadingColor: \"\",\r\n wrapperAttr: {},\r\n position: extend({}, OVERLAY_POSITION_ALIASES.center),\r\n width: \"80vw\",\r\n minWidth: null,\r\n maxWidth: null,\r\n height: \"80vh\",\r\n minHeight: null,\r\n maxHeight: null,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 300,\r\n from: {\r\n scale: .55\r\n }\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 300,\r\n from: {\r\n opacity: 1,\r\n scale: 1\r\n },\r\n to: {\r\n opacity: 0,\r\n scale: .55\r\n }\r\n }\r\n },\r\n closeOnOutsideClick: false,\r\n hideOnOutsideClick: false,\r\n copyRootClassesToWrapper: false,\r\n _ignoreCopyRootClassesToWrapperDeprecation: false,\r\n _ignoreElementAttrDeprecation: false,\r\n onShowing: null,\r\n onShown: null,\r\n onHiding: null,\r\n onHidden: null,\r\n contentTemplate: \"content\",\r\n innerOverlay: false,\r\n restorePosition: true,\r\n container: void 0,\r\n visualContainer: void 0,\r\n hideTopOverlayHandler: () => {\r\n this.hide()\r\n },\r\n hideOnParentScroll: false,\r\n onPositioned: null,\r\n propagateOutsideClick: false,\r\n ignoreChildEvents: true,\r\n _checkParentVisibility: true,\r\n _fixWrapperPosition: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return !hasWindow()\r\n },\r\n options: {\r\n width: null,\r\n height: null,\r\n animation: null,\r\n _checkParentVisibility: false\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n animation: true\r\n })\r\n },\r\n $wrapper: function() {\r\n return this._$wrapper\r\n },\r\n _eventBindingTarget: function() {\r\n return this._$content\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n closeOnOutsideClick: {\r\n since: \"22.1\",\r\n alias: \"hideOnOutsideClick\"\r\n }\r\n })\r\n },\r\n ctor: function(element, options) {\r\n this.callBase(element, options);\r\n if (options) {\r\n if (options.copyRootClassesToWrapper && !options._ignoreCopyRootClassesToWrapperDeprecation) {\r\n this._logDeprecatedOptionWarning(\"copyRootClassesToWrapper\", {\r\n since: \"21.2\",\r\n message: 'Use the \"wrapperAttr\" option instead'\r\n })\r\n }\r\n if (options.elementAttr && !options._ignoreElementAttrDeprecation) {\r\n this._logDeprecatedOptionWarning(\"elementAttr\", {\r\n since: \"21.2\",\r\n message: 'Use the \"wrapperAttr\" option instead'\r\n })\r\n }\r\n }\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initActions();\r\n this._initHideOnOutsideClickHandler();\r\n this._initTabTerminatorHandler();\r\n this._customWrapperClass = null;\r\n this._$wrapper = $(\"
\").addClass(OVERLAY_WRAPPER_CLASS);\r\n this._$content = $(\"
\").addClass(OVERLAY_CONTENT_CLASS);\r\n this._initInnerOverlayClass();\r\n var $element = this.$element();\r\n if (this.option(\"copyRootClassesToWrapper\")) {\r\n this._$wrapper.addClass($element.attr(\"class\"))\r\n }\r\n $element.addClass(OVERLAY_CLASS);\r\n this._$wrapper.attr(\"data-bind\", \"dxControlsDescendantBindings: true\");\r\n this._toggleViewPortSubscription(true);\r\n this._initHideTopOverlayHandler(this.option(\"hideTopOverlayHandler\"));\r\n this._parentsScrollSubscriptionInfo = {\r\n handler: e => {\r\n this._hideOnParentsScrollHandler(e)\r\n }\r\n };\r\n this.warnPositionAsFunction()\r\n },\r\n warnPositionAsFunction() {\r\n if (isFunction(this.option(\"position\"))) {\r\n errors.log(\"W0018\")\r\n }\r\n },\r\n _initInnerOverlayClass: function() {\r\n this._$content.toggleClass(INNER_OVERLAY_CLASS, this.option(\"innerOverlay\"))\r\n },\r\n _initHideTopOverlayHandler: function(handler) {\r\n this._hideTopOverlayHandler = handler\r\n },\r\n _getActionsList: function() {\r\n return [\"onShowing\", \"onShown\", \"onHiding\", \"onHidden\", \"onPositioned\", \"onVisualPositionChanged\"]\r\n },\r\n _initActions: function() {\r\n this._actions = {};\r\n var actions = this._getActionsList();\r\n each(actions, (_, action) => {\r\n this._actions[action] = this._createActionByOption(action, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }) || noop\r\n })\r\n },\r\n _initHideOnOutsideClickHandler: function() {\r\n var _this = this;\r\n this._proxiedDocumentDownHandler = function() {\r\n return _this._documentDownHandler(...arguments)\r\n }\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this._renderWrapperAttributes();\r\n this._initPositionController()\r\n },\r\n _documentDownHandler: function(e) {\r\n if (this._showAnimationProcessing) {\r\n this._stopAnimation()\r\n }\r\n var isAttachedTarget = $(window.document).is(e.target) || contains(window.document, e.target) || contains(window.document, e.target.getRootNode().host);\r\n var isInnerOverlay = $(e.target).closest(\".\".concat(INNER_OVERLAY_CLASS)).length;\r\n var outsideClick = isAttachedTarget && !isInnerOverlay && !(this._$content.is(e.target) || contains(this._$content.get(0), e.target));\r\n if (outsideClick && this._shouldHideOnOutsideClick(e)) {\r\n this._outsideClickHandler(e)\r\n }\r\n return this.option(\"propagateOutsideClick\")\r\n },\r\n _shouldHideOnOutsideClick: function(e) {\r\n var {\r\n hideOnOutsideClick: hideOnOutsideClick\r\n } = this.option();\r\n if (isFunction(hideOnOutsideClick)) {\r\n return hideOnOutsideClick(e)\r\n }\r\n return hideOnOutsideClick\r\n },\r\n _outsideClickHandler(e) {\r\n if (this.option(\"shading\")) {\r\n e.preventDefault()\r\n }\r\n this.hide()\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new EmptyTemplate\r\n });\r\n this.callBase()\r\n },\r\n _isTopOverlay: function() {\r\n var overlayStack = this._overlayStack();\r\n for (var i = overlayStack.length - 1; i >= 0; i--) {\r\n var tabbableElements = overlayStack[i]._findTabbableBounds();\r\n if (tabbableElements.first || tabbableElements.last) {\r\n return overlayStack[i] === this\r\n }\r\n }\r\n return false\r\n },\r\n _overlayStack: function() {\r\n return OVERLAY_STACK\r\n },\r\n _zIndexInitValue: function() {\r\n return Overlay.baseZIndex()\r\n },\r\n _toggleViewPortSubscription: function(toggle) {\r\n var _this2 = this;\r\n viewPortChanged.remove(this._viewPortChangeHandle);\r\n if (toggle) {\r\n this._viewPortChangeHandle = function() {\r\n _this2._viewPortChangeHandler(...arguments)\r\n };\r\n viewPortChanged.add(this._viewPortChangeHandle)\r\n }\r\n },\r\n _viewPortChangeHandler: function() {\r\n this._positionController.updateContainer(this.option(\"container\"));\r\n this._refresh()\r\n },\r\n _renderWrapperAttributes() {\r\n var {\r\n wrapperAttr: wrapperAttr\r\n } = this.option();\r\n var attributes = extend({}, wrapperAttr);\r\n var classNames = attributes.class;\r\n delete attributes.class;\r\n this.$wrapper().attr(attributes).removeClass(this._customWrapperClass).addClass(classNames);\r\n this._customWrapperClass = classNames\r\n },\r\n _renderVisibilityAnimate: function(visible) {\r\n this._stopAnimation();\r\n return visible ? this._show() : this._hide()\r\n },\r\n _getAnimationConfig: function() {\r\n return this._getOptionValue(\"animation\", this)\r\n },\r\n _animateShowing: function() {\r\n var _this$_getAnimationCo, _showAnimation$start, _showAnimation$comple, _this3 = this;\r\n var animation = null !== (_this$_getAnimationCo = this._getAnimationConfig()) && void 0 !== _this$_getAnimationCo ? _this$_getAnimationCo : {};\r\n var showAnimation = this._normalizeAnimation(animation.show, \"to\");\r\n var startShowAnimation = null !== (_showAnimation$start = null === showAnimation || void 0 === showAnimation ? void 0 : showAnimation.start) && void 0 !== _showAnimation$start ? _showAnimation$start : noop;\r\n var completeShowAnimation = null !== (_showAnimation$comple = null === showAnimation || void 0 === showAnimation ? void 0 : showAnimation.complete) && void 0 !== _showAnimation$comple ? _showAnimation$comple : noop;\r\n this._animate(showAnimation, (function() {\r\n if (_this3._isAnimationPaused) {\r\n return\r\n }\r\n if (_this3.option(\"focusStateEnabled\")) {\r\n eventsEngine.trigger(_this3._focusTarget(), \"focus\")\r\n }\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n completeShowAnimation.call(_this3, ...args);\r\n _this3._showAnimationProcessing = false;\r\n _this3._isHidden = false;\r\n _this3._actions.onShown();\r\n _this3._toggleSafariScrolling();\r\n _this3._showingDeferred.resolve()\r\n }), (function() {\r\n if (_this3._isAnimationPaused) {\r\n return\r\n }\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n startShowAnimation.call(_this3, ...args);\r\n _this3._showAnimationProcessing = true\r\n }))\r\n },\r\n _processShowingHidingCancel: function(cancelArg, applyFunction, cancelFunction) {\r\n if (isPromise(cancelArg)) {\r\n cancelArg.then(shouldCancel => {\r\n if (shouldCancel) {\r\n cancelFunction()\r\n } else {\r\n applyFunction()\r\n }\r\n }).catch(() => applyFunction())\r\n } else {\r\n cancelArg ? cancelFunction() : applyFunction()\r\n }\r\n },\r\n _show: function() {\r\n this._showingDeferred = new Deferred;\r\n this._parentHidden = this._isParentHidden();\r\n this._showingDeferred.done(() => {\r\n delete this._parentHidden\r\n });\r\n if (this._parentHidden) {\r\n this._isHidden = true;\r\n return this._showingDeferred.resolve()\r\n }\r\n if (this._currentVisible) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n this._currentVisible = true;\r\n if (this._isHidingActionCanceled) {\r\n delete this._isHidingActionCanceled;\r\n this._showingDeferred.reject()\r\n } else {\r\n var show = () => {\r\n this._stopAnimation();\r\n this._toggleVisibility(true);\r\n this._$content.css(\"visibility\", \"hidden\");\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, false);\r\n this._updateZIndexStackPosition(true);\r\n this._positionController.openingHandled();\r\n this._renderContent();\r\n var showingArgs = {\r\n cancel: false\r\n };\r\n this._actions.onShowing(showingArgs);\r\n this._processShowingHidingCancel(showingArgs.cancel, () => {\r\n this._$content.css(\"visibility\", \"\");\r\n this._renderVisibility(true);\r\n this._animateShowing()\r\n }, () => {\r\n this._toggleVisibility(false);\r\n this._$content.css(\"visibility\", \"\");\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, true);\r\n this._isShowingActionCanceled = true;\r\n this._moveFromContainer();\r\n this.option(\"visible\", false);\r\n this._showingDeferred.resolve()\r\n })\r\n };\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._stopShowTimer();\r\n this._asyncShowTimeout = setTimeout(show)\r\n } else {\r\n show()\r\n }\r\n }\r\n return this._showingDeferred.promise()\r\n },\r\n _normalizeAnimation: function(showHideConfig, direction) {\r\n if (showHideConfig) {\r\n showHideConfig = extend({\r\n type: \"slide\",\r\n skipElementInitialStyles: true\r\n }, showHideConfig);\r\n if (isObject(showHideConfig[direction])) {\r\n extend(showHideConfig[direction], {\r\n position: this._positionController.position\r\n })\r\n }\r\n }\r\n return showHideConfig\r\n },\r\n _animateHiding: function() {\r\n var _this$_getAnimationCo2, _hideAnimation$start, _hideAnimation$comple, _this4 = this;\r\n var animation = null !== (_this$_getAnimationCo2 = this._getAnimationConfig()) && void 0 !== _this$_getAnimationCo2 ? _this$_getAnimationCo2 : {};\r\n var hideAnimation = this._normalizeAnimation(animation.hide, \"from\");\r\n var startHideAnimation = null !== (_hideAnimation$start = null === hideAnimation || void 0 === hideAnimation ? void 0 : hideAnimation.start) && void 0 !== _hideAnimation$start ? _hideAnimation$start : noop;\r\n var completeHideAnimation = null !== (_hideAnimation$comple = null === hideAnimation || void 0 === hideAnimation ? void 0 : hideAnimation.complete) && void 0 !== _hideAnimation$comple ? _hideAnimation$comple : noop;\r\n this._animate(hideAnimation, (function() {\r\n var _this4$_actions;\r\n _this4._$content.css(\"pointerEvents\", \"\");\r\n _this4._renderVisibility(false);\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n completeHideAnimation.call(_this4, ...args);\r\n _this4._hideAnimationProcessing = false;\r\n null === (_this4$_actions = _this4._actions) || void 0 === _this4$_actions ? void 0 : _this4$_actions.onHidden();\r\n _this4._hidingDeferred.resolve()\r\n }), (function() {\r\n _this4._$content.css(\"pointerEvents\", \"none\");\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n startHideAnimation.call(_this4, ...args);\r\n _this4._hideAnimationProcessing = true\r\n }))\r\n },\r\n _hide: function() {\r\n if (!this._currentVisible) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n this._currentVisible = false;\r\n this._hidingDeferred = new Deferred;\r\n var hidingArgs = {\r\n cancel: false\r\n };\r\n if (this._isShowingActionCanceled) {\r\n delete this._isShowingActionCanceled;\r\n this._hidingDeferred.reject()\r\n } else {\r\n this._actions.onHiding(hidingArgs);\r\n this._toggleSafariScrolling();\r\n this._processShowingHidingCancel(hidingArgs.cancel, () => {\r\n this._forceFocusLost();\r\n this._toggleShading(false);\r\n this._toggleSubscriptions(false);\r\n this._stopShowTimer();\r\n this._animateHiding()\r\n }, () => {\r\n this._isHidingActionCanceled = true;\r\n this.option(\"visible\", true);\r\n this._hidingDeferred.resolve()\r\n })\r\n }\r\n return this._hidingDeferred.promise()\r\n },\r\n _forceFocusLost: function() {\r\n var activeElement = domAdapter.getActiveElement();\r\n var shouldResetActiveElement = !!this._$content.find(activeElement).length;\r\n if (shouldResetActiveElement) {\r\n resetActiveElement()\r\n }\r\n },\r\n _animate: function(animation, completeCallback, startCallback) {\r\n if (animation) {\r\n startCallback = startCallback || animation.start || noop;\r\n fx.animate(this._$content, extend({}, animation, {\r\n start: startCallback,\r\n complete: completeCallback\r\n }))\r\n } else {\r\n completeCallback()\r\n }\r\n },\r\n _stopAnimation: function() {\r\n fx.stop(this._$content, true)\r\n },\r\n _renderVisibility: function(visible) {\r\n if (visible && this._isParentHidden()) {\r\n return\r\n }\r\n this._currentVisible = visible;\r\n this._stopAnimation();\r\n if (!visible) {\r\n triggerHidingEvent(this._$content)\r\n }\r\n if (visible) {\r\n this._checkContainerExists();\r\n this._moveToContainer();\r\n this._renderGeometry();\r\n triggerShownEvent(this._$content);\r\n triggerResizeEvent(this._$content)\r\n } else {\r\n this._toggleVisibility(visible);\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, !visible);\r\n this._updateZIndexStackPosition(visible);\r\n this._moveFromContainer()\r\n }\r\n this._toggleShading(visible);\r\n this._toggleSubscriptions(visible)\r\n },\r\n _updateZIndexStackPosition: function(pushToStack) {\r\n var overlayStack = this._overlayStack();\r\n var index = overlayStack.indexOf(this);\r\n if (pushToStack) {\r\n if (-1 === index) {\r\n this._zIndex = zIndexPool.create(this._zIndexInitValue());\r\n overlayStack.push(this)\r\n }\r\n this._$wrapper.css(\"zIndex\", this._zIndex);\r\n this._$content.css(\"zIndex\", this._zIndex)\r\n } else if (-1 !== index) {\r\n overlayStack.splice(index, 1);\r\n zIndexPool.remove(this._zIndex)\r\n }\r\n },\r\n _toggleShading: function(visible) {\r\n this._$wrapper.toggleClass(OVERLAY_SHADER_CLASS, visible && this.option(\"shading\"));\r\n this._$wrapper.css(\"backgroundColor\", this.option(\"shading\") ? this.option(\"shadingColor\") : \"\");\r\n this._toggleTabTerminator(visible && this.option(\"shading\"))\r\n },\r\n _initTabTerminatorHandler: function() {\r\n var _this5 = this;\r\n this._proxiedTabTerminatorHandler = function() {\r\n _this5._tabKeyHandler(...arguments)\r\n }\r\n },\r\n _toggleTabTerminator: function(enabled) {\r\n var eventName = addNamespace(\"keydown\", this.NAME);\r\n if (enabled) {\r\n eventsEngine.on(domAdapter.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n } else {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n }\r\n },\r\n _findTabbableBounds: function() {\r\n var $elements = this._$wrapper.find(\"*\");\r\n var elementsCount = $elements.length - 1;\r\n var result = {\r\n first: null,\r\n last: null\r\n };\r\n for (var i = 0; i <= elementsCount; i++) {\r\n if (!result.first && $elements.eq(i).is(tabbable)) {\r\n result.first = $elements.eq(i)\r\n }\r\n if (!result.last && $elements.eq(elementsCount - i).is(tabbable)) {\r\n result.last = $elements.eq(elementsCount - i)\r\n }\r\n if (result.first && result.last) {\r\n break\r\n }\r\n }\r\n return result\r\n },\r\n _tabKeyHandler: function(e) {\r\n if (normalizeKeyName(e) !== TAB_KEY || !this._isTopOverlay()) {\r\n return\r\n }\r\n var tabbableElements = this._findTabbableBounds();\r\n var $firstTabbable = tabbableElements.first;\r\n var $lastTabbable = tabbableElements.last;\r\n var isTabOnLast = !e.shiftKey && e.target === $lastTabbable.get(0);\r\n var isShiftTabOnFirst = e.shiftKey && e.target === $firstTabbable.get(0);\r\n var isEmptyTabList = 0 === tabbableElements.length;\r\n var isOutsideTarget = !contains(this._$wrapper.get(0), e.target);\r\n if (isTabOnLast || isShiftTabOnFirst || isEmptyTabList || isOutsideTarget) {\r\n e.preventDefault();\r\n var $focusElement = e.shiftKey ? $lastTabbable : $firstTabbable;\r\n eventsEngine.trigger($focusElement, \"focusin\");\r\n eventsEngine.trigger($focusElement, \"focus\")\r\n }\r\n },\r\n _toggleSubscriptions: function(enabled) {\r\n if (hasWindow()) {\r\n this._toggleHideTopOverlayCallback(enabled);\r\n this._toggleHideOnParentsScrollSubscription(enabled)\r\n }\r\n },\r\n _toggleHideTopOverlayCallback: function(subscribe) {\r\n if (!this._hideTopOverlayHandler) {\r\n return\r\n }\r\n if (subscribe) {\r\n hideTopOverlayCallback.add(this._hideTopOverlayHandler)\r\n } else {\r\n hideTopOverlayCallback.remove(this._hideTopOverlayHandler)\r\n }\r\n },\r\n _toggleHideOnParentsScrollSubscription: function(needSubscribe) {\r\n var _this$_parentsScrollS;\r\n var scrollEvent = addNamespace(\"scroll\", this.NAME);\r\n var {\r\n prevTargets: prevTargets,\r\n handler: handler\r\n } = null !== (_this$_parentsScrollS = this._parentsScrollSubscriptionInfo) && void 0 !== _this$_parentsScrollS ? _this$_parentsScrollS : {};\r\n eventsEngine.off(prevTargets, scrollEvent, handler);\r\n var closeOnScroll = this.option(\"hideOnParentScroll\");\r\n if (needSubscribe && closeOnScroll) {\r\n var $parents = this._hideOnParentScrollTarget().parents();\r\n if (\"desktop\" === devices.real().deviceType) {\r\n $parents = $parents.add(window)\r\n }\r\n eventsEngine.on($parents, scrollEvent, handler);\r\n this._parentsScrollSubscriptionInfo.prevTargets = $parents\r\n }\r\n },\r\n _hideOnParentsScrollHandler: function(e) {\r\n var closeHandled = false;\r\n var closeOnScroll = this.option(\"hideOnParentScroll\");\r\n if (isFunction(closeOnScroll)) {\r\n closeHandled = closeOnScroll(e)\r\n }\r\n if (!closeHandled && !this._showAnimationProcessing) {\r\n this.hide()\r\n }\r\n },\r\n _hideOnParentScrollTarget: function() {\r\n return this._$wrapper\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._appendContentToElement();\r\n this._renderVisibilityAnimate(this.option(\"visible\"))\r\n },\r\n _appendContentToElement: function() {\r\n if (!this._$content.parent().is(this.$element())) {\r\n this._$content.appendTo(this.$element())\r\n }\r\n },\r\n _renderContent: function() {\r\n var shouldDeferRendering = !this._currentVisible && this.option(\"deferRendering\");\r\n var isParentHidden = this.option(\"visible\") && this._isParentHidden();\r\n if (isParentHidden) {\r\n this._isHidden = true;\r\n return\r\n }\r\n if (this._contentAlreadyRendered || shouldDeferRendering) {\r\n return\r\n }\r\n this._contentAlreadyRendered = true;\r\n this._appendContentToElement();\r\n this.callBase()\r\n },\r\n _isParentHidden: function() {\r\n if (!this.option(\"_checkParentVisibility\")) {\r\n return false\r\n }\r\n if (void 0 !== this._parentHidden) {\r\n return this._parentHidden\r\n }\r\n var $parent = this.$element().parent();\r\n if ($parent.is(\":visible\")) {\r\n return false\r\n }\r\n var isHidden = false;\r\n $parent.add($parent.parents()).each((function() {\r\n var $element = $(this);\r\n if (\"none\" === $element.css(\"display\")) {\r\n isHidden = true;\r\n return false\r\n }\r\n }));\r\n return isHidden || !domAdapter.getBody().contains($parent.get(0))\r\n },\r\n _renderContentImpl: function() {\r\n var whenContentRendered = new Deferred;\r\n var contentTemplateOption = this.option(\"contentTemplate\");\r\n var contentTemplate = this._getTemplate(contentTemplateOption);\r\n var transclude = this._templateManager.anonymousTemplateName === contentTemplateOption;\r\n contentTemplate && contentTemplate.render({\r\n container: getPublicElement(this.$content()),\r\n noModel: true,\r\n transclude: transclude,\r\n onRendered: () => {\r\n whenContentRendered.resolve();\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._dimensionChanged()\r\n }\r\n }\r\n });\r\n this._renderScrollTerminator();\r\n whenContentRendered.done(() => {\r\n if (this.option(\"visible\")) {\r\n this._moveToContainer()\r\n }\r\n });\r\n return whenContentRendered.promise()\r\n },\r\n _getPositionControllerConfig() {\r\n var {\r\n container: container,\r\n visualContainer: visualContainer,\r\n _fixWrapperPosition: _fixWrapperPosition,\r\n restorePosition: restorePosition\r\n } = this.option();\r\n return {\r\n container: container,\r\n visualContainer: visualContainer,\r\n $root: this.$element(),\r\n $content: this._$content,\r\n $wrapper: this._$wrapper,\r\n onPositioned: this._actions.onPositioned,\r\n onVisualPositionChanged: this._actions.onVisualPositionChanged,\r\n restorePosition: restorePosition,\r\n _fixWrapperPosition: _fixWrapperPosition\r\n }\r\n },\r\n _initPositionController() {\r\n this._positionController = new OverlayPositionController(this._getPositionControllerConfig())\r\n },\r\n _renderScrollTerminator: function() {\r\n var $scrollTerminator = this._$wrapper;\r\n var terminatorEventName = addNamespace(dragEventMove, this.NAME);\r\n eventsEngine.off($scrollTerminator, terminatorEventName);\r\n eventsEngine.on($scrollTerminator, terminatorEventName, {\r\n validate: function() {\r\n return true\r\n },\r\n getDirection: function() {\r\n return \"both\"\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n if (!toggle) {\r\n this._toggleGestureCoverImpl(toggle)\r\n }\r\n },\r\n _clearSelection: noop,\r\n isNative: true\r\n }, e => {\r\n var originalEvent = e.originalEvent.originalEvent;\r\n var {\r\n type: type\r\n } = originalEvent || {};\r\n var isWheel = \"wheel\" === type;\r\n var isMouseMove = \"mousemove\" === type;\r\n var isScrollByWheel = isWheel && !isCommandKeyPressed(e);\r\n e._cancelPreventDefault = true;\r\n if (originalEvent && false !== e.cancelable && (!isMouseMove && !isWheel || isScrollByWheel)) {\r\n e.preventDefault()\r\n }\r\n })\r\n },\r\n _moveFromContainer: function() {\r\n this._$content.appendTo(this.$element());\r\n this._$wrapper.detach()\r\n },\r\n _checkContainerExists() {\r\n var $wrapperContainer = this._positionController.$container;\r\n var containerExists = $wrapperContainer.length > 0;\r\n if (!containerExists) {\r\n uiErrors.log(\"W1021\", this.NAME)\r\n }\r\n },\r\n _moveToContainer: function() {\r\n var $wrapperContainer = this._positionController.$container;\r\n this._$wrapper.appendTo($wrapperContainer);\r\n this._$content.appendTo(this._$wrapper)\r\n },\r\n _renderGeometry: function(options) {\r\n var {\r\n visible: visible\r\n } = this.option();\r\n if (visible && hasWindow()) {\r\n this._stopAnimation();\r\n this._renderGeometryImpl()\r\n }\r\n },\r\n _renderGeometryImpl: function() {\r\n this._positionController.updatePosition(this._getOptionValue(\"position\"));\r\n this._renderWrapper();\r\n this._renderDimensions();\r\n this._renderPosition()\r\n },\r\n _renderPosition() {\r\n this._positionController.positionContent()\r\n },\r\n _isAllWindowCovered: function() {\r\n return isWindow(this._positionController.$visualContainer.get(0)) && this.option(\"shading\")\r\n },\r\n _toggleSafariScrolling: function() {\r\n var visible = this.option(\"visible\");\r\n var $body = $(domAdapter.getBody());\r\n var isIosSafari = \"ios\" === devices.real().platform && browser.safari;\r\n var isAllWindowCovered = this._isAllWindowCovered();\r\n var isScrollingPrevented = $body.hasClass(PREVENT_SAFARI_SCROLLING_CLASS);\r\n var shouldPreventScrolling = !isScrollingPrevented && visible && isAllWindowCovered;\r\n var shouldEnableScrolling = isScrollingPrevented && (!visible || !isAllWindowCovered || this._disposed);\r\n if (isIosSafari) {\r\n if (shouldEnableScrolling) {\r\n $body.removeClass(PREVENT_SAFARI_SCROLLING_CLASS);\r\n window.scrollTo(0, this._cachedBodyScrollTop);\r\n this._cachedBodyScrollTop = void 0\r\n } else if (shouldPreventScrolling) {\r\n this._cachedBodyScrollTop = window.pageYOffset;\r\n $body.addClass(PREVENT_SAFARI_SCROLLING_CLASS)\r\n }\r\n }\r\n },\r\n _renderWrapper: function() {\r\n this._positionController.styleWrapperPosition();\r\n this._renderWrapperDimensions();\r\n this._positionController.positionWrapper()\r\n },\r\n _renderWrapperDimensions: function() {\r\n var $visualContainer = this._positionController.$visualContainer;\r\n var documentElement = domAdapter.getDocumentElement();\r\n var isVisualContainerWindow = isWindow($visualContainer.get(0));\r\n var wrapperWidth = isVisualContainerWindow ? documentElement.clientWidth : getOuterWidth($visualContainer);\r\n var wrapperHeight = isVisualContainerWindow ? window.innerHeight : getOuterHeight($visualContainer);\r\n this._$wrapper.css({\r\n width: wrapperWidth,\r\n height: wrapperHeight\r\n })\r\n },\r\n _renderDimensions: function() {\r\n var content = this._$content.get(0);\r\n this._$content.css({\r\n minWidth: this._getOptionValue(\"minWidth\", content),\r\n maxWidth: this._getOptionValue(\"maxWidth\", content),\r\n minHeight: this._getOptionValue(\"minHeight\", content),\r\n maxHeight: this._getOptionValue(\"maxHeight\", content),\r\n width: this._getOptionValue(\"width\", content),\r\n height: this._getOptionValue(\"height\", content)\r\n })\r\n },\r\n _focusTarget: function() {\r\n return this._$content\r\n },\r\n _attachKeyboardEvents: function() {\r\n this._keyboardListenerId = keyboard.on(this._$content, null, opts => this._keyboardHandler(opts))\r\n },\r\n _keyboardHandler: function(options) {\r\n var e = options.originalEvent;\r\n var $target = $(e.target);\r\n if ($target.is(this._$content) || !this.option(\"ignoreChildEvents\")) {\r\n this.callBase(...arguments)\r\n }\r\n },\r\n _isVisible: function() {\r\n return this.option(\"visible\")\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n if (this.option(\"visible\")) {\r\n this._renderVisibilityAnimate(visible)\r\n }\r\n } else {\r\n this._renderVisibilityAnimate(visible)\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._renderGeometry()\r\n },\r\n _clean: function() {\r\n var options = this.option();\r\n if (!this._contentAlreadyRendered && !options.isRenovated) {\r\n this.$content().empty()\r\n }\r\n this._renderVisibility(false);\r\n this._stopShowTimer();\r\n this._cleanFocusState()\r\n },\r\n _stopShowTimer() {\r\n if (this._asyncShowTimeout) {\r\n clearTimeout(this._asyncShowTimeout)\r\n }\r\n this._asyncShowTimeout = null\r\n },\r\n _dispose: function() {\r\n fx.stop(this._$content, false);\r\n clearTimeout(this._deferShowTimer);\r\n this._toggleViewPortSubscription(false);\r\n this._toggleSubscriptions(false);\r\n this._updateZIndexStackPosition(false);\r\n this._toggleTabTerminator(false);\r\n this._actions = null;\r\n this._parentsScrollSubscriptionInfo = null;\r\n this.callBase();\r\n this._toggleSafariScrolling();\r\n this.option(\"visible\") && zIndexPool.remove(this._zIndex);\r\n this._$wrapper.remove();\r\n this._$content.remove()\r\n },\r\n _toggleRTLDirection: function(rtl) {\r\n this._$content.toggleClass(RTL_DIRECTION_CLASS, rtl)\r\n },\r\n _optionChanged: function(args) {\r\n var value = args.value;\r\n if (this._getActionsList().includes(args.name)) {\r\n this._initActions();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"animation\":\r\n break;\r\n case \"shading\":\r\n this._toggleShading(this.option(\"visible\"));\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"shadingColor\":\r\n this._toggleShading(this.option(\"visible\"));\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this._renderGeometry();\r\n break;\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n this._renderGeometry();\r\n break;\r\n case \"position\":\r\n this._positionController.updatePosition(this.option(\"position\"));\r\n this._positionController.restorePositionOnNextRender(true);\r\n this._renderGeometry();\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"visible\":\r\n this._renderVisibilityAnimate(value).done(() => {\r\n var _this$_animateDeferre;\r\n return null === (_this$_animateDeferre = this._animateDeferred) || void 0 === _this$_animateDeferre ? void 0 : _this$_animateDeferre.resolveWith(this)\r\n }).fail(() => {\r\n var _this$_animateDeferre2;\r\n return null === (_this$_animateDeferre2 = this._animateDeferred) || void 0 === _this$_animateDeferre2 ? void 0 : _this$_animateDeferre2.reject()\r\n });\r\n break;\r\n case \"container\":\r\n this._positionController.updateContainer(value);\r\n this._invalidate();\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"visualContainer\":\r\n this._positionController.updateVisualContainer(value);\r\n this._renderWrapper();\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"innerOverlay\":\r\n this._initInnerOverlayClass();\r\n break;\r\n case \"deferRendering\":\r\n case \"contentTemplate\":\r\n this._contentAlreadyRendered = false;\r\n this._clean();\r\n this._invalidate();\r\n break;\r\n case \"hideTopOverlayHandler\":\r\n this._toggleHideTopOverlayCallback(false);\r\n this._initHideTopOverlayHandler(args.value);\r\n this._toggleHideTopOverlayCallback(this.option(\"visible\"));\r\n break;\r\n case \"hideOnParentScroll\":\r\n this._toggleHideOnParentsScrollSubscription(this.option(\"visible\"));\r\n break;\r\n case \"closeOnOutsideClick\":\r\n case \"hideOnOutsideClick\":\r\n case \"propagateOutsideClick\":\r\n break;\r\n case \"rtlEnabled\":\r\n this._contentAlreadyRendered = false;\r\n this.callBase(args);\r\n break;\r\n case \"_fixWrapperPosition\":\r\n this._positionController.fixWrapperPosition = value;\r\n break;\r\n case \"wrapperAttr\":\r\n this._renderWrapperAttributes();\r\n break;\r\n case \"restorePosition\":\r\n this._positionController.restorePosition = args.value;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n toggle: function(showing) {\r\n showing = void 0 === showing ? !this.option(\"visible\") : showing;\r\n var result = new Deferred;\r\n if (showing === this.option(\"visible\")) {\r\n return result.resolveWith(this, [showing]).promise()\r\n }\r\n var animateDeferred = new Deferred;\r\n this._animateDeferred = animateDeferred;\r\n this.option(\"visible\", showing);\r\n animateDeferred.promise().done(() => {\r\n delete this._animateDeferred;\r\n result.resolveWith(this, [this.option(\"visible\")])\r\n }).fail(() => {\r\n delete this._animateDeferred;\r\n result.reject()\r\n });\r\n return result.promise()\r\n },\r\n $content: function() {\r\n return this._$content\r\n },\r\n show: function() {\r\n return this.toggle(true)\r\n },\r\n hide: function() {\r\n return this.toggle(false)\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content)\r\n },\r\n repaint: function() {\r\n if (this._contentAlreadyRendered) {\r\n this._positionController.restorePositionOnNextRender(true);\r\n this._renderGeometry({\r\n forceStopAnimation: true\r\n });\r\n triggerResizeEvent(this._$content)\r\n } else {\r\n this.callBase()\r\n }\r\n }\r\n});\r\nOverlay.baseZIndex = zIndex => zIndexPool.base(zIndex);\r\nregisterComponent(\"dxOverlay\", Overlay);\r\nexport default Overlay;\r\n","/**\r\n * DevExtreme (esm/ui/overlay/z_index.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nvar baseZIndex = 1500;\r\nvar zIndexStack = [];\r\nexport var base = ZIndex => {\r\n baseZIndex = ensureDefined(ZIndex, baseZIndex);\r\n return baseZIndex\r\n};\r\nexport var create = function() {\r\n var baseIndex = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : baseZIndex;\r\n var length = zIndexStack.length;\r\n var index = (length ? zIndexStack[length - 1] : baseIndex) + 1;\r\n zIndexStack.push(index);\r\n return index\r\n};\r\nexport var remove = zIndex => {\r\n var position = zIndexStack.indexOf(zIndex);\r\n if (position >= 0) {\r\n zIndexStack.splice(position, 1)\r\n }\r\n};\r\nexport var isLastZIndexInStack = zIndex => zIndexStack.length && zIndexStack[zIndexStack.length - 1] === zIndex;\r\nexport var clearStack = () => {\r\n zIndexStack = []\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/popup/popup_drag.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getOffset,\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n isWindow\r\n} from \"../../core/utils/type\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n start as dragStartEvent,\r\n move as dragMoveEvent,\r\n end as dragEndEvent\r\n} from \"../../events/drag\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nvar KEYBOARD_DRAG_STEP = 5;\r\nclass PopupDrag {\r\n constructor(config) {\r\n this.init(config)\r\n }\r\n init(_ref) {\r\n var {\r\n dragEnabled: dragEnabled,\r\n handle: handle,\r\n draggableElement: draggableElement,\r\n positionController: positionController\r\n } = _ref;\r\n this._positionController = positionController;\r\n this._draggableElement = draggableElement;\r\n this._handle = handle;\r\n this._dragEnabled = dragEnabled;\r\n this.unsubscribe();\r\n if (!dragEnabled) {\r\n return\r\n }\r\n this.subscribe()\r\n }\r\n moveDown(e) {\r\n this._moveTo(KEYBOARD_DRAG_STEP, 0, e)\r\n }\r\n moveUp(e) {\r\n this._moveTo(-KEYBOARD_DRAG_STEP, 0, e)\r\n }\r\n moveLeft(e) {\r\n this._moveTo(0, -KEYBOARD_DRAG_STEP, e)\r\n }\r\n moveRight(e) {\r\n this._moveTo(0, KEYBOARD_DRAG_STEP, e)\r\n }\r\n subscribe() {\r\n var eventNames = this._getEventNames();\r\n eventsEngine.on(this._handle, eventNames.startEventName, e => {\r\n this._dragStartHandler(e)\r\n });\r\n eventsEngine.on(this._handle, eventNames.updateEventName, e => {\r\n this._dragUpdateHandler(e)\r\n });\r\n eventsEngine.on(this._handle, eventNames.endEventName, e => {\r\n this._dragEndHandler(e)\r\n })\r\n }\r\n unsubscribe() {\r\n var eventNames = this._getEventNames();\r\n eventsEngine.off(this._handle, eventNames.startEventName);\r\n eventsEngine.off(this._handle, eventNames.updateEventName);\r\n eventsEngine.off(this._handle, eventNames.endEventName)\r\n }\r\n _getEventNames() {\r\n var startEventName = addNamespace(dragStartEvent, \"overlayDrag\");\r\n var updateEventName = addNamespace(dragMoveEvent, \"overlayDrag\");\r\n var endEventName = addNamespace(dragEndEvent, \"overlayDrag\");\r\n return {\r\n startEventName: startEventName,\r\n updateEventName: updateEventName,\r\n endEventName: endEventName\r\n }\r\n }\r\n _dragStartHandler(e) {\r\n var allowedOffsets = this._getAllowedOffsets();\r\n this._prevOffset = {\r\n x: 0,\r\n y: 0\r\n };\r\n e.targetElements = [];\r\n e.maxTopOffset = allowedOffsets.top;\r\n e.maxBottomOffset = allowedOffsets.bottom;\r\n e.maxLeftOffset = allowedOffsets.left;\r\n e.maxRightOffset = allowedOffsets.right\r\n }\r\n _dragUpdateHandler(e) {\r\n var targetOffset = {\r\n top: e.offset.y - this._prevOffset.y,\r\n left: e.offset.x - this._prevOffset.x\r\n };\r\n this._moveByOffset(targetOffset);\r\n this._prevOffset = e.offset\r\n }\r\n _dragEndHandler(event) {\r\n this._positionController.dragHandled();\r\n this._positionController.detectVisualPositionChange(event)\r\n }\r\n _moveTo(top, left, e) {\r\n if (!this._dragEnabled) {\r\n return\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var offset = this._fitOffsetIntoAllowedRange(top, left);\r\n this._moveByOffset(offset);\r\n this._dragEndHandler(e)\r\n }\r\n _fitOffsetIntoAllowedRange(top, left) {\r\n var allowedOffsets = this._getAllowedOffsets();\r\n return {\r\n top: fitIntoRange(top, -allowedOffsets.top, allowedOffsets.bottom),\r\n left: fitIntoRange(left, -allowedOffsets.left, allowedOffsets.right)\r\n }\r\n }\r\n _getContainerDimensions() {\r\n var document = domAdapter.getDocument();\r\n var container = this._positionController.$dragResizeContainer.get(0);\r\n var containerWidth = getOuterWidth(container);\r\n var containerHeight = getOuterHeight(container);\r\n if (isWindow(container)) {\r\n containerHeight = Math.max(document.body.clientHeight, containerHeight);\r\n containerWidth = Math.max(document.body.clientWidth, containerWidth)\r\n }\r\n return {\r\n width: containerWidth,\r\n height: containerHeight\r\n }\r\n }\r\n _getContainerPosition() {\r\n var container = this._positionController.$dragResizeContainer.get(0);\r\n return isWindow(container) ? {\r\n top: 0,\r\n left: 0\r\n } : getOffset(container)\r\n }\r\n _getElementPosition() {\r\n return getOffset(this._draggableElement)\r\n }\r\n _getInnerDelta() {\r\n var containerDimensions = this._getContainerDimensions();\r\n var elementDimensions = this._getElementDimensions();\r\n return {\r\n x: containerDimensions.width - elementDimensions.width,\r\n y: containerDimensions.height - elementDimensions.height\r\n }\r\n }\r\n _getOuterDelta() {\r\n var {\r\n width: width,\r\n height: height\r\n } = this._getElementDimensions();\r\n var outsideDragFactor = this._positionController.outsideDragFactor;\r\n return {\r\n x: width * outsideDragFactor,\r\n y: height * outsideDragFactor\r\n }\r\n }\r\n _getFullDelta() {\r\n var fullDelta = this._getInnerDelta();\r\n var outerDelta = this._getOuterDelta();\r\n return {\r\n x: fullDelta.x + outerDelta.x,\r\n y: fullDelta.y + outerDelta.y\r\n }\r\n }\r\n _getElementDimensions() {\r\n return {\r\n width: this._draggableElement.offsetWidth,\r\n height: this._draggableElement.offsetHeight\r\n }\r\n }\r\n _getAllowedOffsets() {\r\n var fullDelta = this._getFullDelta();\r\n var isDragAllowed = fullDelta.y >= 0 && fullDelta.x >= 0;\r\n if (!isDragAllowed) {\r\n return {\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0\r\n }\r\n }\r\n var elementPosition = this._getElementPosition();\r\n var containerPosition = this._getContainerPosition();\r\n var outerDelta = this._getOuterDelta();\r\n return {\r\n top: elementPosition.top - containerPosition.top + outerDelta.y,\r\n bottom: -elementPosition.top + containerPosition.top + fullDelta.y,\r\n left: elementPosition.left - containerPosition.left + outerDelta.x,\r\n right: -elementPosition.left + containerPosition.left + fullDelta.x\r\n }\r\n }\r\n _moveByOffset(offset) {\r\n var currentPosition = locate(this._draggableElement);\r\n var newPosition = {\r\n left: currentPosition.left + offset.left,\r\n top: currentPosition.top + offset.top\r\n };\r\n move(this._draggableElement, newPosition)\r\n }\r\n}\r\nexport default PopupDrag;\r\n","/**\r\n * DevExtreme (esm/ui/resizable.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight,\r\n getInnerWidth,\r\n getInnerHeight,\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../animation/translator\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n pairToObject\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n fitIntoRange,\r\n inRange\r\n} from \"../core/utils/math\";\r\nimport {\r\n isPlainObject,\r\n isFunction,\r\n isWindow\r\n} from \"../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../events/drag\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../events/visibility_change\";\r\nvar RESIZABLE = \"dxResizable\";\r\nvar RESIZABLE_CLASS = \"dx-resizable\";\r\nvar RESIZABLE_RESIZING_CLASS = \"dx-resizable-resizing\";\r\nvar RESIZABLE_HANDLE_CLASS = \"dx-resizable-handle\";\r\nvar RESIZABLE_HANDLE_TOP_CLASS = \"dx-resizable-handle-top\";\r\nvar RESIZABLE_HANDLE_BOTTOM_CLASS = \"dx-resizable-handle-bottom\";\r\nvar RESIZABLE_HANDLE_LEFT_CLASS = \"dx-resizable-handle-left\";\r\nvar RESIZABLE_HANDLE_RIGHT_CLASS = \"dx-resizable-handle-right\";\r\nvar RESIZABLE_HANDLE_CORNER_CLASS = \"dx-resizable-handle-corner\";\r\nvar DRAGSTART_START_EVENT_NAME = addNamespace(dragEventStart, RESIZABLE);\r\nvar DRAGSTART_EVENT_NAME = addNamespace(dragEventMove, RESIZABLE);\r\nvar DRAGSTART_END_EVENT_NAME = addNamespace(dragEventEnd, RESIZABLE);\r\nvar SIDE_BORDER_WIDTH_STYLES = {\r\n left: \"borderLeftWidth\",\r\n top: \"borderTopWidth\",\r\n right: \"borderRightWidth\",\r\n bottom: \"borderBottomWidth\"\r\n};\r\nvar Resizable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n handles: \"all\",\r\n step: \"1\",\r\n stepPrecision: \"simple\",\r\n area: void 0,\r\n minWidth: 30,\r\n maxWidth: 1 / 0,\r\n minHeight: 30,\r\n maxHeight: 1 / 0,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n roundStepValue: true,\r\n keepAspectRatio: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(RESIZABLE_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderHandles()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderActions()\r\n },\r\n _renderActions: function() {\r\n this._resizeStartAction = this._createActionByOption(\"onResizeStart\");\r\n this._resizeEndAction = this._createActionByOption(\"onResizeEnd\");\r\n this._resizeAction = this._createActionByOption(\"onResize\")\r\n },\r\n _renderHandles: function() {\r\n this._handles = [];\r\n var handles = this.option(\"handles\");\r\n if (\"none\" === handles || !handles) {\r\n return\r\n }\r\n var directions = \"all\" === handles ? [\"top\", \"bottom\", \"left\", \"right\"] : handles.split(\" \");\r\n var activeHandlesMap = {};\r\n each(directions, (index, handleName) => {\r\n activeHandlesMap[handleName] = true;\r\n this._renderHandle(handleName)\r\n });\r\n activeHandlesMap.bottom && activeHandlesMap.right && this._renderHandle(\"corner-bottom-right\");\r\n activeHandlesMap.bottom && activeHandlesMap.left && this._renderHandle(\"corner-bottom-left\");\r\n activeHandlesMap.top && activeHandlesMap.right && this._renderHandle(\"corner-top-right\");\r\n activeHandlesMap.top && activeHandlesMap.left && this._renderHandle(\"corner-top-left\");\r\n this._attachEventHandlers()\r\n },\r\n _renderHandle: function(handleName) {\r\n var $handle = $(\"
\").addClass(RESIZABLE_HANDLE_CLASS).addClass(RESIZABLE_HANDLE_CLASS + \"-\" + handleName).appendTo(this.$element());\r\n this._handles.push($handle)\r\n },\r\n _attachEventHandlers: function() {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var handlers = {};\r\n handlers[DRAGSTART_START_EVENT_NAME] = this._dragStartHandler.bind(this);\r\n handlers[DRAGSTART_EVENT_NAME] = this._dragHandler.bind(this);\r\n handlers[DRAGSTART_END_EVENT_NAME] = this._dragEndHandler.bind(this);\r\n this._handles.forEach(handleElement => {\r\n eventsEngine.on(handleElement, handlers, {\r\n direction: \"both\",\r\n immediate: true\r\n })\r\n })\r\n },\r\n _detachEventHandlers: function() {\r\n this._handles.forEach(handleElement => {\r\n eventsEngine.off(handleElement)\r\n })\r\n },\r\n _toggleEventHandlers: function(shouldAttachEvents) {\r\n shouldAttachEvents ? this._attachEventHandlers() : this._detachEventHandlers()\r\n },\r\n _getElementSize: function() {\r\n var $element = this.$element();\r\n return \"border-box\" === $element.css(\"boxSizing\") ? {\r\n width: getOuterWidth($element),\r\n height: getOuterHeight($element)\r\n } : {\r\n width: getWidth($element),\r\n height: getHeight($element)\r\n }\r\n },\r\n _dragStartHandler: function(e) {\r\n var $element = this.$element();\r\n if ($element.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n e.cancel = true;\r\n return\r\n }\r\n this._toggleResizingClass(true);\r\n this._movingSides = this._getMovingSides(e);\r\n this._elementLocation = locate($element);\r\n this._elementSize = this._getElementSize();\r\n this._renderDragOffsets(e);\r\n this._resizeStartAction({\r\n event: e,\r\n width: this._elementSize.width,\r\n height: this._elementSize.height,\r\n handles: this._movingSides\r\n });\r\n e.targetElements = null\r\n },\r\n _toggleResizingClass: function(value) {\r\n this.$element().toggleClass(RESIZABLE_RESIZING_CLASS, value)\r\n },\r\n _renderDragOffsets: function(e) {\r\n var area = this._getArea();\r\n if (!area) {\r\n return\r\n }\r\n var $handle = $(e.target).closest(\".\" + RESIZABLE_HANDLE_CLASS);\r\n var handleWidth = getOuterWidth($handle);\r\n var handleHeight = getOuterHeight($handle);\r\n var handleOffset = $handle.offset();\r\n var areaOffset = area.offset;\r\n var scrollOffset = this._getAreaScrollOffset();\r\n e.maxLeftOffset = this._leftMaxOffset = handleOffset.left - areaOffset.left - scrollOffset.scrollX;\r\n e.maxRightOffset = this._rightMaxOffset = areaOffset.left + area.width - handleOffset.left - handleWidth + scrollOffset.scrollX;\r\n e.maxTopOffset = this._topMaxOffset = handleOffset.top - areaOffset.top - scrollOffset.scrollY;\r\n e.maxBottomOffset = this._bottomMaxOffset = areaOffset.top + area.height - handleOffset.top - handleHeight + scrollOffset.scrollY\r\n },\r\n _getBorderWidth: function($element, direction) {\r\n if (isWindow($element.get(0))) {\r\n return 0\r\n }\r\n var borderWidth = $element.css(SIDE_BORDER_WIDTH_STYLES[direction]);\r\n return parseInt(borderWidth) || 0\r\n },\r\n _proportionate: function(direction, value) {\r\n var size = this._elementSize;\r\n var factor = \"x\" === direction ? size.width / size.height : size.height / size.width;\r\n return value * factor\r\n },\r\n _getProportionalDelta: function(_ref) {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref;\r\n var proportionalY = this._proportionate(\"y\", x);\r\n if (proportionalY >= y) {\r\n return {\r\n x: x,\r\n y: proportionalY\r\n }\r\n }\r\n var proportionalX = this._proportionate(\"x\", y);\r\n if (proportionalX >= x) {\r\n return {\r\n x: proportionalX,\r\n y: y\r\n }\r\n }\r\n return {\r\n x: 0,\r\n y: 0\r\n }\r\n },\r\n _getDirectionName: function(axis) {\r\n var sides = this._movingSides;\r\n if (\"x\" === axis) {\r\n return sides.left ? \"left\" : \"right\"\r\n } else {\r\n return sides.top ? \"top\" : \"bottom\"\r\n }\r\n },\r\n _fitIntoArea: function(axis, value) {\r\n var _this;\r\n var directionName = this._getDirectionName(axis);\r\n return Math.min(value, null !== (_this = this[\"_\".concat(directionName, \"MaxOffset\")]) && void 0 !== _this ? _this : 1 / 0)\r\n },\r\n _fitDeltaProportionally: function(delta) {\r\n var fittedDelta = _extends({}, delta);\r\n var size = this._elementSize;\r\n var {\r\n minWidth: minWidth,\r\n minHeight: minHeight,\r\n maxWidth: maxWidth,\r\n maxHeight: maxHeight\r\n } = this.option();\r\n var getWidth = () => size.width + fittedDelta.x;\r\n var getHeight = () => size.height + fittedDelta.y;\r\n var isInArea = axis => fittedDelta[axis] === this._fitIntoArea(axis, fittedDelta[axis]);\r\n var isFittedX = () => inRange(getWidth(), minWidth, maxWidth) && isInArea(\"x\");\r\n var isFittedY = () => inRange(getHeight(), minHeight, maxHeight) && isInArea(\"y\");\r\n if (!isFittedX()) {\r\n var x = this._fitIntoArea(\"x\", fitIntoRange(getWidth(), minWidth, maxWidth) - size.width);\r\n fittedDelta = {\r\n x: x,\r\n y: this._proportionate(\"y\", x)\r\n }\r\n }\r\n if (!isFittedY()) {\r\n var y = this._fitIntoArea(\"y\", fitIntoRange(getHeight(), minHeight, maxHeight) - size.height);\r\n fittedDelta = {\r\n x: this._proportionate(\"x\", y),\r\n y: y\r\n }\r\n }\r\n return isFittedX() && isFittedY() ? fittedDelta : {\r\n x: 0,\r\n y: 0\r\n }\r\n },\r\n _fitDelta: function(_ref2) {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref2;\r\n var size = this._elementSize;\r\n var {\r\n minWidth: minWidth,\r\n minHeight: minHeight,\r\n maxWidth: maxWidth,\r\n maxHeight: maxHeight\r\n } = this.option();\r\n return {\r\n x: fitIntoRange(size.width + x, minWidth, maxWidth) - size.width,\r\n y: fitIntoRange(size.height + y, minHeight, maxHeight) - size.height\r\n }\r\n },\r\n _getDeltaByOffset: function(offset) {\r\n var sides = this._movingSides;\r\n var shouldKeepAspectRatio = this._isCornerHandler(sides) && this.option(\"keepAspectRatio\");\r\n var delta = {\r\n x: offset.x * (sides.left ? -1 : 1),\r\n y: offset.y * (sides.top ? -1 : 1)\r\n };\r\n if (shouldKeepAspectRatio) {\r\n var proportionalDelta = this._getProportionalDelta(delta);\r\n var fittedProportionalDelta = this._fitDeltaProportionally(proportionalDelta);\r\n delta = fittedProportionalDelta\r\n } else {\r\n var fittedDelta = this._fitDelta(delta);\r\n var roundedFittedDelta = this._roundByStep(fittedDelta);\r\n delta = roundedFittedDelta\r\n }\r\n return delta\r\n },\r\n _updatePosition: function(delta, _ref3) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref3;\r\n var location = this._elementLocation;\r\n var sides = this._movingSides;\r\n var $element = this.$element();\r\n var elementRect = this._getElementSize();\r\n var offsetTop = delta.y * (sides.top ? -1 : 1) - ((elementRect.height || height) - height);\r\n var offsetLeft = delta.x * (sides.left ? -1 : 1) - ((elementRect.width || width) - width);\r\n move($element, {\r\n top: location.top + (sides.top ? offsetTop : 0),\r\n left: location.left + (sides.left ? offsetLeft : 0)\r\n })\r\n },\r\n _dragHandler: function(e) {\r\n var offset = this._getOffset(e);\r\n var delta = this._getDeltaByOffset(offset);\r\n var dimensions = this._updateDimensions(delta);\r\n this._updatePosition(delta, dimensions);\r\n this._triggerResizeAction(e, dimensions)\r\n },\r\n _updateDimensions: function(delta) {\r\n var isAbsoluteSize = size => \"px\" === size.substring(size.length - 2);\r\n var isStepPrecisionStrict = \"strict\" === this.option(\"stepPrecision\");\r\n var size = this._elementSize;\r\n var width = size.width + delta.x;\r\n var height = size.height + delta.y;\r\n var elementStyle = this.$element().get(0).style;\r\n var shouldRenderWidth = delta.x || isStepPrecisionStrict || isAbsoluteSize(elementStyle.width);\r\n var shouldRenderHeight = delta.y || isStepPrecisionStrict || isAbsoluteSize(elementStyle.height);\r\n if (shouldRenderWidth) {\r\n this.option({\r\n width: width\r\n })\r\n }\r\n if (shouldRenderHeight) {\r\n this.option({\r\n height: height\r\n })\r\n }\r\n return {\r\n width: shouldRenderWidth ? width : size.width,\r\n height: shouldRenderHeight ? height : size.height\r\n }\r\n },\r\n _triggerResizeAction: function(e, _ref4) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref4;\r\n this._resizeAction({\r\n event: e,\r\n width: this.option(\"width\") || width,\r\n height: this.option(\"height\") || height,\r\n handles: this._movingSides\r\n });\r\n triggerResizeEvent(this.$element())\r\n },\r\n _isCornerHandler: sides => 0 === Object.values(sides).reduce((xor, value) => xor ^ value, 0),\r\n _getOffset: function(e) {\r\n var offset = e.offset;\r\n var sides = this._movingSides;\r\n if (!sides.left && !sides.right) {\r\n offset.x = 0\r\n }\r\n if (!sides.top && !sides.bottom) {\r\n offset.y = 0\r\n }\r\n return offset\r\n },\r\n _roundByStep: function(delta) {\r\n return \"strict\" === this.option(\"stepPrecision\") ? this._roundStrict(delta) : this._roundNotStrict(delta)\r\n },\r\n _getSteps: function() {\r\n return pairToObject(this.option(\"step\"), !this.option(\"roundStepValue\"))\r\n },\r\n _roundNotStrict: function(delta) {\r\n var steps = this._getSteps();\r\n return {\r\n x: delta.x - delta.x % steps.h,\r\n y: delta.y - delta.y % steps.v\r\n }\r\n },\r\n _roundStrict: function(delta) {\r\n var sides = this._movingSides;\r\n var offset = {\r\n x: delta.x * (sides.left ? -1 : 1),\r\n y: delta.y * (sides.top ? -1 : 1)\r\n };\r\n var steps = this._getSteps();\r\n var location = this._elementLocation;\r\n var size = this._elementSize;\r\n var xPos = sides.left ? location.left : location.left + size.width;\r\n var yPos = sides.top ? location.top : location.top + size.height;\r\n var newXShift = (xPos + offset.x) % steps.h;\r\n var newYShift = (yPos + offset.y) % steps.v;\r\n var sign = Math.sign || (x => {\r\n x = +x;\r\n if (0 === x || isNaN(x)) {\r\n return x\r\n }\r\n return x > 0 ? 1 : -1\r\n });\r\n var separatorOffset = (steps, offset) => (1 + .2 * sign(offset)) % 1 * steps;\r\n var isSmallOffset = (offset, steps) => Math.abs(offset) < .2 * steps;\r\n var newOffsetX = offset.x - newXShift;\r\n var newOffsetY = offset.y - newYShift;\r\n if (newXShift > separatorOffset(steps.h, offset.x)) {\r\n newOffsetX += steps.h\r\n }\r\n if (newYShift > separatorOffset(steps.v, offset.y)) {\r\n newOffsetY += steps.v\r\n }\r\n var roundedOffset_x = (sides.left || sides.right) && !isSmallOffset(offset.x, steps.h) ? newOffsetX : 0,\r\n roundedOffset_y = (sides.top || sides.bottom) && !isSmallOffset(offset.y, steps.v) ? newOffsetY : 0;\r\n return {\r\n x: roundedOffset_x * (sides.left ? -1 : 1),\r\n y: roundedOffset_y * (sides.top ? -1 : 1)\r\n }\r\n },\r\n _getMovingSides: function(e) {\r\n var $target = $(e.target);\r\n var hasCornerTopLeftClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-top-left\");\r\n var hasCornerTopRightClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-top-right\");\r\n var hasCornerBottomLeftClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-bottom-left\");\r\n var hasCornerBottomRightClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-bottom-right\");\r\n return {\r\n top: $target.hasClass(RESIZABLE_HANDLE_TOP_CLASS) || hasCornerTopLeftClass || hasCornerTopRightClass,\r\n left: $target.hasClass(RESIZABLE_HANDLE_LEFT_CLASS) || hasCornerTopLeftClass || hasCornerBottomLeftClass,\r\n bottom: $target.hasClass(RESIZABLE_HANDLE_BOTTOM_CLASS) || hasCornerBottomLeftClass || hasCornerBottomRightClass,\r\n right: $target.hasClass(RESIZABLE_HANDLE_RIGHT_CLASS) || hasCornerTopRightClass || hasCornerBottomRightClass\r\n }\r\n },\r\n _getArea: function() {\r\n var area = this.option(\"area\");\r\n if (isFunction(area)) {\r\n area = area.call(this)\r\n }\r\n if (isPlainObject(area)) {\r\n return this._getAreaFromObject(area)\r\n }\r\n return this._getAreaFromElement(area)\r\n },\r\n _getAreaScrollOffset: function() {\r\n var area = this.option(\"area\");\r\n var isElement = !isFunction(area) && !isPlainObject(area);\r\n var scrollOffset = {\r\n scrollY: 0,\r\n scrollX: 0\r\n };\r\n if (isElement) {\r\n var areaElement = $(area)[0];\r\n if (isWindow(areaElement)) {\r\n scrollOffset.scrollX = areaElement.pageXOffset;\r\n scrollOffset.scrollY = areaElement.pageYOffset\r\n }\r\n }\r\n return scrollOffset\r\n },\r\n _getAreaFromObject: function(area) {\r\n var result = {\r\n width: area.right - area.left,\r\n height: area.bottom - area.top,\r\n offset: {\r\n left: area.left,\r\n top: area.top\r\n }\r\n };\r\n this._correctAreaGeometry(result);\r\n return result\r\n },\r\n _getAreaFromElement: function(area) {\r\n var $area = $(area);\r\n var result;\r\n if ($area.length) {\r\n result = {\r\n width: getInnerWidth($area),\r\n height: getInnerHeight($area),\r\n offset: extend({\r\n top: 0,\r\n left: 0\r\n }, isWindow($area[0]) ? {} : $area.offset())\r\n };\r\n this._correctAreaGeometry(result, $area)\r\n }\r\n return result\r\n },\r\n _correctAreaGeometry: function(result, $area) {\r\n var areaBorderLeft = $area ? this._getBorderWidth($area, \"left\") : 0;\r\n var areaBorderTop = $area ? this._getBorderWidth($area, \"top\") : 0;\r\n result.offset.left += areaBorderLeft + this._getBorderWidth(this.$element(), \"left\");\r\n result.offset.top += areaBorderTop + this._getBorderWidth(this.$element(), \"top\");\r\n result.width -= getOuterWidth(this.$element()) - getInnerWidth(this.$element());\r\n result.height -= getOuterHeight(this.$element()) - getInnerHeight(this.$element())\r\n },\r\n _dragEndHandler: function(e) {\r\n var $element = this.$element();\r\n this._resizeEndAction({\r\n event: e,\r\n width: getOuterWidth($element),\r\n height: getOuterHeight($element),\r\n handles: this._movingSides\r\n });\r\n this._toggleResizingClass(false)\r\n },\r\n _renderWidth: function(width) {\r\n this.option(\"width\", fitIntoRange(width, this.option(\"minWidth\"), this.option(\"maxWidth\")))\r\n },\r\n _renderHeight: function(height) {\r\n this.option(\"height\", fitIntoRange(height, this.option(\"minHeight\"), this.option(\"maxHeight\")))\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"disabled\":\r\n this._toggleEventHandlers(!args.value);\r\n this.callBase(args);\r\n break;\r\n case \"handles\":\r\n this._invalidate();\r\n break;\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n hasWindow() && this._renderWidth(getOuterWidth(this.$element()));\r\n break;\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n hasWindow() && this._renderHeight(getOuterHeight(this.$element()));\r\n break;\r\n case \"onResize\":\r\n case \"onResizeStart\":\r\n case \"onResizeEnd\":\r\n this._renderActions();\r\n break;\r\n case \"area\":\r\n case \"stepPrecision\":\r\n case \"step\":\r\n case \"roundStepValue\":\r\n case \"keepAspectRatio\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n this.$element().find(\".\" + RESIZABLE_HANDLE_CLASS).remove()\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\nregisterComponent(RESIZABLE, Resizable);\r\nexport default Resizable;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.async.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport CollectionWidgetEdit from \"./ui.collection_widget.edit\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar AsyncCollectionWidget = CollectionWidgetEdit.inherit({\r\n _initMarkup() {\r\n this._deferredItems = [];\r\n this.callBase()\r\n },\r\n _renderItemContent(args) {\r\n var renderContentDeferred = new Deferred;\r\n var itemDeferred = new Deferred;\r\n this._deferredItems[args.index] = itemDeferred;\r\n var $itemContent = this.callBase.call(this, args);\r\n itemDeferred.done(() => {\r\n renderContentDeferred.resolve($itemContent)\r\n });\r\n return renderContentDeferred.promise()\r\n },\r\n _createItemByTemplate(itemTemplate, renderArgs) {\r\n return itemTemplate.render({\r\n model: renderArgs.itemData,\r\n container: renderArgs.container,\r\n index: renderArgs.index,\r\n onRendered: () => {\r\n this._deferredItems[renderArgs.index].resolve()\r\n }\r\n })\r\n },\r\n _postProcessRenderItems: noop,\r\n _renderItemsAsync() {\r\n var d = new Deferred;\r\n when.apply(this, this._deferredItems).done(() => {\r\n this._postProcessRenderItems();\r\n d.resolve()\r\n });\r\n return d.promise()\r\n },\r\n _clean() {\r\n this.callBase();\r\n this._deferredItems = []\r\n }\r\n});\r\nexport default AsyncCollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/ui.toolbar.base.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getOuterWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isMaterial,\r\n waitWebFont\r\n} from \"../themes\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport AsyncCollectionWidget from \"../collection/ui.collection_widget.async\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n TOOLBAR_CLASS\r\n} from \"./constants\";\r\nvar TOOLBAR_BEFORE_CLASS = \"dx-toolbar-before\";\r\nvar TOOLBAR_CENTER_CLASS = \"dx-toolbar-center\";\r\nvar TOOLBAR_AFTER_CLASS = \"dx-toolbar-after\";\r\nvar TOOLBAR_MINI_CLASS = \"dx-toolbar-mini\";\r\nvar TOOLBAR_ITEM_CLASS = \"dx-toolbar-item\";\r\nvar TOOLBAR_LABEL_CLASS = \"dx-toolbar-label\";\r\nvar TOOLBAR_BUTTON_CLASS = \"dx-toolbar-button\";\r\nvar TOOLBAR_ITEMS_CONTAINER_CLASS = \"dx-toolbar-items-container\";\r\nvar TOOLBAR_GROUP_CLASS = \"dx-toolbar-group\";\r\nvar TOOLBAR_COMPACT_CLASS = \"dx-toolbar-compact\";\r\nvar TEXT_BUTTON_MODE = \"text\";\r\nvar DEFAULT_BUTTON_TYPE = \"default\";\r\nvar DEFAULT_DROPDOWNBUTTON_STYLING_MODE = \"contained\";\r\nvar TOOLBAR_ITEM_DATA_KEY = \"dxToolbarItemDataKey\";\r\nvar ANIMATION_TIMEOUT = 15;\r\nclass ToolbarBase extends AsyncCollectionWidget {\r\n _getSynchronizableOptionsForCreateComponent() {\r\n return super._getSynchronizableOptionsForCreateComponent().filter(item => \"disabled\" !== item)\r\n }\r\n _initTemplates() {\r\n super._initTemplates();\r\n var template = new BindableTemplate(function($container, data, rawModel) {\r\n if (isPlainObject(data)) {\r\n var {\r\n text: text,\r\n html: html,\r\n widget: widget\r\n } = data;\r\n if (text) {\r\n $container.text(text).wrapInner(\"
\")\r\n }\r\n if (html) {\r\n $container.html(html)\r\n }\r\n if (\"dxDropDownButton\" === widget) {\r\n var _data$options;\r\n data.options = null !== (_data$options = data.options) && void 0 !== _data$options ? _data$options : {};\r\n if (!isDefined(data.options.stylingMode)) {\r\n data.options.stylingMode = this.option(\"useFlatButtons\") ? TEXT_BUTTON_MODE : DEFAULT_DROPDOWNBUTTON_STYLING_MODE\r\n }\r\n }\r\n if (\"dxButton\" === widget) {\r\n if (this.option(\"useFlatButtons\")) {\r\n var _data$options2, _data$options$styling;\r\n data.options = null !== (_data$options2 = data.options) && void 0 !== _data$options2 ? _data$options2 : {};\r\n data.options.stylingMode = null !== (_data$options$styling = data.options.stylingMode) && void 0 !== _data$options$styling ? _data$options$styling : TEXT_BUTTON_MODE\r\n }\r\n if (this.option(\"useDefaultButtons\")) {\r\n var _data$options3, _data$options$type;\r\n data.options = null !== (_data$options3 = data.options) && void 0 !== _data$options3 ? _data$options3 : {};\r\n data.options.type = null !== (_data$options$type = data.options.type) && void 0 !== _data$options$type ? _data$options$type : DEFAULT_BUTTON_TYPE\r\n }\r\n }\r\n } else {\r\n $container.text(String(data))\r\n }\r\n this._getTemplate(\"dx-polymorph-widget\").render({\r\n container: $container,\r\n model: rawModel,\r\n parent: this\r\n })\r\n }.bind(this), [\"text\", \"html\", \"widget\", \"options\"], this.option(\"integrationOptions.watchMethod\"));\r\n this._templateManager.addDefaultTemplates({\r\n item: template,\r\n menuItem: template\r\n })\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n renderAs: \"topToolbar\",\r\n grouped: false,\r\n useFlatButtons: false,\r\n useDefaultButtons: false\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n useFlatButtons: true\r\n }\r\n }])\r\n }\r\n _itemContainer() {\r\n return this._$toolbarItemsContainer.find([\".\".concat(TOOLBAR_BEFORE_CLASS), \".\".concat(TOOLBAR_CENTER_CLASS), \".\".concat(TOOLBAR_AFTER_CLASS)].join(\",\"))\r\n }\r\n _itemClass() {\r\n return TOOLBAR_ITEM_CLASS\r\n }\r\n _itemDataKey() {\r\n return TOOLBAR_ITEM_DATA_KEY\r\n }\r\n _dimensionChanged() {\r\n this._arrangeItems();\r\n this._applyCompactMode()\r\n }\r\n _initMarkup() {\r\n this._renderToolbar();\r\n this._renderSections();\r\n super._initMarkup()\r\n }\r\n _render() {\r\n super._render();\r\n this._renderItemsAsync();\r\n this._updateDimensionsInMaterial()\r\n }\r\n _postProcessRenderItems() {\r\n this._arrangeItems()\r\n }\r\n _renderToolbar() {\r\n this.$element().addClass(TOOLBAR_CLASS);\r\n this._$toolbarItemsContainer = $(\"
\").addClass(TOOLBAR_ITEMS_CONTAINER_CLASS).appendTo(this.$element());\r\n this.setAria(\"role\", \"toolbar\")\r\n }\r\n _renderSections() {\r\n var $container = this._$toolbarItemsContainer;\r\n each([\"before\", \"center\", \"after\"], (_, section) => {\r\n var sectionClass = \"dx-toolbar-\".concat(section);\r\n var $section = $container.find(\".\".concat(sectionClass));\r\n if (!$section.length) {\r\n this[\"_$\".concat(section, \"Section\")] = $(\"
\").addClass(sectionClass).appendTo($container)\r\n }\r\n })\r\n }\r\n _arrangeItems(elementWidth) {\r\n var _elementWidth;\r\n elementWidth = null !== (_elementWidth = elementWidth) && void 0 !== _elementWidth ? _elementWidth : getWidth(this.$element());\r\n this._$centerSection.css({\r\n margin: \"0 auto\",\r\n float: \"none\"\r\n });\r\n var beforeRect = getBoundingRect(this._$beforeSection.get(0));\r\n var afterRect = getBoundingRect(this._$afterSection.get(0));\r\n this._alignCenterSection(beforeRect, afterRect, elementWidth);\r\n var $label = this._$toolbarItemsContainer.find(\".\".concat(TOOLBAR_LABEL_CLASS)).eq(0);\r\n var $section = $label.parent();\r\n if (!$label.length) {\r\n return\r\n }\r\n var labelOffset = beforeRect.width ? beforeRect.width : $label.position().left;\r\n var widthBeforeSection = $section.hasClass(TOOLBAR_BEFORE_CLASS) ? 0 : labelOffset;\r\n var widthAfterSection = $section.hasClass(TOOLBAR_AFTER_CLASS) ? 0 : afterRect.width;\r\n var elemsAtSectionWidth = 0;\r\n $section.children().not(\".\".concat(TOOLBAR_LABEL_CLASS)).each((function() {\r\n elemsAtSectionWidth += getOuterWidth(this)\r\n }));\r\n var freeSpace = elementWidth - elemsAtSectionWidth;\r\n var sectionMaxWidth = Math.max(freeSpace - widthBeforeSection - widthAfterSection, 0);\r\n if ($section.hasClass(TOOLBAR_BEFORE_CLASS)) {\r\n this._alignSection(this._$beforeSection, sectionMaxWidth)\r\n } else {\r\n var labelPaddings = getOuterWidth($label) - getWidth($label);\r\n $label.css(\"maxWidth\", sectionMaxWidth - labelPaddings)\r\n }\r\n }\r\n _alignCenterSection(beforeRect, afterRect, elementWidth) {\r\n this._alignSection(this._$centerSection, elementWidth - beforeRect.width - afterRect.width);\r\n var isRTL = this.option(\"rtlEnabled\");\r\n var leftRect = isRTL ? afterRect : beforeRect;\r\n var rightRect = isRTL ? beforeRect : afterRect;\r\n var centerRect = getBoundingRect(this._$centerSection.get(0));\r\n if (leftRect.right > centerRect.left || centerRect.right > rightRect.left) {\r\n this._$centerSection.css({\r\n marginLeft: leftRect.width,\r\n marginRight: rightRect.width,\r\n float: leftRect.width > rightRect.width ? \"none\" : \"right\"\r\n })\r\n }\r\n }\r\n _alignSection($section, maxWidth) {\r\n var $labels = $section.find(\".\".concat(TOOLBAR_LABEL_CLASS));\r\n var labels = $labels.toArray();\r\n maxWidth -= this._getCurrentLabelsPaddings(labels);\r\n var currentWidth = this._getCurrentLabelsWidth(labels);\r\n var difference = Math.abs(currentWidth - maxWidth);\r\n if (maxWidth < currentWidth) {\r\n labels = labels.reverse();\r\n this._alignSectionLabels(labels, difference, false)\r\n } else {\r\n this._alignSectionLabels(labels, difference, true)\r\n }\r\n }\r\n _alignSectionLabels(labels, difference, expanding) {\r\n var getRealLabelWidth = function(label) {\r\n return getBoundingRect(label).width\r\n };\r\n for (var i = 0; i < labels.length; i++) {\r\n var $label = $(labels[i]);\r\n var currentLabelWidth = Math.ceil(getRealLabelWidth(labels[i]));\r\n var labelMaxWidth = void 0;\r\n if (expanding) {\r\n $label.css(\"maxWidth\", \"inherit\")\r\n }\r\n var possibleLabelWidth = Math.ceil(expanding ? getRealLabelWidth(labels[i]) : currentLabelWidth);\r\n if (possibleLabelWidth < difference) {\r\n labelMaxWidth = expanding ? possibleLabelWidth : 0;\r\n difference -= possibleLabelWidth\r\n } else {\r\n labelMaxWidth = expanding ? currentLabelWidth + difference : currentLabelWidth - difference;\r\n $label.css(\"maxWidth\", labelMaxWidth);\r\n break\r\n }\r\n $label.css(\"maxWidth\", labelMaxWidth)\r\n }\r\n }\r\n _applyCompactMode() {\r\n var $element = this.$element();\r\n $element.removeClass(TOOLBAR_COMPACT_CLASS);\r\n if (this.option(\"compactMode\") && this._getSummaryItemsWidth(this.itemElements(), true) > getWidth($element)) {\r\n $element.addClass(TOOLBAR_COMPACT_CLASS)\r\n }\r\n }\r\n _getCurrentLabelsWidth(labels) {\r\n var width = 0;\r\n labels.forEach((function(label, index) {\r\n width += getOuterWidth(label)\r\n }));\r\n return width\r\n }\r\n _getCurrentLabelsPaddings(labels) {\r\n var padding = 0;\r\n labels.forEach((function(label, index) {\r\n padding += getOuterWidth(label) - getWidth(label)\r\n }));\r\n return padding\r\n }\r\n _renderItem(index, item, itemContainer, $after) {\r\n var _item$location, _item$text;\r\n var location = null !== (_item$location = item.location) && void 0 !== _item$location ? _item$location : \"center\";\r\n var container = null !== itemContainer && void 0 !== itemContainer ? itemContainer : this[\"_$\".concat(location, \"Section\")];\r\n var itemHasText = !!(null !== (_item$text = item.text) && void 0 !== _item$text ? _item$text : item.html);\r\n var itemElement = super._renderItem(index, item, container, $after);\r\n itemElement.toggleClass(TOOLBAR_BUTTON_CLASS, !itemHasText).toggleClass(TOOLBAR_LABEL_CLASS, itemHasText).addClass(item.cssClass);\r\n return itemElement\r\n }\r\n _renderGroupedItems() {\r\n each(this.option(\"items\"), (groupIndex, group) => {\r\n var _group$location;\r\n var groupItems = group.items;\r\n var $container = $(\"
\").addClass(TOOLBAR_GROUP_CLASS);\r\n var location = null !== (_group$location = group.location) && void 0 !== _group$location ? _group$location : \"center\";\r\n if (!groupItems || !groupItems.length) {\r\n return\r\n }\r\n each(groupItems, (itemIndex, item) => {\r\n this._renderItem(itemIndex, item, $container, null)\r\n });\r\n this._$toolbarItemsContainer.find(\".dx-toolbar-\".concat(location)).append($container)\r\n })\r\n }\r\n _renderItems(items) {\r\n var grouped = this.option(\"grouped\") && items.length && items[0].items;\r\n grouped ? this._renderGroupedItems() : super._renderItems(items)\r\n }\r\n _getToolbarItems() {\r\n var _this$option;\r\n return null !== (_this$option = this.option(\"items\")) && void 0 !== _this$option ? _this$option : []\r\n }\r\n _renderContentImpl() {\r\n var items = this._getToolbarItems();\r\n this.$element().toggleClass(TOOLBAR_MINI_CLASS, 0 === items.length);\r\n if (this._renderedItemsCount) {\r\n this._renderItems(items.slice(this._renderedItemsCount))\r\n } else {\r\n this._renderItems(items)\r\n }\r\n this._applyCompactMode()\r\n }\r\n _renderEmptyMessage() {}\r\n _clean() {\r\n this._$toolbarItemsContainer.children().empty();\r\n this.$element().empty();\r\n delete this._$beforeSection;\r\n delete this._$centerSection;\r\n delete this._$afterSection\r\n }\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this._arrangeItems()\r\n }\r\n }\r\n _isVisible() {\r\n return getWidth(this.$element()) > 0 && getHeight(this.$element()) > 0\r\n }\r\n _getIndexByItem(item) {\r\n return this._getToolbarItems().indexOf(item)\r\n }\r\n _itemOptionChanged(item, property, value) {\r\n super._itemOptionChanged.apply(this, [item, property, value]);\r\n this._arrangeItems()\r\n }\r\n _optionChanged(_ref) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n switch (name) {\r\n case \"width\":\r\n super._optionChanged.apply(this, arguments);\r\n this._dimensionChanged();\r\n break;\r\n case \"renderAs\":\r\n case \"useFlatButtons\":\r\n case \"useDefaultButtons\":\r\n this._invalidate();\r\n break;\r\n case \"compactMode\":\r\n this._applyCompactMode();\r\n break;\r\n case \"grouped\":\r\n break;\r\n default:\r\n super._optionChanged.apply(this, arguments)\r\n }\r\n }\r\n _dispose() {\r\n super._dispose();\r\n clearTimeout(this._waitParentAnimationTimeout)\r\n }\r\n _updateDimensionsInMaterial() {\r\n if (isMaterial()) {\r\n Promise.all([(() => new Promise(resolve => {\r\n var check = () => {\r\n var readyToResolve = true;\r\n this.$element().parents().each((_, parent) => {\r\n if (fx.isAnimating($(parent))) {\r\n readyToResolve = false;\r\n return false\r\n }\r\n });\r\n if (readyToResolve) {\r\n resolve()\r\n }\r\n return readyToResolve\r\n };\r\n var runCheck = () => {\r\n clearTimeout(this._waitParentAnimationTimeout);\r\n this._waitParentAnimationTimeout = setTimeout(() => check() || runCheck(), ANIMATION_TIMEOUT)\r\n };\r\n runCheck()\r\n }))(), (() => {\r\n var $labels = this.$element().find(\".\".concat(TOOLBAR_LABEL_CLASS));\r\n var promises = [];\r\n $labels.each((_, label) => {\r\n var text = $(label).text();\r\n var fontWeight = $(label).css(\"fontWeight\");\r\n promises.push(waitWebFont(text, fontWeight))\r\n });\r\n return Promise.all(promises)\r\n })()]).then(() => {\r\n this._dimensionChanged()\r\n })\r\n }\r\n }\r\n}\r\nregisterComponent(\"dxToolbarBase\", ToolbarBase);\r\nexport default ToolbarBase;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/constants.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var TOOLBAR_CLASS = \"dx-toolbar\";\r\n","/**\r\n * DevExtreme (esm/ui/popup/popup_position_controller.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"fullScreen\", \"forceApplyBindings\", \"dragOutsideBoundary\", \"dragAndResizeArea\", \"outsideDragFactor\"];\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n originalViewPort\r\n} from \"../../core/utils/view_port\";\r\nimport {\r\n OverlayPositionController\r\n} from \"../overlay/overlay_position_controller\";\r\nvar window = getWindow();\r\nclass PopupPositionController extends OverlayPositionController {\r\n constructor(_ref) {\r\n var {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n } = _ref, args = _objectWithoutPropertiesLoose(_ref, _excluded);\r\n super(args);\r\n this._props = _extends({}, this._props, {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n });\r\n this._$dragResizeContainer = void 0;\r\n this._outsideDragFactor = void 0;\r\n this._lastPositionBeforeFullScreen = void 0;\r\n this._updateDragResizeContainer();\r\n this._updateOutsideDragFactor()\r\n }\r\n set fullScreen(fullScreen) {\r\n this._props.fullScreen = fullScreen;\r\n if (fullScreen) {\r\n this._fullScreenEnabled()\r\n } else {\r\n this._fullScreenDisabled()\r\n }\r\n }\r\n get $dragResizeContainer() {\r\n return this._$dragResizeContainer\r\n }\r\n get outsideDragFactor() {\r\n return this._outsideDragFactor\r\n }\r\n set dragAndResizeArea(dragAndResizeArea) {\r\n this._props.dragAndResizeArea = dragAndResizeArea;\r\n this._updateDragResizeContainer()\r\n }\r\n set dragOutsideBoundary(dragOutsideBoundary) {\r\n this._props.dragOutsideBoundary = dragOutsideBoundary;\r\n this._updateDragResizeContainer();\r\n this._updateOutsideDragFactor()\r\n }\r\n set outsideDragFactor(outsideDragFactor) {\r\n this._props.outsideDragFactor = outsideDragFactor;\r\n this._updateOutsideDragFactor()\r\n }\r\n updateContainer(containerProp) {\r\n super.updateContainer(containerProp);\r\n this._updateDragResizeContainer()\r\n }\r\n dragHandled() {\r\n this.restorePositionOnNextRender(false)\r\n }\r\n resizeHandled() {\r\n this.restorePositionOnNextRender(false)\r\n }\r\n positionContent() {\r\n if (this._props.fullScreen) {\r\n move(this._$content, {\r\n top: 0,\r\n left: 0\r\n });\r\n this.detectVisualPositionChange()\r\n } else {\r\n var _this$_props$forceApp, _this$_props;\r\n null === (_this$_props$forceApp = (_this$_props = this._props).forceApplyBindings) || void 0 === _this$_props$forceApp ? void 0 : _this$_props$forceApp.call(_this$_props);\r\n if (!this._shouldRenderContentInitialPosition && this._lastPositionBeforeFullScreen) {\r\n move(this._$content, this._lastPositionBeforeFullScreen);\r\n this._lastPositionBeforeFullScreen = void 0;\r\n this.detectVisualPositionChange()\r\n } else {\r\n super.positionContent()\r\n }\r\n }\r\n }\r\n _updateOutsideDragFactor() {\r\n this._outsideDragFactor = this._getOutsideDragFactor()\r\n }\r\n _getOutsideDragFactor() {\r\n if (this._props.dragOutsideBoundary) {\r\n return 1\r\n }\r\n return this._props.outsideDragFactor\r\n }\r\n _updateDragResizeContainer() {\r\n this._$dragResizeContainer = this._getDragResizeContainer()\r\n }\r\n _getDragResizeContainer() {\r\n if (this._props.dragOutsideBoundary) {\r\n return $(window)\r\n }\r\n if (this._props.dragAndResizeArea) {\r\n return $(this._props.dragAndResizeArea)\r\n }\r\n var isContainerDefined = originalViewPort().get(0) || this._props.container;\r\n return isContainerDefined ? this._$markupContainer : $(window)\r\n }\r\n _getVisualContainer() {\r\n if (this._props.fullScreen) {\r\n return $(window)\r\n }\r\n return super._getVisualContainer()\r\n }\r\n _fullScreenEnabled() {\r\n this.restorePositionOnNextRender(false);\r\n this._lastPositionBeforeFullScreen = this._visualPosition\r\n }\r\n _fullScreenDisabled() {\r\n this.restorePositionOnNextRender(false)\r\n }\r\n}\r\nexport {\r\n PopupPositionController\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/popup/ui.popup.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../../core/templates/empty_template\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n camelize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getVisibleHeight,\r\n addOffsetToMaxHeight,\r\n addOffsetToMinHeight,\r\n getVerticalOffsets,\r\n getOuterWidth,\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n compare as compareVersions\r\n} from \"../../core/utils/version\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../../events/visibility_change\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport PopupDrag from \"./popup_drag\";\r\nimport Resizable from \"../resizable\";\r\nimport Button from \"../button\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport {\r\n isMaterial,\r\n current as currentTheme\r\n} from \"../themes\";\r\nimport \"../toolbar/ui.toolbar.base\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nimport * as zIndexPool from \"../overlay/z_index\";\r\nimport {\r\n PopupPositionController\r\n} from \"./popup_position_controller\";\r\nvar window = getWindow();\r\nvar POPUP_CLASS = \"dx-popup\";\r\nvar POPUP_WRAPPER_CLASS = \"dx-popup-wrapper\";\r\nvar POPUP_FULL_SCREEN_CLASS = \"dx-popup-fullscreen\";\r\nvar POPUP_FULL_SCREEN_WIDTH_CLASS = \"dx-popup-fullscreen-width\";\r\nvar POPUP_NORMAL_CLASS = \"dx-popup-normal\";\r\nvar POPUP_CONTENT_CLASS = \"dx-popup-content\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar POPUP_DRAGGABLE_CLASS = \"dx-popup-draggable\";\r\nvar POPUP_TITLE_CLASS = \"dx-popup-title\";\r\nvar POPUP_TITLE_CLOSEBUTTON_CLASS = \"dx-closebutton\";\r\nvar POPUP_BOTTOM_CLASS = \"dx-popup-bottom\";\r\nvar POPUP_HAS_CLOSE_BUTTON_CLASS = \"dx-has-close-button\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar POPUP_CONTENT_FLEX_HEIGHT_CLASS = \"dx-popup-flex-height\";\r\nvar POPUP_CONTENT_INHERIT_HEIGHT_CLASS = \"dx-popup-inherit-height\";\r\nvar ALLOWED_TOOLBAR_ITEM_ALIASES = [\"cancel\", \"clear\", \"done\"];\r\nvar BUTTON_DEFAULT_TYPE = \"default\";\r\nvar BUTTON_NORMAL_TYPE = \"normal\";\r\nvar BUTTON_TEXT_MODE = \"text\";\r\nvar BUTTON_CONTAINED_MODE = \"contained\";\r\nvar IS_OLD_SAFARI = browser.safari && compareVersions(browser.version, [11]) < 0;\r\nvar HEIGHT_STRATEGIES = {\r\n static: \"\",\r\n inherit: POPUP_CONTENT_INHERIT_HEIGHT_CLASS,\r\n flex: POPUP_CONTENT_FLEX_HEIGHT_CLASS\r\n};\r\nvar getButtonPlace = name => {\r\n var device = devices.current();\r\n var platform = device.platform;\r\n var toolbar = \"bottom\";\r\n var location = \"before\";\r\n if (\"ios\" === platform) {\r\n switch (name) {\r\n case \"cancel\":\r\n toolbar = \"top\";\r\n break;\r\n case \"clear\":\r\n toolbar = \"top\";\r\n location = \"after\";\r\n break;\r\n case \"done\":\r\n location = \"after\"\r\n }\r\n } else if (\"android\" === platform) {\r\n switch (name) {\r\n case \"cancel\":\r\n case \"done\":\r\n location = \"after\"\r\n }\r\n }\r\n return {\r\n toolbar: toolbar,\r\n location: location\r\n }\r\n};\r\nvar Popup = Overlay.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n upArrow: e => {\r\n var _this$_drag;\r\n null === (_this$_drag = this._drag) || void 0 === _this$_drag ? void 0 : _this$_drag.moveUp(e)\r\n },\r\n downArrow: e => {\r\n var _this$_drag2;\r\n null === (_this$_drag2 = this._drag) || void 0 === _this$_drag2 ? void 0 : _this$_drag2.moveDown(e)\r\n },\r\n leftArrow: e => {\r\n var _this$_drag3;\r\n null === (_this$_drag3 = this._drag) || void 0 === _this$_drag3 ? void 0 : _this$_drag3.moveLeft(e)\r\n },\r\n rightArrow: e => {\r\n var _this$_drag4;\r\n null === (_this$_drag4 = this._drag) || void 0 === _this$_drag4 ? void 0 : _this$_drag4.moveRight(e)\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n fullScreen: false,\r\n title: \"\",\r\n showTitle: true,\r\n titleTemplate: \"title\",\r\n onTitleRendered: null,\r\n dragOutsideBoundary: false,\r\n dragEnabled: false,\r\n dragAndResizeArea: void 0,\r\n outsideDragFactor: 0,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n resizeEnabled: false,\r\n toolbarItems: [],\r\n showCloseButton: false,\r\n bottomTemplate: \"bottom\",\r\n useDefaultToolbarButtons: false,\r\n useFlatToolbarButtons: false,\r\n autoResizeEnabled: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = currentTheme();\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n animation: this._iosAnimation\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n animation: this._androidAnimation\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n showCloseButton: true\r\n }\r\n }, {\r\n device: function(_device) {\r\n return \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n dragEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n useDefaultToolbarButtons: true,\r\n useFlatToolbarButtons: true,\r\n showCloseButton: false\r\n }\r\n }])\r\n },\r\n _iosAnimation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n opacity: 1,\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n }\r\n },\r\n to: {\r\n opacity: 1,\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n }\r\n }\r\n }\r\n },\r\n _androidAnimation: function() {\r\n return this.option(\"fullScreen\") ? {\r\n show: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n top: \"30%\",\r\n opacity: 0\r\n },\r\n to: {\r\n top: 0,\r\n opacity: 1\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n top: 0,\r\n opacity: 1\r\n },\r\n to: {\r\n top: \"30%\",\r\n opacity: 0\r\n }\r\n }\r\n } : {\r\n show: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n }\r\n },\r\n _init: function() {\r\n var popupWrapperClassExternal = this.option(\"_wrapperClassExternal\");\r\n var popupWrapperClasses = popupWrapperClassExternal ? \"\".concat(POPUP_WRAPPER_CLASS, \" \").concat(popupWrapperClassExternal) : POPUP_WRAPPER_CLASS;\r\n this.callBase();\r\n this._updateResizeCallbackSkipCondition();\r\n this.$element().addClass(POPUP_CLASS);\r\n this.$wrapper().addClass(popupWrapperClasses);\r\n this._$popupContent = this._$content.wrapInner($(\"
\").addClass(POPUP_CONTENT_CLASS)).children().eq(0)\r\n },\r\n _render: function() {\r\n var isFullscreen = this.option(\"fullScreen\");\r\n this._toggleFullScreenClass(isFullscreen);\r\n this.callBase()\r\n },\r\n _toggleFullScreenClass: function(value) {\r\n this.$overlayContent().toggleClass(POPUP_FULL_SCREEN_CLASS, value).toggleClass(POPUP_NORMAL_CLASS, !value)\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n title: new EmptyTemplate,\r\n bottom: new EmptyTemplate\r\n })\r\n },\r\n _getActionsList: function() {\r\n return this.callBase().concat([\"onResizeStart\", \"onResize\", \"onResizeEnd\"])\r\n },\r\n _contentResizeHandler: function(entry) {\r\n if (!this._shouldSkipContentResize(entry)) {\r\n this._renderGeometry({\r\n shouldOnlyReposition: true\r\n })\r\n }\r\n },\r\n _doesShowAnimationChangeDimensions: function() {\r\n var animation = this.option(\"animation\");\r\n return [\"to\", \"from\"].some(prop => {\r\n var _animation$show;\r\n var config = null === animation || void 0 === animation ? void 0 : null === (_animation$show = animation.show) || void 0 === _animation$show ? void 0 : _animation$show[prop];\r\n return isObject(config) && (\"width\" in config || \"height\" in config)\r\n })\r\n },\r\n _updateResizeCallbackSkipCondition() {\r\n var doesShowAnimationChangeDimensions = this._doesShowAnimationChangeDimensions();\r\n this._shouldSkipContentResize = entry => doesShowAnimationChangeDimensions && this._showAnimationProcessing || this._areContentDimensionsRendered(entry)\r\n },\r\n _observeContentResize: function(shouldObserve) {\r\n if (!this.option(\"useResizeObserver\")) {\r\n return\r\n }\r\n var contentElement = this._$content.get(0);\r\n if (shouldObserve) {\r\n resizeObserverSingleton.observe(contentElement, entry => {\r\n this._contentResizeHandler(entry)\r\n })\r\n } else {\r\n resizeObserverSingleton.unobserve(contentElement)\r\n }\r\n },\r\n _areContentDimensionsRendered: function(entry) {\r\n var _entry$contentBoxSize, _this$_renderedDimens3, _this$_renderedDimens4;\r\n var contentBox = null === (_entry$contentBoxSize = entry.contentBoxSize) || void 0 === _entry$contentBoxSize ? void 0 : _entry$contentBoxSize[0];\r\n if (contentBox) {\r\n var _this$_renderedDimens, _this$_renderedDimens2;\r\n return parseInt(contentBox.inlineSize, 10) === (null === (_this$_renderedDimens = this._renderedDimensions) || void 0 === _this$_renderedDimens ? void 0 : _this$_renderedDimens.width) && parseInt(contentBox.blockSize, 10) === (null === (_this$_renderedDimens2 = this._renderedDimensions) || void 0 === _this$_renderedDimens2 ? void 0 : _this$_renderedDimens2.height)\r\n }\r\n var contentRect = entry.contentRect;\r\n return parseInt(contentRect.width, 10) === (null === (_this$_renderedDimens3 = this._renderedDimensions) || void 0 === _this$_renderedDimens3 ? void 0 : _this$_renderedDimens3.width) && parseInt(contentRect.height, 10) === (null === (_this$_renderedDimens4 = this._renderedDimensions) || void 0 === _this$_renderedDimens4 ? void 0 : _this$_renderedDimens4.height)\r\n },\r\n _renderContentImpl: function() {\r\n this._renderTitle();\r\n this.callBase();\r\n this._renderResize();\r\n this._renderBottom()\r\n },\r\n _renderTitle: function() {\r\n var items = this._getToolbarItems(\"top\");\r\n var titleText = this.option(\"title\");\r\n var showTitle = this.option(\"showTitle\");\r\n if (showTitle && !!titleText) {\r\n items.unshift({\r\n location: devices.current().ios ? \"center\" : \"before\",\r\n text: titleText\r\n })\r\n }\r\n if (showTitle || items.length > 0) {\r\n this._$title && this._$title.remove();\r\n var $title = $(\"
\").addClass(POPUP_TITLE_CLASS).insertBefore(this.$content());\r\n this._$title = this._renderTemplateByType(\"titleTemplate\", items, $title).addClass(POPUP_TITLE_CLASS);\r\n this._renderDrag();\r\n this._executeTitleRenderAction(this._$title);\r\n this._$title.toggleClass(POPUP_HAS_CLOSE_BUTTON_CLASS, this._hasCloseButton())\r\n } else if (this._$title) {\r\n this._$title.detach()\r\n }\r\n },\r\n _renderTemplateByType: function(optionName, data, $container, additionalToolbarOptions) {\r\n var {\r\n rtlEnabled: rtlEnabled,\r\n useDefaultToolbarButtons: useDefaultToolbarButtons,\r\n useFlatToolbarButtons: useFlatToolbarButtons,\r\n disabled: disabled\r\n } = this.option();\r\n var template = this._getTemplateByOption(optionName);\r\n var toolbarTemplate = template instanceof EmptyTemplate;\r\n if (toolbarTemplate) {\r\n var integrationOptions = extend({}, this.option(\"integrationOptions\"), {\r\n skipTemplates: [\"content\", \"title\"]\r\n });\r\n var toolbarOptions = extend(additionalToolbarOptions, {\r\n items: data,\r\n rtlEnabled: rtlEnabled,\r\n useDefaultButtons: useDefaultToolbarButtons,\r\n useFlatButtons: useFlatToolbarButtons,\r\n disabled: disabled,\r\n integrationOptions: integrationOptions\r\n });\r\n this._getTemplate(\"dx-polymorph-widget\").render({\r\n container: $container,\r\n model: {\r\n widget: this._getToolbarName(),\r\n options: toolbarOptions\r\n }\r\n });\r\n var $toolbar = $container.children(\"div\");\r\n $container.replaceWith($toolbar);\r\n return $toolbar\r\n } else {\r\n var $result = $(template.render({\r\n container: getPublicElement($container)\r\n }));\r\n if ($result.hasClass(TEMPLATE_WRAPPER_CLASS)) {\r\n $container.replaceWith($result);\r\n $container = $result\r\n }\r\n return $container\r\n }\r\n },\r\n _getToolbarName: function() {\r\n return \"dxToolbarBase\"\r\n },\r\n _renderVisibilityAnimate: function(visible) {\r\n this._observeContentResize(visible);\r\n return this.callBase(visible)\r\n },\r\n _executeTitleRenderAction: function($titleElement) {\r\n this._getTitleRenderAction()({\r\n titleElement: getPublicElement($titleElement)\r\n })\r\n },\r\n _getTitleRenderAction: function() {\r\n return this._titleRenderAction || this._createTitleRenderAction()\r\n },\r\n _createTitleRenderAction: function() {\r\n return this._titleRenderAction = this._createActionByOption(\"onTitleRendered\", {\r\n element: this.element(),\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _getCloseButton: function() {\r\n return {\r\n toolbar: \"top\",\r\n location: \"after\",\r\n template: this._getCloseButtonRenderer()\r\n }\r\n },\r\n _getCloseButtonRenderer: function() {\r\n return (_, __, container) => {\r\n var $button = $(\"
\").addClass(POPUP_TITLE_CLOSEBUTTON_CLASS);\r\n this._createComponent($button, Button, {\r\n icon: \"close\",\r\n onClick: this._createToolbarItemAction(void 0),\r\n stylingMode: \"text\",\r\n integrationOptions: {}\r\n });\r\n $(container).append($button)\r\n }\r\n },\r\n _getToolbarItems: function(toolbar) {\r\n var toolbarItems = this.option(\"toolbarItems\");\r\n var toolbarsItems = [];\r\n this._toolbarItemClasses = [];\r\n var currentPlatform = devices.current().platform;\r\n var index = 0;\r\n each(toolbarItems, (_, data) => {\r\n var isShortcut = isDefined(data.shortcut);\r\n var item = isShortcut ? getButtonPlace(data.shortcut) : data;\r\n if (isShortcut && \"ios\" === currentPlatform && index < 2) {\r\n item.toolbar = \"top\";\r\n index++\r\n }\r\n item.toolbar = data.toolbar || item.toolbar || \"top\";\r\n if (item && item.toolbar === toolbar) {\r\n if (isShortcut) {\r\n extend(item, {\r\n location: data.location\r\n }, this._getToolbarItemByAlias(data))\r\n }\r\n var isLTROrder = \"generic\" === currentPlatform;\r\n if (\"done\" === data.shortcut && isLTROrder || \"cancel\" === data.shortcut && !isLTROrder) {\r\n toolbarsItems.unshift(item)\r\n } else {\r\n toolbarsItems.push(item)\r\n }\r\n }\r\n });\r\n if (\"top\" === toolbar && this._hasCloseButton()) {\r\n toolbarsItems.push(this._getCloseButton())\r\n }\r\n return toolbarsItems\r\n },\r\n _hasCloseButton() {\r\n return this.option(\"showCloseButton\") && this.option(\"showTitle\")\r\n },\r\n _getLocalizationKey: itemType => \"done\" === itemType.toLowerCase() ? \"OK\" : camelize(itemType, true),\r\n _getToolbarItemByAlias: function(data) {\r\n var that = this;\r\n var itemType = data.shortcut;\r\n if (!ALLOWED_TOOLBAR_ITEM_ALIASES.includes(itemType)) {\r\n return false\r\n }\r\n var itemConfig = extend({\r\n text: messageLocalization.format(this._getLocalizationKey(itemType)),\r\n onClick: this._createToolbarItemAction(data.onClick),\r\n integrationOptions: {},\r\n type: that.option(\"useDefaultToolbarButtons\") ? BUTTON_DEFAULT_TYPE : BUTTON_NORMAL_TYPE,\r\n stylingMode: that.option(\"useFlatToolbarButtons\") ? BUTTON_TEXT_MODE : BUTTON_CONTAINED_MODE\r\n }, data.options || {});\r\n var itemClass = POPUP_CLASS + \"-\" + itemType;\r\n this._toolbarItemClasses.push(itemClass);\r\n return {\r\n template: function(_, __, container) {\r\n var $toolbarItem = $(\"
\").addClass(itemClass).appendTo(container);\r\n that._createComponent($toolbarItem, Button, itemConfig)\r\n }\r\n }\r\n },\r\n _createToolbarItemAction: function(clickAction) {\r\n return this._createAction(clickAction, {\r\n afterExecute: function(e) {\r\n e.component.hide()\r\n }\r\n })\r\n },\r\n _renderBottom: function() {\r\n var items = this._getToolbarItems(\"bottom\");\r\n if (items.length) {\r\n this._$bottom && this._$bottom.remove();\r\n var $bottom = $(\"
\").addClass(POPUP_BOTTOM_CLASS).insertAfter(this.$content());\r\n this._$bottom = this._renderTemplateByType(\"bottomTemplate\", items, $bottom, {\r\n compactMode: true\r\n }).addClass(POPUP_BOTTOM_CLASS);\r\n this._toggleClasses()\r\n } else {\r\n this._$bottom && this._$bottom.detach()\r\n }\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase(...arguments);\r\n this.$content().toggleClass(DISABLED_STATE_CLASS, Boolean(value))\r\n },\r\n _toggleClasses: function() {\r\n var aliases = ALLOWED_TOOLBAR_ITEM_ALIASES;\r\n each(aliases, (_, alias) => {\r\n var className = POPUP_CLASS + \"-\" + alias;\r\n if (this._toolbarItemClasses.includes(className)) {\r\n this.$wrapper().addClass(className + \"-visible\");\r\n this._$bottom.addClass(className)\r\n } else {\r\n this.$wrapper().removeClass(className + \"-visible\");\r\n this._$bottom.removeClass(className)\r\n }\r\n })\r\n },\r\n _toggleFocusClass(isFocused, $element) {\r\n this.callBase(isFocused, $element);\r\n if (isFocused && !zIndexPool.isLastZIndexInStack(this._zIndex)) {\r\n var zIndex = zIndexPool.create(this._zIndexInitValue());\r\n zIndexPool.remove(this._zIndex);\r\n this._zIndex = zIndex;\r\n this._$wrapper.css(\"zIndex\", zIndex);\r\n this._$content.css(\"zIndex\", zIndex)\r\n }\r\n },\r\n _getPositionControllerConfig() {\r\n var {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n } = this.option();\r\n return extend({}, this.callBase(), {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n })\r\n },\r\n _initPositionController() {\r\n this._positionController = new PopupPositionController(this._getPositionControllerConfig())\r\n },\r\n _getDragTarget: function() {\r\n return this.topToolbar()\r\n },\r\n _renderGeometry: function(options) {\r\n var {\r\n visible: visible,\r\n useResizeObserver: useResizeObserver\r\n } = this.option();\r\n if (visible && hasWindow()) {\r\n var isAnimated = this._showAnimationProcessing;\r\n var shouldRepeatAnimation = isAnimated && !(null !== options && void 0 !== options && options.forceStopAnimation) && useResizeObserver;\r\n this._isAnimationPaused = shouldRepeatAnimation || void 0;\r\n this._stopAnimation();\r\n if (null !== options && void 0 !== options && options.shouldOnlyReposition) {\r\n this._renderPosition(false)\r\n } else {\r\n this._renderGeometryImpl(null === options || void 0 === options ? void 0 : options.isDimensionChange)\r\n }\r\n if (shouldRepeatAnimation) {\r\n this._animateShowing();\r\n this._isAnimationPaused = void 0\r\n }\r\n }\r\n },\r\n _cacheDimensions: function() {\r\n if (!this.option(\"useResizeObserver\")) {\r\n return\r\n }\r\n this._renderedDimensions = {\r\n width: parseInt(getWidth(this._$content), 10),\r\n height: parseInt(getHeight(this._$content), 10)\r\n }\r\n },\r\n _renderGeometryImpl: function() {\r\n var isDimensionChange = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n if (!isDimensionChange) {\r\n this._resetContentHeight()\r\n }\r\n this.callBase();\r\n this._cacheDimensions();\r\n this._setContentHeight()\r\n },\r\n _resetContentHeight: function() {\r\n var height = this._getOptionValue(\"height\");\r\n if (\"auto\" === height) {\r\n this.$content().css({\r\n height: \"auto\",\r\n maxHeight: \"none\"\r\n })\r\n }\r\n },\r\n _renderDrag: function() {\r\n var $dragTarget = this._getDragTarget();\r\n var dragEnabled = this.option(\"dragEnabled\");\r\n if (!$dragTarget) {\r\n return\r\n }\r\n var config = {\r\n dragEnabled: dragEnabled,\r\n handle: $dragTarget.get(0),\r\n draggableElement: this._$content.get(0),\r\n positionController: this._positionController\r\n };\r\n if (this._drag) {\r\n this._drag.init(config)\r\n } else {\r\n this._drag = new PopupDrag(config)\r\n }\r\n this.$overlayContent().toggleClass(POPUP_DRAGGABLE_CLASS, dragEnabled)\r\n },\r\n _renderResize: function() {\r\n this._resizable = this._createComponent(this._$content, Resizable, {\r\n handles: this.option(\"resizeEnabled\") ? \"all\" : \"none\",\r\n onResizeEnd: e => {\r\n this._resizeEndHandler(e);\r\n this._observeContentResize(true)\r\n },\r\n onResize: e => {\r\n this._setContentHeight();\r\n this._actions.onResize(e)\r\n },\r\n onResizeStart: e => {\r\n this._observeContentResize(false);\r\n this._actions.onResizeStart(e)\r\n },\r\n minHeight: 100,\r\n minWidth: 100,\r\n area: this._positionController.$dragResizeContainer,\r\n keepAspectRatio: false\r\n })\r\n },\r\n _resizeEndHandler: function(e) {\r\n var width = this._resizable.option(\"width\");\r\n var height = this._resizable.option(\"height\");\r\n width && this._setOptionWithoutOptionChange(\"width\", width);\r\n height && this._setOptionWithoutOptionChange(\"height\", height);\r\n this._cacheDimensions();\r\n this._positionController.resizeHandled();\r\n this._positionController.detectVisualPositionChange(e.event);\r\n this._actions.onResizeEnd(e)\r\n },\r\n _setContentHeight: function() {\r\n (this.option(\"forceApplyBindings\") || noop)();\r\n var overlayContent = this.$overlayContent().get(0);\r\n var currentHeightStrategyClass = this._chooseHeightStrategy(overlayContent);\r\n this.$content().css(this._getHeightCssStyles(currentHeightStrategyClass, overlayContent));\r\n this._setHeightClasses(this.$overlayContent(), currentHeightStrategyClass)\r\n },\r\n _heightStrategyChangeOffset: function(currentHeightStrategyClass, popupVerticalPaddings) {\r\n return currentHeightStrategyClass === HEIGHT_STRATEGIES.flex ? -popupVerticalPaddings : 0\r\n },\r\n _chooseHeightStrategy: function(overlayContent) {\r\n var isAutoWidth = \"auto\" === overlayContent.style.width || \"\" === overlayContent.style.width;\r\n var currentHeightStrategyClass = HEIGHT_STRATEGIES.static;\r\n if (this._isAutoHeight() && this.option(\"autoResizeEnabled\")) {\r\n if (isAutoWidth || IS_OLD_SAFARI) {\r\n currentHeightStrategyClass = HEIGHT_STRATEGIES.inherit\r\n } else {\r\n currentHeightStrategyClass = HEIGHT_STRATEGIES.flex\r\n }\r\n }\r\n return currentHeightStrategyClass\r\n },\r\n _getHeightCssStyles: function(currentHeightStrategyClass, overlayContent) {\r\n var cssStyles = {};\r\n var contentMaxHeight = this._getOptionValue(\"maxHeight\", overlayContent);\r\n var contentMinHeight = this._getOptionValue(\"minHeight\", overlayContent);\r\n var popupHeightParts = this._splitPopupHeight();\r\n var toolbarsAndVerticalOffsetsHeight = popupHeightParts.header + popupHeightParts.footer + popupHeightParts.contentVerticalOffsets + popupHeightParts.popupVerticalOffsets + this._heightStrategyChangeOffset(currentHeightStrategyClass, popupHeightParts.popupVerticalPaddings);\r\n if (currentHeightStrategyClass === HEIGHT_STRATEGIES.static) {\r\n if (!this._isAutoHeight() || contentMaxHeight || contentMinHeight) {\r\n var overlayHeight = this.option(\"fullScreen\") ? Math.min(getBoundingRect(overlayContent).height, getWindow().innerHeight) : getBoundingRect(overlayContent).height;\r\n var contentHeight = overlayHeight - toolbarsAndVerticalOffsetsHeight;\r\n cssStyles = {\r\n height: Math.max(0, contentHeight),\r\n minHeight: \"auto\",\r\n maxHeight: \"auto\"\r\n }\r\n }\r\n } else {\r\n var container = $(this._positionController.$visualContainer).get(0);\r\n var maxHeightValue = addOffsetToMaxHeight(contentMaxHeight, -toolbarsAndVerticalOffsetsHeight, container);\r\n var minHeightValue = addOffsetToMinHeight(contentMinHeight, -toolbarsAndVerticalOffsetsHeight, container);\r\n cssStyles = {\r\n height: \"auto\",\r\n minHeight: minHeightValue,\r\n maxHeight: maxHeightValue\r\n }\r\n }\r\n return cssStyles\r\n },\r\n _setHeightClasses: function($container, currentClass) {\r\n var excessClasses = \"\";\r\n for (var name in HEIGHT_STRATEGIES) {\r\n if (HEIGHT_STRATEGIES[name] !== currentClass) {\r\n excessClasses += \" \" + HEIGHT_STRATEGIES[name]\r\n }\r\n }\r\n $container.removeClass(excessClasses).addClass(currentClass)\r\n },\r\n _isAutoHeight: function() {\r\n return \"auto\" === this.$overlayContent().get(0).style.height\r\n },\r\n _splitPopupHeight: function() {\r\n var topToolbar = this.topToolbar();\r\n var bottomToolbar = this.bottomToolbar();\r\n return {\r\n header: getVisibleHeight(topToolbar && topToolbar.get(0)),\r\n footer: getVisibleHeight(bottomToolbar && bottomToolbar.get(0)),\r\n contentVerticalOffsets: getVerticalOffsets(this.$overlayContent().get(0), true),\r\n popupVerticalOffsets: getVerticalOffsets(this.$content().get(0), true),\r\n popupVerticalPaddings: getVerticalOffsets(this.$content().get(0), false)\r\n }\r\n },\r\n _isAllWindowCovered: function() {\r\n return this.callBase() || this.option(\"fullScreen\")\r\n },\r\n _renderDimensions: function() {\r\n if (this.option(\"fullScreen\")) {\r\n this.$overlayContent().css({\r\n width: \"100%\",\r\n height: \"100%\",\r\n minWidth: \"\",\r\n maxWidth: \"\",\r\n minHeight: \"\",\r\n maxHeight: \"\"\r\n })\r\n } else {\r\n this.callBase()\r\n }\r\n if (hasWindow()) {\r\n this._renderFullscreenWidthClass()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._renderGeometry({\r\n isDimensionChange: true\r\n })\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._observeContentResize(false)\r\n },\r\n _renderFullscreenWidthClass: function() {\r\n this.$overlayContent().toggleClass(POPUP_FULL_SCREEN_WIDTH_CLASS, getOuterWidth(this.$overlayContent()) === getWidth(window))\r\n },\r\n refreshPosition: function() {\r\n this._renderPosition()\r\n },\r\n _optionChanged: function(args) {\r\n var _this$_resizable2;\r\n var value = args.value;\r\n switch (args.name) {\r\n case \"disabled\":\r\n this.callBase(args);\r\n this._renderTitle();\r\n this._renderBottom();\r\n break;\r\n case \"animation\":\r\n this._updateResizeCallbackSkipCondition();\r\n break;\r\n case \"showTitle\":\r\n case \"title\":\r\n case \"titleTemplate\":\r\n this._renderTitle();\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"bottomTemplate\":\r\n this._renderBottom();\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"container\":\r\n this.callBase(args);\r\n if (this.option(\"resizeEnabled\")) {\r\n var _this$_resizable;\r\n null === (_this$_resizable = this._resizable) || void 0 === _this$_resizable ? void 0 : _this$_resizable.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n null === (_this$_resizable2 = this._resizable) || void 0 === _this$_resizable2 ? void 0 : _this$_resizable2.option(args.name, args.value);\r\n break;\r\n case \"onTitleRendered\":\r\n this._createTitleRenderAction(args.value);\r\n break;\r\n case \"toolbarItems\":\r\n case \"useDefaultToolbarButtons\":\r\n case \"useFlatToolbarButtons\":\r\n var shouldRenderGeometry = !args.fullName.match(/^toolbarItems((\\[\\d+\\])(\\.(options|visible).*)?)?$/);\r\n this._renderTitle();\r\n this._renderBottom();\r\n if (shouldRenderGeometry) {\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent())\r\n }\r\n break;\r\n case \"dragEnabled\":\r\n this._renderDrag();\r\n break;\r\n case \"dragAndResizeArea\":\r\n this._positionController.dragAndResizeArea = value;\r\n if (this.option(\"resizeEnabled\")) {\r\n this._resizable.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\r\n this._positionController.positionContent();\r\n break;\r\n case \"dragOutsideBoundary\":\r\n this._positionController.dragOutsideBoundary = value;\r\n if (this.option(\"resizeEnabled\")) {\r\n this._resizable.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\r\n break;\r\n case \"outsideDragFactor\":\r\n this._positionController.outsideDragFactor = value;\r\n break;\r\n case \"resizeEnabled\":\r\n this._renderResize();\r\n this._renderGeometry();\r\n break;\r\n case \"autoResizeEnabled\":\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"fullScreen\":\r\n this._positionController.fullScreen = args.value;\r\n this._toggleFullScreenClass(args.value);\r\n this._toggleSafariScrolling();\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"showCloseButton\":\r\n this._renderTitle();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n bottomToolbar: function() {\r\n return this._$bottom\r\n },\r\n topToolbar: function() {\r\n return this._$title\r\n },\r\n $content: function() {\r\n return this._$popupContent\r\n },\r\n content: function() {\r\n return getPublicElement(this.$content())\r\n },\r\n $overlayContent: function() {\r\n return this._$content\r\n }\r\n});\r\nregisterComponent(\"dxPopup\", Popup);\r\nexport default Popup;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/animator.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../../animation/frame\";\r\nvar Animator = Class.inherit({\r\n ctor: function() {\r\n this._finished = true;\r\n this._stopped = false;\r\n this._proxiedStepCore = this._stepCore.bind(this)\r\n },\r\n start: function() {\r\n this._stopped = false;\r\n this._finished = false;\r\n this._stepCore()\r\n },\r\n stop: function() {\r\n this._stopped = true;\r\n cancelAnimationFrame(this._stepAnimationFrame)\r\n },\r\n _stepCore: function() {\r\n if (this._isStopped()) {\r\n this._stop();\r\n return\r\n }\r\n if (this._isFinished()) {\r\n this._finished = true;\r\n this._complete();\r\n return\r\n }\r\n this._step();\r\n this._stepAnimationFrame = requestAnimationFrame(this._proxiedStepCore)\r\n },\r\n _step: abstract,\r\n _isFinished: noop,\r\n _stop: noop,\r\n _complete: noop,\r\n _isStopped: function() {\r\n return this._stopped\r\n },\r\n inProgress: function() {\r\n return !(this._stopped || this._finished)\r\n }\r\n});\r\nexport default Animator;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_button.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport TextEditorButton from \"../text_box/texteditor_button_collection/button\";\r\nimport Button from \"../button\";\r\nvar DROP_DOWN_EDITOR_BUTTON_CLASS = \"dx-dropdowneditor-button\";\r\nvar DROP_DOWN_EDITOR_BUTTON_VISIBLE = \"dx-dropdowneditor-button-visible\";\r\nvar BUTTON_MESSAGE = \"dxDropDownEditor-selectLabel\";\r\nexport default class DropDownButton extends TextEditorButton {\r\n constructor(name, editor, options) {\r\n super(name, editor, options);\r\n this.currentTemplate = null\r\n }\r\n _attachEvents(instance) {\r\n var {\r\n editor: editor\r\n } = this;\r\n instance.option(\"onClick\", e => {\r\n !editor.option(\"openOnFieldClick\") && editor._openHandler(e)\r\n });\r\n eventsEngine.on(instance.$element(), \"mousedown\", e => {\r\n if (editor.$element().is(\".dx-state-focused\")) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n _create() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var $element = $(\"
\");\r\n var options = this._getOptions();\r\n this._addToContainer($element);\r\n var instance = editor._createComponent($element, Button, extend({}, options, {\r\n elementAttr: {\r\n \"aria-label\": messageLocalization.format(BUTTON_MESSAGE)\r\n }\r\n }));\r\n this._legacyRender(editor.$element(), $element, options.visible);\r\n return {\r\n $element: $element,\r\n instance: instance\r\n }\r\n }\r\n _getOptions() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var visible = this._isVisible();\r\n var isReadOnly = editor.option(\"readOnly\");\r\n var options = {\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n activeStateEnabled: false,\r\n useInkRipple: false,\r\n disabled: isReadOnly,\r\n visible: visible\r\n };\r\n this._addTemplate(options);\r\n return options\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return super._isVisible() && editor.option(\"showDropDownButton\")\r\n }\r\n _legacyRender($editor, $element, isVisible) {\r\n $editor.toggleClass(DROP_DOWN_EDITOR_BUTTON_VISIBLE, isVisible);\r\n if ($element) {\r\n $element.removeClass(\"dx-button\").addClass(DROP_DOWN_EDITOR_BUTTON_CLASS)\r\n }\r\n }\r\n _isSameTemplate() {\r\n return this.editor.option(\"dropDownButtonTemplate\") === this.currentTemplate\r\n }\r\n _addTemplate(options) {\r\n if (!this._isSameTemplate()) {\r\n options.template = this.editor._getTemplateByOption(\"dropDownButtonTemplate\");\r\n this.currentTemplate = this.editor.option(\"dropDownButtonTemplate\")\r\n }\r\n }\r\n update() {\r\n var shouldUpdate = super.update();\r\n if (shouldUpdate) {\r\n var {\r\n editor: editor,\r\n instance: instance\r\n } = this;\r\n var $editor = editor.$element();\r\n var options = this._getOptions();\r\n null === instance || void 0 === instance ? void 0 : instance.option(options);\r\n this._legacyRender($editor, null === instance || void 0 === instance ? void 0 : instance.$element(), options.visible)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/utils.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar getElementWidth = function($element) {\r\n if (hasWindow()) {\r\n return getOuterWidth($element)\r\n }\r\n};\r\nvar getSizeValue = function(size) {\r\n if (null === size) {\r\n size = void 0\r\n }\r\n if (\"function\" === typeof size) {\r\n size = size()\r\n }\r\n return size\r\n};\r\nexport {\r\n getElementWidth,\r\n getSizeValue\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_editor.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop,\r\n splitPair\r\n} from \"../../core/utils/common\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport animationPosition from \"../../animation/position\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../core/utils/position\";\r\nimport DropDownButton from \"./ui.drop_down_button\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport TextBox from \"../text_box\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n FunctionTemplate\r\n} from \"../../core/templates/function_template\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n getElementWidth,\r\n getSizeValue\r\n} from \"./utils\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nvar DROP_DOWN_EDITOR_CLASS = \"dx-dropdowneditor\";\r\nvar DROP_DOWN_EDITOR_INPUT_WRAPPER = \"dx-dropdowneditor-input-wrapper\";\r\nvar DROP_DOWN_EDITOR_BUTTON_ICON = \"dx-dropdowneditor-icon\";\r\nvar DROP_DOWN_EDITOR_OVERLAY = \"dx-dropdowneditor-overlay\";\r\nvar DROP_DOWN_EDITOR_OVERLAY_FLIPPED = \"dx-dropdowneditor-overlay-flipped\";\r\nvar DROP_DOWN_EDITOR_ACTIVE = \"dx-dropdowneditor-active\";\r\nvar DROP_DOWN_EDITOR_FIELD_CLICKABLE = \"dx-dropdowneditor-field-clickable\";\r\nvar DROP_DOWN_EDITOR_FIELD_TEMPLATE_WRAPPER = \"dx-dropdowneditor-field-template-wrapper\";\r\nvar isIOs = \"ios\" === devices.current().platform;\r\nvar DropDownEditor = TextBox.inherit({\r\n _supportedKeys: function() {\r\n return extend({}, this.callBase(), {\r\n tab: function(e) {\r\n if (!this.option(\"opened\")) {\r\n return\r\n }\r\n if (\"instantly\" === this.option(\"applyValueMode\")) {\r\n this.close();\r\n return\r\n }\r\n var $focusableElement = e.shiftKey ? this._getLastPopupElement() : this._getFirstPopupElement();\r\n $focusableElement && eventsEngine.trigger($focusableElement, \"focus\");\r\n e.preventDefault()\r\n },\r\n escape: function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault()\r\n }\r\n this.close();\r\n return true\r\n },\r\n upArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (e.altKey) {\r\n this.close();\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n downArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (e.altKey) {\r\n this._validatedOpening();\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n enter: function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault();\r\n this._valueChangeEventHandler(e)\r\n }\r\n return true\r\n }\r\n })\r\n },\r\n _getDefaultButtons: function() {\r\n return this.callBase().concat([{\r\n name: \"dropDown\",\r\n Ctor: DropDownButton\r\n }])\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: null,\r\n onOpened: null,\r\n onClosed: null,\r\n opened: false,\r\n acceptCustomValue: true,\r\n applyValueMode: \"instantly\",\r\n deferRendering: true,\r\n activeStateEnabled: true,\r\n dropDownButtonTemplate: \"dropDownButton\",\r\n fieldTemplate: null,\r\n openOnFieldClick: false,\r\n showDropDownButton: true,\r\n buttons: void 0,\r\n dropDownOptions: {\r\n showTitle: false\r\n },\r\n popupPosition: this._getDefaultPopupPosition(),\r\n onPopupInitialized: null,\r\n applyButtonText: messageLocalization.format(\"OK\"),\r\n cancelButtonText: messageLocalization.format(\"Cancel\"),\r\n buttonsLocation: \"default\",\r\n useHiddenSubmitElement: false,\r\n validationMessagePosition: \"auto\"\r\n })\r\n },\r\n _useTemplates: function() {\r\n return true\r\n },\r\n _getDefaultPopupPosition: function(isRtlEnabled) {\r\n var position = getDefaultAlignment(isRtlEnabled);\r\n return {\r\n offset: {\r\n h: 0,\r\n v: -1\r\n },\r\n my: position + \" top\",\r\n at: position + \" bottom\",\r\n collision: \"flip flip\"\r\n }\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function(_device) {\r\n var isGeneric = \"generic\" === _device.platform;\r\n return isGeneric\r\n },\r\n options: {\r\n popupPosition: {\r\n offset: {\r\n v: 0\r\n }\r\n }\r\n }\r\n }])\r\n },\r\n _inputWrapper: function() {\r\n return this.$element().find(\".\" + DROP_DOWN_EDITOR_INPUT_WRAPPER).first()\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initVisibilityActions();\r\n this._initPopupInitializedAction();\r\n this._updatePopupPosition(this.option(\"rtlEnabled\"));\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"))\r\n },\r\n _updatePopupPosition: function(isRtlEnabled) {\r\n var {\r\n my: my,\r\n at: at\r\n } = this._getDefaultPopupPosition(isRtlEnabled);\r\n var currentPosition = this.option(\"popupPosition\");\r\n this.option(\"popupPosition\", extend({}, currentPosition, {\r\n my: my,\r\n at: at\r\n }))\r\n },\r\n _initVisibilityActions: function() {\r\n this._openAction = this._createActionByOption(\"onOpened\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this._closeAction = this._createActionByOption(\"onClosed\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initPopupInitializedAction: function() {\r\n this._popupInitializedAction = this._createActionByOption(\"onPopupInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initMarkup: function() {\r\n this._renderSubmitElement();\r\n this.callBase();\r\n this.$element().addClass(DROP_DOWN_EDITOR_CLASS);\r\n this.setAria(\"role\", \"combobox\")\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderOpenHandler();\r\n this._attachFocusOutHandler();\r\n this._renderOpenedState()\r\n },\r\n _renderContentImpl: function() {\r\n if (!this.option(\"deferRendering\")) {\r\n this._createPopup()\r\n }\r\n },\r\n _renderInput: function() {\r\n this.callBase();\r\n this._wrapInput();\r\n this._setDefaultAria()\r\n },\r\n _wrapInput: function() {\r\n this._$container = this.$element().wrapInner($(\"
\").addClass(DROP_DOWN_EDITOR_INPUT_WRAPPER)).children().eq(0)\r\n },\r\n _setDefaultAria: function() {\r\n this.setAria({\r\n haspopup: \"true\",\r\n autocomplete: \"list\"\r\n })\r\n },\r\n _readOnlyPropValue: function() {\r\n return !this._isEditable() || this.callBase()\r\n },\r\n _cleanFocusState: function() {\r\n this.callBase();\r\n if (this.option(\"fieldTemplate\")) {\r\n this._detachFocusEvents()\r\n }\r\n },\r\n _getFieldTemplate: function() {\r\n return this.option(\"fieldTemplate\") && this._getTemplateByOption(\"fieldTemplate\")\r\n },\r\n _renderMask: function() {\r\n if (this.option(\"fieldTemplate\")) {\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _renderField: function() {\r\n var fieldTemplate = this._getFieldTemplate();\r\n fieldTemplate && this._renderTemplatedField(fieldTemplate, this._fieldRenderData())\r\n },\r\n _renderPlaceholder: function() {\r\n var hasFieldTemplate = !!this._getFieldTemplate();\r\n if (!hasFieldTemplate) {\r\n this.callBase()\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n this._setSubmitValue()\r\n }\r\n var promise = this.callBase();\r\n promise.always(this._renderField.bind(this))\r\n },\r\n _renderTemplatedField: function(fieldTemplate, data) {\r\n var _this$_fieldRenderQue;\r\n this._fieldRenderQueueLength = (null !== (_this$_fieldRenderQue = this._fieldRenderQueueLength) && void 0 !== _this$_fieldRenderQue ? _this$_fieldRenderQue : 0) + 1;\r\n var isFocused = focused(this._input());\r\n var $container = this._$container;\r\n this._detachKeyboardEvents();\r\n this._refreshButtonsContainer();\r\n this._detachWrapperContent();\r\n this._detachFocusEvents();\r\n $container.empty();\r\n var $templateWrapper = $(\"
\").addClass(DROP_DOWN_EDITOR_FIELD_TEMPLATE_WRAPPER).appendTo($container);\r\n fieldTemplate.render({\r\n model: data,\r\n container: getPublicElement($templateWrapper),\r\n onRendered: () => {\r\n this._fieldRenderQueueLength--;\r\n if (0 !== this._fieldRenderQueueLength) {\r\n return\r\n }\r\n var $input = this._input();\r\n if (!$input.length) {\r\n throw errors.Error(\"E1010\")\r\n }\r\n this._integrateInput();\r\n isFocused && eventsEngine.trigger($input, \"focus\")\r\n }\r\n });\r\n this._attachWrapperContent($container)\r\n },\r\n _detachWrapperContent() {\r\n var _this$_$submitElement, _this$_$beforeButtons, _this$_$afterButtonsC;\r\n var useHiddenSubmitElement = this.option(\"useHiddenSubmitElement\");\r\n useHiddenSubmitElement && (null === (_this$_$submitElement = this._$submitElement) || void 0 === _this$_$submitElement ? void 0 : _this$_$submitElement.detach());\r\n var beforeButtonsContainerParent = null === (_this$_$beforeButtons = this._$beforeButtonsContainer) || void 0 === _this$_$beforeButtons ? void 0 : _this$_$beforeButtons[0].parentNode;\r\n var afterButtonsContainerParent = null === (_this$_$afterButtonsC = this._$afterButtonsContainer) || void 0 === _this$_$afterButtonsC ? void 0 : _this$_$afterButtonsC[0].parentNode;\r\n null === beforeButtonsContainerParent || void 0 === beforeButtonsContainerParent ? void 0 : beforeButtonsContainerParent.removeChild(this._$beforeButtonsContainer[0]);\r\n null === afterButtonsContainerParent || void 0 === afterButtonsContainerParent ? void 0 : afterButtonsContainerParent.removeChild(this._$afterButtonsContainer[0])\r\n },\r\n _attachWrapperContent($container) {\r\n var _this$_$submitElement2;\r\n var useHiddenSubmitElement = this.option(\"useHiddenSubmitElement\");\r\n $container.prepend(this._$beforeButtonsContainer);\r\n useHiddenSubmitElement && (null === (_this$_$submitElement2 = this._$submitElement) || void 0 === _this$_$submitElement2 ? void 0 : _this$_$submitElement2.appendTo($container));\r\n $container.append(this._$afterButtonsContainer)\r\n },\r\n _refreshButtonsContainer() {\r\n this._$buttonsContainer = this.$element().children().eq(0)\r\n },\r\n _integrateInput: function() {\r\n this._renderFocusState();\r\n this._refreshValueChangeEvent();\r\n this._refreshEvents();\r\n this._refreshEmptinessEvent()\r\n },\r\n _refreshEmptinessEvent: function() {\r\n eventsEngine.off(this._input(), \"input blur\", this._toggleEmptinessEventHandler);\r\n this._renderEmptinessEvent()\r\n },\r\n _fieldRenderData: function() {\r\n return this.option(\"value\")\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n dropDownButton: new FunctionTemplate((function(options) {\r\n var $icon = $(\"
\").addClass(DROP_DOWN_EDITOR_BUTTON_ICON);\r\n $(options.container).append($icon)\r\n }))\r\n });\r\n this.callBase()\r\n },\r\n _renderOpenHandler: function() {\r\n var $inputWrapper = this._inputWrapper();\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var openOnFieldClick = this.option(\"openOnFieldClick\");\r\n eventsEngine.off($inputWrapper, eventName);\r\n eventsEngine.on($inputWrapper, eventName, this._getInputClickHandler(openOnFieldClick));\r\n this.$element().toggleClass(DROP_DOWN_EDITOR_FIELD_CLICKABLE, openOnFieldClick);\r\n if (openOnFieldClick) {\r\n this._openOnFieldClickAction = this._createAction(this._openHandler.bind(this))\r\n }\r\n },\r\n _attachFocusOutHandler: function() {\r\n if (isIOs) {\r\n this._detachFocusOutEvents();\r\n eventsEngine.on(this._inputWrapper(), addNamespace(\"focusout\", this.NAME), event => {\r\n var newTarget = event.relatedTarget;\r\n var popupWrapper = this.content ? $(this.content()).closest(\".\" + DROP_DOWN_EDITOR_OVERLAY) : this._$popup;\r\n if (newTarget && this.option(\"opened\")) {\r\n var isNewTargetOutside = 0 === $(newTarget).closest(\".\" + DROP_DOWN_EDITOR_OVERLAY, popupWrapper).length;\r\n if (isNewTargetOutside) {\r\n this.close()\r\n }\r\n }\r\n })\r\n }\r\n },\r\n _detachFocusOutEvents: function() {\r\n isIOs && eventsEngine.off(this._inputWrapper(), addNamespace(\"focusout\", this.NAME))\r\n },\r\n _getInputClickHandler: function(openOnFieldClick) {\r\n return openOnFieldClick ? e => {\r\n this._executeOpenAction(e)\r\n } : e => {\r\n this._focusInput()\r\n }\r\n },\r\n _openHandler: function() {\r\n this._toggleOpenState()\r\n },\r\n _executeOpenAction: function(e) {\r\n this._openOnFieldClickAction({\r\n event: e\r\n })\r\n },\r\n _keyboardEventBindingTarget: function() {\r\n return this._input()\r\n },\r\n _focusInput: function() {\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (this.option(\"focusStateEnabled\") && !focused(this._input())) {\r\n this._resetCaretPosition();\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n }\r\n return true\r\n },\r\n _resetCaretPosition: function() {\r\n var ignoreEditable = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n var inputElement = this._input().get(0);\r\n if (inputElement) {\r\n var {\r\n value: value\r\n } = inputElement;\r\n var caretPosition = isDefined(value) && (ignoreEditable || this._isEditable()) ? value.length : 0;\r\n this._caret({\r\n start: caretPosition,\r\n end: caretPosition\r\n }, true)\r\n }\r\n },\r\n _isEditable: function() {\r\n return this.option(\"acceptCustomValue\")\r\n },\r\n _toggleOpenState: function(isVisible) {\r\n if (!this._focusInput()) {\r\n return\r\n }\r\n if (!this.option(\"readOnly\")) {\r\n isVisible = arguments.length ? isVisible : !this.option(\"opened\");\r\n this.option(\"opened\", isVisible)\r\n }\r\n },\r\n _getControlsAria() {\r\n return this._popup && this._popupContentId\r\n },\r\n _renderOpenedState: function() {\r\n var opened = this.option(\"opened\");\r\n if (opened) {\r\n this._createPopup()\r\n }\r\n this.$element().toggleClass(DROP_DOWN_EDITOR_ACTIVE, opened);\r\n this._setPopupOption(\"visible\", opened);\r\n var arias = {\r\n expanded: opened,\r\n controls: this._getControlsAria()\r\n };\r\n this.setAria(arias);\r\n this.setAria(\"owns\", opened ? this._popupContentId : void 0, this.$element())\r\n },\r\n _createPopup: function() {\r\n if (this._$popup) {\r\n return\r\n }\r\n this._$popup = $(\"
\").addClass(DROP_DOWN_EDITOR_OVERLAY).appendTo(this.$element());\r\n this._renderPopup();\r\n this._renderPopupContent()\r\n },\r\n _renderPopupContent: noop,\r\n _renderPopup: function() {\r\n var popupConfig = extend(this._popupConfig(), this._options.cache(\"dropDownOptions\"));\r\n this._popup = this._createComponent(this._$popup, Popup, popupConfig);\r\n this._popup.on({\r\n showing: this._popupShowingHandler.bind(this),\r\n shown: this._popupShownHandler.bind(this),\r\n hiding: this._popupHidingHandler.bind(this),\r\n hidden: this._popupHiddenHandler.bind(this),\r\n contentReady: this._contentReadyHandler.bind(this)\r\n });\r\n this._contentReadyHandler();\r\n this._setPopupContentId(this._popup.$content());\r\n this._bindInnerWidgetOptions(this._popup, \"dropDownOptions\")\r\n },\r\n _setPopupContentId($popupContent) {\r\n this._popupContentId = \"dx-\" + new Guid;\r\n this.setAria(\"id\", this._popupContentId, $popupContent)\r\n },\r\n _contentReadyHandler: noop,\r\n _popupConfig: function() {\r\n return {\r\n onInitialized: this._popupInitializedHandler(),\r\n position: extend(this.option(\"popupPosition\"), {\r\n of: this.$element()\r\n }),\r\n showTitle: this.option(\"dropDownOptions.showTitle\"),\r\n _ignoreFunctionValueDeprecation: true,\r\n width: () => getElementWidth(this.$element()),\r\n height: \"auto\",\r\n shading: false,\r\n hideOnParentScroll: true,\r\n hideOnOutsideClick: e => this._closeOutsideDropDownHandler(e),\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 0,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n deferRendering: false,\r\n focusStateEnabled: false,\r\n showCloseButton: false,\r\n dragEnabled: false,\r\n toolbarItems: this._getPopupToolbarItems(),\r\n onPositioned: this._popupPositionedHandler.bind(this),\r\n fullScreen: false,\r\n contentTemplate: null,\r\n _wrapperClassExternal: DROP_DOWN_EDITOR_OVERLAY\r\n }\r\n },\r\n _popupInitializedHandler: function() {\r\n if (!this.option(\"onPopupInitialized\")) {\r\n return null\r\n }\r\n return e => {\r\n this._popupInitializedAction({\r\n popup: e.component\r\n })\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n var popupWidth = getSizeValue(this.option(\"dropDownOptions.width\"));\r\n if (void 0 === popupWidth) {\r\n this._setPopupOption(\"width\", () => getElementWidth(this.$element()))\r\n }\r\n },\r\n _popupPositionedHandler: function(e) {\r\n var {\r\n labelMode: labelMode,\r\n stylingMode: stylingMode\r\n } = this.option();\r\n var $popupOverlayContent = this._popup.$overlayContent();\r\n var isOverlayFlipped = e.position.v.flip;\r\n var shouldIndentForLabel = \"hidden\" !== labelMode && \"outlined\" === stylingMode;\r\n if (e.position) {\r\n $popupOverlayContent.toggleClass(DROP_DOWN_EDITOR_OVERLAY_FLIPPED, isOverlayFlipped)\r\n }\r\n if (isOverlayFlipped && shouldIndentForLabel && this._label.isVisible()) {\r\n var $label = this._label.$element();\r\n move($popupOverlayContent, {\r\n top: locate($popupOverlayContent).top - parseInt($label.css(\"fontSize\"))\r\n })\r\n }\r\n },\r\n _popupShowingHandler: noop,\r\n _popupHidingHandler: function() {\r\n this.option(\"opened\", false)\r\n },\r\n _popupShownHandler: function() {\r\n var _this$_validationMess;\r\n this._openAction();\r\n null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.option(\"positionSide\", this._getValidationMessagePositionSide())\r\n },\r\n _popupHiddenHandler: function() {\r\n var _this$_validationMess2;\r\n this._closeAction();\r\n null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option(\"positionSide\", this._getValidationMessagePositionSide())\r\n },\r\n _getValidationMessagePositionSide: function() {\r\n var validationMessagePosition = this.option(\"validationMessagePosition\");\r\n if (\"auto\" !== validationMessagePosition) {\r\n return validationMessagePosition\r\n }\r\n var positionSide = \"bottom\";\r\n if (this._popup && this._popup.option(\"visible\")) {\r\n var {\r\n top: myTop\r\n } = animationPosition.setup(this.$element());\r\n var {\r\n top: popupTop\r\n } = animationPosition.setup(this._popup.$content());\r\n positionSide = myTop + this.option(\"popupPosition\").offset.v > popupTop ? \"bottom\" : \"top\"\r\n }\r\n return positionSide\r\n },\r\n _closeOutsideDropDownHandler: function(_ref) {\r\n var {\r\n target: target\r\n } = _ref;\r\n var $target = $(target);\r\n var dropDownButton = this.getButton(\"dropDown\");\r\n var $dropDownButton = dropDownButton && dropDownButton.$element();\r\n var isInputClicked = !!$target.closest(this.$element()).length;\r\n var isDropDownButtonClicked = !!$target.closest($dropDownButton).length;\r\n var isOutsideClick = !isInputClicked && !isDropDownButtonClicked;\r\n return isOutsideClick\r\n },\r\n _clean: function() {\r\n delete this._openOnFieldClickAction;\r\n if (this._$popup) {\r\n this._$popup.remove();\r\n delete this._$popup;\r\n delete this._popup\r\n }\r\n this.callBase()\r\n },\r\n _setPopupOption: function(optionName, value) {\r\n this._setWidgetOption(\"_popup\", arguments)\r\n },\r\n _validatedOpening: function() {\r\n if (!this.option(\"readOnly\")) {\r\n this._toggleOpenState(true)\r\n }\r\n },\r\n _getPopupToolbarItems: function() {\r\n return \"useButtons\" === this.option(\"applyValueMode\") ? this._popupToolbarItemsConfig() : []\r\n },\r\n _getFirstPopupElement: function() {\r\n return this._popup.$wrapper().find(\".dx-popup-done.dx-button\")\r\n },\r\n _getLastPopupElement: function() {\r\n return this._popup.$wrapper().find(\".dx-popup-cancel.dx-button\")\r\n },\r\n _popupElementTabHandler: function(e) {\r\n var $element = $(e.currentTarget);\r\n if (e.shiftKey && $element.is(this._getFirstPopupElement()) || !e.shiftKey && $element.is(this._getLastPopupElement())) {\r\n eventsEngine.trigger(this._input(), \"focus\");\r\n e.preventDefault()\r\n }\r\n },\r\n _popupElementEscHandler: function() {\r\n eventsEngine.trigger(this._input(), \"focus\");\r\n this.close()\r\n },\r\n _popupButtonInitializedHandler: function(e) {\r\n e.component.registerKeyHandler(\"tab\", this._popupElementTabHandler.bind(this));\r\n e.component.registerKeyHandler(\"escape\", this._popupElementEscHandler.bind(this))\r\n },\r\n _popupToolbarItemsConfig: function() {\r\n var buttonsConfig = [{\r\n shortcut: \"done\",\r\n options: {\r\n onClick: this._applyButtonHandler.bind(this),\r\n text: this.option(\"applyButtonText\"),\r\n onInitialized: this._popupButtonInitializedHandler.bind(this)\r\n }\r\n }, {\r\n shortcut: \"cancel\",\r\n options: {\r\n onClick: this._cancelButtonHandler.bind(this),\r\n text: this.option(\"cancelButtonText\"),\r\n onInitialized: this._popupButtonInitializedHandler.bind(this)\r\n }\r\n }];\r\n return this._applyButtonsLocation(buttonsConfig)\r\n },\r\n _applyButtonsLocation: function(buttonsConfig) {\r\n var buttonsLocation = this.option(\"buttonsLocation\");\r\n var resultConfig = buttonsConfig;\r\n if (\"default\" !== buttonsLocation) {\r\n var position = splitPair(buttonsLocation);\r\n each(resultConfig, (function(_, element) {\r\n extend(element, {\r\n toolbar: position[0],\r\n location: position[1]\r\n })\r\n }))\r\n }\r\n return resultConfig\r\n },\r\n _applyButtonHandler: function() {\r\n this.close();\r\n this.option(\"focusStateEnabled\") && this.focus()\r\n },\r\n _cancelButtonHandler: function() {\r\n this.close();\r\n this.option(\"focusStateEnabled\") && this.focus()\r\n },\r\n _popupOptionChanged: function(args) {\r\n var options = Widget.getOptionsFromContainer(args);\r\n this._setPopupOption(options);\r\n var optionsKeys = Object.keys(options);\r\n if (-1 !== optionsKeys.indexOf(\"width\") || -1 !== optionsKeys.indexOf(\"height\")) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _renderSubmitElement: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n this._$submitElement = $(\"\").attr(\"type\", \"hidden\").appendTo(this.$element())\r\n }\r\n },\r\n _setSubmitValue: function() {\r\n this._getSubmitElement().val(this.option(\"value\"))\r\n },\r\n _getSubmitElement: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n return this._$submitElement\r\n } else {\r\n return this.callBase()\r\n }\r\n },\r\n _dispose: function() {\r\n this._detachFocusOutEvents();\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n var _this$_popup;\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.repaint();\r\n break;\r\n case \"opened\":\r\n this._renderOpenedState();\r\n break;\r\n case \"onOpened\":\r\n case \"onClosed\":\r\n this._initVisibilityActions();\r\n break;\r\n case \"onPopupInitialized\":\r\n this._initPopupInitializedAction();\r\n break;\r\n case \"fieldTemplate\":\r\n if (isDefined(args.value)) {\r\n this._renderField()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"acceptCustomValue\":\r\n case \"openOnFieldClick\":\r\n this._invalidate();\r\n break;\r\n case \"dropDownButtonTemplate\":\r\n case \"showDropDownButton\":\r\n this._updateButtons([\"dropDown\"]);\r\n break;\r\n case \"dropDownOptions\":\r\n this._popupOptionChanged(args);\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"));\r\n break;\r\n case \"popupPosition\":\r\n break;\r\n case \"deferRendering\":\r\n if (hasWindow()) {\r\n this._createPopup()\r\n }\r\n break;\r\n case \"applyValueMode\":\r\n case \"applyButtonText\":\r\n case \"cancelButtonText\":\r\n case \"buttonsLocation\":\r\n this._setPopupOption(\"toolbarItems\", this._getPopupToolbarItems());\r\n break;\r\n case \"useHiddenSubmitElement\":\r\n if (this._$submitElement) {\r\n this._$submitElement.remove();\r\n this._$submitElement = void 0\r\n }\r\n this._renderSubmitElement();\r\n break;\r\n case \"rtlEnabled\":\r\n this._updatePopupPosition(args.value);\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n open: function() {\r\n this.option(\"opened\", true)\r\n },\r\n close: function() {\r\n this.option(\"opened\", false)\r\n },\r\n field: function() {\r\n return getPublicElement(this._input())\r\n },\r\n content: function() {\r\n return this._popup ? this._popup.content() : null\r\n }\r\n});\r\nregisterComponent(\"dxDropDownEditor\", DropDownEditor);\r\nexport default DropDownEditor;\r\n","/**\r\n * DevExtreme (esm/ui/editor/ui.data_expression.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport variableWrapper from \"../../core/utils/variable_wrapper\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../../core/utils/data\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isObject as isObjectType,\r\n isString,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nimport {\r\n DataSource\r\n} from \"../../data/data_source/data_source\";\r\nimport ArrayStore from \"../../data/array_store\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar DataExpressionMixin = extend({}, DataHelperMixin, {\r\n _dataExpressionDefaultOptions: function() {\r\n return {\r\n items: [],\r\n dataSource: null,\r\n itemTemplate: \"item\",\r\n value: null,\r\n valueExpr: \"this\",\r\n displayExpr: void 0\r\n }\r\n },\r\n _initDataExpressions: function() {\r\n this._compileValueGetter();\r\n this._compileDisplayGetter();\r\n this._initDynamicTemplates();\r\n this._initDataSource();\r\n this._itemsToDataSource()\r\n },\r\n _itemsToDataSource: function() {\r\n if (!this.option(\"dataSource\")) {\r\n this._dataSource = new DataSource({\r\n store: new ArrayStore(this.option(\"items\")),\r\n pageSize: 0\r\n });\r\n this._initDataController()\r\n }\r\n },\r\n _compileDisplayGetter: function() {\r\n this._displayGetter = compileGetter(this._displayGetterExpr())\r\n },\r\n _displayGetterExpr: function() {\r\n return this.option(\"displayExpr\")\r\n },\r\n _compileValueGetter: function() {\r\n this._valueGetter = compileGetter(this._valueGetterExpr())\r\n },\r\n _valueGetterExpr: function() {\r\n return this.option(\"valueExpr\") || \"this\"\r\n },\r\n _loadValue: function(value) {\r\n var deferred = new Deferred;\r\n value = this._unwrappedValue(value);\r\n if (!isDefined(value)) {\r\n return deferred.reject().promise()\r\n }\r\n this._loadSingle(this._valueGetterExpr(), value).done(function(item) {\r\n this._isValueEquals(this._valueGetter(item), value) ? deferred.resolve(item) : deferred.reject()\r\n }.bind(this)).fail((function() {\r\n deferred.reject()\r\n }));\r\n this._loadValueDeferred = deferred;\r\n return deferred.promise()\r\n },\r\n _rejectValueLoading: function() {\r\n var _this$_loadValueDefer;\r\n null === (_this$_loadValueDefer = this._loadValueDeferred) || void 0 === _this$_loadValueDefer ? void 0 : _this$_loadValueDefer.reject({\r\n shouldSkipCallback: true\r\n })\r\n },\r\n _getCurrentValue: function() {\r\n return this.option(\"value\")\r\n },\r\n _unwrappedValue: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this._getCurrentValue();\r\n if (value && this._dataSource && \"this\" === this._valueGetterExpr()) {\r\n value = this._getItemKey(value)\r\n }\r\n return variableWrapper.unwrap(value)\r\n },\r\n _getItemKey: function(value) {\r\n var key = this._dataSource.key();\r\n if (Array.isArray(key)) {\r\n var result = {};\r\n for (var i = 0, n = key.length; i < n; i++) {\r\n result[key[i]] = value[key[i]]\r\n }\r\n return result\r\n }\r\n if (key && \"object\" === typeof value) {\r\n value = value[key]\r\n }\r\n return value\r\n },\r\n _isValueEquals: function(value1, value2) {\r\n var dataSourceKey = this._dataSource && this._dataSource.key();\r\n var result = this._compareValues(value1, value2);\r\n if (!result && dataSourceKey && isDefined(value1) && isDefined(value2)) {\r\n if (Array.isArray(dataSourceKey)) {\r\n result = this._compareByCompositeKey(value1, value2, dataSourceKey)\r\n } else {\r\n result = this._compareByKey(value1, value2, dataSourceKey)\r\n }\r\n }\r\n return result\r\n },\r\n _compareByCompositeKey: function(value1, value2, key) {\r\n var isObject = isObjectType;\r\n if (!isObject(value1) || !isObject(value2)) {\r\n return false\r\n }\r\n for (var i = 0, n = key.length; i < n; i++) {\r\n if (value1[key[i]] !== value2[key[i]]) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _compareByKey: function(value1, value2, key) {\r\n var unwrapObservable = variableWrapper.unwrap;\r\n var valueKey1 = ensureDefined(unwrapObservable(value1[key]), value1);\r\n var valueKey2 = ensureDefined(unwrapObservable(value2[key]), value2);\r\n return this._compareValues(valueKey1, valueKey2)\r\n },\r\n _compareValues: function(value1, value2) {\r\n return toComparable(value1, true) === toComparable(value2, true)\r\n },\r\n _initDynamicTemplates: noop,\r\n _setCollectionWidgetItemTemplate: function() {\r\n this._initDynamicTemplates();\r\n this._setCollectionWidgetOption(\"itemTemplate\", this.option(\"itemTemplate\"))\r\n },\r\n _getCollectionKeyExpr: function() {\r\n var valueExpr = this.option(\"valueExpr\");\r\n var isValueExprField = isString(valueExpr) && \"this\" !== valueExpr || isFunction(valueExpr);\r\n return isValueExprField ? valueExpr : null\r\n },\r\n _dataExpressionOptionChanged: function(args) {\r\n switch (args.name) {\r\n case \"items\":\r\n this._itemsToDataSource();\r\n this._setCollectionWidgetOption(\"items\");\r\n break;\r\n case \"dataSource\":\r\n this._initDataSource();\r\n break;\r\n case \"itemTemplate\":\r\n this._setCollectionWidgetItemTemplate();\r\n break;\r\n case \"valueExpr\":\r\n this._compileValueGetter();\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._initDynamicTemplates();\r\n this._setCollectionWidgetOption(\"displayExpr\")\r\n }\r\n }\r\n});\r\nexport default DataExpressionMixin;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_list.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop,\r\n ensureDefined,\r\n grep\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isWindow,\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport DropDownEditor from \"./ui.drop_down_editor\";\r\nimport List from \"../list_light\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport devices from \"../../core/devices\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport DataExpressionMixin from \"../editor/ui.data_expression\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../../core/templates/child_default_template\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport DataConverterMixin from \"../shared/grouped_data_converter_mixin\";\r\nvar LIST_ITEM_SELECTOR = \".dx-list-item\";\r\nvar LIST_ITEM_DATA_KEY = \"dxListItemData\";\r\nvar DROPDOWNLIST_POPUP_WRAPPER_CLASS = \"dx-dropdownlist-popup-wrapper\";\r\nvar SEARCH_EVENT = \"input\";\r\nvar SEARCH_MODES = [\"startswith\", \"contains\", \"endwith\", \"notcontains\"];\r\nvar useCompositionEvents = \"android\" !== devices.real().platform;\r\nvar DropDownList = DropDownEditor.inherit({\r\n _supportedKeys: function() {\r\n var parent = this.callBase();\r\n return extend({}, parent, {\r\n tab: function(e) {\r\n if (this._allowSelectItemByTab()) {\r\n this._saveValueChangeEvent(e);\r\n var $focusedItem = $(this._list.option(\"focusedElement\"));\r\n $focusedItem.length && this._setSelectedElement($focusedItem)\r\n }\r\n parent.tab.apply(this, arguments)\r\n },\r\n space: noop,\r\n home: noop,\r\n end: noop\r\n })\r\n },\r\n _allowSelectItemByTab: function() {\r\n return this.option(\"opened\") && \"instantly\" === this.option(\"applyValueMode\")\r\n },\r\n _setSelectedElement: function($element) {\r\n var value = this._valueGetter(this._list._getItemData($element));\r\n this._setValue(value)\r\n },\r\n _setValue: function(value) {\r\n this.option(\"value\", value)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), extend(DataExpressionMixin._dataExpressionDefaultOptions(), {\r\n displayValue: void 0,\r\n searchEnabled: false,\r\n searchMode: \"contains\",\r\n searchTimeout: 500,\r\n minSearchLength: 0,\r\n searchExpr: null,\r\n valueChangeEvent: \"input change keyup\",\r\n selectedItem: null,\r\n noDataText: messageLocalization.format(\"dxCollectionWidget-noDataText\"),\r\n encodeNoDataText: false,\r\n onSelectionChanged: null,\r\n onItemClick: noop,\r\n showDataBeforeSearch: false,\r\n grouped: false,\r\n groupTemplate: \"group\",\r\n popupPosition: {\r\n my: \"left top\",\r\n at: \"left bottom\",\r\n offset: {\r\n h: 0,\r\n v: 0\r\n },\r\n collision: \"flip\"\r\n },\r\n wrapItemText: false,\r\n useItemTextAsTitle: false\r\n }))\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n popupPosition: {\r\n offset: {\r\n v: -1\r\n }\r\n }\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n buttonsLocation: \"bottom center\"\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n value: true,\r\n selectedItem: true,\r\n displayValue: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initDataExpressions();\r\n this._initActions();\r\n this._setListDataSource();\r\n this._validateSearchMode();\r\n this._clearSelectedItem();\r\n this._initItems()\r\n },\r\n _setListFocusedElementOptionChange: function() {\r\n this._list._updateParentActiveDescendant = this._updateActiveDescendant.bind(this)\r\n },\r\n _initItems: function() {\r\n var items = this.option().items;\r\n if (items && !items.length && this._dataSource) {\r\n this.option().items = this._dataSource.items()\r\n }\r\n },\r\n _initActions: function() {\r\n this._initContentReadyAction();\r\n this._initSelectionChangedAction();\r\n this._initItemClickAction()\r\n },\r\n _initContentReadyAction: function() {\r\n this._contentReadyAction = this._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initSelectionChangedAction: function() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initItemClickAction: function() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new ChildDefaultTemplate(\"item\")\r\n })\r\n },\r\n _isEditable: function() {\r\n return this.callBase() || this.option(\"searchEnabled\")\r\n },\r\n _saveFocusOnWidget: function(e) {\r\n if (this._list && this._list.initialOption(\"focusStateEnabled\")) {\r\n this._focusInput()\r\n }\r\n },\r\n _fitIntoRange: function(value, start, end) {\r\n if (value > end) {\r\n return start\r\n }\r\n if (value < start) {\r\n return end\r\n }\r\n return value\r\n },\r\n _items: function() {\r\n var items = this._getPlainItems(!this._list && this._dataSource.items());\r\n var availableItems = new dataQuery(items).filter(\"disabled\", \"<>\", true).toArray();\r\n return availableItems\r\n },\r\n _calcNextItem: function(step) {\r\n var items = this._items();\r\n var nextIndex = this._fitIntoRange(this._getSelectedIndex() + step, 0, items.length - 1);\r\n return items[nextIndex]\r\n },\r\n _getSelectedIndex: function() {\r\n var items = this._items();\r\n var selectedItem = this.option(\"selectedItem\");\r\n var result = -1;\r\n each(items, function(index, item) {\r\n if (this._isValueEquals(item, selectedItem)) {\r\n result = index;\r\n return false\r\n }\r\n }.bind(this));\r\n return result\r\n },\r\n _createPopup: function() {\r\n this.callBase();\r\n this._updateCustomBoundaryContainer();\r\n this._popup.$wrapper().addClass(this._popupWrapperClass());\r\n var $popupContent = this._popup.$content();\r\n eventsEngine.off($popupContent, \"mouseup\");\r\n eventsEngine.on($popupContent, \"mouseup\", this._saveFocusOnWidget.bind(this))\r\n },\r\n _updateCustomBoundaryContainer: function() {\r\n var customContainer = this.option(\"dropDownOptions.container\");\r\n var $container = customContainer && $(customContainer);\r\n if ($container && $container.length && !isWindow($container.get(0))) {\r\n var $containerWithParents = [].slice.call($container.parents());\r\n $containerWithParents.unshift($container.get(0));\r\n each($containerWithParents, function(i, parent) {\r\n if (parent === $(\"body\").get(0)) {\r\n return false\r\n } else if (\"hidden\" === window.getComputedStyle(parent).overflowY) {\r\n this._$customBoundaryContainer = $(parent);\r\n return false\r\n }\r\n }.bind(this))\r\n }\r\n },\r\n _popupWrapperClass: function() {\r\n return DROPDOWNLIST_POPUP_WRAPPER_CLASS\r\n },\r\n _renderInputValue: function() {\r\n var value = this._getCurrentValue();\r\n this._rejectValueLoading();\r\n return this._loadInputValue(value, this._setSelectedItem.bind(this)).always(this.callBase.bind(this, value))\r\n },\r\n _loadInputValue: function(value, callback) {\r\n return this._loadItem(value).always(callback)\r\n },\r\n _getItemFromPlain: function(value, cache) {\r\n var plainItems;\r\n var selectedItem;\r\n if (cache && \"object\" !== typeof value) {\r\n if (!cache.itemByValue) {\r\n cache.itemByValue = {};\r\n plainItems = this._getPlainItems();\r\n plainItems.forEach((function(item) {\r\n cache.itemByValue[this._valueGetter(item)] = item\r\n }), this)\r\n }\r\n selectedItem = cache.itemByValue[value]\r\n }\r\n if (!selectedItem) {\r\n plainItems = this._getPlainItems();\r\n selectedItem = grep(plainItems, function(item) {\r\n return this._isValueEquals(this._valueGetter(item), value)\r\n }.bind(this))[0]\r\n }\r\n return selectedItem\r\n },\r\n _loadItem: function(value, cache) {\r\n var selectedItem = this._getItemFromPlain(value, cache);\r\n return void 0 !== selectedItem ? (new Deferred).resolve(selectedItem).promise() : this._loadValue(value)\r\n },\r\n _getPlainItems: function(items) {\r\n var plainItems = [];\r\n items = items || this.option(\"items\") || this._dataSource.items() || [];\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n plainItems = plainItems.concat(items[i].items)\r\n } else {\r\n plainItems.push(items[i])\r\n }\r\n }\r\n return plainItems\r\n },\r\n _updateActiveDescendant() {\r\n var _this$_list;\r\n var opened = this.option(\"opened\");\r\n var listFocusedItemId = null === (_this$_list = this._list) || void 0 === _this$_list ? void 0 : _this$_list.getFocusedItemId();\r\n var isElementOnDom = $(\"#\".concat(listFocusedItemId)).length > 0;\r\n var activedescendant = opened && isElementOnDom && listFocusedItemId;\r\n this.setAria({\r\n activedescendant: activedescendant || null\r\n })\r\n },\r\n _setSelectedItem: function(item) {\r\n var displayValue = this._displayValue(item);\r\n this.option(\"selectedItem\", ensureDefined(item, null));\r\n this.option(\"displayValue\", displayValue)\r\n },\r\n _displayValue: function(item) {\r\n return this._displayGetter(item)\r\n },\r\n _refreshSelected: function() {\r\n var cache = {};\r\n this._listItemElements().each(function(_, itemElement) {\r\n var $itemElement = $(itemElement);\r\n var itemValue = this._valueGetter($itemElement.data(LIST_ITEM_DATA_KEY));\r\n var isItemSelected = this._isSelectedValue(itemValue, cache);\r\n if (isItemSelected) {\r\n this._list.selectItem($itemElement)\r\n } else {\r\n this._list.unselectItem($itemElement)\r\n }\r\n }.bind(this))\r\n },\r\n _popupShownHandler: function() {\r\n this.callBase();\r\n this._setFocusPolicy()\r\n },\r\n _setFocusPolicy: function() {\r\n if (!this.option(\"focusStateEnabled\") || !this._list) {\r\n return\r\n }\r\n this._list.option(\"focusedElement\", null)\r\n },\r\n _isSelectedValue: function(value) {\r\n return this._isValueEquals(value, this.option(\"value\"))\r\n },\r\n _validateSearchMode: function() {\r\n var searchMode = this.option(\"searchMode\");\r\n var normalizedSearchMode = searchMode.toLowerCase();\r\n if (!SEARCH_MODES.includes(normalizedSearchMode)) {\r\n throw errors.Error(\"E1019\", searchMode)\r\n }\r\n },\r\n _clearSelectedItem: function() {\r\n this.option(\"selectedItem\", null)\r\n },\r\n _processDataSourceChanging: function() {\r\n this._initDataController();\r\n this._setListOption(\"_dataController\", this._dataController);\r\n this._setListDataSource();\r\n this._renderInputValue().fail(function() {\r\n if (this._isCustomValueAllowed()) {\r\n return\r\n }\r\n this._clearSelectedItem()\r\n }.bind(this))\r\n },\r\n _isCustomValueAllowed: function() {\r\n return this.option(\"displayCustomValue\")\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this._clearFilter();\r\n this._clearSelectedItem()\r\n },\r\n _listItemElements: function() {\r\n return this._$list ? this._$list.find(LIST_ITEM_SELECTOR) : $()\r\n },\r\n _popupConfig: function() {\r\n return extend(this.callBase(), {\r\n templatesRenderAsynchronously: false,\r\n autoResizeEnabled: false,\r\n maxHeight: this._getMaxHeight.bind(this)\r\n })\r\n },\r\n _renderPopupContent: function() {\r\n this.callBase();\r\n this._renderList()\r\n },\r\n _getKeyboardListeners() {\r\n var canListHaveFocus = this._canListHaveFocus();\r\n return this.callBase().concat([!canListHaveFocus && this._list])\r\n },\r\n _setAriaTargetForList: function() {\r\n this._list._getAriaTarget = this._getAriaTarget.bind(this)\r\n },\r\n _renderList: function() {\r\n this._listId = \"dx-\" + (new Guid)._value;\r\n var $list = this._$list = $(\"
\").attr(\"id\", this._listId).appendTo(this._popup.$content());\r\n this._list = this._createComponent($list, List, this._listConfig());\r\n this._refreshList();\r\n this._setAriaTargetForList();\r\n this._list.option(\"_listAttributes\", {\r\n role: \"combobox\"\r\n });\r\n this._renderPreventBlurOnListClick();\r\n this._setListFocusedElementOptionChange()\r\n },\r\n _renderPreventBlurOnListClick: function() {\r\n var eventName = addNamespace(\"mousedown\", \"dxDropDownList\");\r\n eventsEngine.off(this._$list, eventName);\r\n eventsEngine.on(this._$list, eventName, e => e.preventDefault())\r\n },\r\n _getControlsAria() {\r\n return this._list && this._listId\r\n },\r\n _renderOpenedState: function() {\r\n this.callBase();\r\n this._list && this._updateActiveDescendant();\r\n this.setAria(\"owns\", this._popup && this._popupContentId)\r\n },\r\n _setDefaultAria: function() {\r\n this.setAria({\r\n haspopup: \"listbox\",\r\n autocomplete: \"list\"\r\n })\r\n },\r\n _refreshList: function() {\r\n if (this._list && this._shouldRefreshDataSource()) {\r\n this._setListDataSource()\r\n }\r\n },\r\n _shouldRefreshDataSource: function() {\r\n var dataSourceProvided = !!this._list.option(\"dataSource\");\r\n return dataSourceProvided !== this._needPassDataSourceToList()\r\n },\r\n _isDesktopDevice: function() {\r\n return \"desktop\" === devices.real().deviceType\r\n },\r\n _listConfig: function() {\r\n var options = {\r\n selectionMode: \"single\",\r\n _templates: this.option(\"_templates\"),\r\n templateProvider: this.option(\"templateProvider\"),\r\n noDataText: this.option(\"noDataText\"),\r\n encodeNoDataText: this.option(\"encodeNoDataText\"),\r\n grouped: this.option(\"grouped\"),\r\n wrapItemText: this.option(\"wrapItemText\"),\r\n useItemTextAsTitle: this.option(\"useItemTextAsTitle\"),\r\n onContentReady: this._listContentReadyHandler.bind(this),\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n indicateLoading: false,\r\n keyExpr: this._getCollectionKeyExpr(),\r\n displayExpr: this._displayGetterExpr(),\r\n groupTemplate: this.option(\"groupTemplate\"),\r\n onItemClick: this._listItemClickAction.bind(this),\r\n dataSource: this._getDataSource(),\r\n _dataController: this._dataController,\r\n hoverStateEnabled: this._isDesktopDevice() ? this.option(\"hoverStateEnabled\") : false,\r\n focusStateEnabled: this._isDesktopDevice() ? this.option(\"focusStateEnabled\") : false\r\n };\r\n if (!this._canListHaveFocus()) {\r\n options.tabIndex = null\r\n }\r\n return options\r\n },\r\n _canListHaveFocus: () => false,\r\n _getDataSource: function() {\r\n return this._needPassDataSourceToList() ? this._dataSource : null\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _getGroupedOption: function() {\r\n return this.option(\"grouped\")\r\n },\r\n _dataSourceFromUrlLoadMode: function() {\r\n return \"raw\"\r\n },\r\n _listContentReadyHandler: function() {\r\n this._list = this._list || this._$list.dxList(\"instance\");\r\n if (!this.option(\"deferRendering\")) {\r\n this._refreshSelected()\r\n }\r\n this._dimensionChanged();\r\n this._contentReadyAction()\r\n },\r\n _setListOption: function(optionName, value) {\r\n this._setWidgetOption(\"_list\", arguments)\r\n },\r\n _listItemClickAction: function(e) {\r\n this._listItemClickHandler(e);\r\n this._itemClickAction(e)\r\n },\r\n _listItemClickHandler: noop,\r\n _setListDataSource: function() {\r\n if (!this._list) {\r\n return\r\n }\r\n this._setListOption(\"dataSource\", this._getDataSource());\r\n if (!this._needPassDataSourceToList()) {\r\n this._setListOption(\"items\", [])\r\n }\r\n },\r\n _needPassDataSourceToList: function() {\r\n return this.option(\"showDataBeforeSearch\") || this._isMinSearchLengthExceeded()\r\n },\r\n _isMinSearchLengthExceeded: function() {\r\n return this._searchValue().toString().length >= this.option(\"minSearchLength\")\r\n },\r\n _needClearFilter: function() {\r\n return this._canKeepDataSource() ? false : this._needPassDataSourceToList()\r\n },\r\n _canKeepDataSource: function() {\r\n var isMinSearchLengthExceeded = this._isMinSearchLengthExceeded();\r\n return this._dataController.isLoaded() && this.option(\"showDataBeforeSearch\") && this.option(\"minSearchLength\") && !isMinSearchLengthExceeded && !this._isLastMinSearchLengthExceeded\r\n },\r\n _searchValue: function() {\r\n return this._input().val() || \"\"\r\n },\r\n _getSearchEvent: function() {\r\n return addNamespace(SEARCH_EVENT, this.NAME + \"Search\")\r\n },\r\n _getCompositionStartEvent: function() {\r\n return addNamespace(\"compositionstart\", this.NAME + \"CompositionStart\")\r\n },\r\n _getCompositionEndEvent: function() {\r\n return addNamespace(\"compositionend\", this.NAME + \"CompositionEnd\")\r\n },\r\n _getSetFocusPolicyEvent: function() {\r\n return addNamespace(\"input\", this.NAME + \"FocusPolicy\")\r\n },\r\n _renderEvents: function() {\r\n this.callBase();\r\n eventsEngine.on(this._input(), this._getSetFocusPolicyEvent(), () => {\r\n this._setFocusPolicy()\r\n });\r\n if (this._shouldRenderSearchEvent()) {\r\n eventsEngine.on(this._input(), this._getSearchEvent(), e => {\r\n this._searchHandler(e)\r\n });\r\n if (useCompositionEvents) {\r\n eventsEngine.on(this._input(), this._getCompositionStartEvent(), () => {\r\n this._isTextCompositionInProgress(true)\r\n });\r\n eventsEngine.on(this._input(), this._getCompositionEndEvent(), e => {\r\n this._isTextCompositionInProgress(void 0);\r\n this._searchHandler(e, this._searchValue())\r\n })\r\n }\r\n }\r\n },\r\n _shouldRenderSearchEvent: function() {\r\n return this.option(\"searchEnabled\")\r\n },\r\n _refreshEvents: function() {\r\n eventsEngine.off(this._input(), this._getSearchEvent());\r\n eventsEngine.off(this._input(), this._getSetFocusPolicyEvent());\r\n if (useCompositionEvents) {\r\n eventsEngine.off(this._input(), this._getCompositionStartEvent());\r\n eventsEngine.off(this._input(), this._getCompositionEndEvent())\r\n }\r\n this.callBase()\r\n },\r\n _isTextCompositionInProgress: function(value) {\r\n if (arguments.length) {\r\n this._isTextComposition = value\r\n } else {\r\n return this._isTextComposition\r\n }\r\n },\r\n _searchHandler: function(e, searchValue) {\r\n if (this._isTextCompositionInProgress()) {\r\n return\r\n }\r\n if (!this._isMinSearchLengthExceeded()) {\r\n this._searchCanceled();\r\n return\r\n }\r\n var searchTimeout = this.option(\"searchTimeout\");\r\n if (searchTimeout) {\r\n this._clearSearchTimer();\r\n this._searchTimer = setTimeout(() => {\r\n this._searchDataSource(searchValue)\r\n }, searchTimeout)\r\n } else {\r\n this._searchDataSource(searchValue)\r\n }\r\n },\r\n _searchCanceled: function() {\r\n this._clearSearchTimer();\r\n if (this._needClearFilter()) {\r\n this._filterDataSource(null)\r\n }\r\n this._refreshList()\r\n },\r\n _searchDataSource: function() {\r\n var searchValue = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._searchValue();\r\n this._filterDataSource(searchValue)\r\n },\r\n _filterDataSource: function(searchValue) {\r\n this._clearSearchTimer();\r\n var dataController = this._dataController;\r\n dataController.searchExpr(this.option(\"searchExpr\") || this._displayGetterExpr());\r\n dataController.searchOperation(this.option(\"searchMode\"));\r\n dataController.searchValue(searchValue);\r\n dataController.load().done(this._dataSourceFiltered.bind(this, searchValue))\r\n },\r\n _clearFilter: function() {\r\n var dataController = this._dataController;\r\n dataController.searchValue() && dataController.searchValue(null)\r\n },\r\n _dataSourceFiltered: function() {\r\n this._isLastMinSearchLengthExceeded = this._isMinSearchLengthExceeded();\r\n this._refreshList();\r\n this._refreshPopupVisibility()\r\n },\r\n _shouldOpenPopup: function() {\r\n return this._hasItemsToShow()\r\n },\r\n _refreshPopupVisibility: function() {\r\n if (this.option(\"readOnly\") || !this._searchValue()) {\r\n return\r\n }\r\n var shouldOpenPopup = this._shouldOpenPopup();\r\n if (shouldOpenPopup && !this._isFocused()) {\r\n return\r\n }\r\n this.option(\"opened\", shouldOpenPopup);\r\n if (shouldOpenPopup) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n if (0 === this._dataController.pageIndex()) {\r\n this.option().items = newItems\r\n } else {\r\n this.option().items = this.option().items.concat(newItems)\r\n }\r\n },\r\n _hasItemsToShow: function() {\r\n var dataController = this._dataController;\r\n var resultItems = dataController.items() || [];\r\n var resultAmount = resultItems.length;\r\n var isMinSearchLengthExceeded = this._needPassDataSourceToList();\r\n return !!(isMinSearchLengthExceeded && resultAmount)\r\n },\r\n _clearSearchTimer: function() {\r\n clearTimeout(this._searchTimer);\r\n delete this._searchTimer\r\n },\r\n _popupShowingHandler: function() {\r\n this._dimensionChanged()\r\n },\r\n _dimensionChanged: function() {\r\n this.callBase(arguments);\r\n this._popup && this._updatePopupDimensions()\r\n },\r\n _needPopupRepaint: function() {\r\n var dataController = this._dataController;\r\n var currentPageIndex = dataController.pageIndex();\r\n var needRepaint = isDefined(this._pageIndex) && currentPageIndex <= this._pageIndex || dataController.isLastPage() && !this._list._scrollViewIsFull();\r\n this._pageIndex = currentPageIndex;\r\n return needRepaint\r\n },\r\n _updatePopupDimensions: function() {\r\n if (this._needPopupRepaint()) {\r\n this._popup.repaint()\r\n }\r\n this._list && this._list.updateDimensions()\r\n },\r\n _getMaxHeight: function() {\r\n var $element = this.$element();\r\n var $customBoundaryContainer = this._$customBoundaryContainer;\r\n var offsetTop = $element.offset().top - ($customBoundaryContainer ? $customBoundaryContainer.offset().top : 0);\r\n var windowHeight = getOuterHeight(window);\r\n var containerHeight = $customBoundaryContainer ? Math.min(getOuterHeight($customBoundaryContainer), windowHeight) : windowHeight;\r\n var maxHeight = Math.max(offsetTop, containerHeight - offsetTop - getOuterHeight($element));\r\n return Math.min(.5 * containerHeight, maxHeight)\r\n },\r\n _clean: function() {\r\n if (this._list) {\r\n delete this._list\r\n }\r\n delete this._isLastMinSearchLengthExceeded;\r\n this.callBase()\r\n },\r\n _dispose: function() {\r\n this._clearSearchTimer();\r\n this.callBase()\r\n },\r\n _setCollectionWidgetOption: function() {\r\n this._setListOption.apply(this, arguments)\r\n },\r\n _setSubmitValue: function() {\r\n var value = this.option(\"value\");\r\n var submitValue = this._shouldUseDisplayValue(value) ? this._displayGetter(value) : value;\r\n this._getSubmitElement().val(submitValue)\r\n },\r\n _shouldUseDisplayValue: function(value) {\r\n return \"this\" === this.option(\"valueExpr\") && isObject(value)\r\n },\r\n _optionChanged: function(args) {\r\n this._dataExpressionOptionChanged(args);\r\n switch (args.name) {\r\n case \"hoverStateEnabled\":\r\n case \"focusStateEnabled\":\r\n this._isDesktopDevice() && this._setListOption(args.name, args.value);\r\n this.callBase(args);\r\n break;\r\n case \"items\":\r\n if (!this.option(\"dataSource\")) {\r\n this._processDataSourceChanging()\r\n }\r\n break;\r\n case \"dataSource\":\r\n this._processDataSourceChanging();\r\n break;\r\n case \"valueExpr\":\r\n this._renderValue();\r\n this._setListOption(\"keyExpr\", this._getCollectionKeyExpr());\r\n break;\r\n case \"displayExpr\":\r\n this._renderValue();\r\n this._setListOption(\"displayExpr\", this._displayGetterExpr());\r\n break;\r\n case \"searchMode\":\r\n this._validateSearchMode();\r\n break;\r\n case \"minSearchLength\":\r\n this._refreshList();\r\n break;\r\n case \"searchEnabled\":\r\n case \"showDataBeforeSearch\":\r\n case \"searchExpr\":\r\n this._invalidate();\r\n break;\r\n case \"onContentReady\":\r\n this._initContentReadyAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n this._initSelectionChangedAction();\r\n break;\r\n case \"onItemClick\":\r\n this._initItemClickAction();\r\n break;\r\n case \"grouped\":\r\n case \"groupTemplate\":\r\n case \"wrapItemText\":\r\n case \"noDataText\":\r\n case \"encodeNoDataText\":\r\n case \"useItemTextAsTitle\":\r\n this._setListOption(args.name);\r\n break;\r\n case \"displayValue\":\r\n this.option(\"text\", args.value);\r\n break;\r\n case \"itemTemplate\":\r\n case \"searchTimeout\":\r\n break;\r\n case \"selectedItem\":\r\n if (args.previousValue !== args.value) {\r\n this._selectionChangedAction({\r\n selectedItem: args.value\r\n })\r\n }\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n}).include(DataExpressionMixin, DataConverterMixin);\r\nregisterComponent(\"dxDropDownList\", DropDownList);\r\nexport default DropDownList;\r\n","/**\r\n * DevExtreme (esm/ui/select_box.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n noop,\r\n ensureDefined\r\n} from \"../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isPromise\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n Deferred,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport errors from \"../core/errors\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport DropDownList from \"./drop_down_editor/ui.drop_down_list\";\r\nimport \"./list/modules/selection\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../events/utils/index\";\r\nvar DISABLED_STATE_SELECTOR = \".dx-state-disabled\";\r\nvar SELECTBOX_CLASS = \"dx-selectbox\";\r\nvar SELECTBOX_POPUP_CLASS = \"dx-selectbox-popup\";\r\nvar SELECTBOX_CONTAINER_CLASS = \"dx-selectbox-container\";\r\nvar SELECTBOX_POPUP_WRAPPER_CLASS = \"dx-selectbox-popup-wrapper\";\r\nvar SelectBox = DropDownList.inherit({\r\n _supportedKeys: function() {\r\n var that = this;\r\n var parent = this.callBase();\r\n var clearSelectBox = function(e) {\r\n var isEditable = this._isEditable();\r\n if (!isEditable) {\r\n if (this.option(\"showClearButton\")) {\r\n e.preventDefault();\r\n this.reset()\r\n }\r\n } else if (this._valueSubstituted()) {\r\n this._preventFiltering = true\r\n }\r\n this._savedTextRemoveEvent = e;\r\n this._preventSubstitution = true\r\n };\r\n var searchIfNeeded = function() {\r\n if (that.option(\"searchEnabled\") && that._valueSubstituted()) {\r\n that._searchHandler()\r\n }\r\n };\r\n return extend({}, parent, {\r\n tab: function() {\r\n if (this.option(\"opened\") && \"instantly\" === this.option(\"applyValueMode\")) {\r\n this._resetCaretPosition(true)\r\n }\r\n parent.tab && parent.tab.apply(this, arguments);\r\n this._cancelSearchIfNeed()\r\n },\r\n upArrow: function(e) {\r\n if (parent.upArrow && parent.upArrow.apply(this, arguments)) {\r\n if (!this.option(\"opened\")) {\r\n this._setNextValue(e)\r\n }\r\n return true\r\n }\r\n },\r\n downArrow: function(e) {\r\n if (parent.downArrow && parent.downArrow.apply(this, arguments)) {\r\n if (!this.option(\"opened\")) {\r\n this._setNextValue(e)\r\n }\r\n return true\r\n }\r\n },\r\n leftArrow: function() {\r\n searchIfNeeded();\r\n parent.leftArrow && parent.leftArrow.apply(this, arguments)\r\n },\r\n rightArrow: function() {\r\n searchIfNeeded();\r\n parent.rightArrow && parent.rightArrow.apply(this, arguments)\r\n },\r\n home: function() {\r\n searchIfNeeded();\r\n parent.home && parent.home.apply(this, arguments)\r\n },\r\n end: function() {\r\n searchIfNeeded();\r\n parent.end && parent.end.apply(this, arguments)\r\n },\r\n escape: function() {\r\n var result = parent.escape && parent.escape.apply(this, arguments);\r\n this._cancelEditing();\r\n return null !== result && void 0 !== result ? result : true\r\n },\r\n enter: function(e) {\r\n var isOpened = this.option(\"opened\");\r\n var inputText = this._input().val().trim();\r\n var isCustomText = inputText && this._list && !this._list.option(\"focusedElement\");\r\n if (!inputText && isDefined(this.option(\"value\")) && this.option(\"allowClearing\")) {\r\n this._saveValueChangeEvent(e);\r\n this.option({\r\n selectedItem: null,\r\n value: null\r\n });\r\n this.close()\r\n } else {\r\n if (this.option(\"acceptCustomValue\")) {\r\n e.preventDefault();\r\n if (isCustomText) {\r\n if (isOpened) {\r\n this._toggleOpenState()\r\n }\r\n this._valueChangeEventHandler(e)\r\n }\r\n return isOpened\r\n }\r\n if (parent.enter && parent.enter.apply(this, arguments)) {\r\n return isOpened\r\n }\r\n }\r\n },\r\n space: function(e) {\r\n var isOpened = this.option(\"opened\");\r\n var isSearchEnabled = this.option(\"searchEnabled\");\r\n var acceptCustomValue = this.option(\"acceptCustomValue\");\r\n if (!isOpened || isSearchEnabled || acceptCustomValue) {\r\n return\r\n }\r\n e.preventDefault();\r\n this._valueChangeEventHandler(e);\r\n return true\r\n },\r\n backspace: clearSelectBox,\r\n del: clearSelectBox\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n placeholder: messageLocalization.format(\"Select\"),\r\n fieldTemplate: null,\r\n customItemCreateEvent: \"change\",\r\n valueChangeEvent: \"change\",\r\n acceptCustomValue: false,\r\n onCustomItemCreating: function(e) {\r\n if (!isDefined(e.customItem)) {\r\n e.customItem = e.text\r\n }\r\n },\r\n showSelectionControls: false,\r\n allowClearing: true,\r\n tooltipEnabled: false,\r\n openOnFieldClick: true,\r\n showDropDownButton: true,\r\n displayCustomValue: false,\r\n useHiddenSubmitElement: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initCustomItemCreatingAction()\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(SELECTBOX_CLASS);\r\n this._renderTooltip();\r\n this.callBase();\r\n this._$container.addClass(SELECTBOX_CONTAINER_CLASS)\r\n },\r\n _createPopup: function() {\r\n this.callBase();\r\n this._popup.$element().addClass(SELECTBOX_POPUP_CLASS);\r\n this._popup.$overlayContent().attr(\"tabindex\", -1)\r\n },\r\n _popupWrapperClass: function() {\r\n return this.callBase() + \" \" + SELECTBOX_POPUP_WRAPPER_CLASS\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n valueChangeEvent: {\r\n since: \"22.2\",\r\n alias: \"customItemCreateEvent\"\r\n }\r\n })\r\n },\r\n _cancelEditing: function() {\r\n if (!this.option(\"searchEnabled\") && this._list) {\r\n this._focusListElement(null);\r\n this._updateField(this.option(\"selectedItem\"))\r\n }\r\n },\r\n _renderOpenedState: function() {\r\n this.callBase();\r\n if (this.option(\"opened\")) {\r\n this._scrollToSelectedItem();\r\n this._focusSelectedElement()\r\n }\r\n },\r\n _focusSelectedElement: function() {\r\n var _items$indexOf;\r\n var searchValue = this._searchValue();\r\n if (!searchValue) {\r\n this._focusListElement(null);\r\n return\r\n }\r\n var {\r\n items: items,\r\n selectedItem: selectedItem\r\n } = this.option();\r\n var $listItems = this._list._itemElements();\r\n var index = null !== (_items$indexOf = null === items || void 0 === items ? void 0 : items.indexOf(selectedItem)) && void 0 !== _items$indexOf ? _items$indexOf : -1;\r\n var focusedElement = -1 !== index && !this._isCustomItemSelected() ? $listItems.eq(index) : null;\r\n this._focusListElement(focusedElement)\r\n },\r\n _renderFocusedElement: function() {\r\n if (!this._list) {\r\n return\r\n }\r\n var searchValue = this._searchValue();\r\n if (!searchValue || this.option(\"acceptCustomValue\")) {\r\n this._focusListElement(null);\r\n return\r\n }\r\n var $listItems = this._list._itemElements();\r\n var focusedElement = $listItems.not(DISABLED_STATE_SELECTOR).eq(0);\r\n this._focusListElement(focusedElement)\r\n },\r\n _focusListElement: function(element) {\r\n this._preventInputValueRender = true;\r\n this._list.option(\"focusedElement\", getPublicElement(element));\r\n delete this._preventInputValueRender\r\n },\r\n _scrollToSelectedItem: function() {\r\n this._list && this._list.scrollToItem(this._list.option(\"selectedItem\"))\r\n },\r\n _listContentReadyHandler: function() {\r\n this.callBase();\r\n var isPaginate = this._dataController.paginate();\r\n if (isPaginate && this._needPopupRepaint()) {\r\n return\r\n }\r\n this._scrollToSelectedItem()\r\n },\r\n _renderValue: function() {\r\n this._renderInputValue();\r\n this._setSubmitValue();\r\n return (new Deferred).resolve()\r\n },\r\n _renderInputValue: function() {\r\n return this.callBase().always(function() {\r\n this._renderInputValueAsync()\r\n }.bind(this))\r\n },\r\n _renderInputValueAsync: function() {\r\n this._renderTooltip();\r\n this._renderInputValueImpl().always(function() {\r\n this._refreshSelected()\r\n }.bind(this))\r\n },\r\n _renderInputValueImpl: function() {\r\n this._renderField();\r\n return (new Deferred).resolve()\r\n },\r\n _setNextItem: function(step) {\r\n var item = this._calcNextItem(step);\r\n var value = this._valueGetter(item);\r\n this._setValue(value)\r\n },\r\n _setNextValue: function(e) {\r\n var dataSourceIsLoaded = this._dataController.isLoaded() ? (new Deferred).resolve() : this._dataController.load();\r\n dataSourceIsLoaded.done(function() {\r\n var selectedIndex = this._getSelectedIndex();\r\n var hasPages = this._dataController.pageSize();\r\n var isLastPage = this._dataController.isLastPage();\r\n var isLastItem = selectedIndex === this._items().length - 1;\r\n this._saveValueChangeEvent(e);\r\n var step = \"downArrow\" === normalizeKeyName(e) ? 1 : -1;\r\n if (hasPages && !isLastPage && isLastItem && step > 0) {\r\n if (!this._popup) {\r\n this._createPopup()\r\n }\r\n if (!this._dataController.isLoading()) {\r\n this._list._loadNextPage().done(this._setNextItem.bind(this, step))\r\n }\r\n } else {\r\n this._setNextItem(step)\r\n }\r\n }.bind(this))\r\n },\r\n _setSelectedItem: function(item) {\r\n var isUnknownItem = !this._isCustomValueAllowed() && void 0 === item;\r\n this.callBase(isUnknownItem ? null : item);\r\n if (!isUnknownItem && (!this._isEditable() || this._isCustomItemSelected())) {\r\n this._setListOption(\"selectedItem\", this.option(\"selectedItem\"))\r\n }\r\n },\r\n _isCustomValueAllowed: function() {\r\n return this.option(\"acceptCustomValue\") || this.callBase()\r\n },\r\n _displayValue: function(item) {\r\n item = !isDefined(item) && this._isCustomValueAllowed() ? this.option(\"value\") : item;\r\n return this.callBase(item)\r\n },\r\n _listConfig: function() {\r\n var result = extend(this.callBase(), {\r\n pageLoadMode: \"scrollBottom\",\r\n onSelectionChanged: this._getSelectionChangeHandler(),\r\n selectedItem: this.option(\"selectedItem\"),\r\n onFocusedItemChanged: this._listFocusedItemChangeHandler.bind(this)\r\n });\r\n if (this.option(\"showSelectionControls\")) {\r\n extend(result, {\r\n showSelectionControls: true,\r\n selectionByClick: true\r\n })\r\n }\r\n return result\r\n },\r\n _listFocusedItemChangeHandler: function(e) {\r\n if (this._preventInputValueRender) {\r\n return\r\n }\r\n var list = e.component;\r\n var focusedElement = $(list.option(\"focusedElement\"));\r\n var focusedItem = list._getItemData(focusedElement);\r\n this._updateField(focusedItem)\r\n },\r\n _updateField: function(item) {\r\n var fieldTemplate = this._getTemplateByOption(\"fieldTemplate\");\r\n if (!(fieldTemplate && this.option(\"fieldTemplate\"))) {\r\n var text = this._displayGetter(item);\r\n this.option(\"text\", text);\r\n this._renderDisplayText(text);\r\n return\r\n }\r\n this._renderField()\r\n },\r\n _getSelectionChangeHandler: function() {\r\n return this.option(\"showSelectionControls\") ? this._selectionChangeHandler.bind(this) : noop\r\n },\r\n _selectionChangeHandler: function(e) {\r\n each(e.addedItems || [], function(_, addedItem) {\r\n this._setValue(this._valueGetter(addedItem))\r\n }.bind(this))\r\n },\r\n _getActualSearchValue: function() {\r\n return this._dataController.searchValue()\r\n },\r\n _toggleOpenState: function(isVisible) {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n isVisible = arguments.length ? isVisible : !this.option(\"opened\");\r\n if (!isVisible && !this._shouldClearFilter()) {\r\n this._restoreInputText(true)\r\n }\r\n if (this._wasSearch() && isVisible) {\r\n this._wasSearch(false);\r\n var showDataImmediately = this.option(\"showDataBeforeSearch\") || this._isMinSearchLengthExceeded();\r\n if (showDataImmediately && this._dataController.getDataSource()) {\r\n if (this._searchTimer) {\r\n return\r\n }\r\n var searchValue = this._getActualSearchValue();\r\n searchValue && this._wasSearch(true);\r\n this._filterDataSource(searchValue || null)\r\n } else {\r\n this._setListOption(\"items\", [])\r\n }\r\n }\r\n if (isVisible) {\r\n this._scrollToSelectedItem()\r\n }\r\n this.callBase(isVisible)\r\n },\r\n _renderTooltip: function() {\r\n if (this.option(\"tooltipEnabled\")) {\r\n this.$element().attr(\"title\", this.option(\"displayValue\"))\r\n }\r\n },\r\n _renderDimensions: function() {\r\n this.callBase();\r\n this._dimensionChanged()\r\n },\r\n _isValueEqualInputText: function() {\r\n var initialSelectedItem = this.option(\"selectedItem\");\r\n if (null === initialSelectedItem) {\r\n return false\r\n }\r\n var value = this._displayGetter(initialSelectedItem);\r\n var displayValue = value ? String(value) : \"\";\r\n var inputText = this._searchValue();\r\n return displayValue === inputText\r\n },\r\n _popupHidingHandler: function() {\r\n if (this._isValueEqualInputText()) {\r\n this._cancelEditing()\r\n }\r\n this.callBase()\r\n },\r\n _popupHiddenHandler: function() {\r\n this.callBase();\r\n if (this._shouldCancelSearch()) {\r\n this._wasSearch(false);\r\n this._searchCanceled();\r\n this._shouldCancelSearch(false)\r\n }\r\n },\r\n _restoreInputText: function(saveEditingValue) {\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this._loadItemDeferred && this._loadItemDeferred.always(function() {\r\n var {\r\n acceptCustomValue: acceptCustomValue,\r\n text: text,\r\n selectedItem: initialSelectedItem\r\n } = this.option();\r\n if (acceptCustomValue) {\r\n if (!saveEditingValue && !this._isValueChanging) {\r\n this._updateField(null !== initialSelectedItem && void 0 !== initialSelectedItem ? initialSelectedItem : this._createCustomItem(text));\r\n this._clearFilter()\r\n }\r\n return\r\n }\r\n if (this.option(\"searchEnabled\")) {\r\n if (!this._searchValue() && this.option(\"allowClearing\")) {\r\n this._clearTextValue();\r\n return\r\n }\r\n }\r\n if (this._isValueEqualInputText()) {\r\n return\r\n }\r\n this._renderInputValue().always(function(selectedItem) {\r\n var newSelectedItem = ensureDefined(selectedItem, initialSelectedItem);\r\n this._setSelectedItem(newSelectedItem);\r\n this._updateField(newSelectedItem);\r\n this._clearFilter()\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n _valueChangeEventIncludesBlur: function() {\r\n var valueChangeEvent = this.option(this._getValueChangeEventOptionName());\r\n return valueChangeEvent.includes(\"blur\")\r\n },\r\n _isPreventedFocusOutEvent: function(e) {\r\n return this._preventNestedFocusEvent(e) || this._valueChangeEventIncludesBlur()\r\n },\r\n _focusOutHandler: function(e) {\r\n if (!this._isPreventedFocusOutEvent(e)) {\r\n var isOverlayTarget = this._isOverlayNestedTarget(e.relatedTarget);\r\n if (!isOverlayTarget) {\r\n this._restoreInputText();\r\n this._clearSearchTimer()\r\n }\r\n this._cancelSearchIfNeed(e)\r\n }\r\n e.target = this._input().get(0);\r\n this.callBase(e)\r\n },\r\n _cancelSearchIfNeed: function(e) {\r\n var {\r\n searchEnabled: searchEnabled\r\n } = this.option();\r\n var isOverlayTarget = this._isOverlayNestedTarget(null === e || void 0 === e ? void 0 : e.relatedTarget);\r\n var shouldCancelSearch = this._wasSearch() && searchEnabled && !isOverlayTarget;\r\n if (shouldCancelSearch) {\r\n var _this$_popup;\r\n var isPopupVisible = null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup._hideAnimationProcessing;\r\n this._clearSearchTimer();\r\n if (isPopupVisible) {\r\n this._shouldCancelSearch(true)\r\n } else {\r\n this._wasSearch(false);\r\n this._searchCanceled()\r\n }\r\n }\r\n },\r\n _shouldCancelSearch: function(value) {\r\n if (!arguments.length) {\r\n return this._shouldCancelSearchValue\r\n }\r\n this._shouldCancelSearchValue = value\r\n },\r\n _isOverlayNestedTarget: function(target) {\r\n return !!$(target).closest(\".\".concat(SELECTBOX_POPUP_WRAPPER_CLASS)).length\r\n },\r\n _clearTextValue: function() {\r\n if (this.option(\"selectedItem\")) {\r\n if (this._savedTextRemoveEvent) {\r\n this._saveValueChangeEvent(this._savedTextRemoveEvent)\r\n }\r\n this.option(\"value\", null)\r\n }\r\n delete this._savedTextRemoveEvent\r\n },\r\n _shouldOpenPopup: function() {\r\n return this._needPassDataSourceToList() && this._wasSearch()\r\n },\r\n _isFocused: function() {\r\n var activeElement = domAdapter.getActiveElement(this.element());\r\n return this.callBase() && $(activeElement).closest(this._input()).length > 0\r\n },\r\n _getValueChangeEventOptionName: function() {\r\n return \"customItemCreateEvent\"\r\n },\r\n _renderValueChangeEvent: function() {\r\n if (this._isEditable()) {\r\n this.callBase()\r\n }\r\n },\r\n _fieldRenderData: function() {\r\n var $listFocused = this._list && this.option(\"opened\") && $(this._list.option(\"focusedElement\"));\r\n if ($listFocused && $listFocused.length) {\r\n return this._list._getItemData($listFocused)\r\n }\r\n return this.option(\"selectedItem\")\r\n },\r\n _isSelectedValue: function(value) {\r\n return this._isValueEquals(value, this.option(\"value\"))\r\n },\r\n _shouldCloseOnItemClick: function() {\r\n return !(this.option(\"showSelectionControls\") && \"single\" !== this.option(\"selectionMode\"))\r\n },\r\n _listItemClickHandler: function(e) {\r\n var previousValue = this._getCurrentValue();\r\n this._focusListElement($(e.itemElement));\r\n this._saveValueChangeEvent(e.event);\r\n this._completeSelection(this._valueGetter(e.itemData));\r\n if (this._shouldCloseOnItemClick()) {\r\n this.option(\"opened\", false)\r\n }\r\n if (this.option(\"searchEnabled\") && previousValue === this._valueGetter(e.itemData)) {\r\n this._updateField(e.itemData)\r\n }\r\n if (this._shouldClearFilter()) {\r\n this._cancelSearchIfNeed()\r\n }\r\n },\r\n _shouldClearFilter: function() {\r\n return this._wasSearch()\r\n },\r\n _completeSelection: function(value) {\r\n this._setValue(value)\r\n },\r\n _loadItem: function(value, cache) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n this.callBase(value, cache).done(function(item) {\r\n deferred.resolve(item)\r\n }.bind(this)).fail(function(args) {\r\n if (null !== args && void 0 !== args && args.shouldSkipCallback) {\r\n return\r\n }\r\n var selectedItem = that.option(\"selectedItem\");\r\n if (that.option(\"acceptCustomValue\") && value === that._valueGetter(selectedItem)) {\r\n deferred.resolve(selectedItem)\r\n } else {\r\n deferred.reject()\r\n }\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n _loadInputValue: function(value, callback) {\r\n this._loadItemDeferred = this._loadItem(value).always(callback);\r\n return this._loadItemDeferred\r\n },\r\n _isCustomItemSelected: function() {\r\n var selectedItem = this.option(\"selectedItem\");\r\n var searchValue = this._searchValue();\r\n var selectedItemText = this._displayGetter(selectedItem);\r\n return !selectedItemText || searchValue !== selectedItemText.toString()\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n if (this.option(\"acceptCustomValue\") && this._isCustomItemSelected() && !this._isValueChanging) {\r\n this._isValueChanging = true;\r\n this._customItemAddedHandler(e)\r\n }\r\n },\r\n _initCustomItemCreatingAction: function() {\r\n this._customItemCreatingAction = this._createActionByOption(\"onCustomItemCreating\")\r\n },\r\n _createCustomItem: function(text) {\r\n var params = {\r\n text: text\r\n };\r\n var actionResult = this._customItemCreatingAction(params);\r\n var item = ensureDefined(actionResult, params.customItem);\r\n if (isDefined(actionResult)) {\r\n errors.log(\"W0015\", \"onCustomItemCreating\", \"customItem\")\r\n }\r\n return item\r\n },\r\n _customItemAddedHandler: function(e) {\r\n var searchValue = this._searchValue();\r\n var item = this._createCustomItem(searchValue);\r\n this._saveValueChangeEvent(e);\r\n if (void 0 === item) {\r\n this._renderValue();\r\n throw errors.Error(\"E0121\")\r\n }\r\n if (isPromise(item)) {\r\n fromPromise(item).done(this._setCustomItem.bind(this)).fail(this._setCustomItem.bind(this, null))\r\n } else {\r\n this._setCustomItem(item)\r\n }\r\n },\r\n _setCustomItem: function(item) {\r\n if (this._disposed) {\r\n return\r\n }\r\n item = item || null;\r\n this.option(\"selectedItem\", item);\r\n this._cancelSearchIfNeed();\r\n this._setValue(this._valueGetter(item));\r\n this._renderDisplayText(this._displayGetter(item));\r\n this._isValueChanging = false\r\n },\r\n _clearValueHandler: function(e) {\r\n this._preventFiltering = true;\r\n this.callBase(e);\r\n this._searchCanceled();\r\n return false\r\n },\r\n _wasSearch: function(value) {\r\n if (!arguments.length) {\r\n return !!this._wasSearchValue\r\n }\r\n this._wasSearchValue = value\r\n },\r\n _searchHandler: function() {\r\n if (this._preventFiltering) {\r\n delete this._preventFiltering;\r\n return\r\n }\r\n if (this._needPassDataSourceToList()) {\r\n this._wasSearch(true)\r\n }\r\n this.callBase(arguments)\r\n },\r\n _dataSourceFiltered: function(searchValue) {\r\n this.callBase();\r\n if (null !== searchValue) {\r\n this._renderInputSubstitution();\r\n this._renderFocusedElement()\r\n }\r\n },\r\n _valueSubstituted: function() {\r\n var input = this._input().get(0);\r\n var currentSearchLength = this._searchValue().length;\r\n var isAllSelected = 0 === input.selectionStart && input.selectionEnd === currentSearchLength;\r\n var inputHasSelection = input.selectionStart !== input.selectionEnd;\r\n var isLastSymbolSelected = currentSearchLength === input.selectionEnd;\r\n return this._wasSearch() && inputHasSelection && !isAllSelected && isLastSymbolSelected && this._shouldSubstitutionBeRendered()\r\n },\r\n _shouldSubstitutionBeRendered: function() {\r\n return !this._preventSubstitution && this.option(\"searchEnabled\") && !this.option(\"acceptCustomValue\") && \"startswith\" === this.option(\"searchMode\")\r\n },\r\n _renderInputSubstitution: function() {\r\n if (!this._shouldSubstitutionBeRendered()) {\r\n delete this._preventSubstitution;\r\n return\r\n }\r\n var item = this._list && this._getPlainItems(this._list.option(\"items\"))[0];\r\n if (!item) {\r\n return\r\n }\r\n var $input = this._input();\r\n var valueLength = $input.val().length;\r\n if (0 === valueLength) {\r\n return\r\n }\r\n var inputElement = $input.get(0);\r\n var displayValue = this._displayGetter(item).toString();\r\n inputElement.value = displayValue;\r\n this._caret({\r\n start: valueLength,\r\n end: displayValue.length\r\n })\r\n },\r\n _dispose: function() {\r\n this._renderInputValueAsync = noop;\r\n delete this._loadItemDeferred;\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"customItemCreateEvent\":\r\n this._refreshValueChangeEvent();\r\n this._refreshFocusEvent();\r\n this._refreshEvents();\r\n break;\r\n case \"onCustomItemCreating\":\r\n this._initCustomItemCreatingAction();\r\n break;\r\n case \"tooltipEnabled\":\r\n this._renderTooltip();\r\n break;\r\n case \"displayCustomValue\":\r\n case \"acceptCustomValue\":\r\n case \"showSelectionControls\":\r\n this._invalidate();\r\n break;\r\n case \"allowClearing\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxSelectBox\", SelectBox);\r\nexport default SelectBox;\r\n","/**\r\n * DevExtreme (esm/ui/shared/grouped_data_converter_mixin.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject\r\n} from \"../../core/utils/type\";\r\nvar isCorrectStructure = data => Array.isArray(data) && data.every(item => {\r\n var hasTwoFields = 2 === Object.keys(item).length;\r\n var hasCorrectFields = \"key\" in item && \"items\" in item;\r\n return hasTwoFields && hasCorrectFields && Array.isArray(item.items)\r\n});\r\nexport default {\r\n _getSpecificDataSourceOption: function() {\r\n var dataSource = this.option(\"dataSource\");\r\n var hasSimpleItems = false;\r\n var data = {};\r\n if (this._getGroupedOption() && isCorrectStructure(dataSource)) {\r\n data = dataSource.reduce((accumulator, item) => {\r\n var items = item.items.map(innerItem => {\r\n if (!isObject(innerItem)) {\r\n innerItem = {\r\n text: innerItem\r\n };\r\n hasSimpleItems = true\r\n }\r\n if (!(\"key\" in innerItem)) {\r\n innerItem.key = item.key\r\n }\r\n return innerItem\r\n });\r\n return accumulator.concat(items)\r\n }, []);\r\n dataSource = {\r\n store: {\r\n type: \"array\",\r\n data: data\r\n },\r\n group: {\r\n selector: \"key\",\r\n keepInitialKeyOrder: true\r\n }\r\n };\r\n if (hasSimpleItems) {\r\n dataSource.searchExpr = \"text\"\r\n }\r\n }\r\n return dataSource\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/text_box/utils.caret.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport devices from \"../../core/devices\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar {\r\n ios: ios,\r\n mac: mac\r\n} = devices.real();\r\nvar isFocusingOnCaretChange = ios || mac;\r\nvar getCaret = function(input) {\r\n var range;\r\n try {\r\n range = {\r\n start: input.selectionStart,\r\n end: input.selectionEnd\r\n }\r\n } catch (e) {\r\n range = {\r\n start: 0,\r\n end: 0\r\n }\r\n }\r\n return range\r\n};\r\nvar setCaret = function(input, position) {\r\n var body = domAdapter.getBody();\r\n if (!body.contains(input) && !body.contains(input.getRootNode().host)) {\r\n return\r\n }\r\n try {\r\n input.selectionStart = position.start;\r\n input.selectionEnd = position.end\r\n } catch (e) {}\r\n};\r\nvar caret = function(input, position) {\r\n var force = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n input = $(input).get(0);\r\n if (!isDefined(position)) {\r\n return getCaret(input)\r\n }\r\n if (!force && isFocusingOnCaretChange && domAdapter.getActiveElement(input) !== input) {\r\n return\r\n }\r\n setCaret(input, position)\r\n};\r\nexport default caret;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/utils.support.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport devices from \"../../core/devices\";\r\nimport browser from \"../../core/utils/browser\";\r\n\r\nfunction isModernAndroidDevice() {\r\n var {\r\n android: android,\r\n version: version\r\n } = devices.real();\r\n return android && version[0] > 4\r\n}\r\nexport function isInputEventsL2Supported() {\r\n return \"onbeforeinput\" in domAdapter.createElement(\"input\") && !browser.chrome || isModernAndroidDevice()\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.rule.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar EMPTY_CHAR = \" \";\r\nvar BaseMaskRule = Class.inherit({\r\n ctor: function(config) {\r\n this._value = EMPTY_CHAR;\r\n extend(this, config)\r\n },\r\n next: function(rule) {\r\n if (!arguments.length) {\r\n return this._next\r\n }\r\n this._next = rule\r\n },\r\n text: noop,\r\n value: noop,\r\n rawValue: noop,\r\n handle: noop,\r\n _prepareHandlingArgs: function(args, config) {\r\n var _config$str, _config$start, _config$length;\r\n config = config || {};\r\n var handlingProperty = Object.prototype.hasOwnProperty.call(args, \"value\") ? \"value\" : \"text\";\r\n args[handlingProperty] = null !== (_config$str = config.str) && void 0 !== _config$str ? _config$str : args[handlingProperty];\r\n args.start = null !== (_config$start = config.start) && void 0 !== _config$start ? _config$start : args.start;\r\n args.length = null !== (_config$length = config.length) && void 0 !== _config$length ? _config$length : args.length;\r\n args.index = args.index + 1;\r\n return args\r\n },\r\n reset: noop,\r\n clear: noop,\r\n first: function(index) {\r\n index = index || 0;\r\n return this.next().first(index + 1)\r\n },\r\n isAccepted: function() {\r\n return false\r\n },\r\n adjustedCaret: function(caret, isForwardDirection, char) {\r\n return isForwardDirection ? this._adjustedForward(caret, 0, char) : this._adjustedBackward(caret, 0, char)\r\n },\r\n _adjustedForward: noop,\r\n _adjustedBackward: noop,\r\n isValid: noop\r\n});\r\nexport var EmptyMaskRule = BaseMaskRule.inherit({\r\n next: noop,\r\n handle: function() {\r\n return 0\r\n },\r\n text: function() {\r\n return \"\"\r\n },\r\n value: function() {\r\n return \"\"\r\n },\r\n first: function() {\r\n return 0\r\n },\r\n rawValue: function() {\r\n return \"\"\r\n },\r\n adjustedCaret: function() {\r\n return 0\r\n },\r\n isValid: function() {\r\n return true\r\n }\r\n});\r\nexport var MaskRule = BaseMaskRule.inherit({\r\n text: function() {\r\n return (this._value !== EMPTY_CHAR ? this._value : this.maskChar) + this.next().text()\r\n },\r\n value: function() {\r\n return this._value + this.next().value()\r\n },\r\n rawValue: function() {\r\n return this._value + this.next().rawValue()\r\n },\r\n handle: function(args) {\r\n var str = Object.prototype.hasOwnProperty.call(args, \"value\") ? args.value : args.text;\r\n if (!str || !str.length || !args.length) {\r\n return 0\r\n }\r\n if (args.start) {\r\n return this.next().handle(this._prepareHandlingArgs(args, {\r\n start: args.start - 1\r\n }))\r\n }\r\n var char = str[0];\r\n var rest = str.substring(1);\r\n this._tryAcceptChar(char, args);\r\n return this._accepted() ? this.next().handle(this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n })) + 1 : this.handle(this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n }))\r\n },\r\n clear: function(args) {\r\n this._tryAcceptChar(EMPTY_CHAR, args);\r\n this.next().clear(this._prepareHandlingArgs(args))\r\n },\r\n reset: function() {\r\n this._accepted(false);\r\n this.next().reset()\r\n },\r\n _tryAcceptChar: function(char, args) {\r\n this._accepted(false);\r\n if (!this._isAllowed(char, args)) {\r\n return\r\n }\r\n var acceptedChar = char === EMPTY_CHAR ? this.maskChar : char;\r\n args.fullText = args.fullText.substring(0, args.index) + acceptedChar + args.fullText.substring(args.index + 1);\r\n this._accepted(true);\r\n this._value = char\r\n },\r\n _accepted: function(value) {\r\n if (!arguments.length) {\r\n return !!this._isAccepted\r\n }\r\n this._isAccepted = !!value\r\n },\r\n first: function(index) {\r\n return this._value === EMPTY_CHAR ? index || 0 : this.callBase(index)\r\n },\r\n _isAllowed: function(char, args) {\r\n if (char === EMPTY_CHAR) {\r\n return true\r\n }\r\n return this._isValid(char, args)\r\n },\r\n _isValid: function(char, args) {\r\n var allowedChars = this.allowedChars;\r\n if (allowedChars instanceof RegExp) {\r\n return allowedChars.test(char)\r\n }\r\n if (isFunction(allowedChars)) {\r\n return allowedChars(char, args.index, args.fullText)\r\n }\r\n if (Array.isArray(allowedChars)) {\r\n return allowedChars.includes(char)\r\n }\r\n return allowedChars === char\r\n },\r\n isAccepted: function(caret) {\r\n return 0 === caret ? this._accepted() : this.next().isAccepted(caret - 1)\r\n },\r\n _adjustedForward: function(caret, index, char) {\r\n if (index >= caret) {\r\n return index\r\n }\r\n return this.next()._adjustedForward(caret, index + 1, char) || index + 1\r\n },\r\n _adjustedBackward: function(caret, index) {\r\n if (index >= caret - 1) {\r\n return caret\r\n }\r\n return this.next()._adjustedBackward(caret, index + 1) || index + 1\r\n },\r\n isValid: function(args) {\r\n return this._isValid(this._value, args) && this.next().isValid(this._prepareHandlingArgs(args))\r\n }\r\n});\r\nexport var StubMaskRule = MaskRule.inherit({\r\n value: function() {\r\n return this.next().value()\r\n },\r\n handle: function(args) {\r\n var hasValueProperty = Object.prototype.hasOwnProperty.call(args, \"value\");\r\n var str = hasValueProperty ? args.value : args.text;\r\n if (!str.length || !args.length) {\r\n return 0\r\n }\r\n if (args.start || hasValueProperty) {\r\n return this.next().handle(this._prepareHandlingArgs(args, {\r\n start: args.start && args.start - 1\r\n }))\r\n }\r\n var char = str[0];\r\n var rest = str.substring(1);\r\n this._tryAcceptChar(char);\r\n var nextArgs = this._isAllowed(char) ? this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n }) : args;\r\n return this.next().handle(nextArgs) + 1\r\n },\r\n clear: function(args) {\r\n this._accepted(false);\r\n this.next().clear(this._prepareHandlingArgs(args))\r\n },\r\n _tryAcceptChar: function(char) {\r\n this._accepted(this._isValid(char))\r\n },\r\n _isValid: function(char) {\r\n return char === this.maskChar\r\n },\r\n first: function(index) {\r\n index = index || 0;\r\n return this.next().first(index + 1)\r\n },\r\n _adjustedForward: function(caret, index, char) {\r\n if (index >= caret && char === this.maskChar) {\r\n return index\r\n }\r\n if (caret === index + 1 && this._accepted()) {\r\n return caret\r\n }\r\n return this.next()._adjustedForward(caret, index + 1, char)\r\n },\r\n _adjustedBackward: function(caret, index) {\r\n if (index >= caret - 1) {\r\n return 0\r\n }\r\n return this.next()._adjustedBackward(caret, index + 1)\r\n },\r\n isValid: function(args) {\r\n return this.next().isValid(this._prepareHandlingArgs(args))\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.clear.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport TextEditorButton from \"./texteditor_button_collection/button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointer from \"../../events/pointer\";\r\nimport {\r\n name as click\r\n} from \"../../events/click\";\r\nvar pointerDown = pointer.down;\r\nvar STATE_INVISIBLE_CLASS = \"dx-state-invisible\";\r\nvar TEXTEDITOR_CLEAR_BUTTON_CLASS = \"dx-clear-button-area\";\r\nvar TEXTEDITOR_CLEAR_ICON_CLASS = \"dx-icon-clear\";\r\nvar TEXTEDITOR_ICON_CLASS = \"dx-icon\";\r\nvar TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS = \"dx-show-clear-button\";\r\nexport default class ClearButton extends TextEditorButton {\r\n _create() {\r\n var $element = $(\"\").addClass(TEXTEDITOR_CLEAR_BUTTON_CLASS).append($(\"\").addClass(TEXTEDITOR_ICON_CLASS).addClass(TEXTEDITOR_CLEAR_ICON_CLASS));\r\n this._addToContainer($element);\r\n this.update(true);\r\n return {\r\n instance: $element,\r\n $element: $element\r\n }\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return editor._isClearButtonVisible()\r\n }\r\n _attachEvents(instance, $button) {\r\n var {\r\n editor: editor\r\n } = this;\r\n var editorName = editor.NAME;\r\n eventsEngine.on($button, addNamespace(pointerDown, editorName), e => {\r\n e.preventDefault();\r\n if (\"mouse\" !== e.pointerType) {\r\n editor._clearValueHandler(e)\r\n }\r\n });\r\n eventsEngine.on($button, addNamespace(click, editorName), e => editor._clearValueHandler(e))\r\n }\r\n _legacyRender($editor, isVisible) {\r\n $editor.toggleClass(TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS, isVisible)\r\n }\r\n update() {\r\n var rendered = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n !rendered && super.update();\r\n var {\r\n editor: editor,\r\n instance: instance\r\n } = this;\r\n var $editor = editor.$element();\r\n var isVisible = this._isVisible();\r\n instance && instance.toggleClass(STATE_INVISIBLE_CLASS, !isVisible);\r\n this._legacyRender($editor, isVisible)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/custom.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport TextEditorButton from \"./button\";\r\nimport Button from \"../../button\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n start,\r\n end\r\n} from \"../../../events/hover\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../events/click\";\r\nvar CUSTOM_BUTTON_HOVERED_CLASS = \"dx-custom-button-hovered\";\r\nexport default class CustomButton extends TextEditorButton {\r\n _attachEvents(instance, $element) {\r\n var {\r\n editor: editor\r\n } = this;\r\n eventsEngine.on($element, start, () => {\r\n editor.$element().addClass(CUSTOM_BUTTON_HOVERED_CLASS)\r\n });\r\n eventsEngine.on($element, end, () => {\r\n editor.$element().removeClass(CUSTOM_BUTTON_HOVERED_CLASS)\r\n });\r\n eventsEngine.on($element, clickEventName, e => {\r\n e.stopPropagation()\r\n })\r\n }\r\n _create() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var $element = $(\"
\");\r\n this._addToContainer($element);\r\n var instance = editor._createComponent($element, Button, extend({}, this.options, {\r\n ignoreParentReadOnly: true,\r\n disabled: this._isDisabled(),\r\n integrationOptions: this._prepareIntegrationOptions(editor)\r\n }));\r\n return {\r\n $element: $element,\r\n instance: instance\r\n }\r\n }\r\n _prepareIntegrationOptions(editor) {\r\n return extend({}, editor.option(\"integrationOptions\"), {\r\n skipTemplates: [\"content\"]\r\n })\r\n }\r\n update() {\r\n var isUpdated = super.update();\r\n if (this.instance) {\r\n this.instance.option(\"disabled\", this._isDisabled())\r\n }\r\n return isUpdated\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return editor.option(\"visible\")\r\n }\r\n _isDisabled() {\r\n var isDefinedByUser = void 0 !== this.options.disabled;\r\n if (isDefinedByUser) {\r\n return this.instance ? this.instance.option(\"disabled\") : this.options.disabled\r\n } else {\r\n return this.editor.option(\"readOnly\")\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/index.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport CustomButton from \"./custom\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport errors from \"../../widget/ui.errors\";\r\nvar TEXTEDITOR_BUTTONS_CONTAINER_CLASS = \"dx-texteditor-buttons-container\";\r\n\r\nfunction checkButtonInfo(buttonInfo) {\r\n (() => {\r\n if (!buttonInfo || \"object\" !== typeof buttonInfo || Array.isArray(buttonInfo)) {\r\n throw errors.Error(\"E1053\")\r\n }\r\n })();\r\n (() => {\r\n if (!(\"name\" in buttonInfo)) {\r\n throw errors.Error(\"E1054\")\r\n }\r\n })();\r\n (() => {\r\n var {\r\n name: name\r\n } = buttonInfo;\r\n if (\"string\" !== typeof name) {\r\n throw errors.Error(\"E1055\")\r\n }\r\n })();\r\n (() => {\r\n var {\r\n location: location\r\n } = buttonInfo;\r\n if (\"location\" in buttonInfo && \"after\" !== location && \"before\" !== location) {\r\n buttonInfo.location = \"after\"\r\n }\r\n })()\r\n}\r\n\r\nfunction checkNamesUniqueness(existingNames, newName) {\r\n if (-1 !== existingNames.indexOf(newName)) {\r\n throw errors.Error(\"E1055\", newName)\r\n }\r\n existingNames.push(newName)\r\n}\r\n\r\nfunction isPredefinedButtonName(name, predefinedButtonsInfo) {\r\n return !!predefinedButtonsInfo.find(info => info.name === name)\r\n}\r\nexport default class TextEditorButtonCollection {\r\n constructor(editor, defaultButtonsInfo) {\r\n this.buttons = [];\r\n this.defaultButtonsInfo = defaultButtonsInfo;\r\n this.editor = editor\r\n }\r\n _compileButtonInfo(buttons) {\r\n var names = [];\r\n return buttons.map(button => {\r\n var isStringButton = \"string\" === typeof button;\r\n if (!isStringButton) {\r\n checkButtonInfo(button)\r\n }\r\n var isDefaultButton = isStringButton || isPredefinedButtonName(button.name, this.defaultButtonsInfo);\r\n if (isDefaultButton) {\r\n var defaultButtonInfo = this.defaultButtonsInfo.find(_ref => {\r\n var {\r\n name: name\r\n } = _ref;\r\n return name === button || name === button.name\r\n });\r\n if (!defaultButtonInfo) {\r\n throw errors.Error(\"E1056\", this.editor.NAME, button)\r\n }\r\n checkNamesUniqueness(names, button);\r\n return defaultButtonInfo\r\n } else {\r\n var {\r\n name: name\r\n } = button;\r\n checkNamesUniqueness(names, name);\r\n return extend(button, {\r\n Ctor: CustomButton\r\n })\r\n }\r\n })\r\n }\r\n _createButton(buttonsInfo) {\r\n var {\r\n Ctor: Ctor,\r\n options: options,\r\n name: name\r\n } = buttonsInfo;\r\n var button = new Ctor(name, this.editor, options);\r\n this.buttons.push(button);\r\n return button\r\n }\r\n _renderButtons(buttons, $container, targetLocation) {\r\n var $buttonsContainer = null;\r\n var buttonsInfo = buttons ? this._compileButtonInfo(buttons) : this.defaultButtonsInfo;\r\n buttonsInfo.forEach(buttonsInfo => {\r\n var {\r\n location: location = \"after\"\r\n } = buttonsInfo;\r\n if (location === targetLocation) {\r\n this._createButton(buttonsInfo).render((() => {\r\n $buttonsContainer = $buttonsContainer || $(\"
\").addClass(TEXTEDITOR_BUTTONS_CONTAINER_CLASS);\r\n \"before\" === targetLocation ? $container.prepend($buttonsContainer) : $container.append($buttonsContainer);\r\n return $buttonsContainer\r\n })())\r\n }\r\n });\r\n return $buttonsContainer\r\n }\r\n clean() {\r\n this.buttons.forEach(button => button.dispose());\r\n this.buttons = []\r\n }\r\n getButton(buttonName) {\r\n var button = this.buttons.find(_ref2 => {\r\n var {\r\n name: name\r\n } = _ref2;\r\n return name === buttonName\r\n });\r\n return button && button.instance\r\n }\r\n renderAfterButtons(buttons, $container) {\r\n return this._renderButtons(buttons, $container, \"after\")\r\n }\r\n renderBeforeButtons(buttons, $container) {\r\n return this._renderButtons(buttons, $container, \"before\")\r\n }\r\n updateButtons(names) {\r\n this.buttons.forEach(button => {\r\n if (!names || -1 !== names.indexOf(button.name)) {\r\n button.update()\r\n }\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.label.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Guid from \"../../core/guid\";\r\nvar TEXTEDITOR_LABEL_CLASS = \"dx-texteditor-label\";\r\nvar TEXTEDITOR_WITH_LABEL_CLASS = \"dx-texteditor-with-label\";\r\nvar TEXTEDITOR_WITH_FLOATING_LABEL_CLASS = \"dx-texteditor-with-floating-label\";\r\nvar TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS = \"dx-texteditor-with-before-buttons\";\r\nvar LABEL_BEFORE_CLASS = \"dx-label-before\";\r\nvar LABEL_CLASS = \"dx-label\";\r\nvar LABEL_AFTER_CLASS = \"dx-label-after\";\r\nclass TextEditorLabel {\r\n constructor(_ref) {\r\n var {\r\n $editor: $editor,\r\n text: text,\r\n mode: mode,\r\n mark: mark,\r\n containsButtonsBefore: containsButtonsBefore,\r\n containerWidth: containerWidth,\r\n beforeWidth: beforeWidth\r\n } = _ref;\r\n this._props = {\r\n $editor: $editor,\r\n text: text,\r\n mode: mode,\r\n mark: mark,\r\n containsButtonsBefore: containsButtonsBefore,\r\n containerWidth: containerWidth,\r\n beforeWidth: beforeWidth\r\n };\r\n this._id = \"\".concat(TEXTEDITOR_LABEL_CLASS, \"-\").concat(new Guid);\r\n this._render();\r\n this._toggleMarkupVisibility()\r\n }\r\n _isVisible() {\r\n return !!this._props.text && \"hidden\" !== this._props.mode\r\n }\r\n _render() {\r\n this._$before = $(\"
\").addClass(LABEL_BEFORE_CLASS);\r\n this._$labelSpan = $(\"\");\r\n this._$label = $(\"
\").addClass(LABEL_CLASS).append(this._$labelSpan);\r\n this._$after = $(\"
\").addClass(LABEL_AFTER_CLASS);\r\n this._$root = $(\"
\").addClass(TEXTEDITOR_LABEL_CLASS).attr(\"id\", this._id).append(this._$before).append(this._$label).append(this._$after);\r\n this._updateMark();\r\n this._updateText();\r\n this._updateBeforeWidth();\r\n this._updateMaxWidth()\r\n }\r\n _toggleMarkupVisibility() {\r\n var visible = this._isVisible();\r\n this._updateEditorBeforeButtonsClass(visible);\r\n this._updateEditorLabelClass(visible);\r\n visible ? this._$root.appendTo(this._props.$editor) : this._$root.detach()\r\n }\r\n _updateEditorLabelClass(visible) {\r\n this._props.$editor.removeClass(TEXTEDITOR_WITH_FLOATING_LABEL_CLASS).removeClass(TEXTEDITOR_WITH_LABEL_CLASS);\r\n if (visible) {\r\n var labelClass = \"floating\" === this._props.mode ? TEXTEDITOR_WITH_FLOATING_LABEL_CLASS : TEXTEDITOR_WITH_LABEL_CLASS;\r\n this._props.$editor.addClass(labelClass)\r\n }\r\n }\r\n _updateEditorBeforeButtonsClass() {\r\n var visible = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._isVisible();\r\n this._props.$editor.removeClass(TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS);\r\n if (visible) {\r\n var beforeButtonsClass = this._props.containsButtonsBefore ? TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS : \"\";\r\n this._props.$editor.addClass(beforeButtonsClass)\r\n }\r\n }\r\n _updateMark() {\r\n this._$labelSpan.attr(\"data-mark\", this._props.mark)\r\n }\r\n _updateText() {\r\n this._$labelSpan.text(this._props.text)\r\n }\r\n _updateBeforeWidth() {\r\n this._$before.css({\r\n width: this._props.beforeWidth\r\n })\r\n }\r\n _updateMaxWidth() {\r\n this._$label.css({\r\n maxWidth: this._props.containerWidth\r\n })\r\n }\r\n $element() {\r\n return this._$root\r\n }\r\n isVisible() {\r\n return this._isVisible()\r\n }\r\n getId() {\r\n if (this._isVisible()) {\r\n return this._id\r\n }\r\n }\r\n updateMode(mode) {\r\n this._props.mode = mode;\r\n this._toggleMarkupVisibility()\r\n }\r\n updateText(text) {\r\n this._props.text = text;\r\n this._updateText();\r\n this._toggleMarkupVisibility()\r\n }\r\n updateMark(mark) {\r\n this._props.mark = mark;\r\n this._updateMark()\r\n }\r\n updateContainsButtonsBefore(containsButtonsBefore) {\r\n this._props.containsButtonsBefore = containsButtonsBefore;\r\n this._updateEditorBeforeButtonsClass()\r\n }\r\n updateBeforeWidth(beforeWidth) {\r\n this._props.beforeWidth = beforeWidth;\r\n this._updateBeforeWidth()\r\n }\r\n updateMaxWidth(containerWidth) {\r\n this._props.containerWidth = containerWidth;\r\n this._updateMaxWidth()\r\n }\r\n}\r\nexport {\r\n TextEditorLabel\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.base.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n current,\r\n isMaterial\r\n} from \"../themes\";\r\nimport devices from \"../../core/devices\";\r\nimport Editor from \"../editor/editor\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport ClearButton from \"./ui.text_editor.clear\";\r\nimport TextEditorButtonCollection from \"./texteditor_button_collection/index\";\r\nimport config from \"../../core/config\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n TextEditorLabel\r\n} from \"./ui.text_editor.label\";\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nvar TEXTEDITOR_CLASS = \"dx-texteditor\";\r\nvar TEXTEDITOR_INPUT_CONTAINER_CLASS = \"dx-texteditor-input-container\";\r\nvar TEXTEDITOR_INPUT_CLASS = \"dx-texteditor-input\";\r\nvar TEXTEDITOR_INPUT_SELECTOR = \".\" + TEXTEDITOR_INPUT_CLASS;\r\nvar TEXTEDITOR_CONTAINER_CLASS = \"dx-texteditor-container\";\r\nvar TEXTEDITOR_BUTTONS_CONTAINER_CLASS = \"dx-texteditor-buttons-container\";\r\nvar TEXTEDITOR_PLACEHOLDER_CLASS = \"dx-placeholder\";\r\nvar TEXTEDITOR_EMPTY_INPUT_CLASS = \"dx-texteditor-empty\";\r\nvar STATE_INVISIBLE_CLASS = \"dx-state-invisible\";\r\nvar TEXTEDITOR_PENDING_INDICATOR_CLASS = \"dx-pending-indicator\";\r\nvar TEXTEDITOR_VALIDATION_PENDING_CLASS = \"dx-validation-pending\";\r\nvar TEXTEDITOR_VALID_CLASS = \"dx-valid\";\r\nvar EVENTS_LIST = [\"KeyDown\", \"KeyPress\", \"KeyUp\", \"Change\", \"Cut\", \"Copy\", \"Paste\", \"Input\"];\r\nvar CONTROL_KEYS = [\"tab\", \"enter\", \"shift\", \"control\", \"alt\", \"escape\", \"pageUp\", \"pageDown\", \"end\", \"home\", \"leftArrow\", \"upArrow\", \"rightArrow\", \"downArrow\"];\r\nvar TextEditorLabelCreator = TextEditorLabel;\r\n\r\nfunction checkButtonsOptionType(buttons) {\r\n if (isDefined(buttons) && !Array.isArray(buttons)) {\r\n throw errors.Error(\"E1053\")\r\n }\r\n}\r\nvar TextEditorBase = Editor.inherit({\r\n ctor: function(_, options) {\r\n if (options) {\r\n checkButtonsOptionType(options.buttons)\r\n }\r\n this._buttonCollection = new TextEditorButtonCollection(this, this._getDefaultButtons());\r\n this._$beforeButtonsContainer = null;\r\n this._$afterButtonsContainer = null;\r\n this._labelContainerElement = null;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n buttons: void 0,\r\n value: \"\",\r\n spellcheck: false,\r\n showClearButton: false,\r\n valueChangeEvent: \"change\",\r\n placeholder: \"\",\r\n inputAttr: {},\r\n onFocusIn: null,\r\n onFocusOut: null,\r\n onKeyDown: null,\r\n onKeyUp: null,\r\n onChange: null,\r\n onInput: null,\r\n onCut: null,\r\n onCopy: null,\r\n onPaste: null,\r\n onEnterKey: null,\r\n mode: \"text\",\r\n hoverStateEnabled: true,\r\n focusStateEnabled: true,\r\n text: void 0,\r\n displayValueFormatter: function(value) {\r\n return isDefined(value) && false !== value ? value : \"\"\r\n },\r\n stylingMode: config().editorStylingMode || \"outlined\",\r\n showValidationMark: true,\r\n label: \"\",\r\n labelMode: \"static\",\r\n labelMark: \"\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = current();\r\n return this.callBase().concat([{\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n stylingMode: config().editorStylingMode || \"filled\",\r\n labelMode: \"floating\"\r\n }\r\n }])\r\n },\r\n _getDefaultButtons: function() {\r\n return [{\r\n name: \"clear\",\r\n Ctor: ClearButton\r\n }]\r\n },\r\n _isClearButtonVisible: function() {\r\n return this.option(\"showClearButton\") && !this.option(\"readOnly\")\r\n },\r\n _input: function() {\r\n return this.$element().find(TEXTEDITOR_INPUT_SELECTOR).first()\r\n },\r\n _isFocused: function() {\r\n return focused(this._input()) || this.callBase()\r\n },\r\n _inputWrapper: function() {\r\n return this.$element()\r\n },\r\n _buttonsContainer: function() {\r\n return this._inputWrapper().find(\".\" + TEXTEDITOR_BUTTONS_CONTAINER_CLASS).eq(0)\r\n },\r\n _isControlKey: function(key) {\r\n return -1 !== CONTROL_KEYS.indexOf(key)\r\n },\r\n _renderStylingMode: function() {\r\n this.callBase();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"))\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TEXTEDITOR_CLASS);\r\n this._renderInput();\r\n this._renderStylingMode();\r\n this._renderInputType();\r\n this._renderPlaceholder();\r\n this._renderProps();\r\n this.callBase();\r\n this._renderValue();\r\n this._renderLabel()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._refreshValueChangeEvent();\r\n this._renderEvents();\r\n this._renderEnterKeyAction();\r\n this._renderEmptinessEvent()\r\n },\r\n _renderInput: function() {\r\n this._$buttonsContainer = this._$textEditorContainer = $(\"
\").addClass(TEXTEDITOR_CONTAINER_CLASS).appendTo(this.$element());\r\n this._$textEditorInputContainer = $(\"
\").addClass(TEXTEDITOR_INPUT_CONTAINER_CLASS).appendTo(this._$textEditorContainer);\r\n this._$textEditorInputContainer.append(this._createInput());\r\n this._renderButtonContainers()\r\n },\r\n _getInputContainer() {\r\n return this._$textEditorInputContainer\r\n },\r\n _renderPendingIndicator: function() {\r\n this.$element().addClass(TEXTEDITOR_VALIDATION_PENDING_CLASS);\r\n var $inputContainer = this._getInputContainer();\r\n var $indicatorElement = $(\"
\").addClass(TEXTEDITOR_PENDING_INDICATOR_CLASS).appendTo($inputContainer);\r\n this._pendingIndicator = this._createComponent($indicatorElement, LoadIndicator)\r\n },\r\n _disposePendingIndicator: function() {\r\n if (!this._pendingIndicator) {\r\n return\r\n }\r\n this._pendingIndicator.dispose();\r\n this._pendingIndicator.$element().remove();\r\n this._pendingIndicator = null;\r\n this.$element().removeClass(TEXTEDITOR_VALIDATION_PENDING_CLASS)\r\n },\r\n _renderValidationState: function() {\r\n this.callBase();\r\n var isPending = \"pending\" === this.option(\"validationStatus\");\r\n var $element = this.$element();\r\n if (isPending) {\r\n !this._pendingIndicator && this._renderPendingIndicator();\r\n this._showValidMark = false\r\n } else {\r\n if (\"invalid\" === this.option(\"validationStatus\")) {\r\n this._showValidMark = false\r\n }\r\n if (!this._showValidMark && true === this.option(\"showValidationMark\")) {\r\n this._showValidMark = \"valid\" === this.option(\"validationStatus\") && !!this._pendingIndicator\r\n }\r\n this._disposePendingIndicator()\r\n }\r\n $element.toggleClass(TEXTEDITOR_VALID_CLASS, !!this._showValidMark)\r\n },\r\n _renderButtonContainers: function() {\r\n var buttons = this.option(\"buttons\");\r\n this._$beforeButtonsContainer = this._buttonCollection.renderBeforeButtons(buttons, this._$buttonsContainer);\r\n this._$afterButtonsContainer = this._buttonCollection.renderAfterButtons(buttons, this._$buttonsContainer)\r\n },\r\n _cleanButtonContainers: function() {\r\n var _this$_$beforeButtons, _this$_$afterButtonsC;\r\n null === (_this$_$beforeButtons = this._$beforeButtonsContainer) || void 0 === _this$_$beforeButtons ? void 0 : _this$_$beforeButtons.remove();\r\n null === (_this$_$afterButtonsC = this._$afterButtonsContainer) || void 0 === _this$_$afterButtonsC ? void 0 : _this$_$afterButtonsC.remove();\r\n this._buttonCollection.clean()\r\n },\r\n _clean() {\r\n this._buttonCollection.clean();\r\n this._disposePendingIndicator();\r\n this._unobserveLabelContainerResize();\r\n this._$beforeButtonsContainer = null;\r\n this._$afterButtonsContainer = null;\r\n this._$textEditorContainer = null;\r\n this._$buttonsContainer = null;\r\n this.callBase()\r\n },\r\n _createInput: function() {\r\n var $input = $(\"\");\r\n this._applyInputAttributes($input, this.option(\"inputAttr\"));\r\n return $input\r\n },\r\n _setSubmitElementName: function(name) {\r\n var inputAttrName = this.option(\"inputAttr.name\");\r\n return this.callBase(name || inputAttrName || \"\")\r\n },\r\n _applyInputAttributes: function($input, customAttributes) {\r\n var inputAttributes = extend(this._getDefaultAttributes(), customAttributes);\r\n $input.attr(inputAttributes).addClass(TEXTEDITOR_INPUT_CLASS).css(\"minHeight\", this.option(\"height\") ? \"0\" : \"\")\r\n },\r\n _getDefaultAttributes: function() {\r\n var defaultAttributes = {\r\n autocomplete: \"off\"\r\n };\r\n var {\r\n ios: ios,\r\n mac: mac\r\n } = devices.real();\r\n if (ios || mac) {\r\n defaultAttributes.placeholder = \" \"\r\n }\r\n return defaultAttributes\r\n },\r\n _updateButtons: function(names) {\r\n this._buttonCollection.updateButtons(names)\r\n },\r\n _updateButtonsStyling: function(editorStylingMode) {\r\n each(this.option(\"buttons\"), (_, _ref) => {\r\n var {\r\n options: options,\r\n name: buttonName\r\n } = _ref;\r\n if (options && !options.stylingMode && this.option(\"visible\")) {\r\n var buttonInstance = this.getButton(buttonName);\r\n buttonInstance.option && buttonInstance.option(\"stylingMode\", \"underlined\" === editorStylingMode ? \"text\" : \"contained\")\r\n }\r\n })\r\n },\r\n _renderValue: function() {\r\n var renderInputPromise = this._renderInputValue();\r\n return renderInputPromise.promise()\r\n },\r\n _renderInputValue: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this.option(\"value\");\r\n var text = this.option(\"text\");\r\n var displayValue = this.option(\"displayValue\");\r\n var displayValueFormatter = this.option(\"displayValueFormatter\");\r\n if (void 0 !== displayValue && null !== value) {\r\n text = displayValueFormatter(displayValue)\r\n } else if (!isDefined(text)) {\r\n text = displayValueFormatter(value)\r\n }\r\n this.option(\"text\", text);\r\n if (this._input().val() !== (isDefined(text) ? text : \"\")) {\r\n this._renderDisplayText(text)\r\n } else {\r\n this._toggleEmptinessEventHandler()\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n _renderDisplayText: function(text) {\r\n this._input().val(text);\r\n this._toggleEmptinessEventHandler()\r\n },\r\n _isValueValid: function() {\r\n if (this._input().length) {\r\n var validity = this._input().get(0).validity;\r\n if (validity) {\r\n return validity.valid\r\n }\r\n }\r\n return true\r\n },\r\n _toggleEmptiness: function(isEmpty) {\r\n this.$element().toggleClass(TEXTEDITOR_EMPTY_INPUT_CLASS, isEmpty);\r\n this._togglePlaceholder(isEmpty)\r\n },\r\n _togglePlaceholder: function(isEmpty) {\r\n this.$element().find(\".\".concat(TEXTEDITOR_PLACEHOLDER_CLASS)).eq(0).toggleClass(STATE_INVISIBLE_CLASS, !isEmpty)\r\n },\r\n _renderProps: function() {\r\n this._toggleReadOnlyState();\r\n this._toggleSpellcheckState();\r\n this._toggleTabIndex()\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase.apply(this, arguments);\r\n var $input = this._input();\r\n $input.prop(\"disabled\", value)\r\n },\r\n _toggleTabIndex: function() {\r\n var $input = this._input();\r\n var disabled = this.option(\"disabled\");\r\n var focusStateEnabled = this.option(\"focusStateEnabled\");\r\n if (disabled || !focusStateEnabled) {\r\n $input.attr(\"tabIndex\", -1)\r\n } else {\r\n $input.removeAttr(\"tabIndex\")\r\n }\r\n },\r\n _toggleReadOnlyState: function() {\r\n this._input().prop(\"readOnly\", this._readOnlyPropValue());\r\n this.callBase()\r\n },\r\n _readOnlyPropValue: function() {\r\n return this.option(\"readOnly\")\r\n },\r\n _toggleSpellcheckState: function() {\r\n this._input().prop(\"spellcheck\", this.option(\"spellcheck\"))\r\n },\r\n _unobserveLabelContainerResize: function() {\r\n if (this._labelContainerElement) {\r\n resizeObserverSingleton.unobserve(this._labelContainerElement);\r\n this._labelContainerElement = null\r\n }\r\n },\r\n _getLabelContainer: function() {\r\n return this._input()\r\n },\r\n _getLabelContainerWidth: function() {\r\n return getWidth(this._getLabelContainer())\r\n },\r\n _getLabelBeforeWidth: function() {\r\n var buttonsBeforeWidth = this._$beforeButtonsContainer && getWidth(this._$beforeButtonsContainer);\r\n return null !== buttonsBeforeWidth && void 0 !== buttonsBeforeWidth ? buttonsBeforeWidth : 0\r\n },\r\n _updateLabelWidth: function() {\r\n this._label.updateBeforeWidth(this._getLabelBeforeWidth());\r\n this._label.updateMaxWidth(this._getLabelContainerWidth())\r\n },\r\n _setLabelContainerAria: function() {\r\n this.setAria(\"labelledby\", this._label.getId(), this._getLabelContainer())\r\n },\r\n _renderLabel: function() {\r\n this._unobserveLabelContainerResize();\r\n this._labelContainerElement = $(this._getLabelContainer()).get(0);\r\n var {\r\n label: label,\r\n labelMode: labelMode,\r\n labelMark: labelMark\r\n } = this.option();\r\n var labelConfig = {\r\n $editor: this.$element(),\r\n text: label,\r\n mark: labelMark,\r\n mode: labelMode,\r\n containsButtonsBefore: !!this._$beforeButtonsContainer,\r\n containerWidth: this._getLabelContainerWidth(),\r\n beforeWidth: this._getLabelBeforeWidth()\r\n };\r\n this._label = new TextEditorLabelCreator(labelConfig);\r\n this._setLabelContainerAria();\r\n if (this._labelContainerElement) {\r\n resizeObserverSingleton.observe(this._labelContainerElement, this._updateLabelWidth.bind(this))\r\n }\r\n },\r\n _renderPlaceholder: function() {\r\n this._renderPlaceholderMarkup();\r\n this._attachPlaceholderEvents()\r\n },\r\n _renderPlaceholderMarkup: function() {\r\n if (this._$placeholder) {\r\n this._$placeholder.remove();\r\n this._$placeholder = null\r\n }\r\n var $input = this._input();\r\n var placeholderText = this.option(\"placeholder\");\r\n var $placeholder = this._$placeholder = $(\"
\").attr(\"data-dx_placeholder\", placeholderText);\r\n $placeholder.insertAfter($input);\r\n $placeholder.addClass(TEXTEDITOR_PLACEHOLDER_CLASS)\r\n },\r\n _attachPlaceholderEvents: function() {\r\n var startEvent = addNamespace(pointerEvents.up, this.NAME);\r\n eventsEngine.on(this._$placeholder, startEvent, () => {\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n });\r\n this._toggleEmptinessEventHandler()\r\n },\r\n _placeholder: function() {\r\n return this._$placeholder || $()\r\n },\r\n _clearValueHandler: function(e) {\r\n var $input = this._input();\r\n e.stopPropagation();\r\n this._saveValueChangeEvent(e);\r\n this._clearValue();\r\n !this._isFocused() && eventsEngine.trigger($input, \"focus\");\r\n eventsEngine.trigger($input, \"input\")\r\n },\r\n _clearValue: function() {\r\n this.reset()\r\n },\r\n _renderEvents: function() {\r\n var $input = this._input();\r\n each(EVENTS_LIST, (_, event) => {\r\n if (this.hasActionSubscription(\"on\" + event)) {\r\n var action = this._createActionByOption(\"on\" + event, {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n eventsEngine.on($input, addNamespace(event.toLowerCase(), this.NAME), e => {\r\n if (this._disposed) {\r\n return\r\n }\r\n action({\r\n event: e\r\n })\r\n })\r\n }\r\n })\r\n },\r\n _refreshEvents: function() {\r\n var $input = this._input();\r\n each(EVENTS_LIST, (_, event) => {\r\n eventsEngine.off($input, addNamespace(event.toLowerCase(), this.NAME))\r\n });\r\n this._renderEvents()\r\n },\r\n _keyPressHandler: function() {\r\n this.option(\"text\", this._input().val())\r\n },\r\n _keyDownHandler: function(e) {\r\n var $input = this._input();\r\n var isCtrlEnter = e.ctrlKey && \"enter\" === normalizeKeyName(e);\r\n var isNewValue = $input.val() !== this.option(\"value\");\r\n if (isCtrlEnter && isNewValue) {\r\n eventsEngine.trigger($input, \"change\")\r\n }\r\n },\r\n _getValueChangeEventOptionName: function() {\r\n return \"valueChangeEvent\"\r\n },\r\n _renderValueChangeEvent: function() {\r\n var keyPressEvent = addNamespace(this._renderValueEventName(), \"\".concat(this.NAME, \"TextChange\"));\r\n var valueChangeEvent = addNamespace(this.option(this._getValueChangeEventOptionName()), \"\".concat(this.NAME, \"ValueChange\"));\r\n var keyDownEvent = addNamespace(\"keydown\", \"\".concat(this.NAME, \"TextChange\"));\r\n var $input = this._input();\r\n eventsEngine.on($input, keyPressEvent, this._keyPressHandler.bind(this));\r\n eventsEngine.on($input, valueChangeEvent, this._valueChangeEventHandler.bind(this));\r\n eventsEngine.on($input, keyDownEvent, this._keyDownHandler.bind(this))\r\n },\r\n _cleanValueChangeEvent: function() {\r\n var valueChangeNamespace = \".\".concat(this.NAME, \"ValueChange\");\r\n var textChangeNamespace = \".\".concat(this.NAME, \"TextChange\");\r\n eventsEngine.off(this._input(), valueChangeNamespace);\r\n eventsEngine.off(this._input(), textChangeNamespace)\r\n },\r\n _refreshValueChangeEvent: function() {\r\n this._cleanValueChangeEvent();\r\n this._renderValueChangeEvent()\r\n },\r\n _renderValueEventName: function() {\r\n return \"input change keypress\"\r\n },\r\n _focusTarget: function() {\r\n return this._input()\r\n },\r\n _focusEventTarget: function() {\r\n return this.element()\r\n },\r\n _isInput: function(element) {\r\n return element === this._input().get(0)\r\n },\r\n _preventNestedFocusEvent: function(event) {\r\n if (event.isDefaultPrevented()) {\r\n return true\r\n }\r\n var shouldPrevent = this._isNestedTarget(event.relatedTarget);\r\n if (\"focusin\" === event.type) {\r\n shouldPrevent = shouldPrevent && this._isNestedTarget(event.target) && !this._isInput(event.target)\r\n } else if (!shouldPrevent) {\r\n this._toggleFocusClass(false, this.$element())\r\n }\r\n shouldPrevent && event.preventDefault();\r\n return shouldPrevent\r\n },\r\n _isNestedTarget: function(target) {\r\n return !!this.$element().find(target).length\r\n },\r\n _focusClassTarget: function() {\r\n return this.$element()\r\n },\r\n _focusInHandler: function(event) {\r\n this._preventNestedFocusEvent(event);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _focusOutHandler: function(event) {\r\n this._preventNestedFocusEvent(event);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _toggleFocusClass: function(isFocused, $element) {\r\n this.callBase(isFocused, this._focusClassTarget($element))\r\n },\r\n _hasFocusClass: function(element) {\r\n return this.callBase($(element || this.$element()))\r\n },\r\n _renderEmptinessEvent: function() {\r\n var $input = this._input();\r\n eventsEngine.on($input, \"input blur\", this._toggleEmptinessEventHandler.bind(this))\r\n },\r\n _toggleEmptinessEventHandler: function() {\r\n var text = this._input().val();\r\n var isEmpty = (\"\" === text || null === text) && this._isValueValid();\r\n this._toggleEmptiness(isEmpty)\r\n },\r\n _valueChangeEventHandler: function(e, formattedValue) {\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", arguments.length > 1 ? formattedValue : this._input().val());\r\n this._saveValueChangeEvent(void 0)\r\n },\r\n _renderEnterKeyAction: function() {\r\n this._enterKeyAction = this._createActionByOption(\"onEnterKey\", {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n eventsEngine.off(this._input(), \"keyup.onEnterKey.dxTextEditor\");\r\n eventsEngine.on(this._input(), \"keyup.onEnterKey.dxTextEditor\", this._enterKeyHandlerUp.bind(this))\r\n },\r\n _enterKeyHandlerUp: function(e) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (\"enter\" === normalizeKeyName(e)) {\r\n this._enterKeyAction({\r\n event: e\r\n })\r\n }\r\n },\r\n _updateValue: function() {\r\n this._options.silent(\"text\", null);\r\n this._renderValue()\r\n },\r\n _dispose: function() {\r\n this._enterKeyAction = void 0;\r\n this.callBase()\r\n },\r\n _getSubmitElement: function() {\r\n return this._input()\r\n },\r\n _hasActiveElement: function() {\r\n return this._input().is(domAdapter.getActiveElement(this._input()[0]))\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n name: name,\r\n fullName: fullName,\r\n value: value\r\n } = args;\r\n var eventName = name.replace(\"on\", \"\");\r\n if (EVENTS_LIST.includes(eventName)) {\r\n this._refreshEvents();\r\n return\r\n }\r\n switch (name) {\r\n case \"valueChangeEvent\":\r\n this._refreshValueChangeEvent();\r\n this._refreshFocusEvent();\r\n this._refreshEvents();\r\n break;\r\n case \"onValueChanged\":\r\n this._createValueChangeAction();\r\n break;\r\n case \"focusStateEnabled\":\r\n this.callBase(args);\r\n this._toggleTabIndex();\r\n break;\r\n case \"spellcheck\":\r\n this._toggleSpellcheckState();\r\n break;\r\n case \"mode\":\r\n this._renderInputType();\r\n break;\r\n case \"onEnterKey\":\r\n this._renderEnterKeyAction();\r\n break;\r\n case \"placeholder\":\r\n this._renderPlaceholder();\r\n break;\r\n case \"label\":\r\n this._label.updateText(value);\r\n this._setLabelContainerAria();\r\n break;\r\n case \"labelMark\":\r\n this._label.updateMark(value);\r\n break;\r\n case \"labelMode\":\r\n this._label.updateMode(value);\r\n this._setLabelContainerAria();\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._label.updateMaxWidth(this._getLabelContainerWidth());\r\n break;\r\n case \"readOnly\":\r\n case \"disabled\":\r\n this._updateButtons();\r\n this.callBase(args);\r\n break;\r\n case \"showClearButton\":\r\n this._updateButtons([\"clear\"]);\r\n break;\r\n case \"text\":\r\n break;\r\n case \"value\":\r\n this._updateValue();\r\n this.callBase(args);\r\n break;\r\n case \"inputAttr\":\r\n this._applyInputAttributes(this._input(), this.option(name));\r\n break;\r\n case \"stylingMode\":\r\n this._renderStylingMode();\r\n this._updateLabelWidth();\r\n break;\r\n case \"buttons\":\r\n if (fullName === name) {\r\n checkButtonsOptionType(value)\r\n }\r\n this._cleanButtonContainers();\r\n this._renderButtonContainers();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"));\r\n this._updateLabelWidth();\r\n this._label.updateContainsButtonsBefore(!!this._$beforeButtonsContainer);\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n if (value && this.option(\"buttons\")) {\r\n this._cleanButtonContainers();\r\n this._renderButtonContainers();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"))\r\n }\r\n break;\r\n case \"displayValueFormatter\":\r\n this._invalidate();\r\n break;\r\n case \"showValidationMark\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _renderInputType: function() {\r\n this._setInputType(this.option(\"mode\"))\r\n },\r\n _setInputType: function(type) {\r\n var input = this._input();\r\n if (\"search\" === type) {\r\n type = \"text\"\r\n }\r\n try {\r\n input.prop(\"type\", type)\r\n } catch (e) {\r\n input.prop(\"type\", \"text\")\r\n }\r\n },\r\n getButton(name) {\r\n return this._buttonCollection.getButton(name)\r\n },\r\n focus: function() {\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n },\r\n reset: function() {\r\n if (this._showValidMark) {\r\n this._showValidMark = false;\r\n this._renderValidationState()\r\n }\r\n var defaultOptions = this._getDefaultOptions();\r\n if (this.option(\"value\") === defaultOptions.value) {\r\n this._options.silent(\"text\", \"\");\r\n this._renderValue()\r\n } else {\r\n this.option(\"value\", defaultOptions.value)\r\n }\r\n },\r\n on: function(eventName, eventHandler) {\r\n var result = this.callBase(eventName, eventHandler);\r\n var event = eventName.charAt(0).toUpperCase() + eventName.substr(1);\r\n if (EVENTS_LIST.indexOf(event) >= 0) {\r\n this._refreshEvents()\r\n }\r\n return result\r\n }\r\n});\r\nexport default TextEditorBase;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.strategy.base.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport EventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n clipboardText as getClipboardText\r\n} from \"../../core/utils/dom\";\r\nvar MASK_EVENT_NAMESPACE = \"dxMask\";\r\nvar BLUR_EVENT = \"blur beforedeactivate\";\r\nvar EMPTY_CHAR = \" \";\r\nexport default class BaseMaskStrategy {\r\n constructor(editor) {\r\n this.editor = editor;\r\n this.DIRECTION = {\r\n FORWARD: \"forward\",\r\n BACKWARD: \"backward\"\r\n };\r\n this.NAME = this._getStrategyName()\r\n }\r\n _getStrategyName() {\r\n return \"base\"\r\n }\r\n editorOption() {\r\n return this.editor.option(...arguments)\r\n }\r\n editorInput() {\r\n return this.editor._input()\r\n }\r\n editorCaret(newCaret) {\r\n if (!newCaret) {\r\n return this.editor._caret()\r\n }\r\n this.editor._caret(newCaret)\r\n }\r\n getHandler(handlerName) {\r\n var handler = this[\"_\".concat(handlerName, \"Handler\")] || function() {};\r\n return handler.bind(this)\r\n }\r\n attachEvents() {\r\n var $input = this.editorInput();\r\n this.getHandleEventNames().forEach(eventName => {\r\n var subscriptionName = addNamespace(eventName.toLowerCase(), MASK_EVENT_NAMESPACE);\r\n EventsEngine.on($input, subscriptionName, this.getEventHandler(eventName))\r\n });\r\n this._attachChangeEventHandlers()\r\n }\r\n getHandleEventNames() {\r\n return [\"focusIn\", \"focusOut\", \"keyDown\", \"input\", \"paste\", \"cut\", \"drop\"]\r\n }\r\n getEventHandler(eventName) {\r\n return this[\"_\".concat(eventName, \"Handler\")].bind(this)\r\n }\r\n detachEvents() {\r\n EventsEngine.off(this.editorInput(), \".\".concat(MASK_EVENT_NAMESPACE))\r\n }\r\n _attachChangeEventHandlers() {\r\n if (!this.editorOption(\"valueChangeEvent\").split(\" \").includes(\"change\")) {\r\n return\r\n }\r\n EventsEngine.on(this.editorInput(), addNamespace(BLUR_EVENT, MASK_EVENT_NAMESPACE), function(e) {\r\n this._suppressCaretChanging(this._changeHandler, [e]);\r\n this._changeHandler(e)\r\n }.bind(this.editor))\r\n }\r\n _focusInHandler() {\r\n this.editor._showMaskPlaceholder();\r\n this.editor._direction(this.DIRECTION.FORWARD);\r\n if (!this.editor._isValueEmpty() && this.editorOption(\"isValid\")) {\r\n this.editor._adjustCaret()\r\n } else {\r\n var caret = this.editor._maskRulesChain.first();\r\n this._caretTimeout = setTimeout(function() {\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n }.bind(this.editor), 0)\r\n }\r\n }\r\n _focusOutHandler(event) {\r\n this.editor._changeHandler(event);\r\n if (\"onFocus\" === this.editorOption(\"showMaskMode\") && this.editor._isValueEmpty()) {\r\n this.editorOption(\"text\", \"\");\r\n this.editor._renderDisplayText(\"\")\r\n }\r\n }\r\n _cutHandler(event) {\r\n var caret = this.editorCaret();\r\n var selectedText = this.editorInput().val().substring(caret.start, caret.end);\r\n this.editor._maskKeyHandler(event, () => getClipboardText(event, selectedText))\r\n }\r\n _dropHandler() {\r\n this._clearDragTimer();\r\n this._dragTimer = setTimeout(function() {\r\n this.option(\"value\", this._convertToValue(this._input().val()))\r\n }.bind(this.editor))\r\n }\r\n _clearDragTimer() {\r\n clearTimeout(this._dragTimer)\r\n }\r\n _keyDownHandler() {\r\n this._keyPressHandled = false\r\n }\r\n _pasteHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n this._keyPressHandled = true;\r\n var caret = this.editorCaret();\r\n editor._maskKeyHandler(event, () => {\r\n var pastedText = getClipboardText(event);\r\n var restText = editor._maskRulesChain.text().substring(caret.end);\r\n var accepted = editor._handleChain({\r\n text: pastedText,\r\n start: caret.start,\r\n length: pastedText.length\r\n });\r\n var newCaret = caret.start + accepted;\r\n editor._handleChain({\r\n text: restText,\r\n start: newCaret,\r\n length: restText.length\r\n });\r\n editor._caret({\r\n start: newCaret,\r\n end: newCaret\r\n })\r\n })\r\n }\r\n _autoFillHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n var inputVal = this.editorInput().val();\r\n this._inputHandlerTimer = setTimeout(() => {\r\n this._keyPressHandled = true;\r\n if (this._isAutoFill()) {\r\n this._keyPressHandled = true;\r\n editor._maskKeyHandler(event, () => {\r\n editor._handleChain({\r\n text: inputVal,\r\n start: 0,\r\n length: inputVal.length\r\n })\r\n });\r\n editor._validateMask()\r\n }\r\n })\r\n }\r\n _isAutoFill() {\r\n var $input = this.editor._input();\r\n var result = false;\r\n if (browser.webkit) {\r\n var input = $input.get(0);\r\n result = input && input.matches(\":-webkit-autofill\")\r\n }\r\n return result\r\n }\r\n runWithoutEventProcessing(action) {\r\n var keyPressHandled = this._keyPressHandled;\r\n this._keyPressHandled = true;\r\n action();\r\n this._keyPressHandled = keyPressHandled\r\n }\r\n _backspaceHandler() {}\r\n _delHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n this._keyPressHandled = true;\r\n editor._maskKeyHandler(event, () => !editor._hasSelection() && editor._handleKey(EMPTY_CHAR))\r\n }\r\n clean() {\r\n this._clearDragTimer();\r\n clearTimeout(this._backspaceHandlerTimeout);\r\n clearTimeout(this._caretTimeout);\r\n clearTimeout(this._inputHandlerTimer)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.strategy.default.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport BaseMaskStrategy from \"./ui.text_editor.mask.strategy.base\";\r\nimport {\r\n getChar\r\n} from \"../../events/utils/index\";\r\nvar BACKSPACE_INPUT_TYPE = \"deleteContentBackward\";\r\nvar EMPTY_CHAR = \" \";\r\nclass DefaultMaskStrategy extends BaseMaskStrategy {\r\n _getStrategyName() {\r\n return \"default\"\r\n }\r\n getHandleEventNames() {\r\n return [...super.getHandleEventNames(), \"keyPress\"]\r\n }\r\n _keyPressHandler(event) {\r\n if (this._keyPressHandled) {\r\n return\r\n }\r\n this._keyPressHandled = true;\r\n if (this.editor._isControlKeyFired(event)) {\r\n return\r\n }\r\n var {\r\n editor: editor\r\n } = this;\r\n editor._maskKeyHandler(event, () => editor._handleKey(getChar(event)))\r\n }\r\n _inputHandler(event) {\r\n if (this._backspaceInputHandled(event.originalEvent && event.originalEvent.inputType)) {\r\n this._handleBackspaceInput(event)\r\n }\r\n if (event.originalEvent) {\r\n this._autoFillHandler(event)\r\n }\r\n if (this._keyPressHandled) {\r\n return\r\n }\r\n this._keyPressHandled = true;\r\n var inputValue = this.editorInput().val();\r\n var caret = this.editorCaret();\r\n if (!caret.end) {\r\n return\r\n }\r\n caret.start = caret.end - 1;\r\n var oldValue = inputValue.substring(0, caret.start) + inputValue.substring(caret.end);\r\n var char = inputValue[caret.start];\r\n var {\r\n editor: editor\r\n } = this;\r\n this.editorInput().val(oldValue);\r\n editor._caret({\r\n start: caret.start,\r\n end: caret.start\r\n });\r\n editor._maskKeyHandler(event, () => editor._handleKey(char))\r\n }\r\n _backspaceHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n this._keyPressHandled = true;\r\n var afterBackspaceHandler = (needAdjustCaret, callBack) => {\r\n if (needAdjustCaret) {\r\n editor._direction(this.DIRECTION.FORWARD);\r\n editor._adjustCaret()\r\n }\r\n var currentCaret = this.editorCaret();\r\n return new Promise(resolve => {\r\n clearTimeout(this._backspaceHandlerTimeout);\r\n this._backspaceHandlerTimeout = setTimeout((function() {\r\n callBack(currentCaret);\r\n resolve()\r\n }))\r\n })\r\n };\r\n editor._maskKeyHandler(event, () => {\r\n if (editor._hasSelection()) {\r\n return afterBackspaceHandler(true, currentCaret => {\r\n editor._displayMask(currentCaret);\r\n editor._maskRulesChain.reset()\r\n })\r\n }\r\n if (editor._tryMoveCaretBackward()) {\r\n return afterBackspaceHandler(false, currentCaret => {\r\n this.editorCaret(currentCaret)\r\n })\r\n }\r\n editor._handleKey(EMPTY_CHAR, this.DIRECTION.BACKWARD);\r\n return afterBackspaceHandler(true, currentCaret => {\r\n editor._displayMask(currentCaret);\r\n editor._maskRulesChain.reset()\r\n })\r\n })\r\n }\r\n _backspaceInputHandled(inputType) {\r\n return inputType === BACKSPACE_INPUT_TYPE && !this._keyPressHandled\r\n }\r\n _handleBackspaceInput(event) {\r\n var {\r\n start: start,\r\n end: end\r\n } = this.editorCaret();\r\n this.editorCaret({\r\n start: start + 1,\r\n end: end + 1\r\n });\r\n this._backspaceHandler(event)\r\n }\r\n}\r\nexport default DefaultMaskStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.strategy.input_events.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport BaseMaskStrategy from \"./ui.text_editor.mask.strategy.base\";\r\nvar DELETE_INPUT_TYPE = \"deleteContentBackward\";\r\nclass InputEventsMaskStrategy extends BaseMaskStrategy {\r\n _getStrategyName() {\r\n return \"inputEvents\"\r\n }\r\n getHandleEventNames() {\r\n return [...super.getHandleEventNames(), \"beforeInput\"]\r\n }\r\n _beforeInputHandler() {\r\n this._prevCaret = this.editorCaret()\r\n }\r\n _inputHandler(_ref) {\r\n var {\r\n originalEvent: originalEvent\r\n } = _ref;\r\n if (!originalEvent) {\r\n return\r\n }\r\n var {\r\n inputType: inputType,\r\n data: data\r\n } = originalEvent;\r\n var currentCaret = this.editorCaret();\r\n if (inputType === DELETE_INPUT_TYPE) {\r\n var length = this._prevCaret.end - this._prevCaret.start || 1;\r\n this.editor.setBackwardDirection();\r\n this._updateEditorMask({\r\n start: currentCaret.start,\r\n length: length,\r\n text: this._getEmptyString(length)\r\n })\r\n } else {\r\n var _this$_prevCaret, _this$_prevCaret2, _this$_prevCaret3;\r\n if (!currentCaret.end) {\r\n return\r\n }\r\n this._autoFillHandler(originalEvent);\r\n this.editorCaret(currentCaret);\r\n var _length = (null === (_this$_prevCaret = this._prevCaret) || void 0 === _this$_prevCaret ? void 0 : _this$_prevCaret.end) - (null === (_this$_prevCaret2 = this._prevCaret) || void 0 === _this$_prevCaret2 ? void 0 : _this$_prevCaret2.start);\r\n var newData = data + (_length ? this._getEmptyString(_length - data.length) : \"\");\r\n this.editor.setForwardDirection();\r\n var hasValidChars = this._updateEditorMask({\r\n start: null === (_this$_prevCaret3 = this._prevCaret) || void 0 === _this$_prevCaret3 ? void 0 : _this$_prevCaret3.start,\r\n length: _length || newData.length,\r\n text: newData\r\n });\r\n if (!hasValidChars) {\r\n this.editorCaret(this._prevCaret)\r\n }\r\n }\r\n }\r\n _getEmptyString(length) {\r\n return Array(length + 1).join(\" \")\r\n }\r\n _updateEditorMask(args) {\r\n var textLength = args.text.length;\r\n var updatedCharsCount = this.editor._handleChain(args);\r\n if (this.editor.isForwardDirection()) {\r\n var {\r\n start: start,\r\n end: end\r\n } = this.editorCaret();\r\n var correction = updatedCharsCount - textLength;\r\n if (start <= updatedCharsCount && updatedCharsCount > 1) {\r\n this.editorCaret({\r\n start: start + correction,\r\n end: end + correction\r\n })\r\n }\r\n this.editor.isForwardDirection() && this.editor._adjustCaret()\r\n }\r\n this.editor._displayMask();\r\n return !!updatedCharsCount\r\n }\r\n}\r\nexport default InputEventsMaskStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport caretUtils from \"./utils.caret\";\r\nimport {\r\n isInputEventsL2Supported\r\n} from \"./utils.support\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n addNamespace,\r\n createEvent,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isEmpty\r\n} from \"../../core/utils/string\";\r\nimport {\r\n name as wheelEventName\r\n} from \"../../events/core/wheel\";\r\nimport {\r\n EmptyMaskRule,\r\n StubMaskRule,\r\n MaskRule\r\n} from \"./ui.text_editor.mask.rule\";\r\nimport TextEditorBase from \"./ui.text_editor.base\";\r\nimport DefaultMaskStrategy from \"./ui.text_editor.mask.strategy.default\";\r\nimport InputEventsMaskStrategy from \"./ui.text_editor.mask.strategy.input_events\";\r\nvar stubCaret = function() {\r\n return {}\r\n};\r\nvar caret = caretUtils;\r\nvar EMPTY_CHAR = \" \";\r\nvar ESCAPED_CHAR = \"\\\\\";\r\nvar TEXTEDITOR_MASKED_CLASS = \"dx-texteditor-masked\";\r\nvar FORWARD_DIRECTION = \"forward\";\r\nvar BACKWARD_DIRECTION = \"backward\";\r\nvar buildInMaskRules = {\r\n 0: /[0-9]/,\r\n 9: /[0-9\\s]/,\r\n \"#\": /[-+0-9\\s]/,\r\n L: function(char) {\r\n return isLiteralChar(char)\r\n },\r\n l: function(char) {\r\n return isLiteralChar(char) || isSpaceChar(char)\r\n },\r\n C: /\\S/,\r\n c: /./,\r\n A: function(char) {\r\n return isLiteralChar(char) || isNumericChar(char)\r\n },\r\n a: function(char) {\r\n return isLiteralChar(char) || isNumericChar(char) || isSpaceChar(char)\r\n }\r\n};\r\n\r\nfunction isNumericChar(char) {\r\n return /[0-9]/.test(char)\r\n}\r\n\r\nfunction isLiteralChar(char) {\r\n var code = char.charCodeAt();\r\n return 64 < code && code < 91 || 96 < code && code < 123 || code > 127\r\n}\r\n\r\nfunction isSpaceChar(char) {\r\n return \" \" === char\r\n}\r\nvar TextEditorMask = TextEditorBase.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n mask: \"\",\r\n maskChar: \"_\",\r\n maskRules: {},\r\n maskInvalidMessage: messageLocalization.format(\"validation-mask\"),\r\n useMaskedValue: false,\r\n showMaskMode: \"always\"\r\n })\r\n },\r\n _supportedKeys: function() {\r\n var that = this;\r\n var keyHandlerMap = {\r\n backspace: that._maskStrategy.getHandler(\"backspace\"),\r\n del: that._maskStrategy.getHandler(\"del\"),\r\n enter: that._changeHandler\r\n };\r\n var result = that.callBase();\r\n each(keyHandlerMap, (function(key, callback) {\r\n var parentHandler = result[key];\r\n result[key] = function(e) {\r\n that.option(\"mask\") && callback.call(that, e);\r\n parentHandler && parentHandler(e)\r\n }\r\n }));\r\n return result\r\n },\r\n _getSubmitElement: function() {\r\n return !this.option(\"mask\") ? this.callBase() : this._$hiddenElement\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initMaskStrategy()\r\n },\r\n _initMaskStrategy: function() {\r\n this._maskStrategy = isInputEventsL2Supported() ? new InputEventsMaskStrategy(this) : new DefaultMaskStrategy(this)\r\n },\r\n _initMarkup: function() {\r\n this._renderHiddenElement();\r\n this.callBase()\r\n },\r\n _attachMouseWheelEventHandlers: function() {\r\n var hasMouseWheelHandler = this._onMouseWheel !== noop;\r\n if (!hasMouseWheelHandler) {\r\n return\r\n }\r\n var input = this._input();\r\n var eventName = addNamespace(wheelEventName, this.NAME);\r\n var mouseWheelAction = this._createAction(function(e) {\r\n var {\r\n event: event\r\n } = e;\r\n if (focused(input) && !isCommandKeyPressed(event)) {\r\n this._onMouseWheel(event);\r\n event.preventDefault();\r\n event.stopPropagation()\r\n }\r\n }.bind(this));\r\n eventsEngine.off(input, eventName);\r\n eventsEngine.on(input, eventName, (function(e) {\r\n mouseWheelAction({\r\n event: e\r\n })\r\n }))\r\n },\r\n _onMouseWheel: noop,\r\n _render: function() {\r\n this._renderMask();\r\n this.callBase();\r\n this._attachMouseWheelEventHandlers()\r\n },\r\n _renderHiddenElement: function() {\r\n if (this.option(\"mask\")) {\r\n this._$hiddenElement = $(\"\").attr(\"type\", \"hidden\").appendTo(this._inputWrapper())\r\n }\r\n },\r\n _removeHiddenElement: function() {\r\n this._$hiddenElement && this._$hiddenElement.remove()\r\n },\r\n _renderMask: function() {\r\n this.$element().removeClass(TEXTEDITOR_MASKED_CLASS);\r\n this._maskRulesChain = null;\r\n this._maskStrategy.detachEvents();\r\n if (!this.option(\"mask\")) {\r\n return\r\n }\r\n this.$element().addClass(TEXTEDITOR_MASKED_CLASS);\r\n this._maskStrategy.attachEvents();\r\n this._parseMask();\r\n this._renderMaskedValue()\r\n },\r\n _suppressCaretChanging: function(callback, args) {\r\n caret = stubCaret;\r\n try {\r\n callback.apply(this, args)\r\n } finally {\r\n caret = caretUtils\r\n }\r\n },\r\n _changeHandler: function(e) {\r\n var $input = this._input();\r\n var inputValue = $input.val();\r\n if (inputValue === this._changedValue) {\r\n return\r\n }\r\n this._changedValue = inputValue;\r\n var changeEvent = createEvent(e, {\r\n type: \"change\"\r\n });\r\n eventsEngine.trigger($input, changeEvent)\r\n },\r\n _parseMask: function() {\r\n this._maskRules = extend({}, buildInMaskRules, this.option(\"maskRules\"));\r\n this._maskRulesChain = this._parseMaskRule(0)\r\n },\r\n _parseMaskRule: function(index) {\r\n var mask = this.option(\"mask\");\r\n if (index >= mask.length) {\r\n return new EmptyMaskRule\r\n }\r\n var currentMaskChar = mask[index];\r\n var isEscapedChar = currentMaskChar === ESCAPED_CHAR;\r\n var result = isEscapedChar ? new StubMaskRule({\r\n maskChar: mask[index + 1]\r\n }) : this._getMaskRule(currentMaskChar);\r\n result.next(this._parseMaskRule(index + 1 + isEscapedChar));\r\n return result\r\n },\r\n _getMaskRule: function(pattern) {\r\n var ruleConfig;\r\n each(this._maskRules, (function(rulePattern, allowedChars) {\r\n if (rulePattern === pattern) {\r\n ruleConfig = {\r\n pattern: rulePattern,\r\n allowedChars: allowedChars\r\n };\r\n return false\r\n }\r\n }));\r\n return isDefined(ruleConfig) ? new MaskRule(extend({\r\n maskChar: this.option(\"maskChar\")\r\n }, ruleConfig)) : new StubMaskRule({\r\n maskChar: pattern\r\n })\r\n },\r\n _renderMaskedValue: function() {\r\n if (!this._maskRulesChain) {\r\n return\r\n }\r\n var value = this.option(\"value\") || \"\";\r\n this._maskRulesChain.clear(this._normalizeChainArguments());\r\n var chainArgs = {\r\n length: value.length\r\n };\r\n chainArgs[this._isMaskedValueMode() ? \"text\" : \"value\"] = value;\r\n this._handleChain(chainArgs);\r\n this._displayMask()\r\n },\r\n _replaceSelectedText: function(text, selection, char) {\r\n if (void 0 === char) {\r\n return text\r\n }\r\n var textBefore = text.slice(0, selection.start);\r\n var textAfter = text.slice(selection.end);\r\n var edited = textBefore + char + textAfter;\r\n return edited\r\n },\r\n _isMaskedValueMode: function() {\r\n return this.option(\"useMaskedValue\")\r\n },\r\n _displayMask: function(caret) {\r\n caret = caret || this._caret();\r\n this._renderValue();\r\n this._caret(caret)\r\n },\r\n _isValueEmpty: function() {\r\n return isEmpty(this._value)\r\n },\r\n _shouldShowMask: function() {\r\n var showMaskMode = this.option(\"showMaskMode\");\r\n if (\"onFocus\" === showMaskMode) {\r\n return focused(this._input()) || !this._isValueEmpty()\r\n }\r\n return true\r\n },\r\n _showMaskPlaceholder: function() {\r\n if (this._shouldShowMask()) {\r\n var text = this._maskRulesChain.text();\r\n this.option(\"text\", text);\r\n if (\"onFocus\" === this.option(\"showMaskMode\")) {\r\n this._renderDisplayText(text)\r\n }\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this._maskRulesChain) {\r\n this._showMaskPlaceholder();\r\n if (this._$hiddenElement) {\r\n var value = this._maskRulesChain.value();\r\n var submitElementValue = !isEmpty(value) ? this._getPreparedValue() : \"\";\r\n this._$hiddenElement.val(submitElementValue)\r\n }\r\n }\r\n return this.callBase()\r\n },\r\n _getPreparedValue: function() {\r\n return this._convertToValue().replace(/\\s+$/, \"\")\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n if (!this._maskRulesChain) {\r\n this.callBase.apply(this, arguments);\r\n return\r\n }\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", this._getPreparedValue())\r\n },\r\n _isControlKeyFired: function(e) {\r\n return this._isControlKey(normalizeKeyName(e)) || isCommandKeyPressed(e)\r\n },\r\n _handleChain: function(args) {\r\n var handledCount = this._maskRulesChain.handle(this._normalizeChainArguments(args));\r\n this._value = this._maskRulesChain.value();\r\n this._textValue = this._maskRulesChain.text();\r\n return handledCount\r\n },\r\n _normalizeChainArguments: function(args) {\r\n args = args || {};\r\n args.index = 0;\r\n args.fullText = this._maskRulesChain.text();\r\n return args\r\n },\r\n _convertToValue: function(text) {\r\n if (this._isMaskedValueMode()) {\r\n text = this._replaceMaskCharWithEmpty(text || this._textValue || \"\")\r\n } else {\r\n text = text || this._value || \"\"\r\n }\r\n return text\r\n },\r\n _replaceMaskCharWithEmpty: function(text) {\r\n return text.replace(new RegExp(this.option(\"maskChar\"), \"g\"), EMPTY_CHAR)\r\n },\r\n _maskKeyHandler: function(e, keyHandler) {\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this.setForwardDirection();\r\n e.preventDefault();\r\n this._handleSelection();\r\n var previousText = this._input().val();\r\n var raiseInputEvent = () => {\r\n if (previousText !== this._input().val()) {\r\n this._maskStrategy.runWithoutEventProcessing(() => eventsEngine.trigger(this._input(), \"input\"))\r\n }\r\n };\r\n var handled = keyHandler();\r\n if (handled) {\r\n handled.then(raiseInputEvent)\r\n } else {\r\n this.setForwardDirection();\r\n this._adjustCaret();\r\n this._displayMask();\r\n this._maskRulesChain.reset();\r\n raiseInputEvent()\r\n }\r\n },\r\n _handleKey: function(key, direction) {\r\n this._direction(direction || FORWARD_DIRECTION);\r\n this._adjustCaret(key);\r\n this._handleKeyChain(key);\r\n this._moveCaret()\r\n },\r\n _handleSelection: function() {\r\n if (!this._hasSelection()) {\r\n return\r\n }\r\n var caret = this._caret();\r\n var emptyChars = new Array(caret.end - caret.start + 1).join(EMPTY_CHAR);\r\n this._handleKeyChain(emptyChars)\r\n },\r\n _handleKeyChain: function(chars) {\r\n var caret = this._caret();\r\n var start = this.isForwardDirection() ? caret.start : caret.start - 1;\r\n var end = this.isForwardDirection() ? caret.end : caret.end - 1;\r\n var length = start === end ? 1 : end - start;\r\n this._handleChain({\r\n text: chars,\r\n start: start,\r\n length: length\r\n })\r\n },\r\n _tryMoveCaretBackward: function() {\r\n this.setBackwardDirection();\r\n var currentCaret = this._caret().start;\r\n this._adjustCaret();\r\n return !currentCaret || currentCaret !== this._caret().start\r\n },\r\n _adjustCaret: function(char) {\r\n var caretStart = this._caret().start;\r\n var isForwardDirection = this.isForwardDirection();\r\n var caret = this._maskRulesChain.adjustedCaret(caretStart, isForwardDirection, char);\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n },\r\n _moveCaret: function() {\r\n var currentCaret = this._caret().start;\r\n var maskRuleIndex = currentCaret + (this.isForwardDirection() ? 0 : -1);\r\n var caret = this._maskRulesChain.isAccepted(maskRuleIndex) ? currentCaret + (this.isForwardDirection() ? 1 : -1) : currentCaret;\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n },\r\n _caret: function(position, force) {\r\n var $input = this._input();\r\n if (!$input.length) {\r\n return\r\n }\r\n if (!arguments.length) {\r\n return caret($input)\r\n }\r\n caret($input, position, force)\r\n },\r\n _hasSelection: function() {\r\n var caret = this._caret();\r\n return caret.start !== caret.end\r\n },\r\n _direction: function(direction) {\r\n if (!arguments.length) {\r\n return this._typingDirection\r\n }\r\n this._typingDirection = direction\r\n },\r\n setForwardDirection: function() {\r\n this._direction(FORWARD_DIRECTION)\r\n },\r\n setBackwardDirection: function() {\r\n this._direction(BACKWARD_DIRECTION)\r\n },\r\n isForwardDirection: function() {\r\n return this._direction() === FORWARD_DIRECTION\r\n },\r\n _clean: function() {\r\n this._maskStrategy && this._maskStrategy.clean();\r\n this.callBase()\r\n },\r\n _validateMask: function() {\r\n if (!this._maskRulesChain) {\r\n return\r\n }\r\n var isValid = isEmpty(this.option(\"value\")) || this._maskRulesChain.isValid(this._normalizeChainArguments());\r\n this.option({\r\n isValid: isValid,\r\n validationError: isValid ? null : {\r\n editorSpecific: true,\r\n message: this.option(\"maskInvalidMessage\")\r\n }\r\n })\r\n },\r\n _updateHiddenElement: function() {\r\n this._removeHiddenElement();\r\n if (this.option(\"mask\")) {\r\n this._input().removeAttr(\"name\");\r\n this._renderHiddenElement()\r\n }\r\n this._setSubmitElementName(this.option(\"name\"))\r\n },\r\n _updateMaskOption: function() {\r\n this._updateHiddenElement();\r\n this._renderMask();\r\n this._validateMask()\r\n },\r\n _processEmptyMask: function(mask) {\r\n if (mask) {\r\n return\r\n }\r\n var value = this.option(\"value\");\r\n this.option({\r\n text: value,\r\n isValid: true\r\n });\r\n this.validationRequest.fire({\r\n value: value,\r\n editor: this\r\n });\r\n this._renderValue()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"mask\":\r\n this._updateMaskOption();\r\n this._processEmptyMask(args.value);\r\n break;\r\n case \"maskChar\":\r\n case \"maskRules\":\r\n case \"useMaskedValue\":\r\n this._updateMaskOption();\r\n break;\r\n case \"value\":\r\n this._renderMaskedValue();\r\n this._validateMask();\r\n this.callBase(args);\r\n this._changedValue = this._input().val();\r\n break;\r\n case \"maskInvalidMessage\":\r\n break;\r\n case \"showMaskMode\":\r\n this.option(\"text\", \"\");\r\n this._renderValue();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default TextEditorMask;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport TextEditorMask from \"./ui.text_editor.mask\";\r\nregisterComponent(\"dxTextEditor\", TextEditorMask);\r\nexport default TextEditorMask;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/text_box.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport TextEditor from \"./ui.text_editor\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nvar ignoreKeys = [\"backspace\", \"tab\", \"enter\", \"pageUp\", \"pageDown\", \"end\", \"home\", \"leftArrow\", \"rightArrow\", \"downArrow\", \"upArrow\", \"del\"];\r\nvar TEXTBOX_CLASS = \"dx-textbox\";\r\nvar SEARCHBOX_CLASS = \"dx-searchbox\";\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SEARCH_ICON_CLASS = \"dx-icon-search\";\r\nvar TextBox = TextEditor.inherit({\r\n ctor: function(element, options) {\r\n if (options) {\r\n this._showClearButton = options.showClearButton\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: \"\",\r\n mode: \"text\",\r\n maxLength: null\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TEXTBOX_CLASS);\r\n this.callBase();\r\n this.setAria(\"role\", \"textbox\")\r\n },\r\n _renderInputType: function() {\r\n this.callBase();\r\n this._renderSearchMode()\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _renderProps: function() {\r\n this.callBase();\r\n this._toggleMaxLengthProp()\r\n },\r\n _toggleMaxLengthProp: function() {\r\n var maxLength = this._getMaxLength();\r\n if (maxLength && maxLength > 0) {\r\n this._input().attr(\"maxLength\", maxLength)\r\n } else {\r\n this._input().removeAttr(\"maxLength\")\r\n }\r\n },\r\n _renderSearchMode: function() {\r\n var $element = this._$element;\r\n if (\"search\" === this.option(\"mode\")) {\r\n $element.addClass(SEARCHBOX_CLASS);\r\n this._renderSearchIcon();\r\n if (void 0 === this._showClearButton) {\r\n this._showClearButton = this.option(\"showClearButton\");\r\n this.option(\"showClearButton\", true)\r\n }\r\n } else {\r\n $element.removeClass(SEARCHBOX_CLASS);\r\n this._$searchIcon && this._$searchIcon.remove();\r\n this.option(\"showClearButton\", void 0 === this._showClearButton ? this.option(\"showClearButton\") : this._showClearButton);\r\n delete this._showClearButton\r\n }\r\n },\r\n _renderSearchIcon: function() {\r\n var $searchIcon = $(\"
\").addClass(ICON_CLASS).addClass(SEARCH_ICON_CLASS);\r\n $searchIcon.prependTo(this._input().parent());\r\n this._$searchIcon = $searchIcon\r\n },\r\n _getLabelContainerWidth: function() {\r\n if (this._$searchIcon) {\r\n var $inputContainer = this._input().parent();\r\n return getWidth($inputContainer) - this._getLabelBeforeWidth()\r\n }\r\n return this.callBase()\r\n },\r\n _getLabelBeforeWidth: function() {\r\n var labelBeforeWidth = this.callBase();\r\n if (this._$searchIcon) {\r\n labelBeforeWidth += getOuterWidth(this._$searchIcon)\r\n }\r\n return labelBeforeWidth\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"maxLength\":\r\n this._toggleMaxLengthProp();\r\n break;\r\n case \"mode\":\r\n this.callBase(args);\r\n this._updateLabelWidth();\r\n break;\r\n case \"mask\":\r\n this.callBase(args);\r\n this._toggleMaxLengthProp();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _onKeyDownCutOffHandler: function(e) {\r\n var actualMaxLength = this._getMaxLength();\r\n if (actualMaxLength && !e.ctrlKey && !this._hasSelection()) {\r\n var $input = $(e.target);\r\n var key = normalizeKeyName(e);\r\n this._cutOffExtraChar($input);\r\n return $input.val().length < actualMaxLength || ignoreKeys.includes(key) || \"\" !== window.getSelection().toString()\r\n } else {\r\n return true\r\n }\r\n },\r\n _onChangeCutOffHandler: function(e) {\r\n var $input = $(e.target);\r\n if (this.option(\"maxLength\")) {\r\n this._cutOffExtraChar($input)\r\n }\r\n },\r\n _cutOffExtraChar: function($input) {\r\n var actualMaxLength = this._getMaxLength();\r\n var textInput = $input.val();\r\n if (actualMaxLength && textInput.length > actualMaxLength) {\r\n $input.val(textInput.substr(0, actualMaxLength))\r\n }\r\n },\r\n _getMaxLength: function() {\r\n var isMaskSpecified = !!this.option(\"mask\");\r\n return isMaskSpecified ? null : this.option(\"maxLength\")\r\n }\r\n});\r\nregisterComponent(\"dxTextBox\", TextBox);\r\nexport default TextBox;\r\n","/**\r\n * DevExtreme (esm/ui/text_box.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TextBox from \"./text_box/text_box\";\r\nexport default TextBox;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/button.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nexport default class TextEditorButton {\r\n constructor(name, editor, options) {\r\n this.instance = null;\r\n this.$container = null;\r\n this.$placeMarker = null;\r\n this.editor = editor;\r\n this.name = name;\r\n this.options = options || {}\r\n }\r\n _addPlaceMarker($container) {\r\n this.$placeMarker = $(\"
\").appendTo($container)\r\n }\r\n _addToContainer($element) {\r\n var {\r\n $placeMarker: $placeMarker,\r\n $container: $container\r\n } = this;\r\n $placeMarker ? $placeMarker.replaceWith($element) : $element.appendTo($container)\r\n }\r\n _attachEvents() {\r\n throw \"Not implemented\"\r\n }\r\n _create() {\r\n throw \"Not implemented\"\r\n }\r\n _isRendered() {\r\n return !!this.instance\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor,\r\n options: options\r\n } = this;\r\n return options.visible || !editor.option(\"readOnly\")\r\n }\r\n _isDisabled() {\r\n throw \"Not implemented\"\r\n }\r\n _shouldRender() {\r\n return this._isVisible() && !this._isRendered()\r\n }\r\n dispose() {\r\n var {\r\n instance: instance,\r\n $placeMarker: $placeMarker\r\n } = this;\r\n if (instance) {\r\n instance.dispose ? instance.dispose() : instance.remove();\r\n this.instance = null\r\n }\r\n $placeMarker && $placeMarker.remove()\r\n }\r\n render() {\r\n var $container = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.$container;\r\n this.$container = $container;\r\n if (this._isVisible()) {\r\n var {\r\n instance: instance,\r\n $element: $element\r\n } = this._create();\r\n this.instance = instance;\r\n this._attachEvents(instance, $element)\r\n } else {\r\n this._addPlaceMarker($container)\r\n }\r\n }\r\n update() {\r\n if (this._shouldRender()) {\r\n this.render()\r\n }\r\n return !!this.instance\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/themes.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../core/utils/size\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n parseHTML\r\n} from \"../core/utils/html_parser\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport readyCallbacks from \"../core/utils/ready_callbacks\";\r\nimport {\r\n value as viewPortValue,\r\n changeCallback,\r\n originalViewPort\r\n} from \"../core/utils/view_port\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n themeReadyCallback\r\n} from \"./themes_callback\";\r\nimport errors from \"./widget/ui.errors\";\r\nvar window = getWindow();\r\nvar ready = readyCallbacks.add;\r\nvar viewPort = viewPortValue;\r\nvar viewPortChanged = changeCallback;\r\nvar initDeferred = new Deferred;\r\nvar DX_LINK_SELECTOR = \"link[rel=dx-theme]\";\r\nvar THEME_ATTR = \"data-theme\";\r\nvar ACTIVE_ATTR = \"data-active\";\r\nvar DX_HAIRLINES_CLASS = \"dx-hairlines\";\r\nvar ANY_THEME = \"any\";\r\nvar context;\r\nvar $activeThemeLink;\r\nvar knownThemes;\r\nvar currentThemeName;\r\nvar pendingThemeName;\r\nvar defaultTimeout = 15e3;\r\nvar THEME_MARKER_PREFIX = \"dx.\";\r\n\r\nfunction readThemeMarker() {\r\n if (!hasWindow()) {\r\n return null\r\n }\r\n var element = $(\"
\", context).addClass(\"dx-theme-marker\").appendTo(context.documentElement);\r\n var result;\r\n try {\r\n result = window.getComputedStyle(element.get(0)).fontFamily;\r\n if (!result) {\r\n return null\r\n }\r\n result = result.replace(/[\"']/g, \"\");\r\n if (result.substr(0, THEME_MARKER_PREFIX.length) !== THEME_MARKER_PREFIX) {\r\n return null\r\n }\r\n return result.substr(THEME_MARKER_PREFIX.length)\r\n } finally {\r\n element.remove()\r\n }\r\n}\r\nexport function waitForThemeLoad(themeName) {\r\n var waitStartTime;\r\n var timerId;\r\n var intervalCleared = true;\r\n pendingThemeName = themeName;\r\n\r\n function handleLoaded() {\r\n pendingThemeName = null;\r\n clearInterval(timerId);\r\n intervalCleared = true;\r\n themeReadyCallback.fire();\r\n themeReadyCallback.empty();\r\n initDeferred.resolve()\r\n }\r\n if (isPendingThemeLoaded() || !defaultTimeout) {\r\n handleLoaded()\r\n } else {\r\n if (!intervalCleared) {\r\n if (pendingThemeName) {\r\n pendingThemeName = themeName\r\n }\r\n return\r\n }\r\n waitStartTime = Date.now();\r\n intervalCleared = false;\r\n timerId = setInterval((function() {\r\n var isLoaded = isPendingThemeLoaded();\r\n var isTimeout = !isLoaded && Date.now() - waitStartTime > defaultTimeout;\r\n if (isTimeout) {\r\n errors.log(\"W0004\", pendingThemeName)\r\n }\r\n if (isLoaded || isTimeout) {\r\n handleLoaded()\r\n }\r\n }), 10)\r\n }\r\n}\r\nexport function isPendingThemeLoaded() {\r\n if (!pendingThemeName) {\r\n return true\r\n }\r\n var anyThemePending = pendingThemeName === ANY_THEME;\r\n if (\"resolved\" === initDeferred.state() && anyThemePending) {\r\n return true\r\n }\r\n var themeMarker = readThemeMarker();\r\n if (themeMarker && anyThemePending) {\r\n return true\r\n }\r\n return themeMarker === pendingThemeName\r\n}\r\n\r\nfunction processMarkup() {\r\n var $allThemeLinks = $(DX_LINK_SELECTOR, context);\r\n if (!$allThemeLinks.length) {\r\n return\r\n }\r\n knownThemes = {};\r\n $activeThemeLink = $(parseHTML(\"\"), context);\r\n $allThemeLinks.each((function() {\r\n var link = $(this, context);\r\n var fullThemeName = link.attr(THEME_ATTR);\r\n var url = link.attr(\"href\");\r\n var isActive = \"true\" === link.attr(ACTIVE_ATTR);\r\n knownThemes[fullThemeName] = {\r\n url: url,\r\n isActive: isActive\r\n }\r\n }));\r\n $allThemeLinks.last().after($activeThemeLink);\r\n $allThemeLinks.remove()\r\n}\r\n\r\nfunction resolveFullThemeName(desiredThemeName) {\r\n var desiredThemeParts = desiredThemeName ? desiredThemeName.split(\".\") : [];\r\n var result = null;\r\n if (knownThemes) {\r\n if (desiredThemeName in knownThemes) {\r\n return desiredThemeName\r\n }\r\n each(knownThemes, (function(knownThemeName, themeData) {\r\n var knownThemeParts = knownThemeName.split(\".\");\r\n if (desiredThemeParts[0] && knownThemeParts[0] !== desiredThemeParts[0]) {\r\n return\r\n }\r\n if (desiredThemeParts[1] && desiredThemeParts[1] !== knownThemeParts[1]) {\r\n return\r\n }\r\n if (desiredThemeParts[2] && desiredThemeParts[2] !== knownThemeParts[2]) {\r\n return\r\n }\r\n if (!result || themeData.isActive) {\r\n result = knownThemeName\r\n }\r\n if (themeData.isActive) {\r\n return false\r\n }\r\n }))\r\n }\r\n return result\r\n}\r\n\r\nfunction initContext(newContext) {\r\n try {\r\n if (newContext !== context) {\r\n knownThemes = null\r\n }\r\n } catch (x) {\r\n knownThemes = null\r\n }\r\n context = newContext\r\n}\r\nexport function init(options) {\r\n options = options || {};\r\n initContext(options.context || domAdapter.getDocument());\r\n if (!context) {\r\n return\r\n }\r\n processMarkup();\r\n currentThemeName = void 0;\r\n current(options)\r\n}\r\nexport function current(options) {\r\n if (!arguments.length) {\r\n currentThemeName = currentThemeName || readThemeMarker();\r\n return currentThemeName\r\n }\r\n detachCssClasses(viewPort());\r\n options = options || {};\r\n if (\"string\" === typeof options) {\r\n options = {\r\n theme: options\r\n }\r\n }\r\n var isAutoInit = options._autoInit;\r\n var loadCallback = options.loadCallback;\r\n var currentThemeData;\r\n currentThemeName = resolveFullThemeName(options.theme || currentThemeName);\r\n if (currentThemeName) {\r\n currentThemeData = knownThemes[currentThemeName]\r\n }\r\n if (loadCallback) {\r\n themeReadyCallback.add(loadCallback)\r\n }\r\n if (currentThemeData) {\r\n $activeThemeLink.attr(\"href\", knownThemes[currentThemeName].url);\r\n if (themeReadyCallback.has() || \"resolved\" !== initDeferred.state() || options._forceTimeout) {\r\n waitForThemeLoad(currentThemeName)\r\n }\r\n } else if (isAutoInit) {\r\n if (hasWindow()) {\r\n waitForThemeLoad(ANY_THEME)\r\n }\r\n themeReadyCallback.fire();\r\n themeReadyCallback.empty()\r\n } else {\r\n throw errors.Error(\"E0021\", currentThemeName)\r\n }\r\n initDeferred.done(() => attachCssClasses(originalViewPort(), currentThemeName))\r\n}\r\n\r\nfunction getCssClasses(themeName) {\r\n themeName = themeName || current();\r\n var result = [];\r\n var themeNameParts = themeName && themeName.split(\".\");\r\n if (themeNameParts) {\r\n result.push(\"dx-theme-\" + themeNameParts[0], \"dx-theme-\" + themeNameParts[0] + \"-typography\");\r\n if (themeNameParts.length > 1) {\r\n result.push(\"dx-color-scheme-\" + themeNameParts[1] + (isMaterial(themeName) ? \"-\" + themeNameParts[2] : \"\"))\r\n }\r\n }\r\n return result\r\n}\r\nvar themeClasses;\r\nexport function attachCssClasses(element, themeName) {\r\n themeClasses = getCssClasses(themeName).join(\" \");\r\n $(element).addClass(themeClasses);\r\n ! function() {\r\n var pixelRatio = hasWindow() && window.devicePixelRatio;\r\n if (!pixelRatio || pixelRatio < 2) {\r\n return\r\n }\r\n var $tester = $(\"
\");\r\n $tester.css(\"border\", \".5px solid transparent\");\r\n $(\"body\").append($tester);\r\n if (1 === getOuterHeight($tester)) {\r\n $(element).addClass(DX_HAIRLINES_CLASS);\r\n themeClasses += \" \" + DX_HAIRLINES_CLASS\r\n }\r\n $tester.remove()\r\n }()\r\n}\r\nexport function detachCssClasses(element) {\r\n $(element).removeClass(themeClasses)\r\n}\r\n\r\nfunction themeReady(callback) {\r\n themeReadyCallback.add(callback)\r\n}\r\n\r\nfunction isTheme(themeRegExp, themeName) {\r\n if (!themeName) {\r\n themeName = currentThemeName || readThemeMarker()\r\n }\r\n return new RegExp(themeRegExp).test(themeName)\r\n}\r\nexport function isMaterial(themeName) {\r\n return isTheme(\"material\", themeName)\r\n}\r\nexport function isGeneric(themeName) {\r\n return isTheme(\"generic\", themeName)\r\n}\r\nexport function isDark(themeName) {\r\n return isTheme(\"dark\", themeName)\r\n}\r\nexport function isCompact(themeName) {\r\n return isTheme(\"compact\", themeName)\r\n}\r\nexport function isWebFontLoaded(text, fontWeight) {\r\n var document = domAdapter.getDocument();\r\n var testElement = document.createElement(\"span\");\r\n testElement.style.position = \"absolute\";\r\n testElement.style.top = \"-9999px\";\r\n testElement.style.left = \"-9999px\";\r\n testElement.style.visibility = \"hidden\";\r\n testElement.style.fontFamily = \"Arial\";\r\n testElement.style.fontSize = \"250px\";\r\n testElement.style.fontWeight = fontWeight;\r\n testElement.innerHTML = text;\r\n document.body.appendChild(testElement);\r\n var etalonFontWidth = testElement.offsetWidth;\r\n testElement.style.fontFamily = \"Roboto, RobotoFallback, Arial\";\r\n var testedFontWidth = testElement.offsetWidth;\r\n testElement.parentNode.removeChild(testElement);\r\n return etalonFontWidth !== testedFontWidth\r\n}\r\nexport function waitWebFont(text, fontWeight) {\r\n return new Promise(resolve => {\r\n var clear = () => {\r\n clearInterval(intervalId);\r\n clearTimeout(timeoutId);\r\n resolve()\r\n };\r\n var intervalId = setInterval(() => {\r\n if (isWebFontLoaded(text, fontWeight)) {\r\n clear()\r\n }\r\n }, 15);\r\n var timeoutId = setTimeout(clear, 2e3)\r\n })\r\n}\r\n\r\nfunction autoInit() {\r\n init({\r\n _autoInit: true,\r\n _forceTimeout: true\r\n });\r\n if ($(DX_LINK_SELECTOR, context).length) {\r\n throw errors.Error(\"E0022\")\r\n }\r\n}\r\nif (hasWindow()) {\r\n autoInit()\r\n} else {\r\n ready(autoInit)\r\n}\r\nviewPortChanged.add((function(viewPort, prevViewPort) {\r\n initDeferred.done((function() {\r\n detachCssClasses(prevViewPort);\r\n attachCssClasses(viewPort)\r\n }))\r\n}));\r\ndevices.changed.add((function() {\r\n init({\r\n _autoInit: true\r\n })\r\n}));\r\nexport {\r\n themeReady as ready\r\n};\r\nexport function resetTheme() {\r\n $activeThemeLink && $activeThemeLink.attr(\"href\", \"about:blank\");\r\n currentThemeName = null;\r\n pendingThemeName = null;\r\n initDeferred = new Deferred\r\n}\r\nexport function initialized(callback) {\r\n initDeferred.done(callback)\r\n}\r\nexport function setDefaultTimeout(timeout) {\r\n defaultTimeout = timeout\r\n}\r\nexport default {\r\n setDefaultTimeout: setDefaultTimeout,\r\n initialized: initialized,\r\n resetTheme: resetTheme,\r\n ready: themeReady,\r\n waitWebFont: waitWebFont,\r\n isWebFontLoaded: isWebFontLoaded,\r\n isCompact: isCompact,\r\n isDark: isDark,\r\n isGeneric: isGeneric,\r\n isMaterial: isMaterial,\r\n detachCssClasses: detachCssClasses,\r\n attachCssClasses: attachCssClasses,\r\n current: current,\r\n waitForThemeLoad: waitForThemeLoad,\r\n isPendingThemeLoaded: isPendingThemeLoaded\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/themes_callback.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"../core/utils/callbacks\";\r\nexport var themeReadyCallback = Callbacks();\r\n","/**\r\n * DevExtreme (esm/localization/utils.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n sign,\r\n multiplyInExponentialForm\r\n} from \"../core/utils/math\";\r\nvar DECIMAL_BASE = 10;\r\n\r\nfunction roundByAbs(value) {\r\n var valueSign = sign(value);\r\n return valueSign * Math.round(Math.abs(value))\r\n}\r\n\r\nfunction adjustValue(value, precision) {\r\n var precisionMultiplier = Math.pow(DECIMAL_BASE, precision);\r\n var intermediateValue = multiplyInExponentialForm(value, precision);\r\n return roundByAbs(intermediateValue) / precisionMultiplier\r\n}\r\nexport function toFixed(value, precision) {\r\n var valuePrecision = precision || 0;\r\n var adjustedValue = valuePrecision > 0 ? adjustValue(...arguments) : value;\r\n return adjustedValue.toFixed(valuePrecision)\r\n}\r\n","/**\r\n * DevExtreme (esm/localization/ldml/number.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fitIntoRange,\r\n multiplyInExponentialForm\r\n} from \"../../core/utils/math\";\r\nimport {\r\n toFixed\r\n} from \"../utils\";\r\nvar DEFAULT_CONFIG = {\r\n thousandsSeparator: \",\",\r\n decimalSeparator: \".\"\r\n};\r\nvar ESCAPING_CHAR = \"'\";\r\nvar MAXIMUM_NUMBER_LENGTH = 15;\r\nvar PERCENT_EXPONENT_SHIFT = 2;\r\n\r\nfunction getGroupSizes(formatString) {\r\n return formatString.split(\",\").slice(1).map((function(str) {\r\n var singleQuotesLeft = 0;\r\n return str.split(\"\").filter((function(char, index) {\r\n singleQuotesLeft += \"'\" === char;\r\n var isDigit = \"#\" === char || \"0\" === char;\r\n var isInStub = singleQuotesLeft % 2;\r\n return isDigit && !isInStub\r\n })).length\r\n }))\r\n}\r\n\r\nfunction getSignParts(format) {\r\n var signParts = format.split(\";\");\r\n if (1 === signParts.length) {\r\n signParts.push(\"-\" + signParts[0])\r\n }\r\n return signParts\r\n}\r\n\r\nfunction reverseString(str) {\r\n return str.toString().split(\"\").reverse().join(\"\")\r\n}\r\n\r\nfunction isPercentFormat(format) {\r\n return -1 !== format.indexOf(\"%\") && !format.match(/'[^']*%[^']*'/g)\r\n}\r\n\r\nfunction removeStubs(str) {\r\n return str.replace(/'.+'/g, \"\")\r\n}\r\n\r\nfunction getNonRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n var format = removeStubs(floatFormat);\r\n return format.length - format.replace(/[#]/g, \"\").length\r\n}\r\n\r\nfunction getRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n var format = removeStubs(floatFormat);\r\n return format.length - format.replace(/[0]/g, \"\").length\r\n}\r\n\r\nfunction normalizeValueString(valuePart, minDigitCount, maxDigitCount) {\r\n if (!valuePart) {\r\n return \"\"\r\n }\r\n if (valuePart.length > maxDigitCount) {\r\n valuePart = valuePart.substr(0, maxDigitCount)\r\n }\r\n while (valuePart.length > minDigitCount && \"0\" === valuePart.slice(-1)) {\r\n valuePart = valuePart.substr(0, valuePart.length - 1)\r\n }\r\n while (valuePart.length < minDigitCount) {\r\n valuePart += \"0\"\r\n }\r\n return valuePart\r\n}\r\n\r\nfunction applyGroups(valueString, groupSizes, thousandsSeparator) {\r\n if (!groupSizes.length) {\r\n return valueString\r\n }\r\n var groups = [];\r\n var index = 0;\r\n while (valueString) {\r\n var groupSize = groupSizes[index];\r\n if (!groupSize) {\r\n break\r\n }\r\n groups.push(valueString.slice(0, groupSize));\r\n valueString = valueString.slice(groupSize);\r\n if (index < groupSizes.length - 1) {\r\n index++\r\n }\r\n }\r\n return groups.join(thousandsSeparator)\r\n}\r\n\r\nfunction formatNumberPart(format, valueString) {\r\n return format.split(ESCAPING_CHAR).map((function(formatPart, escapeIndex) {\r\n var isEscape = escapeIndex % 2;\r\n if (!formatPart && isEscape) {\r\n return ESCAPING_CHAR\r\n }\r\n return isEscape ? formatPart : formatPart.replace(/[,#0]+/, valueString)\r\n })).join(\"\")\r\n}\r\n\r\nfunction getFloatPointIndex(format) {\r\n var isEscape = false;\r\n for (var index = 0; index < format.length; index++) {\r\n if (\"'\" === format[index]) {\r\n isEscape = !isEscape\r\n }\r\n if (\".\" === format[index] && !isEscape) {\r\n return index\r\n }\r\n }\r\n return format.length\r\n}\r\nexport function getFormatter(format, config) {\r\n config = config || DEFAULT_CONFIG;\r\n return function(value) {\r\n if (\"number\" !== typeof value || isNaN(value)) {\r\n return \"\"\r\n }\r\n var signFormatParts = getSignParts(format);\r\n var isPositiveZero = 1 / value === 1 / 0;\r\n var isPositive = value > 0 || isPositiveZero;\r\n var numberFormat = signFormatParts[isPositive ? 0 : 1];\r\n var floatPointIndex = getFloatPointIndex(numberFormat);\r\n var floatFormatParts = [numberFormat.substr(0, floatPointIndex), numberFormat.substr(floatPointIndex + 1)];\r\n var minFloatPrecision = getRequiredDigitCount(floatFormatParts[1]);\r\n var maxFloatPrecision = minFloatPrecision + getNonRequiredDigitCount(floatFormatParts[1]);\r\n if (isPercentFormat(numberFormat)) {\r\n value = multiplyInExponentialForm(value, PERCENT_EXPONENT_SHIFT)\r\n }\r\n if (!isPositive) {\r\n value = -value\r\n }\r\n var minIntegerPrecision = getRequiredDigitCount(floatFormatParts[0]);\r\n var maxIntegerPrecision = getNonRequiredDigitCount(floatFormatParts[0]) || config.unlimitedIntegerDigits ? void 0 : minIntegerPrecision;\r\n var integerLength = Math.floor(value).toString().length;\r\n var floatPrecision = fitIntoRange(maxFloatPrecision, 0, MAXIMUM_NUMBER_LENGTH - integerLength);\r\n var groupSizes = getGroupSizes(floatFormatParts[0]).reverse();\r\n var valueParts = toFixed(value, floatPrecision < 0 ? 0 : floatPrecision).split(\".\");\r\n var valueIntegerPart = normalizeValueString(reverseString(valueParts[0]), minIntegerPrecision, maxIntegerPrecision);\r\n var valueFloatPart = normalizeValueString(valueParts[1], minFloatPrecision, maxFloatPrecision);\r\n valueIntegerPart = applyGroups(valueIntegerPart, groupSizes, config.thousandsSeparator);\r\n var integerString = reverseString(formatNumberPart(reverseString(floatFormatParts[0]), valueIntegerPart));\r\n var floatString = maxFloatPrecision ? formatNumberPart(floatFormatParts[1], valueFloatPart) : \"\";\r\n var result = integerString + (floatString.match(/\\d/) ? config.decimalSeparator : \"\") + floatString;\r\n return result\r\n }\r\n}\r\n\r\nfunction parseValue(text, isPercent, isNegative) {\r\n var value = (isPercent ? .01 : 1) * parseFloat(text) || 0;\r\n return isNegative ? -value : value\r\n}\r\n\r\nfunction prepareValueText(valueText, formatter, isPercent, isIntegerPart) {\r\n var nextValueText = valueText;\r\n var char;\r\n var text;\r\n var nextText;\r\n do {\r\n if (nextText) {\r\n char = text.length === nextText.length ? \"0\" : \"1\";\r\n valueText = isIntegerPart ? char + valueText : valueText + char\r\n }\r\n text = nextText || formatter(parseValue(nextValueText, isPercent));\r\n nextValueText = isIntegerPart ? \"1\" + nextValueText : nextValueText + \"1\";\r\n nextText = formatter(parseValue(nextValueText, isPercent))\r\n } while (text !== nextText && (isIntegerPart ? text.length === nextText.length : text.length <= nextText.length));\r\n if (isIntegerPart && nextText.length > text.length) {\r\n var hasGroups = -1 === formatter(12345).indexOf(\"12345\");\r\n do {\r\n valueText = \"1\" + valueText\r\n } while (hasGroups && parseValue(valueText, isPercent) < 1e5)\r\n }\r\n return valueText\r\n}\r\n\r\nfunction getFormatByValueText(valueText, formatter, isPercent, isNegative) {\r\n var format = formatter(parseValue(valueText, isPercent, isNegative));\r\n var valueTextParts = valueText.split(\".\");\r\n var valueTextWithModifiedFloat = valueTextParts[0] + \".3\" + valueTextParts[1].slice(1);\r\n var valueWithModifiedFloat = parseValue(valueTextWithModifiedFloat, isPercent, isNegative);\r\n var decimalSeparatorIndex = formatter(valueWithModifiedFloat).indexOf(\"3\") - 1;\r\n format = format.replace(/(\\d)\\D(\\d)/g, \"$1,$2\");\r\n if (decimalSeparatorIndex >= 0) {\r\n format = format.slice(0, decimalSeparatorIndex) + \".\" + format.slice(decimalSeparatorIndex + 1)\r\n }\r\n format = format.replace(/1+/, \"1\").replace(/1/g, \"#\");\r\n if (!isPercent) {\r\n format = format.replace(\"%\", \"'%'\")\r\n }\r\n return format\r\n}\r\nexport function getFormat(formatter) {\r\n var valueText = \".\";\r\n var isPercent = formatter(1).indexOf(\"100\") >= 0;\r\n valueText = prepareValueText(valueText, formatter, isPercent, true);\r\n valueText = prepareValueText(valueText, formatter, isPercent, false);\r\n var positiveFormat = getFormatByValueText(valueText, formatter, isPercent, false);\r\n var negativeFormat = getFormatByValueText(valueText, formatter, isPercent, true);\r\n return negativeFormat === \"-\" + positiveFormat ? positiveFormat : positiveFormat + \";\" + negativeFormat\r\n}\r\n","/**\r\n * DevExtreme (esm/localization/currency.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nexport default {\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"currency\" === format) {\r\n formatConfig.precision = formatConfig.precision || 0;\r\n var result = this.format(value, extend({}, formatConfig, {\r\n type: \"fixedpoint\"\r\n }));\r\n var currencyPart = this.getCurrencySymbol().symbol.replace(/\\$/g, \"$$$$\");\r\n result = result.replace(/^(\\D*)(\\d.*)/, \"$1\" + currencyPart + \"$2\");\r\n return result\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getCurrencySymbol: function() {\r\n return {\r\n symbol: \"$\"\r\n }\r\n },\r\n getOpenXmlCurrencyFormat: function() {\r\n return \"$#,##0{0}_);\\\\($#,##0{0}\\\\)\"\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/open_xml_currency_format.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default (currencySymbol, accountingFormat) => {\r\n if (!accountingFormat) {\r\n return\r\n }\r\n var encodedCurrencySymbol = currencySymbol;\r\n if (\"string\" === typeof currencySymbol) {\r\n encodedCurrencySymbol = \"\";\r\n for (var i = 0; i < currencySymbol.length; i++) {\r\n if (\"$\" !== currencySymbol[i]) {\r\n encodedCurrencySymbol += \"\\\\\"\r\n }\r\n encodedCurrencySymbol += currencySymbol[i]\r\n }\r\n }\r\n var encodeSymbols = {\r\n \".00\": \"{0}\",\r\n \"'\": \"\\\\'\",\r\n \"\\\\(\": \"\\\\(\",\r\n \"\\\\)\": \"\\\\)\",\r\n \" \": \"\\\\ \",\r\n '\"': \""\",\r\n \"\\\\\\xa4\": encodedCurrencySymbol\r\n };\r\n var result = accountingFormat.split(\";\");\r\n for (var _i = 0; _i < result.length; _i++) {\r\n for (var symbol in encodeSymbols) {\r\n if (Object.prototype.hasOwnProperty.call(encodeSymbols, symbol)) {\r\n result[_i] = result[_i].replace(new RegExp(symbol, \"g\"), encodeSymbols[symbol])\r\n }\r\n }\r\n }\r\n return 2 === result.length ? result[0] + \"_);\" + result[1] : result[0]\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/cldr-data/accounting_formats.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {\r\n af: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"af-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n agq: \"#,##0.00\\xa4\",\r\n ak: \"\\xa4#,##0.00\",\r\n am: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ar: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-BH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-DZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-EG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-EH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-IQ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-JO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-KM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-KW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-LB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-LY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-MA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-MR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-OM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-PS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-QA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-TD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-TN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-YE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n as: \"\\xa4\\xa0#,##,##0.00\",\r\n asa: \"#,##0.00\\xa0\\xa4\",\r\n ast: \"#,##0.00\\xa0\\xa4\",\r\n az: \"#,##0.00\\xa0\\xa4\",\r\n \"az-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"az-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n bas: \"#,##0.00\\xa0\\xa4\",\r\n be: \"#,##0.00\\xa0\\xa4\",\r\n \"be-tarask\": \"#,##0.00\\xa0\\xa4\",\r\n bem: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n bez: \"#,##0.00\\xa4\",\r\n bg: \"0.00\\xa0\\xa4;(0.00\\xa0\\xa4)\",\r\n bm: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n bn: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n \"bn-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n bo: \"\\xa4\\xa0#,##0.00\",\r\n \"bo-IN\": \"\\xa4\\xa0#,##0.00\",\r\n br: \"#,##0.00\\xa0\\xa4\",\r\n brx: \"\\xa4\\xa0#,##,##0.00\",\r\n bs: \"#,##0.00\\xa0\\xa4\",\r\n \"bs-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"bs-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n ca: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-AD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-ES-valencia\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-FR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-IT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ccp: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n \"ccp-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n ce: \"#,##0.00\\xa0\\xa4\",\r\n ceb: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n cgg: \"\\xa4#,##0.00\",\r\n chr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ckb: \"\\xa4\\xa0#,##0.00\",\r\n \"ckb-IR\": \"\\xa4\\xa0#,##0.00\",\r\n cs: \"#,##0.00\\xa0\\xa4\",\r\n cy: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n da: \"#,##0.00\\xa0\\xa4\",\r\n \"da-GL\": \"#,##0.00\\xa0\\xa4\",\r\n dav: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n de: \"#,##0.00\\xa0\\xa4\",\r\n \"de-AT\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-BE\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-CH\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-IT\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-LI\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-LU\": \"#,##0.00\\xa0\\xa4\",\r\n dje: \"#,##0.00\\xa4\",\r\n doi: \"\\xa4#,##0.00\",\r\n dsb: \"#,##0.00\\xa0\\xa4\",\r\n dua: \"#,##0.00\\xa0\\xa4\",\r\n dyo: \"#,##0.00\\xa0\\xa4\",\r\n dz: \"\\xa4#,##,##0.00\",\r\n ebu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ee: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ee-TG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n el: \"#,##0.00\\xa0\\xa4\",\r\n \"el-CY\": \"#,##0.00\\xa0\\xa4\",\r\n en: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-001\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-150\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AT\": \"\\xa4\\xa0#,##0.00\",\r\n \"en-AU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-BI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CH\": \"\\xa4\\xa0#,##0.00;\\xa4-#,##0.00\",\r\n \"en-CK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-DE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-DG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-DK\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-DM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FI\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-FJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-JE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-JM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MV\": \"\\xa4\\xa0#,##0.00\",\r\n \"en-MW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NF\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NL\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"en-NR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-RW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"en-SL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TV\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-UG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-UM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-WS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n eo: \"\\xa4\\xa0#,##0.00\",\r\n es: \"#,##0.00\\xa0\\xa4\",\r\n \"es-419\": \"\\xa4#,##0.00\",\r\n \"es-AR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"es-BO\": \"\\xa4#,##0.00\",\r\n \"es-BR\": \"\\xa4#,##0.00\",\r\n \"es-BZ\": \"\\xa4#,##0.00\",\r\n \"es-CL\": \"\\xa4#,##0.00\",\r\n \"es-CO\": \"\\xa4#,##0.00\",\r\n \"es-CR\": \"\\xa4#,##0.00\",\r\n \"es-CU\": \"\\xa4#,##0.00\",\r\n \"es-DO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"es-EA\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-EC\": \"\\xa4#,##0.00\",\r\n \"es-GQ\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-GT\": \"\\xa4#,##0.00\",\r\n \"es-HN\": \"\\xa4#,##0.00\",\r\n \"es-IC\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-MX\": \"\\xa4#,##0.00\",\r\n \"es-NI\": \"\\xa4#,##0.00\",\r\n \"es-PA\": \"\\xa4#,##0.00\",\r\n \"es-PE\": \"\\xa4#,##0.00\",\r\n \"es-PH\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-PR\": \"\\xa4#,##0.00\",\r\n \"es-PY\": \"\\xa4#,##0.00\",\r\n \"es-SV\": \"\\xa4#,##0.00\",\r\n \"es-US\": \"\\xa4#,##0.00\",\r\n \"es-UY\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"es-VE\": \"\\xa4#,##0.00\",\r\n et: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n eu: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ewo: \"#,##0.00\\xa0\\xa4\",\r\n fa: \"\\u200e\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\r\n \"fa-AF\": \"\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\r\n ff: \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Adlm\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-BF\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-CM\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GH\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GM\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GW\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-LR\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-MR\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-NE\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-NG\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-SL\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-SN\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-BF\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-CM\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GH\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GM\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GN\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GW\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-LR\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-MR\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-NE\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-NG\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-SL\": \"#,##0.00\\xa0\\xa4\",\r\n fi: \"#,##0.00\\xa0\\xa4\",\r\n fil: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n fo: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fo-DK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n fr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-DJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-DZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GP\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-HT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-KM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-ML\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-NC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-NE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-PF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-PM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-RE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-RW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SY\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-VU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-WF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-YT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n fur: \"\\xa4\\xa0#,##0.00\",\r\n fy: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n ga: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ga-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gl: \"#,##0.00\\xa0\\xa4\",\r\n gsw: \"#,##0.00\\xa0\\xa4\",\r\n \"gsw-FR\": \"#,##0.00\\xa0\\xa4\",\r\n \"gsw-LI\": \"#,##0.00\\xa0\\xa4\",\r\n gu: \"\\xa4#,##,##0.00;(\\xa4#,##,##0.00)\",\r\n guz: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gv: \"\\xa4#,##0.00\",\r\n ha: \"\\xa4\\xa0#,##0.00\",\r\n \"ha-GH\": \"\\xa4\\xa0#,##0.00\",\r\n \"ha-NE\": \"\\xa4\\xa0#,##0.00\",\r\n haw: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n he: \"#,##0.00\\xa0\\xa4\",\r\n hi: \"\\xa4#,##,##0.00\",\r\n \"hi-Latn\": \"\\xa4#,##,##0.00\",\r\n hr: \"#,##0.00\\xa0\\xa4\",\r\n \"hr-BA\": \"#,##0.00\\xa0\\xa4\",\r\n hsb: \"#,##0.00\\xa0\\xa4\",\r\n hu: \"#,##0.00\\xa0\\xa4\",\r\n hy: \"#,##0.00\\xa0\\xa4\",\r\n ia: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n id: \"\\xa4#,##0.00\",\r\n ig: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ii: \"\\xa4\\xa0#,##0.00\",\r\n is: \"#,##0.00\\xa0\\xa4\",\r\n it: \"#,##0.00\\xa0\\xa4\",\r\n \"it-CH\": \"#,##0.00\\xa0\\xa4\",\r\n \"it-SM\": \"#,##0.00\\xa0\\xa4\",\r\n \"it-VA\": \"#,##0.00\\xa0\\xa4\",\r\n ja: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n jgo: \"\\xa4\\xa0#,##0.00\",\r\n jmc: \"\\xa4#,##0.00\",\r\n jv: \"\\xa4\\xa0#,##0.00\",\r\n ka: \"#,##0.00\\xa0\\xa4\",\r\n kab: \"#,##0.00\\xa4\",\r\n kam: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kde: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kea: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n kgp: \"\\xa4\\xa0#,##0.00\",\r\n khq: \"#,##0.00\\xa4\",\r\n ki: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kk: \"#,##0.00\\xa0\\xa4\",\r\n kkj: \"\\xa4\\xa0#,##0.00\",\r\n kl: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n kln: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n km: \"#,##0.00\\xa4;(#,##0.00\\xa4)\",\r\n kn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ko: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ko-KP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kok: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ks: \"\\xa4#,##0.00\",\r\n \"ks-Arab\": \"\\xa4#,##0.00\",\r\n \"ks-Deva\": \"\\xa4\\xa0#,##0.00\",\r\n ksb: \"#,##0.00\\xa4\",\r\n ksf: \"#,##0.00\\xa0\\xa4\",\r\n ksh: \"#,##0.00\\xa0\\xa4\",\r\n ku: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n kw: \"\\xa4#,##0.00\",\r\n ky: \"#,##0.00\\xa0\\xa4\",\r\n lag: \"\\xa4\\xa0#,##0.00\",\r\n lb: \"#,##0.00\\xa0\\xa4\",\r\n lg: \"#,##0.00\\xa4\",\r\n lkt: \"\\xa4\\xa0#,##0.00\",\r\n ln: \"#,##0.00\\xa0\\xa4\",\r\n \"ln-AO\": \"#,##0.00\\xa0\\xa4\",\r\n \"ln-CF\": \"#,##0.00\\xa0\\xa4\",\r\n \"ln-CG\": \"#,##0.00\\xa0\\xa4\",\r\n lo: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n lrc: \"\\xa4\\xa0#,##0.00\",\r\n \"lrc-IQ\": \"\\xa4\\xa0#,##0.00\",\r\n lt: \"#,##0.00\\xa0\\xa4\",\r\n lu: \"#,##0.00\\xa4\",\r\n luo: \"#,##0.00\\xa4\",\r\n luy: \"\\xa4#,##0.00;\\xa4-\\xa0#,##0.00\",\r\n lv: \"#,##0.00\\xa0\\xa4\",\r\n mai: \"\\xa4\\xa0#,##0.00\",\r\n mas: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"mas-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mer: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mfe: \"\\xa4\\xa0#,##0.00\",\r\n mg: \"\\xa4#,##0.00\",\r\n mgh: \"\\xa4\\xa0#,##0.00\",\r\n mgo: \"\\xa4\\xa0#,##0.00\",\r\n mi: \"\\xa4\\xa0#,##0.00\",\r\n mk: \"#,##0.00\\xa0\\xa4\",\r\n ml: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mn: \"\\xa4\\xa0#,##0.00\",\r\n mni: \"\\xa4\\xa0#,##0.00\",\r\n \"mni-Beng\": \"\\xa4\\xa0#,##0.00\",\r\n mr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ms: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ms-BN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ms-ID\": \"\\xa4#,##0.00\",\r\n \"ms-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mt: \"\\xa4#,##0.00\",\r\n mua: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n my: \"\\xa4\\xa0#,##0.00\",\r\n mzn: \"\\xa4\\xa0#,##0.00\",\r\n naq: \"\\xa4#,##0.00\",\r\n nb: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nb-SJ\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n nds: \"\\xa4\\xa0#,##0.00\",\r\n \"nds-NL\": \"\\xa4\\xa0#,##0.00\",\r\n ne: \"\\xa4\\xa0#,##,##0.00\",\r\n \"ne-IN\": \"\\xa4\\xa0#,##,##0.00\",\r\n nl: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-AW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-BE\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-BQ\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-CW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-SR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-SX\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nmg: \"#,##0.00\\xa0\\xa4\",\r\n nn: \"#,##0.00\\xa0\\xa4\",\r\n nnh: \"\\xa4\\xa0#,##0.00\",\r\n no: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nus: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n nyn: \"\\xa4#,##0.00\",\r\n om: \"\\xa4#,##0.00\",\r\n \"om-KE\": \"\\xa4#,##0.00\",\r\n or: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n os: \"\\xa4\\xa0#,##0.00\",\r\n \"os-RU\": \"\\xa4\\xa0#,##0.00\",\r\n pa: \"\\xa4\\xa0#,##0.00\",\r\n \"pa-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"pa-Guru\": \"\\xa4\\xa0#,##0.00\",\r\n pcm: \"\\xa4#,##0.00\",\r\n pl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ps: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ps-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n pt: \"\\xa4\\xa0#,##0.00\",\r\n \"pt-AO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-CV\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-GW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-MO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-MZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-PT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-ST\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-TL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n qu: \"\\xa4\\xa0#,##0.00\",\r\n \"qu-BO\": \"\\xa4\\xa0#,##0.00\",\r\n \"qu-EC\": \"\\xa4\\xa0#,##0.00\",\r\n rm: \"#,##0.00\\xa0\\xa4\",\r\n rn: \"#,##0.00\\xa4\",\r\n ro: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ro-MD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n rof: \"\\xa4#,##0.00\",\r\n ru: \"#,##0.00\\xa0\\xa4\",\r\n \"ru-BY\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-KG\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-KZ\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-MD\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-UA\": \"#,##0.00\\xa0\\xa4\",\r\n rw: \"\\xa4\\xa0#,##0.00\",\r\n rwk: \"#,##0.00\\xa4\",\r\n sa: \"\\xa4\\xa0#,##0.00\",\r\n sah: \"#,##0.00\\xa0\\xa4\",\r\n saq: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sat: \"\\xa4\\xa0#,##0.00\",\r\n \"sat-Olck\": \"\\xa4\\xa0#,##0.00\",\r\n sbp: \"#,##0.00\\xa4\",\r\n sc: \"#,##0.00\\xa0\\xa4\",\r\n sd: \"\\xa4\\xa0#,##0.00\",\r\n \"sd-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"sd-Deva\": \"\\xa4\\xa0#,##0.00\",\r\n se: \"#,##0.00\\xa0\\xa4\",\r\n \"se-FI\": \"#,##0.00\\xa0\\xa4\",\r\n \"se-SE\": \"#,##0.00\\xa0\\xa4\",\r\n seh: \"#,##0.00\\xa4\",\r\n ses: \"#,##0.00\\xa4\",\r\n sg: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n shi: \"#,##0.00\\xa4\",\r\n \"shi-Latn\": \"#,##0.00\\xa4\",\r\n \"shi-Tfng\": \"#,##0.00\\xa4\",\r\n si: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sk: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n sl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n smn: \"#,##0.00\\xa0\\xa4\",\r\n sn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n so: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-ET\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sq: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sq-MK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sq-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n sr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n su: \"\\xa4#,##0.00\",\r\n \"su-Latn\": \"\\xa4#,##0.00\",\r\n sv: \"#,##0.00\\xa0\\xa4\",\r\n \"sv-AX\": \"#,##0.00\\xa0\\xa4\",\r\n \"sv-FI\": \"#,##0.00\\xa0\\xa4\",\r\n sw: \"\\xa4\\xa0#,##0.00\",\r\n \"sw-CD\": \"\\xa4\\xa0#,##0.00\",\r\n \"sw-KE\": \"\\xa4\\xa0#,##0.00\",\r\n \"sw-UG\": \"\\xa4\\xa0#,##0.00\",\r\n ta: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-LK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n te: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n teo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"teo-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n tg: \"#,##0.00\\xa0\\xa4\",\r\n th: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ti: \"\\xa4#,##0.00\",\r\n \"ti-ER\": \"\\xa4#,##0.00\",\r\n tk: \"#,##0.00\\xa0\\xa4\",\r\n to: \"\\xa4\\xa0#,##0.00\",\r\n tr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"tr-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n tt: \"#,##0.00\\xa0\\xa4\",\r\n twq: \"#,##0.00\\xa4\",\r\n tzm: \"#,##0.00\\xa0\\xa4\",\r\n ug: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n uk: \"#,##0.00\\xa0\\xa4\",\r\n und: \"\\xa4\\xa0#,##0.00\",\r\n ur: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ur-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n uz: \"#,##0.00\\xa0\\xa4\",\r\n \"uz-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"uz-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"uz-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n vai: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"vai-Latn\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"vai-Vaii\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n vi: \"#,##0.00\\xa0\\xa4\",\r\n vun: \"\\xa4#,##0.00\",\r\n wae: \"\\xa4\\xa0#,##0.00\",\r\n wo: \"\\xa4\\xa0#,##0.00\",\r\n xh: \"\\xa4#,##0.00\",\r\n xog: \"#,##0.00\\xa0\\xa4\",\r\n yav: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n yi: \"\\xa4\\xa0#,##0.00\",\r\n yo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yo-BJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n yrl: \"\\xa4\\xa0#,##0.00\",\r\n \"yrl-CO\": \"\\xa4\\xa0#,##0.00\",\r\n \"yrl-VE\": \"\\xa4\\xa0#,##0.00\",\r\n yue: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yue-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yue-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n zgh: \"#,##0.00\\xa4\",\r\n zh: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n zu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\"\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/intl/number.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dxConfig from \"../../core/config\";\r\nimport localizationCoreUtils from \"../core\";\r\nimport openXmlCurrencyFormat from \"../open_xml_currency_format\";\r\nimport accountingFormats from \"../cldr-data/accounting_formats\";\r\nvar CURRENCY_STYLES = [\"standard\", \"accounting\"];\r\nvar MAX_FRACTION_DIGITS = 20;\r\nvar detectCurrencySymbolRegex = /([^\\s0]+)?(\\s*)0*[.,]*0*(\\s*)([^\\s0]+)?/;\r\nvar formattersCache = {};\r\nvar getFormatter = format => {\r\n var key = localizationCoreUtils.locale() + \"/\" + JSON.stringify(format);\r\n if (!formattersCache[key]) {\r\n formattersCache[key] = new Intl.NumberFormat(localizationCoreUtils.locale(), format).format\r\n }\r\n return formattersCache[key]\r\n};\r\nvar getCurrencyFormatter = currency => new Intl.NumberFormat(localizationCoreUtils.locale(), {\r\n style: \"currency\",\r\n currency: currency\r\n});\r\nexport default {\r\n engine: function() {\r\n return \"intl\"\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return getFormatter(this._normalizeFormatConfig(format, formatConfig, value))(value)\r\n },\r\n _normalizeFormatConfig: function(format, formatConfig, value) {\r\n var config;\r\n if (\"decimal\" === format) {\r\n var fractionDigits = String(value).split(\".\")[1];\r\n config = {\r\n minimumIntegerDigits: formatConfig.precision || void 0,\r\n useGrouping: false,\r\n maximumFractionDigits: fractionDigits && fractionDigits.length,\r\n round: value < 0 ? \"ceil\" : \"floor\"\r\n }\r\n } else {\r\n config = this._getPrecisionConfig(formatConfig.precision)\r\n }\r\n if (\"percent\" === format) {\r\n config.style = \"percent\"\r\n } else if (\"currency\" === format) {\r\n var _formatConfig$useCurr;\r\n var useAccountingStyle = null !== (_formatConfig$useCurr = formatConfig.useCurrencyAccountingStyle) && void 0 !== _formatConfig$useCurr ? _formatConfig$useCurr : dxConfig().defaultUseCurrencyAccountingStyle;\r\n config.style = \"currency\";\r\n config.currency = formatConfig.currency || dxConfig().defaultCurrency;\r\n config.currencySign = CURRENCY_STYLES[+useAccountingStyle]\r\n }\r\n return config\r\n },\r\n _getPrecisionConfig: function(precision) {\r\n var config;\r\n if (null === precision) {\r\n config = {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: MAX_FRACTION_DIGITS\r\n }\r\n } else {\r\n config = {\r\n minimumFractionDigits: precision || 0,\r\n maximumFractionDigits: precision || 0\r\n }\r\n }\r\n return config\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (\"default\" === _format.currency) {\r\n _format.currency = dxConfig().defaultCurrency\r\n }\r\n if (!_format || \"function\" !== typeof _format && !_format.type && !_format.formatter) {\r\n return getFormatter(_format)(value)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _getCurrencySymbolInfo: function(currency) {\r\n var formatter = getCurrencyFormatter(currency);\r\n return this._extractCurrencySymbolInfo(formatter.format(0))\r\n },\r\n _extractCurrencySymbolInfo: function(currencyValueString) {\r\n var match = detectCurrencySymbolRegex.exec(currencyValueString) || [];\r\n var position = match[1] ? \"before\" : \"after\";\r\n var symbol = match[1] || match[4] || \"\";\r\n var delimiter = match[2] || match[3] || \"\";\r\n return {\r\n position: position,\r\n symbol: symbol,\r\n delimiter: delimiter\r\n }\r\n },\r\n getCurrencySymbol: function(currency) {\r\n if (!currency) {\r\n currency = dxConfig().defaultCurrency\r\n }\r\n var symbolInfo = this._getCurrencySymbolInfo(currency);\r\n return {\r\n symbol: symbolInfo.symbol\r\n }\r\n },\r\n getOpenXmlCurrencyFormat: function(currency) {\r\n var targetCurrency = currency || dxConfig().defaultCurrency;\r\n var currencySymbol = this._getCurrencySymbolInfo(targetCurrency).symbol;\r\n var closestAccountingFormat = localizationCoreUtils.getValueByClosestLocale(locale => accountingFormats[locale]);\r\n return openXmlCurrencyFormat(currencySymbol, closestAccountingFormat)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/number.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n escapeRegExp\r\n} from \"../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n getFormatter\r\n} from \"./ldml/number\";\r\nimport config from \"../core/config\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n toFixed\r\n} from \"./utils\";\r\nimport currencyLocalization from \"./currency\";\r\nimport intlNumberLocalization from \"./intl/number\";\r\nvar hasIntl = \"undefined\" !== typeof Intl;\r\nvar MAX_LARGE_NUMBER_POWER = 4;\r\nvar DECIMAL_BASE = 10;\r\nvar NUMERIC_FORMATS = [\"currency\", \"fixedpoint\", \"exponential\", \"percent\", \"decimal\"];\r\nvar LargeNumberFormatPostfixes = {\r\n 1: \"K\",\r\n 2: \"M\",\r\n 3: \"B\",\r\n 4: \"T\"\r\n};\r\nvar LargeNumberFormatPowers = {\r\n largenumber: \"auto\",\r\n thousands: 1,\r\n millions: 2,\r\n billions: 3,\r\n trillions: 4\r\n};\r\nvar numberLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n numericFormats: NUMERIC_FORMATS,\r\n defaultLargeNumberFormatPostfixes: LargeNumberFormatPostfixes,\r\n _parseNumberFormatString: function(formatType) {\r\n var formatObject = {};\r\n if (!formatType || \"string\" !== typeof formatType) {\r\n return\r\n }\r\n var formatList = formatType.toLowerCase().split(\" \");\r\n each(formatList, (index, value) => {\r\n if (NUMERIC_FORMATS.includes(value)) {\r\n formatObject.formatType = value\r\n } else if (value in LargeNumberFormatPowers) {\r\n formatObject.power = LargeNumberFormatPowers[value]\r\n }\r\n });\r\n if (formatObject.power && !formatObject.formatType) {\r\n formatObject.formatType = \"fixedpoint\"\r\n }\r\n if (formatObject.formatType) {\r\n return formatObject\r\n }\r\n },\r\n _calculateNumberPower: function(value, base, minPower, maxPower) {\r\n var number = Math.abs(value);\r\n var power = 0;\r\n if (number > 1) {\r\n while (number && number >= base && (void 0 === maxPower || power < maxPower)) {\r\n power++;\r\n number /= base\r\n }\r\n } else if (number > 0 && number < 1) {\r\n while (number < 1 && (void 0 === minPower || power > minPower)) {\r\n power--;\r\n number *= base\r\n }\r\n }\r\n return power\r\n },\r\n _getNumberByPower: function(number, power, base) {\r\n var result = number;\r\n while (power > 0) {\r\n result /= base;\r\n power--\r\n }\r\n while (power < 0) {\r\n result *= base;\r\n power++\r\n }\r\n return result\r\n },\r\n _formatNumber: function(value, formatObject, formatConfig) {\r\n if (\"auto\" === formatObject.power) {\r\n formatObject.power = this._calculateNumberPower(value, 1e3, 0, MAX_LARGE_NUMBER_POWER)\r\n }\r\n if (formatObject.power) {\r\n value = this._getNumberByPower(value, formatObject.power, 1e3)\r\n }\r\n var powerPostfix = this.defaultLargeNumberFormatPostfixes[formatObject.power] || \"\";\r\n var result = this._formatNumberCore(value, formatObject.formatType, formatConfig);\r\n result = result.replace(/(\\d|.$)(\\D*)$/, \"$1\" + powerPostfix + \"$2\");\r\n return result\r\n },\r\n _formatNumberExponential: function(value, formatConfig) {\r\n var power = this._calculateNumberPower(value, DECIMAL_BASE);\r\n var number = this._getNumberByPower(value, power, DECIMAL_BASE);\r\n if (void 0 === formatConfig.precision) {\r\n formatConfig.precision = 1\r\n }\r\n if (number.toFixed(formatConfig.precision || 0) >= DECIMAL_BASE) {\r\n power++;\r\n number /= DECIMAL_BASE\r\n }\r\n var powString = (power >= 0 ? \"+\" : \"\") + power.toString();\r\n return this._formatNumberCore(number, \"fixedpoint\", formatConfig) + \"E\" + powString\r\n },\r\n _addZeroes: function(value, precision) {\r\n var multiplier = Math.pow(10, precision);\r\n var sign = value < 0 ? \"-\" : \"\";\r\n value = (Math.abs(value) * multiplier >>> 0) / multiplier;\r\n var result = value.toString();\r\n while (result.length < precision) {\r\n result = \"0\" + result\r\n }\r\n return sign + result\r\n },\r\n _addGroupSeparators: function(value) {\r\n var parts = value.toString().split(\".\");\r\n return parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, config().thousandsSeparator) + (parts[1] ? config().decimalSeparator + parts[1] : \"\")\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this._formatNumberExponential(value, formatConfig)\r\n }\r\n if (\"decimal\" !== format && null !== formatConfig.precision) {\r\n formatConfig.precision = formatConfig.precision || 0\r\n }\r\n if (\"percent\" === format) {\r\n value *= 100\r\n }\r\n if (void 0 !== formatConfig.precision) {\r\n if (\"decimal\" === format) {\r\n value = this._addZeroes(value, formatConfig.precision)\r\n } else {\r\n value = null === formatConfig.precision ? value.toPrecision() : toFixed(value, formatConfig.precision)\r\n }\r\n }\r\n if (\"decimal\" !== format) {\r\n value = this._addGroupSeparators(value)\r\n } else {\r\n value = value.toString().replace(\".\", config().decimalSeparator)\r\n }\r\n if (\"percent\" === format) {\r\n value += \"%\"\r\n }\r\n return value\r\n },\r\n _normalizeFormat: function(format) {\r\n if (!format) {\r\n return {}\r\n }\r\n if (\"function\" === typeof format) {\r\n return format\r\n }\r\n if (!isPlainObject(format)) {\r\n format = {\r\n type: format\r\n }\r\n }\r\n return format\r\n },\r\n _getSeparators: function() {\r\n return {\r\n decimalSeparator: this.getDecimalSeparator(),\r\n thousandsSeparator: this.getThousandsSeparator()\r\n }\r\n },\r\n getThousandsSeparator: function() {\r\n return this.format(1e4, \"fixedPoint\")[2]\r\n },\r\n getDecimalSeparator: function() {\r\n return this.format(1.2, {\r\n type: \"fixedPoint\",\r\n precision: 1\r\n })[1]\r\n },\r\n convertDigits: function(value, toStandard) {\r\n var digits = this.format(90, \"decimal\");\r\n if (\"string\" !== typeof value || \"0\" === digits[1]) {\r\n return value\r\n }\r\n var fromFirstDigit = toStandard ? digits[1] : \"0\";\r\n var toFirstDigit = toStandard ? \"0\" : digits[1];\r\n var fromLastDigit = toStandard ? digits[0] : \"9\";\r\n var regExp = new RegExp(\"[\" + fromFirstDigit + \"-\" + fromLastDigit + \"]\", \"g\");\r\n return value.replace(regExp, char => String.fromCharCode(char.charCodeAt(0) + (toFirstDigit.charCodeAt(0) - fromFirstDigit.charCodeAt(0))))\r\n },\r\n getNegativeEtalonRegExp: function(format) {\r\n var separators = this._getSeparators();\r\n var digitalRegExp = new RegExp(\"[0-9\" + escapeRegExp(separators.decimalSeparator + separators.thousandsSeparator) + \"]+\", \"g\");\r\n var negativeEtalon = this.format(-1, format).replace(digitalRegExp, \"1\");\r\n [\"\\\\\", \"(\", \")\", \"[\", \"]\", \"*\", \"+\", \"$\", \"^\", \"?\", \"|\", \"{\", \"}\"].forEach(char => {\r\n negativeEtalon = negativeEtalon.replace(new RegExp(\"\\\\\".concat(char), \"g\"), \"\\\\\".concat(char))\r\n });\r\n negativeEtalon = negativeEtalon.replace(/ /g, \"\\\\s\");\r\n negativeEtalon = negativeEtalon.replace(/1/g, \".*\");\r\n return new RegExp(negativeEtalon, \"g\")\r\n },\r\n getSign: function(text, format) {\r\n if (!format) {\r\n if (\"-\" === text.replace(/[^0-9-]/g, \"\").charAt(0)) {\r\n return -1\r\n }\r\n return 1\r\n }\r\n var negativeEtalon = this.getNegativeEtalonRegExp(format);\r\n return text.match(negativeEtalon) ? -1 : 1\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n if (\"number\" === typeof _format) {\r\n return value\r\n }\r\n _format = _format && _format.formatter || _format;\r\n if (\"function\" === typeof _format) {\r\n return _format(value)\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (!_format.type) {\r\n _format.type = \"decimal\"\r\n }\r\n var numberConfig = this._parseNumberFormatString(_format.type);\r\n if (!numberConfig) {\r\n var formatterConfig = this._getSeparators();\r\n formatterConfig.unlimitedIntegerDigits = _format.unlimitedIntegerDigits;\r\n return this.convertDigits(getFormatter(_format.type, formatterConfig)(value))\r\n }\r\n return this._formatNumber(value, numberConfig, _format)\r\n },\r\n parse: function(text, format) {\r\n if (!text) {\r\n return\r\n }\r\n if (format && format.parser) {\r\n return format.parser(text)\r\n }\r\n text = this.convertDigits(text, true);\r\n if (format && \"string\" !== typeof format) {\r\n errors.log(\"W0011\")\r\n }\r\n var decimalSeparator = this.getDecimalSeparator();\r\n var regExp = new RegExp(\"[^0-9\" + escapeRegExp(decimalSeparator) + \"]\", \"g\");\r\n var cleanedText = text.replace(regExp, \"\").replace(decimalSeparator, \".\").replace(/\\.$/g, \"\");\r\n if (\".\" === cleanedText || \"\" === cleanedText) {\r\n return null\r\n }\r\n if (this._calcSignificantDigits(cleanedText) > 15) {\r\n return NaN\r\n }\r\n var parsed = +cleanedText * this.getSign(text, format);\r\n format = this._normalizeFormat(format);\r\n var formatConfig = this._parseNumberFormatString(format.type);\r\n var power = null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.power;\r\n if (power) {\r\n if (\"auto\" === power) {\r\n var match = text.match(/\\d(K|M|B|T)/);\r\n if (match) {\r\n power = Object.keys(LargeNumberFormatPostfixes).find(power => LargeNumberFormatPostfixes[power] === match[1])\r\n }\r\n }\r\n parsed *= Math.pow(10, 3 * power)\r\n }\r\n if (\"percent\" === (null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.formatType)) {\r\n parsed /= 100\r\n }\r\n return parsed\r\n },\r\n _calcSignificantDigits: function(text) {\r\n var [integer, fractional] = text.split(\".\");\r\n var calcDigitsAfterLeadingZeros = digits => {\r\n var index = -1;\r\n for (var i = 0; i < digits.length; i++) {\r\n if (\"0\" !== digits[i]) {\r\n index = i;\r\n break\r\n }\r\n }\r\n return index > -1 ? digits.length - index : 0\r\n };\r\n var result = 0;\r\n if (integer) {\r\n result += calcDigitsAfterLeadingZeros(integer.split(\"\"))\r\n }\r\n if (fractional) {\r\n result += calcDigitsAfterLeadingZeros(fractional.split(\"\").reverse())\r\n }\r\n return result\r\n }\r\n});\r\nnumberLocalization.inject(currencyLocalization);\r\nif (hasIntl) {\r\n numberLocalization.inject(intlNumberLocalization)\r\n}\r\nexport default numberLocalization;\r\n","/**\r\n * DevExtreme (esm/ui/validation_engine.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n EventsStrategy\r\n} from \"../core/events_strategy\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isDate,\r\n isBoolean,\r\n isObject,\r\n isFunction,\r\n isPromise,\r\n isNumeric\r\n} from \"../core/utils/type\";\r\nimport numberLocalization from \"../localization/number\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport {\r\n fromPromise,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar STATUS = {\r\n valid: \"valid\",\r\n invalid: \"invalid\",\r\n pending: \"pending\"\r\n};\r\nclass BaseRuleValidator {\r\n constructor() {\r\n this.NAME = \"base\"\r\n }\r\n defaultMessage(value) {\r\n return messageLocalization.getFormatter(\"validation-\".concat(this.NAME))(value)\r\n }\r\n defaultFormattedMessage(value) {\r\n return messageLocalization.getFormatter(\"validation-\".concat(this.NAME, \"-formatted\"))(value)\r\n }\r\n _isValueEmpty(value) {\r\n return !rulesValidators.required.validate(value, {})\r\n }\r\n validate(value, rule) {\r\n var valueArray = Array.isArray(value) ? value : [value];\r\n var result = true;\r\n if (valueArray.length) {\r\n valueArray.every(itemValue => {\r\n result = this._validate(itemValue, rule);\r\n return result\r\n })\r\n } else {\r\n result = this._validate(null, rule)\r\n }\r\n return result\r\n }\r\n}\r\nclass RequiredRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"required\"\r\n }\r\n _validate(value, rule) {\r\n if (!isDefined(value)) {\r\n return false\r\n }\r\n if (false === value) {\r\n return false\r\n }\r\n value = String(value);\r\n if (rule.trim || !isDefined(rule.trim)) {\r\n value = value.trim()\r\n }\r\n return \"\" !== value\r\n }\r\n}\r\nclass NumericRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"numeric\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n if (rule.useCultureSettings && isString(value)) {\r\n return !isNaN(numberLocalization.parse(value))\r\n } else {\r\n return isNumeric(value)\r\n }\r\n }\r\n}\r\nclass RangeRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"range\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validNumber = rulesValidators.numeric.validate(value, rule);\r\n var validValue = isDefined(value) && \"\" !== value;\r\n var number = validNumber ? parseFloat(value) : validValue && value.valueOf();\r\n var min = rule.min;\r\n var max = rule.max;\r\n if (!(validNumber || isDate(value)) && !validValue) {\r\n return false\r\n }\r\n if (isDefined(min)) {\r\n if (isDefined(max)) {\r\n return number >= min && number <= max\r\n }\r\n return number >= min\r\n } else if (isDefined(max)) {\r\n return number <= max\r\n } else {\r\n throw errors.Error(\"E0101\")\r\n }\r\n }\r\n}\r\nclass StringLengthRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"stringLength\"\r\n }\r\n _validate(value, rule) {\r\n var _value;\r\n value = String(null !== (_value = value) && void 0 !== _value ? _value : \"\");\r\n if (rule.trim || !isDefined(rule.trim)) {\r\n value = value.trim()\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.range.validate(value.length, extend({}, rule))\r\n }\r\n}\r\nclass CustomRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"custom\"\r\n }\r\n validate(value, rule) {\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validator = rule.validator;\r\n var dataGetter = validator && isFunction(validator.option) && validator.option(\"dataGetter\");\r\n var extraParams = isFunction(dataGetter) && dataGetter();\r\n var params = {\r\n value: value,\r\n validator: validator,\r\n rule: rule\r\n };\r\n if (extraParams) {\r\n extend(params, extraParams)\r\n }\r\n return rule.validationCallback(params)\r\n }\r\n}\r\nclass AsyncRuleValidator extends CustomRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"async\"\r\n }\r\n validate(value, rule) {\r\n if (!isDefined(rule.reevaluate)) {\r\n extend(rule, {\r\n reevaluate: true\r\n })\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validator = rule.validator;\r\n var dataGetter = validator && isFunction(validator.option) && validator.option(\"dataGetter\");\r\n var extraParams = isFunction(dataGetter) && dataGetter();\r\n var params = {\r\n value: value,\r\n validator: validator,\r\n rule: rule\r\n };\r\n if (extraParams) {\r\n extend(params, extraParams)\r\n }\r\n var callbackResult = rule.validationCallback(params);\r\n if (!isPromise(callbackResult)) {\r\n throw errors.Error(\"E0103\")\r\n }\r\n return this._getWrappedPromise(fromPromise(callbackResult).promise())\r\n }\r\n _getWrappedPromise(promise) {\r\n var deferred = new Deferred;\r\n promise.then((function(res) {\r\n deferred.resolve(res)\r\n }), (function(err) {\r\n var res = {\r\n isValid: false\r\n };\r\n if (isDefined(err)) {\r\n if (isString(err)) {\r\n res.message = err\r\n } else if (isObject(err) && isDefined(err.message) && isString(err.message)) {\r\n res.message = err.message\r\n }\r\n }\r\n deferred.resolve(res)\r\n }));\r\n return deferred.promise()\r\n }\r\n}\r\nclass CompareRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"compare\"\r\n }\r\n _validate(value, rule) {\r\n if (!rule.comparisonTarget) {\r\n throw errors.Error(\"E0102\")\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n extend(rule, {\r\n reevaluate: true\r\n });\r\n var otherValue = rule.comparisonTarget();\r\n var type = rule.comparisonType || \"==\";\r\n switch (type) {\r\n case \"==\":\r\n return value == otherValue;\r\n case \"!=\":\r\n return value != otherValue;\r\n case \"===\":\r\n return value === otherValue;\r\n case \"!==\":\r\n return value !== otherValue;\r\n case \">\":\r\n return value > otherValue;\r\n case \">=\":\r\n return value >= otherValue;\r\n case \"<\":\r\n return value < otherValue;\r\n case \"<=\":\r\n return value <= otherValue\r\n }\r\n }\r\n}\r\nclass PatternRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"pattern\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var pattern = rule.pattern;\r\n if (isString(pattern)) {\r\n pattern = new RegExp(pattern)\r\n }\r\n return pattern.test(value)\r\n }\r\n}\r\nclass EmailRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"email\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.pattern.validate(value, extend({}, rule, {\r\n pattern: /^[\\d\\w._-]+@[\\d\\w._-]+\\.[\\w]+$/i\r\n }))\r\n }\r\n}\r\nvar rulesValidators = {\r\n required: new RequiredRuleValidator,\r\n numeric: new NumericRuleValidator,\r\n range: new RangeRuleValidator,\r\n stringLength: new StringLengthRuleValidator,\r\n custom: new CustomRuleValidator,\r\n async: new AsyncRuleValidator,\r\n compare: new CompareRuleValidator,\r\n pattern: new PatternRuleValidator,\r\n email: new EmailRuleValidator\r\n};\r\nvar GroupConfig = Class.inherit({\r\n ctor(group) {\r\n this.group = group;\r\n this.validators = [];\r\n this._pendingValidators = [];\r\n this._onValidatorStatusChanged = this._onValidatorStatusChanged.bind(this);\r\n this._resetValidationInfo();\r\n this._eventsStrategy = new EventsStrategy(this)\r\n },\r\n validate() {\r\n var result = {\r\n isValid: true,\r\n brokenRules: [],\r\n validators: [],\r\n status: STATUS.valid,\r\n complete: null\r\n };\r\n this._unsubscribeFromAllChangeEvents();\r\n this._pendingValidators = [];\r\n this._resetValidationInfo();\r\n each(this.validators, (_, validator) => {\r\n var validatorResult = validator.validate();\r\n result.isValid = result.isValid && validatorResult.isValid;\r\n if (validatorResult.brokenRules) {\r\n result.brokenRules = result.brokenRules.concat(validatorResult.brokenRules)\r\n }\r\n result.validators.push(validator);\r\n if (validatorResult.status === STATUS.pending) {\r\n this._addPendingValidator(validator)\r\n }\r\n this._subscribeToChangeEvents(validator)\r\n });\r\n if (this._pendingValidators.length) {\r\n result.status = STATUS.pending\r\n } else {\r\n result.status = result.isValid ? STATUS.valid : STATUS.invalid;\r\n this._unsubscribeFromAllChangeEvents();\r\n this._raiseValidatedEvent(result)\r\n }\r\n this._updateValidationInfo(result);\r\n return extend({}, this._validationInfo.result)\r\n },\r\n _subscribeToChangeEvents(validator) {\r\n validator.on(\"validating\", this._onValidatorStatusChanged);\r\n validator.on(\"validated\", this._onValidatorStatusChanged)\r\n },\r\n _unsubscribeFromChangeEvents(validator) {\r\n validator.off(\"validating\", this._onValidatorStatusChanged);\r\n validator.off(\"validated\", this._onValidatorStatusChanged)\r\n },\r\n _unsubscribeFromAllChangeEvents() {\r\n each(this.validators, (_, validator) => {\r\n this._unsubscribeFromChangeEvents(validator)\r\n })\r\n },\r\n _updateValidationInfo(result) {\r\n this._validationInfo.result = result;\r\n if (result.status !== STATUS.pending) {\r\n return\r\n }\r\n if (!this._validationInfo.deferred) {\r\n this._validationInfo.deferred = new Deferred;\r\n this._validationInfo.result.complete = this._validationInfo.deferred.promise()\r\n }\r\n },\r\n _addPendingValidator(validator) {\r\n var foundValidator = grep(this._pendingValidators, (function(val) {\r\n return val === validator\r\n }))[0];\r\n if (!foundValidator) {\r\n this._pendingValidators.push(validator)\r\n }\r\n },\r\n _removePendingValidator(validator) {\r\n var index = this._pendingValidators.indexOf(validator);\r\n if (index >= 0) {\r\n this._pendingValidators.splice(index, 1)\r\n }\r\n },\r\n _orderBrokenRules(brokenRules) {\r\n var orderedRules = [];\r\n each(this.validators, (function(_, validator) {\r\n var foundRules = grep(brokenRules, (function(rule) {\r\n return rule.validator === validator\r\n }));\r\n if (foundRules.length) {\r\n orderedRules = orderedRules.concat(foundRules)\r\n }\r\n }));\r\n return orderedRules\r\n },\r\n _updateBrokenRules(result) {\r\n if (!this._validationInfo.result) {\r\n return\r\n }\r\n var brokenRules = this._validationInfo.result.brokenRules;\r\n var rules = grep(brokenRules, (function(rule) {\r\n return rule.validator !== result.validator\r\n }));\r\n if (result.brokenRules) {\r\n brokenRules = rules.concat(result.brokenRules)\r\n }\r\n this._validationInfo.result.brokenRules = this._orderBrokenRules(brokenRules)\r\n },\r\n _onValidatorStatusChanged(result) {\r\n if (result.status === STATUS.pending) {\r\n this._addPendingValidator(result.validator);\r\n return\r\n }\r\n this._resolveIfComplete(result)\r\n },\r\n _resolveIfComplete(result) {\r\n this._removePendingValidator(result.validator);\r\n this._updateBrokenRules(result);\r\n if (!this._pendingValidators.length) {\r\n this._unsubscribeFromAllChangeEvents();\r\n if (!this._validationInfo.result) {\r\n return\r\n }\r\n this._validationInfo.result.status = 0 === this._validationInfo.result.brokenRules.length ? STATUS.valid : STATUS.invalid;\r\n this._validationInfo.result.isValid = this._validationInfo.result.status === STATUS.valid;\r\n var res = extend({}, this._validationInfo.result, {\r\n complete: null\r\n });\r\n var deferred = this._validationInfo.deferred;\r\n this._validationInfo.deferred = null;\r\n this._raiseValidatedEvent(res);\r\n deferred && setTimeout(() => {\r\n deferred.resolve(res)\r\n })\r\n }\r\n },\r\n _raiseValidatedEvent(result) {\r\n this._eventsStrategy.fireEvent(\"validated\", [result])\r\n },\r\n _resetValidationInfo() {\r\n this._validationInfo = {\r\n result: null,\r\n deferred: null\r\n }\r\n },\r\n _synchronizeValidationInfo() {\r\n if (this._validationInfo.result) {\r\n this._validationInfo.result.validators = this.validators\r\n }\r\n },\r\n removeRegisteredValidator(validator) {\r\n var index = this.validators.indexOf(validator);\r\n if (index > -1) {\r\n this.validators.splice(index, 1);\r\n this._synchronizeValidationInfo();\r\n this._resolveIfComplete({\r\n validator: validator\r\n })\r\n }\r\n },\r\n registerValidator(validator) {\r\n if (!this.validators.includes(validator)) {\r\n this.validators.push(validator);\r\n this._synchronizeValidationInfo()\r\n }\r\n },\r\n reset() {\r\n each(this.validators, (function(_, validator) {\r\n validator.reset()\r\n }));\r\n this._pendingValidators = [];\r\n this._resetValidationInfo()\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nvar ValidationEngine = {\r\n groups: [],\r\n getGroupConfig(group) {\r\n var result = grep(this.groups, (function(config) {\r\n return config.group === group\r\n }));\r\n if (result.length) {\r\n return result[0]\r\n }\r\n },\r\n findGroup($element, model) {\r\n var _$element$data, _$element$data$dxComp;\r\n var hasValidationGroup = null === (_$element$data = $element.data()) || void 0 === _$element$data ? void 0 : null === (_$element$data$dxComp = _$element$data.dxComponents) || void 0 === _$element$data$dxComp ? void 0 : _$element$data$dxComp.includes(\"dxValidationGroup\");\r\n var validationGroup = hasValidationGroup && $element.dxValidationGroup(\"instance\");\r\n if (validationGroup) {\r\n return validationGroup\r\n }\r\n var $dxGroup = $element.parents(\".dx-validationgroup\").first();\r\n if ($dxGroup.length) {\r\n return $dxGroup.dxValidationGroup(\"instance\")\r\n }\r\n return model\r\n },\r\n initGroups() {\r\n this.groups = [];\r\n this.addGroup()\r\n },\r\n addGroup(group) {\r\n var config = this.getGroupConfig(group);\r\n if (!config) {\r\n config = new GroupConfig(group);\r\n this.groups.push(config)\r\n }\r\n return config\r\n },\r\n removeGroup(group) {\r\n var config = this.getGroupConfig(group);\r\n var index = this.groups.indexOf(config);\r\n if (index > -1) {\r\n this.groups.splice(index, 1)\r\n }\r\n return config\r\n },\r\n _setDefaultMessage(info) {\r\n var {\r\n rule: rule,\r\n validator: validator,\r\n name: name\r\n } = info;\r\n if (!isDefined(rule.message)) {\r\n if (validator.defaultFormattedMessage && isDefined(name)) {\r\n rule.message = validator.defaultFormattedMessage(name)\r\n } else {\r\n rule.message = validator.defaultMessage()\r\n }\r\n }\r\n },\r\n _addBrokenRule(info) {\r\n var {\r\n result: result,\r\n rule: rule\r\n } = info;\r\n if (!result.brokenRule) {\r\n result.brokenRule = rule\r\n }\r\n if (!result.brokenRules) {\r\n result.brokenRules = []\r\n }\r\n result.brokenRules.push(rule)\r\n },\r\n validate(value, rules, name) {\r\n var _rules$;\r\n var result = {\r\n name: name,\r\n value: value,\r\n brokenRule: null,\r\n brokenRules: null,\r\n isValid: true,\r\n validationRules: rules,\r\n pendingRules: null,\r\n status: STATUS.valid,\r\n complete: null\r\n };\r\n var validator = null === rules || void 0 === rules ? void 0 : null === (_rules$ = rules[0]) || void 0 === _rules$ ? void 0 : _rules$.validator;\r\n var asyncRuleItems = [];\r\n each(rules || [], (_, rule) => {\r\n var ruleValidator = rulesValidators[rule.type];\r\n var ruleValidationResult;\r\n if (ruleValidator) {\r\n if (isDefined(rule.isValid) && rule.value === value && !rule.reevaluate) {\r\n if (!rule.isValid) {\r\n result.isValid = false;\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n });\r\n return false\r\n }\r\n return true\r\n }\r\n rule.value = value;\r\n if (\"async\" === rule.type) {\r\n asyncRuleItems.push({\r\n rule: rule,\r\n ruleValidator: ruleValidator\r\n });\r\n return true\r\n }\r\n ruleValidationResult = ruleValidator.validate(value, rule);\r\n rule.isValid = ruleValidationResult;\r\n if (!ruleValidationResult) {\r\n result.isValid = false;\r\n this._setDefaultMessage({\r\n rule: rule,\r\n validator: ruleValidator,\r\n name: name\r\n });\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n })\r\n }\r\n if (!rule.isValid) {\r\n return false\r\n }\r\n } else {\r\n throw errors.Error(\"E0100\")\r\n }\r\n });\r\n if (result.isValid && !result.brokenRules && asyncRuleItems.length) {\r\n result = this._validateAsyncRules({\r\n value: value,\r\n items: asyncRuleItems,\r\n result: result,\r\n name: name\r\n })\r\n }\r\n this._synchronizeGroupValidationInfo(validator, result);\r\n result.status = result.pendingRules ? STATUS.pending : result.isValid ? STATUS.valid : STATUS.invalid;\r\n return result\r\n },\r\n _synchronizeGroupValidationInfo(validator, result) {\r\n var _result$brokenRules;\r\n if (!validator) {\r\n return\r\n }\r\n var groupConfig = ValidationEngine.getGroupConfig(validator._validationGroup);\r\n groupConfig._updateBrokenRules.call(groupConfig, {\r\n validator: validator,\r\n brokenRules: null !== (_result$brokenRules = result.brokenRules) && void 0 !== _result$brokenRules ? _result$brokenRules : []\r\n })\r\n },\r\n _validateAsyncRules(_ref) {\r\n var {\r\n result: result,\r\n value: value,\r\n items: items,\r\n name: name\r\n } = _ref;\r\n var asyncResults = [];\r\n each(items, (_, item) => {\r\n var validateResult = item.ruleValidator.validate(value, item.rule);\r\n if (!isPromise(validateResult)) {\r\n this._updateRuleConfig({\r\n rule: item.rule,\r\n ruleResult: this._getPatchedRuleResult(validateResult),\r\n validator: item.ruleValidator,\r\n name: name\r\n })\r\n } else {\r\n if (!result.pendingRules) {\r\n result.pendingRules = []\r\n }\r\n result.pendingRules.push(item.rule);\r\n var asyncResult = validateResult.then(res => {\r\n var ruleResult = this._getPatchedRuleResult(res);\r\n this._updateRuleConfig({\r\n rule: item.rule,\r\n ruleResult: ruleResult,\r\n validator: item.ruleValidator,\r\n name: name\r\n });\r\n return ruleResult\r\n });\r\n asyncResults.push(asyncResult)\r\n }\r\n });\r\n if (asyncResults.length) {\r\n result.complete = Promise.all(asyncResults).then(values => this._getAsyncRulesResult({\r\n result: result,\r\n values: values\r\n }))\r\n }\r\n return result\r\n },\r\n _updateRuleConfig(_ref2) {\r\n var {\r\n rule: rule,\r\n ruleResult: ruleResult,\r\n validator: validator,\r\n name: name\r\n } = _ref2;\r\n rule.isValid = ruleResult.isValid;\r\n if (!ruleResult.isValid) {\r\n if (isDefined(ruleResult.message) && isString(ruleResult.message) && ruleResult.message.length) {\r\n rule.message = ruleResult.message\r\n } else {\r\n this._setDefaultMessage({\r\n rule: rule,\r\n validator: validator,\r\n name: name\r\n })\r\n }\r\n }\r\n },\r\n _getPatchedRuleResult(ruleResult) {\r\n var result;\r\n if (isObject(ruleResult)) {\r\n result = extend({}, ruleResult);\r\n if (!isDefined(result.isValid)) {\r\n result.isValid = true\r\n }\r\n } else {\r\n result = {\r\n isValid: isBoolean(ruleResult) ? ruleResult : true\r\n }\r\n }\r\n return result\r\n },\r\n _getAsyncRulesResult(_ref3) {\r\n var {\r\n values: values,\r\n result: result\r\n } = _ref3;\r\n each(values, (index, val) => {\r\n if (false === val.isValid) {\r\n result.isValid = val.isValid;\r\n var rule = result.pendingRules[index];\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n })\r\n }\r\n });\r\n result.pendingRules = null;\r\n result.complete = null;\r\n result.status = result.isValid ? STATUS.valid : STATUS.invalid;\r\n return result\r\n },\r\n registerValidatorInGroup(group, validator) {\r\n var groupConfig = ValidationEngine.addGroup(group);\r\n groupConfig.registerValidator.call(groupConfig, validator)\r\n },\r\n _shouldRemoveGroup(group, validatorsInGroup) {\r\n var isDefaultGroup = void 0 === group;\r\n var isValidationGroupInstance = group && \"dxValidationGroup\" === group.NAME;\r\n return !isDefaultGroup && !isValidationGroupInstance && !validatorsInGroup.length\r\n },\r\n removeRegisteredValidator(group, validator) {\r\n var config = ValidationEngine.getGroupConfig(group);\r\n if (config) {\r\n config.removeRegisteredValidator.call(config, validator);\r\n var validatorsInGroup = config.validators;\r\n if (this._shouldRemoveGroup(group, validatorsInGroup)) {\r\n this.removeGroup(group)\r\n }\r\n }\r\n },\r\n initValidationOptions(options) {\r\n var initedOptions = {};\r\n if (options) {\r\n [\"isValid\", \"validationStatus\", \"validationError\", \"validationErrors\"].forEach(prop => {\r\n if (prop in options) {\r\n extend(initedOptions, this.synchronizeValidationOptions({\r\n name: prop,\r\n value: options[prop]\r\n }, options))\r\n }\r\n })\r\n }\r\n return initedOptions\r\n },\r\n synchronizeValidationOptions(_ref4, options) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref4;\r\n switch (name) {\r\n case \"validationStatus\":\r\n var isValid = value === STATUS.valid || value === STATUS.pending;\r\n return options.isValid !== isValid ? {\r\n isValid: isValid\r\n } : {};\r\n case \"isValid\":\r\n var {\r\n validationStatus: validationStatus\r\n } = options;\r\n var newStatus = validationStatus;\r\n if (value && validationStatus === STATUS.invalid) {\r\n newStatus = STATUS.valid\r\n } else if (!value && validationStatus !== STATUS.invalid) {\r\n newStatus = STATUS.invalid\r\n }\r\n return newStatus !== validationStatus ? {\r\n validationStatus: newStatus\r\n } : {};\r\n case \"validationErrors\":\r\n var validationError = !value || !value.length ? null : value[0];\r\n return options.validationError !== validationError ? {\r\n validationError: validationError\r\n } : {};\r\n case \"validationError\":\r\n var {\r\n validationErrors: validationErrors\r\n } = options;\r\n if (!value && validationErrors) {\r\n return {\r\n validationErrors: null\r\n }\r\n } else if (value && !validationErrors) {\r\n return {\r\n validationErrors: [value]\r\n }\r\n } else if (value && validationErrors && value !== validationErrors[0]) {\r\n validationErrors[0] = value;\r\n return {\r\n validationErrors: validationErrors.slice()\r\n }\r\n }\r\n }\r\n return {}\r\n },\r\n validateGroup(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw errors.Error(\"E0110\")\r\n }\r\n return groupConfig.validate()\r\n },\r\n resetGroup(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw errors.Error(\"E0110\")\r\n }\r\n return groupConfig.reset()\r\n }\r\n};\r\nValidationEngine.initGroups();\r\nexport default ValidationEngine;\r\n","/**\r\n * DevExtreme (esm/ui/validation_message.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getOuterWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Overlay from \"./overlay/ui.overlay\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n encodeHtml\r\n} from \"../core/utils/string\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../core/utils/position\";\r\nvar INVALID_MESSAGE = \"dx-invalid-message\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar INVALID_MESSAGE_ALWAYS = \"dx-invalid-message-always\";\r\nvar INVALID_MESSAGE_CONTENT = \"dx-invalid-message-content\";\r\nvar VALIDATION_MESSAGE_MIN_WIDTH = 100;\r\nvar ValidationMessage = Overlay.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n integrationOptions: {},\r\n templatesRenderAsynchronously: false,\r\n shading: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n hideOnOutsideClick: false,\r\n animation: null,\r\n visible: true,\r\n propagateOutsideClick: true,\r\n _checkParentVisibility: false,\r\n rtlEnabled: false,\r\n contentTemplate: this._renderInnerHtml,\r\n maxWidth: \"100%\",\r\n container: this.$element(),\r\n target: void 0,\r\n mode: \"auto\",\r\n validationErrors: void 0,\r\n positionSide: \"top\",\r\n boundary: void 0,\r\n offset: {\r\n h: 0,\r\n v: 0\r\n },\r\n contentId: void 0\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this.updateMaxWidth();\r\n this._updatePosition()\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this._ensureMessageNotEmpty();\r\n this._updatePositionByTarget();\r\n this._toggleModeClass();\r\n this._updateContentId()\r\n },\r\n _updatePositionByTarget: function() {\r\n var {\r\n target: target\r\n } = this.option();\r\n this.option(\"position.of\", target)\r\n },\r\n _ensureMessageNotEmpty: function() {\r\n this._textMarkup = this._getTextMarkup();\r\n var shouldShowMessage = this.option(\"visible\") && this._textMarkup;\r\n this._toggleVisibilityClasses(shouldShowMessage)\r\n },\r\n _toggleVisibilityClasses: function(visible) {\r\n if (visible) {\r\n this.$element().addClass(INVALID_MESSAGE);\r\n this.$wrapper().addClass(INVALID_MESSAGE)\r\n } else {\r\n this.$element().removeClass(INVALID_MESSAGE);\r\n this.$wrapper().removeClass(INVALID_MESSAGE)\r\n }\r\n },\r\n _updateContentId() {\r\n var {\r\n container: container,\r\n contentId: contentId\r\n } = this.option();\r\n var id = null !== contentId && void 0 !== contentId ? contentId : $(container).attr(\"aria-describedby\");\r\n this.$content().addClass(INVALID_MESSAGE_CONTENT).attr(\"id\", id)\r\n },\r\n _renderInnerHtml(element) {\r\n var $element = element && $(element);\r\n null === $element || void 0 === $element ? void 0 : $element.html(this._textMarkup)\r\n },\r\n _getTextMarkup() {\r\n var _this$option;\r\n var validationErrors = null !== (_this$option = this.option(\"validationErrors\")) && void 0 !== _this$option ? _this$option : [];\r\n var validationErrorMessage = \"\";\r\n validationErrors.forEach(err => {\r\n var _err$message;\r\n var separator = validationErrorMessage ? \"
\" : \"\";\r\n validationErrorMessage += separator + encodeHtml(null !== (_err$message = null === err || void 0 === err ? void 0 : err.message) && void 0 !== _err$message ? _err$message : \"\")\r\n });\r\n return validationErrorMessage\r\n },\r\n _toggleModeClass() {\r\n var mode = this.option(\"mode\");\r\n this.$wrapper().toggleClass(INVALID_MESSAGE_AUTO, \"auto\" === mode).toggleClass(INVALID_MESSAGE_ALWAYS, \"always\" === mode)\r\n },\r\n updateMaxWidth() {\r\n var target = this.option(\"target\");\r\n var targetWidth = getOuterWidth(target);\r\n var maxWidth = \"100%\";\r\n if (targetWidth) {\r\n maxWidth = Math.max(targetWidth, VALIDATION_MESSAGE_MIN_WIDTH)\r\n }\r\n this.option({\r\n maxWidth: maxWidth\r\n })\r\n },\r\n _getPositionsArray: function(positionSide, rtlSide) {\r\n switch (positionSide) {\r\n case \"top\":\r\n return [\"\".concat(rtlSide, \" bottom\"), \"\".concat(rtlSide, \" top\")];\r\n case \"left\":\r\n return [\"right\", \"left\"];\r\n case \"right\":\r\n return [\"left\", \"right\"];\r\n default:\r\n return [\"\".concat(rtlSide, \" top\"), \"\".concat(rtlSide, \" bottom\")]\r\n }\r\n },\r\n _updatePosition: function() {\r\n var {\r\n positionSide: positionSide,\r\n rtlEnabled: rtlEnabled,\r\n offset: componentOffset,\r\n boundary: boundary\r\n } = this.option();\r\n var rtlSide = getDefaultAlignment(rtlEnabled);\r\n var positions = this._getPositionsArray(positionSide, rtlSide);\r\n var offset = _extends({}, componentOffset);\r\n this.$element().addClass(\"dx-invalid-message-\".concat(positionSide));\r\n if (rtlEnabled && \"left\" !== positionSide && \"right\" !== positionSide) {\r\n offset.h = -offset.h\r\n }\r\n if (\"top\" === positionSide) {\r\n offset.v = -offset.v\r\n }\r\n if (\"left\" === positionSide) {\r\n offset.h = -offset.h\r\n }\r\n this.option(\"position\", {\r\n offset: offset,\r\n boundary: boundary,\r\n my: positions[0],\r\n at: positions[1],\r\n collision: \"none flip\"\r\n })\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"target\":\r\n this._updatePositionByTarget();\r\n this.updateMaxWidth();\r\n this.callBase(args);\r\n break;\r\n case \"boundary\":\r\n this.option(\"position.boundary\", value);\r\n break;\r\n case \"mode\":\r\n this._toggleModeClass(value);\r\n break;\r\n case \"rtlEnabled\":\r\n case \"offset\":\r\n case \"positionSide\":\r\n this.$element().removeClass(\"dx-invalid-message-\".concat(previousValue));\r\n this._updatePosition();\r\n break;\r\n case \"container\":\r\n this._updateContentId();\r\n this.callBase(args);\r\n break;\r\n case \"contentId\":\r\n this._updateContentId();\r\n break;\r\n case \"validationErrors\":\r\n this._ensureMessageNotEmpty();\r\n this._renderInnerHtml(this.$content());\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxValidationMessage\", ValidationMessage);\r\nexport default ValidationMessage;\r\n","/**\r\n * DevExtreme (esm/ui/widget/selectors.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar focusableFn = function(element, tabIndex) {\r\n if (!visible(element)) {\r\n return false\r\n }\r\n var nodeName = element.nodeName.toLowerCase();\r\n var isTabIndexNotNaN = !isNaN(tabIndex);\r\n var isDisabled = element.disabled;\r\n var isDefaultFocus = /^(input|select|textarea|button|object|iframe)$/.test(nodeName);\r\n var isHyperlink = \"a\" === nodeName;\r\n var isFocusable;\r\n var isContentEditable = element.isContentEditable;\r\n if (isDefaultFocus || isContentEditable) {\r\n isFocusable = !isDisabled\r\n } else if (isHyperlink) {\r\n isFocusable = element.href || isTabIndexNotNaN\r\n } else {\r\n isFocusable = isTabIndexNotNaN\r\n }\r\n return isFocusable\r\n};\r\n\r\nfunction visible(element) {\r\n var $element = $(element);\r\n return $element.is(\":visible\") && \"hidden\" !== $element.css(\"visibility\") && \"hidden\" !== $element.parents().css(\"visibility\")\r\n}\r\nexport var focusable = function(index, element) {\r\n return focusableFn(element, $(element).attr(\"tabIndex\"))\r\n};\r\nexport var tabbable = function(index, element) {\r\n var tabIndex = $(element).attr(\"tabIndex\");\r\n return (isNaN(tabIndex) || tabIndex >= 0) && focusableFn(element, tabIndex)\r\n};\r\nexport var focused = function($element) {\r\n var element = $($element).get(0);\r\n return domAdapter.getActiveElement(element) === element\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/widget/ui.errors.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../../core/utils/error\";\r\nimport errors from \"../../core/errors\";\r\nexport default errorUtils(errors.ERROR_MESSAGES, {\r\n E1001: \"Module '{0}'. Controller '{1}' is already registered\",\r\n E1002: \"Module '{0}'. Controller '{1}' does not inherit from DevExpress.ui.dxDataGrid.Controller\",\r\n E1003: \"Module '{0}'. View '{1}' is already registered\",\r\n E1004: \"Module '{0}'. View '{1}' does not inherit from DevExpress.ui.dxDataGrid.View\",\r\n E1005: \"Public method '{0}' is already registered\",\r\n E1006: \"Public method '{0}.{1}' does not exist\",\r\n E1007: \"State storing cannot be provided due to the restrictions of the browser\",\r\n E1010: \"The template does not contain the TextBox widget\",\r\n E1011: 'Items cannot be deleted from the List. Implement the \"remove\" function in the data store',\r\n E1012: \"Editing type '{0}' with the name '{1}' is unsupported\",\r\n E1016: \"Unexpected type of data source is provided for a lookup column\",\r\n E1018: \"The 'collapseAll' method cannot be called if you use a remote data source\",\r\n E1019: \"Search mode '{0}' is unavailable\",\r\n E1020: \"The type cannot be changed after initialization\",\r\n E1021: \"{0} '{1}' you are trying to remove does not exist\",\r\n E1022: 'The \"markers\" option is given an invalid value. Assign an array instead',\r\n E1023: 'The \"routes\" option is given an invalid value. Assign an array instead',\r\n E1025: \"This layout is too complex to render\",\r\n E1026: 'The \"calculateCustomSummary\" function is missing from a field whose \"summaryType\" option is set to \"custom\"',\r\n E1031: \"Unknown subscription in the Scheduler widget: '{0}'\",\r\n E1032: \"Unknown start date in an appointment: '{0}'\",\r\n E1033: \"Unknown step in the date navigator: '{0}'\",\r\n E1034: \"The browser does not implement an API for saving files\",\r\n E1035: \"The editor cannot be created: {0}\",\r\n E1037: \"Invalid structure of grouped data\",\r\n E1038: \"The browser does not support local storages for local web pages\",\r\n E1039: \"A cell's position cannot be calculated\",\r\n E1040: \"The '{0}' key value is not unique within the data array\",\r\n E1041: \"The '{0}' script is referenced after the DevExtreme scripts or not referenced at all\",\r\n E1042: \"{0} requires the key field to be specified\",\r\n E1043: \"Changes cannot be processed due to the incorrectly set key\",\r\n E1044: \"The key field specified by the keyExpr option does not match the key field specified in the data store\",\r\n E1045: \"Editing requires the key field to be specified in the data store\",\r\n E1046: \"The '{0}' key field is not found in data objects\",\r\n E1047: 'The \"{0}\" field is not found in the fields array',\r\n E1048: 'The \"{0}\" operation is not found in the filterOperations array',\r\n E1049: \"Column '{0}': filtering is allowed but the 'dataField' or 'name' option is not specified\",\r\n E1050: \"The validationRules option does not apply to third-party editors defined in the editCellTemplate\",\r\n E1051: 'HtmlEditor\\'s valueType is \"{0}\", but the {0} converter was not imported.',\r\n E1052: '{0} should have the \"dataSource\" option specified',\r\n E1053: 'The \"buttons\" option accepts an array that contains only objects or string values',\r\n E1054: \"All text editor buttons must have names\",\r\n E1055: 'One or several text editor buttons have invalid or non-unique \"name\" values',\r\n E1056: 'The {0} widget does not support buttons of the \"{1}\" type',\r\n E1058: 'The \"startDayHour\" must be earlier than the \"endDayHour\"',\r\n E1059: \"The following column names are not unique: {0}\",\r\n E1060: \"All editable columns must have names\",\r\n W1001: 'The \"key\" option cannot be modified after initialization',\r\n W1002: \"An item with the key '{0}' does not exist\",\r\n W1003: \"A group with the key '{0}' in which you are trying to select items does not exist\",\r\n W1004: \"The item '{0}' you are trying to select in the group '{1}' does not exist\",\r\n W1005: \"Due to column data types being unspecified, data has been loaded twice in order to apply initial filter settings. To resolve this issue, specify data types for all grid columns.\",\r\n W1006: \"The map service returned the following error: '{0}'\",\r\n W1007: \"No item with key {0} was found in the data source, but this key was used as the parent key for item {1}\",\r\n W1008: \"Cannot scroll to the '{0}' date because it does not exist on the current view\",\r\n W1009: \"Searching works only if data is specified using the dataSource option\",\r\n W1010: \"The capability to select all items works with source data of plain structure only\",\r\n W1011: 'The \"keyExpr\" option is not applied when dataSource is not an array',\r\n W1012: \"The '{0}' key field is not found in data objects\",\r\n W1013: 'The \"message\" field in the dialog component was renamed to \"messageHtml\". Change your code correspondingly. In addition, if you used HTML code in the message, make sure that it is secure',\r\n W1014: \"The Floating Action Button exceeds the recommended speed dial action count. If you need to display more speed dial actions, increase the maxSpeedDialActionCount option value in the global config.\",\r\n W1015: 'The \"cellDuration\" should divide the range from the \"startDayHour\" to the \"endDayHour\" into even intervals',\r\n W1016: \"The '{0}' field in the HTML Editor toolbar item configuration was renamed to '{1}'. Please make a corresponding change in your code.\",\r\n W1017: \"The 'key' property is not specified for a lookup data source. Please specify it to prevent requests for the entire dataset when users filter data.\",\r\n W1018: \"Infinite scrolling may not work properly with multiple selection. To use these features together, set 'selection.deferred' to true or set 'selection.selectAllMode' to 'page'.\",\r\n W1019: \"Filter query string exceeds maximum length limit of {0} characters.\",\r\n W1020: \"hideEvent is ignored when the shading property is true\",\r\n W1021: \"The '{0}' is not rendered because none of the DOM elements match the value of the \\\"container\\\" property.\"\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/widget/ui.search_box_mixin.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n stubComponent\r\n} from \"../../core/utils/stubs\";\r\nvar EditorClass = stubComponent(\"TextBox\");\r\nexport default {\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n searchMode: \"\",\r\n searchExpr: null,\r\n searchValue: \"\",\r\n searchEnabled: false,\r\n searchEditorOptions: {}\r\n })\r\n },\r\n _initMarkup: function() {\r\n this._renderSearch();\r\n this.callBase()\r\n },\r\n _renderSearch: function() {\r\n var $element = this.$element();\r\n var searchEnabled = this.option(\"searchEnabled\");\r\n var searchBoxClassName = this._addWidgetPrefix(\"search\");\r\n var rootElementClassName = this._addWidgetPrefix(\"with-search\");\r\n if (!searchEnabled) {\r\n $element.removeClass(rootElementClassName);\r\n this._removeSearchBox();\r\n return\r\n }\r\n var editorOptions = this._getSearchEditorOptions();\r\n if (this._searchEditor) {\r\n this._searchEditor.option(editorOptions)\r\n } else {\r\n $element.addClass(rootElementClassName);\r\n this._$searchEditorElement = $(\"
\").addClass(searchBoxClassName).prependTo($element);\r\n this._searchEditor = this._createComponent(this._$searchEditorElement, EditorClass, editorOptions)\r\n }\r\n },\r\n _removeSearchBox: function() {\r\n this._$searchEditorElement && this._$searchEditorElement.remove();\r\n delete this._$searchEditorElement;\r\n delete this._searchEditor\r\n },\r\n _getSearchEditorOptions: function() {\r\n var that = this;\r\n var userEditorOptions = that.option(\"searchEditorOptions\");\r\n var searchText = messageLocalization.format(\"Search\");\r\n return extend({\r\n mode: \"search\",\r\n placeholder: searchText,\r\n tabIndex: that.option(\"tabIndex\"),\r\n value: that.option(\"searchValue\"),\r\n valueChangeEvent: \"input\",\r\n inputAttr: {\r\n \"aria-label\": searchText\r\n },\r\n onValueChanged: function(e) {\r\n var searchTimeout = that.option(\"searchTimeout\");\r\n that._valueChangeDeferred = new Deferred;\r\n clearTimeout(that._valueChangeTimeout);\r\n that._valueChangeDeferred.done(function() {\r\n this.option(\"searchValue\", e.value)\r\n }.bind(that));\r\n if (e.event && \"input\" === e.event.type && searchTimeout) {\r\n that._valueChangeTimeout = setTimeout((function() {\r\n that._valueChangeDeferred.resolve()\r\n }), searchTimeout)\r\n } else {\r\n that._valueChangeDeferred.resolve()\r\n }\r\n }\r\n }, userEditorOptions)\r\n },\r\n _getAriaTarget: function() {\r\n if (this.option(\"searchEnabled\")) {\r\n return this._itemContainer(true)\r\n }\r\n return this.$element()\r\n },\r\n _focusTarget: function() {\r\n if (this.option(\"searchEnabled\")) {\r\n return this._itemContainer(true)\r\n }\r\n return this.callBase()\r\n },\r\n _updateFocusState: function(e, isFocused) {\r\n if (this.option(\"searchEnabled\")) {\r\n this._toggleFocusClass(isFocused, this.$element())\r\n }\r\n this.callBase(e, isFocused)\r\n },\r\n getOperationBySearchMode: function(searchMode) {\r\n return \"equals\" === searchMode ? \"=\" : searchMode\r\n },\r\n _cleanAria: function($target) {\r\n this.setAria({\r\n role: null,\r\n activedescendant: null\r\n }, $target);\r\n $target.attr(\"tabIndex\", null)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"searchEnabled\":\r\n case \"searchEditorOptions\":\r\n this._cleanAria(this.option(\"searchEnabled\") ? this.$element() : this._itemContainer());\r\n this._invalidate();\r\n break;\r\n case \"searchExpr\":\r\n case \"searchMode\":\r\n case \"searchValue\":\r\n if (!this._dataSource) {\r\n errors.log(\"W1009\");\r\n return\r\n }\r\n if (\"searchMode\" === args.name) {\r\n this._dataSource.searchOperation(this.getOperationBySearchMode(args.value))\r\n } else {\r\n this._dataSource[args.name](args.value)\r\n }\r\n this._dataSource.load();\r\n break;\r\n case \"searchTimeout\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n focus: function() {\r\n if (!this.option(\"focusedElement\") && this.option(\"searchEnabled\")) {\r\n this._searchEditor && this._searchEditor.focus();\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _refresh: function() {\r\n if (this._valueChangeDeferred) {\r\n this._valueChangeDeferred.resolve()\r\n }\r\n this.callBase()\r\n },\r\n setEditorClass: function(value) {\r\n EditorClass = value\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/stubs.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function stubComponent(componentName) {\r\n return class {\r\n constructor() {\r\n throw new Error(\"Module '\".concat(componentName, \"' not found\"))\r\n }\r\n static getInstance() {}\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/widget/ui.widget.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Action from \"../../core/action\";\r\nimport DOMComponent from \"../../core/dom_component\";\r\nimport {\r\n active,\r\n focus,\r\n hover,\r\n keyboard\r\n} from \"../../events/short\";\r\nimport {\r\n deferRender,\r\n deferRenderer,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focusable as focusableSelector\r\n} from \"./selectors\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n compare as compareVersions\r\n} from \"../../core/utils/version\";\r\nimport \"../../events/click\";\r\nimport \"../../events/core/emitter.feedback\";\r\nimport \"../../events/hover\";\r\n\r\nfunction setAttribute(name, value, target) {\r\n name = \"role\" === name || \"id\" === name ? name : \"aria-\".concat(name);\r\n value = isDefined(value) ? value.toString() : null;\r\n target.attr(name, value)\r\n}\r\nvar Widget = DOMComponent.inherit({\r\n _feedbackHideTimeout: 400,\r\n _feedbackShowTimeout: 30,\r\n _supportedKeys: () => ({}),\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n hoveredElement: null,\r\n isActive: false,\r\n disabled: false,\r\n visible: true,\r\n hint: void 0,\r\n activeStateEnabled: false,\r\n onContentReady: null,\r\n hoverStateEnabled: false,\r\n focusStateEnabled: false,\r\n tabIndex: 0,\r\n accessKey: void 0,\r\n onFocusIn: null,\r\n onFocusOut: null,\r\n onKeyboardHandled: null,\r\n ignoreParentReadOnly: false,\r\n useResizeObserver: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n var device = devices.real();\r\n var platform = device.platform;\r\n var version = device.version;\r\n return \"ios\" === platform && compareVersions(version, \"13.3\") <= 0\r\n },\r\n options: {\r\n useResizeObserver: false\r\n }\r\n }])\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initContentReadyAction()\r\n },\r\n _innerWidgetOptionChanged: function(innerWidget, args) {\r\n var options = Widget.getOptionsFromContainer(args);\r\n innerWidget && innerWidget.option(options);\r\n this._options.cache(args.name, options)\r\n },\r\n _bindInnerWidgetOptions(innerWidget, optionsContainer) {\r\n var syncOptions = () => this._options.silent(optionsContainer, extend({}, innerWidget.option()));\r\n syncOptions();\r\n innerWidget.on(\"optionChanged\", syncOptions)\r\n },\r\n _getAriaTarget() {\r\n return this._focusTarget()\r\n },\r\n _initContentReadyAction() {\r\n this._contentReadyAction = this._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initMarkup() {\r\n var {\r\n disabled: disabled,\r\n visible: visible\r\n } = this.option();\r\n this.$element().addClass(\"dx-widget\");\r\n this._toggleDisabledState(disabled);\r\n this._toggleVisibility(visible);\r\n this._renderHint();\r\n this._isFocusable() && this._renderFocusTarget();\r\n this.callBase()\r\n },\r\n _render() {\r\n this.callBase();\r\n this._renderContent();\r\n this._renderFocusState();\r\n this._attachFeedbackEvents();\r\n this._attachHoverEvents();\r\n this._toggleIndependentState()\r\n },\r\n _renderHint() {\r\n var {\r\n hint: hint\r\n } = this.option();\r\n this.$element().attr(\"title\", hint || null)\r\n },\r\n _renderContent() {\r\n deferRender(() => !this._disposed ? this._renderContentImpl() : void 0).done(() => !this._disposed ? this._fireContentReadyAction() : void 0)\r\n },\r\n _renderContentImpl: noop,\r\n _fireContentReadyAction: deferRenderer((function() {\r\n return this._contentReadyAction()\r\n })),\r\n _dispose() {\r\n this._contentReadyAction = null;\r\n this._detachKeyboardEvents();\r\n this.callBase()\r\n },\r\n _resetActiveState() {\r\n this._toggleActiveState(this._eventBindingTarget(), false)\r\n },\r\n _clean() {\r\n this._cleanFocusState();\r\n this._resetActiveState();\r\n this.callBase();\r\n this.$element().empty()\r\n },\r\n _toggleVisibility(visible) {\r\n this.$element().toggleClass(\"dx-state-invisible\", !visible);\r\n this.setAria(\"hidden\", !visible || void 0)\r\n },\r\n _renderFocusState() {\r\n this._attachKeyboardEvents();\r\n if (this._isFocusable()) {\r\n this._renderFocusTarget();\r\n this._attachFocusEvents();\r\n this._renderAccessKey()\r\n }\r\n },\r\n _renderAccessKey() {\r\n var $el = this._focusTarget();\r\n var {\r\n accessKey: accessKey\r\n } = this.option();\r\n $el.attr(\"accesskey\", accessKey)\r\n },\r\n _isFocusable() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n disabled: disabled\r\n } = this.option();\r\n return focusStateEnabled && !disabled\r\n },\r\n _eventBindingTarget() {\r\n return this.$element()\r\n },\r\n _focusTarget() {\r\n return this._getActiveElement()\r\n },\r\n _isFocusTarget: function(element) {\r\n var focusTargets = $(this._focusTarget()).toArray();\r\n return focusTargets.includes(element)\r\n },\r\n _getActiveElement() {\r\n var activeElement = this._eventBindingTarget();\r\n if (this._activeStateUnit) {\r\n return activeElement.find(this._activeStateUnit).not(\".dx-state-disabled\")\r\n }\r\n return activeElement\r\n },\r\n _renderFocusTarget() {\r\n var {\r\n tabIndex: tabIndex\r\n } = this.option();\r\n this._focusTarget().attr(\"tabIndex\", tabIndex)\r\n },\r\n _keyboardEventBindingTarget() {\r\n return this._eventBindingTarget()\r\n },\r\n _refreshFocusEvent() {\r\n this._detachFocusEvents();\r\n this._attachFocusEvents()\r\n },\r\n _focusEventTarget() {\r\n return this._focusTarget()\r\n },\r\n _focusInHandler(event) {\r\n if (!event.isDefaultPrevented()) {\r\n this._createActionByOption(\"onFocusIn\", {\r\n beforeExecute: () => this._updateFocusState(event, true),\r\n excludeValidators: [\"readOnly\"]\r\n })({\r\n event: event\r\n })\r\n }\r\n },\r\n _focusOutHandler(event) {\r\n if (!event.isDefaultPrevented()) {\r\n this._createActionByOption(\"onFocusOut\", {\r\n beforeExecute: () => this._updateFocusState(event, false),\r\n excludeValidators: [\"readOnly\", \"disabled\"]\r\n })({\r\n event: event\r\n })\r\n }\r\n },\r\n _updateFocusState(_ref, isFocused) {\r\n var {\r\n target: target\r\n } = _ref;\r\n if (this._isFocusTarget(target)) {\r\n this._toggleFocusClass(isFocused, $(target))\r\n }\r\n },\r\n _toggleFocusClass(isFocused, $element) {\r\n var $focusTarget = $element && $element.length ? $element : this._focusTarget();\r\n $focusTarget.toggleClass(\"dx-state-focused\", isFocused)\r\n },\r\n _hasFocusClass(element) {\r\n var $focusTarget = $(element || this._focusTarget());\r\n return $focusTarget.hasClass(\"dx-state-focused\")\r\n },\r\n _isFocused() {\r\n return this._hasFocusClass()\r\n },\r\n _getKeyboardListeners: () => [],\r\n _attachKeyboardEvents() {\r\n this._detachKeyboardEvents();\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n onKeyboardHandled: onKeyboardHandled\r\n } = this.option();\r\n var hasChildListeners = this._getKeyboardListeners().length;\r\n var hasKeyboardEventHandler = !!onKeyboardHandled;\r\n var shouldAttach = focusStateEnabled || hasChildListeners || hasKeyboardEventHandler;\r\n if (shouldAttach) {\r\n this._keyboardListenerId = keyboard.on(this._keyboardEventBindingTarget(), this._focusTarget(), opts => this._keyboardHandler(opts))\r\n }\r\n },\r\n _keyboardHandler(options, onlyChildProcessing) {\r\n if (!onlyChildProcessing) {\r\n var {\r\n originalEvent: originalEvent,\r\n keyName: keyName,\r\n which: which\r\n } = options;\r\n var keys = this._supportedKeys(originalEvent);\r\n var func = keys[keyName] || keys[which];\r\n if (void 0 !== func) {\r\n var handler = func.bind(this);\r\n var result = handler(originalEvent, options);\r\n if (!result) {\r\n return false\r\n }\r\n }\r\n }\r\n var keyboardListeners = this._getKeyboardListeners();\r\n var {\r\n onKeyboardHandled: onKeyboardHandled\r\n } = this.option();\r\n keyboardListeners.forEach(listener => listener && listener._keyboardHandler(options));\r\n onKeyboardHandled && onKeyboardHandled(options);\r\n return true\r\n },\r\n _refreshFocusState() {\r\n this._cleanFocusState();\r\n this._renderFocusState()\r\n },\r\n _cleanFocusState() {\r\n var $element = this._focusTarget();\r\n $element.removeAttr(\"tabIndex\");\r\n this._toggleFocusClass(false);\r\n this._detachFocusEvents();\r\n this._detachKeyboardEvents()\r\n },\r\n _detachKeyboardEvents() {\r\n keyboard.off(this._keyboardListenerId);\r\n this._keyboardListenerId = null\r\n },\r\n _attachHoverEvents() {\r\n var {\r\n hoverStateEnabled: hoverStateEnabled\r\n } = this.option();\r\n var selector = this._activeStateUnit;\r\n var $el = this._eventBindingTarget();\r\n hover.off($el, {\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n });\r\n if (hoverStateEnabled) {\r\n hover.on($el, new Action(_ref2 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref2;\r\n this._hoverStartHandler(event);\r\n this.option(\"hoveredElement\", $(element))\r\n }, {\r\n excludeValidators: [\"readOnly\"]\r\n }), event => {\r\n this.option(\"hoveredElement\", null);\r\n this._hoverEndHandler(event)\r\n }, {\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n },\r\n _attachFeedbackEvents() {\r\n var {\r\n activeStateEnabled: activeStateEnabled\r\n } = this.option();\r\n var selector = this._activeStateUnit;\r\n var $el = this._eventBindingTarget();\r\n active.off($el, {\r\n namespace: \"UIFeedback\",\r\n selector: selector\r\n });\r\n if (activeStateEnabled) {\r\n active.on($el, new Action(_ref3 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref3;\r\n return this._toggleActiveState($(element), true, event)\r\n }), new Action(_ref4 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref4;\r\n return this._toggleActiveState($(element), false, event)\r\n }, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }), {\r\n showTimeout: this._feedbackShowTimeout,\r\n hideTimeout: this._feedbackHideTimeout,\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n },\r\n _detachFocusEvents() {\r\n var $el = this._focusEventTarget();\r\n focus.off($el, {\r\n namespace: \"\".concat(this.NAME, \"Focus\")\r\n })\r\n },\r\n _attachFocusEvents() {\r\n var $el = this._focusEventTarget();\r\n focus.on($el, e => this._focusInHandler(e), e => this._focusOutHandler(e), {\r\n namespace: \"\".concat(this.NAME, \"Focus\"),\r\n isFocusable: (index, el) => $(el).is(focusableSelector)\r\n })\r\n },\r\n _hoverStartHandler: noop,\r\n _hoverEndHandler: noop,\r\n _toggleActiveState($element, value) {\r\n this.option(\"isActive\", value);\r\n $element.toggleClass(\"dx-state-active\", value)\r\n },\r\n _updatedHover() {\r\n var hoveredElement = this._options.silent(\"hoveredElement\");\r\n this._hover(hoveredElement, hoveredElement)\r\n },\r\n _findHoverTarget($el) {\r\n return $el && $el.closest(this._activeStateUnit || this._eventBindingTarget())\r\n },\r\n _hover($el, $previous) {\r\n var {\r\n hoverStateEnabled: hoverStateEnabled,\r\n disabled: disabled,\r\n isActive: isActive\r\n } = this.option();\r\n $previous = this._findHoverTarget($previous);\r\n $previous && $previous.toggleClass(\"dx-state-hover\", false);\r\n if ($el && hoverStateEnabled && !disabled && !isActive) {\r\n var newHoveredElement = this._findHoverTarget($el);\r\n newHoveredElement && newHoveredElement.toggleClass(\"dx-state-hover\", true)\r\n }\r\n },\r\n _toggleDisabledState(value) {\r\n this.$element().toggleClass(\"dx-state-disabled\", Boolean(value));\r\n this.setAria(\"disabled\", value || void 0)\r\n },\r\n _toggleIndependentState() {\r\n this.$element().toggleClass(\"dx-state-independent\", this.option(\"ignoreParentReadOnly\"))\r\n },\r\n _setWidgetOption(widgetName, args) {\r\n if (!this[widgetName]) {\r\n return\r\n }\r\n if (isPlainObject(args[0])) {\r\n each(args[0], (option, value) => this._setWidgetOption(widgetName, [option, value]));\r\n return\r\n }\r\n var optionName = args[0];\r\n var value = args[1];\r\n if (1 === args.length) {\r\n value = this.option(optionName)\r\n }\r\n var widgetOptionMap = this[\"\".concat(widgetName, \"OptionMap\")];\r\n this[widgetName].option(widgetOptionMap ? widgetOptionMap(optionName) : optionName, value)\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"disabled\":\r\n this._toggleDisabledState(value);\r\n this._updatedHover();\r\n this._refreshFocusState();\r\n break;\r\n case \"hint\":\r\n this._renderHint();\r\n break;\r\n case \"ignoreParentReadOnly\":\r\n this._toggleIndependentState();\r\n break;\r\n case \"activeStateEnabled\":\r\n this._attachFeedbackEvents();\r\n break;\r\n case \"hoverStateEnabled\":\r\n this._attachHoverEvents();\r\n this._updatedHover();\r\n break;\r\n case \"tabIndex\":\r\n case \"focusStateEnabled\":\r\n this._refreshFocusState();\r\n break;\r\n case \"onFocusIn\":\r\n case \"onFocusOut\":\r\n case \"useResizeObserver\":\r\n break;\r\n case \"accessKey\":\r\n this._renderAccessKey();\r\n break;\r\n case \"hoveredElement\":\r\n this._hover(value, previousValue);\r\n break;\r\n case \"isActive\":\r\n this._updatedHover();\r\n break;\r\n case \"visible\":\r\n this._toggleVisibility(value);\r\n if (this._isVisibilityChangeSupported()) {\r\n this._checkVisibilityChanged(value ? \"shown\" : \"hiding\")\r\n }\r\n break;\r\n case \"onKeyboardHandled\":\r\n this._attachKeyboardEvents();\r\n break;\r\n case \"onContentReady\":\r\n this._initContentReadyAction();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _isVisible() {\r\n var {\r\n visible: visible\r\n } = this.option();\r\n return this.callBase() && visible\r\n },\r\n beginUpdate() {\r\n this._ready(false);\r\n this.callBase()\r\n },\r\n endUpdate() {\r\n this.callBase();\r\n if (this._initialized) {\r\n this._ready(true)\r\n }\r\n },\r\n _ready(value) {\r\n if (0 === arguments.length) {\r\n return this._isReady\r\n }\r\n this._isReady = value\r\n },\r\n setAria() {\r\n if (!isPlainObject(arguments.length <= 0 ? void 0 : arguments[0])) {\r\n setAttribute(arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 1 ? void 0 : arguments[1], (arguments.length <= 2 ? void 0 : arguments[2]) || this._getAriaTarget())\r\n } else {\r\n var target = (arguments.length <= 1 ? void 0 : arguments[1]) || this._getAriaTarget();\r\n each(arguments.length <= 0 ? void 0 : arguments[0], (name, value) => setAttribute(name, value, target))\r\n }\r\n },\r\n isReady() {\r\n return this._ready()\r\n },\r\n repaint() {\r\n this._refresh()\r\n },\r\n focus() {\r\n focus.trigger(this._focusTarget())\r\n },\r\n registerKeyHandler(key, handler) {\r\n var currentKeys = this._supportedKeys();\r\n this._supportedKeys = () => extend(currentKeys, {\r\n [key]: handler\r\n })\r\n }\r\n});\r\nWidget.getOptionsFromContainer = _ref5 => {\r\n var {\r\n name: name,\r\n fullName: fullName,\r\n value: value\r\n } = _ref5;\r\n var options = {};\r\n if (name === fullName) {\r\n options = value\r\n } else {\r\n var option = fullName.split(\".\").pop();\r\n options[option] = value\r\n }\r\n return options\r\n};\r\nexport default Widget;\r\n","/**\r\n * DevExtreme (esm/ui/widget/utils.ink_ripple.js)\r\n * Version: 22.2.3\r\n * Build date: Mon Dec 05 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nvar INKRIPPLE_CLASS = \"dx-inkripple\";\r\nvar INKRIPPLE_WAVE_CLASS = \"dx-inkripple-wave\";\r\nvar INKRIPPLE_SHOWING_CLASS = \"dx-inkripple-showing\";\r\nvar INKRIPPLE_HIDING_CLASS = \"dx-inkripple-hiding\";\r\nvar DEFAULT_WAVE_SIZE_COEFFICIENT = 2;\r\nvar MAX_WAVE_SIZE = 4e3;\r\nvar ANIMATION_DURATION = 300;\r\nvar HOLD_ANIMATION_DURATION = 1e3;\r\nvar DEFAULT_WAVE_INDEX = 0;\r\nexport var initConfig = function() {\r\n var config = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var {\r\n useHoldAnimation: useHoldAnimation,\r\n waveSizeCoefficient: waveSizeCoefficient,\r\n isCentered: isCentered,\r\n wavesNumber: wavesNumber\r\n } = config;\r\n return {\r\n waveSizeCoefficient: waveSizeCoefficient || DEFAULT_WAVE_SIZE_COEFFICIENT,\r\n isCentered: isCentered || false,\r\n wavesNumber: wavesNumber || 1,\r\n durations: getDurations(null !== useHoldAnimation && void 0 !== useHoldAnimation ? useHoldAnimation : true)\r\n }\r\n};\r\nexport var render = function(args) {\r\n var config = initConfig(args);\r\n return {\r\n showWave: showWave.bind(this, config),\r\n hideWave: hideWave.bind(this, config)\r\n }\r\n};\r\nvar getInkRipple = function(element) {\r\n var result = element.children(\".\" + INKRIPPLE_CLASS);\r\n if (0 === result.length) {\r\n result = $(\"
\").addClass(INKRIPPLE_CLASS).appendTo(element)\r\n }\r\n return result\r\n};\r\nvar getWaves = function(element, wavesNumber) {\r\n var inkRipple = getInkRipple($(element));\r\n var result = inkRipple.children(\".\" + INKRIPPLE_WAVE_CLASS).toArray();\r\n for (var i = result.length; i < wavesNumber; i++) {\r\n var $currentWave = $(\"
\").appendTo(inkRipple).addClass(INKRIPPLE_WAVE_CLASS);\r\n result.push($currentWave[0])\r\n }\r\n return $(result)\r\n};\r\nvar getWaveStyleConfig = function(args, config) {\r\n var element = $(config.element);\r\n var elementWidth = getOuterWidth(element);\r\n var elementHeight = getOuterHeight(element);\r\n var elementDiagonal = parseInt(Math.sqrt(elementWidth * elementWidth + elementHeight * elementHeight));\r\n var waveSize = Math.min(MAX_WAVE_SIZE, parseInt(elementDiagonal * args.waveSizeCoefficient));\r\n var left;\r\n var top;\r\n if (args.isCentered) {\r\n left = (elementWidth - waveSize) / 2;\r\n top = (elementHeight - waveSize) / 2\r\n } else {\r\n var event = config.event;\r\n var position = element.offset();\r\n var x = event.pageX - position.left;\r\n var y = event.pageY - position.top;\r\n left = x - waveSize / 2;\r\n top = y - waveSize / 2\r\n }\r\n return {\r\n left: left,\r\n top: top,\r\n height: waveSize,\r\n width: waveSize\r\n }\r\n};\r\nexport function showWave(args, config) {\r\n var $wave = getWaves(config.element, args.wavesNumber).eq(config.wave || DEFAULT_WAVE_INDEX);\r\n args.hidingTimeout && clearTimeout(args.hidingTimeout);\r\n hideSelectedWave($wave);\r\n $wave.css(getWaveStyleConfig(args, config));\r\n args.showingTimeout = setTimeout(showingWaveHandler.bind(this, args, $wave), 0)\r\n}\r\n\r\nfunction showingWaveHandler(args, $wave) {\r\n var durationCss = args.durations.showingScale + \"ms\";\r\n $wave.addClass(INKRIPPLE_SHOWING_CLASS).css(\"transitionDuration\", durationCss)\r\n}\r\n\r\nfunction getDurations(useHoldAnimation) {\r\n return {\r\n showingScale: useHoldAnimation ? HOLD_ANIMATION_DURATION : ANIMATION_DURATION,\r\n hidingScale: ANIMATION_DURATION,\r\n hidingOpacity: ANIMATION_DURATION\r\n }\r\n}\r\n\r\nfunction hideSelectedWave($wave) {\r\n $wave.removeClass(INKRIPPLE_HIDING_CLASS).css(\"transitionDuration\", \"\")\r\n}\r\nexport function hideWave(args, config) {\r\n args.showingTimeout && clearTimeout(args.showingTimeout);\r\n var $wave = getWaves(config.element, config.wavesNumber).eq(config.wave || DEFAULT_WAVE_INDEX);\r\n var durations = args.durations;\r\n var durationCss = durations.hidingScale + \"ms, \" + durations.hidingOpacity + \"ms\";\r\n $wave.addClass(INKRIPPLE_HIDING_CLASS).removeClass(INKRIPPLE_SHOWING_CLASS).css(\"transitionDuration\", durationCss);\r\n var animationDuration = Math.max(durations.hidingScale, durations.hidingOpacity);\r\n args.hidingTimeout = setTimeout(hideSelectedWave.bind(this, $wave), animationDuration)\r\n}\r\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import { getFlagsForElementVnode, createComponentVNode, createFragment, createVNode } from 'inferno';\n\nfunction isNullOrUndef(o) {\n return o === void 0 || o === null;\n}\nfunction isString(o) {\n return typeof o === 'string';\n}\nfunction isUndefined(o) {\n return o === void 0;\n}\n\nvar componentHooks = {\n onComponentDidMount: 1,\n onComponentDidUpdate: 1,\n onComponentShouldUpdate: 1,\n onComponentWillMount: 1,\n onComponentWillUnmount: 1,\n onComponentWillUpdate: 1\n};\nfunction createElement(type, props, _children) {\n var arguments$1 = arguments;\n var children;\n var ref = null;\n var key = null;\n var className = null;\n var flags = 0;\n var newProps;\n var childLen = arguments.length - 2;\n if (childLen === 1) {\n children = _children;\n }\n else if (childLen > 1) {\n children = [];\n while (childLen-- > 0) {\n children[childLen] = arguments$1[childLen + 2];\n }\n }\n if (isString(type)) {\n flags = getFlagsForElementVnode(type);\n if (!isNullOrUndef(props)) {\n newProps = {};\n for (var prop in props) {\n if (prop === 'className' || prop === 'class') {\n className = props[prop];\n }\n else if (prop === 'key') {\n key = props.key;\n }\n else if (prop === 'children' && isUndefined(children)) {\n children = props.children; // always favour children args over props\n }\n else if (prop === 'ref') {\n ref = props.ref;\n }\n else {\n if (prop === 'contenteditable') {\n flags |= 4096 /* ContentEditable */;\n }\n newProps[prop] = props[prop];\n }\n }\n }\n }\n else {\n flags = 2 /* ComponentUnknown */;\n if (!isUndefined(children)) {\n if (!props) {\n props = {};\n }\n props.children = children;\n }\n if (!isNullOrUndef(props)) {\n newProps = {};\n for (var prop$1 in props) {\n if (prop$1 === 'key') {\n key = props.key;\n }\n else if (prop$1 === 'ref') {\n ref = props.ref;\n }\n else if (componentHooks[prop$1] === 1) {\n if (!ref) {\n ref = {};\n }\n ref[prop$1] = props[prop$1];\n }\n else {\n newProps[prop$1] = props[prop$1];\n }\n }\n }\n return createComponentVNode(flags, type, newProps, key, ref);\n }\n if (flags & 8192 /* Fragment */) {\n return createFragment(childLen === 1 ? [children] : children, 0 /* UnknownChildren */, key);\n }\n return createVNode(flags, type, className, children, 0 /* UnknownChildren */, newProps, key, ref);\n}\n\nexport { createElement };\n","var isArray = Array.isArray;\nfunction isStringOrNumber(o) {\n var type = typeof o;\n return type === 'string' || type === 'number';\n}\nfunction isNullOrUndef(o) {\n return o === void 0 || o === null;\n}\nfunction isInvalid(o) {\n return o === null || o === false || o === true || o === void 0;\n}\nfunction isFunction(o) {\n return typeof o === 'function';\n}\nfunction isString(o) {\n return typeof o === 'string';\n}\nfunction isNumber(o) {\n return typeof o === 'number';\n}\nfunction isNull(o) {\n return o === null;\n}\nfunction isUndefined(o) {\n return o === void 0;\n}\nfunction combineFrom(first, second) {\n var out = {};\n if (first) {\n for (var key in first) {\n out[key] = first[key];\n }\n }\n if (second) {\n for (var key$1 in second) {\n out[key$1] = second[key$1];\n }\n }\n return out;\n}\n\n/**\n * Links given data to event as first parameter\n * @param {*} data data to be linked, it will be available in function as first parameter\n * @param {Function} event Function to be called when event occurs\n * @returns {{data: *, event: Function}}\n */\nfunction linkEvent(data, event) {\n if (isFunction(event)) {\n return { data: data, event: event };\n }\n return null; // Return null when event is invalid, to avoid creating unnecessary event handlers\n}\n// object.event should always be function, otherwise its badly created object.\nfunction isLinkEventObject(o) {\n return !isNull(o) && typeof o === 'object';\n}\n\n// We need EMPTY_OBJ defined in one place.\n// Its used for comparison so we cant inline it into shared\nvar EMPTY_OBJ = {};\nvar Fragment = '$F';\nfunction normalizeEventName(name) {\n return name.substr(2).toLowerCase();\n}\nfunction appendChild(parentDOM, dom) {\n parentDOM.appendChild(dom);\n}\nfunction insertOrAppend(parentDOM, newNode, nextNode) {\n if (isNull(nextNode)) {\n appendChild(parentDOM, newNode);\n }\n else {\n parentDOM.insertBefore(newNode, nextNode);\n }\n}\nfunction documentCreateElement(tag, isSVG) {\n if (isSVG) {\n return document.createElementNS('http://www.w3.org/2000/svg', tag);\n }\n return document.createElement(tag);\n}\nfunction replaceChild(parentDOM, newDom, lastDom) {\n parentDOM.replaceChild(newDom, lastDom);\n}\nfunction removeChild(parentDOM, childNode) {\n parentDOM.removeChild(childNode);\n}\nfunction callAll(arrayFn) {\n for (var i = 0; i < arrayFn.length; i++) {\n arrayFn[i]();\n }\n}\nfunction findChildVNode(vNode, startEdge, flags) {\n var children = vNode.children;\n if (flags & 4 /* ComponentClass */) {\n return children.$LI;\n }\n if (flags & 8192 /* Fragment */) {\n return vNode.childFlags === 2 /* HasVNodeChildren */ ? children : children[startEdge ? 0 : children.length - 1];\n }\n return children;\n}\nfunction findDOMfromVNode(vNode, startEdge) {\n var flags;\n while (vNode) {\n flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n return vNode.dom;\n }\n vNode = findChildVNode(vNode, startEdge, flags);\n }\n return null;\n}\nfunction removeVNodeDOM(vNode, parentDOM) {\n do {\n var flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n removeChild(parentDOM, vNode.dom);\n return;\n }\n var children = vNode.children;\n if (flags & 4 /* ComponentClass */) {\n vNode = children.$LI;\n }\n if (flags & 8 /* ComponentFunction */) {\n vNode = children;\n }\n if (flags & 8192 /* Fragment */) {\n if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n vNode = children;\n }\n else {\n for (var i = 0, len = children.length; i < len; ++i) {\n removeVNodeDOM(children[i], parentDOM);\n }\n return;\n }\n }\n } while (vNode);\n}\nfunction moveVNodeDOM(vNode, parentDOM, nextNode) {\n do {\n var flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n insertOrAppend(parentDOM, vNode.dom, nextNode);\n return;\n }\n var children = vNode.children;\n if (flags & 4 /* ComponentClass */) {\n vNode = children.$LI;\n }\n if (flags & 8 /* ComponentFunction */) {\n vNode = children;\n }\n if (flags & 8192 /* Fragment */) {\n if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n vNode = children;\n }\n else {\n for (var i = 0, len = children.length; i < len; ++i) {\n moveVNodeDOM(children[i], parentDOM, nextNode);\n }\n return;\n }\n }\n } while (vNode);\n}\nfunction createDerivedState(instance, nextProps, state) {\n if (instance.constructor.getDerivedStateFromProps) {\n return combineFrom(state, instance.constructor.getDerivedStateFromProps(nextProps, state));\n }\n return state;\n}\nvar renderCheck = {\n v: false\n};\nvar options = {\n componentComparator: null,\n createVNode: null,\n renderComplete: null\n};\nfunction setTextContent(dom, children) {\n dom.textContent = children;\n}\n// Calling this function assumes, nextValue is linkEvent\nfunction isLastValueSameLinkEvent(lastValue, nextValue) {\n return (isLinkEventObject(lastValue) &&\n lastValue.event === nextValue.event &&\n lastValue.data === nextValue.data);\n}\nfunction mergeUnsetProperties(to, from) {\n for (var propName in from) {\n if (isUndefined(to[propName])) {\n to[propName] = from[propName];\n }\n }\n return to;\n}\nfunction safeCall1(method, arg1) {\n return !!isFunction(method) && (method(arg1), true);\n}\n\nvar keyPrefix = '$';\nfunction V(childFlags, children, className, flags, key, props, ref, type) {\n this.childFlags = childFlags;\n this.children = children;\n this.className = className;\n this.dom = null;\n this.flags = flags;\n this.key = key === void 0 ? null : key;\n this.props = props === void 0 ? null : props;\n this.ref = ref === void 0 ? null : ref;\n this.type = type;\n}\nfunction createVNode(flags, type, className, children, childFlags, props, key, ref) {\n var childFlag = childFlags === void 0 ? 1 /* HasInvalidChildren */ : childFlags;\n var vNode = new V(childFlag, children, className, flags, key, props, ref, type);\n if (options.createVNode) {\n options.createVNode(vNode);\n }\n if (childFlag === 0 /* UnknownChildren */) {\n normalizeChildren(vNode, vNode.children);\n }\n return vNode;\n}\nfunction mergeDefaultHooks(flags, type, ref) {\n if (flags & 4 /* ComponentClass */) {\n return ref;\n }\n var defaultHooks = (flags & 32768 /* ForwardRef */ ? type.render : type).defaultHooks;\n if (isNullOrUndef(defaultHooks)) {\n return ref;\n }\n if (isNullOrUndef(ref)) {\n return defaultHooks;\n }\n return mergeUnsetProperties(ref, defaultHooks);\n}\nfunction mergeDefaultProps(flags, type, props) {\n // set default props\n var defaultProps = (flags & 32768 /* ForwardRef */ ? type.render : type).defaultProps;\n if (isNullOrUndef(defaultProps)) {\n return props;\n }\n if (isNullOrUndef(props)) {\n return combineFrom(defaultProps, null);\n }\n return mergeUnsetProperties(props, defaultProps);\n}\nfunction resolveComponentFlags(flags, type) {\n if (flags & 12 /* ComponentKnown */) {\n return flags;\n }\n if (type.prototype && type.prototype.render) {\n return 4 /* ComponentClass */;\n }\n if (type.render) {\n return 32776 /* ForwardRefComponent */;\n }\n return 8 /* ComponentFunction */;\n}\nfunction createComponentVNode(flags, type, props, key, ref) {\n flags = resolveComponentFlags(flags, type);\n var vNode = new V(1 /* HasInvalidChildren */, null, null, flags, key, mergeDefaultProps(flags, type, props), mergeDefaultHooks(flags, type, ref), type);\n if (options.createVNode) {\n options.createVNode(vNode);\n }\n return vNode;\n}\nfunction createTextVNode(text, key) {\n return new V(1 /* HasInvalidChildren */, isNullOrUndef(text) || text === true || text === false ? '' : text, null, 16 /* Text */, key, null, null, null);\n}\nfunction createFragment(children, childFlags, key) {\n var fragment = createVNode(8192 /* Fragment */, 8192 /* Fragment */, null, children, childFlags, null, key, null);\n switch (fragment.childFlags) {\n case 1 /* HasInvalidChildren */:\n fragment.children = createVoidVNode();\n fragment.childFlags = 2 /* HasVNodeChildren */;\n break;\n case 16 /* HasTextChildren */:\n fragment.children = [createTextVNode(children)];\n fragment.childFlags = 4 /* HasNonKeyedChildren */;\n break;\n }\n return fragment;\n}\nfunction normalizeProps(vNode) {\n var props = vNode.props;\n if (props) {\n var flags = vNode.flags;\n if (flags & 481 /* Element */) {\n if (props.children !== void 0 && isNullOrUndef(vNode.children)) {\n normalizeChildren(vNode, props.children);\n }\n if (props.className !== void 0) {\n if (isNullOrUndef(vNode.className)) {\n vNode.className = props.className || null;\n }\n props.className = undefined;\n }\n }\n if (props.key !== void 0) {\n vNode.key = props.key;\n props.key = undefined;\n }\n if (props.ref !== void 0) {\n if (flags & 8 /* ComponentFunction */) {\n vNode.ref = combineFrom(vNode.ref, props.ref);\n }\n else {\n vNode.ref = props.ref;\n }\n props.ref = undefined;\n }\n }\n return vNode;\n}\n/*\n * Fragment is different than normal vNode,\n * because when it needs to be cloned we need to clone its children too\n * But not normalize, because otherwise those possibly get KEY and re-mount\n */\nfunction cloneFragment(vNodeToClone) {\n var oldChildren = vNodeToClone.children;\n var childFlags = vNodeToClone.childFlags;\n return createFragment(childFlags === 2 /* HasVNodeChildren */ ? directClone(oldChildren) : oldChildren.map(directClone), childFlags, vNodeToClone.key);\n}\nfunction directClone(vNodeToClone) {\n var flags = vNodeToClone.flags & -16385 /* ClearInUse */;\n var props = vNodeToClone.props;\n if (flags & 14 /* Component */) {\n if (!isNull(props)) {\n var propsToClone = props;\n props = {};\n for (var key in propsToClone) {\n props[key] = propsToClone[key];\n }\n }\n }\n if ((flags & 8192 /* Fragment */) === 0) {\n return new V(vNodeToClone.childFlags, vNodeToClone.children, vNodeToClone.className, flags, vNodeToClone.key, props, vNodeToClone.ref, vNodeToClone.type);\n }\n return cloneFragment(vNodeToClone);\n}\nfunction createVoidVNode() {\n return createTextVNode('', null);\n}\nfunction createPortal(children, container) {\n var normalizedRoot = normalizeRoot(children);\n return createVNode(1024 /* Portal */, 1024 /* Portal */, null, normalizedRoot, 0 /* UnknownChildren */, null, normalizedRoot.key, container);\n}\nfunction _normalizeVNodes(nodes, result, index, currentKey) {\n for (var len = nodes.length; index < len; index++) {\n var n = nodes[index];\n if (!isInvalid(n)) {\n var newKey = currentKey + keyPrefix + index;\n if (isArray(n)) {\n _normalizeVNodes(n, result, 0, newKey);\n }\n else {\n if (isStringOrNumber(n)) {\n n = createTextVNode(n, newKey);\n }\n else {\n var oldKey = n.key;\n var isPrefixedKey = isString(oldKey) && oldKey[0] === keyPrefix;\n if (n.flags & 81920 /* InUseOrNormalized */ || isPrefixedKey) {\n n = directClone(n);\n }\n n.flags |= 65536 /* Normalized */;\n if (!isPrefixedKey) {\n if (isNull(oldKey)) {\n n.key = newKey;\n }\n else {\n n.key = currentKey + oldKey;\n }\n }\n else if (oldKey.substring(0, currentKey.length) !== currentKey) {\n n.key = currentKey + oldKey;\n }\n }\n result.push(n);\n }\n }\n }\n}\nfunction getFlagsForElementVnode(type) {\n switch (type) {\n case 'svg':\n return 32 /* SvgElement */;\n case 'input':\n return 64 /* InputElement */;\n case 'select':\n return 256 /* SelectElement */;\n case 'textarea':\n return 128 /* TextareaElement */;\n case Fragment:\n return 8192 /* Fragment */;\n default:\n return 1 /* HtmlElement */;\n }\n}\nfunction normalizeChildren(vNode, children) {\n var newChildren;\n var newChildFlags = 1 /* HasInvalidChildren */;\n // Don't change children to match strict equal (===) true in patching\n if (isInvalid(children)) {\n newChildren = children;\n }\n else if (isStringOrNumber(children)) {\n newChildFlags = 16 /* HasTextChildren */;\n newChildren = children;\n }\n else if (isArray(children)) {\n var len = children.length;\n for (var i = 0; i < len; ++i) {\n var n = children[i];\n if (isInvalid(n) || isArray(n)) {\n newChildren = newChildren || children.slice(0, i);\n _normalizeVNodes(children, newChildren, i, '');\n break;\n }\n else if (isStringOrNumber(n)) {\n newChildren = newChildren || children.slice(0, i);\n newChildren.push(createTextVNode(n, keyPrefix + i));\n }\n else {\n var key = n.key;\n var needsCloning = (n.flags & 81920 /* InUseOrNormalized */) > 0;\n var isNullKey = isNull(key);\n var isPrefixed = isString(key) && key[0] === keyPrefix;\n if (needsCloning || isNullKey || isPrefixed) {\n newChildren = newChildren || children.slice(0, i);\n if (needsCloning || isPrefixed) {\n n = directClone(n);\n }\n if (isNullKey || isPrefixed) {\n n.key = keyPrefix + i;\n }\n newChildren.push(n);\n }\n else if (newChildren) {\n newChildren.push(n);\n }\n n.flags |= 65536 /* Normalized */;\n }\n }\n newChildren = newChildren || children;\n if (newChildren.length === 0) {\n newChildFlags = 1 /* HasInvalidChildren */;\n }\n else {\n newChildFlags = 8 /* HasKeyedChildren */;\n }\n }\n else {\n newChildren = children;\n newChildren.flags |= 65536 /* Normalized */;\n if (children.flags & 81920 /* InUseOrNormalized */) {\n newChildren = directClone(children);\n }\n newChildFlags = 2 /* HasVNodeChildren */;\n }\n vNode.children = newChildren;\n vNode.childFlags = newChildFlags;\n return vNode;\n}\nfunction normalizeRoot(input) {\n if (isInvalid(input) || isStringOrNumber(input)) {\n return createTextVNode(input, null);\n }\n if (isArray(input)) {\n return createFragment(input, 0 /* UnknownChildren */, null);\n }\n return input.flags & 16384 /* InUse */ ? directClone(input) : input;\n}\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\nvar xmlNS = 'http://www.w3.org/XML/1998/namespace';\nvar namespaces = {\n 'xlink:actuate': xlinkNS,\n 'xlink:arcrole': xlinkNS,\n 'xlink:href': xlinkNS,\n 'xlink:role': xlinkNS,\n 'xlink:show': xlinkNS,\n 'xlink:title': xlinkNS,\n 'xlink:type': xlinkNS,\n 'xml:base': xmlNS,\n 'xml:lang': xmlNS,\n 'xml:space': xmlNS\n};\n\nfunction getDelegatedEventObject(v) {\n return {\n onClick: v,\n onDblClick: v,\n onFocusIn: v,\n onFocusOut: v,\n onKeyDown: v,\n onKeyPress: v,\n onKeyUp: v,\n onMouseDown: v,\n onMouseMove: v,\n onMouseUp: v,\n onTouchEnd: v,\n onTouchMove: v,\n onTouchStart: v\n };\n}\nvar attachedEventCounts = getDelegatedEventObject(0);\nvar attachedEvents = getDelegatedEventObject(null);\nvar syntheticEvents = getDelegatedEventObject(true);\nfunction updateOrAddSyntheticEvent(name, dom) {\n var eventsObject = dom.$EV;\n if (!eventsObject) {\n eventsObject = dom.$EV = getDelegatedEventObject(null);\n }\n if (!eventsObject[name]) {\n if (++attachedEventCounts[name] === 1) {\n attachedEvents[name] = attachEventToDocument(name);\n }\n }\n return eventsObject;\n}\nfunction unmountSyntheticEvent(name, dom) {\n var eventsObject = dom.$EV;\n if (eventsObject && eventsObject[name]) {\n if (--attachedEventCounts[name] === 0) {\n document.removeEventListener(normalizeEventName(name), attachedEvents[name]);\n attachedEvents[name] = null;\n }\n eventsObject[name] = null;\n }\n}\nfunction handleSyntheticEvent(name, lastEvent, nextEvent, dom) {\n if (isFunction(nextEvent)) {\n updateOrAddSyntheticEvent(name, dom)[name] = nextEvent;\n }\n else if (isLinkEventObject(nextEvent)) {\n if (isLastValueSameLinkEvent(lastEvent, nextEvent)) {\n return;\n }\n updateOrAddSyntheticEvent(name, dom)[name] = nextEvent;\n }\n else {\n unmountSyntheticEvent(name, dom);\n }\n}\n// When browsers fully support event.composedPath we could loop it through instead of using parentNode property\nfunction getTargetNode(event) {\n return isFunction(event.composedPath) ? event.composedPath()[0] : event.target;\n}\nfunction dispatchEvents(event, isClick, name, eventData) {\n var dom = getTargetNode(event);\n do {\n // Html Nodes can be nested fe: span inside button in that scenario browser does not handle disabled attribute on parent,\n // because the event listener is on document.body\n // Don't process clicks on disabled elements\n if (isClick && dom.disabled) {\n return;\n }\n var eventsObject = dom.$EV;\n if (eventsObject) {\n var currentEvent = eventsObject[name];\n if (currentEvent) {\n // linkEvent object\n eventData.dom = dom;\n currentEvent.event ? currentEvent.event(currentEvent.data, event) : currentEvent(event);\n if (event.cancelBubble) {\n return;\n }\n }\n }\n dom = dom.parentNode;\n } while (!isNull(dom));\n}\nfunction stopPropagation() {\n this.cancelBubble = true;\n if (!this.immediatePropagationStopped) {\n this.stopImmediatePropagation();\n }\n}\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\nfunction extendEventProperties(event) {\n // Event data needs to be object to save reference to currentTarget getter\n var eventData = {\n dom: document\n };\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n event.stopPropagation = stopPropagation;\n Object.defineProperty(event, 'currentTarget', {\n configurable: true,\n get: function get() {\n return eventData.dom;\n }\n });\n return eventData;\n}\nfunction rootClickEvent(name) {\n return function (event) {\n if (event.button !== 0) {\n // Firefox incorrectly triggers click event for mid/right mouse buttons.\n // This bug has been active for 17 years.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=184051\n event.stopPropagation();\n return;\n }\n dispatchEvents(event, true, name, extendEventProperties(event));\n };\n}\nfunction rootEvent(name) {\n return function (event) {\n dispatchEvents(event, false, name, extendEventProperties(event));\n };\n}\nfunction attachEventToDocument(name) {\n var attachedEvent = name === 'onClick' || name === 'onDblClick' ? rootClickEvent(name) : rootEvent(name);\n document.addEventListener(normalizeEventName(name), attachedEvent);\n return attachedEvent;\n}\n\nfunction isSameInnerHTML(dom, innerHTML) {\n var tempdom = document.createElement('i');\n tempdom.innerHTML = innerHTML;\n return tempdom.innerHTML === dom.innerHTML;\n}\n\nfunction triggerEventListener(props, methodName, e) {\n if (props[methodName]) {\n var listener = props[methodName];\n if (listener.event) {\n listener.event(listener.data, e);\n }\n else {\n listener(e);\n }\n }\n else {\n var nativeListenerName = methodName.toLowerCase();\n if (props[nativeListenerName]) {\n props[nativeListenerName](e);\n }\n }\n}\nfunction createWrappedFunction(methodName, applyValue) {\n var fnMethod = function (e) {\n var vNode = this.$V;\n // If vNode is gone by the time event fires, no-op\n if (!vNode) {\n return;\n }\n var props = vNode.props || EMPTY_OBJ;\n var dom = vNode.dom;\n if (isString(methodName)) {\n triggerEventListener(props, methodName, e);\n }\n else {\n for (var i = 0; i < methodName.length; ++i) {\n triggerEventListener(props, methodName[i], e);\n }\n }\n if (isFunction(applyValue)) {\n var newVNode = this.$V;\n var newProps = newVNode.props || EMPTY_OBJ;\n applyValue(newProps, dom, false, newVNode);\n }\n };\n Object.defineProperty(fnMethod, 'wrapped', {\n configurable: false,\n enumerable: false,\n value: true,\n writable: false\n });\n return fnMethod;\n}\n\nfunction attachEvent(dom, eventName, handler) {\n var previousKey = \"$\" + eventName;\n var previousArgs = dom[previousKey];\n if (previousArgs) {\n if (previousArgs[1].wrapped) {\n return;\n }\n dom.removeEventListener(previousArgs[0], previousArgs[1]);\n dom[previousKey] = null;\n }\n if (isFunction(handler)) {\n dom.addEventListener(eventName, handler);\n dom[previousKey] = [eventName, handler];\n }\n}\n\nfunction isCheckedType(type) {\n return type === 'checkbox' || type === 'radio';\n}\nvar onTextInputChange = createWrappedFunction('onInput', applyValueInput);\nvar wrappedOnChange = createWrappedFunction(['onClick', 'onChange'], applyValueInput);\n/* tslint:disable-next-line:no-empty */\nfunction emptywrapper(event) {\n event.stopPropagation();\n}\nemptywrapper.wrapped = true;\nfunction inputEvents(dom, nextPropsOrEmpty) {\n if (isCheckedType(nextPropsOrEmpty.type)) {\n attachEvent(dom, 'change', wrappedOnChange);\n attachEvent(dom, 'click', emptywrapper);\n }\n else {\n attachEvent(dom, 'input', onTextInputChange);\n }\n}\nfunction applyValueInput(nextPropsOrEmpty, dom) {\n var type = nextPropsOrEmpty.type;\n var value = nextPropsOrEmpty.value;\n var checked = nextPropsOrEmpty.checked;\n var multiple = nextPropsOrEmpty.multiple;\n var defaultValue = nextPropsOrEmpty.defaultValue;\n var hasValue = !isNullOrUndef(value);\n if (type && type !== dom.type) {\n dom.setAttribute('type', type);\n }\n if (!isNullOrUndef(multiple) && multiple !== dom.multiple) {\n dom.multiple = multiple;\n }\n if (!isNullOrUndef(defaultValue) && !hasValue) {\n dom.defaultValue = defaultValue + '';\n }\n if (isCheckedType(type)) {\n if (hasValue) {\n dom.value = value;\n }\n if (!isNullOrUndef(checked)) {\n dom.checked = checked;\n }\n }\n else {\n if (hasValue && dom.value !== value) {\n dom.defaultValue = value;\n dom.value = value;\n }\n else if (!isNullOrUndef(checked)) {\n dom.checked = checked;\n }\n }\n}\n\nfunction updateChildOptions(vNode, value) {\n if (vNode.type === 'option') {\n updateChildOption(vNode, value);\n }\n else {\n var children = vNode.children;\n var flags = vNode.flags;\n if (flags & 4 /* ComponentClass */) {\n updateChildOptions(children.$LI, value);\n }\n else if (flags & 8 /* ComponentFunction */) {\n updateChildOptions(children, value);\n }\n else if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n updateChildOptions(children, value);\n }\n else if (vNode.childFlags & 12 /* MultipleChildren */) {\n for (var i = 0, len = children.length; i < len; ++i) {\n updateChildOptions(children[i], value);\n }\n }\n }\n}\nfunction updateChildOption(vNode, value) {\n var props = vNode.props || EMPTY_OBJ;\n var dom = vNode.dom;\n // we do this as multiple may have changed\n dom.value = props.value;\n if (props.value === value || (isArray(value) && value.indexOf(props.value) !== -1)) {\n dom.selected = true;\n }\n else if (!isNullOrUndef(value) || !isNullOrUndef(props.selected)) {\n dom.selected = props.selected || false;\n }\n}\nvar onSelectChange = createWrappedFunction('onChange', applyValueSelect);\nfunction selectEvents(dom) {\n attachEvent(dom, 'change', onSelectChange);\n}\nfunction applyValueSelect(nextPropsOrEmpty, dom, mounting, vNode) {\n var multiplePropInBoolean = Boolean(nextPropsOrEmpty.multiple);\n if (!isNullOrUndef(nextPropsOrEmpty.multiple) && multiplePropInBoolean !== dom.multiple) {\n dom.multiple = multiplePropInBoolean;\n }\n var index = nextPropsOrEmpty.selectedIndex;\n if (index === -1) {\n dom.selectedIndex = -1;\n }\n var childFlags = vNode.childFlags;\n if (childFlags !== 1 /* HasInvalidChildren */) {\n var value = nextPropsOrEmpty.value;\n if (isNumber(index) && index > -1 && dom.options[index]) {\n value = dom.options[index].value;\n }\n if (mounting && isNullOrUndef(value)) {\n value = nextPropsOrEmpty.defaultValue;\n }\n updateChildOptions(vNode, value);\n }\n}\n\nvar onTextareaInputChange = createWrappedFunction('onInput', applyValueTextArea);\nvar wrappedOnChange$1 = createWrappedFunction('onChange');\nfunction textAreaEvents(dom, nextPropsOrEmpty) {\n attachEvent(dom, 'input', onTextareaInputChange);\n if (nextPropsOrEmpty.onChange) {\n attachEvent(dom, 'change', wrappedOnChange$1);\n }\n}\nfunction applyValueTextArea(nextPropsOrEmpty, dom, mounting) {\n var value = nextPropsOrEmpty.value;\n var domValue = dom.value;\n if (isNullOrUndef(value)) {\n if (mounting) {\n var defaultValue = nextPropsOrEmpty.defaultValue;\n if (!isNullOrUndef(defaultValue) && defaultValue !== domValue) {\n dom.defaultValue = defaultValue;\n dom.value = defaultValue;\n }\n }\n }\n else if (domValue !== value) {\n /* There is value so keep it controlled */\n dom.defaultValue = value;\n dom.value = value;\n }\n}\n\nfunction processElement(flags, vNode, dom, nextPropsOrEmpty, mounting, isControlled) {\n if (flags & 64 /* InputElement */) {\n applyValueInput(nextPropsOrEmpty, dom);\n }\n else if (flags & 256 /* SelectElement */) {\n applyValueSelect(nextPropsOrEmpty, dom, mounting, vNode);\n }\n else if (flags & 128 /* TextareaElement */) {\n applyValueTextArea(nextPropsOrEmpty, dom, mounting);\n }\n if (isControlled) {\n dom.$V = vNode;\n }\n}\nfunction addFormElementEventHandlers(flags, dom, nextPropsOrEmpty) {\n if (flags & 64 /* InputElement */) {\n inputEvents(dom, nextPropsOrEmpty);\n }\n else if (flags & 256 /* SelectElement */) {\n selectEvents(dom);\n }\n else if (flags & 128 /* TextareaElement */) {\n textAreaEvents(dom, nextPropsOrEmpty);\n }\n}\nfunction isControlledFormElement(nextPropsOrEmpty) {\n return nextPropsOrEmpty.type && isCheckedType(nextPropsOrEmpty.type) ? !isNullOrUndef(nextPropsOrEmpty.checked) : !isNullOrUndef(nextPropsOrEmpty.value);\n}\n\nfunction createRef() {\n return {\n current: null\n };\n}\nfunction forwardRef(render) {\n // @ts-ignore\n return {\n render: render\n };\n}\nfunction unmountRef(ref) {\n if (ref) {\n if (!safeCall1(ref, null) && ref.current) {\n ref.current = null;\n }\n }\n}\nfunction mountRef(ref, value, lifecycle) {\n if (ref && (isFunction(ref) || ref.current !== void 0)) {\n lifecycle.push(function () {\n if (!safeCall1(ref, value) && ref.current !== void 0) {\n ref.current = value;\n }\n });\n }\n}\n\nfunction remove(vNode, parentDOM) {\n unmount(vNode);\n removeVNodeDOM(vNode, parentDOM);\n}\nfunction unmount(vNode) {\n var flags = vNode.flags;\n var children = vNode.children;\n var ref;\n if (flags & 481 /* Element */) {\n ref = vNode.ref;\n var props = vNode.props;\n unmountRef(ref);\n var childFlags = vNode.childFlags;\n if (!isNull(props)) {\n var keys = Object.keys(props);\n for (var i = 0, len = keys.length; i < len; i++) {\n var key = keys[i];\n if (syntheticEvents[key]) {\n unmountSyntheticEvent(key, vNode.dom);\n }\n }\n }\n if (childFlags & 12 /* MultipleChildren */) {\n unmountAllChildren(children);\n }\n else if (childFlags === 2 /* HasVNodeChildren */) {\n unmount(children);\n }\n }\n else if (children) {\n if (flags & 4 /* ComponentClass */) {\n if (isFunction(children.componentWillUnmount)) {\n children.componentWillUnmount();\n }\n unmountRef(vNode.ref);\n children.$UN = true;\n unmount(children.$LI);\n }\n else if (flags & 8 /* ComponentFunction */) {\n ref = vNode.ref;\n if (!isNullOrUndef(ref) && isFunction(ref.onComponentWillUnmount)) {\n ref.onComponentWillUnmount(findDOMfromVNode(vNode, true), vNode.props || EMPTY_OBJ);\n }\n unmount(children);\n }\n else if (flags & 1024 /* Portal */) {\n remove(children, vNode.ref);\n }\n else if (flags & 8192 /* Fragment */) {\n if (vNode.childFlags & 12 /* MultipleChildren */) {\n unmountAllChildren(children);\n }\n }\n }\n}\nfunction unmountAllChildren(children) {\n for (var i = 0, len = children.length; i < len; ++i) {\n unmount(children[i]);\n }\n}\nfunction clearDOM(dom) {\n // Optimization for clearing dom\n dom.textContent = '';\n}\nfunction removeAllChildren(dom, vNode, children) {\n unmountAllChildren(children);\n if (vNode.flags & 8192 /* Fragment */) {\n removeVNodeDOM(vNode, dom);\n }\n else {\n clearDOM(dom);\n }\n}\n\nfunction wrapLinkEvent(nextValue) {\n // This variable makes sure there is no \"this\" context in callback\n var ev = nextValue.event;\n return function (e) {\n ev(nextValue.data, e);\n };\n}\nfunction patchEvent(name, lastValue, nextValue, dom) {\n if (isLinkEventObject(nextValue)) {\n if (isLastValueSameLinkEvent(lastValue, nextValue)) {\n return;\n }\n nextValue = wrapLinkEvent(nextValue);\n }\n attachEvent(dom, normalizeEventName(name), nextValue);\n}\n// We are assuming here that we come from patchProp routine\n// -nextAttrValue cannot be null or undefined\nfunction patchStyle(lastAttrValue, nextAttrValue, dom) {\n if (isNullOrUndef(nextAttrValue)) {\n dom.removeAttribute('style');\n return;\n }\n var domStyle = dom.style;\n var style;\n var value;\n if (isString(nextAttrValue)) {\n domStyle.cssText = nextAttrValue;\n return;\n }\n if (!isNullOrUndef(lastAttrValue) && !isString(lastAttrValue)) {\n for (style in nextAttrValue) {\n // do not add a hasOwnProperty check here, it affects performance\n value = nextAttrValue[style];\n if (value !== lastAttrValue[style]) {\n domStyle.setProperty(style, value);\n }\n }\n for (style in lastAttrValue) {\n if (isNullOrUndef(nextAttrValue[style])) {\n domStyle.removeProperty(style);\n }\n }\n }\n else {\n for (style in nextAttrValue) {\n value = nextAttrValue[style];\n domStyle.setProperty(style, value);\n }\n }\n}\nfunction patchDangerInnerHTML(lastValue, nextValue, lastVNode, dom) {\n var lastHtml = (lastValue && lastValue.__html) || '';\n var nextHtml = (nextValue && nextValue.__html) || '';\n if (lastHtml !== nextHtml) {\n if (!isNullOrUndef(nextHtml) && !isSameInnerHTML(dom, nextHtml)) {\n if (!isNull(lastVNode)) {\n if (lastVNode.childFlags & 12 /* MultipleChildren */) {\n unmountAllChildren(lastVNode.children);\n }\n else if (lastVNode.childFlags === 2 /* HasVNodeChildren */) {\n unmount(lastVNode.children);\n }\n lastVNode.children = null;\n lastVNode.childFlags = 1 /* HasInvalidChildren */;\n }\n dom.innerHTML = nextHtml;\n }\n }\n}\nfunction patchProp(prop, lastValue, nextValue, dom, isSVG, hasControlledValue, lastVNode) {\n switch (prop) {\n case 'children':\n case 'childrenType':\n case 'className':\n case 'defaultValue':\n case 'key':\n case 'multiple':\n case 'ref':\n case 'selectedIndex':\n break;\n case 'autoFocus':\n dom.autofocus = !!nextValue;\n break;\n case 'allowfullscreen':\n case 'autoplay':\n case 'capture':\n case 'checked':\n case 'controls':\n case 'default':\n case 'disabled':\n case 'hidden':\n case 'indeterminate':\n case 'loop':\n case 'muted':\n case 'novalidate':\n case 'open':\n case 'readOnly':\n case 'required':\n case 'reversed':\n case 'scoped':\n case 'seamless':\n case 'selected':\n dom[prop] = !!nextValue;\n break;\n case 'defaultChecked':\n case 'value':\n case 'volume':\n if (hasControlledValue && prop === 'value') {\n break;\n }\n var value = isNullOrUndef(nextValue) ? '' : nextValue;\n if (dom[prop] !== value) {\n dom[prop] = value;\n }\n break;\n case 'style':\n patchStyle(lastValue, nextValue, dom);\n break;\n case 'dangerouslySetInnerHTML':\n patchDangerInnerHTML(lastValue, nextValue, lastVNode, dom);\n break;\n default:\n if (syntheticEvents[prop]) {\n handleSyntheticEvent(prop, lastValue, nextValue, dom);\n }\n else if (prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110) {\n patchEvent(prop, lastValue, nextValue, dom);\n }\n else if (isNullOrUndef(nextValue)) {\n dom.removeAttribute(prop);\n }\n else if (isSVG && namespaces[prop]) {\n // We optimize for isSVG being false\n // If we end up in this path we can read property again\n dom.setAttributeNS(namespaces[prop], prop, nextValue);\n }\n else {\n dom.setAttribute(prop, nextValue);\n }\n break;\n }\n}\nfunction mountProps(vNode, flags, props, dom, isSVG) {\n var hasControlledValue = false;\n var isFormElement = (flags & 448 /* FormElement */) > 0;\n if (isFormElement) {\n hasControlledValue = isControlledFormElement(props);\n if (hasControlledValue) {\n addFormElementEventHandlers(flags, dom, props);\n }\n }\n for (var prop in props) {\n // do not add a hasOwnProperty check here, it affects performance\n patchProp(prop, null, props[prop], dom, isSVG, hasControlledValue, null);\n }\n if (isFormElement) {\n processElement(flags, vNode, dom, props, true, hasControlledValue);\n }\n}\n\nfunction renderNewInput(instance, props, context) {\n var nextInput = normalizeRoot(instance.render(props, instance.state, context));\n var childContext = context;\n if (isFunction(instance.getChildContext)) {\n childContext = combineFrom(context, instance.getChildContext());\n }\n instance.$CX = childContext;\n return nextInput;\n}\nfunction createClassComponentInstance(vNode, Component, props, context, isSVG, lifecycle) {\n var instance = new Component(props, context);\n var usesNewAPI = (instance.$N = Boolean(Component.getDerivedStateFromProps || instance.getSnapshotBeforeUpdate));\n instance.$SVG = isSVG;\n instance.$L = lifecycle;\n vNode.children = instance;\n instance.$BS = false;\n instance.context = context;\n if (instance.props === EMPTY_OBJ) {\n instance.props = props;\n }\n if (!usesNewAPI) {\n if (isFunction(instance.componentWillMount)) {\n instance.$BR = true;\n instance.componentWillMount();\n var pending = instance.$PS;\n if (!isNull(pending)) {\n var state = instance.state;\n if (isNull(state)) {\n instance.state = pending;\n }\n else {\n for (var key in pending) {\n state[key] = pending[key];\n }\n }\n instance.$PS = null;\n }\n instance.$BR = false;\n }\n }\n else {\n instance.state = createDerivedState(instance, props, instance.state);\n }\n instance.$LI = renderNewInput(instance, props, context);\n return instance;\n}\nfunction renderFunctionalComponent(vNode, context) {\n var props = vNode.props || EMPTY_OBJ;\n return vNode.flags & 32768 /* ForwardRef */ ? vNode.type.render(props, vNode.ref, context) : vNode.type(props, context);\n}\n\nfunction mount(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var flags = (vNode.flags |= 16384 /* InUse */);\n if (flags & 481 /* Element */) {\n mountElement(vNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (flags & 4 /* ComponentClass */) {\n mountClassComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (flags & 8 /* ComponentFunction */) {\n mountFunctionalComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle);\n mountFunctionalComponentCallbacks(vNode, lifecycle);\n }\n else if (flags & 512 /* Void */ || flags & 16 /* Text */) {\n mountText(vNode, parentDOM, nextNode);\n }\n else if (flags & 8192 /* Fragment */) {\n mountFragment(vNode, context, parentDOM, isSVG, nextNode, lifecycle);\n }\n else if (flags & 1024 /* Portal */) {\n mountPortal(vNode, context, parentDOM, nextNode, lifecycle);\n }\n else ;\n}\nfunction mountPortal(vNode, context, parentDOM, nextNode, lifecycle) {\n mount(vNode.children, vNode.ref, context, false, null, lifecycle);\n var placeHolderVNode = createVoidVNode();\n mountText(placeHolderVNode, parentDOM, nextNode);\n vNode.dom = placeHolderVNode.dom;\n}\nfunction mountFragment(vNode, context, parentDOM, isSVG, nextNode, lifecycle) {\n var children = vNode.children;\n var childFlags = vNode.childFlags;\n // When fragment is optimized for multiple children, check if there is no children and change flag to invalid\n // This is the only normalization always done, to keep optimization flags API same for fragments and regular elements\n if (childFlags & 12 /* MultipleChildren */ && children.length === 0) {\n childFlags = vNode.childFlags = 2 /* HasVNodeChildren */;\n children = vNode.children = createVoidVNode();\n }\n if (childFlags === 2 /* HasVNodeChildren */) {\n mount(children, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else {\n mountArrayChildren(children, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n}\nfunction mountText(vNode, parentDOM, nextNode) {\n var dom = (vNode.dom = document.createTextNode(vNode.children));\n if (!isNull(parentDOM)) {\n insertOrAppend(parentDOM, dom, nextNode);\n }\n}\nfunction mountElement(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var flags = vNode.flags;\n var props = vNode.props;\n var className = vNode.className;\n var childFlags = vNode.childFlags;\n var dom = (vNode.dom = documentCreateElement(vNode.type, (isSVG = isSVG || (flags & 32 /* SvgElement */) > 0)));\n var children = vNode.children;\n if (!isNullOrUndef(className) && className !== '') {\n if (isSVG) {\n dom.setAttribute('class', className);\n }\n else {\n dom.className = className;\n }\n }\n if (childFlags === 16 /* HasTextChildren */) {\n setTextContent(dom, children);\n }\n else if (childFlags !== 1 /* HasInvalidChildren */) {\n var childrenIsSVG = isSVG && vNode.type !== 'foreignObject';\n if (childFlags === 2 /* HasVNodeChildren */) {\n if (children.flags & 16384 /* InUse */) {\n vNode.children = children = directClone(children);\n }\n mount(children, dom, context, childrenIsSVG, null, lifecycle);\n }\n else if (childFlags === 8 /* HasKeyedChildren */ || childFlags === 4 /* HasNonKeyedChildren */) {\n mountArrayChildren(children, dom, context, childrenIsSVG, null, lifecycle);\n }\n }\n if (!isNull(parentDOM)) {\n insertOrAppend(parentDOM, dom, nextNode);\n }\n if (!isNull(props)) {\n mountProps(vNode, flags, props, dom, isSVG);\n }\n mountRef(vNode.ref, dom, lifecycle);\n}\nfunction mountArrayChildren(children, dom, context, isSVG, nextNode, lifecycle) {\n for (var i = 0; i < children.length; ++i) {\n var child = children[i];\n if (child.flags & 16384 /* InUse */) {\n children[i] = child = directClone(child);\n }\n mount(child, dom, context, isSVG, nextNode, lifecycle);\n }\n}\nfunction mountClassComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var instance = createClassComponentInstance(vNode, vNode.type, vNode.props || EMPTY_OBJ, context, isSVG, lifecycle);\n mount(instance.$LI, parentDOM, instance.$CX, isSVG, nextNode, lifecycle);\n mountClassComponentCallbacks(vNode.ref, instance, lifecycle);\n}\nfunction mountFunctionalComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n mount((vNode.children = normalizeRoot(renderFunctionalComponent(vNode, context))), parentDOM, context, isSVG, nextNode, lifecycle);\n}\nfunction createClassMountCallback(instance) {\n return function () {\n instance.componentDidMount();\n };\n}\nfunction mountClassComponentCallbacks(ref, instance, lifecycle) {\n mountRef(ref, instance, lifecycle);\n if (isFunction(instance.componentDidMount)) {\n lifecycle.push(createClassMountCallback(instance));\n }\n}\nfunction createOnMountCallback(ref, vNode) {\n return function () {\n ref.onComponentDidMount(findDOMfromVNode(vNode, true), vNode.props || EMPTY_OBJ);\n };\n}\nfunction mountFunctionalComponentCallbacks(vNode, lifecycle) {\n var ref = vNode.ref;\n if (!isNullOrUndef(ref)) {\n safeCall1(ref.onComponentWillMount, vNode.props || EMPTY_OBJ);\n if (isFunction(ref.onComponentDidMount)) {\n lifecycle.push(createOnMountCallback(ref, vNode));\n }\n }\n}\n\nfunction replaceWithNewNode(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle) {\n unmount(lastVNode);\n if ((nextVNode.flags & lastVNode.flags & 2033 /* DOMRef */) !== 0) {\n mount(nextVNode, null, context, isSVG, null, lifecycle);\n // Single DOM operation, when we have dom references available\n replaceChild(parentDOM, nextVNode.dom, lastVNode.dom);\n }\n else {\n mount(nextVNode, parentDOM, context, isSVG, findDOMfromVNode(lastVNode, true), lifecycle);\n removeVNodeDOM(lastVNode, parentDOM);\n }\n}\nfunction patch(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var nextFlags = (nextVNode.flags |= 16384 /* InUse */);\n if (lastVNode.flags !== nextFlags || lastVNode.type !== nextVNode.type || lastVNode.key !== nextVNode.key || nextFlags & 2048 /* ReCreate */) {\n if (lastVNode.flags & 16384 /* InUse */) {\n replaceWithNewNode(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle);\n }\n else {\n // Last vNode is not in use, it has crashed at application level. Just mount nextVNode and ignore last one\n mount(nextVNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n }\n else if (nextFlags & 481 /* Element */) {\n patchElement(lastVNode, nextVNode, context, isSVG, nextFlags, lifecycle);\n }\n else if (nextFlags & 4 /* ComponentClass */) {\n patchClassComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (nextFlags & 8 /* ComponentFunction */) {\n patchFunctionalComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (nextFlags & 16 /* Text */) {\n patchText(lastVNode, nextVNode);\n }\n else if (nextFlags & 512 /* Void */) {\n nextVNode.dom = lastVNode.dom;\n }\n else if (nextFlags & 8192 /* Fragment */) {\n patchFragment(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle);\n }\n else {\n patchPortal(lastVNode, nextVNode, context, lifecycle);\n }\n}\nfunction patchSingleTextChild(lastChildren, nextChildren, parentDOM) {\n if (lastChildren !== nextChildren) {\n if (lastChildren !== '') {\n parentDOM.firstChild.nodeValue = nextChildren;\n }\n else {\n setTextContent(parentDOM, nextChildren);\n }\n }\n}\nfunction patchContentEditableChildren(dom, nextChildren) {\n if (dom.textContent !== nextChildren) {\n dom.textContent = nextChildren;\n }\n}\nfunction patchFragment(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle) {\n var lastChildren = lastVNode.children;\n var nextChildren = nextVNode.children;\n var lastChildFlags = lastVNode.childFlags;\n var nextChildFlags = nextVNode.childFlags;\n var nextNode = null;\n // When fragment is optimized for multiple children, check if there is no children and change flag to invalid\n // This is the only normalization always done, to keep optimization flags API same for fragments and regular elements\n if (nextChildFlags & 12 /* MultipleChildren */ && nextChildren.length === 0) {\n nextChildFlags = nextVNode.childFlags = 2 /* HasVNodeChildren */;\n nextChildren = nextVNode.children = createVoidVNode();\n }\n var nextIsSingle = (nextChildFlags & 2 /* HasVNodeChildren */) !== 0;\n if (lastChildFlags & 12 /* MultipleChildren */) {\n var lastLen = lastChildren.length;\n // We need to know Fragment's edge node when\n if (\n // It uses keyed algorithm\n (lastChildFlags & 8 /* HasKeyedChildren */ && nextChildFlags & 8 /* HasKeyedChildren */) ||\n // It transforms from many to single\n nextIsSingle ||\n // It will append more nodes\n (!nextIsSingle && nextChildren.length > lastLen)) {\n // When fragment has multiple children there is always at least one vNode\n nextNode = findDOMfromVNode(lastChildren[lastLen - 1], false).nextSibling;\n }\n }\n patchChildren(lastChildFlags, nextChildFlags, lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, lastVNode, lifecycle);\n}\nfunction patchPortal(lastVNode, nextVNode, context, lifecycle) {\n var lastContainer = lastVNode.ref;\n var nextContainer = nextVNode.ref;\n var nextChildren = nextVNode.children;\n patchChildren(lastVNode.childFlags, nextVNode.childFlags, lastVNode.children, nextChildren, lastContainer, context, false, null, lastVNode, lifecycle);\n nextVNode.dom = lastVNode.dom;\n if (lastContainer !== nextContainer && !isInvalid(nextChildren)) {\n var node = nextChildren.dom;\n removeChild(lastContainer, node);\n appendChild(nextContainer, node);\n }\n}\nfunction patchElement(lastVNode, nextVNode, context, isSVG, nextFlags, lifecycle) {\n var dom = (nextVNode.dom = lastVNode.dom);\n var lastProps = lastVNode.props;\n var nextProps = nextVNode.props;\n var isFormElement = false;\n var hasControlledValue = false;\n var nextPropsOrEmpty;\n isSVG = isSVG || (nextFlags & 32 /* SvgElement */) > 0;\n // inlined patchProps -- starts --\n if (lastProps !== nextProps) {\n var lastPropsOrEmpty = lastProps || EMPTY_OBJ;\n nextPropsOrEmpty = nextProps || EMPTY_OBJ;\n if (nextPropsOrEmpty !== EMPTY_OBJ) {\n isFormElement = (nextFlags & 448 /* FormElement */) > 0;\n if (isFormElement) {\n hasControlledValue = isControlledFormElement(nextPropsOrEmpty);\n }\n for (var prop in nextPropsOrEmpty) {\n var lastValue = lastPropsOrEmpty[prop];\n var nextValue = nextPropsOrEmpty[prop];\n if (lastValue !== nextValue) {\n patchProp(prop, lastValue, nextValue, dom, isSVG, hasControlledValue, lastVNode);\n }\n }\n }\n if (lastPropsOrEmpty !== EMPTY_OBJ) {\n for (var prop$1 in lastPropsOrEmpty) {\n if (isNullOrUndef(nextPropsOrEmpty[prop$1]) && !isNullOrUndef(lastPropsOrEmpty[prop$1])) {\n patchProp(prop$1, lastPropsOrEmpty[prop$1], null, dom, isSVG, hasControlledValue, lastVNode);\n }\n }\n }\n }\n var nextChildren = nextVNode.children;\n var nextClassName = nextVNode.className;\n // inlined patchProps -- ends --\n if (lastVNode.className !== nextClassName) {\n if (isNullOrUndef(nextClassName)) {\n dom.removeAttribute('class');\n }\n else if (isSVG) {\n dom.setAttribute('class', nextClassName);\n }\n else {\n dom.className = nextClassName;\n }\n }\n if (nextFlags & 4096 /* ContentEditable */) {\n patchContentEditableChildren(dom, nextChildren);\n }\n else {\n patchChildren(lastVNode.childFlags, nextVNode.childFlags, lastVNode.children, nextChildren, dom, context, isSVG && nextVNode.type !== 'foreignObject', null, lastVNode, lifecycle);\n }\n if (isFormElement) {\n processElement(nextFlags, nextVNode, dom, nextPropsOrEmpty, false, hasControlledValue);\n }\n var nextRef = nextVNode.ref;\n var lastRef = lastVNode.ref;\n if (lastRef !== nextRef) {\n unmountRef(lastRef);\n mountRef(nextRef, dom, lifecycle);\n }\n}\nfunction replaceOneVNodeWithMultipleVNodes(lastChildren, nextChildren, parentDOM, context, isSVG, lifecycle) {\n unmount(lastChildren);\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, findDOMfromVNode(lastChildren, true), lifecycle);\n removeVNodeDOM(lastChildren, parentDOM);\n}\nfunction patchChildren(lastChildFlags, nextChildFlags, lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, parentVNode, lifecycle) {\n switch (lastChildFlags) {\n case 2 /* HasVNodeChildren */:\n switch (nextChildFlags) {\n case 2 /* HasVNodeChildren */:\n patch(lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n remove(lastChildren, parentDOM);\n break;\n case 16 /* HasTextChildren */:\n unmount(lastChildren);\n setTextContent(parentDOM, nextChildren);\n break;\n default:\n replaceOneVNodeWithMultipleVNodes(lastChildren, nextChildren, parentDOM, context, isSVG, lifecycle);\n break;\n }\n break;\n case 1 /* HasInvalidChildren */:\n switch (nextChildFlags) {\n case 2 /* HasVNodeChildren */:\n mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n break;\n case 16 /* HasTextChildren */:\n setTextContent(parentDOM, nextChildren);\n break;\n default:\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n }\n break;\n case 16 /* HasTextChildren */:\n switch (nextChildFlags) {\n case 16 /* HasTextChildren */:\n patchSingleTextChild(lastChildren, nextChildren, parentDOM);\n break;\n case 2 /* HasVNodeChildren */:\n clearDOM(parentDOM);\n mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n clearDOM(parentDOM);\n break;\n default:\n clearDOM(parentDOM);\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n }\n break;\n default:\n switch (nextChildFlags) {\n case 16 /* HasTextChildren */:\n unmountAllChildren(lastChildren);\n setTextContent(parentDOM, nextChildren);\n break;\n case 2 /* HasVNodeChildren */:\n removeAllChildren(parentDOM, parentVNode, lastChildren);\n mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n removeAllChildren(parentDOM, parentVNode, lastChildren);\n break;\n default:\n var lastLength = lastChildren.length | 0;\n var nextLength = nextChildren.length | 0;\n // Fast path's for both algorithms\n if (lastLength === 0) {\n if (nextLength > 0) {\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n }\n else if (nextLength === 0) {\n removeAllChildren(parentDOM, parentVNode, lastChildren);\n }\n else if (nextChildFlags === 8 /* HasKeyedChildren */ && lastChildFlags === 8 /* HasKeyedChildren */) {\n patchKeyedChildren(lastChildren, nextChildren, parentDOM, context, isSVG, lastLength, nextLength, nextNode, parentVNode, lifecycle);\n }\n else {\n patchNonKeyedChildren(lastChildren, nextChildren, parentDOM, context, isSVG, lastLength, nextLength, nextNode, lifecycle);\n }\n break;\n }\n break;\n }\n}\nfunction createDidUpdate(instance, lastProps, lastState, snapshot, lifecycle) {\n lifecycle.push(function () {\n instance.componentDidUpdate(lastProps, lastState, snapshot);\n });\n}\nfunction updateClassComponent(instance, nextState, nextProps, parentDOM, context, isSVG, force, nextNode, lifecycle) {\n var lastState = instance.state;\n var lastProps = instance.props;\n var usesNewAPI = Boolean(instance.$N);\n var hasSCU = isFunction(instance.shouldComponentUpdate);\n if (usesNewAPI) {\n nextState = createDerivedState(instance, nextProps, nextState !== lastState ? combineFrom(lastState, nextState) : nextState);\n }\n if (force || !hasSCU || (hasSCU && instance.shouldComponentUpdate(nextProps, nextState, context))) {\n if (!usesNewAPI && isFunction(instance.componentWillUpdate)) {\n instance.componentWillUpdate(nextProps, nextState, context);\n }\n instance.props = nextProps;\n instance.state = nextState;\n instance.context = context;\n var snapshot = null;\n var nextInput = renderNewInput(instance, nextProps, context);\n if (usesNewAPI && isFunction(instance.getSnapshotBeforeUpdate)) {\n snapshot = instance.getSnapshotBeforeUpdate(lastProps, lastState);\n }\n patch(instance.$LI, nextInput, parentDOM, instance.$CX, isSVG, nextNode, lifecycle);\n // Dont update Last input, until patch has been succesfully executed\n instance.$LI = nextInput;\n if (isFunction(instance.componentDidUpdate)) {\n createDidUpdate(instance, lastProps, lastState, snapshot, lifecycle);\n }\n }\n else {\n instance.props = nextProps;\n instance.state = nextState;\n instance.context = context;\n }\n}\nfunction patchClassComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var instance = (nextVNode.children = lastVNode.children);\n // If Component has crashed, ignore it to stay functional\n if (isNull(instance)) {\n return;\n }\n instance.$L = lifecycle;\n var nextProps = nextVNode.props || EMPTY_OBJ;\n var nextRef = nextVNode.ref;\n var lastRef = lastVNode.ref;\n var nextState = instance.state;\n if (!instance.$N) {\n if (isFunction(instance.componentWillReceiveProps)) {\n instance.$BR = true;\n instance.componentWillReceiveProps(nextProps, context);\n // If instance component was removed during its own update do nothing.\n if (instance.$UN) {\n return;\n }\n instance.$BR = false;\n }\n if (!isNull(instance.$PS)) {\n nextState = combineFrom(nextState, instance.$PS);\n instance.$PS = null;\n }\n }\n updateClassComponent(instance, nextState, nextProps, parentDOM, context, isSVG, false, nextNode, lifecycle);\n if (lastRef !== nextRef) {\n unmountRef(lastRef);\n mountRef(nextRef, instance, lifecycle);\n }\n}\nfunction patchFunctionalComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var shouldUpdate = true;\n var nextProps = nextVNode.props || EMPTY_OBJ;\n var nextRef = nextVNode.ref;\n var lastProps = lastVNode.props;\n var nextHooksDefined = !isNullOrUndef(nextRef);\n var lastInput = lastVNode.children;\n if (nextHooksDefined && isFunction(nextRef.onComponentShouldUpdate)) {\n shouldUpdate = nextRef.onComponentShouldUpdate(lastProps, nextProps);\n }\n if (shouldUpdate !== false) {\n if (nextHooksDefined && isFunction(nextRef.onComponentWillUpdate)) {\n nextRef.onComponentWillUpdate(lastProps, nextProps);\n }\n var nextInput = normalizeRoot(renderFunctionalComponent(nextVNode, context));\n patch(lastInput, nextInput, parentDOM, context, isSVG, nextNode, lifecycle);\n nextVNode.children = nextInput;\n if (nextHooksDefined && isFunction(nextRef.onComponentDidUpdate)) {\n nextRef.onComponentDidUpdate(lastProps, nextProps);\n }\n }\n else {\n nextVNode.children = lastInput;\n }\n}\nfunction patchText(lastVNode, nextVNode) {\n var nextText = nextVNode.children;\n var dom = (nextVNode.dom = lastVNode.dom);\n if (nextText !== lastVNode.children) {\n dom.nodeValue = nextText;\n }\n}\nfunction patchNonKeyedChildren(lastChildren, nextChildren, dom, context, isSVG, lastChildrenLength, nextChildrenLength, nextNode, lifecycle) {\n var commonLength = lastChildrenLength > nextChildrenLength ? nextChildrenLength : lastChildrenLength;\n var i = 0;\n var nextChild;\n var lastChild;\n for (; i < commonLength; ++i) {\n nextChild = nextChildren[i];\n lastChild = lastChildren[i];\n if (nextChild.flags & 16384 /* InUse */) {\n nextChild = nextChildren[i] = directClone(nextChild);\n }\n patch(lastChild, nextChild, dom, context, isSVG, nextNode, lifecycle);\n lastChildren[i] = nextChild;\n }\n if (lastChildrenLength < nextChildrenLength) {\n for (i = commonLength; i < nextChildrenLength; ++i) {\n nextChild = nextChildren[i];\n if (nextChild.flags & 16384 /* InUse */) {\n nextChild = nextChildren[i] = directClone(nextChild);\n }\n mount(nextChild, dom, context, isSVG, nextNode, lifecycle);\n }\n }\n else if (lastChildrenLength > nextChildrenLength) {\n for (i = commonLength; i < lastChildrenLength; ++i) {\n remove(lastChildren[i], dom);\n }\n }\n}\nfunction patchKeyedChildren(a, b, dom, context, isSVG, aLength, bLength, outerEdge, parentVNode, lifecycle) {\n var aEnd = aLength - 1;\n var bEnd = bLength - 1;\n var j = 0;\n var aNode = a[j];\n var bNode = b[j];\n var nextPos;\n var nextNode;\n // Step 1\n // tslint:disable-next-line\n outer: {\n // Sync nodes with the same key at the beginning.\n while (aNode.key === bNode.key) {\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n a[j] = bNode;\n ++j;\n if (j > aEnd || j > bEnd) {\n break outer;\n }\n aNode = a[j];\n bNode = b[j];\n }\n aNode = a[aEnd];\n bNode = b[bEnd];\n // Sync nodes with the same key at the end.\n while (aNode.key === bNode.key) {\n if (bNode.flags & 16384 /* InUse */) {\n b[bEnd] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n a[aEnd] = bNode;\n aEnd--;\n bEnd--;\n if (j > aEnd || j > bEnd) {\n break outer;\n }\n aNode = a[aEnd];\n bNode = b[bEnd];\n }\n }\n if (j > aEnd) {\n if (j <= bEnd) {\n nextPos = bEnd + 1;\n nextNode = nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge;\n while (j <= bEnd) {\n bNode = b[j];\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n ++j;\n mount(bNode, dom, context, isSVG, nextNode, lifecycle);\n }\n }\n }\n else if (j > bEnd) {\n while (j <= aEnd) {\n remove(a[j++], dom);\n }\n }\n else {\n patchKeyedChildrenComplex(a, b, context, aLength, bLength, aEnd, bEnd, j, dom, isSVG, outerEdge, parentVNode, lifecycle);\n }\n}\nfunction patchKeyedChildrenComplex(a, b, context, aLength, bLength, aEnd, bEnd, j, dom, isSVG, outerEdge, parentVNode, lifecycle) {\n var aNode;\n var bNode;\n var nextPos;\n var i = 0;\n var aStart = j;\n var bStart = j;\n var aLeft = aEnd - j + 1;\n var bLeft = bEnd - j + 1;\n var sources = new Int32Array(bLeft + 1);\n // Keep track if its possible to remove whole DOM using textContent = '';\n var canRemoveWholeContent = aLeft === aLength;\n var moved = false;\n var pos = 0;\n var patched = 0;\n // When sizes are small, just loop them through\n if (bLength < 4 || (aLeft | bLeft) < 32) {\n for (i = aStart; i <= aEnd; ++i) {\n aNode = a[i];\n if (patched < bLeft) {\n for (j = bStart; j <= bEnd; j++) {\n bNode = b[j];\n if (aNode.key === bNode.key) {\n sources[j - bStart] = i + 1;\n if (canRemoveWholeContent) {\n canRemoveWholeContent = false;\n while (aStart < i) {\n remove(a[aStart++], dom);\n }\n }\n if (pos > j) {\n moved = true;\n }\n else {\n pos = j;\n }\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n ++patched;\n break;\n }\n }\n if (!canRemoveWholeContent && j > bEnd) {\n remove(aNode, dom);\n }\n }\n else if (!canRemoveWholeContent) {\n remove(aNode, dom);\n }\n }\n }\n else {\n var keyIndex = {};\n // Map keys by their index\n for (i = bStart; i <= bEnd; ++i) {\n keyIndex[b[i].key] = i;\n }\n // Try to patch same keys\n for (i = aStart; i <= aEnd; ++i) {\n aNode = a[i];\n if (patched < bLeft) {\n j = keyIndex[aNode.key];\n if (j !== void 0) {\n if (canRemoveWholeContent) {\n canRemoveWholeContent = false;\n while (i > aStart) {\n remove(a[aStart++], dom);\n }\n }\n sources[j - bStart] = i + 1;\n if (pos > j) {\n moved = true;\n }\n else {\n pos = j;\n }\n bNode = b[j];\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n ++patched;\n }\n else if (!canRemoveWholeContent) {\n remove(aNode, dom);\n }\n }\n else if (!canRemoveWholeContent) {\n remove(aNode, dom);\n }\n }\n }\n // fast-path: if nothing patched remove all old and add all new\n if (canRemoveWholeContent) {\n removeAllChildren(dom, parentVNode, a);\n mountArrayChildren(b, dom, context, isSVG, outerEdge, lifecycle);\n }\n else if (moved) {\n var seq = lis_algorithm(sources);\n j = seq.length - 1;\n for (i = bLeft - 1; i >= 0; i--) {\n if (sources[i] === 0) {\n pos = i + bStart;\n bNode = b[pos];\n if (bNode.flags & 16384 /* InUse */) {\n b[pos] = bNode = directClone(bNode);\n }\n nextPos = pos + 1;\n mount(bNode, dom, context, isSVG, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge, lifecycle);\n }\n else if (j < 0 || i !== seq[j]) {\n pos = i + bStart;\n bNode = b[pos];\n nextPos = pos + 1;\n moveVNodeDOM(bNode, dom, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge);\n }\n else {\n j--;\n }\n }\n }\n else if (patched !== bLeft) {\n // when patched count doesn't match b length we need to insert those new ones\n // loop backwards so we can use insertBefore\n for (i = bLeft - 1; i >= 0; i--) {\n if (sources[i] === 0) {\n pos = i + bStart;\n bNode = b[pos];\n if (bNode.flags & 16384 /* InUse */) {\n b[pos] = bNode = directClone(bNode);\n }\n nextPos = pos + 1;\n mount(bNode, dom, context, isSVG, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge, lifecycle);\n }\n }\n }\n}\nvar result;\nvar p;\nvar maxLen = 0;\n// https://en.wikipedia.org/wiki/Longest_increasing_subsequence\nfunction lis_algorithm(arr) {\n var arrI = 0;\n var i = 0;\n var j = 0;\n var k = 0;\n var u = 0;\n var v = 0;\n var c = 0;\n var len = arr.length;\n if (len > maxLen) {\n maxLen = len;\n result = new Int32Array(len);\n p = new Int32Array(len);\n }\n for (; i < len; ++i) {\n arrI = arr[i];\n if (arrI !== 0) {\n j = result[k];\n if (arr[j] < arrI) {\n p[i] = j;\n result[++k] = i;\n continue;\n }\n u = 0;\n v = k;\n while (u < v) {\n c = (u + v) >> 1;\n if (arr[result[c]] < arrI) {\n u = c + 1;\n }\n else {\n v = c;\n }\n }\n if (arrI < arr[result[u]]) {\n if (u > 0) {\n p[i] = result[u - 1];\n }\n result[u] = i;\n }\n }\n }\n u = k + 1;\n var seq = new Int32Array(u);\n v = result[u - 1];\n while (u-- > 0) {\n seq[u] = v;\n v = p[v];\n result[u] = 0;\n }\n return seq;\n}\n\nvar hasDocumentAvailable = typeof document !== 'undefined';\nif (hasDocumentAvailable) {\n /*\n * Defining $EV and $V properties on Node.prototype\n * fixes v8 \"wrong map\" de-optimization\n */\n if (window.Node) {\n Node.prototype.$EV = null;\n Node.prototype.$V = null;\n }\n}\nfunction __render(input, parentDOM, callback, context) {\n var lifecycle = [];\n var rootInput = parentDOM.$V;\n renderCheck.v = true;\n if (isNullOrUndef(rootInput)) {\n if (!isNullOrUndef(input)) {\n if (input.flags & 16384 /* InUse */) {\n input = directClone(input);\n }\n mount(input, parentDOM, context, false, null, lifecycle);\n parentDOM.$V = input;\n rootInput = input;\n }\n }\n else {\n if (isNullOrUndef(input)) {\n remove(rootInput, parentDOM);\n parentDOM.$V = null;\n }\n else {\n if (input.flags & 16384 /* InUse */) {\n input = directClone(input);\n }\n patch(rootInput, input, parentDOM, context, false, null, lifecycle);\n rootInput = parentDOM.$V = input;\n }\n }\n callAll(lifecycle);\n renderCheck.v = false;\n if (isFunction(callback)) {\n callback();\n }\n if (isFunction(options.renderComplete)) {\n options.renderComplete(rootInput, parentDOM);\n }\n}\nfunction render(input, parentDOM, callback, context) {\n if ( callback === void 0 ) callback = null;\n if ( context === void 0 ) context = EMPTY_OBJ;\n\n __render(input, parentDOM, callback, context);\n}\nfunction createRenderer(parentDOM) {\n return function renderer(lastInput, nextInput, callback, context) {\n if (!parentDOM) {\n parentDOM = lastInput;\n }\n render(nextInput, parentDOM, callback, context);\n };\n}\n\nvar QUEUE = [];\nvar nextTick = typeof Promise !== 'undefined'\n ? Promise.resolve().then.bind(Promise.resolve())\n : function (a) {\n window.setTimeout(a, 0);\n };\nvar microTaskPending = false;\nfunction queueStateChanges(component, newState, callback, force) {\n var pending = component.$PS;\n if (isFunction(newState)) {\n newState = newState(pending ? combineFrom(component.state, pending) : component.state, component.props, component.context);\n }\n if (isNullOrUndef(pending)) {\n component.$PS = newState;\n }\n else {\n for (var stateKey in newState) {\n pending[stateKey] = newState[stateKey];\n }\n }\n if (!component.$BR) {\n if (!renderCheck.v) {\n if (QUEUE.length === 0) {\n applyState(component, force);\n if (isFunction(callback)) {\n callback.call(component);\n }\n return;\n }\n }\n if (QUEUE.indexOf(component) === -1) {\n QUEUE.push(component);\n }\n if (force) {\n component.$F = true;\n }\n if (!microTaskPending) {\n microTaskPending = true;\n nextTick(rerender);\n }\n if (isFunction(callback)) {\n var QU = component.$QU;\n if (!QU) {\n QU = component.$QU = [];\n }\n QU.push(callback);\n }\n }\n else if (isFunction(callback)) {\n component.$L.push(callback.bind(component));\n }\n}\nfunction callSetStateCallbacks(component) {\n var queue = component.$QU;\n for (var i = 0; i < queue.length; ++i) {\n queue[i].call(component);\n }\n component.$QU = null;\n}\nfunction rerender() {\n var component;\n microTaskPending = false;\n while ((component = QUEUE.shift())) {\n if (!component.$UN) {\n var force = component.$F;\n component.$F = false;\n applyState(component, force);\n if (component.$QU) {\n callSetStateCallbacks(component);\n }\n }\n }\n}\nfunction applyState(component, force) {\n if (force || !component.$BR) {\n var pendingState = component.$PS;\n component.$PS = null;\n var lifecycle = [];\n renderCheck.v = true;\n updateClassComponent(component, combineFrom(component.state, pendingState), component.props, findDOMfromVNode(component.$LI, true).parentNode, component.context, component.$SVG, force, null, lifecycle);\n callAll(lifecycle);\n renderCheck.v = false;\n }\n else {\n component.state = component.$PS;\n component.$PS = null;\n }\n}\nvar Component = function Component(props, context) {\n // Public\n this.state = null;\n // Internal properties\n this.$BR = false; // BLOCK RENDER\n this.$BS = true; // BLOCK STATE\n this.$PS = null; // PENDING STATE (PARTIAL or FULL)\n this.$LI = null; // LAST INPUT\n this.$UN = false; // UNMOUNTED\n this.$CX = null; // CHILDCONTEXT\n this.$QU = null; // QUEUE\n this.$N = false; // Uses new lifecycle API Flag\n this.$L = null; // Current lifecycle of this component\n this.$SVG = false; // Flag to keep track if component is inside SVG tree\n this.$F = false; // Force update flag\n this.props = props || EMPTY_OBJ;\n this.context = context || EMPTY_OBJ; // context should not be mutable\n};\nComponent.prototype.forceUpdate = function forceUpdate (callback) {\n if (this.$UN) {\n return;\n }\n // Do not allow double render during force update\n queueStateChanges(this, {}, callback, true);\n};\nComponent.prototype.setState = function setState (newState, callback) {\n if (this.$UN) {\n return;\n }\n if (!this.$BS) {\n queueStateChanges(this, newState, callback, false);\n }\n};\nComponent.prototype.render = function render (_nextProps, _nextState, _nextContext) {\n return null;\n};\n\nvar version = \"7.4.11\";\n\nexport { Component, EMPTY_OBJ, Fragment, createClassComponentInstance as _CI, normalizeRoot as _HI, mount as _M, mountClassComponentCallbacks as _MCCC, mountElement as _ME, mountFunctionalComponentCallbacks as _MFCC, mountProps as _MP, mountRef as _MR, renderFunctionalComponent as _RFC, __render, createComponentVNode, createFragment, createPortal, createRef, createRenderer, createTextVNode, createVNode, directClone, findDOMfromVNode, forwardRef, getFlagsForElementVnode, linkEvent, normalizeProps, options, render, rerender, version };\n","//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.4';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3 &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","import React, {\n Fragment,\n useEffect,\n useState,\n useRef,\n useCallback,\n useMemo,\n ReactNode,\n CSSProperties,\n FC,\n forwardRef,\n Children,\n MutableRefObject,\n RefAttributes,\n} from \"react\";\nimport \"./Marquee.scss\";\n\ntype MarqueeProps = {\n /**\n * @description Inline style for the container div\n * @type {CSSProperties}\n * @default {}\n */\n style?: CSSProperties;\n /**\n * @description Class name to style the container div\n * @type {string}\n * @default \"\"\n */\n className?: string;\n /**\n * @description Whether to automatically fill blank space in the marquee with copies of the children or not\n * @type {boolean}\n * @default false\n */\n autoFill?: boolean;\n /**\n * @description Whether to play or pause the marquee\n * @type {boolean}\n * @default true\n */\n play?: boolean;\n /**\n * @description Whether to pause the marquee when hovered\n * @type {boolean}\n * @default false\n */\n pauseOnHover?: boolean;\n /**\n * @description Whether to pause the marquee when clicked\n * @type {boolean}\n * @default false\n */\n pauseOnClick?: boolean;\n /**\n * @description The direction the marquee is sliding\n * @type {\"left\" | \"right\" | \"up\" | \"down\"}\n * @default \"left\"\n */\n direction?: \"left\" | \"right\" | \"up\" | \"down\";\n /**\n * @description Speed calculated as pixels/second\n * @type {number}\n * @default 50\n */\n speed?: number;\n /**\n * @description Duration to delay the animation after render, in seconds\n * @type {number}\n * @default 0\n */\n delay?: number;\n /**\n * @description The number of times the marquee should loop, 0 is equivalent to infinite\n * @type {number}\n * @default 0\n */\n loop?: number;\n /**\n * @description Whether to show the gradient or not\n * @type {boolean}\n * @default false\n */\n gradient?: boolean;\n /**\n * @description The color of the gradient\n * @type {string}\n * @default \"white\"\n */\n gradientColor?: string;\n /**\n * @description The width of the gradient on either side\n * @type {number | string}\n * @default 200\n */\n gradientWidth?: number | string;\n /**\n * @description A callback for when the marquee finishes scrolling and stops. Only calls if loop is non-zero.\n * @type {() => void}\n * @default null\n */\n onFinish?: () => void;\n /**\n * @description A callback for when the marquee finishes a loop. Does not call if maximum loops are reached (use onFinish instead).\n * @type {() => void}\n * @default null\n */\n onCycleComplete?: () => void;\n /**\n * @description: A callback function that is invoked once the marquee has finished mounting. It can be utilized to recalculate the page size, if necessary.\n * @type {() => void}\n * @default null\n */\n onMount?: () => void;\n /**\n * @description The children rendered inside the marquee\n * @type {ReactNode}\n * @default null\n */\n children?: ReactNode;\n} & RefAttributes;\n\nconst Marquee: FC = forwardRef(function Marquee(\n {\n style = {},\n className = \"\",\n autoFill = false,\n play = true,\n pauseOnHover = false,\n pauseOnClick = false,\n direction = \"left\",\n speed = 50,\n delay = 0,\n loop = 0,\n gradient = false,\n gradientColor = \"white\",\n gradientWidth = 200,\n onFinish,\n onCycleComplete,\n onMount,\n children,\n },\n ref\n) {\n // React Hooks\n const [containerWidth, setContainerWidth] = useState(0);\n const [marqueeWidth, setMarqueeWidth] = useState(0);\n const [multiplier, setMultiplier] = useState(1);\n const [isMounted, setIsMounted] = useState(false);\n const rootRef = useRef(null);\n const containerRef = (ref as MutableRefObject) || rootRef;\n const marqueeRef = useRef(null);\n\n // Calculate width of container and marquee and set multiplier\n const calculateWidth = useCallback(() => {\n if (marqueeRef.current && containerRef.current) {\n const containerRect = containerRef.current.getBoundingClientRect();\n const marqueeRect = marqueeRef.current.getBoundingClientRect();\n let containerWidth = containerRect.width;\n let marqueeWidth = marqueeRect.width;\n\n // Swap width and height if direction is up or down\n if (direction === \"up\" || direction === \"down\") {\n containerWidth = containerRect.height;\n marqueeWidth = marqueeRect.height;\n }\n\n if (autoFill && containerWidth && marqueeWidth) {\n setMultiplier(\n marqueeWidth < containerWidth\n ? Math.ceil(containerWidth / marqueeWidth)\n : 1\n );\n } else {\n setMultiplier(1);\n }\n\n setContainerWidth(containerWidth);\n setMarqueeWidth(marqueeWidth);\n }\n }, [autoFill, containerRef, direction]);\n\n // Calculate width and multiplier on mount and on window resize\n useEffect(() => {\n if (!isMounted) return;\n\n calculateWidth();\n if (marqueeRef.current && containerRef.current) {\n const resizeObserver = new ResizeObserver(() => calculateWidth());\n resizeObserver.observe(containerRef.current);\n resizeObserver.observe(marqueeRef.current);\n return () => {\n if (!resizeObserver) return;\n resizeObserver.disconnect();\n };\n }\n }, [calculateWidth, containerRef, isMounted]);\n\n // Recalculate width when children change\n useEffect(() => {\n calculateWidth();\n }, [calculateWidth, children]);\n\n useEffect(() => {\n setIsMounted(true);\n }, []);\n\n // Runs the onMount callback, if it is a function, when Marquee is mounted.\n useEffect(() => {\n if (typeof onMount === \"function\") {\n onMount();\n }\n }, []);\n\n // Animation duration\n const duration = useMemo(() => {\n if (autoFill) {\n return (marqueeWidth * multiplier) / speed;\n } else {\n return marqueeWidth < containerWidth\n ? containerWidth / speed\n : marqueeWidth / speed;\n }\n }, [autoFill, containerWidth, marqueeWidth, multiplier, speed]);\n\n const containerStyle = useMemo(\n () => ({\n ...style,\n [\"--pause-on-hover\" as string]:\n !play || pauseOnHover ? \"paused\" : \"running\",\n [\"--pause-on-click\" as string]:\n !play || (pauseOnHover && !pauseOnClick) || pauseOnClick\n ? \"paused\"\n : \"running\",\n [\"--width\" as string]:\n direction === \"up\" || direction === \"down\" ? `100vh` : \"100%\",\n [\"--transform\" as string]:\n direction === \"up\"\n ? \"rotate(-90deg)\"\n : direction === \"down\"\n ? \"rotate(90deg)\"\n : \"none\",\n }),\n [style, play, pauseOnHover, pauseOnClick, direction]\n );\n\n const gradientStyle = useMemo(\n () => ({\n [\"--gradient-color\" as string]: gradientColor,\n [\"--gradient-width\" as string]:\n typeof gradientWidth === \"number\"\n ? `${gradientWidth}px`\n : gradientWidth,\n }),\n [gradientColor, gradientWidth]\n );\n\n const marqueeStyle = useMemo(\n () => ({\n [\"--play\" as string]: play ? \"running\" : \"paused\",\n [\"--direction\" as string]: direction === \"left\" ? \"normal\" : \"reverse\",\n [\"--duration\" as string]: `${duration}s`,\n [\"--delay\" as string]: `${delay}s`,\n [\"--iteration-count\" as string]: !!loop ? `${loop}` : \"infinite\",\n [\"--min-width\" as string]: autoFill ? `auto` : \"100%\",\n }),\n [play, direction, duration, delay, loop, autoFill]\n );\n\n const childStyle = useMemo(\n () => ({\n [\"--transform\" as string]:\n direction === \"up\"\n ? \"rotate(90deg)\"\n : direction === \"down\"\n ? \"rotate(-90deg)\"\n : \"none\",\n }),\n [direction]\n );\n\n // Render {multiplier} number of children\n const multiplyChildren = useCallback(\n (multiplier: number) => {\n return [\n ...Array(\n Number.isFinite(multiplier) && multiplier >= 0 ? multiplier : 0\n ),\n ].map((_, i) => (\n \n {Children.map(children, (child) => {\n return (\n
\n {child}\n
\n );\n })}\n
\n ));\n },\n [childStyle, children]\n );\n\n return !isMounted ? null : (\n \n {gradient &&
}\n \n
\n {Children.map(children, (child) => {\n return (\n
\n {child}\n
\n );\n })}\n
\n {multiplyChildren(multiplier - 1)}\n
\n
\n {multiplyChildren(multiplier)}\n
\n
\n );\n});\n\nexport default Marquee;\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 6061d6ae30f5a66e62e1","/** @flow */\r\nimport Highlighter from './Highlighter'\r\n\r\nexport default Highlighter\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","/* @flow */\r\nimport { findAll } from 'highlight-words-core'\r\nimport PropTypes from 'prop-types'\r\nimport { createElement } from 'react'\r\nimport memoizeOne from 'memoize-one'\r\n\r\nHighlighter.propTypes = {\r\n activeClassName: PropTypes.string,\r\n activeIndex: PropTypes.number,\r\n activeStyle: PropTypes.object,\r\n autoEscape: PropTypes.bool,\r\n className: PropTypes.string,\r\n findChunks: PropTypes.func,\r\n highlightClassName: PropTypes.oneOfType([\r\n PropTypes.object,\r\n PropTypes.string\r\n ]),\r\n highlightStyle: PropTypes.object,\r\n highlightTag: PropTypes.oneOfType([\r\n PropTypes.node,\r\n PropTypes.func,\r\n PropTypes.string\r\n ]),\r\n sanitize: PropTypes.func,\r\n searchWords: PropTypes.arrayOf(\r\n PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.instanceOf(RegExp)\r\n ])\r\n ).isRequired,\r\n textToHighlight: PropTypes.string.isRequired,\r\n unhighlightClassName: PropTypes.string,\r\n unhighlightStyle: PropTypes.object\r\n}\r\n\r\n/**\r\n * Highlights all occurrences of search terms (searchText) within a string (textToHighlight).\r\n * This function returns an array of strings and s (wrapping highlighted words).\r\n */\r\nexport default function Highlighter ({\r\n activeClassName = '',\r\n activeIndex = -1,\r\n activeStyle,\r\n autoEscape,\r\n caseSensitive = false,\r\n className,\r\n findChunks,\r\n highlightClassName = '',\r\n highlightStyle = {},\r\n highlightTag = 'mark',\r\n sanitize,\r\n searchWords,\r\n textToHighlight,\r\n unhighlightClassName = '',\r\n unhighlightStyle,\r\n ...rest\r\n}) {\r\n const chunks = findAll({\r\n autoEscape,\r\n caseSensitive,\r\n findChunks,\r\n sanitize,\r\n searchWords,\r\n textToHighlight\r\n })\r\n const HighlightTag = highlightTag\r\n let highlightIndex = -1\r\n let highlightClassNames = ''\r\n let highlightStyles\r\n\r\n const lowercaseProps = object => {\r\n const mapped = {}\r\n for (let key in object) {\r\n mapped[key.toLowerCase()] = object[key]\r\n }\r\n return mapped\r\n }\r\n const memoizedLowercaseProps = memoizeOne(lowercaseProps)\r\n\r\n return createElement('span', {\r\n className,\r\n ...rest,\r\n children: chunks.map((chunk, index) => {\r\n const text = textToHighlight.substr(chunk.start, chunk.end - chunk.start)\r\n\r\n if (chunk.highlight) {\r\n highlightIndex++\r\n\r\n let highlightClass\r\n if (typeof highlightClassName === 'object') {\r\n if (!caseSensitive) {\r\n highlightClassName = memoizedLowercaseProps(highlightClassName)\r\n highlightClass = highlightClassName[text.toLowerCase()]\r\n } else {\r\n highlightClass = highlightClassName[text]\r\n }\r\n } else {\r\n highlightClass = highlightClassName\r\n }\r\n\r\n const isActive = highlightIndex === +activeIndex\r\n\r\n highlightClassNames = `${highlightClass} ${isActive ? activeClassName : ''}`\r\n highlightStyles = isActive === true && activeStyle != null\r\n ? Object.assign({}, highlightStyle, activeStyle)\r\n : highlightStyle\r\n\r\n const props = {\r\n children: text,\r\n className: highlightClassNames,\r\n key: index,\r\n style: highlightStyles\r\n }\r\n\r\n // Don't attach arbitrary props to DOM elements; this triggers React DEV warnings (https://fb.me/react-unknown-prop)\r\n // Only pass through the highlightIndex attribute for custom components.\r\n if (typeof HighlightTag !== 'string') {\r\n props.highlightIndex = highlightIndex\r\n }\r\n\r\n return createElement(HighlightTag, props)\r\n } else {\r\n return createElement('span', {\r\n children: text,\r\n className: unhighlightClassName,\r\n key: index,\r\n style: unhighlightStyle\r\n })\r\n }\r\n })\r\n })\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/Highlighter.js","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1);\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _utils = __webpack_require__(2);\n\t\n\tObject.defineProperty(exports, 'combineChunks', {\n\t enumerable: true,\n\t get: function get() {\n\t return _utils.combineChunks;\n\t }\n\t});\n\tObject.defineProperty(exports, 'fillInChunks', {\n\t enumerable: true,\n\t get: function get() {\n\t return _utils.fillInChunks;\n\t }\n\t});\n\tObject.defineProperty(exports, 'findAll', {\n\t enumerable: true,\n\t get: function get() {\n\t return _utils.findAll;\n\t }\n\t});\n\tObject.defineProperty(exports, 'findChunks', {\n\t enumerable: true,\n\t get: function get() {\n\t return _utils.findChunks;\n\t }\n\t});\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t/**\n\t * Creates an array of chunk objects representing both higlightable and non highlightable pieces of text that match each search word.\n\t * @return Array of \"chunks\" (where a Chunk is { start:number, end:number, highlight:boolean })\n\t */\n\tvar findAll = exports.findAll = function findAll(_ref) {\n\t var autoEscape = _ref.autoEscape,\n\t _ref$caseSensitive = _ref.caseSensitive,\n\t caseSensitive = _ref$caseSensitive === undefined ? false : _ref$caseSensitive,\n\t _ref$findChunks = _ref.findChunks,\n\t findChunks = _ref$findChunks === undefined ? defaultFindChunks : _ref$findChunks,\n\t sanitize = _ref.sanitize,\n\t searchWords = _ref.searchWords,\n\t textToHighlight = _ref.textToHighlight;\n\t return fillInChunks({\n\t chunksToHighlight: combineChunks({\n\t chunks: findChunks({\n\t autoEscape: autoEscape,\n\t caseSensitive: caseSensitive,\n\t sanitize: sanitize,\n\t searchWords: searchWords,\n\t textToHighlight: textToHighlight\n\t })\n\t }),\n\t totalLength: textToHighlight ? textToHighlight.length : 0\n\t });\n\t};\n\t\n\t/**\n\t * Takes an array of {start:number, end:number} objects and combines chunks that overlap into single chunks.\n\t * @return {start:number, end:number}[]\n\t */\n\tvar combineChunks = exports.combineChunks = function combineChunks(_ref2) {\n\t var chunks = _ref2.chunks;\n\t\n\t chunks = chunks.sort(function (first, second) {\n\t return first.start - second.start;\n\t }).reduce(function (processedChunks, nextChunk) {\n\t // First chunk just goes straight in the array...\n\t if (processedChunks.length === 0) {\n\t return [nextChunk];\n\t } else {\n\t // ... subsequent chunks get checked to see if they overlap...\n\t var prevChunk = processedChunks.pop();\n\t if (nextChunk.start <= prevChunk.end) {\n\t // It may be the case that prevChunk completely surrounds nextChunk, so take the\n\t // largest of the end indeces.\n\t var endIndex = Math.max(prevChunk.end, nextChunk.end);\n\t processedChunks.push({ start: prevChunk.start, end: endIndex });\n\t } else {\n\t processedChunks.push(prevChunk, nextChunk);\n\t }\n\t return processedChunks;\n\t }\n\t }, []);\n\t\n\t return chunks;\n\t};\n\t\n\t/**\n\t * Examine text for any matches.\n\t * If we find matches, add them to the returned array as a \"chunk\" object ({start:number, end:number}).\n\t * @return {start:number, end:number}[]\n\t */\n\tvar defaultFindChunks = function defaultFindChunks(_ref3) {\n\t var autoEscape = _ref3.autoEscape,\n\t caseSensitive = _ref3.caseSensitive,\n\t _ref3$sanitize = _ref3.sanitize,\n\t sanitize = _ref3$sanitize === undefined ? identity : _ref3$sanitize,\n\t searchWords = _ref3.searchWords,\n\t textToHighlight = _ref3.textToHighlight;\n\t\n\t textToHighlight = sanitize(textToHighlight);\n\t\n\t return searchWords.filter(function (searchWord) {\n\t return searchWord;\n\t }) // Remove empty words\n\t .reduce(function (chunks, searchWord) {\n\t searchWord = sanitize(searchWord);\n\t\n\t if (autoEscape) {\n\t searchWord = escapeRegExpFn(searchWord);\n\t }\n\t\n\t var regex = new RegExp(searchWord, caseSensitive ? 'g' : 'gi');\n\t\n\t var match = void 0;\n\t while (match = regex.exec(textToHighlight)) {\n\t var start = match.index;\n\t var end = regex.lastIndex;\n\t // We do not return zero-length matches\n\t if (end > start) {\n\t chunks.push({ start: start, end: end });\n\t }\n\t\n\t // Prevent browsers like Firefox from getting stuck in an infinite loop\n\t // See http://www.regexguru.com/2008/04/watch-out-for-zero-length-matches/\n\t if (match.index == regex.lastIndex) {\n\t regex.lastIndex++;\n\t }\n\t }\n\t\n\t return chunks;\n\t }, []);\n\t};\n\t// Allow the findChunks to be overridden in findAll,\n\t// but for backwards compatibility we export as the old name\n\texports.findChunks = defaultFindChunks;\n\t\n\t/**\n\t * Given a set of chunks to highlight, create an additional set of chunks\n\t * to represent the bits of text between the highlighted text.\n\t * @param chunksToHighlight {start:number, end:number}[]\n\t * @param totalLength number\n\t * @return {start:number, end:number, highlight:boolean}[]\n\t */\n\t\n\tvar fillInChunks = exports.fillInChunks = function fillInChunks(_ref4) {\n\t var chunksToHighlight = _ref4.chunksToHighlight,\n\t totalLength = _ref4.totalLength;\n\t\n\t var allChunks = [];\n\t var append = function append(start, end, highlight) {\n\t if (end - start > 0) {\n\t allChunks.push({\n\t start: start,\n\t end: end,\n\t highlight: highlight\n\t });\n\t }\n\t };\n\t\n\t if (chunksToHighlight.length === 0) {\n\t append(0, totalLength, false);\n\t } else {\n\t var lastIndex = 0;\n\t chunksToHighlight.forEach(function (chunk) {\n\t append(lastIndex, chunk.start, false);\n\t append(chunk.start, chunk.end, true);\n\t lastIndex = chunk.end;\n\t });\n\t append(lastIndex, totalLength, false);\n\t }\n\t return allChunks;\n\t};\n\t\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tfunction escapeRegExpFn(str) {\n\t return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n\t}\n\n/***/ })\n/******/ ]);\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/highlight-words-core/dist/index.js\n// module id = 3\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/index.js\n// module id = 4\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // 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\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // 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.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 5\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n warning(\n false,\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `%s` prop on `%s`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',\n propFullName,\n componentName\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunction.thatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n warning(\n false,\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received %s at index %s.',\n getPostfixForTypeWarning(checker),\n i\n );\n return emptyFunction.thatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/factoryWithTypeCheckers.js\n// module id = 6\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/emptyFunction.js\n// module id = 7\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/invariant.js\n// module id = 8\n// module chunks = 0","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/warning.js\n// module id = 9\n// module chunks = 0","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/object-assign/index.js\n// module id = 10\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/lib/ReactPropTypesSecret.js\n// module id = 11\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== 'production') {\n var invariant = require('fbjs/lib/invariant');\n var warning = require('fbjs/lib/warning');\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/checkPropTypes.js\n// module id = 12\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/factoryWithThrowingShims.js\n// module id = 13\n// module chunks = 0","module.exports = require(\"react\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"react\"\n// module id = 14\n// module chunks = 0","'use strict';\n\nvar simpleIsEqual = function simpleIsEqual(a, b) {\n return a === b;\n};\n\nfunction index (resultFn) {\n var isEqual = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : simpleIsEqual;\n\n var lastThis = void 0;\n var lastArgs = [];\n var lastResult = void 0;\n var calledOnce = false;\n\n var isNewArgEqualToLast = function isNewArgEqualToLast(newArg, index) {\n return isEqual(newArg, lastArgs[index]);\n };\n\n var result = function result() {\n for (var _len = arguments.length, newArgs = Array(_len), _key = 0; _key < _len; _key++) {\n newArgs[_key] = arguments[_key];\n }\n\n if (calledOnce && lastThis === this && newArgs.length === lastArgs.length && newArgs.every(isNewArgEqualToLast)) {\n return lastResult;\n }\n\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n lastResult = resultFn.apply(this, newArgs);\n return lastResult;\n };\n\n return result;\n}\n\nmodule.exports = index;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/memoize-one/dist/memoize-one.cjs.js\n// module id = 15\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = require(\"./ModalPortal\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\n\nvar isReact16 = _safeHTMLElement.canUseDOM && _reactDom2.default.createPortal !== undefined;\n\nvar createHTMLElement = function createHTMLElement(name) {\n return document.createElement(name);\n};\n\nvar getCreatePortal = function getCreatePortal() {\n return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n return parentSelector();\n}\n\nvar Modal = function (_Component) {\n _inherits(Modal, _Component);\n\n function Modal() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n var parent = getParentElement(_this.props.parentSelector);\n if (parent && parent.contains(_this.node)) {\n parent.removeChild(_this.node);\n } else {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"parentSelector\" prop did not returned any DOM ' + \"element. Make sure that the parent element is unmounted to \" + \"avoid any memory leaks.\");\n }\n }, _this.portalRef = function (ref) {\n _this.portal = ref;\n }, _this.renderPortal = function (props) {\n var createPortal = getCreatePortal();\n var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node);\n _this.portalRef(portal);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_safeHTMLElement.canUseDOM) return;\n\n if (!isReact16) {\n this.node = createHTMLElement(\"div\");\n }\n this.node.className = this.props.portalClassName;\n\n var parent = getParentElement(this.props.parentSelector);\n parent.appendChild(this.node);\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n var prevParent = getParentElement(prevProps.parentSelector);\n var nextParent = getParentElement(this.props.parentSelector);\n return { prevParent: prevParent, nextParent: nextParent };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, _, snapshot) {\n if (!_safeHTMLElement.canUseDOM) return;\n var _props = this.props,\n isOpen = _props.isOpen,\n portalClassName = _props.portalClassName;\n\n\n if (prevProps.portalClassName !== portalClassName) {\n this.node.className = portalClassName;\n }\n\n var prevParent = snapshot.prevParent,\n nextParent = snapshot.nextParent;\n\n if (nextParent !== prevParent) {\n prevParent.removeChild(this.node);\n nextParent.appendChild(this.node);\n }\n\n // Stop unnecessary renders if modal is remaining closed\n if (!prevProps.isOpen && !isOpen) return;\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n\n var state = this.portal.state;\n var now = Date.now();\n var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n if (closesAt) {\n if (!state.beforeClose) {\n this.portal.closeWithTimeout();\n }\n\n setTimeout(this.removePortal, closesAt - now);\n } else {\n this.removePortal();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!_safeHTMLElement.canUseDOM || !isReact16) {\n return null;\n }\n\n if (!this.node && isReact16) {\n this.node = createHTMLElement(\"div\");\n }\n\n var createPortal = getCreatePortal();\n return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n ref: this.portalRef,\n defaultStyles: Modal.defaultStyles\n }, this.props)), this.node);\n }\n }], [{\n key: \"setAppElement\",\n value: function setAppElement(element) {\n ariaAppHider.setElement(element);\n }\n\n /* eslint-disable react/no-unused-prop-types */\n\n /* eslint-enable react/no-unused-prop-types */\n\n }]);\n\n return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n portalClassName: _propTypes2.default.string,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n ariaHideApp: _propTypes2.default.bool,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n parentSelector: _propTypes2.default.func,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func\n};\nModal.defaultProps = {\n isOpen: false,\n portalClassName: portalClassName,\n bodyOpenClassName: bodyOpenClassName,\n role: \"dialog\",\n ariaHideApp: true,\n closeTimeoutMS: 0,\n shouldFocusAfterRender: true,\n shouldCloseOnEsc: true,\n shouldCloseOnOverlayClick: true,\n shouldReturnFocusAfterClose: true,\n preventScroll: false,\n parentSelector: function parentSelector() {\n return document.body;\n },\n overlayElement: function overlayElement(props, contentEl) {\n return _react2.default.createElement(\n \"div\",\n props,\n contentEl\n );\n },\n contentElement: function contentElement(props, children) {\n return _react2.default.createElement(\n \"div\",\n props,\n children\n );\n }\n};\nModal.defaultStyles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n },\n content: {\n position: \"absolute\",\n top: \"40px\",\n left: \"40px\",\n right: \"40px\",\n bottom: \"40px\",\n border: \"1px solid #ccc\",\n background: \"#fff\",\n overflow: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n borderRadius: \"4px\",\n outline: \"none\",\n padding: \"20px\"\n }\n};\n\n\n(0, _reactLifecyclesCompat.polyfill)(Modal);\n\nif (process.env.NODE_ENV !== \"production\") {\n Modal.setCreateHTMLElement = function (fn) {\n return createHTMLElement = fn;\n };\n}\n\nexports.default = Modal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = require(\"../helpers/focusManager\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = require(\"../helpers/scopeTab\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = require(\"../helpers/classList\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _portalOpenInstances = require(\"../helpers/portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nrequire(\"../helpers/bodyTrap\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// so that our CSS is statically analyzable\nvar CLASS_NAMES = {\n overlay: \"ReactModal__Overlay\",\n content: \"ReactModal__Content\"\n};\n\nvar TAB_KEY = 9;\nvar ESC_KEY = 27;\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName;\n\n // Remove classes.\n\n bodyOpenClassName && classList.remove(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.remove(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus(_this.props.preventScroll);\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n\n _portalOpenInstances2.default.deregister(_this);\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.openAnimationFrame = requestAnimationFrame(function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen({\n overlayEl: _this.overlay,\n contentEl: _this.content\n });\n }\n });\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus({ preventScroll: true });\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (event.keyCode === TAB_KEY) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose();\n }\n clearTimeout(this.closeTimer);\n cancelAnimationFrame(this.openAnimationFrame);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName;\n\n // Add classes.\n\n bodyOpenClassName && classList.add(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n\n _portalOpenInstances2.default.register(this);\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n id = _props2.id,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles,\n children = _props2.children;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n if (this.shouldBeClosed()) {\n return null;\n }\n\n var overlayProps = {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n };\n\n var contentProps = _extends({\n id: id,\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", _extends({ modal: true }, this.props.aria)), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n });\n\n var contentElement = this.props.contentElement(contentProps, children);\n return this.props.overlayElement(overlayProps, contentElement);\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n if (globalElement) {\n if (globalElement.removeAttribute) {\n globalElement.removeAttribute(\"aria-hidden\");\n } else if (globalElement.length != null) {\n globalElement.forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n } else {\n document.querySelectorAll(globalElement).forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n }\n }\n globalElement = null;\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var check = globalElement || {};\n console.log(\"ariaAppHider ----------\");\n console.log(check.nodeName, check.className, check.id);\n console.log(\"end ariaAppHider ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n var el = appElement || globalElement;\n if (el) {\n return Array.isArray(el) || el instanceof HTMLCollection || el instanceof NodeList ? el : [el];\n } else {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return [];\n }\n}\n\nfunction hide(appElement) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = validateElement(appElement)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var el = _step.value;\n\n el.setAttribute(\"aria-hidden\", \"true\");\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\n\nfunction show(appElement) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = validateElement(appElement)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var el = _step2.value;\n\n el.removeAttribute(\"aria-hidden\");\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\n\nvar _portalOpenInstances = require(\"./portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Body focus trap see Issue #742\n\nvar before = void 0,\n after = void 0,\n instances = [];\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n var _arr = [before, after];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var item = _arr[_i];\n if (!item) continue;\n item.parentNode && item.parentNode.removeChild(item);\n }\n before = after = null;\n instances = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n console.log(\"bodyTrap ----------\");\n console.log(instances.length);\n var _arr2 = [before, after];\n for (var _i2 = 0; _i2 < _arr2.length; _i2++) {\n var item = _arr2[_i2];\n var check = item || {};\n console.log(check.nodeName, check.className, check.id);\n }\n console.log(\"edn bodyTrap ----------\");\n}\n/* eslint-enable no-console */\n\nfunction focusContent() {\n if (instances.length === 0) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Open instances > 0 expected\");\n }\n return;\n }\n instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n if (!before && !after) {\n before = document.createElement(\"div\");\n before.setAttribute(\"data-react-modal-body-trap\", \"\");\n before.style.position = \"absolute\";\n before.style.opacity = \"0\";\n before.setAttribute(\"tabindex\", \"0\");\n before.addEventListener(\"focus\", focusContent);\n after = before.cloneNode();\n after.addEventListener(\"focus\", focusContent);\n }\n\n instances = openInstances;\n\n if (instances.length > 0) {\n // Add focus trap\n if (document.body.firstChild !== before) {\n document.body.insertBefore(before, document.body.firstChild);\n }\n if (document.body.lastChild !== after) {\n document.body.appendChild(after);\n }\n } else {\n // Remove focus trap\n if (before.parentElement) {\n before.parentElement.removeChild(before);\n }\n if (after.parentElement) {\n after.parentElement.removeChild(after);\n }\n }\n}\n\n_portalOpenInstances2.default.subscribe(bodyTrap);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction removeClass(at, cls) {\n at.classList.remove(cls);\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n var htmlElement = document.getElementsByTagName(\"html\")[0];\n for (var cls in htmlClassList) {\n removeClass(htmlElement, htmlClassList[cls]);\n }\n\n var body = document.body;\n for (var _cls in docBodyClassList) {\n removeClass(body, docBodyClassList[_cls]);\n }\n\n htmlClassList = {};\n docBodyClassList = {};\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \" (\" + classes + \"):\\n \";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n \";\n }\n\n classes = document.body.className;\n\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n \";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n \";\n }\n\n buffer += \"\\n\";\n\n console.log(buffer);\n }\n}\n/* eslint-enable no-console */\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n focusLaterElements = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n console.log(\"focusManager ----------\");\n focusLaterElements.forEach(function (f) {\n var check = f || {};\n console.log(check.nodeName, check.className, check.id);\n });\n console.log(\"end focusManager ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var preventScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus({ preventScroll: preventScroll });\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.log = log;\nexports.resetState = resetState;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Tracks portals that are open and emits events to subscribers\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n var _this = this;\n\n _classCallCheck(this, PortalOpenInstances);\n\n this.register = function (openInstance) {\n if (_this.openInstances.indexOf(openInstance) !== -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Cannot register modal instance that's already open\");\n }\n return;\n }\n _this.openInstances.push(openInstance);\n _this.emit(\"register\");\n };\n\n this.deregister = function (openInstance) {\n var index = _this.openInstances.indexOf(openInstance);\n if (index === -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Unable to deregister \" + openInstance + \" as \" + \"it was never registered\");\n }\n return;\n }\n _this.openInstances.splice(index, 1);\n _this.emit(\"deregister\");\n };\n\n this.subscribe = function (callback) {\n _this.subscribers.push(callback);\n };\n\n this.emit = function (eventType) {\n _this.subscribers.forEach(function (subscriber) {\n return subscriber(eventType,\n // shallow copy to avoid accidental mutation\n _this.openInstances.slice());\n });\n };\n\n this.openInstances = [];\n this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction log() {\n console.log(\"portalOpenInstances ----------\");\n console.log(portalOpenInstances.openInstances.length);\n portalOpenInstances.openInstances.forEach(function (p) {\n return console.log(p);\n });\n console.log(\"end portalOpenInstances ----------\");\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n portalOpenInstances = new PortalOpenInstances();\n}\n/* eslint-enable no-console */\n\nexports.default = portalOpenInstances;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = exports.SafeNodeList = exports.SafeHTMLCollection = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar SafeHTMLCollection = exports.SafeHTMLCollection = EE.canUseDOM ? window.HTMLCollection : {};\n\nvar SafeNodeList = exports.SafeNodeList = EE.canUseDOM ? window.NodeList : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getActiveElement() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n\n return el.activeElement.shadowRoot ? getActiveElement(el.activeElement.shadowRoot) : el.activeElement;\n}\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var target = void 0;\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n var activeElement = getActiveElement();\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n if (tail === activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n target = tabbable[x];\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof target === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n target.focus();\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar tabbableNode = /input|select|textarea|button|object|iframe/;\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n try {\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n return zeroSize ? style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0 : style.getPropertyValue(\"display\") == \"none\";\n } catch (exception) {\n // eslint-disable-next-line no-console\n console.warn(\"Failed to inspect element style\");\n return false;\n }\n}\n\nfunction visible(element) {\n var parentElement = element;\n var rootNode = element.getRootNode && element.getRootNode();\n while (parentElement) {\n if (parentElement === document.body) break;\n\n // if we are not hidden yet, skip to checking outside the Web Component\n if (rootNode && parentElement === rootNode) parentElement = rootNode.host.parentNode;\n\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n var descendants = [].slice.call(element.querySelectorAll(\"*\"), 0).reduce(function (finished, el) {\n return finished.concat(!el.shadowRoot ? [el] : findTabbableDescendants(el.shadowRoot));\n }, []);\n return descendants.filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect =\n /*#__PURE__*/\n function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"react\"),n=require(\"use-sync-external-store/shim\");function p(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var q=\"function\"===typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;\nexports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]);\nu(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + {\"213\":\"270efac2\",\"239\":\"1831c22a\",\"667\":\"5aef3734\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"antd-demo:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkantd_demo\"] = self[\"webpackChunkantd_demo\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const DEFAULT_BREAKPOINTS = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nconst ThemeContext = /*#__PURE__*/React.createContext({\n prefixes: {},\n breakpoints: DEFAULT_BREAKPOINTS\n});\nconst {\n Consumer,\n Provider\n} = ThemeContext;\n\nfunction ThemeProvider({\n prefixes = {},\n breakpoints = DEFAULT_BREAKPOINTS,\n dir,\n children\n}) {\n const contextValue = useMemo(() => ({\n prefixes: { ...prefixes\n },\n breakpoints,\n dir\n }), [prefixes, breakpoints, dir]);\n return /*#__PURE__*/_jsx(Provider, {\n value: contextValue,\n children: children\n });\n}\n\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n const {\n prefixes\n } = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\nexport function useBootstrapBreakpoints() {\n const {\n breakpoints\n } = useContext(ThemeContext);\n return breakpoints;\n}\nexport function useIsRTL() {\n const {\n dir\n } = useContext(ThemeContext);\n return dir === 'rtl';\n}\n\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n const isClassy = Component.prototype && Component.prototype.isReactComponent; // If it's a functional component make sure we don't break it with a ref\n\n const {\n prefix,\n forwardRefAs = isClassy ? 'ref' : 'innerRef'\n } = opts;\n const Wrapped = /*#__PURE__*/React.forwardRef(({ ...props\n }, ref) => {\n props[forwardRefAs] = ref;\n const bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/_jsx(Component, { ...props,\n bsPrefix: bsPrefix\n });\n });\n Wrapped.displayName = `Bootstrap(${Component.displayName || Component.name})`;\n return Wrapped;\n}\n\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Row = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n const breakpoints = useBootstrapBreakpoints();\n const sizePrefix = `${decoratedBsPrefix}-cols`;\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let cols;\n\n if (propValue != null && typeof propValue === 'object') {\n ({\n cols\n } = propValue);\n } else {\n cols = propValue;\n }\n\n const infix = brkPoint !== 'xs' ? `-${brkPoint}` : '';\n if (cols != null) classes.push(`${sizePrefix}${infix}-${cols}`);\n });\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, ...classes)\n });\n});\nRow.displayName = 'Row';\nexport default Row;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useCol({\n as,\n bsPrefix,\n className,\n ...props\n}) {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'col');\n const breakpoints = useBootstrapBreakpoints();\n const spans = [];\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let span;\n let offset;\n let order;\n\n if (typeof propValue === 'object' && propValue != null) {\n ({\n span,\n offset,\n order\n } = propValue);\n } else {\n span = propValue;\n }\n\n const infix = brkPoint !== 'xs' ? `-${brkPoint}` : '';\n if (span) spans.push(span === true ? `${bsPrefix}${infix}` : `${bsPrefix}${infix}-${span}`);\n if (order != null) classes.push(`order${infix}-${order}`);\n if (offset != null) classes.push(`offset${infix}-${offset}`);\n });\n return [{ ...props,\n className: classNames(className, ...spans, ...classes)\n }, {\n as,\n bsPrefix,\n spans\n }];\n}\nconst Col = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n(props, ref) => {\n const [{\n className,\n ...colProps\n }, {\n as: Component = 'div',\n bsPrefix,\n spans\n }] = useCol(props);\n return /*#__PURE__*/_jsx(Component, { ...colProps,\n ref: ref,\n className: classNames(className, !spans.length && bsPrefix)\n });\n});\nCol.displayName = 'Col';\nexport default Col;","import * as React from 'react';\nexport const defaultIconPrefixCls = 'anticon';\nexport const Variants = ['outlined', 'borderless', 'filled'];\nconst defaultGetPrefixCls = (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) {\n return customizePrefixCls;\n }\n return suffixCls ? `ant-${suffixCls}` : 'ant';\n};\n// zombieJ: 🚨 Do not pass `defaultRenderEmpty` here since it will cause circular dependency.\nexport const ConfigContext = /*#__PURE__*/React.createContext({\n // We provide a default function for Context without provider\n getPrefixCls: defaultGetPrefixCls,\n iconPrefixCls: defaultIconPrefixCls\n});\nexport const {\n Consumer: ConfigConsumer\n} = ConfigContext;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","import _typeof from \"./typeof.js\";\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n };\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nexport { _regeneratorRuntime as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nfunction _createSuper(t) {\n var r = isNativeReflectConstruct();\n return function () {\n var e,\n o = getPrototypeOf(t);\n if (r) {\n var s = getPrototypeOf(this).constructor;\n e = Reflect.construct(o, arguments, s);\n } else e = o.apply(this, arguments);\n return possibleConstructorReturn(this, e);\n };\n}\nexport { _createSuper as default };","import React from 'react';\nimport { isFragment } from 'react-is';\nexport default function toArray(children) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ret = [];\n React.Children.forEach(children, function (child) {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n return ret;\n}","/* eslint-disable no-console */\nvar warned = {};\nvar preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nexport var preMessage = function preMessage(fn) {\n preWarningFns.push(fn);\n};\n\n/**\n * Warning if condition not match.\n * @param valid Condition\n * @param message Warning message\n * @example\n * ```js\n * warning(false, 'some error'); // print some error\n * warning(true, 'some error'); // print nothing\n * warning(1 === 2, 'some error'); // print some error\n * ```\n */\nexport function warning(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning');\n }, message);\n if (finalMessage) {\n console.error(\"Warning: \".concat(finalMessage));\n }\n }\n}\n\n/** @see Similar to {@link warning} */\nexport function note(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note');\n }, message);\n if (finalMessage) {\n console.warn(\"Note: \".concat(finalMessage));\n }\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nexport default warningOnce;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport warning from \"./warning\";\n\n/**\n * Deeply compares two object literals.\n * @param obj1 object 1\n * @param obj2 object 2\n * @param shallow shallow compare\n * @returns\n */\nfunction isEqual(obj1, obj2) {\n var shallow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n // https://github.com/mapbox/mapbox-gl-js/pull/5979/files#diff-fde7145050c47cc3a306856efd5f9c3016e86e859de9afbd02c879be5067e58f\n var refSet = new Set();\n function deepEqual(a, b) {\n var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var circular = refSet.has(a);\n warning(!circular, 'Warning: There may be circular references');\n if (circular) {\n return false;\n }\n if (a === b) {\n return true;\n }\n if (shallow && level > 1) {\n return false;\n }\n refSet.add(a);\n var newLevel = level + 1;\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n for (var i = 0; i < a.length; i++) {\n if (!deepEqual(a[i], b[i], newLevel)) {\n return false;\n }\n }\n return true;\n }\n if (a && b && _typeof(a) === 'object' && _typeof(b) === 'object') {\n var keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) {\n return false;\n }\n return keys.every(function (key) {\n return deepEqual(a[key], b[key], newLevel);\n });\n }\n // other\n return false;\n }\n return deepEqual(obj1, obj2);\n}\nexport default isEqual;","import warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nexport var HOOK_MARK = 'RC_FORM_INTERNAL_HOOKS';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar warningFunc = function warningFunc() {\n warning(false, 'Can not find FormContext. Please make sure you wrap Field under Form.');\n};\nvar Context = /*#__PURE__*/React.createContext({\n getFieldValue: warningFunc,\n getFieldsValue: warningFunc,\n getFieldError: warningFunc,\n getFieldWarning: warningFunc,\n getFieldsError: warningFunc,\n isFieldsTouched: warningFunc,\n isFieldTouched: warningFunc,\n isFieldValidating: warningFunc,\n isFieldsValidating: warningFunc,\n resetFields: warningFunc,\n setFields: warningFunc,\n setFieldValue: warningFunc,\n setFieldsValue: warningFunc,\n validateFields: warningFunc,\n submit: warningFunc,\n getInternalHooks: function getInternalHooks() {\n warningFunc();\n return {\n dispatch: warningFunc,\n initEntityValue: warningFunc,\n registerField: warningFunc,\n useSubscribe: warningFunc,\n setInitialValues: warningFunc,\n destroyForm: warningFunc,\n setCallbacks: warningFunc,\n registerWatch: warningFunc,\n getFields: warningFunc,\n setValidateMessages: warningFunc,\n setPreserve: warningFunc,\n getInitialValue: warningFunc\n };\n }\n});\nexport default Context;","import * as React from 'react';\nvar ListContext = /*#__PURE__*/React.createContext(null);\nexport default ListContext;","export function toArray(value) {\n if (value === undefined || value === null) {\n return [];\n }\n return Array.isArray(value) ? value : [value];\n}\nexport function isFormInstance(form) {\n return form && !!form._init;\n}","export function newMessages() {\n return {\n default: 'Validation error on field %s',\n required: '%s is required',\n enum: '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid'\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n boolean: '%s is not a %s',\n integer: '%s is not an %s',\n float: '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s'\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters'\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s'\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length'\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s'\n },\n clone: function clone() {\n var cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n }\n };\n}\nexport var messages = newMessages();","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, _wrapNativeSuper(t);\n}\nexport { _wrapNativeSuper as default };","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nexport { _isNativeFunction as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _wrapNativeSuper from \"@babel/runtime/helpers/esm/wrapNativeSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n/* eslint no-console:0 */\n\nvar formatRegExp = /%[sdj%]/g;\nexport var warning = function warning() {};\n\n// don't print warning message when in production env or node runtime\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n warning = function warning(type, errors) {\n if (typeof console !== 'undefined' && console.warn && typeof ASYNC_VALIDATOR_NO_WARNING === 'undefined') {\n if (errors.every(function (e) {\n return typeof e === 'string';\n })) {\n console.warn(type, errors);\n }\n }\n };\n}\nexport function convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n var fields = {};\n errors.forEach(function (error) {\n var field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\nexport function format(template) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n var i = 0;\n var len = args.length;\n if (typeof template === 'function') {\n // eslint-disable-next-line prefer-spread\n return template.apply(null, args);\n }\n if (typeof template === 'string') {\n var str = template.replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n if (i >= len) {\n return x;\n }\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n break;\n default:\n return x;\n }\n });\n return str;\n }\n return template;\n}\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'date' || type === 'pattern';\n}\nexport function isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n return false;\n}\nexport function isEmptyObject(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction asyncParallelArray(arr, func, callback) {\n var results = [];\n var total = 0;\n var arrLength = arr.length;\n function count(errors) {\n results.push.apply(results, _toConsumableArray(errors || []));\n total++;\n if (total === arrLength) {\n callback(results);\n }\n }\n arr.forEach(function (a) {\n func(a, count);\n });\n}\nfunction asyncSerialArray(arr, func, callback) {\n var index = 0;\n var arrLength = arr.length;\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n var original = index;\n index = index + 1;\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n next([]);\n}\nfunction flattenObjArr(objArr) {\n var ret = [];\n Object.keys(objArr).forEach(function (k) {\n ret.push.apply(ret, _toConsumableArray(objArr[k] || []));\n });\n return ret;\n}\nexport var AsyncValidationError = /*#__PURE__*/function (_Error) {\n _inherits(AsyncValidationError, _Error);\n var _super = _createSuper(AsyncValidationError);\n function AsyncValidationError(errors, fields) {\n var _this;\n _classCallCheck(this, AsyncValidationError);\n _this = _super.call(this, 'Async Validation Error');\n _defineProperty(_assertThisInitialized(_this), \"errors\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"fields\", void 0);\n _this.errors = errors;\n _this.fields = fields;\n return _this;\n }\n return _createClass(AsyncValidationError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nexport function asyncMap(objArr, option, func, callback, source) {\n if (option.first) {\n var _pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n callback(errors);\n return errors.length ? reject(new AsyncValidationError(errors, convertFieldsError(errors))) : resolve(source);\n };\n var flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n _pending.catch(function (e) {\n return e;\n });\n return _pending;\n }\n var firstFields = option.firstFields === true ? Object.keys(objArr) : option.firstFields || [];\n var objArrKeys = Object.keys(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n // eslint-disable-next-line prefer-spread\n results.push.apply(results, errors);\n total++;\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject(new AsyncValidationError(results, convertFieldsError(results))) : resolve(source);\n }\n };\n if (!objArrKeys.length) {\n callback(results);\n resolve(source);\n }\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending.catch(function (e) {\n return e;\n });\n return pending;\n}\nfunction isErrorObj(obj) {\n return !!(obj && obj.message !== undefined);\n}\nfunction getValue(value, path) {\n var v = value;\n for (var i = 0; i < path.length; i++) {\n if (v == undefined) {\n return v;\n }\n v = v[path[i]];\n }\n return v;\n}\nexport function complementError(rule, source) {\n return function (oe) {\n var fieldValue;\n if (rule.fullFields) {\n fieldValue = getValue(source, rule.fullFields);\n } else {\n fieldValue = source[oe.field || rule.fullField];\n }\n if (isErrorObj(oe)) {\n oe.field = oe.field || rule.fullField;\n oe.fieldValue = fieldValue;\n return oe;\n }\n return {\n message: typeof oe === 'function' ? oe() : oe,\n fieldValue: fieldValue,\n field: oe.field || rule.fullField\n };\n };\n}\nexport function deepMerge(target, source) {\n if (source) {\n for (var s in source) {\n if (source.hasOwnProperty(s)) {\n var value = source[s];\n if (_typeof(value) === 'object' && _typeof(target[s]) === 'object') {\n target[s] = _objectSpread(_objectSpread({}, target[s]), value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n return target;\n}","import { format } from \"../util\";\nvar ENUM = 'enum';\nvar enumerable = function enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n }\n};\nexport default enumerable;","import { format } from \"../util\";\nvar pattern = function pattern(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n if (!rule.pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n } else if (typeof rule.pattern === 'string') {\n var _pattern = new RegExp(rule.pattern);\n if (!_pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n};\nexport default pattern;","import { format } from \"../util\";\nvar range = function range(rule, value, source, errors, options) {\n var len = typeof rule.len === 'number';\n var min = typeof rule.min === 'number';\n var max = typeof rule.max === 'number';\n // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n var val = value;\n var key = null;\n var num = typeof value === 'number';\n var str = typeof value === 'string';\n var arr = Array.isArray(value);\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n }\n // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n if (!key) {\n return false;\n }\n if (arr) {\n val = value.length;\n }\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".length !== 3\n val = value.replace(spRegexp, '_').length;\n }\n if (len) {\n if (val !== rule.len) {\n errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n};\nexport default range;","import { format, isEmptyValue } from \"../util\";\nvar required = function required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n errors.push(format(options.messages.required, rule.fullField));\n }\n};\nexport default required;","// https://github.com/kevva/url-regex/blob/master/index.js\nvar urlReg;\nexport default (function () {\n if (urlReg) {\n return urlReg;\n }\n var word = '[a-fA-F\\\\d:]';\n var b = function b(options) {\n return options && options.includeBoundaries ? \"(?:(?<=\\\\s|^)(?=\".concat(word, \")|(?<=\").concat(word, \")(?=\\\\s|$))\") : '';\n };\n var v4 = '(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}';\n var v6seg = '[a-fA-F\\\\d]{1,4}';\n var v6List = [\"(?:\".concat(v6seg, \":){7}(?:\").concat(v6seg, \"|:)\"), // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n \"(?:\".concat(v6seg, \":){6}(?:\").concat(v4, \"|:\").concat(v6seg, \"|:)\"), // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::\n \"(?:\".concat(v6seg, \":){5}(?::\").concat(v4, \"|(?::\").concat(v6seg, \"){1,2}|:)\"), // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::\n \"(?:\".concat(v6seg, \":){4}(?:(?::\").concat(v6seg, \"){0,1}:\").concat(v4, \"|(?::\").concat(v6seg, \"){1,3}|:)\"), // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::\n \"(?:\".concat(v6seg, \":){3}(?:(?::\").concat(v6seg, \"){0,2}:\").concat(v4, \"|(?::\").concat(v6seg, \"){1,4}|:)\"), // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::\n \"(?:\".concat(v6seg, \":){2}(?:(?::\").concat(v6seg, \"){0,3}:\").concat(v4, \"|(?::\").concat(v6seg, \"){1,5}|:)\"), // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::\n \"(?:\".concat(v6seg, \":){1}(?:(?::\").concat(v6seg, \"){0,4}:\").concat(v4, \"|(?::\").concat(v6seg, \"){1,6}|:)\"), // 1:: 1::3:4:5:6:7:8 1::8 1::\n \"(?::(?:(?::\".concat(v6seg, \"){0,5}:\").concat(v4, \"|(?::\").concat(v6seg, \"){1,7}|:))\") // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::\n ];\n var v6Eth0 = \"(?:%[0-9a-zA-Z]{1,})?\"; // %eth0 %1\n\n var v6 = \"(?:\".concat(v6List.join('|'), \")\").concat(v6Eth0);\n\n // Pre-compile only the exact regexes because adding a global flag make regexes stateful\n var v46Exact = new RegExp(\"(?:^\".concat(v4, \"$)|(?:^\").concat(v6, \"$)\"));\n var v4exact = new RegExp(\"^\".concat(v4, \"$\"));\n var v6exact = new RegExp(\"^\".concat(v6, \"$\"));\n var ip = function ip(options) {\n return options && options.exact ? v46Exact : new RegExp(\"(?:\".concat(b(options)).concat(v4).concat(b(options), \")|(?:\").concat(b(options)).concat(v6).concat(b(options), \")\"), 'g');\n };\n ip.v4 = function (options) {\n return options && options.exact ? v4exact : new RegExp(\"\".concat(b(options)).concat(v4).concat(b(options)), 'g');\n };\n ip.v6 = function (options) {\n return options && options.exact ? v6exact : new RegExp(\"\".concat(b(options)).concat(v6).concat(b(options)), 'g');\n };\n var protocol = \"(?:(?:[a-z]+:)?//)\";\n var auth = '(?:\\\\S+(?::\\\\S*)?@)?';\n var ipv4 = ip.v4().source;\n var ipv6 = ip.v6().source;\n var host = \"(?:(?:[a-z\\\\u00a1-\\\\uffff0-9][-_]*)*[a-z\\\\u00a1-\\\\uffff0-9]+)\";\n var domain = \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*\";\n var tld = \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))\";\n var port = '(?::\\\\d{2,5})?';\n var path = '(?:[/?#][^\\\\s\"]*)?';\n var regex = \"(?:\".concat(protocol, \"|www\\\\.)\").concat(auth, \"(?:localhost|\").concat(ipv4, \"|\").concat(ipv6, \"|\").concat(host).concat(domain).concat(tld, \")\").concat(port).concat(path);\n urlReg = new RegExp(\"(?:^\".concat(regex, \"$)\"), 'i');\n return urlReg;\n});","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { format } from \"../util\";\nimport required from \"./required\";\nimport getUrlRegex from \"./url\";\n/* eslint max-len:0 */\n\nvar pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+\\.)+[a-zA-Z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{2,}))$/,\n // url: new RegExp(\n // '^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$',\n // 'i',\n // ),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\nvar types = {\n integer: function integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n float: function float(value) {\n return types.number(value) && !types.integer(value);\n },\n array: function array(value) {\n return Array.isArray(value);\n },\n regexp: function regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date: function date(value) {\n return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function' && !isNaN(value.getTime());\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n return typeof value === 'number';\n },\n object: function object(value) {\n return _typeof(value) === 'object' && !types.array(value);\n },\n method: function method(value) {\n return typeof value === 'function';\n },\n email: function email(value) {\n return typeof value === 'string' && value.length <= 320 && !!value.match(pattern.email);\n },\n url: function url(value) {\n return typeof value === 'string' && value.length <= 2048 && !!value.match(getUrlRegex());\n },\n hex: function hex(value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n }\n};\nvar type = function type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required(rule, value, source, errors, options);\n return;\n }\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n // straight typeof check\n } else if (ruleType && _typeof(value) !== rule.type) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n};\nexport default type;","import { format } from \"../util\";\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nvar whitespace = function whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(format(options.messages.whitespace, rule.fullField));\n }\n};\nexport default whitespace;","import enumRule from \"./enum\";\nimport pattern from \"./pattern\";\nimport range from \"./range\";\nimport required from \"./required\";\nimport type from \"./type\";\nimport whitespace from \"./whitespace\";\nexport default {\n required: required,\n whitespace: whitespace,\n type: type,\n range: range,\n enum: enumRule,\n pattern: pattern\n};","import rules from \"../rule\";\nimport { isEmptyValue } from \"../util\";\nvar any = function any(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n }\n callback(errors);\n};\nexport default any;","import rules from \"../rule/index\";\nvar array = function array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if ((value === undefined || value === null) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'array');\n if (value !== undefined && value !== null) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\nexport default array;","import rules from \"../rule\";\nimport { isEmptyValue } from \"../util\";\nvar boolean = function boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\nexport default boolean;","import rules from \"../rule\";\nimport { isEmptyValue } from \"../util\";\nvar date = function date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n // console.log('validate on %s value', value);\n if (validate) {\n if (isEmptyValue(value, 'date') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value, 'date')) {\n var dateObject;\n if (value instanceof Date) {\n dateObject = value;\n } else {\n dateObject = new Date(value);\n }\n rules.type(rule, dateObject, source, errors, options);\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n callback(errors);\n};\nexport default date;","import rules from \"../rule\";\nimport { isEmptyValue } from \"../util\";\nvar ENUM = 'enum';\nvar enumerable = function enumerable(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules[ENUM](rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\nexport default enumerable;","import rules from \"../rule\";\nimport { isEmptyValue } from \"../util\";\nvar floatFn = function floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\nexport default floatFn;","import rules from \"../rule\";\nimport { isEmptyValue } from \"../util\";\nvar integer = function integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\nexport default integer;","import rules from \"../rule\";\nimport { isEmptyValue } from \"../util\";\nvar method = function method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\nexport default method;","import rules from \"../rule\";\nimport { isEmptyValue } from \"../util\";\nvar number = function number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (value === '') {\n // eslint-disable-next-line no-param-reassign\n value = undefined;\n }\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\nexport default number;","import rules from \"../rule\";\nimport { isEmptyValue } from \"../util\";\nvar object = function object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\nexport default object;","import rules from \"../rule\";\nimport { isEmptyValue } from \"../util\";\nvar pattern = function pattern(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\nexport default pattern;","import rules from \"../rule\";\nimport { isEmptyValue } from \"../util\";\nvar regexp = function regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\nexport default regexp;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport rules from \"../rule\";\nvar required = function required(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : _typeof(value);\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n};\nexport default required;","import rules from \"../rule\";\nimport { isEmptyValue } from \"../util\";\nvar string = function string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'string');\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n callback(errors);\n};\nexport default string;","import rules from \"../rule\";\nimport { isEmptyValue } from \"../util\";\nvar type = function type(rule, value, callback, source, options) {\n var ruleType = rule.type;\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, ruleType);\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\nexport default type;","import any from \"./any\";\nimport array from \"./array\";\nimport boolean from \"./boolean\";\nimport date from \"./date\";\nimport enumValidator from \"./enum\";\nimport float from \"./float\";\nimport integer from \"./integer\";\nimport method from \"./method\";\nimport number from \"./number\";\nimport object from \"./object\";\nimport pattern from \"./pattern\";\nimport regexp from \"./regexp\";\nimport required from \"./required\";\nimport string from \"./string\";\nimport type from \"./type\";\nexport default {\n string: string,\n method: method,\n number: number,\n boolean: boolean,\n regexp: regexp,\n integer: integer,\n float: float,\n array: array,\n object: object,\n enum: enumValidator,\n pattern: pattern,\n date: date,\n url: type,\n hex: type,\n email: type,\n required: required,\n any: any\n};","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { messages as defaultMessages, newMessages } from \"./messages\";\nimport { asyncMap, complementError, convertFieldsError, deepMerge, format, warning } from \"./util\";\nimport validators from \"./validator/index\";\nexport * from \"./interface\";\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\nvar Schema = /*#__PURE__*/function () {\n function Schema(descriptor) {\n _classCallCheck(this, Schema);\n // ======================== Instance ========================\n _defineProperty(this, \"rules\", null);\n _defineProperty(this, \"_messages\", defaultMessages);\n this.define(descriptor);\n }\n _createClass(Schema, [{\n key: \"define\",\n value: function define(rules) {\n var _this = this;\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n if (_typeof(rules) !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n this.rules = {};\n Object.keys(rules).forEach(function (name) {\n var item = rules[name];\n _this.rules[name] = Array.isArray(item) ? item : [item];\n });\n }\n }, {\n key: \"messages\",\n value: function messages(_messages) {\n if (_messages) {\n this._messages = deepMerge(newMessages(), _messages);\n }\n return this._messages;\n }\n }, {\n key: \"validate\",\n value: function validate(source_) {\n var _this2 = this;\n var o = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var oc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n var source = source_;\n var options = o;\n var callback = oc;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback(null, source);\n }\n return Promise.resolve(source);\n }\n function complete(results) {\n var errors = [];\n var fields = {};\n function add(e) {\n if (Array.isArray(e)) {\n var _errors;\n errors = (_errors = errors).concat.apply(_errors, _toConsumableArray(e));\n } else {\n errors.push(e);\n }\n }\n for (var i = 0; i < results.length; i++) {\n add(results[i]);\n }\n if (!errors.length) {\n callback(null, source);\n } else {\n fields = convertFieldsError(errors);\n callback(errors, fields);\n }\n }\n if (options.messages) {\n var messages = this.messages();\n if (messages === defaultMessages) {\n messages = newMessages();\n }\n deepMerge(messages, options.messages);\n options.messages = messages;\n } else {\n options.messages = this.messages();\n }\n var series = {};\n var keys = options.keys || Object.keys(this.rules);\n keys.forEach(function (z) {\n var arr = _this2.rules[z];\n var value = source[z];\n arr.forEach(function (r) {\n var rule = r;\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _objectSpread({}, source);\n }\n value = source[z] = rule.transform(value);\n if (value !== undefined && value !== null) {\n rule.type = rule.type || (Array.isArray(value) ? 'array' : _typeof(value));\n }\n }\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _objectSpread({}, rule);\n }\n\n // Fill validator. Skip if nothing need to validate\n rule.validator = _this2.getValidationMethod(rule);\n if (!rule.validator) {\n return;\n }\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this2.getType(rule);\n series[z] = series[z] || [];\n series[z].push({\n rule: rule,\n value: value,\n source: source,\n field: z\n });\n });\n });\n var errorFields = {};\n return asyncMap(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (_typeof(rule.fields) === 'object' || _typeof(rule.defaultField) === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n function addFullField(key, schema) {\n return _objectSpread(_objectSpread({}, schema), {}, {\n fullField: \"\".concat(rule.fullField, \".\").concat(key),\n fullFields: rule.fullFields ? [].concat(_toConsumableArray(rule.fullFields), [key]) : [key]\n });\n }\n function cb() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var errorList = Array.isArray(e) ? e : [e];\n if (!options.suppressWarning && errorList.length) {\n Schema.warning('async-validator:', errorList);\n }\n if (errorList.length && rule.message !== undefined) {\n errorList = [].concat(rule.message);\n }\n\n // Fill error info\n var filledErrors = errorList.map(complementError(rule, source));\n if (options.first && filledErrors.length) {\n errorFields[rule.field] = 1;\n return doIt(filledErrors);\n }\n if (!deep) {\n doIt(filledErrors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message !== undefined) {\n filledErrors = [].concat(rule.message).map(complementError(rule, source));\n } else if (options.error) {\n filledErrors = [options.error(rule, format(options.messages.required, rule.field))];\n }\n return doIt(filledErrors);\n }\n var fieldsSchema = {};\n if (rule.defaultField) {\n Object.keys(data.value).map(function (key) {\n fieldsSchema[key] = rule.defaultField;\n });\n }\n fieldsSchema = _objectSpread(_objectSpread({}, fieldsSchema), data.rule.fields);\n var paredFieldsSchema = {};\n Object.keys(fieldsSchema).forEach(function (field) {\n var fieldSchema = fieldsSchema[field];\n var fieldSchemaList = Array.isArray(fieldSchema) ? fieldSchema : [fieldSchema];\n paredFieldsSchema[field] = fieldSchemaList.map(addFullField.bind(null, field));\n });\n var schema = new Schema(paredFieldsSchema);\n schema.messages(options.messages);\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n schema.validate(data.value, data.rule.options || options, function (errs) {\n var finalErrors = [];\n if (filledErrors && filledErrors.length) {\n finalErrors.push.apply(finalErrors, _toConsumableArray(filledErrors));\n }\n if (errs && errs.length) {\n finalErrors.push.apply(finalErrors, _toConsumableArray(errs));\n }\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n var res;\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n try {\n res = rule.validator(rule, data.value, cb, data.source, options);\n } catch (error) {\n var _console$error, _console;\n (_console$error = (_console = console).error) === null || _console$error === void 0 || _console$error.call(_console, error);\n // rethrow to report error\n if (!options.suppressValidatorError) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n cb(error.message);\n }\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(typeof rule.message === 'function' ? rule.message(rule.fullField || rule.field) : rule.message || \"\".concat(rule.fullField || rule.field, \" fails\"));\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n if (res && res.then) {\n res.then(function () {\n return cb();\n }, function (e) {\n return cb(e);\n });\n }\n }, function (results) {\n complete(results);\n }, source);\n }\n }, {\n key: \"getType\",\n value: function getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n return rule.type || 'string';\n }\n }, {\n key: \"getValidationMethod\",\n value: function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n return validators[this.getType(rule)] || undefined;\n }\n }]);\n return Schema;\n}();\n// ========================= Static =========================\n_defineProperty(Schema, \"register\", function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error('Cannot register a validator by type, validator is not a function');\n }\n validators[type] = validator;\n});\n_defineProperty(Schema, \"warning\", warning);\n_defineProperty(Schema, \"messages\", defaultMessages);\n_defineProperty(Schema, \"validators\", validators);\nexport default Schema;","var typeTemplate = \"'${name}' is not a valid ${type}\";\nexport var defaultValidateMessages = {\n default: \"Validation error on field '${name}'\",\n required: \"'${name}' is required\",\n enum: \"'${name}' must be one of [${enum}]\",\n whitespace: \"'${name}' cannot be empty\",\n date: {\n format: \"'${name}' is invalid for format date\",\n parse: \"'${name}' could not be parsed as date\",\n invalid: \"'${name}' is invalid date\"\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: \"'${name}' must be exactly ${len} characters\",\n min: \"'${name}' must be at least ${min} characters\",\n max: \"'${name}' cannot be longer than ${max} characters\",\n range: \"'${name}' must be between ${min} and ${max} characters\"\n },\n number: {\n len: \"'${name}' must equal ${len}\",\n min: \"'${name}' cannot be less than ${min}\",\n max: \"'${name}' cannot be greater than ${max}\",\n range: \"'${name}' must be between ${min} and ${max}\"\n },\n array: {\n len: \"'${name}' must be exactly ${len} in length\",\n min: \"'${name}' cannot be less than ${min} in length\",\n max: \"'${name}' cannot be greater than ${max} in length\",\n range: \"'${name}' must be between ${min} and ${max} in length\"\n },\n pattern: {\n mismatch: \"'${name}' does not match pattern ${pattern}\"\n }\n};","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _toArray(r) {\n return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest();\n}\nexport { _toArray as default };","export default function get(entity, path) {\n var current = entity;\n for (var i = 0; i < path.length; i += 1) {\n if (current === null || current === undefined) {\n return undefined;\n }\n current = current[path[i]];\n }\n return current;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport get from \"./get\";\nfunction internalSet(entity, paths, value, removeIfUndefined) {\n if (!paths.length) {\n return value;\n }\n var _paths = _toArray(paths),\n path = _paths[0],\n restPath = _paths.slice(1);\n var clone;\n if (!entity && typeof path === 'number') {\n clone = [];\n } else if (Array.isArray(entity)) {\n clone = _toConsumableArray(entity);\n } else {\n clone = _objectSpread({}, entity);\n }\n\n // Delete prop if `removeIfUndefined` and value is undefined\n if (removeIfUndefined && value === undefined && restPath.length === 1) {\n delete clone[path][restPath[0]];\n } else {\n clone[path] = internalSet(clone[path], restPath, value, removeIfUndefined);\n }\n return clone;\n}\nexport default function set(entity, paths, value) {\n var removeIfUndefined = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n // Do nothing if `removeIfUndefined` and parent object not exist\n if (paths.length && removeIfUndefined && value === undefined && !get(entity, paths.slice(0, -1))) {\n return entity;\n }\n return internalSet(entity, paths, value, removeIfUndefined);\n}\nfunction isObject(obj) {\n return _typeof(obj) === 'object' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;\n}\nfunction createEmpty(source) {\n return Array.isArray(source) ? [] : {};\n}\nvar keys = typeof Reflect === 'undefined' ? Object.keys : Reflect.ownKeys;\n\n/**\n * Merge objects which will create\n */\nexport function merge() {\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n var clone = createEmpty(sources[0]);\n sources.forEach(function (src) {\n function internalMerge(path, parentLoopSet) {\n var loopSet = new Set(parentLoopSet);\n var value = get(src, path);\n var isArr = Array.isArray(value);\n if (isArr || isObject(value)) {\n // Only add not loop obj\n if (!loopSet.has(value)) {\n loopSet.add(value);\n var originValue = get(clone, path);\n if (isArr) {\n // Array will always be override\n clone = set(clone, path, []);\n } else if (!originValue || _typeof(originValue) !== 'object') {\n // Init container if not exist\n clone = set(clone, path, createEmpty(value));\n }\n keys(value).forEach(function (key) {\n internalMerge([].concat(_toConsumableArray(path), [key]), loopSet);\n });\n }\n } else {\n clone = set(clone, path, value);\n }\n }\n internalMerge([]);\n });\n return clone;\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport RawAsyncValidator from '@rc-component/async-validator';\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport { defaultValidateMessages } from \"./messages\";\nimport { merge } from \"rc-util/es/utils/set\";\n\n// Remove incorrect original ts define\nvar AsyncValidator = RawAsyncValidator;\n\n/**\n * Replace with template.\n * `I'm ${name}` + { name: 'bamboo' } = I'm bamboo\n */\nfunction replaceMessage(template, kv) {\n return template.replace(/\\$\\{\\w+\\}/g, function (str) {\n var key = str.slice(2, -1);\n return kv[key];\n });\n}\nvar CODE_LOGIC_ERROR = 'CODE_LOGIC_ERROR';\nfunction validateRule(_x, _x2, _x3, _x4, _x5) {\n return _validateRule.apply(this, arguments);\n}\n/**\n * We use `async-validator` to validate the value.\n * But only check one value in a time to avoid namePath validate issue.\n */\nfunction _validateRule() {\n _validateRule = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(name, value, rule, options, messageVariables) {\n var cloneRule, originValidator, subRuleField, validator, messages, result, subResults, kv, fillVariableResult;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n cloneRule = _objectSpread({}, rule); // Bug of `async-validator`\n // https://github.com/react-component/field-form/issues/316\n // https://github.com/react-component/field-form/issues/313\n delete cloneRule.ruleIndex;\n\n // https://github.com/ant-design/ant-design/issues/40497#issuecomment-1422282378\n AsyncValidator.warning = function () {\n return void 0;\n };\n if (cloneRule.validator) {\n originValidator = cloneRule.validator;\n cloneRule.validator = function () {\n try {\n return originValidator.apply(void 0, arguments);\n } catch (error) {\n console.error(error);\n return Promise.reject(CODE_LOGIC_ERROR);\n }\n };\n }\n\n // We should special handle array validate\n subRuleField = null;\n if (cloneRule && cloneRule.type === 'array' && cloneRule.defaultField) {\n subRuleField = cloneRule.defaultField;\n delete cloneRule.defaultField;\n }\n validator = new AsyncValidator(_defineProperty({}, name, [cloneRule]));\n messages = merge(defaultValidateMessages, options.validateMessages);\n validator.messages(messages);\n result = [];\n _context2.prev = 10;\n _context2.next = 13;\n return Promise.resolve(validator.validate(_defineProperty({}, name, value), _objectSpread({}, options)));\n case 13:\n _context2.next = 18;\n break;\n case 15:\n _context2.prev = 15;\n _context2.t0 = _context2[\"catch\"](10);\n if (_context2.t0.errors) {\n result = _context2.t0.errors.map(function (_ref4, index) {\n var message = _ref4.message;\n var mergedMessage = message === CODE_LOGIC_ERROR ? messages.default : message;\n return /*#__PURE__*/React.isValidElement(mergedMessage) ?\n /*#__PURE__*/\n // Wrap ReactNode with `key`\n React.cloneElement(mergedMessage, {\n key: \"error_\".concat(index)\n }) : mergedMessage;\n });\n }\n case 18:\n if (!(!result.length && subRuleField)) {\n _context2.next = 23;\n break;\n }\n _context2.next = 21;\n return Promise.all(value.map(function (subValue, i) {\n return validateRule(\"\".concat(name, \".\").concat(i), subValue, subRuleField, options, messageVariables);\n }));\n case 21:\n subResults = _context2.sent;\n return _context2.abrupt(\"return\", subResults.reduce(function (prev, errors) {\n return [].concat(_toConsumableArray(prev), _toConsumableArray(errors));\n }, []));\n case 23:\n // Replace message with variables\n kv = _objectSpread(_objectSpread({}, rule), {}, {\n name: name,\n enum: (rule.enum || []).join(', ')\n }, messageVariables);\n fillVariableResult = result.map(function (error) {\n if (typeof error === 'string') {\n return replaceMessage(error, kv);\n }\n return error;\n });\n return _context2.abrupt(\"return\", fillVariableResult);\n case 26:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, null, [[10, 15]]);\n }));\n return _validateRule.apply(this, arguments);\n}\nexport function validateRules(namePath, value, rules, options, validateFirst, messageVariables) {\n var name = namePath.join('.');\n\n // Fill rule with context\n var filledRules = rules.map(function (currentRule, ruleIndex) {\n var originValidatorFunc = currentRule.validator;\n var cloneRule = _objectSpread(_objectSpread({}, currentRule), {}, {\n ruleIndex: ruleIndex\n });\n\n // Replace validator if needed\n if (originValidatorFunc) {\n cloneRule.validator = function (rule, val, callback) {\n var hasPromise = false;\n\n // Wrap callback only accept when promise not provided\n var wrappedCallback = function wrappedCallback() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n // Wait a tick to make sure return type is a promise\n Promise.resolve().then(function () {\n warning(!hasPromise, 'Your validator function has already return a promise. `callback` will be ignored.');\n if (!hasPromise) {\n callback.apply(void 0, args);\n }\n });\n };\n\n // Get promise\n var promise = originValidatorFunc(rule, val, wrappedCallback);\n hasPromise = promise && typeof promise.then === 'function' && typeof promise.catch === 'function';\n\n /**\n * 1. Use promise as the first priority.\n * 2. If promise not exist, use callback with warning instead\n */\n warning(hasPromise, '`callback` is deprecated. Please return a promise instead.');\n if (hasPromise) {\n promise.then(function () {\n callback();\n }).catch(function (err) {\n callback(err || ' ');\n });\n }\n };\n }\n return cloneRule;\n }).sort(function (_ref, _ref2) {\n var w1 = _ref.warningOnly,\n i1 = _ref.ruleIndex;\n var w2 = _ref2.warningOnly,\n i2 = _ref2.ruleIndex;\n if (!!w1 === !!w2) {\n // Let keep origin order\n return i1 - i2;\n }\n if (w1) {\n return 1;\n }\n return -1;\n });\n\n // Do validate rules\n var summaryPromise;\n if (validateFirst === true) {\n // >>>>> Validate by serialization\n summaryPromise = new Promise( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(resolve, reject) {\n var i, rule, errors;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n i = 0;\n case 1:\n if (!(i < filledRules.length)) {\n _context.next = 12;\n break;\n }\n rule = filledRules[i];\n _context.next = 5;\n return validateRule(name, value, rule, options, messageVariables);\n case 5:\n errors = _context.sent;\n if (!errors.length) {\n _context.next = 9;\n break;\n }\n reject([{\n errors: errors,\n rule: rule\n }]);\n return _context.abrupt(\"return\");\n case 9:\n i += 1;\n _context.next = 1;\n break;\n case 12:\n /* eslint-enable */\n\n resolve([]);\n case 13:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x6, _x7) {\n return _ref3.apply(this, arguments);\n };\n }());\n } else {\n // >>>>> Validate by parallel\n var rulePromises = filledRules.map(function (rule) {\n return validateRule(name, value, rule, options, messageVariables).then(function (errors) {\n return {\n errors: errors,\n rule: rule\n };\n });\n });\n summaryPromise = (validateFirst ? finishOnFirstFailed(rulePromises) : finishOnAllFailed(rulePromises)).then(function (errors) {\n // Always change to rejection for Field to catch\n return Promise.reject(errors);\n });\n }\n\n // Internal catch error to avoid console error log.\n summaryPromise.catch(function (e) {\n return e;\n });\n return summaryPromise;\n}\nfunction finishOnAllFailed(_x8) {\n return _finishOnAllFailed.apply(this, arguments);\n}\nfunction _finishOnAllFailed() {\n _finishOnAllFailed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(rulePromises) {\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", Promise.all(rulePromises).then(function (errorsList) {\n var _ref5;\n var errors = (_ref5 = []).concat.apply(_ref5, _toConsumableArray(errorsList));\n return errors;\n }));\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return _finishOnAllFailed.apply(this, arguments);\n}\nfunction finishOnFirstFailed(_x9) {\n return _finishOnFirstFailed.apply(this, arguments);\n}\nfunction _finishOnFirstFailed() {\n _finishOnFirstFailed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(rulePromises) {\n var count;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n count = 0;\n return _context4.abrupt(\"return\", new Promise(function (resolve) {\n rulePromises.forEach(function (promise) {\n promise.then(function (ruleError) {\n if (ruleError.errors.length) {\n resolve([ruleError]);\n }\n count += 1;\n if (count === rulePromises.length) {\n resolve([]);\n }\n });\n });\n }));\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return _finishOnFirstFailed.apply(this, arguments);\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport getValue from \"rc-util/es/utils/get\";\nimport setValue from \"rc-util/es/utils/set\";\nimport { toArray } from \"./typeUtil\";\nexport { getValue, setValue };\n\n/**\n * Convert name to internal supported format.\n * This function should keep since we still thinking if need support like `a.b.c` format.\n * 'a' => ['a']\n * 123 => [123]\n * ['a', 123] => ['a', 123]\n */\nexport function getNamePath(path) {\n return toArray(path);\n}\nexport function cloneByNamePathList(store, namePathList) {\n var newStore = {};\n namePathList.forEach(function (namePath) {\n var value = getValue(store, namePath);\n newStore = setValue(newStore, namePath, value);\n });\n return newStore;\n}\n\n/**\n * Check if `namePathList` includes `namePath`.\n * @param namePathList A list of `InternalNamePath[]`\n * @param namePath Compare `InternalNamePath`\n * @param partialMatch True will make `[a, b]` match `[a, b, c]`\n */\nexport function containsNamePath(namePathList, namePath) {\n var partialMatch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return namePathList && namePathList.some(function (path) {\n return matchNamePath(namePath, path, partialMatch);\n });\n}\n\n/**\n * Check if `namePath` is super set or equal of `subNamePath`.\n * @param namePath A list of `InternalNamePath[]`\n * @param subNamePath Compare `InternalNamePath`\n * @param partialMatch True will make `[a, b]` match `[a, b, c]`\n */\nexport function matchNamePath(namePath, subNamePath) {\n var partialMatch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n if (!namePath || !subNamePath) {\n return false;\n }\n if (!partialMatch && namePath.length !== subNamePath.length) {\n return false;\n }\n return subNamePath.every(function (nameUnit, i) {\n return namePath[i] === nameUnit;\n });\n}\n\n// Like `shallowEqual`, but we not check the data which may cause re-render\n\nexport function isSimilar(source, target) {\n if (source === target) {\n return true;\n }\n if (!source && target || source && !target) {\n return false;\n }\n if (!source || !target || _typeof(source) !== 'object' || _typeof(target) !== 'object') {\n return false;\n }\n var sourceKeys = Object.keys(source);\n var targetKeys = Object.keys(target);\n var keys = new Set([].concat(sourceKeys, targetKeys));\n return _toConsumableArray(keys).every(function (key) {\n var sourceValue = source[key];\n var targetValue = target[key];\n if (typeof sourceValue === 'function' && typeof targetValue === 'function') {\n return true;\n }\n return sourceValue === targetValue;\n });\n}\nexport function defaultGetValueFromEvent(valuePropName) {\n var event = arguments.length <= 1 ? undefined : arguments[1];\n if (event && event.target && _typeof(event.target) === 'object' && valuePropName in event.target) {\n return event.target[valuePropName];\n }\n return event;\n}\n\n/**\n * Moves an array item from one position in an array to another.\n *\n * Note: This is a pure function so a new array will be returned, instead\n * of altering the array argument.\n *\n * @param array Array in which to move an item. (required)\n * @param moveIndex The index of the item to move. (required)\n * @param toIndex The index to move item at moveIndex to. (required)\n */\nexport function move(array, moveIndex, toIndex) {\n var length = array.length;\n if (moveIndex < 0 || moveIndex >= length || toIndex < 0 || toIndex >= length) {\n return array;\n }\n var item = array[moveIndex];\n var diff = moveIndex - toIndex;\n if (diff > 0) {\n // move left\n return [].concat(_toConsumableArray(array.slice(0, toIndex)), [item], _toConsumableArray(array.slice(toIndex, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, length)));\n }\n if (diff < 0) {\n // move right\n return [].concat(_toConsumableArray(array.slice(0, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, toIndex + 1)), [item], _toConsumableArray(array.slice(toIndex + 1, length)));\n }\n return array;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"name\"];\nimport toChildrenArray from \"rc-util/es/Children/toArray\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport FieldContext, { HOOK_MARK } from \"./FieldContext\";\nimport ListContext from \"./ListContext\";\nimport { toArray } from \"./utils/typeUtil\";\nimport { validateRules } from \"./utils/validateUtil\";\nimport { containsNamePath, defaultGetValueFromEvent, getNamePath, getValue } from \"./utils/valueUtil\";\nvar EMPTY_ERRORS = [];\nfunction requireUpdate(shouldUpdate, prev, next, prevValue, nextValue, info) {\n if (typeof shouldUpdate === 'function') {\n return shouldUpdate(prev, next, 'source' in info ? {\n source: info.source\n } : {});\n }\n return prevValue !== nextValue;\n}\n\n// eslint-disable-next-line @typescript-eslint/consistent-indexed-object-style\n// We use Class instead of Hooks here since it will cost much code by using Hooks.\nvar Field = /*#__PURE__*/function (_React$Component) {\n _inherits(Field, _React$Component);\n var _super = _createSuper(Field);\n // ============================== Subscriptions ==============================\n function Field(props) {\n var _this;\n _classCallCheck(this, Field);\n _this = _super.call(this, props);\n\n // Register on init\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n resetCount: 0\n });\n _defineProperty(_assertThisInitialized(_this), \"cancelRegisterFunc\", null);\n _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n /**\n * Follow state should not management in State since it will async update by React.\n * This makes first render of form can not get correct state value.\n */\n _defineProperty(_assertThisInitialized(_this), \"touched\", false);\n /**\n * Mark when touched & validated. Currently only used for `dependencies`.\n * Note that we do not think field with `initialValue` is dirty\n * but this will be by `isFieldDirty` func.\n */\n _defineProperty(_assertThisInitialized(_this), \"dirty\", false);\n _defineProperty(_assertThisInitialized(_this), \"validatePromise\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"prevValidating\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"errors\", EMPTY_ERRORS);\n _defineProperty(_assertThisInitialized(_this), \"warnings\", EMPTY_ERRORS);\n _defineProperty(_assertThisInitialized(_this), \"cancelRegister\", function () {\n var _this$props = _this.props,\n preserve = _this$props.preserve,\n isListField = _this$props.isListField,\n name = _this$props.name;\n if (_this.cancelRegisterFunc) {\n _this.cancelRegisterFunc(isListField, preserve, getNamePath(name));\n }\n _this.cancelRegisterFunc = null;\n });\n // ================================== Utils ==================================\n _defineProperty(_assertThisInitialized(_this), \"getNamePath\", function () {\n var _this$props2 = _this.props,\n name = _this$props2.name,\n fieldContext = _this$props2.fieldContext;\n var _fieldContext$prefixN = fieldContext.prefixName,\n prefixName = _fieldContext$prefixN === void 0 ? [] : _fieldContext$prefixN;\n return name !== undefined ? [].concat(_toConsumableArray(prefixName), _toConsumableArray(name)) : [];\n });\n _defineProperty(_assertThisInitialized(_this), \"getRules\", function () {\n var _this$props3 = _this.props,\n _this$props3$rules = _this$props3.rules,\n rules = _this$props3$rules === void 0 ? [] : _this$props3$rules,\n fieldContext = _this$props3.fieldContext;\n return rules.map(function (rule) {\n if (typeof rule === 'function') {\n return rule(fieldContext);\n }\n return rule;\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"refresh\", function () {\n if (!_this.mounted) return;\n\n /**\n * Clean up current node.\n */\n _this.setState(function (_ref) {\n var resetCount = _ref.resetCount;\n return {\n resetCount: resetCount + 1\n };\n });\n });\n // Event should only trigger when meta changed\n _defineProperty(_assertThisInitialized(_this), \"metaCache\", null);\n _defineProperty(_assertThisInitialized(_this), \"triggerMetaEvent\", function (destroy) {\n var onMetaChange = _this.props.onMetaChange;\n if (onMetaChange) {\n var _meta = _objectSpread(_objectSpread({}, _this.getMeta()), {}, {\n destroy: destroy\n });\n if (!isEqual(_this.metaCache, _meta)) {\n onMetaChange(_meta);\n }\n _this.metaCache = _meta;\n } else {\n _this.metaCache = null;\n }\n });\n // ========================= Field Entity Interfaces =========================\n // Trigger by store update. Check if need update the component\n _defineProperty(_assertThisInitialized(_this), \"onStoreChange\", function (prevStore, namePathList, info) {\n var _this$props4 = _this.props,\n shouldUpdate = _this$props4.shouldUpdate,\n _this$props4$dependen = _this$props4.dependencies,\n dependencies = _this$props4$dependen === void 0 ? [] : _this$props4$dependen,\n onReset = _this$props4.onReset;\n var store = info.store;\n var namePath = _this.getNamePath();\n var prevValue = _this.getValue(prevStore);\n var curValue = _this.getValue(store);\n var namePathMatch = namePathList && containsNamePath(namePathList, namePath);\n\n // `setFieldsValue` is a quick access to update related status\n if (info.type === 'valueUpdate' && info.source === 'external' && !isEqual(prevValue, curValue)) {\n _this.touched = true;\n _this.dirty = true;\n _this.validatePromise = null;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n }\n switch (info.type) {\n case 'reset':\n if (!namePathList || namePathMatch) {\n // Clean up state\n _this.touched = false;\n _this.dirty = false;\n _this.validatePromise = undefined;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n onReset === null || onReset === void 0 || onReset();\n _this.refresh();\n return;\n }\n break;\n\n /**\n * In case field with `preserve = false` nest deps like:\n * - A = 1 => show B\n * - B = 1 => show C\n * - Reset A, need clean B, C\n */\n case 'remove':\n {\n if (shouldUpdate) {\n _this.reRender();\n return;\n }\n break;\n }\n case 'setField':\n {\n var data = info.data;\n if (namePathMatch) {\n if ('touched' in data) {\n _this.touched = data.touched;\n }\n if ('validating' in data && !('originRCField' in data)) {\n _this.validatePromise = data.validating ? Promise.resolve([]) : null;\n }\n if ('errors' in data) {\n _this.errors = data.errors || EMPTY_ERRORS;\n }\n if ('warnings' in data) {\n _this.warnings = data.warnings || EMPTY_ERRORS;\n }\n _this.dirty = true;\n _this.triggerMetaEvent();\n _this.reRender();\n return;\n } else if ('value' in data && containsNamePath(namePathList, namePath, true)) {\n // Contains path with value should also check\n _this.reRender();\n return;\n }\n\n // Handle update by `setField` with `shouldUpdate`\n if (shouldUpdate && !namePath.length && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n return;\n }\n break;\n }\n case 'dependenciesUpdate':\n {\n /**\n * Trigger when marked `dependencies` updated. Related fields will all update\n */\n var dependencyList = dependencies.map(getNamePath);\n // No need for `namePathMath` check and `shouldUpdate` check, since `valueUpdate` will be\n // emitted earlier and they will work there\n // If set it may cause unnecessary twice rerendering\n if (dependencyList.some(function (dependency) {\n return containsNamePath(info.relatedFields, dependency);\n })) {\n _this.reRender();\n return;\n }\n break;\n }\n default:\n // 1. If `namePath` exists in `namePathList`, means it's related value and should update\n // For example \n // If `namePathList` is [['list']] (List value update), Field should be updated\n // If `namePathList` is [['list', 0]] (Field value update), List shouldn't be updated\n // 2.\n // 2.1 If `dependencies` is set, `name` is not set and `shouldUpdate` is not set,\n // don't use `shouldUpdate`. `dependencies` is view as a shortcut if `shouldUpdate`\n // is not provided\n // 2.2 If `shouldUpdate` provided, use customize logic to update the field\n // else to check if value changed\n if (namePathMatch || (!dependencies.length || namePath.length || shouldUpdate) && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n return;\n }\n break;\n }\n if (shouldUpdate === true) {\n _this.reRender();\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"validateRules\", function (options) {\n // We should fixed namePath & value to avoid developer change then by form function\n var namePath = _this.getNamePath();\n var currentValue = _this.getValue();\n var _ref2 = options || {},\n triggerName = _ref2.triggerName,\n _ref2$validateOnly = _ref2.validateOnly,\n validateOnly = _ref2$validateOnly === void 0 ? false : _ref2$validateOnly;\n\n // Force change to async to avoid rule OOD under renderProps field\n var rootPromise = Promise.resolve().then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n var _this$props5, _this$props5$validate, validateFirst, messageVariables, validateDebounce, filteredRules, promise;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (_this.mounted) {\n _context.next = 2;\n break;\n }\n return _context.abrupt(\"return\", []);\n case 2:\n _this$props5 = _this.props, _this$props5$validate = _this$props5.validateFirst, validateFirst = _this$props5$validate === void 0 ? false : _this$props5$validate, messageVariables = _this$props5.messageVariables, validateDebounce = _this$props5.validateDebounce; // Start validate\n filteredRules = _this.getRules();\n if (triggerName) {\n filteredRules = filteredRules.filter(function (rule) {\n return rule;\n }).filter(function (rule) {\n var validateTrigger = rule.validateTrigger;\n if (!validateTrigger) {\n return true;\n }\n var triggerList = toArray(validateTrigger);\n return triggerList.includes(triggerName);\n });\n }\n\n // Wait for debounce. Skip if no `triggerName` since its from `validateFields / submit`\n if (!(validateDebounce && triggerName)) {\n _context.next = 10;\n break;\n }\n _context.next = 8;\n return new Promise(function (resolve) {\n setTimeout(resolve, validateDebounce);\n });\n case 8:\n if (!(_this.validatePromise !== rootPromise)) {\n _context.next = 10;\n break;\n }\n return _context.abrupt(\"return\", []);\n case 10:\n promise = validateRules(namePath, currentValue, filteredRules, options, validateFirst, messageVariables);\n promise.catch(function (e) {\n return e;\n }).then(function () {\n var ruleErrors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : EMPTY_ERRORS;\n if (_this.validatePromise === rootPromise) {\n var _ruleErrors$forEach;\n _this.validatePromise = null;\n\n // Get errors & warnings\n var nextErrors = [];\n var nextWarnings = [];\n (_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 || _ruleErrors$forEach.call(ruleErrors, function (_ref4) {\n var warningOnly = _ref4.rule.warningOnly,\n _ref4$errors = _ref4.errors,\n errors = _ref4$errors === void 0 ? EMPTY_ERRORS : _ref4$errors;\n if (warningOnly) {\n nextWarnings.push.apply(nextWarnings, _toConsumableArray(errors));\n } else {\n nextErrors.push.apply(nextErrors, _toConsumableArray(errors));\n }\n });\n _this.errors = nextErrors;\n _this.warnings = nextWarnings;\n _this.triggerMetaEvent();\n _this.reRender();\n }\n });\n return _context.abrupt(\"return\", promise);\n case 13:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n if (validateOnly) {\n return rootPromise;\n }\n _this.validatePromise = rootPromise;\n _this.dirty = true;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n\n // Force trigger re-render since we need sync renderProps with new meta\n _this.reRender();\n return rootPromise;\n });\n _defineProperty(_assertThisInitialized(_this), \"isFieldValidating\", function () {\n return !!_this.validatePromise;\n });\n _defineProperty(_assertThisInitialized(_this), \"isFieldTouched\", function () {\n return _this.touched;\n });\n _defineProperty(_assertThisInitialized(_this), \"isFieldDirty\", function () {\n // Touched or validate or has initialValue\n if (_this.dirty || _this.props.initialValue !== undefined) {\n return true;\n }\n\n // Form set initialValue\n var fieldContext = _this.props.fieldContext;\n var _fieldContext$getInte = fieldContext.getInternalHooks(HOOK_MARK),\n getInitialValue = _fieldContext$getInte.getInitialValue;\n if (getInitialValue(_this.getNamePath()) !== undefined) {\n return true;\n }\n return false;\n });\n _defineProperty(_assertThisInitialized(_this), \"getErrors\", function () {\n return _this.errors;\n });\n _defineProperty(_assertThisInitialized(_this), \"getWarnings\", function () {\n return _this.warnings;\n });\n _defineProperty(_assertThisInitialized(_this), \"isListField\", function () {\n return _this.props.isListField;\n });\n _defineProperty(_assertThisInitialized(_this), \"isList\", function () {\n return _this.props.isList;\n });\n _defineProperty(_assertThisInitialized(_this), \"isPreserve\", function () {\n return _this.props.preserve;\n });\n // ============================= Child Component =============================\n _defineProperty(_assertThisInitialized(_this), \"getMeta\", function () {\n // Make error & validating in cache to save perf\n _this.prevValidating = _this.isFieldValidating();\n var meta = {\n touched: _this.isFieldTouched(),\n validating: _this.prevValidating,\n errors: _this.errors,\n warnings: _this.warnings,\n name: _this.getNamePath(),\n validated: _this.validatePromise === null\n };\n return meta;\n });\n // Only return validate child node. If invalidate, will do nothing about field.\n _defineProperty(_assertThisInitialized(_this), \"getOnlyChild\", function (children) {\n // Support render props\n if (typeof children === 'function') {\n var _meta2 = _this.getMeta();\n return _objectSpread(_objectSpread({}, _this.getOnlyChild(children(_this.getControlled(), _meta2, _this.props.fieldContext))), {}, {\n isFunction: true\n });\n }\n\n // Filed element only\n var childList = toChildrenArray(children);\n if (childList.length !== 1 || ! /*#__PURE__*/React.isValidElement(childList[0])) {\n return {\n child: childList,\n isFunction: false\n };\n }\n return {\n child: childList[0],\n isFunction: false\n };\n });\n // ============================== Field Control ==============================\n _defineProperty(_assertThisInitialized(_this), \"getValue\", function (store) {\n var getFieldsValue = _this.props.fieldContext.getFieldsValue;\n var namePath = _this.getNamePath();\n return getValue(store || getFieldsValue(true), namePath);\n });\n _defineProperty(_assertThisInitialized(_this), \"getControlled\", function () {\n var childProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _this$props6 = _this.props,\n name = _this$props6.name,\n trigger = _this$props6.trigger,\n validateTrigger = _this$props6.validateTrigger,\n getValueFromEvent = _this$props6.getValueFromEvent,\n normalize = _this$props6.normalize,\n valuePropName = _this$props6.valuePropName,\n getValueProps = _this$props6.getValueProps,\n fieldContext = _this$props6.fieldContext;\n var mergedValidateTrigger = validateTrigger !== undefined ? validateTrigger : fieldContext.validateTrigger;\n var namePath = _this.getNamePath();\n var getInternalHooks = fieldContext.getInternalHooks,\n getFieldsValue = fieldContext.getFieldsValue;\n var _getInternalHooks = getInternalHooks(HOOK_MARK),\n dispatch = _getInternalHooks.dispatch;\n var value = _this.getValue();\n var mergedGetValueProps = getValueProps || function (val) {\n return _defineProperty({}, valuePropName, val);\n };\n var originTriggerFunc = childProps[trigger];\n var valueProps = name !== undefined ? mergedGetValueProps(value) : {};\n\n // warning when prop value is function\n if (process.env.NODE_ENV !== 'production' && valueProps) {\n Object.keys(valueProps).forEach(function (key) {\n warning(typeof valueProps[key] !== 'function', \"It's not recommended to generate dynamic function prop by `getValueProps`. Please pass it to child component directly (prop: \".concat(key, \")\"));\n });\n }\n var control = _objectSpread(_objectSpread({}, childProps), valueProps);\n\n // Add trigger\n control[trigger] = function () {\n // Mark as touched\n _this.touched = true;\n _this.dirty = true;\n _this.triggerMetaEvent();\n var newValue;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (getValueFromEvent) {\n newValue = getValueFromEvent.apply(void 0, args);\n } else {\n newValue = defaultGetValueFromEvent.apply(void 0, [valuePropName].concat(args));\n }\n if (normalize) {\n newValue = normalize(newValue, value, getFieldsValue(true));\n }\n dispatch({\n type: 'updateValue',\n namePath: namePath,\n value: newValue\n });\n if (originTriggerFunc) {\n originTriggerFunc.apply(void 0, args);\n }\n };\n\n // Add validateTrigger\n var validateTriggerList = toArray(mergedValidateTrigger || []);\n validateTriggerList.forEach(function (triggerName) {\n // Wrap additional function of component, so that we can get latest value from store\n var originTrigger = control[triggerName];\n control[triggerName] = function () {\n if (originTrigger) {\n originTrigger.apply(void 0, arguments);\n }\n\n // Always use latest rules\n var rules = _this.props.rules;\n if (rules && rules.length) {\n // We dispatch validate to root,\n // since it will update related data with other field with same name\n dispatch({\n type: 'validateField',\n namePath: namePath,\n triggerName: triggerName\n });\n }\n };\n });\n return control;\n });\n if (props.fieldContext) {\n var getInternalHooks = props.fieldContext.getInternalHooks;\n var _getInternalHooks2 = getInternalHooks(HOOK_MARK),\n initEntityValue = _getInternalHooks2.initEntityValue;\n initEntityValue(_assertThisInitialized(_this));\n }\n return _this;\n }\n _createClass(Field, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props7 = this.props,\n shouldUpdate = _this$props7.shouldUpdate,\n fieldContext = _this$props7.fieldContext;\n this.mounted = true;\n\n // Register on init\n if (fieldContext) {\n var getInternalHooks = fieldContext.getInternalHooks;\n var _getInternalHooks3 = getInternalHooks(HOOK_MARK),\n registerField = _getInternalHooks3.registerField;\n this.cancelRegisterFunc = registerField(this);\n }\n\n // One more render for component in case fields not ready\n if (shouldUpdate === true) {\n this.reRender();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cancelRegister();\n this.triggerMetaEvent(true);\n this.mounted = false;\n }\n }, {\n key: \"reRender\",\n value: function reRender() {\n if (!this.mounted) return;\n this.forceUpdate();\n }\n }, {\n key: \"render\",\n value: function render() {\n var resetCount = this.state.resetCount;\n var children = this.props.children;\n var _this$getOnlyChild = this.getOnlyChild(children),\n child = _this$getOnlyChild.child,\n isFunction = _this$getOnlyChild.isFunction;\n\n // Not need to `cloneElement` since user can handle this in render function self\n var returnChildNode;\n if (isFunction) {\n returnChildNode = child;\n } else if ( /*#__PURE__*/React.isValidElement(child)) {\n returnChildNode = /*#__PURE__*/React.cloneElement(child, this.getControlled(child.props));\n } else {\n warning(!child, '`children` of Field is not validate ReactElement.');\n returnChildNode = child;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: resetCount\n }, returnChildNode);\n }\n }]);\n return Field;\n}(React.Component);\n_defineProperty(Field, \"contextType\", FieldContext);\n_defineProperty(Field, \"defaultProps\", {\n trigger: 'onChange',\n valuePropName: 'value'\n});\nfunction WrapperField(_ref6) {\n var name = _ref6.name,\n restProps = _objectWithoutProperties(_ref6, _excluded);\n var fieldContext = React.useContext(FieldContext);\n var listContext = React.useContext(ListContext);\n var namePath = name !== undefined ? getNamePath(name) : undefined;\n var key = 'keep';\n if (!restProps.isListField) {\n key = \"_\".concat((namePath || []).join('_'));\n }\n\n // Warning if it's a directly list field.\n // We can still support multiple level field preserve.\n if (process.env.NODE_ENV !== 'production' && restProps.preserve === false && restProps.isListField && namePath.length <= 1) {\n warning(false, '`preserve` should not apply on Form.List fields.');\n }\n return /*#__PURE__*/React.createElement(Field, _extends({\n key: key,\n name: namePath,\n isListField: !!listContext\n }, restProps, {\n fieldContext: fieldContext\n }));\n}\nexport default WrapperField;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport FieldContext from \"./FieldContext\";\nimport Field from \"./Field\";\nimport { move as _move, getNamePath } from \"./utils/valueUtil\";\nimport ListContext from \"./ListContext\";\nfunction List(_ref) {\n var name = _ref.name,\n initialValue = _ref.initialValue,\n children = _ref.children,\n rules = _ref.rules,\n validateTrigger = _ref.validateTrigger,\n isListField = _ref.isListField;\n var context = React.useContext(FieldContext);\n var wrapperListContext = React.useContext(ListContext);\n var keyRef = React.useRef({\n keys: [],\n id: 0\n });\n var keyManager = keyRef.current;\n var prefixName = React.useMemo(function () {\n var parentPrefixName = getNamePath(context.prefixName) || [];\n return [].concat(_toConsumableArray(parentPrefixName), _toConsumableArray(getNamePath(name)));\n }, [context.prefixName, name]);\n var fieldContext = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, context), {}, {\n prefixName: prefixName\n });\n }, [context, prefixName]);\n\n // List context\n var listContext = React.useMemo(function () {\n return {\n getKey: function getKey(namePath) {\n var len = prefixName.length;\n var pathName = namePath[len];\n return [keyManager.keys[pathName], namePath.slice(len + 1)];\n }\n };\n }, [prefixName]);\n\n // User should not pass `children` as other type.\n if (typeof children !== 'function') {\n warning(false, 'Form.List only accepts function as children.');\n return null;\n }\n var shouldUpdate = function shouldUpdate(prevValue, nextValue, _ref2) {\n var source = _ref2.source;\n if (source === 'internal') {\n return false;\n }\n return prevValue !== nextValue;\n };\n return /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: listContext\n }, /*#__PURE__*/React.createElement(FieldContext.Provider, {\n value: fieldContext\n }, /*#__PURE__*/React.createElement(Field, {\n name: [],\n shouldUpdate: shouldUpdate,\n rules: rules,\n validateTrigger: validateTrigger,\n initialValue: initialValue,\n isList: true,\n isListField: isListField !== null && isListField !== void 0 ? isListField : !!wrapperListContext\n }, function (_ref3, meta) {\n var _ref3$value = _ref3.value,\n value = _ref3$value === void 0 ? [] : _ref3$value,\n onChange = _ref3.onChange;\n var getFieldValue = context.getFieldValue;\n var getNewValue = function getNewValue() {\n var values = getFieldValue(prefixName || []);\n return values || [];\n };\n /**\n * Always get latest value in case user update fields by `form` api.\n */\n var operations = {\n add: function add(defaultValue, index) {\n // Mapping keys\n var newValue = getNewValue();\n if (index >= 0 && index <= newValue.length) {\n keyManager.keys = [].concat(_toConsumableArray(keyManager.keys.slice(0, index)), [keyManager.id], _toConsumableArray(keyManager.keys.slice(index)));\n onChange([].concat(_toConsumableArray(newValue.slice(0, index)), [defaultValue], _toConsumableArray(newValue.slice(index))));\n } else {\n if (process.env.NODE_ENV !== 'production' && (index < 0 || index > newValue.length)) {\n warning(false, 'The second parameter of the add function should be a valid positive number.');\n }\n keyManager.keys = [].concat(_toConsumableArray(keyManager.keys), [keyManager.id]);\n onChange([].concat(_toConsumableArray(newValue), [defaultValue]));\n }\n keyManager.id += 1;\n },\n remove: function remove(index) {\n var newValue = getNewValue();\n var indexSet = new Set(Array.isArray(index) ? index : [index]);\n if (indexSet.size <= 0) {\n return;\n }\n keyManager.keys = keyManager.keys.filter(function (_, keysIndex) {\n return !indexSet.has(keysIndex);\n });\n\n // Trigger store change\n onChange(newValue.filter(function (_, valueIndex) {\n return !indexSet.has(valueIndex);\n }));\n },\n move: function move(from, to) {\n if (from === to) {\n return;\n }\n var newValue = getNewValue();\n\n // Do not handle out of range\n if (from < 0 || from >= newValue.length || to < 0 || to >= newValue.length) {\n return;\n }\n keyManager.keys = _move(keyManager.keys, from, to);\n\n // Trigger store change\n onChange(_move(newValue, from, to));\n }\n };\n var listValue = value || [];\n if (!Array.isArray(listValue)) {\n listValue = [];\n if (process.env.NODE_ENV !== 'production') {\n warning(false, \"Current value of '\".concat(prefixName.join(' > '), \"' is not an array type.\"));\n }\n }\n return children(listValue.map(function (__, index) {\n var key = keyManager.keys[index];\n if (key === undefined) {\n keyManager.keys[index] = keyManager.id;\n key = keyManager.keys[index];\n keyManager.id += 1;\n }\n return {\n name: index,\n key: key,\n isListField: true\n };\n }), operations, meta);\n })));\n}\nexport default List;","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar SPLIT = '__@field_split__';\n\n/**\n * Convert name path into string to fast the fetch speed of Map.\n */\nfunction normalize(namePath) {\n return namePath.map(function (cell) {\n return \"\".concat(_typeof(cell), \":\").concat(cell);\n })\n // Magic split\n .join(SPLIT);\n}\n\n/**\n * NameMap like a `Map` but accepts `string[]` as key.\n */\nvar NameMap = /*#__PURE__*/function () {\n function NameMap() {\n _classCallCheck(this, NameMap);\n _defineProperty(this, \"kvs\", new Map());\n }\n _createClass(NameMap, [{\n key: \"set\",\n value: function set(key, value) {\n this.kvs.set(normalize(key), value);\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this.kvs.get(normalize(key));\n }\n }, {\n key: \"update\",\n value: function update(key, updater) {\n var origin = this.get(key);\n var next = updater(origin);\n if (!next) {\n this.delete(key);\n } else {\n this.set(key, next);\n }\n }\n }, {\n key: \"delete\",\n value: function _delete(key) {\n this.kvs.delete(normalize(key));\n }\n\n // Since we only use this in test, let simply realize this\n }, {\n key: \"map\",\n value: function map(callback) {\n return _toConsumableArray(this.kvs.entries()).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n var cells = key.split(SPLIT);\n return callback({\n key: cells.map(function (cell) {\n var _cell$match = cell.match(/^([^:]*):(.*)$/),\n _cell$match2 = _slicedToArray(_cell$match, 3),\n type = _cell$match2[1],\n unit = _cell$match2[2];\n return type === 'number' ? Number(unit) : unit;\n }),\n value: value\n });\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var json = {};\n this.map(function (_ref3) {\n var key = _ref3.key,\n value = _ref3.value;\n json[key.join('.')] = value;\n return null;\n });\n return json;\n }\n }]);\n return NameMap;\n}();\nexport default NameMap;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"name\"];\nimport { merge } from \"rc-util/es/utils/set\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { HOOK_MARK } from \"./FieldContext\";\nimport { allPromiseFinish } from \"./utils/asyncUtil\";\nimport { defaultValidateMessages } from \"./utils/messages\";\nimport NameMap from \"./utils/NameMap\";\nimport { cloneByNamePathList, containsNamePath, getNamePath, getValue, matchNamePath, setValue } from \"./utils/valueUtil\";\nexport var FormStore = /*#__PURE__*/_createClass(function FormStore(forceRootUpdate) {\n var _this = this;\n _classCallCheck(this, FormStore);\n _defineProperty(this, \"formHooked\", false);\n _defineProperty(this, \"forceRootUpdate\", void 0);\n _defineProperty(this, \"subscribable\", true);\n _defineProperty(this, \"store\", {});\n _defineProperty(this, \"fieldEntities\", []);\n _defineProperty(this, \"initialValues\", {});\n _defineProperty(this, \"callbacks\", {});\n _defineProperty(this, \"validateMessages\", null);\n _defineProperty(this, \"preserve\", null);\n _defineProperty(this, \"lastValidatePromise\", null);\n _defineProperty(this, \"getForm\", function () {\n return {\n getFieldValue: _this.getFieldValue,\n getFieldsValue: _this.getFieldsValue,\n getFieldError: _this.getFieldError,\n getFieldWarning: _this.getFieldWarning,\n getFieldsError: _this.getFieldsError,\n isFieldsTouched: _this.isFieldsTouched,\n isFieldTouched: _this.isFieldTouched,\n isFieldValidating: _this.isFieldValidating,\n isFieldsValidating: _this.isFieldsValidating,\n resetFields: _this.resetFields,\n setFields: _this.setFields,\n setFieldValue: _this.setFieldValue,\n setFieldsValue: _this.setFieldsValue,\n validateFields: _this.validateFields,\n submit: _this.submit,\n _init: true,\n getInternalHooks: _this.getInternalHooks\n };\n });\n // ======================== Internal Hooks ========================\n _defineProperty(this, \"getInternalHooks\", function (key) {\n if (key === HOOK_MARK) {\n _this.formHooked = true;\n return {\n dispatch: _this.dispatch,\n initEntityValue: _this.initEntityValue,\n registerField: _this.registerField,\n useSubscribe: _this.useSubscribe,\n setInitialValues: _this.setInitialValues,\n destroyForm: _this.destroyForm,\n setCallbacks: _this.setCallbacks,\n setValidateMessages: _this.setValidateMessages,\n getFields: _this.getFields,\n setPreserve: _this.setPreserve,\n getInitialValue: _this.getInitialValue,\n registerWatch: _this.registerWatch\n };\n }\n warning(false, '`getInternalHooks` is internal usage. Should not call directly.');\n return null;\n });\n _defineProperty(this, \"useSubscribe\", function (subscribable) {\n _this.subscribable = subscribable;\n });\n /**\n * Record prev Form unmount fieldEntities which config preserve false.\n * This need to be refill with initialValues instead of store value.\n */\n _defineProperty(this, \"prevWithoutPreserves\", null);\n /**\n * First time `setInitialValues` should update store with initial value\n */\n _defineProperty(this, \"setInitialValues\", function (initialValues, init) {\n _this.initialValues = initialValues || {};\n if (init) {\n var _this$prevWithoutPres;\n var nextStore = merge(initialValues, _this.store);\n\n // We will take consider prev form unmount fields.\n // When the field is not `preserve`, we need fill this with initialValues instead of store.\n // eslint-disable-next-line array-callback-return\n (_this$prevWithoutPres = _this.prevWithoutPreserves) === null || _this$prevWithoutPres === void 0 || _this$prevWithoutPres.map(function (_ref) {\n var namePath = _ref.key;\n nextStore = setValue(nextStore, namePath, getValue(initialValues, namePath));\n });\n _this.prevWithoutPreserves = null;\n _this.updateStore(nextStore);\n }\n });\n _defineProperty(this, \"destroyForm\", function (clearOnDestroy) {\n if (clearOnDestroy) {\n // destroy form reset store\n _this.updateStore({});\n } else {\n // Fill preserve fields\n var prevWithoutPreserves = new NameMap();\n _this.getFieldEntities(true).forEach(function (entity) {\n if (!_this.isMergedPreserve(entity.isPreserve())) {\n prevWithoutPreserves.set(entity.getNamePath(), true);\n }\n });\n _this.prevWithoutPreserves = prevWithoutPreserves;\n }\n });\n _defineProperty(this, \"getInitialValue\", function (namePath) {\n var initValue = getValue(_this.initialValues, namePath);\n\n // Not cloneDeep when without `namePath`\n return namePath.length ? merge(initValue) : initValue;\n });\n _defineProperty(this, \"setCallbacks\", function (callbacks) {\n _this.callbacks = callbacks;\n });\n _defineProperty(this, \"setValidateMessages\", function (validateMessages) {\n _this.validateMessages = validateMessages;\n });\n _defineProperty(this, \"setPreserve\", function (preserve) {\n _this.preserve = preserve;\n });\n // ============================= Watch ============================\n _defineProperty(this, \"watchList\", []);\n _defineProperty(this, \"registerWatch\", function (callback) {\n _this.watchList.push(callback);\n return function () {\n _this.watchList = _this.watchList.filter(function (fn) {\n return fn !== callback;\n });\n };\n });\n _defineProperty(this, \"notifyWatch\", function () {\n var namePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n // No need to cost perf when nothing need to watch\n if (_this.watchList.length) {\n var values = _this.getFieldsValue();\n var allValues = _this.getFieldsValue(true);\n _this.watchList.forEach(function (callback) {\n callback(values, allValues, namePath);\n });\n }\n });\n // ========================== Dev Warning =========================\n _defineProperty(this, \"timeoutId\", null);\n _defineProperty(this, \"warningUnhooked\", function () {\n if (process.env.NODE_ENV !== 'production' && !_this.timeoutId && typeof window !== 'undefined') {\n _this.timeoutId = setTimeout(function () {\n _this.timeoutId = null;\n if (!_this.formHooked) {\n warning(false, 'Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?');\n }\n });\n }\n });\n // ============================ Store =============================\n _defineProperty(this, \"updateStore\", function (nextStore) {\n _this.store = nextStore;\n });\n // ============================ Fields ============================\n /**\n * Get registered field entities.\n * @param pure Only return field which has a `name`. Default: false\n */\n _defineProperty(this, \"getFieldEntities\", function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (!pure) {\n return _this.fieldEntities;\n }\n return _this.fieldEntities.filter(function (field) {\n return field.getNamePath().length;\n });\n });\n _defineProperty(this, \"getFieldsMap\", function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var cache = new NameMap();\n _this.getFieldEntities(pure).forEach(function (field) {\n var namePath = field.getNamePath();\n cache.set(namePath, field);\n });\n return cache;\n });\n _defineProperty(this, \"getFieldEntitiesForNamePathList\", function (nameList) {\n if (!nameList) {\n return _this.getFieldEntities(true);\n }\n var cache = _this.getFieldsMap(true);\n return nameList.map(function (name) {\n var namePath = getNamePath(name);\n return cache.get(namePath) || {\n INVALIDATE_NAME_PATH: getNamePath(name)\n };\n });\n });\n _defineProperty(this, \"getFieldsValue\", function (nameList, filterFunc) {\n _this.warningUnhooked();\n\n // Fill args\n var mergedNameList;\n var mergedFilterFunc;\n var mergedStrict;\n if (nameList === true || Array.isArray(nameList)) {\n mergedNameList = nameList;\n mergedFilterFunc = filterFunc;\n } else if (nameList && _typeof(nameList) === 'object') {\n mergedStrict = nameList.strict;\n mergedFilterFunc = nameList.filter;\n }\n if (mergedNameList === true && !mergedFilterFunc) {\n return _this.store;\n }\n var fieldEntities = _this.getFieldEntitiesForNamePathList(Array.isArray(mergedNameList) ? mergedNameList : null);\n var filteredNameList = [];\n fieldEntities.forEach(function (entity) {\n var _isListField, _ref3;\n var namePath = 'INVALIDATE_NAME_PATH' in entity ? entity.INVALIDATE_NAME_PATH : entity.getNamePath();\n\n // Ignore when it's a list item and not specific the namePath,\n // since parent field is already take in count\n if (mergedStrict) {\n var _isList, _ref2;\n if ((_isList = (_ref2 = entity).isList) !== null && _isList !== void 0 && _isList.call(_ref2)) {\n return;\n }\n } else if (!mergedNameList && (_isListField = (_ref3 = entity).isListField) !== null && _isListField !== void 0 && _isListField.call(_ref3)) {\n return;\n }\n if (!mergedFilterFunc) {\n filteredNameList.push(namePath);\n } else {\n var meta = 'getMeta' in entity ? entity.getMeta() : null;\n if (mergedFilterFunc(meta)) {\n filteredNameList.push(namePath);\n }\n }\n });\n return cloneByNamePathList(_this.store, filteredNameList.map(getNamePath));\n });\n _defineProperty(this, \"getFieldValue\", function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n return getValue(_this.store, namePath);\n });\n _defineProperty(this, \"getFieldsError\", function (nameList) {\n _this.warningUnhooked();\n var fieldEntities = _this.getFieldEntitiesForNamePathList(nameList);\n return fieldEntities.map(function (entity, index) {\n if (entity && !('INVALIDATE_NAME_PATH' in entity)) {\n return {\n name: entity.getNamePath(),\n errors: entity.getErrors(),\n warnings: entity.getWarnings()\n };\n }\n return {\n name: getNamePath(nameList[index]),\n errors: [],\n warnings: []\n };\n });\n });\n _defineProperty(this, \"getFieldError\", function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n var fieldError = _this.getFieldsError([namePath])[0];\n return fieldError.errors;\n });\n _defineProperty(this, \"getFieldWarning\", function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n var fieldError = _this.getFieldsError([namePath])[0];\n return fieldError.warnings;\n });\n _defineProperty(this, \"isFieldsTouched\", function () {\n _this.warningUnhooked();\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var arg0 = args[0],\n arg1 = args[1];\n var namePathList;\n var isAllFieldsTouched = false;\n if (args.length === 0) {\n namePathList = null;\n } else if (args.length === 1) {\n if (Array.isArray(arg0)) {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = false;\n } else {\n namePathList = null;\n isAllFieldsTouched = arg0;\n }\n } else {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = arg1;\n }\n var fieldEntities = _this.getFieldEntities(true);\n var isFieldTouched = function isFieldTouched(field) {\n return field.isFieldTouched();\n };\n\n // ===== Will get fully compare when not config namePathList =====\n if (!namePathList) {\n return isAllFieldsTouched ? fieldEntities.every(function (entity) {\n return isFieldTouched(entity) || entity.isList();\n }) : fieldEntities.some(isFieldTouched);\n }\n\n // Generate a nest tree for validate\n var map = new NameMap();\n namePathList.forEach(function (shortNamePath) {\n map.set(shortNamePath, []);\n });\n fieldEntities.forEach(function (field) {\n var fieldNamePath = field.getNamePath();\n\n // Find matched entity and put into list\n namePathList.forEach(function (shortNamePath) {\n if (shortNamePath.every(function (nameUnit, i) {\n return fieldNamePath[i] === nameUnit;\n })) {\n map.update(shortNamePath, function (list) {\n return [].concat(_toConsumableArray(list), [field]);\n });\n }\n });\n });\n\n // Check if NameMap value is touched\n var isNamePathListTouched = function isNamePathListTouched(entities) {\n return entities.some(isFieldTouched);\n };\n var namePathListEntities = map.map(function (_ref4) {\n var value = _ref4.value;\n return value;\n });\n return isAllFieldsTouched ? namePathListEntities.every(isNamePathListTouched) : namePathListEntities.some(isNamePathListTouched);\n });\n _defineProperty(this, \"isFieldTouched\", function (name) {\n _this.warningUnhooked();\n return _this.isFieldsTouched([name]);\n });\n _defineProperty(this, \"isFieldsValidating\", function (nameList) {\n _this.warningUnhooked();\n var fieldEntities = _this.getFieldEntities();\n if (!nameList) {\n return fieldEntities.some(function (testField) {\n return testField.isFieldValidating();\n });\n }\n var namePathList = nameList.map(getNamePath);\n return fieldEntities.some(function (testField) {\n var fieldNamePath = testField.getNamePath();\n return containsNamePath(namePathList, fieldNamePath) && testField.isFieldValidating();\n });\n });\n _defineProperty(this, \"isFieldValidating\", function (name) {\n _this.warningUnhooked();\n return _this.isFieldsValidating([name]);\n });\n /**\n * Reset Field with field `initialValue` prop.\n * Can pass `entities` or `namePathList` or just nothing.\n */\n _defineProperty(this, \"resetWithFieldInitialValue\", function () {\n var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Create cache\n var cache = new NameMap();\n var fieldEntities = _this.getFieldEntities(true);\n fieldEntities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n var namePath = field.getNamePath();\n\n // Record only if has `initialValue`\n if (initialValue !== undefined) {\n var records = cache.get(namePath) || new Set();\n records.add({\n entity: field,\n value: initialValue\n });\n cache.set(namePath, records);\n }\n });\n\n // Reset\n var resetWithFields = function resetWithFields(entities) {\n entities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n if (initialValue !== undefined) {\n var namePath = field.getNamePath();\n var formInitialValue = _this.getInitialValue(namePath);\n if (formInitialValue !== undefined) {\n // Warning if conflict with form initialValues and do not modify value\n warning(false, \"Form already set 'initialValues' with path '\".concat(namePath.join('.'), \"'. Field can not overwrite it.\"));\n } else {\n var records = cache.get(namePath);\n if (records && records.size > 1) {\n // Warning if multiple field set `initialValue`and do not modify value\n warning(false, \"Multiple Field with path '\".concat(namePath.join('.'), \"' set 'initialValue'. Can not decide which one to pick.\"));\n } else if (records) {\n var originValue = _this.getFieldValue(namePath);\n var isListField = field.isListField();\n\n // Set `initialValue`\n if (!isListField && (!info.skipExist || originValue === undefined)) {\n _this.updateStore(setValue(_this.store, namePath, _toConsumableArray(records)[0].value));\n }\n }\n }\n }\n });\n };\n var requiredFieldEntities;\n if (info.entities) {\n requiredFieldEntities = info.entities;\n } else if (info.namePathList) {\n requiredFieldEntities = [];\n info.namePathList.forEach(function (namePath) {\n var records = cache.get(namePath);\n if (records) {\n var _requiredFieldEntitie;\n (_requiredFieldEntitie = requiredFieldEntities).push.apply(_requiredFieldEntitie, _toConsumableArray(_toConsumableArray(records).map(function (r) {\n return r.entity;\n })));\n }\n });\n } else {\n requiredFieldEntities = fieldEntities;\n }\n resetWithFields(requiredFieldEntities);\n });\n _defineProperty(this, \"resetFields\", function (nameList) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n if (!nameList) {\n _this.updateStore(merge(_this.initialValues));\n _this.resetWithFieldInitialValue();\n _this.notifyObservers(prevStore, null, {\n type: 'reset'\n });\n _this.notifyWatch();\n return;\n }\n\n // Reset by `nameList`\n var namePathList = nameList.map(getNamePath);\n namePathList.forEach(function (namePath) {\n var initialValue = _this.getInitialValue(namePath);\n _this.updateStore(setValue(_this.store, namePath, initialValue));\n });\n _this.resetWithFieldInitialValue({\n namePathList: namePathList\n });\n _this.notifyObservers(prevStore, namePathList, {\n type: 'reset'\n });\n _this.notifyWatch(namePathList);\n });\n _defineProperty(this, \"setFields\", function (fields) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n var namePathList = [];\n fields.forEach(function (fieldData) {\n var name = fieldData.name,\n data = _objectWithoutProperties(fieldData, _excluded);\n var namePath = getNamePath(name);\n namePathList.push(namePath);\n\n // Value\n if ('value' in data) {\n _this.updateStore(setValue(_this.store, namePath, data.value));\n }\n _this.notifyObservers(prevStore, [namePath], {\n type: 'setField',\n data: fieldData\n });\n });\n _this.notifyWatch(namePathList);\n });\n _defineProperty(this, \"getFields\", function () {\n var entities = _this.getFieldEntities(true);\n var fields = entities.map(function (field) {\n var namePath = field.getNamePath();\n var meta = field.getMeta();\n var fieldData = _objectSpread(_objectSpread({}, meta), {}, {\n name: namePath,\n value: _this.getFieldValue(namePath)\n });\n Object.defineProperty(fieldData, 'originRCField', {\n value: true\n });\n return fieldData;\n });\n return fields;\n });\n // =========================== Observer ===========================\n /**\n * This only trigger when a field is on constructor to avoid we get initialValue too late\n */\n _defineProperty(this, \"initEntityValue\", function (entity) {\n var initialValue = entity.props.initialValue;\n if (initialValue !== undefined) {\n var namePath = entity.getNamePath();\n var prevValue = getValue(_this.store, namePath);\n if (prevValue === undefined) {\n _this.updateStore(setValue(_this.store, namePath, initialValue));\n }\n }\n });\n _defineProperty(this, \"isMergedPreserve\", function (fieldPreserve) {\n var mergedPreserve = fieldPreserve !== undefined ? fieldPreserve : _this.preserve;\n return mergedPreserve !== null && mergedPreserve !== void 0 ? mergedPreserve : true;\n });\n _defineProperty(this, \"registerField\", function (entity) {\n _this.fieldEntities.push(entity);\n var namePath = entity.getNamePath();\n _this.notifyWatch([namePath]);\n\n // Set initial values\n if (entity.props.initialValue !== undefined) {\n var prevStore = _this.store;\n _this.resetWithFieldInitialValue({\n entities: [entity],\n skipExist: true\n });\n _this.notifyObservers(prevStore, [entity.getNamePath()], {\n type: 'valueUpdate',\n source: 'internal'\n });\n }\n\n // un-register field callback\n return function (isListField, preserve) {\n var subNamePath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n _this.fieldEntities = _this.fieldEntities.filter(function (item) {\n return item !== entity;\n });\n\n // Clean up store value if not preserve\n if (!_this.isMergedPreserve(preserve) && (!isListField || subNamePath.length > 1)) {\n var defaultValue = isListField ? undefined : _this.getInitialValue(namePath);\n if (namePath.length && _this.getFieldValue(namePath) !== defaultValue && _this.fieldEntities.every(function (field) {\n return (\n // Only reset when no namePath exist\n !matchNamePath(field.getNamePath(), namePath)\n );\n })) {\n var _prevStore = _this.store;\n _this.updateStore(setValue(_prevStore, namePath, defaultValue, true));\n\n // Notify that field is unmount\n _this.notifyObservers(_prevStore, [namePath], {\n type: 'remove'\n });\n\n // Dependencies update\n _this.triggerDependenciesUpdate(_prevStore, namePath);\n }\n }\n _this.notifyWatch([namePath]);\n };\n });\n _defineProperty(this, \"dispatch\", function (action) {\n switch (action.type) {\n case 'updateValue':\n {\n var namePath = action.namePath,\n value = action.value;\n _this.updateValue(namePath, value);\n break;\n }\n case 'validateField':\n {\n var _namePath = action.namePath,\n triggerName = action.triggerName;\n _this.validateFields([_namePath], {\n triggerName: triggerName\n });\n break;\n }\n default:\n // Currently we don't have other action. Do nothing.\n }\n });\n _defineProperty(this, \"notifyObservers\", function (prevStore, namePathList, info) {\n if (_this.subscribable) {\n var mergedInfo = _objectSpread(_objectSpread({}, info), {}, {\n store: _this.getFieldsValue(true)\n });\n _this.getFieldEntities().forEach(function (_ref5) {\n var onStoreChange = _ref5.onStoreChange;\n onStoreChange(prevStore, namePathList, mergedInfo);\n });\n } else {\n _this.forceRootUpdate();\n }\n });\n /**\n * Notify dependencies children with parent update\n * We need delay to trigger validate in case Field is under render props\n */\n _defineProperty(this, \"triggerDependenciesUpdate\", function (prevStore, namePath) {\n var childrenFields = _this.getDependencyChildrenFields(namePath);\n if (childrenFields.length) {\n _this.validateFields(childrenFields);\n }\n _this.notifyObservers(prevStore, childrenFields, {\n type: 'dependenciesUpdate',\n relatedFields: [namePath].concat(_toConsumableArray(childrenFields))\n });\n return childrenFields;\n });\n _defineProperty(this, \"updateValue\", function (name, value) {\n var namePath = getNamePath(name);\n var prevStore = _this.store;\n _this.updateStore(setValue(_this.store, namePath, value));\n _this.notifyObservers(prevStore, [namePath], {\n type: 'valueUpdate',\n source: 'internal'\n });\n _this.notifyWatch([namePath]);\n\n // Dependencies update\n var childrenFields = _this.triggerDependenciesUpdate(prevStore, namePath);\n\n // trigger callback function\n var onValuesChange = _this.callbacks.onValuesChange;\n if (onValuesChange) {\n var changedValues = cloneByNamePathList(_this.store, [namePath]);\n onValuesChange(changedValues, _this.getFieldsValue());\n }\n _this.triggerOnFieldsChange([namePath].concat(_toConsumableArray(childrenFields)));\n });\n // Let all child Field get update.\n _defineProperty(this, \"setFieldsValue\", function (store) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n if (store) {\n var nextStore = merge(_this.store, store);\n _this.updateStore(nextStore);\n }\n _this.notifyObservers(prevStore, null, {\n type: 'valueUpdate',\n source: 'external'\n });\n _this.notifyWatch();\n });\n _defineProperty(this, \"setFieldValue\", function (name, value) {\n _this.setFields([{\n name: name,\n value: value\n }]);\n });\n _defineProperty(this, \"getDependencyChildrenFields\", function (rootNamePath) {\n var children = new Set();\n var childrenFields = [];\n var dependencies2fields = new NameMap();\n\n /**\n * Generate maps\n * Can use cache to save perf if user report performance issue with this\n */\n _this.getFieldEntities().forEach(function (field) {\n var dependencies = field.props.dependencies;\n (dependencies || []).forEach(function (dependency) {\n var dependencyNamePath = getNamePath(dependency);\n dependencies2fields.update(dependencyNamePath, function () {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Set();\n fields.add(field);\n return fields;\n });\n });\n });\n var fillChildren = function fillChildren(namePath) {\n var fields = dependencies2fields.get(namePath) || new Set();\n fields.forEach(function (field) {\n if (!children.has(field)) {\n children.add(field);\n var fieldNamePath = field.getNamePath();\n if (field.isFieldDirty() && fieldNamePath.length) {\n childrenFields.push(fieldNamePath);\n fillChildren(fieldNamePath);\n }\n }\n });\n };\n fillChildren(rootNamePath);\n return childrenFields;\n });\n _defineProperty(this, \"triggerOnFieldsChange\", function (namePathList, filedErrors) {\n var onFieldsChange = _this.callbacks.onFieldsChange;\n if (onFieldsChange) {\n var fields = _this.getFields();\n\n /**\n * Fill errors since `fields` may be replaced by controlled fields\n */\n if (filedErrors) {\n var cache = new NameMap();\n filedErrors.forEach(function (_ref6) {\n var name = _ref6.name,\n errors = _ref6.errors;\n cache.set(name, errors);\n });\n fields.forEach(function (field) {\n // eslint-disable-next-line no-param-reassign\n field.errors = cache.get(field.name) || field.errors;\n });\n }\n var changedFields = fields.filter(function (_ref7) {\n var fieldName = _ref7.name;\n return containsNamePath(namePathList, fieldName);\n });\n if (changedFields.length) {\n onFieldsChange(changedFields, fields);\n }\n }\n });\n // =========================== Validate ===========================\n _defineProperty(this, \"validateFields\", function (arg1, arg2) {\n _this.warningUnhooked();\n var nameList;\n var options;\n if (Array.isArray(arg1) || typeof arg1 === 'string' || typeof arg2 === 'string') {\n nameList = arg1;\n options = arg2;\n } else {\n options = arg1;\n }\n var provideNameList = !!nameList;\n var namePathList = provideNameList ? nameList.map(getNamePath) : [];\n\n // Collect result in promise list\n var promiseList = [];\n\n // We temp save the path which need trigger for `onFieldsChange`\n var TMP_SPLIT = String(Date.now());\n var validateNamePathList = new Set();\n var _ref8 = options || {},\n recursive = _ref8.recursive,\n dirty = _ref8.dirty;\n _this.getFieldEntities(true).forEach(function (field) {\n // Add field if not provide `nameList`\n if (!provideNameList) {\n namePathList.push(field.getNamePath());\n }\n\n // Skip if without rule\n if (!field.props.rules || !field.props.rules.length) {\n return;\n }\n\n // Skip if only validate dirty field\n if (dirty && !field.isFieldDirty()) {\n return;\n }\n var fieldNamePath = field.getNamePath();\n validateNamePathList.add(fieldNamePath.join(TMP_SPLIT));\n\n // Add field validate rule in to promise list\n if (!provideNameList || containsNamePath(namePathList, fieldNamePath, recursive)) {\n var promise = field.validateRules(_objectSpread({\n validateMessages: _objectSpread(_objectSpread({}, defaultValidateMessages), _this.validateMessages)\n }, options));\n\n // Wrap promise with field\n promiseList.push(promise.then(function () {\n return {\n name: fieldNamePath,\n errors: [],\n warnings: []\n };\n }).catch(function (ruleErrors) {\n var _ruleErrors$forEach;\n var mergedErrors = [];\n var mergedWarnings = [];\n (_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 || _ruleErrors$forEach.call(ruleErrors, function (_ref9) {\n var warningOnly = _ref9.rule.warningOnly,\n errors = _ref9.errors;\n if (warningOnly) {\n mergedWarnings.push.apply(mergedWarnings, _toConsumableArray(errors));\n } else {\n mergedErrors.push.apply(mergedErrors, _toConsumableArray(errors));\n }\n });\n if (mergedErrors.length) {\n return Promise.reject({\n name: fieldNamePath,\n errors: mergedErrors,\n warnings: mergedWarnings\n });\n }\n return {\n name: fieldNamePath,\n errors: mergedErrors,\n warnings: mergedWarnings\n };\n }));\n }\n });\n var summaryPromise = allPromiseFinish(promiseList);\n _this.lastValidatePromise = summaryPromise;\n\n // Notify fields with rule that validate has finished and need update\n summaryPromise.catch(function (results) {\n return results;\n }).then(function (results) {\n var resultNamePathList = results.map(function (_ref10) {\n var name = _ref10.name;\n return name;\n });\n _this.notifyObservers(_this.store, resultNamePathList, {\n type: 'validateFinish'\n });\n _this.triggerOnFieldsChange(resultNamePathList, results);\n });\n var returnPromise = summaryPromise.then(function () {\n if (_this.lastValidatePromise === summaryPromise) {\n return Promise.resolve(_this.getFieldsValue(namePathList));\n }\n return Promise.reject([]);\n }).catch(function (results) {\n var errorList = results.filter(function (result) {\n return result && result.errors.length;\n });\n return Promise.reject({\n values: _this.getFieldsValue(namePathList),\n errorFields: errorList,\n outOfDate: _this.lastValidatePromise !== summaryPromise\n });\n });\n\n // Do not throw in console\n returnPromise.catch(function (e) {\n return e;\n });\n\n // `validating` changed. Trigger `onFieldsChange`\n var triggerNamePathList = namePathList.filter(function (namePath) {\n return validateNamePathList.has(namePath.join(TMP_SPLIT));\n });\n _this.triggerOnFieldsChange(triggerNamePathList);\n return returnPromise;\n });\n // ============================ Submit ============================\n _defineProperty(this, \"submit\", function () {\n _this.warningUnhooked();\n _this.validateFields().then(function (values) {\n var onFinish = _this.callbacks.onFinish;\n if (onFinish) {\n try {\n onFinish(values);\n } catch (err) {\n // Should print error if user `onFinish` callback failed\n console.error(err);\n }\n }\n }).catch(function (e) {\n var onFinishFailed = _this.callbacks.onFinishFailed;\n if (onFinishFailed) {\n onFinishFailed(e);\n }\n });\n });\n this.forceRootUpdate = forceRootUpdate;\n});\nfunction useForm(form) {\n var formRef = React.useRef();\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n if (!formRef.current) {\n if (form) {\n formRef.current = form;\n } else {\n // Create a new FormStore if not provided\n var forceReRender = function forceReRender() {\n forceUpdate({});\n };\n var formStore = new FormStore(forceReRender);\n formRef.current = formStore.getForm();\n }\n }\n return [formRef.current];\n}\nexport default useForm;","export function allPromiseFinish(promiseList) {\n var hasError = false;\n var count = promiseList.length;\n var results = [];\n if (!promiseList.length) {\n return Promise.resolve([]);\n }\n return new Promise(function (resolve, reject) {\n promiseList.forEach(function (promise, index) {\n promise.catch(function (e) {\n hasError = true;\n return e;\n }).then(function (result) {\n count -= 1;\n results[index] = result;\n if (count > 0) {\n return;\n }\n if (hasError) {\n reject(results);\n }\n resolve(results);\n });\n });\n });\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nvar FormContext = /*#__PURE__*/React.createContext({\n triggerFormChange: function triggerFormChange() {},\n triggerFormFinish: function triggerFormFinish() {},\n registerForm: function registerForm() {},\n unregisterForm: function unregisterForm() {}\n});\nvar FormProvider = function FormProvider(_ref) {\n var validateMessages = _ref.validateMessages,\n onFormChange = _ref.onFormChange,\n onFormFinish = _ref.onFormFinish,\n children = _ref.children;\n var formContext = React.useContext(FormContext);\n var formsRef = React.useRef({});\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: _objectSpread(_objectSpread({}, formContext), {}, {\n validateMessages: _objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages),\n // =========================================================\n // = Global Form Control =\n // =========================================================\n triggerFormChange: function triggerFormChange(name, changedFields) {\n if (onFormChange) {\n onFormChange(name, {\n changedFields: changedFields,\n forms: formsRef.current\n });\n }\n formContext.triggerFormChange(name, changedFields);\n },\n triggerFormFinish: function triggerFormFinish(name, values) {\n if (onFormFinish) {\n onFormFinish(name, {\n values: values,\n forms: formsRef.current\n });\n }\n formContext.triggerFormFinish(name, values);\n },\n registerForm: function registerForm(name, form) {\n if (name) {\n formsRef.current = _objectSpread(_objectSpread({}, formsRef.current), {}, _defineProperty({}, name, form));\n }\n formContext.registerForm(name, form);\n },\n unregisterForm: function unregisterForm(name) {\n var newForms = _objectSpread({}, formsRef.current);\n delete newForms[name];\n formsRef.current = newForms;\n formContext.unregisterForm(name);\n }\n })\n }, children);\n};\nexport { FormProvider };\nexport default FormContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"name\", \"initialValues\", \"fields\", \"form\", \"preserve\", \"children\", \"component\", \"validateMessages\", \"validateTrigger\", \"onValuesChange\", \"onFieldsChange\", \"onFinish\", \"onFinishFailed\", \"clearOnDestroy\"];\nimport * as React from 'react';\nimport useForm from \"./useForm\";\nimport FieldContext, { HOOK_MARK } from \"./FieldContext\";\nimport FormContext from \"./FormContext\";\nimport { isSimilar } from \"./utils/valueUtil\";\nimport ListContext from \"./ListContext\";\nvar Form = function Form(_ref, ref) {\n var name = _ref.name,\n initialValues = _ref.initialValues,\n fields = _ref.fields,\n form = _ref.form,\n preserve = _ref.preserve,\n children = _ref.children,\n _ref$component = _ref.component,\n Component = _ref$component === void 0 ? 'form' : _ref$component,\n validateMessages = _ref.validateMessages,\n _ref$validateTrigger = _ref.validateTrigger,\n validateTrigger = _ref$validateTrigger === void 0 ? 'onChange' : _ref$validateTrigger,\n onValuesChange = _ref.onValuesChange,\n _onFieldsChange = _ref.onFieldsChange,\n _onFinish = _ref.onFinish,\n onFinishFailed = _ref.onFinishFailed,\n clearOnDestroy = _ref.clearOnDestroy,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var nativeElementRef = React.useRef(null);\n var formContext = React.useContext(FormContext);\n\n // We customize handle event since Context will makes all the consumer re-render:\n // https://reactjs.org/docs/context.html#contextprovider\n var _useForm = useForm(form),\n _useForm2 = _slicedToArray(_useForm, 1),\n formInstance = _useForm2[0];\n var _getInternalHooks = formInstance.getInternalHooks(HOOK_MARK),\n useSubscribe = _getInternalHooks.useSubscribe,\n setInitialValues = _getInternalHooks.setInitialValues,\n setCallbacks = _getInternalHooks.setCallbacks,\n setValidateMessages = _getInternalHooks.setValidateMessages,\n setPreserve = _getInternalHooks.setPreserve,\n destroyForm = _getInternalHooks.destroyForm;\n\n // Pass ref with form instance\n React.useImperativeHandle(ref, function () {\n return _objectSpread(_objectSpread({}, formInstance), {}, {\n nativeElement: nativeElementRef.current\n });\n });\n\n // Register form into Context\n React.useEffect(function () {\n formContext.registerForm(name, formInstance);\n return function () {\n formContext.unregisterForm(name);\n };\n }, [formContext, formInstance, name]);\n\n // Pass props to store\n setValidateMessages(_objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages));\n setCallbacks({\n onValuesChange: onValuesChange,\n onFieldsChange: function onFieldsChange(changedFields) {\n formContext.triggerFormChange(name, changedFields);\n if (_onFieldsChange) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n _onFieldsChange.apply(void 0, [changedFields].concat(rest));\n }\n },\n onFinish: function onFinish(values) {\n formContext.triggerFormFinish(name, values);\n if (_onFinish) {\n _onFinish(values);\n }\n },\n onFinishFailed: onFinishFailed\n });\n setPreserve(preserve);\n\n // Set initial value, init store value when first mount\n var mountRef = React.useRef(null);\n setInitialValues(initialValues, !mountRef.current);\n if (!mountRef.current) {\n mountRef.current = true;\n }\n React.useEffect(function () {\n return function () {\n return destroyForm(clearOnDestroy);\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n\n // Prepare children by `children` type\n var childrenNode;\n var childrenRenderProps = typeof children === 'function';\n if (childrenRenderProps) {\n var _values = formInstance.getFieldsValue(true);\n childrenNode = children(_values, formInstance);\n } else {\n childrenNode = children;\n }\n\n // Not use subscribe when using render props\n useSubscribe(!childrenRenderProps);\n\n // Listen if fields provided. We use ref to save prev data here to avoid additional render\n var prevFieldsRef = React.useRef();\n React.useEffect(function () {\n if (!isSimilar(prevFieldsRef.current || [], fields || [])) {\n formInstance.setFields(fields || []);\n }\n prevFieldsRef.current = fields;\n }, [fields, formInstance]);\n var formContextValue = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, formInstance), {}, {\n validateTrigger: validateTrigger\n });\n }, [formInstance, validateTrigger]);\n var wrapperNode = /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: null\n }, /*#__PURE__*/React.createElement(FieldContext.Provider, {\n value: formContextValue\n }, childrenNode));\n if (Component === false) {\n return wrapperNode;\n }\n return /*#__PURE__*/React.createElement(Component, _extends({}, restProps, {\n ref: nativeElementRef,\n onSubmit: function onSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n formInstance.submit();\n },\n onReset: function onReset(event) {\n var _restProps$onReset;\n event.preventDefault();\n formInstance.resetFields();\n (_restProps$onReset = restProps.onReset) === null || _restProps$onReset === void 0 || _restProps$onReset.call(restProps, event);\n }\n }), wrapperNode);\n};\nexport default Form;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport warning from \"rc-util/es/warning\";\nimport { useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport FieldContext, { HOOK_MARK } from \"./FieldContext\";\nimport { isFormInstance } from \"./utils/typeUtil\";\nimport { getNamePath, getValue } from \"./utils/valueUtil\";\nexport function stringify(value) {\n try {\n return JSON.stringify(value);\n } catch (err) {\n return Math.random();\n }\n}\nvar useWatchWarning = process.env.NODE_ENV !== 'production' ? function (namePath) {\n var fullyStr = namePath.join('__RC_FIELD_FORM_SPLIT__');\n var nameStrRef = useRef(fullyStr);\n warning(nameStrRef.current === fullyStr, '`useWatch` is not support dynamic `namePath`. Please provide static instead.');\n} : function () {};\n\n// ------- selector type -------\n\n// ------- selector type end -------\n\nfunction useWatch() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var dependencies = args[0],\n _args$ = args[1],\n _form = _args$ === void 0 ? {} : _args$;\n var options = isFormInstance(_form) ? {\n form: _form\n } : _form;\n var form = options.form;\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n value = _useState2[0],\n setValue = _useState2[1];\n var valueStr = useMemo(function () {\n return stringify(value);\n }, [value]);\n var valueStrRef = useRef(valueStr);\n valueStrRef.current = valueStr;\n var fieldContext = useContext(FieldContext);\n var formInstance = form || fieldContext;\n var isValidForm = formInstance && formInstance._init;\n\n // Warning if not exist form instance\n if (process.env.NODE_ENV !== 'production') {\n warning(args.length === 2 ? form ? isValidForm : true : isValidForm, 'useWatch requires a form instance since it can not auto detect from context.');\n }\n var namePath = getNamePath(dependencies);\n var namePathRef = useRef(namePath);\n namePathRef.current = namePath;\n useWatchWarning(namePath);\n useEffect(function () {\n // Skip if not exist form instance\n if (!isValidForm) {\n return;\n }\n var getFieldsValue = formInstance.getFieldsValue,\n getInternalHooks = formInstance.getInternalHooks;\n var _getInternalHooks = getInternalHooks(HOOK_MARK),\n registerWatch = _getInternalHooks.registerWatch;\n var getWatchValue = function getWatchValue(values, allValues) {\n var watchValue = options.preserve ? allValues : values;\n return typeof dependencies === 'function' ? dependencies(watchValue) : getValue(watchValue, namePathRef.current);\n };\n var cancelRegister = registerWatch(function (values, allValues) {\n var newValue = getWatchValue(values, allValues);\n var nextValueStr = stringify(newValue);\n\n // Compare stringify in case it's nest object\n if (valueStrRef.current !== nextValueStr) {\n valueStrRef.current = nextValueStr;\n setValue(newValue);\n }\n });\n\n // TODO: We can improve this perf in future\n var initialValue = getWatchValue(getFieldsValue(), getFieldsValue(true));\n\n // React 18 has the bug that will queue update twice even the value is not changed\n // ref: https://github.com/facebook/react/issues/27213\n if (value !== initialValue) {\n setValue(initialValue);\n }\n return cancelRegister;\n },\n // We do not need re-register since namePath content is the same\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isValidForm]);\n return value;\n}\nexport default useWatch;","import * as React from 'react';\nimport Field from \"./Field\";\nimport List from \"./List\";\nimport useForm from \"./useForm\";\nimport FieldForm from \"./Form\";\nimport { FormProvider } from \"./FormContext\";\nimport FieldContext from \"./FieldContext\";\nimport ListContext from \"./ListContext\";\nimport useWatch from \"./useWatch\";\nvar InternalForm = /*#__PURE__*/React.forwardRef(FieldForm);\nvar RefForm = InternalForm;\nRefForm.FormProvider = FormProvider;\nRefForm.Field = Field;\nRefForm.List = List;\nRefForm.useForm = useForm;\nRefForm.useWatch = useWatch;\nexport { Field, List, useForm, FormProvider, FieldContext, ListContext, useWatch };\nexport default RefForm;","export default function omit(obj, fields) {\n var clone = Object.assign({}, obj);\n if (Array.isArray(fields)) {\n fields.forEach(function (key) {\n delete clone[key];\n });\n }\n return clone;\n}","\"use client\";\n\nimport * as React from 'react';\nimport { createContext, useContext, useMemo } from 'react';\nimport { FormProvider as RcFormProvider } from 'rc-field-form';\nimport omit from \"rc-util/es/omit\";\nexport const FormContext = /*#__PURE__*/React.createContext({\n labelAlign: 'right',\n vertical: false,\n itemRef: () => {}\n});\nexport const NoStyleItemContext = /*#__PURE__*/React.createContext(null);\nexport const FormProvider = props => {\n const providerProps = omit(props, ['prefixCls']);\n return /*#__PURE__*/React.createElement(RcFormProvider, Object.assign({}, providerProps));\n};\nexport const FormItemPrefixContext = /*#__PURE__*/React.createContext({\n prefixCls: ''\n});\nexport const FormItemInputContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n FormItemInputContext.displayName = 'FormItemInputContext';\n}\nexport const NoFormStyle = _ref => {\n let {\n children,\n status,\n override\n } = _ref;\n const formItemInputContext = useContext(FormItemInputContext);\n const newFormItemInputContext = useMemo(() => {\n const newContext = Object.assign({}, formItemInputContext);\n if (override) {\n delete newContext.isFormItemInput;\n }\n if (status) {\n delete newContext.status;\n delete newContext.hasFeedback;\n delete newContext.feedbackIcon;\n }\n return newContext;\n }, [status, override, formItemInputContext]);\n return /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {\n value: newFormItemInputContext\n }, children);\n};\nexport const VariantContext = /*#__PURE__*/createContext(undefined);","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n // Use native if support\n if (root.contains) {\n return root.contains(n);\n }\n\n // `document.contains` not support with IE11\n var node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport canUseDom from \"./canUseDom\";\nimport contains from \"./contains\";\nvar APPEND_ORDER = 'data-rc-order';\nvar APPEND_PRIORITY = 'data-rc-priority';\nvar MARK_KEY = \"rc-util-key\";\nvar containerCache = new Map();\nfunction getMark() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mark = _ref.mark;\n if (mark) {\n return mark.startsWith('data-') ? mark : \"data-\".concat(mark);\n }\n return MARK_KEY;\n}\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n var head = document.querySelector('head');\n return head || document.body;\n}\nfunction getOrder(prepend) {\n if (prepend === 'queue') {\n return 'prependQueue';\n }\n return prepend ? 'prepend' : 'append';\n}\n\n/**\n * Find style which inject by rc-util\n */\nfunction findStyles(container) {\n return Array.from((containerCache.get(container) || container).children).filter(function (node) {\n return node.tagName === 'STYLE';\n });\n}\nexport function injectCSS(css) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!canUseDom()) {\n return null;\n }\n var csp = option.csp,\n prepend = option.prepend,\n _option$priority = option.priority,\n priority = _option$priority === void 0 ? 0 : _option$priority;\n var mergedOrder = getOrder(prepend);\n var isPrependQueue = mergedOrder === 'prependQueue';\n var styleNode = document.createElement('style');\n styleNode.setAttribute(APPEND_ORDER, mergedOrder);\n if (isPrependQueue && priority) {\n styleNode.setAttribute(APPEND_PRIORITY, \"\".concat(priority));\n }\n if (csp !== null && csp !== void 0 && csp.nonce) {\n styleNode.nonce = csp === null || csp === void 0 ? void 0 : csp.nonce;\n }\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n if (prepend) {\n // If is queue `prepend`, it will prepend first style and then append rest style\n if (isPrependQueue) {\n var existStyle = (option.styles || findStyles(container)).filter(function (node) {\n // Ignore style which not injected by rc-util with prepend\n if (!['prepend', 'prependQueue'].includes(node.getAttribute(APPEND_ORDER))) {\n return false;\n }\n\n // Ignore style which priority less then new style\n var nodePriority = Number(node.getAttribute(APPEND_PRIORITY) || 0);\n return priority >= nodePriority;\n });\n if (existStyle.length) {\n container.insertBefore(styleNode, existStyle[existStyle.length - 1].nextSibling);\n return styleNode;\n }\n }\n\n // Use `insertBefore` as `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n return styleNode;\n}\nfunction findExistNode(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var container = getContainer(option);\n return (option.styles || findStyles(container)).find(function (node) {\n return node.getAttribute(getMark(option)) === key;\n });\n}\nexport function removeCSS(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var existNode = findExistNode(key, option);\n if (existNode) {\n var container = getContainer(option);\n container.removeChild(existNode);\n }\n}\n\n/**\n * qiankun will inject `appendChild` to insert into other\n */\nfunction syncRealContainer(container, option) {\n var cachedRealContainer = containerCache.get(container);\n\n // Find real container when not cached or cached container removed\n if (!cachedRealContainer || !contains(document, cachedRealContainer)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n container.removeChild(placeholderStyle);\n }\n}\n\n/**\n * manually clear container cache to avoid global cache in unit testes\n */\nexport function clearContainerCache() {\n containerCache.clear();\n}\nexport function updateCSS(css, key) {\n var originOption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(originOption);\n var styles = findStyles(container);\n var option = _objectSpread(_objectSpread({}, originOption), {}, {\n styles: styles\n });\n\n // Sync real parent\n syncRealContainer(container, option);\n var existNode = findExistNode(key, option);\n if (existNode) {\n var _option$csp, _option$csp2;\n if ((_option$csp = option.csp) !== null && _option$csp !== void 0 && _option$csp.nonce && existNode.nonce !== ((_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce)) {\n var _option$csp3;\n existNode.nonce = (_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce;\n }\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n return existNode;\n }\n var newNode = injectCSS(css, option);\n newNode.setAttribute(getMark(option), key);\n return newNode;\n}","import * as React from 'react';\nexport default function useMemo(getValue, condition, shouldUpdate) {\n var cacheRef = React.useRef({});\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n return cacheRef.current.value;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n// [times, realValue]\n\nvar SPLIT = '%';\n\n/** Connect key with `SPLIT` */\nexport function pathKey(keys) {\n return keys.join(SPLIT);\n}\nvar Entity = /*#__PURE__*/function () {\n function Entity(instanceId) {\n _classCallCheck(this, Entity);\n _defineProperty(this, \"instanceId\", void 0);\n /** @private Internal cache map. Do not access this directly */\n _defineProperty(this, \"cache\", new Map());\n this.instanceId = instanceId;\n }\n _createClass(Entity, [{\n key: \"get\",\n value: function get(keys) {\n return this.opGet(pathKey(keys));\n }\n\n /** A fast get cache with `get` concat. */\n }, {\n key: \"opGet\",\n value: function opGet(keyPathStr) {\n return this.cache.get(keyPathStr) || null;\n }\n }, {\n key: \"update\",\n value: function update(keys, valueFn) {\n return this.opUpdate(pathKey(keys), valueFn);\n }\n\n /** A fast get cache with `get` concat. */\n }, {\n key: \"opUpdate\",\n value: function opUpdate(keyPathStr, valueFn) {\n var prevValue = this.cache.get(keyPathStr);\n var nextValue = valueFn(prevValue);\n if (nextValue === null) {\n this.cache.delete(keyPathStr);\n } else {\n this.cache.set(keyPathStr, nextValue);\n }\n }\n }]);\n return Entity;\n}();\nexport default Entity;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport CacheEntity from \"./Cache\";\nexport var ATTR_TOKEN = 'data-token-hash';\nexport var ATTR_MARK = 'data-css-hash';\nexport var ATTR_CACHE_PATH = 'data-cache-path';\n\n// Mark css-in-js instance in style element\nexport var CSS_IN_JS_INSTANCE = '__cssinjs_instance__';\nexport function createCache() {\n var cssinjsInstanceId = Math.random().toString(12).slice(2);\n\n // Tricky SSR: Move all inline style to the head.\n // PS: We do not recommend tricky mode.\n if (typeof document !== 'undefined' && document.head && document.body) {\n var styles = document.body.querySelectorAll(\"style[\".concat(ATTR_MARK, \"]\")) || [];\n var firstChild = document.head.firstChild;\n Array.from(styles).forEach(function (style) {\n style[CSS_IN_JS_INSTANCE] = style[CSS_IN_JS_INSTANCE] || cssinjsInstanceId;\n\n // Not force move if no head\n if (style[CSS_IN_JS_INSTANCE] === cssinjsInstanceId) {\n document.head.insertBefore(style, firstChild);\n }\n });\n\n // Deduplicate of moved styles\n var styleHash = {};\n Array.from(document.querySelectorAll(\"style[\".concat(ATTR_MARK, \"]\"))).forEach(function (style) {\n var hash = style.getAttribute(ATTR_MARK);\n if (styleHash[hash]) {\n if (style[CSS_IN_JS_INSTANCE] === cssinjsInstanceId) {\n var _style$parentNode;\n (_style$parentNode = style.parentNode) === null || _style$parentNode === void 0 || _style$parentNode.removeChild(style);\n }\n } else {\n styleHash[hash] = true;\n }\n });\n }\n return new CacheEntity(cssinjsInstanceId);\n}\nvar StyleContext = /*#__PURE__*/React.createContext({\n hashPriority: 'low',\n cache: createCache(),\n defaultCache: true\n});\nexport var StyleProvider = function StyleProvider(props) {\n var children = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n var parentContext = React.useContext(StyleContext);\n var context = useMemo(function () {\n var mergedContext = _objectSpread({}, parentContext);\n Object.keys(restProps).forEach(function (key) {\n var value = restProps[key];\n if (restProps[key] !== undefined) {\n mergedContext[key] = value;\n }\n });\n var cache = restProps.cache;\n mergedContext.cache = mergedContext.cache || createCache();\n mergedContext.defaultCache = !cache && parentContext.defaultCache;\n return mergedContext;\n }, [parentContext, restProps], function (prev, next) {\n return !isEqual(prev[0], next[0], true) || !isEqual(prev[1], next[1], true);\n });\n return /*#__PURE__*/React.createElement(StyleContext.Provider, {\n value: context\n }, children);\n};\nexport default StyleContext;","import _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nvar AbstractCalculator = /*#__PURE__*/_createClass(function AbstractCalculator() {\n _classCallCheck(this, AbstractCalculator);\n});\nexport default AbstractCalculator;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport AbstractCalculator from \"./calculator\";\nvar CALC_UNIT = 'CALC_UNIT';\nvar regexp = new RegExp(CALC_UNIT, 'g');\nfunction unit(value) {\n if (typeof value === 'number') {\n return \"\".concat(value).concat(CALC_UNIT);\n }\n return value;\n}\nvar CSSCalculator = /*#__PURE__*/function (_AbstractCalculator) {\n _inherits(CSSCalculator, _AbstractCalculator);\n var _super = _createSuper(CSSCalculator);\n function CSSCalculator(num, unitlessCssVar) {\n var _this;\n _classCallCheck(this, CSSCalculator);\n _this = _super.call(this);\n _defineProperty(_assertThisInitialized(_this), \"result\", '');\n _defineProperty(_assertThisInitialized(_this), \"unitlessCssVar\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"lowPriority\", void 0);\n var numType = _typeof(num);\n _this.unitlessCssVar = unitlessCssVar;\n if (num instanceof CSSCalculator) {\n _this.result = \"(\".concat(num.result, \")\");\n } else if (numType === 'number') {\n _this.result = unit(num);\n } else if (numType === 'string') {\n _this.result = num;\n }\n return _this;\n }\n _createClass(CSSCalculator, [{\n key: \"add\",\n value: function add(num) {\n if (num instanceof CSSCalculator) {\n this.result = \"\".concat(this.result, \" + \").concat(num.getResult());\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = \"\".concat(this.result, \" + \").concat(unit(num));\n }\n this.lowPriority = true;\n return this;\n }\n }, {\n key: \"sub\",\n value: function sub(num) {\n if (num instanceof CSSCalculator) {\n this.result = \"\".concat(this.result, \" - \").concat(num.getResult());\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = \"\".concat(this.result, \" - \").concat(unit(num));\n }\n this.lowPriority = true;\n return this;\n }\n }, {\n key: \"mul\",\n value: function mul(num) {\n if (this.lowPriority) {\n this.result = \"(\".concat(this.result, \")\");\n }\n if (num instanceof CSSCalculator) {\n this.result = \"\".concat(this.result, \" * \").concat(num.getResult(true));\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = \"\".concat(this.result, \" * \").concat(num);\n }\n this.lowPriority = false;\n return this;\n }\n }, {\n key: \"div\",\n value: function div(num) {\n if (this.lowPriority) {\n this.result = \"(\".concat(this.result, \")\");\n }\n if (num instanceof CSSCalculator) {\n this.result = \"\".concat(this.result, \" / \").concat(num.getResult(true));\n } else if (typeof num === 'number' || typeof num === 'string') {\n this.result = \"\".concat(this.result, \" / \").concat(num);\n }\n this.lowPriority = false;\n return this;\n }\n }, {\n key: \"getResult\",\n value: function getResult(force) {\n return this.lowPriority || force ? \"(\".concat(this.result, \")\") : this.result;\n }\n }, {\n key: \"equal\",\n value: function equal(options) {\n var _this2 = this;\n var _ref = options || {},\n cssUnit = _ref.unit;\n var mergedUnit = true;\n if (typeof cssUnit === 'boolean') {\n mergedUnit = cssUnit;\n } else if (Array.from(this.unitlessCssVar).some(function (cssVar) {\n return _this2.result.includes(cssVar);\n })) {\n mergedUnit = false;\n }\n this.result = this.result.replace(regexp, mergedUnit ? 'px' : '');\n if (typeof this.lowPriority !== 'undefined') {\n return \"calc(\".concat(this.result, \")\");\n }\n return this.result;\n }\n }]);\n return CSSCalculator;\n}(AbstractCalculator);\nexport { CSSCalculator as default };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport AbstractCalculator from \"./calculator\";\nvar NumCalculator = /*#__PURE__*/function (_AbstractCalculator) {\n _inherits(NumCalculator, _AbstractCalculator);\n var _super = _createSuper(NumCalculator);\n function NumCalculator(num) {\n var _this;\n _classCallCheck(this, NumCalculator);\n _this = _super.call(this);\n _defineProperty(_assertThisInitialized(_this), \"result\", 0);\n if (num instanceof NumCalculator) {\n _this.result = num.result;\n } else if (typeof num === 'number') {\n _this.result = num;\n }\n return _this;\n }\n _createClass(NumCalculator, [{\n key: \"add\",\n value: function add(num) {\n if (num instanceof NumCalculator) {\n this.result += num.result;\n } else if (typeof num === 'number') {\n this.result += num;\n }\n return this;\n }\n }, {\n key: \"sub\",\n value: function sub(num) {\n if (num instanceof NumCalculator) {\n this.result -= num.result;\n } else if (typeof num === 'number') {\n this.result -= num;\n }\n return this;\n }\n }, {\n key: \"mul\",\n value: function mul(num) {\n if (num instanceof NumCalculator) {\n this.result *= num.result;\n } else if (typeof num === 'number') {\n this.result *= num;\n }\n return this;\n }\n }, {\n key: \"div\",\n value: function div(num) {\n if (num instanceof NumCalculator) {\n this.result /= num.result;\n } else if (typeof num === 'number') {\n this.result /= num;\n }\n return this;\n }\n }, {\n key: \"equal\",\n value: function equal() {\n return this.result;\n }\n }]);\n return NumCalculator;\n}(AbstractCalculator);\nexport { NumCalculator as default };","import CSSCalculator from \"./CSSCalculator\";\nimport NumCalculator from \"./NumCalculator\";\nvar genCalc = function genCalc(type, unitlessCssVar) {\n var Calculator = type === 'css' ? CSSCalculator : NumCalculator;\n return function (num) {\n return new Calculator(num, unitlessCssVar);\n };\n};\nexport default genCalc;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n// ================================== Cache ==================================\n\nexport function sameDerivativeOption(left, right) {\n if (left.length !== right.length) {\n return false;\n }\n for (var i = 0; i < left.length; i++) {\n if (left[i] !== right[i]) {\n return false;\n }\n }\n return true;\n}\nvar ThemeCache = /*#__PURE__*/function () {\n function ThemeCache() {\n _classCallCheck(this, ThemeCache);\n _defineProperty(this, \"cache\", void 0);\n _defineProperty(this, \"keys\", void 0);\n _defineProperty(this, \"cacheCallTimes\", void 0);\n this.cache = new Map();\n this.keys = [];\n this.cacheCallTimes = 0;\n }\n _createClass(ThemeCache, [{\n key: \"size\",\n value: function size() {\n return this.keys.length;\n }\n }, {\n key: \"internalGet\",\n value: function internalGet(derivativeOption) {\n var _cache2, _cache3;\n var updateCallTimes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var cache = {\n map: this.cache\n };\n derivativeOption.forEach(function (derivative) {\n if (!cache) {\n cache = undefined;\n } else {\n var _cache;\n cache = (_cache = cache) === null || _cache === void 0 || (_cache = _cache.map) === null || _cache === void 0 ? void 0 : _cache.get(derivative);\n }\n });\n if ((_cache2 = cache) !== null && _cache2 !== void 0 && _cache2.value && updateCallTimes) {\n cache.value[1] = this.cacheCallTimes++;\n }\n return (_cache3 = cache) === null || _cache3 === void 0 ? void 0 : _cache3.value;\n }\n }, {\n key: \"get\",\n value: function get(derivativeOption) {\n var _this$internalGet;\n return (_this$internalGet = this.internalGet(derivativeOption, true)) === null || _this$internalGet === void 0 ? void 0 : _this$internalGet[0];\n }\n }, {\n key: \"has\",\n value: function has(derivativeOption) {\n return !!this.internalGet(derivativeOption);\n }\n }, {\n key: \"set\",\n value: function set(derivativeOption, value) {\n var _this = this;\n // New cache\n if (!this.has(derivativeOption)) {\n if (this.size() + 1 > ThemeCache.MAX_CACHE_SIZE + ThemeCache.MAX_CACHE_OFFSET) {\n var _this$keys$reduce = this.keys.reduce(function (result, key) {\n var _result = _slicedToArray(result, 2),\n callTimes = _result[1];\n if (_this.internalGet(key)[1] < callTimes) {\n return [key, _this.internalGet(key)[1]];\n }\n return result;\n }, [this.keys[0], this.cacheCallTimes]),\n _this$keys$reduce2 = _slicedToArray(_this$keys$reduce, 1),\n targetKey = _this$keys$reduce2[0];\n this.delete(targetKey);\n }\n this.keys.push(derivativeOption);\n }\n var cache = this.cache;\n derivativeOption.forEach(function (derivative, index) {\n if (index === derivativeOption.length - 1) {\n cache.set(derivative, {\n value: [value, _this.cacheCallTimes++]\n });\n } else {\n var cacheValue = cache.get(derivative);\n if (!cacheValue) {\n cache.set(derivative, {\n map: new Map()\n });\n } else if (!cacheValue.map) {\n cacheValue.map = new Map();\n }\n cache = cache.get(derivative).map;\n }\n });\n }\n }, {\n key: \"deleteByPath\",\n value: function deleteByPath(currentCache, derivatives) {\n var cache = currentCache.get(derivatives[0]);\n if (derivatives.length === 1) {\n var _cache$value;\n if (!cache.map) {\n currentCache.delete(derivatives[0]);\n } else {\n currentCache.set(derivatives[0], {\n map: cache.map\n });\n }\n return (_cache$value = cache.value) === null || _cache$value === void 0 ? void 0 : _cache$value[0];\n }\n var result = this.deleteByPath(cache.map, derivatives.slice(1));\n if ((!cache.map || cache.map.size === 0) && !cache.value) {\n currentCache.delete(derivatives[0]);\n }\n return result;\n }\n }, {\n key: \"delete\",\n value: function _delete(derivativeOption) {\n // If cache exists\n if (this.has(derivativeOption)) {\n this.keys = this.keys.filter(function (item) {\n return !sameDerivativeOption(item, derivativeOption);\n });\n return this.deleteByPath(this.cache, derivativeOption);\n }\n return undefined;\n }\n }]);\n return ThemeCache;\n}();\n_defineProperty(ThemeCache, \"MAX_CACHE_SIZE\", 20);\n_defineProperty(ThemeCache, \"MAX_CACHE_OFFSET\", 5);\nexport { ThemeCache as default };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { warning } from \"rc-util/es/warning\";\nvar uuid = 0;\n\n/**\n * Theme with algorithms to derive tokens from design tokens.\n * Use `createTheme` first which will help to manage the theme instance cache.\n */\nvar Theme = /*#__PURE__*/function () {\n function Theme(derivatives) {\n _classCallCheck(this, Theme);\n _defineProperty(this, \"derivatives\", void 0);\n _defineProperty(this, \"id\", void 0);\n this.derivatives = Array.isArray(derivatives) ? derivatives : [derivatives];\n this.id = uuid;\n if (derivatives.length === 0) {\n warning(derivatives.length > 0, '[Ant Design CSS-in-JS] Theme should have at least one derivative function.');\n }\n uuid += 1;\n }\n _createClass(Theme, [{\n key: \"getDerivativeToken\",\n value: function getDerivativeToken(token) {\n return this.derivatives.reduce(function (result, derivative) {\n return derivative(token, result);\n }, undefined);\n }\n }]);\n return Theme;\n}();\nexport { Theme as default };","import ThemeCache from \"./ThemeCache\";\nimport Theme from \"./Theme\";\nvar cacheThemes = new ThemeCache();\n\n/**\n * Same as new Theme, but will always return same one if `derivative` not changed.\n */\nexport default function createTheme(derivatives) {\n var derivativeArr = Array.isArray(derivatives) ? derivatives : [derivatives];\n // Create new theme if not exist\n if (!cacheThemes.has(derivativeArr)) {\n cacheThemes.set(derivativeArr, new Theme(derivativeArr));\n }\n\n // Get theme from cache and return\n return cacheThemes.get(derivativeArr);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport hash from '@emotion/hash';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { removeCSS, updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport { ATTR_MARK, ATTR_TOKEN } from \"../StyleContext\";\nimport { Theme } from \"../theme\";\n\n// Create a cache for memo concat\n\nvar resultCache = new WeakMap();\nvar RESULT_VALUE = {};\nexport function memoResult(callback, deps) {\n var current = resultCache;\n for (var i = 0; i < deps.length; i += 1) {\n var dep = deps[i];\n if (!current.has(dep)) {\n current.set(dep, new WeakMap());\n }\n current = current.get(dep);\n }\n if (!current.has(RESULT_VALUE)) {\n current.set(RESULT_VALUE, callback());\n }\n return current.get(RESULT_VALUE);\n}\n\n// Create a cache here to avoid always loop generate\nvar flattenTokenCache = new WeakMap();\n\n/**\n * Flatten token to string, this will auto cache the result when token not change\n */\nexport function flattenToken(token) {\n var hashed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var str = flattenTokenCache.get(token) || '';\n if (!str) {\n Object.keys(token).forEach(function (key) {\n var value = token[key];\n str += key;\n if (value instanceof Theme) {\n str += value.id;\n } else if (value && _typeof(value) === 'object') {\n str += flattenToken(value, hashed);\n } else {\n str += value;\n }\n });\n\n // https://github.com/ant-design/ant-design/issues/48386\n // Should hash the string to avoid style tag name too long\n if (hashed) {\n str = hash(str);\n }\n\n // Put in cache\n flattenTokenCache.set(token, str);\n }\n return str;\n}\n\n/**\n * Convert derivative token to key string\n */\nexport function token2key(token, salt) {\n return hash(\"\".concat(salt, \"_\").concat(flattenToken(token, true)));\n}\nvar randomSelectorKey = \"random-\".concat(Date.now(), \"-\").concat(Math.random()).replace(/\\./g, '');\n\n// Magic `content` for detect selector support\nvar checkContent = '_bAmBoO_';\nfunction supportSelector(styleStr, handleElement, supportCheck) {\n if (canUseDom()) {\n var _getComputedStyle$con, _ele$parentNode;\n updateCSS(styleStr, randomSelectorKey);\n var _ele = document.createElement('div');\n _ele.style.position = 'fixed';\n _ele.style.left = '0';\n _ele.style.top = '0';\n handleElement === null || handleElement === void 0 || handleElement(_ele);\n document.body.appendChild(_ele);\n if (process.env.NODE_ENV !== 'production') {\n _ele.innerHTML = 'Test';\n _ele.style.zIndex = '9999999';\n }\n var support = supportCheck ? supportCheck(_ele) : (_getComputedStyle$con = getComputedStyle(_ele).content) === null || _getComputedStyle$con === void 0 ? void 0 : _getComputedStyle$con.includes(checkContent);\n (_ele$parentNode = _ele.parentNode) === null || _ele$parentNode === void 0 || _ele$parentNode.removeChild(_ele);\n removeCSS(randomSelectorKey);\n return support;\n }\n return false;\n}\nvar canLayer = undefined;\nexport function supportLayer() {\n if (canLayer === undefined) {\n canLayer = supportSelector(\"@layer \".concat(randomSelectorKey, \" { .\").concat(randomSelectorKey, \" { content: \\\"\").concat(checkContent, \"\\\"!important; } }\"), function (ele) {\n ele.className = randomSelectorKey;\n });\n }\n return canLayer;\n}\nvar canWhere = undefined;\nexport function supportWhere() {\n if (canWhere === undefined) {\n canWhere = supportSelector(\":where(.\".concat(randomSelectorKey, \") { content: \\\"\").concat(checkContent, \"\\\"!important; }\"), function (ele) {\n ele.className = randomSelectorKey;\n });\n }\n return canWhere;\n}\nvar canLogic = undefined;\nexport function supportLogicProps() {\n if (canLogic === undefined) {\n canLogic = supportSelector(\".\".concat(randomSelectorKey, \" { inset-block: 93px !important; }\"), function (ele) {\n ele.className = randomSelectorKey;\n }, function (ele) {\n return getComputedStyle(ele).bottom === '93px';\n });\n }\n return canLogic;\n}\nexport var isClientSide = canUseDom();\nexport function unit(num) {\n if (typeof num === 'number') {\n return \"\".concat(num, \"px\");\n }\n return num;\n}\nexport function toStyleStr(style, tokenKey, styleId) {\n var customizeAttrs = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var plain = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n if (plain) {\n return style;\n }\n var attrs = _objectSpread(_objectSpread({}, customizeAttrs), {}, _defineProperty(_defineProperty({}, ATTR_TOKEN, tokenKey), ATTR_MARK, styleId));\n var attrStr = Object.keys(attrs).map(function (attr) {\n var val = attrs[attr];\n return val ? \"\".concat(attr, \"=\\\"\").concat(val, \"\\\"\") : null;\n }).filter(function (v) {\n return v;\n }).join(' ');\n return \"\");\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nexport var token2CSSVar = function token2CSSVar(token) {\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return \"--\".concat(prefix ? \"\".concat(prefix, \"-\") : '').concat(token).replace(/([a-z0-9])([A-Z])/g, '$1-$2').replace(/([A-Z]+)([A-Z][a-z0-9]+)/g, '$1-$2').replace(/([a-z])([A-Z0-9])/g, '$1-$2').toLowerCase();\n};\nexport var serializeCSSVar = function serializeCSSVar(cssVars, hashId, options) {\n if (!Object.keys(cssVars).length) {\n return '';\n }\n return \".\".concat(hashId).concat(options !== null && options !== void 0 && options.scope ? \".\".concat(options.scope) : '', \"{\").concat(Object.entries(cssVars).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n return \"\".concat(key, \":\").concat(value, \";\");\n }).join(''), \"}\");\n};\nexport var transformToken = function transformToken(token, themeKey, config) {\n var cssVars = {};\n var result = {};\n Object.entries(token).forEach(function (_ref3) {\n var _config$preserve, _config$ignore;\n var _ref4 = _slicedToArray(_ref3, 2),\n key = _ref4[0],\n value = _ref4[1];\n if (config !== null && config !== void 0 && (_config$preserve = config.preserve) !== null && _config$preserve !== void 0 && _config$preserve[key]) {\n result[key] = value;\n } else if ((typeof value === 'string' || typeof value === 'number') && !(config !== null && config !== void 0 && (_config$ignore = config.ignore) !== null && _config$ignore !== void 0 && _config$ignore[key])) {\n var _config$unitless;\n var cssVar = token2CSSVar(key, config === null || config === void 0 ? void 0 : config.prefix);\n cssVars[cssVar] = typeof value === 'number' && !(config !== null && config !== void 0 && (_config$unitless = config.unitless) !== null && _config$unitless !== void 0 && _config$unitless[key]) ? \"\".concat(value, \"px\") : String(value);\n result[key] = \"var(\".concat(cssVar, \")\");\n }\n });\n return [result, serializeCSSVar(cssVars, themeKey, {\n scope: config === null || config === void 0 ? void 0 : config.scope\n })];\n};","import * as React from 'react';\nimport canUseDom from \"../Dom/canUseDom\";\n\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nvar useInternalLayoutEffect = process.env.NODE_ENV !== 'test' && canUseDom() ? React.useLayoutEffect : React.useEffect;\nvar useLayoutEffect = function useLayoutEffect(callback, deps) {\n var firstMountRef = React.useRef(true);\n useInternalLayoutEffect(function () {\n return callback(firstMountRef.current);\n }, deps);\n\n // We tell react that first mount has passed\n useInternalLayoutEffect(function () {\n firstMountRef.current = false;\n return function () {\n firstMountRef.current = true;\n };\n }, []);\n};\nexport var useLayoutUpdateEffect = function useLayoutUpdateEffect(callback, deps) {\n useLayoutEffect(function (firstMount) {\n if (!firstMount) {\n return callback();\n }\n }, deps);\n};\nexport default useLayoutEffect;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// import canUseDom from 'rc-util/lib/Dom/canUseDom';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\n\n// We need fully clone React function here\n// to avoid webpack warning React 17 do not export `useId`\nvar fullClone = _objectSpread({}, React);\nvar useInsertionEffect = fullClone.useInsertionEffect;\n/**\n * Polyfill `useInsertionEffect` for React < 18\n * @param renderEffect will be executed in `useMemo`, and do not have callback\n * @param effect will be executed in `useLayoutEffect`\n * @param deps\n */\nvar useInsertionEffectPolyfill = function useInsertionEffectPolyfill(renderEffect, effect, deps) {\n React.useMemo(renderEffect, deps);\n useLayoutEffect(function () {\n return effect(true);\n }, deps);\n};\n\n/**\n * Compatible `useInsertionEffect`\n * will use `useInsertionEffect` if React version >= 18,\n * otherwise use `useInsertionEffectPolyfill`.\n */\nvar useCompatibleInsertionEffect = useInsertionEffect ? function (renderEffect, effect, deps) {\n return useInsertionEffect(function () {\n renderEffect();\n return effect();\n }, deps);\n} : useInsertionEffectPolyfill;\nexport default useCompatibleInsertionEffect;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { warning } from \"rc-util/es/warning\";\nimport * as React from 'react';\nvar fullClone = _objectSpread({}, React);\nvar useInsertionEffect = fullClone.useInsertionEffect;\n\n// DO NOT register functions in useEffect cleanup function, or functions that registered will never be called.\nvar useCleanupRegister = function useCleanupRegister(deps) {\n var effectCleanups = [];\n var cleanupFlag = false;\n function register(fn) {\n if (cleanupFlag) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '[Ant Design CSS-in-JS] You are registering a cleanup function after unmount, which will not have any effect.');\n }\n return;\n }\n effectCleanups.push(fn);\n }\n React.useEffect(function () {\n // Compatible with strict mode\n cleanupFlag = false;\n return function () {\n cleanupFlag = true;\n if (effectCleanups.length) {\n effectCleanups.forEach(function (fn) {\n return fn();\n });\n }\n };\n }, deps);\n return register;\n};\nvar useRun = function useRun() {\n return function (fn) {\n fn();\n };\n};\n\n// Only enable register in React 18\nvar useEffectCleanupRegister = typeof useInsertionEffect !== 'undefined' ? useCleanupRegister : useRun;\nexport default useEffectCleanupRegister;","function useProdHMR() {\n return false;\n}\nvar webpackHMR = false;\nfunction useDevHMR() {\n return webpackHMR;\n}\nexport default process.env.NODE_ENV === 'production' ? useProdHMR : useDevHMR;\n\n// Webpack `module.hot.accept` do not support any deps update trigger\n// We have to hack handler to force mark as HRM\nif (process.env.NODE_ENV !== 'production' && typeof module !== 'undefined' && module && module.hot && typeof window !== 'undefined') {\n var win = window;\n if (typeof win.webpackHotUpdate === 'function') {\n var originWebpackHotUpdate = win.webpackHotUpdate;\n win.webpackHotUpdate = function () {\n webpackHMR = true;\n setTimeout(function () {\n webpackHMR = false;\n }, 0);\n return originWebpackHotUpdate.apply(void 0, arguments);\n };\n }\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport { pathKey } from \"../Cache\";\nimport StyleContext from \"../StyleContext\";\nimport useCompatibleInsertionEffect from \"./useCompatibleInsertionEffect\";\nimport useEffectCleanupRegister from \"./useEffectCleanupRegister\";\nimport useHMR from \"./useHMR\";\nexport default function useGlobalCache(prefix, keyPath, cacheFn, onCacheRemove,\n// Add additional effect trigger by `useInsertionEffect`\nonCacheEffect) {\n var _React$useContext = React.useContext(StyleContext),\n globalCache = _React$useContext.cache;\n var fullPath = [prefix].concat(_toConsumableArray(keyPath));\n var fullPathStr = pathKey(fullPath);\n var register = useEffectCleanupRegister([fullPathStr]);\n var HMRUpdate = useHMR();\n var buildCache = function buildCache(updater) {\n globalCache.opUpdate(fullPathStr, function (prevCache) {\n var _ref = prevCache || [undefined, undefined],\n _ref2 = _slicedToArray(_ref, 2),\n _ref2$ = _ref2[0],\n times = _ref2$ === void 0 ? 0 : _ref2$,\n cache = _ref2[1];\n\n // HMR should always ignore cache since developer may change it\n var tmpCache = cache;\n if (process.env.NODE_ENV !== 'production' && cache && HMRUpdate) {\n onCacheRemove === null || onCacheRemove === void 0 || onCacheRemove(tmpCache, HMRUpdate);\n tmpCache = null;\n }\n var mergedCache = tmpCache || cacheFn();\n var data = [times, mergedCache];\n\n // Call updater if need additional logic\n return updater ? updater(data) : data;\n });\n };\n\n // Create cache\n React.useMemo(function () {\n buildCache();\n }, /* eslint-disable react-hooks/exhaustive-deps */\n [fullPathStr]\n /* eslint-enable */);\n var cacheEntity = globalCache.opGet(fullPathStr);\n\n // HMR clean the cache but not trigger `useMemo` again\n // Let's fallback of this\n // ref https://github.com/ant-design/cssinjs/issues/127\n if (process.env.NODE_ENV !== 'production' && !cacheEntity) {\n buildCache();\n cacheEntity = globalCache.opGet(fullPathStr);\n }\n var cacheContent = cacheEntity[1];\n\n // Remove if no need anymore\n useCompatibleInsertionEffect(function () {\n onCacheEffect === null || onCacheEffect === void 0 || onCacheEffect(cacheContent);\n }, function (polyfill) {\n // It's bad to call build again in effect.\n // But we have to do this since StrictMode will call effect twice\n // which will clear cache on the first time.\n buildCache(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n times = _ref4[0],\n cache = _ref4[1];\n if (polyfill && times === 0) {\n onCacheEffect === null || onCacheEffect === void 0 || onCacheEffect(cacheContent);\n }\n return [times + 1, cache];\n });\n return function () {\n globalCache.opUpdate(fullPathStr, function (prevCache) {\n var _ref5 = prevCache || [],\n _ref6 = _slicedToArray(_ref5, 2),\n _ref6$ = _ref6[0],\n times = _ref6$ === void 0 ? 0 : _ref6$,\n cache = _ref6[1];\n var nextCount = times - 1;\n if (nextCount === 0) {\n // Always remove styles in useEffect callback\n register(function () {\n // With polyfill, registered callback will always be called synchronously\n // But without polyfill, it will be called in effect clean up,\n // And by that time this cache is cleaned up.\n if (polyfill || !globalCache.opGet(fullPathStr)) {\n onCacheRemove === null || onCacheRemove === void 0 || onCacheRemove(cache, false);\n }\n });\n return null;\n }\n return [times - 1, cache];\n });\n };\n }, [fullPathStr]);\n return cacheContent;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport hash from '@emotion/hash';\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport { useContext } from 'react';\nimport StyleContext, { ATTR_MARK, ATTR_TOKEN, CSS_IN_JS_INSTANCE } from \"../StyleContext\";\nimport { flattenToken, memoResult, token2key, toStyleStr } from \"../util\";\nimport { transformToken } from \"../util/css-variables\";\nimport useGlobalCache from \"./useGlobalCache\";\nvar EMPTY_OVERRIDE = {};\n\n// Generate different prefix to make user selector break in production env.\n// This helps developer not to do style override directly on the hash id.\nvar hashPrefix = process.env.NODE_ENV !== 'production' ? 'css-dev-only-do-not-override' : 'css';\nvar tokenKeys = new Map();\nfunction recordCleanToken(tokenKey) {\n tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) + 1);\n}\nfunction removeStyleTags(key, instanceId) {\n if (typeof document !== 'undefined') {\n var styles = document.querySelectorAll(\"style[\".concat(ATTR_TOKEN, \"=\\\"\").concat(key, \"\\\"]\"));\n styles.forEach(function (style) {\n if (style[CSS_IN_JS_INSTANCE] === instanceId) {\n var _style$parentNode;\n (_style$parentNode = style.parentNode) === null || _style$parentNode === void 0 || _style$parentNode.removeChild(style);\n }\n });\n }\n}\nvar TOKEN_THRESHOLD = 0;\n\n// Remove will check current keys first\nfunction cleanTokenStyle(tokenKey, instanceId) {\n tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) - 1);\n var tokenKeyList = Array.from(tokenKeys.keys());\n var cleanableKeyList = tokenKeyList.filter(function (key) {\n var count = tokenKeys.get(key) || 0;\n return count <= 0;\n });\n\n // Should keep tokens under threshold for not to insert style too often\n if (tokenKeyList.length - cleanableKeyList.length > TOKEN_THRESHOLD) {\n cleanableKeyList.forEach(function (key) {\n removeStyleTags(key, instanceId);\n tokenKeys.delete(key);\n });\n }\n}\nexport var getComputedToken = function getComputedToken(originToken, overrideToken, theme, format) {\n var derivativeToken = theme.getDerivativeToken(originToken);\n\n // Merge with override\n var mergedDerivativeToken = _objectSpread(_objectSpread({}, derivativeToken), overrideToken);\n\n // Format if needed\n if (format) {\n mergedDerivativeToken = format(mergedDerivativeToken);\n }\n return mergedDerivativeToken;\n};\nexport var TOKEN_PREFIX = 'token';\n/**\n * Cache theme derivative token as global shared one\n * @param theme Theme entity\n * @param tokens List of tokens, used for cache. Please do not dynamic generate object directly\n * @param option Additional config\n * @returns Call Theme.getDerivativeToken(tokenObject) to get token\n */\nexport default function useCacheToken(theme, tokens) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _useContext = useContext(StyleContext),\n instanceId = _useContext.cache.instanceId,\n container = _useContext.container;\n var _option$salt = option.salt,\n salt = _option$salt === void 0 ? '' : _option$salt,\n _option$override = option.override,\n override = _option$override === void 0 ? EMPTY_OVERRIDE : _option$override,\n formatToken = option.formatToken,\n compute = option.getComputedToken,\n cssVar = option.cssVar;\n\n // Basic - We do basic cache here\n var mergedToken = memoResult(function () {\n return Object.assign.apply(Object, [{}].concat(_toConsumableArray(tokens)));\n }, tokens);\n var tokenStr = flattenToken(mergedToken);\n var overrideTokenStr = flattenToken(override);\n var cssVarStr = cssVar ? flattenToken(cssVar) : '';\n var cachedToken = useGlobalCache(TOKEN_PREFIX, [salt, theme.id, tokenStr, overrideTokenStr, cssVarStr], function () {\n var _cssVar$key;\n var mergedDerivativeToken = compute ? compute(mergedToken, override, theme) : getComputedToken(mergedToken, override, theme, formatToken);\n\n // Replace token value with css variables\n var actualToken = _objectSpread({}, mergedDerivativeToken);\n var cssVarsStr = '';\n if (!!cssVar) {\n var _transformToken = transformToken(mergedDerivativeToken, cssVar.key, {\n prefix: cssVar.prefix,\n ignore: cssVar.ignore,\n unitless: cssVar.unitless,\n preserve: cssVar.preserve\n });\n var _transformToken2 = _slicedToArray(_transformToken, 2);\n mergedDerivativeToken = _transformToken2[0];\n cssVarsStr = _transformToken2[1];\n }\n\n // Optimize for `useStyleRegister` performance\n var tokenKey = token2key(mergedDerivativeToken, salt);\n mergedDerivativeToken._tokenKey = tokenKey;\n actualToken._tokenKey = token2key(actualToken, salt);\n var themeKey = (_cssVar$key = cssVar === null || cssVar === void 0 ? void 0 : cssVar.key) !== null && _cssVar$key !== void 0 ? _cssVar$key : tokenKey;\n mergedDerivativeToken._themeKey = themeKey;\n recordCleanToken(themeKey);\n var hashId = \"\".concat(hashPrefix, \"-\").concat(hash(tokenKey));\n mergedDerivativeToken._hashId = hashId; // Not used\n\n return [mergedDerivativeToken, hashId, actualToken, cssVarsStr, (cssVar === null || cssVar === void 0 ? void 0 : cssVar.key) || ''];\n }, function (cache) {\n // Remove token will remove all related style\n cleanTokenStyle(cache[0]._themeKey, instanceId);\n }, function (_ref) {\n var _ref2 = _slicedToArray(_ref, 4),\n token = _ref2[0],\n cssVarsStr = _ref2[3];\n if (cssVar && cssVarsStr) {\n var style = updateCSS(cssVarsStr, hash(\"css-variables-\".concat(token._themeKey)), {\n mark: ATTR_MARK,\n prepend: 'queue',\n attachTo: container,\n priority: -999\n });\n style[CSS_IN_JS_INSTANCE] = instanceId;\n\n // Used for `useCacheToken` to remove on batch when token removed\n style.setAttribute(ATTR_TOKEN, token._themeKey);\n }\n });\n return cachedToken;\n}\nexport var extract = function extract(cache, effectStyles, options) {\n var _cache = _slicedToArray(cache, 5),\n realToken = _cache[2],\n styleStr = _cache[3],\n cssVarKey = _cache[4];\n var _ref3 = options || {},\n plain = _ref3.plain;\n if (!styleStr) {\n return null;\n }\n var styleId = realToken._tokenKey;\n var order = -999;\n\n // ====================== Style ======================\n // Used for rc-util\n var sharedAttrs = {\n 'data-rc-order': 'prependQueue',\n 'data-rc-priority': \"\".concat(order)\n };\n var styleText = toStyleStr(styleStr, cssVarKey, styleId, sharedAttrs, plain);\n return [order, styleId, styleText];\n};","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3)\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && characters.charCodeAt(length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { ATTR_MARK } from \"../StyleContext\";\nexport var ATTR_CACHE_MAP = 'data-ant-cssinjs-cache-path';\n\n/**\n * This marks style from the css file.\n * Which means not exist in `\";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

\r\n * Default is \"a4\". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]\r\n * @param orientation {string} Orientation of the new page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" (Default), \"l\").\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addPage\r\n */\r\n API.addPage = function() {\r\n _addPage.apply(this, arguments);\r\n return this;\r\n };\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name setPage\r\n * @param {number} page Switch the active page to the page number specified (indexed starting at 1).\r\n * @example\r\n * doc = jsPDF()\r\n * doc.addPage()\r\n * doc.addPage()\r\n * doc.text('I am on page 3', 10, 10)\r\n * doc.setPage(1)\r\n * doc.text('I am on page 1', 10, 10)\r\n */\r\n API.setPage = function() {\r\n _setPage.apply(this, arguments);\r\n setOutputDestination.call(this, pages[currentPage]);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name insertPage\r\n * @memberof jsPDF#\r\n *\r\n * @function\r\n * @instance\r\n * @param {Object} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.insertPage = function(beforePage) {\r\n this.addPage();\r\n this.movePage(currentPage, beforePage);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name movePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {number} targetPage\r\n * @param {number} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.movePage = function(targetPage, beforePage) {\r\n var tmpPages, tmpPagesContext;\r\n if (targetPage > beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var i = targetPage; i > beforePage; i--) {\r\n pages[i] = pages[i - 1];\r\n pagesContext[i] = pagesContext[i - 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n } else if (targetPage < beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var j = targetPage; j < beforePage; j++) {\r\n pages[j] = pages[j + 1];\r\n pagesContext[j] = pagesContext[j + 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Deletes a page from the PDF.\r\n * @name deletePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @param {number} targetPage\r\n * @instance\r\n * @returns {jsPDF}\r\n */\r\n API.deletePage = function() {\r\n _deletePage.apply(this, arguments);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds text to page. Supports adding multiline text when 'text' argument is an Array of Strings.\r\n *\r\n * @function\r\n * @instance\r\n * @param {String|Array} text String or array of strings to be added to the page. Each line is shifted one line down per font, spacing settings declared before this call.\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page.\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page.\r\n * @param {Object} [options] - Collection of settings signaling how the text must be encoded.\r\n * @param {string} [options.align=left] - The alignment of the text, possible values: left, center, right, justify.\r\n * @param {string} [options.baseline=alphabetic] - Sets text baseline used when drawing the text, possible values: alphabetic, ideographic, bottom, top, middle, hanging\r\n * @param {number|Matrix} [options.angle=0] - Rotate the text clockwise or counterclockwise. Expects the angle in degree.\r\n * @param {number} [options.rotationDirection=1] - Direction of the rotation. 0 = clockwise, 1 = counterclockwise.\r\n * @param {number} [options.charSpace=0] - The space between each letter.\r\n * @param {number} [options.horizontalScale=1] - Horizontal scale of the text as a factor of the regular size.\r\n * @param {number} [options.lineHeightFactor=1.15] - The lineheight of each line.\r\n * @param {Object} [options.flags] - Flags for to8bitStream.\r\n * @param {boolean} [options.flags.noBOM=true] - Don't add BOM to Unicode-text.\r\n * @param {boolean} [options.flags.autoencode=true] - Autoencode the Text.\r\n * @param {number} [options.maxWidth=0] - Split the text by given width, 0 = no split.\r\n * @param {string} [options.renderingMode=fill] - Set how the text should be rendered, possible values: fill, stroke, fillThenStroke, invisible, fillAndAddForClipping, strokeAndAddPathForClipping, fillThenStrokeAndAddToPathForClipping, addToPathForClipping.\r\n * @param {boolean} [options.isInputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isInputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isSymmetricSwapping] - Option for the BidiEngine\r\n * @param {number|Matrix} transform If transform is a number the text will be rotated by this value around the anchor set by x and y.\r\n *\r\n * If it is a Matrix, this matrix gets directly applied to the text, which allows shearing\r\n * effects etc.; the x and y offsets are then applied AFTER the coordinate system has been established by this\r\n * matrix. This means passing a rotation matrix that is equivalent to some rotation angle will in general yield a\r\n * DIFFERENT result. A matrix is only allowed in \"advanced\" API mode.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name text\r\n */\r\n API.__private__.text = API.text = function(text, x, y, options, transform) {\r\n /*\r\n * Inserts something like this into PDF\r\n * BT\r\n * /F1 16 Tf % Font name + size\r\n * 16 TL % How many units down for next line in multiline text\r\n * 0 g % color\r\n * 28.35 813.54 Td % position\r\n * (line one) Tj\r\n * T* (line two) Tj\r\n * T* (line three) Tj\r\n * ET\r\n */\r\n options = options || {};\r\n var scope = options.scope || this;\r\n var payload, da, angle, align, charSpace, maxWidth, flags, horizontalScale;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, text, flags)\r\n // in effort to make all calls have similar signature like\r\n // function(data, coordinates... , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (\r\n typeof text === \"number\" &&\r\n typeof x === \"number\" &&\r\n (typeof y === \"string\" || Array.isArray(y))\r\n ) {\r\n var tmp = y;\r\n y = x;\r\n x = text;\r\n text = tmp;\r\n }\r\n\r\n var transformationMatrix;\r\n\r\n if (arguments[3] instanceof Matrix === false) {\r\n flags = arguments[3];\r\n angle = arguments[4];\r\n align = arguments[5];\r\n\r\n if (typeof flags !== \"object\" || flags === null) {\r\n if (typeof angle === \"string\") {\r\n align = angle;\r\n angle = null;\r\n }\r\n if (typeof flags === \"string\") {\r\n align = flags;\r\n flags = null;\r\n }\r\n if (typeof flags === \"number\") {\r\n angle = flags;\r\n flags = null;\r\n }\r\n options = {\r\n flags: flags,\r\n angle: angle,\r\n align: align\r\n };\r\n }\r\n } else {\r\n advancedApiModeTrap(\r\n \"The transform parameter of text() with a Matrix value\"\r\n );\r\n transformationMatrix = transform;\r\n }\r\n\r\n if (isNaN(x) || isNaN(y) || typeof text === \"undefined\" || text === null) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.text\");\r\n }\r\n\r\n if (text.length === 0) {\r\n return scope;\r\n }\r\n\r\n var xtra = \"\";\r\n var isHex = false;\r\n var lineHeight =\r\n typeof options.lineHeightFactor === \"number\"\r\n ? options.lineHeightFactor\r\n : lineHeightFactor;\r\n var scaleFactor = scope.internal.scaleFactor;\r\n\r\n function ESC(s) {\r\n s = s.split(\"\\t\").join(Array(options.TabLen || 9).join(\" \"));\r\n return pdfEscape(s, flags);\r\n }\r\n\r\n function transformTextToSpecialArray(text) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(curDa);\r\n } else {\r\n if (\r\n Array.isArray(text) &&\r\n (curDa.length === 1 ||\r\n (curDa[1] === undefined && curDa[2] === undefined))\r\n ) {\r\n da.push(curDa[0]);\r\n } else {\r\n da.push([curDa[0], curDa[1], curDa[2]]);\r\n }\r\n }\r\n }\r\n return da;\r\n }\r\n\r\n function processTextByFunction(text, processingFunction) {\r\n var result;\r\n if (typeof text === \"string\") {\r\n result = processingFunction(text)[0];\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n var tmpResult;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(processingFunction(curDa)[0]);\r\n } else if (Array.isArray(curDa) && typeof curDa[0] === \"string\") {\r\n tmpResult = processingFunction(curDa[0], curDa[1], curDa[2]);\r\n da.push([tmpResult[0], tmpResult[1], tmpResult[2]]);\r\n }\r\n }\r\n result = da;\r\n }\r\n return result;\r\n }\r\n\r\n //Check if text is of type String\r\n var textIsOfTypeString = false;\r\n var tmpTextIsOfTypeString = true;\r\n\r\n if (typeof text === \"string\") {\r\n textIsOfTypeString = true;\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (\r\n typeof curDa !== \"string\" ||\r\n (Array.isArray(curDa) && typeof curDa[0] !== \"string\")\r\n ) {\r\n tmpTextIsOfTypeString = false;\r\n }\r\n }\r\n textIsOfTypeString = tmpTextIsOfTypeString;\r\n }\r\n if (textIsOfTypeString === false) {\r\n throw new Error(\r\n 'Type of text must be string or Array. \"' +\r\n text +\r\n '\" is not recognized.'\r\n );\r\n }\r\n\r\n //If there are any newlines in text, we assume\r\n //the user wanted to print multiple lines, so break the\r\n //text up into an array. If the text is already an array,\r\n //we assume the user knows what they are doing.\r\n //Convert text into an array anyway to simplify\r\n //later code.\r\n\r\n if (typeof text === \"string\") {\r\n if (text.match(/[\\r?\\n]/)) {\r\n text = text.split(/\\r\\n|\\r|\\n/g);\r\n } else {\r\n text = [text];\r\n }\r\n }\r\n\r\n //baseline\r\n var height = activeFontSize / scope.internal.scaleFactor;\r\n var descent = height * (lineHeight - 1);\r\n\r\n switch (options.baseline) {\r\n case \"bottom\":\r\n y -= descent;\r\n break;\r\n case \"top\":\r\n y += height - descent;\r\n break;\r\n case \"hanging\":\r\n y += height - 2 * descent;\r\n break;\r\n case \"middle\":\r\n y += height / 2 - descent;\r\n break;\r\n case \"ideographic\":\r\n case \"alphabetic\":\r\n default:\r\n // do nothing, everything is fine\r\n break;\r\n }\r\n\r\n //multiline\r\n maxWidth = options.maxWidth || 0;\r\n\r\n if (maxWidth > 0) {\r\n if (typeof text === \"string\") {\r\n text = scope.splitTextToSize(text, maxWidth);\r\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n text = text.reduce(function(acc, textLine) {\r\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\r\n }, []);\r\n }\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"preProcessText\", payload);\r\n\r\n text = payload.text;\r\n options = payload.options;\r\n\r\n //angle\r\n angle = options.angle;\r\n\r\n if (\r\n transformationMatrix instanceof Matrix === false &&\r\n angle &&\r\n typeof angle === \"number\"\r\n ) {\r\n angle *= Math.PI / 180;\r\n\r\n if (options.rotationDirection === 0) {\r\n angle = -angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n angle = -angle;\r\n }\r\n\r\n var c = Math.cos(angle);\r\n var s = Math.sin(angle);\r\n transformationMatrix = new Matrix(c, s, -s, c, 0, 0);\r\n } else if (angle && angle instanceof Matrix) {\r\n transformationMatrix = angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED && !transformationMatrix) {\r\n transformationMatrix = identityMatrix;\r\n }\r\n\r\n //charSpace\r\n\r\n charSpace = options.charSpace || activeCharSpace;\r\n\r\n if (typeof charSpace !== \"undefined\") {\r\n xtra += hpf(scale(charSpace)) + \" Tc\\n\";\r\n this.setCharSpace(this.getCharSpace() || 0);\r\n }\r\n\r\n horizontalScale = options.horizontalScale;\r\n if (typeof horizontalScale !== \"undefined\") {\r\n xtra += hpf(horizontalScale * 100) + \" Tz\\n\";\r\n }\r\n\r\n //lang\r\n\r\n var lang = options.lang;\r\n\r\n if (lang) {\r\n // xtra += \"/Lang (\" + lang +\")\\n\";\r\n }\r\n\r\n //renderingMode\r\n var renderingMode = -1;\r\n var parmRenderingMode =\r\n typeof options.renderingMode !== \"undefined\"\r\n ? options.renderingMode\r\n : options.stroke;\r\n var pageContext = scope.internal.getCurrentPageInfo().pageContext;\r\n\r\n switch (parmRenderingMode) {\r\n case 0:\r\n case false:\r\n case \"fill\":\r\n renderingMode = 0;\r\n break;\r\n case 1:\r\n case true:\r\n case \"stroke\":\r\n renderingMode = 1;\r\n break;\r\n case 2:\r\n case \"fillThenStroke\":\r\n renderingMode = 2;\r\n break;\r\n case 3:\r\n case \"invisible\":\r\n renderingMode = 3;\r\n break;\r\n case 4:\r\n case \"fillAndAddForClipping\":\r\n renderingMode = 4;\r\n break;\r\n case 5:\r\n case \"strokeAndAddPathForClipping\":\r\n renderingMode = 5;\r\n break;\r\n case 6:\r\n case \"fillThenStrokeAndAddToPathForClipping\":\r\n renderingMode = 6;\r\n break;\r\n case 7:\r\n case \"addToPathForClipping\":\r\n renderingMode = 7;\r\n break;\r\n }\r\n\r\n var usedRenderingMode =\r\n typeof pageContext.usedRenderingMode !== \"undefined\"\r\n ? pageContext.usedRenderingMode\r\n : -1;\r\n\r\n //if the coder wrote it explicitly to use a specific\r\n //renderingMode, then use it\r\n if (renderingMode !== -1) {\r\n xtra += renderingMode + \" Tr\\n\";\r\n //otherwise check if we used the rendering Mode already\r\n //if so then set the rendering Mode...\r\n } else if (usedRenderingMode !== -1) {\r\n xtra += \"0 Tr\\n\";\r\n }\r\n\r\n if (renderingMode !== -1) {\r\n pageContext.usedRenderingMode = renderingMode;\r\n }\r\n\r\n //align\r\n align = options.align || \"left\";\r\n var leading = activeFontSize * lineHeight;\r\n var pageWidth = scope.internal.pageSize.getWidth();\r\n var activeFont = fonts[activeFontKey];\r\n charSpace = options.charSpace || activeCharSpace;\r\n maxWidth = options.maxWidth || 0;\r\n\r\n var lineWidths;\r\n flags = Object.assign({ autoencode: true, noBOM: true }, options.flags);\r\n\r\n var wordSpacingPerLine = [];\r\n\r\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n da = transformTextToSpecialArray(text);\r\n var newY;\r\n if (align !== \"left\") {\r\n lineWidths = da.map(function(v) {\r\n return (\r\n (scope.getStringUnitWidth(v, {\r\n font: activeFont,\r\n charSpace: charSpace,\r\n fontSize: activeFontSize,\r\n doKerning: false\r\n }) *\r\n activeFontSize) /\r\n scaleFactor\r\n );\r\n });\r\n }\r\n //The first line uses the \"main\" Td setting,\r\n //and the subsequent lines are offset by the\r\n //previous line's x coordinate.\r\n var prevWidth = 0;\r\n var newX;\r\n if (align === \"right\") {\r\n //The passed in x coordinate defines the\r\n //rightmost point of the text.\r\n x -= lineWidths[0];\r\n text = [];\r\n len = da.length;\r\n for (var i = 0; i < len; i++) {\r\n if (i === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale(prevWidth - lineWidths[i]);\r\n newY = -leading;\r\n }\r\n text.push([da[i], newX, newY]);\r\n prevWidth = lineWidths[i];\r\n }\r\n } else if (align === \"center\") {\r\n //The passed in x coordinate defines\r\n //the center point.\r\n x -= lineWidths[0] / 2;\r\n text = [];\r\n len = da.length;\r\n for (var j = 0; j < len; j++) {\r\n if (j === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale((prevWidth - lineWidths[j]) / 2);\r\n newY = -leading;\r\n }\r\n text.push([da[j], newX, newY]);\r\n prevWidth = lineWidths[j];\r\n }\r\n } else if (align === \"left\") {\r\n text = [];\r\n len = da.length;\r\n for (var h = 0; h < len; h++) {\r\n text.push(da[h]);\r\n }\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : 0;\r\n if (l < len - 1) {\r\n wordSpacingPerLine.push(\r\n hpf(\r\n scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n )\r\n )\r\n );\r\n } else {\r\n wordSpacingPerLine.push(0);\r\n }\r\n text.push([da[l], newX, newY]);\r\n }\r\n } else {\r\n throw new Error(\r\n 'Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".'\r\n );\r\n }\r\n }\r\n\r\n //R2L\r\n var doReversing = typeof options.R2L === \"boolean\" ? options.R2L : R2L;\r\n if (doReversing === true) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [\r\n text\r\n .split(\"\")\r\n .reverse()\r\n .join(\"\"),\r\n posX,\r\n posY\r\n ];\r\n });\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"postProcessText\", payload);\r\n\r\n text = payload.text;\r\n isHex = payload.mutex.isHex || false;\r\n\r\n //Escaping\r\n var activeFontEncoding = fonts[activeFontKey].encoding;\r\n\r\n if (\r\n activeFontEncoding === \"WinAnsiEncoding\" ||\r\n activeFontEncoding === \"StandardEncoding\"\r\n ) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [ESC(text), posX, posY];\r\n });\r\n }\r\n\r\n da = transformTextToSpecialArray(text);\r\n\r\n text = [];\r\n var STRING = 0;\r\n var ARRAY = 1;\r\n var variant = Array.isArray(da[0]) ? ARRAY : STRING;\r\n var posX;\r\n var posY;\r\n var content;\r\n var wordSpacing = \"\";\r\n\r\n var generatePosition = function(\r\n parmPosX,\r\n parmPosY,\r\n parmTransformationMatrix\r\n ) {\r\n var position = \"\";\r\n if (parmTransformationMatrix instanceof Matrix) {\r\n // It is kind of more intuitive to apply a plain rotation around the text anchor set by x and y\r\n // but when the user supplies an arbitrary transformation matrix, the x and y offsets should be applied\r\n // in the coordinate system established by this matrix\r\n if (typeof options.angle === \"number\") {\r\n parmTransformationMatrix = matrixMult(\r\n parmTransformationMatrix,\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY)\r\n );\r\n } else {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, -1, 0, 0),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n position = parmTransformationMatrix.join(\" \") + \" Tm\\n\";\r\n } else {\r\n position = hpf(parmPosX) + \" \" + hpf(parmPosY) + \" Td\\n\";\r\n }\r\n return position;\r\n };\r\n\r\n for (var lineIndex = 0; lineIndex < da.length; lineIndex++) {\r\n wordSpacing = \"\";\r\n\r\n switch (variant) {\r\n case ARRAY:\r\n content =\r\n (isHex ? \"<\" : \"(\") + da[lineIndex][0] + (isHex ? \">\" : \")\");\r\n posX = parseFloat(da[lineIndex][1]);\r\n posY = parseFloat(da[lineIndex][2]);\r\n break;\r\n case STRING:\r\n content = (isHex ? \"<\" : \"(\") + da[lineIndex] + (isHex ? \">\" : \")\");\r\n posX = getHorizontalCoordinate(x);\r\n posY = getVerticalCoordinate(y);\r\n break;\r\n }\r\n\r\n if (\r\n typeof wordSpacingPerLine !== \"undefined\" &&\r\n typeof wordSpacingPerLine[lineIndex] !== \"undefined\"\r\n ) {\r\n wordSpacing = wordSpacingPerLine[lineIndex] + \" Tw\\n\";\r\n }\r\n\r\n if (lineIndex === 0) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n } else if (variant === STRING) {\r\n text.push(wordSpacing + content);\r\n } else if (variant === ARRAY) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n }\r\n }\r\n\r\n text = variant === STRING ? text.join(\" Tj\\nT* \") : text.join(\" Tj\\n\");\r\n text += \" Tj\\n\";\r\n\r\n var result = \"BT\\n/\";\r\n result += activeFontKey + \" \" + activeFontSize + \" Tf\\n\"; // font face, style, size\r\n result += hpf(activeFontSize * lineHeight) + \" TL\\n\"; // line spacing\r\n result += textColor + \"\\n\";\r\n result += xtra;\r\n result += text;\r\n result += \"ET\";\r\n\r\n out(result);\r\n usedFonts[activeFontKey] = true;\r\n return scope;\r\n };\r\n\r\n // PDF supports these path painting and clip path operators:\r\n //\r\n // S - stroke\r\n // s - close/stroke\r\n // f (F) - fill non-zero\r\n // f* - fill evenodd\r\n // B - fill stroke nonzero\r\n // B* - fill stroke evenodd\r\n // b - close fill stroke nonzero\r\n // b* - close fill stroke evenodd\r\n // n - nothing (consume path)\r\n // W - clip nonzero\r\n // W* - clip evenodd\r\n //\r\n // In order to keep the API small, we omit the close-and-fill/stroke operators and provide a separate close()\r\n // method.\r\n /**\r\n *\r\n * @name clip\r\n * @function\r\n * @instance\r\n * @param {string} rule Only possible value is 'evenodd'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description All .clip() after calling drawing ops with a style argument of null.\r\n */\r\n var clip = (API.__private__.clip = API.clip = function(rule) {\r\n // Call .clip() after calling drawing ops with a style argument of null\r\n // W is the PDF clipping op\r\n if (\"evenodd\" === rule) {\r\n out(\"W*\");\r\n } else {\r\n out(\"W\");\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * @name clipEvenOdd\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description Modify the current clip path by intersecting it with the current path using the even-odd rule. Note\r\n * that this will NOT consume the current path. In order to only use this path for clipping call\r\n * {@link API.discardPath} afterwards.\r\n */\r\n API.clipEvenOdd = function() {\r\n return clip(\"evenodd\");\r\n };\r\n\r\n /**\r\n * Consumes the current path without any effect. Mainly used in combination with {@link clip} or\r\n * {@link clipEvenOdd}. The PDF \"n\" operator.\r\n * @name discardPath\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.discardPath = API.discardPath = function() {\r\n out(\"n\");\r\n return this;\r\n };\r\n\r\n var isValidStyle = (API.__private__.isValidStyle = function(style) {\r\n var validStyleVariants = [\r\n undefined,\r\n null,\r\n \"S\",\r\n \"D\",\r\n \"F\",\r\n \"DF\",\r\n \"FD\",\r\n \"f\",\r\n \"f*\",\r\n \"B\",\r\n \"B*\",\r\n \"n\"\r\n ];\r\n var result = false;\r\n if (validStyleVariants.indexOf(style) !== -1) {\r\n result = true;\r\n }\r\n return result;\r\n });\r\n\r\n API.__private__.setDefaultPathOperation = API.setDefaultPathOperation = function(\r\n operator\r\n ) {\r\n if (isValidStyle(operator)) {\r\n defaultPathOperation = operator;\r\n }\r\n return this;\r\n };\r\n\r\n var getStyle = (API.__private__.getStyle = API.getStyle = function(style) {\r\n // see path-painting operators in PDF spec\r\n var op = defaultPathOperation; // stroke\r\n\r\n switch (style) {\r\n case \"D\":\r\n case \"S\":\r\n op = \"S\"; // stroke\r\n break;\r\n case \"F\":\r\n op = \"f\"; // fill\r\n break;\r\n case \"FD\":\r\n case \"DF\":\r\n op = \"B\";\r\n break;\r\n case \"f\":\r\n case \"f*\":\r\n case \"B\":\r\n case \"B*\":\r\n /*\r\n Allow direct use of these PDF path-painting operators:\r\n - f fill using nonzero winding number rule\r\n - f* fill using even-odd rule\r\n - B fill then stroke with fill using non-zero winding number rule\r\n - B* fill then stroke with fill using even-odd rule\r\n */\r\n op = style;\r\n break;\r\n }\r\n return op;\r\n });\r\n\r\n /**\r\n * Close the current path. The PDF \"h\" operator.\r\n * @name close\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n var close = (API.close = function() {\r\n out(\"h\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Stroke the path. The PDF \"S\" operator.\r\n * @name stroke\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.stroke = function() {\r\n out(\"S\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the nonzero winding number rule. If a pattern is provided, the path will be filled\r\n * with this pattern, otherwise with the current fill color. Equivalent to the PDF \"f\" operator.\r\n * @name fill\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fill = function(pattern) {\r\n fillWithOptionalPattern(\"f\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the even-odd rule. The PDF f* operator.\r\n * @see API.fill\r\n * @name fillEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"f*\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the nonzero winding number rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStroke\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStroke = function(pattern) {\r\n fillWithOptionalPattern(\"B\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the even-odd rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStrokeEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be fill-stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStrokeEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"B*\", pattern);\r\n return this;\r\n };\r\n\r\n var fillWithOptionalPattern = function(style, pattern) {\r\n if (typeof pattern === \"object\") {\r\n fillWithPattern(pattern, style);\r\n } else {\r\n out(style);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n if (\r\n style === null ||\r\n (apiMode === ApiMode.ADVANCED && style === undefined)\r\n ) {\r\n return;\r\n }\r\n\r\n style = getStyle(style);\r\n\r\n // stroking / filling / both the path\r\n out(style);\r\n };\r\n\r\n function cloneTilingPattern(patternKey, boundingBox, xStep, yStep, matrix) {\r\n var clone = new TilingPattern(\r\n boundingBox || this.boundingBox,\r\n xStep || this.xStep,\r\n yStep || this.yStep,\r\n this.gState,\r\n matrix || this.matrix\r\n );\r\n clone.stream = this.stream;\r\n var key = patternKey + \"$$\" + this.cloneIndex++ + \"$$\";\r\n addPattern(key, clone);\r\n return clone;\r\n }\r\n\r\n var fillWithPattern = function(patternData, style) {\r\n var patternId = patternMap[patternData.key];\r\n var pattern = patterns[patternId];\r\n\r\n if (pattern instanceof ShadingPattern) {\r\n out(\"q\");\r\n\r\n out(clipRuleFromStyle(style));\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n out(patternData.matrix.toString() + \" cm\");\r\n out(\"/\" + patternId + \" sh\");\r\n out(\"Q\");\r\n } else if (pattern instanceof TilingPattern) {\r\n // pdf draws patterns starting at the bottom left corner and they are not affected by the global transformation,\r\n // so we must flip them\r\n var matrix = new Matrix(1, 0, 0, -1, 0, getPageHeight());\r\n\r\n if (patternData.matrix) {\r\n matrix = matrix.multiply(patternData.matrix || identityMatrix);\r\n // we cannot apply a matrix to the pattern on use so we must abuse the pattern matrix and create new instances\r\n // for each use\r\n patternId = cloneTilingPattern.call(\r\n pattern,\r\n patternData.key,\r\n patternData.boundingBox,\r\n patternData.xStep,\r\n patternData.yStep,\r\n matrix\r\n ).id;\r\n }\r\n\r\n out(\"q\");\r\n out(\"/Pattern cs\");\r\n out(\"/\" + patternId + \" scn\");\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n\r\n out(style);\r\n out(\"Q\");\r\n }\r\n };\r\n\r\n var clipRuleFromStyle = function(style) {\r\n switch (style) {\r\n case \"f\":\r\n case \"F\":\r\n return \"W n\";\r\n case \"f*\":\r\n return \"W* n\";\r\n case \"B\":\r\n return \"W S\";\r\n case \"B*\":\r\n return \"W* S\";\r\n\r\n // these two are for compatibility reasons (in the past, calling any primitive method with a shading pattern\r\n // and \"n\"/\"S\" as style would still fill/fill and stroke the path)\r\n case \"S\":\r\n return \"W S\";\r\n case \"n\":\r\n return \"W n\";\r\n }\r\n };\r\n\r\n /**\r\n * Begin a new subpath by moving the current point to coordinates (x, y). The PDF \"m\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @name moveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var moveTo = (API.moveTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" m\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a straight line segment from the current point to the point (x, y). The PDF \"l\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @memberof jsPDF#\r\n * @name lineTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var lineTo = (API.lineTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" l\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point\r\n * (x3, y3), using (x1, y1) and (x2, y2) as Bézier control points. The new current point shall be (x3, x3).\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {number} x3\r\n * @param {number} y3\r\n * @memberof jsPDF#\r\n * @name curveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var curveTo = (API.curveTo = function(x1, y1, x2, y2, x3, y3) {\r\n out(\r\n [\r\n hpf(scale(x1)),\r\n hpf(transformScaleY(y1)),\r\n hpf(scale(x2)),\r\n hpf(transformScaleY(y2)),\r\n hpf(scale(x3)),\r\n hpf(transformScaleY(y3)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n return this;\r\n });\r\n\r\n /**\r\n * Draw a line on the current page.\r\n *\r\n * @name line\r\n * @function\r\n * @instance\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {string} style A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. A null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. default: 'S'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.line = API.line = function(x1, y1, x2, y2, style) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.line\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1], style || \"S\");\r\n } else {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1]).stroke();\r\n }\r\n };\r\n\r\n /**\r\n * @typedef {Object} PatternData\r\n * {Matrix|undefined} matrix\r\n * {Number|undefined} xStep\r\n * {Number|undefined} yStep\r\n * {Array.|undefined} boundingBox\r\n */\r\n\r\n /**\r\n * Adds series of curves (straight lines or cubic bezier curves) to canvas, starting at `x`, `y` coordinates.\r\n * All data points in `lines` are relative to last line origin.\r\n * `x`, `y` become x1,y1 for first line / curve in the set.\r\n * For lines you only need to specify [x2, y2] - (ending point) vector against x1, y1 starting point.\r\n * For bezier curves you need to specify [x2,y2,x3,y3,x4,y4] - vectors to control points 1, 2, ending point. All vectors are against the start of the curve - x1,y1.\r\n *\r\n * @example .lines([[2,2],[-2,2],[1,1,2,2,3,3],[2,1]], 212,110, [1,1], 'F', false) // line, line, bezier curve, line\r\n * @param {Array} lines Array of *vector* shifts as pairs (lines) or sextets (cubic bezier curves).\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} scale (Defaults to [1.0,1.0]) x,y Scaling factor for all vectors. Elements can be any floating number Sub-one makes drawing smaller. Over-one grows the drawing. Negative flips the direction.\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @param {Boolean=} closed If true, the path is closed with a straight line from the end of the last curve to the starting point.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name lines\r\n */\r\n API.__private__.lines = API.lines = function(\r\n lines,\r\n x,\r\n y,\r\n scale,\r\n style,\r\n closed\r\n ) {\r\n var scalex, scaley, i, l, leg, x2, y2, x3, y3, x4, y4, tmp;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, lines, scale, style)\r\n // in effort to make all calls have similar signature like\r\n // function(content, coordinateX, coordinateY , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (typeof lines === \"number\") {\r\n tmp = y;\r\n y = x;\r\n x = lines;\r\n lines = tmp;\r\n }\r\n\r\n scale = scale || [1, 1];\r\n closed = closed || false;\r\n\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n !Array.isArray(lines) ||\r\n !Array.isArray(scale) ||\r\n !isValidStyle(style) ||\r\n typeof closed !== \"boolean\"\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.lines\");\r\n }\r\n\r\n // starting point\r\n moveTo(x, y);\r\n\r\n scalex = scale[0];\r\n scaley = scale[1];\r\n l = lines.length;\r\n //, x2, y2 // bezier only. In page default measurement \"units\", *after* scaling\r\n //, x3, y3 // bezier only. In page default measurement \"units\", *after* scaling\r\n // ending point for all, lines and bezier. . In page default measurement \"units\", *after* scaling\r\n x4 = x; // last / ending point = starting point for first item.\r\n y4 = y; // last / ending point = starting point for first item.\r\n\r\n for (i = 0; i < l; i++) {\r\n leg = lines[i];\r\n if (leg.length === 2) {\r\n // simple line\r\n x4 = leg[0] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[1] * scaley + y4; // here last y4 was prior ending point\r\n lineTo(x4, y4);\r\n } else {\r\n // bezier curve\r\n x2 = leg[0] * scalex + x4; // here last x4 is prior ending point\r\n y2 = leg[1] * scaley + y4; // here last y4 is prior ending point\r\n x3 = leg[2] * scalex + x4; // here last x4 is prior ending point\r\n y3 = leg[3] * scaley + y4; // here last y4 is prior ending point\r\n x4 = leg[4] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[5] * scaley + y4; // here last y4 was prior ending point\r\n curveTo(x2, y2, x3, y3, x4, y4);\r\n }\r\n }\r\n\r\n if (closed) {\r\n close();\r\n }\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Similar to {@link API.lines} but all coordinates are interpreted as absolute coordinates instead of relative.\r\n * @param {Array} lines An array of {op: operator, c: coordinates} object, where op is one of \"m\" (move to), \"l\" (line to)\r\n * \"c\" (cubic bezier curve) and \"h\" (close (sub)path)). c is an array of coordinates. \"m\" and \"l\" expect two, \"c\"\r\n * six and \"h\" an empty array (or undefined).\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name path\r\n */\r\n API.path = function(lines) {\r\n for (var i = 0; i < lines.length; i++) {\r\n var leg = lines[i];\r\n var coords = leg.c;\r\n switch (leg.op) {\r\n case \"m\":\r\n moveTo(coords[0], coords[1]);\r\n break;\r\n case \"l\":\r\n lineTo(coords[0], coords[1]);\r\n break;\r\n case \"c\":\r\n curveTo.apply(this, coords);\r\n break;\r\n case \"h\":\r\n close();\r\n break;\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name rect\r\n */\r\n API.__private__.rect = API.rect = function(x, y, w, h, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.rect\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n h = -h;\r\n }\r\n\r\n out(\r\n [\r\n hpf(scale(x)),\r\n hpf(transformScaleY(y)),\r\n hpf(scale(w)),\r\n hpf(scale(h)),\r\n \"re\"\r\n ].join(\" \")\r\n );\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a triangle to PDF.\r\n *\r\n * @param {number} x1 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y1 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x2 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y2 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x3 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y3 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name triangle\r\n */\r\n API.__private__.triangle = API.triangle = function(\r\n x1,\r\n y1,\r\n x2,\r\n y2,\r\n x3,\r\n y3,\r\n style\r\n ) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n isNaN(x3) ||\r\n isNaN(y3) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.triangle\");\r\n }\r\n this.lines(\r\n [\r\n [x2 - x1, y2 - y1], // vector to point 2\r\n [x3 - x2, y3 - y2], // vector to point 3\r\n [x1 - x3, y1 - y3] // closing vector back to point 1\r\n ],\r\n x1,\r\n y1, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle with rounded corners to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name roundedRect\r\n */\r\n API.__private__.roundedRect = API.roundedRect = function(\r\n x,\r\n y,\r\n w,\r\n h,\r\n rx,\r\n ry,\r\n style\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(w) ||\r\n isNaN(h) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");\r\n }\r\n var MyArc = (4 / 3) * (Math.SQRT2 - 1);\r\n\r\n rx = Math.min(rx, w * 0.5);\r\n ry = Math.min(ry, h * 0.5);\r\n\r\n this.lines(\r\n [\r\n [w - 2 * rx, 0],\r\n [rx * MyArc, 0, rx, ry - ry * MyArc, rx, ry],\r\n [0, h - 2 * ry],\r\n [0, ry * MyArc, -(rx * MyArc), ry, -rx, ry],\r\n [-w + 2 * rx, 0],\r\n [-(rx * MyArc), 0, -rx, -(ry * MyArc), -rx, -ry],\r\n [0, -h + 2 * ry],\r\n [0, -(ry * MyArc), rx * MyArc, -ry, rx, -ry]\r\n ],\r\n x + rx,\r\n y, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an ellipse to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name ellipse\r\n */\r\n API.__private__.ellipse = API.ellipse = function(x, y, rx, ry, style) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");\r\n }\r\n var lx = (4 / 3) * (Math.SQRT2 - 1) * rx,\r\n ly = (4 / 3) * (Math.SQRT2 - 1) * ry;\r\n\r\n moveTo(x + rx, y);\r\n curveTo(x + rx, y - ly, x + lx, y - ry, x, y - ry);\r\n curveTo(x - lx, y - ry, x - rx, y - ly, x - rx, y);\r\n curveTo(x - rx, y + ly, x - lx, y + ry, x, y + ry);\r\n curveTo(x + lx, y + ry, x + rx, y + ly, x + rx, y);\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an circle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} r Radius (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name circle\r\n */\r\n API.__private__.circle = API.circle = function(x, y, r, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(r) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.circle\");\r\n }\r\n return this.ellipse(x, y, r, r, style);\r\n };\r\n\r\n /**\r\n * Sets text font face, variant for upcoming text elements.\r\n * See output of jsPDF.getFontList() for possible font names, styles.\r\n *\r\n * @param {string} fontName Font name or family. Example: \"times\".\r\n * @param {string} fontStyle Font style or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFont\r\n */\r\n API.setFont = function(fontName, fontStyle, fontWeight) {\r\n if (fontWeight) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n activeFontKey = getFont(fontName, fontStyle, {\r\n disableWarning: false\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets text font face, variant for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {Object}\r\n * @memberof jsPDF#\r\n * @name getFont\r\n */\r\n var getFontEntry = (API.__private__.getFont = API.getFont = function() {\r\n return fonts[getFont.apply(API, arguments)];\r\n });\r\n\r\n /**\r\n * Returns an object - a tree of fontName to fontStyle relationships available to\r\n * active PDF document.\r\n *\r\n * @public\r\n * @function\r\n * @instance\r\n * @returns {Object} Like {'times':['normal', 'italic', ... ], 'arial':['normal', 'bold', ... ], ... }\r\n * @memberof jsPDF#\r\n * @name getFontList\r\n */\r\n API.__private__.getFontList = API.getFontList = function() {\r\n var list = {},\r\n fontName,\r\n fontStyle;\r\n\r\n for (fontName in fontmap) {\r\n if (fontmap.hasOwnProperty(fontName)) {\r\n list[fontName] = [];\r\n for (fontStyle in fontmap[fontName]) {\r\n if (fontmap[fontName].hasOwnProperty(fontStyle)) {\r\n list[fontName].push(fontStyle);\r\n }\r\n }\r\n }\r\n }\r\n return list;\r\n };\r\n\r\n /**\r\n * Add a custom font to the current instance.\r\n *\r\n * @param {string} postScriptName PDF specification full name for the font.\r\n * @param {string} id PDF-document-instance-specific label assinged to the font.\r\n * @param {string} fontStyle Style of the Font.\r\n * @param {number | string} fontWeight Weight of the Font.\r\n * @param {Object} encoding Encoding_name-to-Font_metrics_object mapping.\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @name addFont\r\n * @returns {string} fontId\r\n */\r\n API.addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n fontWeight,\r\n encoding\r\n ) {\r\n var encodingOptions = [\r\n \"StandardEncoding\",\r\n \"MacRomanEncoding\",\r\n \"Identity-H\",\r\n \"WinAnsiEncoding\"\r\n ];\r\n if (arguments[3] && encodingOptions.indexOf(arguments[3]) !== -1) {\r\n //IE 11 fix\r\n encoding = arguments[3];\r\n } else if (arguments[3] && encodingOptions.indexOf(arguments[3]) == -1) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n encoding = encoding || \"Identity-H\";\r\n return addFont.call(this, postScriptName, fontName, fontStyle, encoding);\r\n };\r\n\r\n var lineWidth = options.lineWidth || 0.200025; // 2mm\r\n /**\r\n * Gets the line width, default: 0.200025.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineWidth\r\n * @memberof jsPDF#\r\n * @name getLineWidth\r\n */\r\n var getLineWidth = (API.__private__.getLineWidth = API.getLineWidth = function() {\r\n return lineWidth;\r\n });\r\n\r\n /**\r\n * Sets line width for upcoming lines.\r\n *\r\n * @param {number} width Line width (in units declared at inception of PDF document).\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineWidth\r\n */\r\n var setLineWidth = (API.__private__.setLineWidth = API.setLineWidth = function(\r\n width\r\n ) {\r\n lineWidth = width;\r\n out(hpf(scale(width)) + \" w\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Sets the dash pattern for upcoming lines.\r\n *\r\n * To reset the settings simply call the method without any parameters.\r\n * @param {Array} dashArray An array containing 0-2 numbers. The first number sets the length of the\r\n * dashes, the second number the length of the gaps. If the second number is missing, the gaps are considered\r\n * to be as long as the dashes. An empty array means solid, unbroken lines.\r\n * @param {number} dashPhase The phase lines start with.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineDashPattern\r\n */\r\n API.__private__.setLineDash = jsPDF.API.setLineDash = jsPDF.API.setLineDashPattern = function(\r\n dashArray,\r\n dashPhase\r\n ) {\r\n dashArray = dashArray || [];\r\n dashPhase = dashPhase || 0;\r\n\r\n if (isNaN(dashPhase) || !Array.isArray(dashArray)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");\r\n }\r\n\r\n dashArray = dashArray\r\n .map(function(x) {\r\n return hpf(scale(x));\r\n })\r\n .join(\" \");\r\n dashPhase = hpf(scale(dashPhase));\r\n\r\n out(\"[\" + dashArray + \"] \" + dashPhase + \" d\");\r\n return this;\r\n };\r\n\r\n var lineHeightFactor;\r\n\r\n var getLineHeight = (API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n });\r\n\r\n API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n };\r\n\r\n /**\r\n * Sets the LineHeightFactor of proportion.\r\n *\r\n * @param {number} value LineHeightFactor value. Default: 1.15.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineHeightFactor\r\n */\r\n var setLineHeightFactor = (API.__private__.setLineHeightFactor = API.setLineHeightFactor = function(\r\n value\r\n ) {\r\n value = value || 1.15;\r\n if (typeof value === \"number\") {\r\n lineHeightFactor = value;\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * Gets the LineHeightFactor, default: 1.15.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineHeightFactor\r\n * @memberof jsPDF#\r\n * @name getLineHeightFactor\r\n */\r\n var getLineHeightFactor = (API.__private__.getLineHeightFactor = API.getLineHeightFactor = function() {\r\n return lineHeightFactor;\r\n });\r\n\r\n setLineHeightFactor(options.lineHeight);\r\n\r\n var getHorizontalCoordinate = (API.__private__.getHorizontalCoordinate = function(\r\n value\r\n ) {\r\n return scale(value);\r\n });\r\n\r\n var getVerticalCoordinate = (API.__private__.getVerticalCoordinate = function(\r\n value\r\n ) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n return value;\r\n } else {\r\n var pageHeight =\r\n pagesContext[currentPage].mediaBox.topRightY -\r\n pagesContext[currentPage].mediaBox.bottomLeftY;\r\n return pageHeight - scale(value);\r\n }\r\n });\r\n\r\n var getHorizontalCoordinateString = (API.__private__.getHorizontalCoordinateString = API.getHorizontalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getHorizontalCoordinate(value));\r\n });\r\n\r\n var getVerticalCoordinateString = (API.__private__.getVerticalCoordinateString = API.getVerticalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getVerticalCoordinate(value));\r\n });\r\n\r\n var strokeColor = options.strokeColor || \"0 G\";\r\n\r\n /**\r\n * Gets the stroke color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getDrawColor\r\n */\r\n API.__private__.getStrokeColor = API.getDrawColor = function() {\r\n return decodeColorString(strokeColor);\r\n };\r\n\r\n /**\r\n * Sets the stroke color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDrawColor\r\n */\r\n API.__private__.setStrokeColor = API.setDrawColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"draw\",\r\n precision: 2\r\n };\r\n\r\n strokeColor = encodeColorString(options);\r\n out(strokeColor);\r\n return this;\r\n };\r\n\r\n var fillColor = options.fillColor || \"0 g\";\r\n\r\n /**\r\n * Gets the fill color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getFillColor\r\n */\r\n API.__private__.getFillColor = API.getFillColor = function() {\r\n return decodeColorString(fillColor);\r\n };\r\n\r\n /**\r\n * Sets the fill color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFillColor\r\n */\r\n API.__private__.setFillColor = API.setFillColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"fill\",\r\n precision: 2\r\n };\r\n\r\n fillColor = encodeColorString(options);\r\n out(fillColor);\r\n return this;\r\n };\r\n\r\n var textColor = options.textColor || \"0 g\";\r\n /**\r\n * Gets the text color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getTextColor\r\n */\r\n var getTextColor = (API.__private__.getTextColor = API.getTextColor = function() {\r\n return decodeColorString(textColor);\r\n });\r\n /**\r\n * Sets the text color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setTextColor\r\n */\r\n API.__private__.setTextColor = API.setTextColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"text\",\r\n precision: 3\r\n };\r\n textColor = encodeColorString(options);\r\n\r\n return this;\r\n };\r\n\r\n var activeCharSpace = options.charSpace;\r\n\r\n /**\r\n * Get global value of CharSpace.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} charSpace\r\n * @memberof jsPDF#\r\n * @name getCharSpace\r\n */\r\n var getCharSpace = (API.__private__.getCharSpace = API.getCharSpace = function() {\r\n return parseFloat(activeCharSpace || 0);\r\n });\r\n\r\n /**\r\n * Set global value of CharSpace.\r\n *\r\n * @param {number} charSpace\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setCharSpace\r\n */\r\n API.__private__.setCharSpace = API.setCharSpace = function(charSpace) {\r\n if (isNaN(charSpace)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");\r\n }\r\n activeCharSpace = charSpace;\r\n return this;\r\n };\r\n\r\n var lineCapID = 0;\r\n /**\r\n * Is an Object providing a mapping from human-readable to\r\n * integer flag values designating the varieties of line cap\r\n * and join styles.\r\n *\r\n * @memberof jsPDF#\r\n * @name CapJoinStyles\r\n */\r\n API.CapJoinStyles = {\r\n 0: 0,\r\n butt: 0,\r\n but: 0,\r\n miter: 0,\r\n 1: 1,\r\n round: 1,\r\n rounded: 1,\r\n circle: 1,\r\n 2: 2,\r\n projecting: 2,\r\n project: 2,\r\n square: 2,\r\n bevel: 2\r\n };\r\n\r\n /**\r\n * Sets the line cap styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line cap.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineCap\r\n */\r\n API.__private__.setLineCap = API.setLineCap = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line cap style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineCapID = id;\r\n out(id + \" J\");\r\n\r\n return this;\r\n };\r\n\r\n var lineJoinID = 0;\r\n /**\r\n * Sets the line join styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line join.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineJoin\r\n */\r\n API.__private__.setLineJoin = API.setLineJoin = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line join style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineJoinID = id;\r\n out(id + \" j\");\r\n\r\n return this;\r\n };\r\n\r\n var miterLimit;\r\n /**\r\n * Sets the miterLimit property, which effects the maximum miter length.\r\n *\r\n * @param {number} length The length of the miter\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineMiterLimit\r\n */\r\n API.__private__.setLineMiterLimit = API.__private__.setMiterLimit = API.setLineMiterLimit = API.setMiterLimit = function(\r\n length\r\n ) {\r\n length = length || 0;\r\n if (isNaN(length)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");\r\n }\r\n out(hpf(scale(length)) + \" M\");\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * An object representing a pdf graphics state.\r\n * @class GState\r\n */\r\n\r\n /**\r\n *\r\n * @param parameters A parameter object that contains all properties this graphics state wants to set.\r\n * Supported are: opacity, stroke-opacity\r\n * @constructor\r\n */\r\n API.GState = GState;\r\n\r\n /**\r\n * Sets a either previously added {@link GState} (via {@link addGState}) or a new {@link GState}.\r\n * @param {String|GState} gState If type is string, a previously added GState is used, if type is GState\r\n * it will be added before use.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setGState\r\n */\r\n API.setGState = function(gState) {\r\n if (typeof gState === \"string\") {\r\n gState = gStates[gStatesMap[gState]];\r\n } else {\r\n gState = addGState(null, gState);\r\n }\r\n\r\n if (!gState.equals(activeGState)) {\r\n out(\"/\" + gState.id + \" gs\");\r\n activeGState = gState;\r\n }\r\n };\r\n\r\n /**\r\n * Adds a new Graphics State. Duplicates are automatically eliminated.\r\n * @param {String} key Might also be null, if no later reference to this gState is needed\r\n * @param {Object} gState The gState object\r\n */\r\n var addGState = function(key, gState) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (key && gStatesMap[key]) return;\r\n var duplicate = false;\r\n for (var s in gStates) {\r\n if (gStates.hasOwnProperty(s)) {\r\n if (gStates[s].equals(gState)) {\r\n duplicate = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (duplicate) {\r\n gState = gStates[s];\r\n } else {\r\n var gStateKey = \"GS\" + (Object.keys(gStates).length + 1).toString(10);\r\n gStates[gStateKey] = gState;\r\n gState.id = gStateKey;\r\n }\r\n\r\n // several user keys may point to the same GState object\r\n key && (gStatesMap[key] = gState.id);\r\n\r\n events.publish(\"addGState\", gState);\r\n\r\n return gState;\r\n };\r\n\r\n /**\r\n * Adds a new {@link GState} for later use. See {@link setGState}.\r\n * @param {String} key\r\n * @param {GState} gState\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addGState\r\n */\r\n API.addGState = function(key, gState) {\r\n addGState(key, gState);\r\n return this;\r\n };\r\n\r\n /**\r\n * Saves the current graphics state (\"pushes it on the stack\"). It can be restored by {@link restoreGraphicsState}\r\n * later. Here, the general pdf graphics state is meant, also including the current transformation matrix,\r\n * fill and stroke colors etc.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name saveGraphicsState\r\n */\r\n API.saveGraphicsState = function() {\r\n out(\"q\");\r\n // as we cannot set font key and size independently we must keep track of both\r\n fontStateStack.push({\r\n key: activeFontKey,\r\n size: activeFontSize,\r\n color: textColor\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Restores a previously saved graphics state saved by {@link saveGraphicsState} (\"pops the stack\").\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name restoreGraphicsState\r\n */\r\n API.restoreGraphicsState = function() {\r\n out(\"Q\");\r\n\r\n // restore previous font state\r\n var fontState = fontStateStack.pop();\r\n activeFontKey = fontState.key;\r\n activeFontSize = fontState.size;\r\n textColor = fontState.color;\r\n\r\n activeGState = null;\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Appends this matrix to the left of all previously applied matrices.\r\n *\r\n * @param {Matrix} matrix\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setCurrentTransformationMatrix\r\n */\r\n API.setCurrentTransformationMatrix = function(matrix) {\r\n out(matrix.toString() + \" cm\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Inserts a debug comment into the generated pdf.\r\n * @function\r\n * @instance\r\n * @param {String} text\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name comment\r\n */\r\n API.comment = function(text) {\r\n out(\"#\" + text);\r\n return this;\r\n };\r\n\r\n /**\r\n * Point\r\n */\r\n var Point = function(x, y) {\r\n var _x = x || 0;\r\n Object.defineProperty(this, \"x\", {\r\n enumerable: true,\r\n get: function() {\r\n return _x;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _x = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _y = y || 0;\r\n Object.defineProperty(this, \"y\", {\r\n enumerable: true,\r\n get: function() {\r\n return _y;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _y = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _type = \"pt\";\r\n Object.defineProperty(this, \"type\", {\r\n enumerable: true,\r\n get: function() {\r\n return _type;\r\n },\r\n set: function(value) {\r\n _type = value.toString();\r\n }\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Rectangle\r\n */\r\n var Rectangle = function(x, y, w, h) {\r\n Point.call(this, x, y);\r\n this.type = \"rect\";\r\n\r\n var _w = w || 0;\r\n Object.defineProperty(this, \"w\", {\r\n enumerable: true,\r\n get: function() {\r\n return _w;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _w = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _h = h || 0;\r\n Object.defineProperty(this, \"h\", {\r\n enumerable: true,\r\n get: function() {\r\n return _h;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _h = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * FormObject/RenderTarget\r\n */\r\n\r\n var RenderTarget = function() {\r\n this.page = page;\r\n this.currentPage = currentPage;\r\n this.pages = pages.slice(0);\r\n this.pagesContext = pagesContext.slice(0);\r\n this.x = pageX;\r\n this.y = pageY;\r\n this.matrix = pageMatrix;\r\n this.width = getPageWidth(currentPage);\r\n this.height = getPageHeight(currentPage);\r\n this.outputDestination = outputDestination;\r\n\r\n this.id = \"\"; // set by endFormObject()\r\n this.objectNumber = -1; // will be set by putXObject()\r\n };\r\n\r\n RenderTarget.prototype.restore = function() {\r\n page = this.page;\r\n currentPage = this.currentPage;\r\n pagesContext = this.pagesContext;\r\n pages = this.pages;\r\n pageX = this.x;\r\n pageY = this.y;\r\n pageMatrix = this.matrix;\r\n setPageWidth(currentPage, this.width);\r\n setPageHeight(currentPage, this.height);\r\n outputDestination = this.outputDestination;\r\n };\r\n\r\n var beginNewRenderTarget = function(x, y, width, height, matrix) {\r\n // save current state\r\n renderTargetStack.push(new RenderTarget());\r\n\r\n // clear pages\r\n page = currentPage = 0;\r\n pages = [];\r\n pageX = x;\r\n pageY = y;\r\n\r\n pageMatrix = matrix;\r\n\r\n beginPage([width, height]);\r\n };\r\n\r\n var endFormObject = function(key) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (renderTargetMap[key]) {\r\n renderTargetStack.pop().restore();\r\n return;\r\n }\r\n\r\n // save the created xObject\r\n var newXObject = new RenderTarget();\r\n\r\n var xObjectId = \"Xo\" + (Object.keys(renderTargets).length + 1).toString(10);\r\n newXObject.id = xObjectId;\r\n\r\n renderTargetMap[key] = xObjectId;\r\n renderTargets[xObjectId] = newXObject;\r\n\r\n events.publish(\"addFormObject\", newXObject);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n /**\r\n * Starts a new pdf form object, which means that all consequent draw calls target a new independent object\r\n * until {@link endFormObject} is called. The created object can be referenced and drawn later using\r\n * {@link doFormObject}. Nested form objects are possible.\r\n * x, y, width, height set the bounding box that is used to clip the content.\r\n *\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} width\r\n * @param {number} height\r\n * @param {Matrix} matrix The matrix that will be applied to convert the form objects coordinate system to\r\n * the parent's.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name beginFormObject\r\n */\r\n API.beginFormObject = function(x, y, width, height, matrix) {\r\n // The user can set the output target to a new form object. Nested form objects are possible.\r\n // Currently, they use the resource dictionary of the surrounding stream. This should be changed, as\r\n // the PDF-Spec states:\r\n // \"In PDF 1.2 and later versions, form XObjects may be independent of the content streams in which\r\n // they appear, and this is strongly recommended although not requiredIn PDF 1.2 and later versions,\r\n // form XObjects may be independent of the content streams in which they appear, and this is strongly\r\n // recommended although not required\"\r\n beginNewRenderTarget(x, y, width, height, matrix);\r\n return this;\r\n };\r\n\r\n /**\r\n * Completes and saves the form object.\r\n * @param {String} key The key by which this form object can be referenced.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name endFormObject\r\n */\r\n API.endFormObject = function(key) {\r\n endFormObject(key);\r\n return this;\r\n };\r\n\r\n /**\r\n * Draws the specified form object by referencing to the respective pdf XObject created with\r\n * {@link API.beginFormObject} and {@link endFormObject}.\r\n * The location is determined by matrix.\r\n *\r\n * @param {String} key The key to the form object.\r\n * @param {Matrix} matrix The matrix applied before drawing the form object.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name doFormObject\r\n */\r\n API.doFormObject = function(key, matrix) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n out(\"q\");\r\n out(matrix.toString() + \" cm\");\r\n out(\"/\" + xObject.id + \" Do\");\r\n out(\"Q\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Returns the form object specified by key.\r\n * @param key {String}\r\n * @returns {{x: number, y: number, width: number, height: number, matrix: Matrix}}\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name getFormObject\r\n */\r\n API.getFormObject = function(key) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n return {\r\n x: xObject.x,\r\n y: xObject.y,\r\n width: xObject.width,\r\n height: xObject.height,\r\n matrix: xObject.matrix\r\n };\r\n };\r\n\r\n /**\r\n * Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf').\r\n * Uses FileSaver.js-method saveAs.\r\n *\r\n * @memberof jsPDF#\r\n * @name save\r\n * @function\r\n * @instance\r\n * @param {string} filename The filename including extension.\r\n * @param {Object} options An Object with additional options, possible options: 'returnPromise'.\r\n * @returns {jsPDF|Promise} jsPDF-instance */\r\n API.save = function(filename, options) {\r\n filename = filename || \"generated.pdf\";\r\n\r\n options = options || {};\r\n options.returnPromise = options.returnPromise || false;\r\n\r\n if (options.returnPromise === false) {\r\n saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n return this;\r\n } else {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n var result = saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n resolve(result);\r\n } catch (e) {\r\n reject(e.message);\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n // applying plugins (more methods) ON TOP of built-in API.\r\n // this is intentional as we allow plugins to override\r\n // built-ins\r\n for (var plugin in jsPDF.API) {\r\n if (jsPDF.API.hasOwnProperty(plugin)) {\r\n if (plugin === \"events\" && jsPDF.API.events.length) {\r\n (function(events, newEvents) {\r\n // jsPDF.API.events is a JS Array of Arrays\r\n // where each Array is a pair of event name, handler\r\n // Events were added by plugins to the jsPDF instantiator.\r\n // These are always added to the new instance and some ran\r\n // during instantiation.\r\n var eventname, handler_and_args, i;\r\n\r\n for (i = newEvents.length - 1; i !== -1; i--) {\r\n // subscribe takes 3 args: 'topic', function, runonce_flag\r\n // if undefined, runonce is false.\r\n // users can attach callback directly,\r\n // or they can attach an array with [callback, runonce_flag]\r\n // that's what the \"apply\" magic is for below.\r\n eventname = newEvents[i][0];\r\n handler_and_args = newEvents[i][1];\r\n events.subscribe.apply(\r\n events,\r\n [eventname].concat(\r\n typeof handler_and_args === \"function\"\r\n ? [handler_and_args]\r\n : handler_and_args\r\n )\r\n );\r\n }\r\n })(events, jsPDF.API.events);\r\n } else {\r\n API[plugin] = jsPDF.API[plugin];\r\n }\r\n }\r\n }\r\n\r\n var getPageWidth = (API.getPageWidth = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightX -\r\n pagesContext[pageNumber].mediaBox.bottomLeftX) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageWidth = (API.setPageWidth = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightX =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftX;\r\n });\r\n\r\n var getPageHeight = (API.getPageHeight = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightY -\r\n pagesContext[pageNumber].mediaBox.bottomLeftY) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageHeight = (API.setPageHeight = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightY =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftY;\r\n });\r\n\r\n /**\r\n * Object exposing internal API to plugins\r\n * @public\r\n * @ignore\r\n */\r\n API.internal = {\r\n pdfEscape: pdfEscape,\r\n getStyle: getStyle,\r\n getFont: getFontEntry,\r\n getFontSize: getFontSize,\r\n getCharSpace: getCharSpace,\r\n getTextColor: getTextColor,\r\n getLineHeight: getLineHeight,\r\n getLineHeightFactor: getLineHeightFactor,\r\n getLineWidth: getLineWidth,\r\n write: write,\r\n getHorizontalCoordinate: getHorizontalCoordinate,\r\n getVerticalCoordinate: getVerticalCoordinate,\r\n getCoordinateString: getHorizontalCoordinateString,\r\n getVerticalCoordinateString: getVerticalCoordinateString,\r\n collections: {},\r\n newObject: newObject,\r\n newAdditionalObject: newAdditionalObject,\r\n newObjectDeferred: newObjectDeferred,\r\n newObjectDeferredBegin: newObjectDeferredBegin,\r\n getFilters: getFilters,\r\n putStream: putStream,\r\n events: events,\r\n scaleFactor: scaleFactor,\r\n pageSize: {\r\n getWidth: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n setWidth: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n getHeight: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n setHeight: function(value) {\r\n setPageHeight(currentPage, value);\r\n }\r\n },\r\n encryptionOptions: encryptionOptions,\r\n encryption: encryption,\r\n getEncryptor: getEncryptor,\r\n output: output,\r\n getNumberOfPages: getNumberOfPages,\r\n pages: pages,\r\n out: out,\r\n f2: f2,\r\n f3: f3,\r\n getPageInfo: getPageInfo,\r\n getPageInfoByObjId: getPageInfoByObjId,\r\n getCurrentPageInfo: getCurrentPageInfo,\r\n getPDFVersion: getPdfVersion,\r\n Point: Point,\r\n Rectangle: Rectangle,\r\n Matrix: Matrix,\r\n hasHotfix: hasHotfix //Expose the hasHotfix check so plugins can also check them.\r\n };\r\n\r\n Object.defineProperty(API.internal.pageSize, \"width\", {\r\n get: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n set: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(API.internal.pageSize, \"height\", {\r\n get: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n set: function(value) {\r\n setPageHeight(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n\r\n //////////////////////////////////////////////////////\r\n // continuing initialization of jsPDF Document object\r\n //////////////////////////////////////////////////////\r\n // Add the first page automatically\r\n addFonts.call(API, standardFonts);\r\n activeFontKey = \"F1\";\r\n _addPage(format, orientation);\r\n\r\n events.publish(\"initialized\");\r\n return API;\r\n}\r\n\r\n/**\r\n * jsPDF.API is a STATIC property of jsPDF class.\r\n * jsPDF.API is an object you can add methods and properties to.\r\n * The methods / properties you add will show up in new jsPDF objects.\r\n *\r\n * One property is prepopulated. It is the 'events' Object. Plugin authors can add topics,\r\n * callbacks to this object. These will be reassigned to all new instances of jsPDF.\r\n *\r\n * @static\r\n * @public\r\n * @memberof jsPDF#\r\n * @name API\r\n *\r\n * @example\r\n * jsPDF.API.mymethod = function(){\r\n * // 'this' will be ref to internal API object. see jsPDF source\r\n * // , so you can refer to built-in methods like so:\r\n * // this.line(....)\r\n * // this.text(....)\r\n * }\r\n * var pdfdoc = new jsPDF()\r\n * pdfdoc.mymethod() // <- !!!!!!\r\n */\r\njsPDF.API = {\r\n events: []\r\n};\r\n/**\r\n * The version of jsPDF.\r\n * @name version\r\n * @type {string}\r\n * @memberof jsPDF#\r\n */\r\njsPDF.version = \"0.0.0\";\r\n\r\nexport { jsPDF, ShadingPattern, TilingPattern, GState };\r\nexport default jsPDF;\r\n","/* global jsPDF */\n/**\n * @license\n * Copyright (c) 2016 Alexander Weidt,\n * https://github.com/BiggA94\n *\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF AcroForm Plugin\n * @module AcroForm\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\nvar jsPDFAPI = jsPDF.API;\nvar scaleFactor = 1;\n\nvar pdfEscape = function(value) {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\(/g, \"\\\\(\")\n .replace(/\\)/g, \"\\\\)\");\n};\nvar pdfUnescape = function(value) {\n return value\n .replace(/\\\\\\\\/g, \"\\\\\")\n .replace(/\\\\\\(/g, \"(\")\n .replace(/\\\\\\)/g, \")\");\n};\n\nvar f2 = function(number) {\n return number.toFixed(2); // Ie, %.2f\n};\n\nvar f5 = function(number) {\n return number.toFixed(5); // Ie, %.2f\n};\n\njsPDFAPI.__acroform__ = {};\nvar inherit = function(child, parent) {\n child.prototype = Object.create(parent.prototype);\n child.prototype.constructor = child;\n};\n\nvar scale = function(x) {\n return x * scaleFactor;\n};\n\nvar createFormXObject = function(formObject) {\n var xobj = new AcroFormXObject();\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n xobj.BBox = [0, 0, Number(f2(width)), Number(f2(height))];\n return xobj;\n};\n\n/**\n * Bit-Operations\n */\nvar setBit = (jsPDFAPI.__acroform__.setBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number |= bitMask;\n\n return number;\n});\n\nvar clearBit = (jsPDFAPI.__acroform__.clearBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number &= ~bitMask;\n\n return number;\n});\n\nvar getBit = (jsPDFAPI.__acroform__.getBit = function(number, bitPosition) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBit\"\n );\n }\n return (number & (1 << bitPosition)) === 0 ? 0 : 1;\n});\n\n/*\n * Ff starts counting the bit position at 1 and not like javascript at 0\n */\nvar getBitForPdf = (jsPDFAPI.__acroform__.getBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\"\n );\n }\n return getBit(number, bitPosition - 1);\n});\n\nvar setBitForPdf = (jsPDFAPI.__acroform__.setBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\"\n );\n }\n return setBit(number, bitPosition - 1);\n});\n\nvar clearBitForPdf = (jsPDFAPI.__acroform__.clearBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\"\n );\n }\n return clearBit(number, bitPosition - 1);\n});\n\nvar calculateCoordinates = (jsPDFAPI.__acroform__.calculateCoordinates = function(\n args,\n scope\n) {\n var getHorizontalCoordinate = scope.internal.getHorizontalCoordinate;\n var getVerticalCoordinate = scope.internal.getVerticalCoordinate;\n var x = args[0];\n var y = args[1];\n var w = args[2];\n var h = args[3];\n\n var coordinates = {};\n\n coordinates.lowerLeft_X = getHorizontalCoordinate(x) || 0;\n coordinates.lowerLeft_Y = getVerticalCoordinate(y + h) || 0;\n coordinates.upperRight_X = getHorizontalCoordinate(x + w) || 0;\n coordinates.upperRight_Y = getVerticalCoordinate(y) || 0;\n\n return [\n Number(f2(coordinates.lowerLeft_X)),\n Number(f2(coordinates.lowerLeft_Y)),\n Number(f2(coordinates.upperRight_X)),\n Number(f2(coordinates.upperRight_Y))\n ];\n});\n\nvar calculateAppearanceStream = function(formObject) {\n if (formObject.appearanceStreamContent) {\n return formObject.appearanceStreamContent;\n }\n\n if (!formObject.V && !formObject.DV) {\n return;\n }\n\n // else calculate it\n\n var stream = [];\n var text = formObject._V || formObject.DV;\n var calcRes = calculateX(formObject, text);\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n\n //PDF 32000-1:2008, page 444\n stream.push(\"/Tx BMC\");\n stream.push(\"q\");\n stream.push(\"BT\"); // Begin Text\n stream.push(formObject.scope.__private__.encodeColorString(formObject.color));\n stream.push(\"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf\");\n stream.push(\"1 0 0 1 0 0 Tm\"); // Transformation Matrix\n stream.push(calcRes.text);\n stream.push(\"ET\"); // End Text\n stream.push(\"Q\");\n stream.push(\"EMC\");\n\n var appearanceStreamContent = createFormXObject(formObject);\n appearanceStreamContent.scope = formObject.scope;\n appearanceStreamContent.stream = stream.join(\"\\n\");\n return appearanceStreamContent;\n};\n\nvar calculateX = function(formObject, text) {\n var maxFontSize =\n formObject.fontSize === 0 ? formObject.maxFontSize : formObject.fontSize;\n var returnValue = {\n text: \"\",\n fontSize: \"\"\n };\n // Remove Brackets\n text = text.substr(0, 1) == \"(\" ? text.substr(1) : text;\n text =\n text.substr(text.length - 1) == \")\"\n ? text.substr(0, text.length - 1)\n : text;\n // split into array of words\n var textSplit = text.split(\" \");\n if (formObject.multiline) {\n textSplit = textSplit.map(word => word.split(\"\\n\"));\n } else {\n textSplit = textSplit.map(word => [word]);\n }\n\n var fontSize = maxFontSize; // The Starting fontSize (The Maximum)\n var lineSpacing = 2;\n var borderPadding = 2;\n\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n height = height < 0 ? -height : height;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n width = width < 0 ? -width : width;\n\n var isSmallerThanWidth = function(i, lastLine, fontSize) {\n if (i + 1 < textSplit.length) {\n var tmp = lastLine + \" \" + textSplit[i + 1][0];\n var TextWidth = calculateFontSpace(tmp, formObject, fontSize).width;\n var FieldWidth = width - 2 * borderPadding;\n return TextWidth <= FieldWidth;\n } else {\n return false;\n }\n };\n\n fontSize++;\n FontSize: while (fontSize > 0) {\n text = \"\";\n fontSize--;\n var textHeight = calculateFontSpace(\"3\", formObject, fontSize).height;\n var startY = formObject.multiline\n ? height - fontSize\n : (height - textHeight) / 2;\n startY += lineSpacing;\n var startX;\n\n var lastY = startY;\n var firstWordInLine = 0,\n lastWordInLine = 0;\n var lastLength;\n var currWord = 0;\n\n if (fontSize <= 0) {\n // In case, the Text doesn't fit at all\n fontSize = 12;\n text = \"(...) Tj\\n\";\n text +=\n \"% Width of Text: \" +\n calculateFontSpace(text, formObject, fontSize).width +\n \", FieldWidth:\" +\n width +\n \"\\n\";\n break;\n }\n\n var lastLine = \"\";\n var lineCount = 0;\n Line: for (var i = 0; i < textSplit.length; i++) {\n if (textSplit.hasOwnProperty(i)) {\n let isWithNewLine = false;\n if (textSplit[i].length !== 1 && currWord !== textSplit[i].length - 1) {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n continue FontSize;\n }\n\n lastLine += textSplit[i][currWord];\n isWithNewLine = true;\n lastWordInLine = i;\n i--;\n } else {\n lastLine += textSplit[i][currWord] + \" \";\n lastLine =\n lastLine.substr(lastLine.length - 1) == \" \"\n ? lastLine.substr(0, lastLine.length - 1)\n : lastLine;\n var key = parseInt(i);\n var nextLineIsSmaller = isSmallerThanWidth(key, lastLine, fontSize);\n var isLastWord = i >= textSplit.length - 1;\n\n if (nextLineIsSmaller && !isLastWord) {\n lastLine += \" \";\n currWord = 0;\n continue; // Line\n } else if (!nextLineIsSmaller && !isLastWord) {\n if (!formObject.multiline) {\n continue FontSize;\n } else {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the\n // FieldObject\n continue FontSize;\n }\n lastWordInLine = key;\n // go on\n }\n } else if (isLastWord) {\n lastWordInLine = key;\n } else {\n if (\n formObject.multiline &&\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the FieldObject\n continue FontSize;\n }\n }\n }\n // Remove last blank\n\n var line = \"\";\n\n for (var x = firstWordInLine; x <= lastWordInLine; x++) {\n var currLine = textSplit[x];\n if (formObject.multiline) {\n if (x === lastWordInLine) {\n line += currLine[currWord] + \" \";\n currWord = (currWord + 1) % currLine.length;\n continue;\n }\n if (x === firstWordInLine) {\n line += currLine[currLine.length - 1] + \" \";\n continue;\n }\n }\n line += currLine[0] + \" \";\n }\n\n // Remove last blank\n line =\n line.substr(line.length - 1) == \" \"\n ? line.substr(0, line.length - 1)\n : line;\n // lastLength -= blankSpace.width;\n lastLength = calculateFontSpace(line, formObject, fontSize).width;\n\n // Calculate startX\n switch (formObject.textAlign) {\n case \"right\":\n startX = width - lastLength - borderPadding;\n break;\n case \"center\":\n startX = (width - lastLength) / 2;\n break;\n case \"left\":\n default:\n startX = borderPadding;\n break;\n }\n text += f2(startX) + \" \" + f2(lastY) + \" Td\\n\";\n text += \"(\" + pdfEscape(line) + \") Tj\\n\";\n // reset X in PDF\n text += -f2(startX) + \" 0 Td\\n\";\n\n // After a Line, adjust y position\n lastY = -(fontSize + lineSpacing);\n\n // Reset for next iteration step\n lastLength = 0;\n firstWordInLine = isWithNewLine ? lastWordInLine : lastWordInLine + 1;\n lineCount++;\n\n lastLine = \"\";\n continue Line;\n }\n }\n break;\n }\n\n returnValue.text = text;\n returnValue.fontSize = fontSize;\n\n return returnValue;\n};\n\n/**\n * Small workaround for calculating the TextMetric approximately.\n *\n * @param text\n * @param fontsize\n * @returns {TextMetrics} (Has Height and Width)\n */\nvar calculateFontSpace = function(text, formObject, fontSize) {\n var font = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n );\n var width =\n formObject.scope.getStringUnitWidth(text, {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) * parseFloat(fontSize);\n var height =\n formObject.scope.getStringUnitWidth(\"3\", {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) *\n parseFloat(fontSize) *\n 1.5;\n return { height: height, width: width };\n};\n\nvar acroformPluginTemplate = {\n fields: [],\n xForms: [],\n /**\n * acroFormDictionaryRoot contains information about the AcroForm\n * Dictionary 0: The Event-Token, the AcroFormDictionaryCallback has\n * 1: The Object ID of the Root\n */\n acroFormDictionaryRoot: null,\n /**\n * After the PDF gets evaluated, the reference to the root has to be\n * reset, this indicates, whether the root has already been printed\n * out\n */\n printedOut: false,\n internal: null,\n isInitialized: false\n};\n\nvar annotReferenceCallback = function(scope) {\n //set objId to undefined and force it to get a new objId on buildDocument\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId = undefined;\n var fields = scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields;\n for (var i in fields) {\n if (fields.hasOwnProperty(i)) {\n var formObject = fields[i];\n //set objId to undefined and force it to get a new objId on buildDocument\n formObject.objId = undefined;\n // add Annot Reference!\n if (formObject.hasAnnotation) {\n // If theres an Annotation Widget in the Form Object, put the\n // Reference in the /Annot array\n createAnnotationReference(formObject, scope);\n }\n }\n }\n};\n\nvar putForm = function(formObject) {\n if (formObject.scope.internal.acroformPlugin.printedOut) {\n formObject.scope.internal.acroformPlugin.printedOut = false;\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot = null;\n }\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(\n formObject\n );\n};\n/**\n * Create the Reference to the widgetAnnotation, so that it gets referenced\n * in the Annot[] int the+ (Requires the Annotation Plugin)\n */\nvar createAnnotationReference = function(object, scope) {\n var options = {\n type: \"reference\",\n object: object\n };\n var findEntry = function(entry) {\n return entry.type === options.type && entry.object === options.object;\n };\n if (\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.find(findEntry) === undefined\n ) {\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.push(options);\n }\n};\n\n// Callbacks\n\nvar putCatalogCallback = function(scope) {\n // Put reference to AcroForm to DocumentCatalog\n if (\n typeof scope.internal.acroformPlugin.acroFormDictionaryRoot !== \"undefined\"\n ) {\n // for safety, shouldn't normally be the case\n scope.internal.write(\n \"/AcroForm \" +\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId +\n \" \" +\n 0 +\n \" R\"\n );\n } else {\n throw new Error(\"putCatalogCallback: Root missing.\");\n }\n};\n\n/**\n * Adds /Acroform X 0 R to Document Catalog, and creates the AcroForm\n * Dictionary\n */\nvar AcroFormDictionaryCallback = function(scope) {\n // Remove event\n scope.internal.events.unsubscribe(\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID\n );\n delete scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID;\n scope.internal.acroformPlugin.printedOut = true;\n};\n\n/**\n * Creates the single Fields and writes them into the Document\n *\n * If fieldArray is set, use the fields that are inside it instead of the\n * fields from the AcroRoot (for the FormXObjects...)\n */\nvar createFieldCallback = function(fieldArray, scope) {\n var standardFields = !fieldArray;\n\n if (!fieldArray) {\n // in case there is no fieldArray specified, we want to print out\n // the Fields of the AcroForm\n // Print out Root\n scope.internal.newObjectDeferredBegin(\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId,\n true\n );\n scope.internal.acroformPlugin.acroFormDictionaryRoot.putStream();\n }\n\n fieldArray =\n fieldArray || scope.internal.acroformPlugin.acroFormDictionaryRoot.Kids;\n\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var fieldObject = fieldArray[i];\n var keyValueList = [];\n var oldRect = fieldObject.Rect;\n\n if (fieldObject.Rect) {\n fieldObject.Rect = calculateCoordinates(fieldObject.Rect, scope);\n }\n\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n fieldObject.DA = AcroFormAppearance.createDefaultAppearanceStream(\n fieldObject\n );\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.getKeyValueListForStream === \"function\"\n ) {\n keyValueList = fieldObject.getKeyValueListForStream();\n }\n\n fieldObject.Rect = oldRect;\n\n if (\n fieldObject.hasAppearanceStream &&\n !fieldObject.appearanceStreamContent\n ) {\n // Calculate Appearance\n var appearance = calculateAppearanceStream(fieldObject);\n keyValueList.push({ key: \"AP\", value: \"<>\" });\n\n scope.internal.acroformPlugin.xForms.push(appearance);\n }\n\n // Assume AppearanceStreamContent is a Array with N,R,D (at least\n // one of them!)\n if (fieldObject.appearanceStreamContent) {\n var appearanceStreamString = \"\";\n // Iterate over N,R and D\n for (var k in fieldObject.appearanceStreamContent) {\n if (fieldObject.appearanceStreamContent.hasOwnProperty(k)) {\n var value = fieldObject.appearanceStreamContent[k];\n appearanceStreamString += \"/\" + k + \" \";\n appearanceStreamString += \"<<\";\n if (Object.keys(value).length >= 1 || Array.isArray(value)) {\n // appearanceStream is an Array or Object!\n for (var i in value) {\n if (value.hasOwnProperty(i)) {\n var obj = value[i];\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order\n // to get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj + \" \";\n\n // In case the XForm is already used, e.g. OffState\n // of CheckBoxes, don't add it\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n }\n } else {\n obj = value;\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order to\n // get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj;\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n appearanceStreamString += \">>\";\n }\n }\n\n // appearance stream is a normal Object..\n keyValueList.push({\n key: \"AP\",\n value: \"<<\\n\" + appearanceStreamString + \">>\"\n });\n }\n\n scope.internal.putStream({\n additionalKeyValues: keyValueList,\n objectId: fieldObject.objId\n });\n\n scope.internal.out(\"endobj\");\n }\n }\n if (standardFields) {\n createXFormObjectCallback(scope.internal.acroformPlugin.xForms, scope);\n }\n};\n\nvar createXFormObjectCallback = function(fieldArray, scope) {\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var key = i;\n var fieldObject = fieldArray[i];\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.putStream === \"function\"\n ) {\n fieldObject.putStream();\n }\n delete fieldArray[key];\n }\n }\n};\n\nvar initializeAcroForm = function(scope, formObject) {\n formObject.scope = scope;\n if (\n scope.internal !== undefined &&\n (scope.internal.acroformPlugin === undefined ||\n scope.internal.acroformPlugin.isInitialized === false)\n ) {\n AcroFormField.FieldNum = 0;\n scope.internal.acroformPlugin = JSON.parse(\n JSON.stringify(acroformPluginTemplate)\n );\n if (scope.internal.acroformPlugin.acroFormDictionaryRoot) {\n throw new Error(\"Exception while creating AcroformDictionary\");\n }\n scaleFactor = scope.internal.scaleFactor;\n // The Object Number of the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot = new AcroFormDictionary();\n scope.internal.acroformPlugin.acroFormDictionaryRoot.scope = scope;\n\n // add Callback for creating the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID = scope.internal.events.subscribe(\n \"postPutResources\",\n function() {\n AcroFormDictionaryCallback(scope);\n }\n );\n\n scope.internal.events.subscribe(\"buildDocument\", function() {\n annotReferenceCallback(scope);\n }); // buildDocument\n\n // Register event, that is triggered when the DocumentCatalog is\n // written, in order to add /AcroForm\n\n scope.internal.events.subscribe(\"putCatalog\", function() {\n putCatalogCallback(scope);\n });\n\n // Register event, that creates all Fields\n scope.internal.events.subscribe(\"postPutPages\", function(fieldArray) {\n createFieldCallback(fieldArray, scope);\n });\n\n scope.internal.acroformPlugin.isInitialized = true;\n }\n};\n\n//PDF 32000-1:2008, page 26, 7.3.6\nvar arrayToPdfArray = (jsPDFAPI.__acroform__.arrayToPdfArray = function(\n array,\n objId,\n scope\n) {\n var encryptor = function(data) {\n return data;\n };\n if (Array.isArray(array)) {\n var content = \"[\";\n for (var i = 0; i < array.length; i++) {\n if (i !== 0) {\n content += \" \";\n }\n switch (typeof array[i]) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n content += array[i].toString();\n break;\n case \"string\":\n if (array[i].substr(0, 1) !== \"/\") {\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n content += \"(\" + pdfEscape(encryptor(array[i].toString())) + \")\";\n } else {\n content += array[i].toString();\n }\n break;\n }\n }\n content += \"]\";\n return content;\n }\n throw new Error(\n \"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\"\n );\n});\nfunction getMatches(string, regex, index) {\n index || (index = 1); // default to the first capturing group\n var matches = [];\n var match;\n while ((match = regex.exec(string))) {\n matches.push(match[index]);\n }\n return matches;\n}\nvar pdfArrayToStringArray = function(array) {\n var result = [];\n if (typeof array === \"string\") {\n result = getMatches(array, /\\((.*?)\\)/g);\n }\n return result;\n};\n\nvar toPdfString = function(string, objId, scope) {\n var encryptor = function(data) {\n return data;\n };\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n string = string || \"\";\n string.toString();\n string = \"(\" + pdfEscape(encryptor(string)) + \")\";\n return string;\n};\n\n// ##########################\n// Classes\n// ##########################\n\n/**\n * @class AcroFormPDFObject\n * @classdesc A AcroFormPDFObject\n */\nvar AcroFormPDFObject = function() {\n this._objId = undefined;\n this._scope = undefined;\n\n /**\n * @name AcroFormPDFObject#objId\n * @type {any}\n */\n Object.defineProperty(this, \"objId\", {\n get: function() {\n if (typeof this._objId === \"undefined\") {\n if (typeof this.scope === \"undefined\") {\n return undefined;\n }\n this._objId = this.scope.internal.newObjectDeferred();\n }\n return this._objId;\n },\n set: function(value) {\n this._objId = value;\n }\n });\n Object.defineProperty(this, \"scope\", {\n value: this._scope,\n writable: true\n });\n};\n\n/**\n * @function AcroFormPDFObject.toString\n */\nAcroFormPDFObject.prototype.toString = function() {\n return this.objId + \" 0 R\";\n};\n\nAcroFormPDFObject.prototype.putStream = function() {\n var keyValueList = this.getKeyValueListForStream();\n this.scope.internal.putStream({\n data: this.stream,\n additionalKeyValues: keyValueList,\n objectId: this.objId\n });\n this.scope.internal.out(\"endobj\");\n};\n\n/**\n * Returns an key-value-List of all non-configurable Variables from the Object\n *\n * @name getKeyValueListForStream\n * @returns {string}\n */\nAcroFormPDFObject.prototype.getKeyValueListForStream = function() {\n var keyValueList = [];\n var keys = Object.getOwnPropertyNames(this).filter(function(key) {\n return (\n key != \"content\" &&\n key != \"appearanceStreamContent\" &&\n key != \"scope\" &&\n key != \"objId\" &&\n key.substring(0, 1) != \"_\"\n );\n });\n\n for (var i in keys) {\n if (Object.getOwnPropertyDescriptor(this, keys[i]).configurable === false) {\n var key = keys[i];\n var value = this[key];\n\n if (value) {\n if (Array.isArray(value)) {\n keyValueList.push({\n key: key,\n value: arrayToPdfArray(value, this.objId, this.scope)\n });\n } else if (value instanceof AcroFormPDFObject) {\n // In case it is a reference to another PDFObject,\n // take the reference number\n value.scope = this.scope;\n keyValueList.push({ key: key, value: value.objId + \" 0 R\" });\n } else if (typeof value !== \"function\") {\n keyValueList.push({ key: key, value: value });\n }\n }\n }\n }\n return keyValueList;\n};\n\nvar AcroFormXObject = function() {\n AcroFormPDFObject.call(this);\n\n Object.defineProperty(this, \"Type\", {\n value: \"/XObject\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"Subtype\", {\n value: \"/Form\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"FormType\", {\n value: 1,\n configurable: false,\n writable: true\n });\n\n var _BBox = [];\n Object.defineProperty(this, \"BBox\", {\n configurable: false,\n get: function() {\n return _BBox;\n },\n set: function(value) {\n _BBox = value;\n }\n });\n\n Object.defineProperty(this, \"Resources\", {\n value: \"2 0 R\",\n configurable: false,\n writable: true\n });\n\n var _stream;\n Object.defineProperty(this, \"stream\", {\n enumerable: false,\n configurable: true,\n set: function(value) {\n _stream = value.trim();\n },\n get: function() {\n if (_stream) {\n return _stream;\n } else {\n return null;\n }\n }\n });\n};\n\ninherit(AcroFormXObject, AcroFormPDFObject);\n\nvar AcroFormDictionary = function() {\n AcroFormPDFObject.call(this);\n\n var _Kids = [];\n\n Object.defineProperty(this, \"Kids\", {\n enumerable: false,\n configurable: true,\n get: function() {\n if (_Kids.length > 0) {\n return _Kids;\n } else {\n return undefined;\n }\n }\n });\n Object.defineProperty(this, \"Fields\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Kids;\n }\n });\n\n // Default Appearance\n var _DA;\n Object.defineProperty(this, \"DA\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DA) {\n return undefined;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_DA)) + \")\";\n },\n set: function(value) {\n _DA = value;\n }\n });\n};\n\ninherit(AcroFormDictionary, AcroFormPDFObject);\n\n/**\n * The Field Object contains the Variables, that every Field needs\n *\n * @class AcroFormField\n * @classdesc An AcroForm FieldObject\n */\nvar AcroFormField = function() {\n AcroFormPDFObject.call(this);\n\n //Annotation-Flag See Table 165\n var _F = 4;\n Object.defineProperty(this, \"F\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _F;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _F = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute F supplied.'\n );\n }\n }\n });\n\n /**\n * (PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of wether is is displayed on the screen.\n * NOTE 2 This can be useful for annotations representing interactive pushbuttons, which would serve no meaningful purpose on the printed page.\n *\n * @name AcroFormField#showWhenPrinted\n * @default true\n * @type {boolean}\n */\n Object.defineProperty(this, \"showWhenPrinted\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(_F, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.F = setBitForPdf(_F, 3);\n } else {\n this.F = clearBitForPdf(_F, 3);\n }\n }\n });\n\n var _Ff = 0;\n Object.defineProperty(this, \"Ff\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Ff;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _Ff = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Ff supplied.'\n );\n }\n }\n });\n\n var _Rect = [];\n Object.defineProperty(this, \"Rect\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (_Rect.length === 0) {\n return undefined;\n }\n return _Rect;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Rect = value;\n } else {\n _Rect = [];\n }\n }\n });\n\n /**\n * The x-position of the field.\n *\n * @name AcroFormField#x\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[0])) {\n return 0;\n }\n return _Rect[0];\n },\n set: function(value) {\n _Rect[0] = value;\n }\n });\n\n /**\n * The y-position of the field.\n *\n * @name AcroFormField#y\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[1])) {\n return 0;\n }\n return _Rect[1];\n },\n set: function(value) {\n _Rect[1] = value;\n }\n });\n\n /**\n * The width of the field.\n *\n * @name AcroFormField#width\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[2])) {\n return 0;\n }\n return _Rect[2];\n },\n set: function(value) {\n _Rect[2] = value;\n }\n });\n\n /**\n * The height of the field.\n *\n * @name AcroFormField#height\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[3])) {\n return 0;\n }\n return _Rect[3];\n },\n set: function(value) {\n _Rect[3] = value;\n }\n });\n\n var _FT = \"\";\n Object.defineProperty(this, \"FT\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _FT;\n },\n set: function(value) {\n switch (value) {\n case \"/Btn\":\n case \"/Tx\":\n case \"/Ch\":\n case \"/Sig\":\n _FT = value;\n break;\n default:\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute FT supplied.'\n );\n }\n }\n });\n\n var _T = null;\n\n Object.defineProperty(this, \"T\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (!_T || _T.length < 1) {\n // In case of a Child from a Radio´Group, you don't need a FieldName\n if (this instanceof AcroFormChildClass) {\n return undefined;\n }\n _T = \"FieldObject\" + AcroFormField.FieldNum++;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_T)) + \")\";\n },\n set: function(value) {\n _T = value.toString();\n }\n });\n\n /**\n * (Optional) The partial field name (see 12.7.3.2, “Field Names”).\n *\n * @name AcroFormField#fieldName\n * @default null\n * @type {string}\n */\n Object.defineProperty(this, \"fieldName\", {\n configurable: true,\n enumerable: true,\n get: function() {\n return _T;\n },\n set: function(value) {\n _T = value;\n }\n });\n\n var _fontName = \"helvetica\";\n /**\n * The fontName of the font to be used.\n *\n * @name AcroFormField#fontName\n * @default 'helvetica'\n * @type {string}\n */\n Object.defineProperty(this, \"fontName\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontName;\n },\n set: function(value) {\n _fontName = value;\n }\n });\n\n var _fontStyle = \"normal\";\n /**\n * The fontStyle of the font to be used.\n *\n * @name AcroFormField#fontStyle\n * @default 'normal'\n * @type {string}\n */\n Object.defineProperty(this, \"fontStyle\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontStyle;\n },\n set: function(value) {\n _fontStyle = value;\n }\n });\n\n var _fontSize = 0;\n /**\n * The fontSize of the font to be used.\n *\n * @name AcroFormField#fontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"fontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontSize;\n },\n set: function(value) {\n _fontSize = value;\n }\n });\n\n var _maxFontSize = undefined;\n /**\n * The maximum fontSize of the font to be used.\n *\n * @name AcroFormField#maxFontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"maxFontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (_maxFontSize === undefined) {\n // use the old default value here - the value is some kind of random as it depends on the scaleFactor (user unit)\n // (\"50\" is transformed to the \"user space\" but then used in \"pdf space\")\n return 50 / scaleFactor;\n } else {\n return _maxFontSize;\n }\n },\n set: function(value) {\n _maxFontSize = value;\n }\n });\n\n var _color = \"black\";\n /**\n * The color of the text\n *\n * @name AcroFormField#color\n * @default 'black'\n * @type {string|rgba}\n */\n Object.defineProperty(this, \"color\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _color;\n },\n set: function(value) {\n _color = value;\n }\n });\n\n var _DA = \"/F1 0 Tf 0 g\";\n // Defines the default appearance (Needed for variable Text)\n Object.defineProperty(this, \"DA\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (\n !_DA ||\n this instanceof AcroFormChildClass ||\n this instanceof AcroFormTextField\n ) {\n return undefined;\n }\n return toPdfString(_DA, this.objId, this.scope);\n },\n set: function(value) {\n value = value.toString();\n _DA = value;\n }\n });\n\n var _DV = null;\n Object.defineProperty(this, \"DV\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DV) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_DV, this.objId, this.scope);\n }\n return _DV;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _DV = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _DV = pdfUnescape(value);\n }\n } else {\n _DV = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The default value to which the field reverts when a reset-form action is executed (see 12.7.5.3, “Reset-Form Action”). The format of this value is the same as that of value.\n *\n * @name AcroFormField#defaultValue\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"defaultValue\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_DV.substr(1, _DV.length - 1));\n } else {\n return _DV;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _DV = \"/\" + value;\n } else {\n _DV = value;\n }\n }\n });\n\n var _V = null;\n Object.defineProperty(this, \"_V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n return _V;\n },\n set: function(value) {\n this.V = value;\n }\n });\n Object.defineProperty(this, \"V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_V, this.objId, this.scope);\n }\n return _V;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _V = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _V = pdfUnescape(value);\n }\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The field’s value, whose format varies depending on the field type. See the descriptions of individual field types for further information.\n *\n * @name AcroFormField#value\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"value\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_V.substr(1, _V.length - 1));\n } else {\n return _V;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _V = \"/\" + value;\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * Check if field has annotations\n *\n * @name AcroFormField#hasAnnotation\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAnnotation\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.Rect;\n }\n });\n\n Object.defineProperty(this, \"Type\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Annot\" : null;\n }\n });\n\n Object.defineProperty(this, \"Subtype\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Widget\" : null;\n }\n });\n\n var _hasAppearanceStream = false;\n /**\n * true if field has an appearanceStream\n *\n * @name AcroFormField#hasAppearanceStream\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _hasAppearanceStream;\n },\n set: function(value) {\n value = Boolean(value);\n _hasAppearanceStream = value;\n }\n });\n\n /**\n * The page on which the AcroFormField is placed\n *\n * @name AcroFormField#page\n * @type {number}\n */\n var _page;\n Object.defineProperty(this, \"page\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_page) {\n return undefined;\n }\n return _page;\n },\n set: function(value) {\n _page = value;\n }\n });\n\n /**\n * If set, the user may not change the value of the field. Any associated widget annotations will not interact with the user; that is, they will not respond to mouse clicks or change their appearance in response to mouse motions. This flag is useful for fields whose values are computed or imported from a database.\n *\n * @name AcroFormField#readOnly\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"readOnly\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 1));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 1);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 1);\n }\n }\n });\n\n /**\n * If set, the field shall have a value at the time it is exported by a submitform action (see 12.7.5.2, “Submit-Form Action”).\n *\n * @name AcroFormField#required\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"required\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 2));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 2);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 2);\n }\n }\n });\n\n /**\n * If set, the field shall not be exported by a submit-form action (see 12.7.5.2, “Submit-Form Action”)\n *\n * @name AcroFormField#noExport\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"noExport\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 3);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 3);\n }\n }\n });\n\n var _Q = null;\n Object.defineProperty(this, \"Q\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (_Q === null) {\n return undefined;\n }\n return _Q;\n },\n set: function(value) {\n if ([0, 1, 2].indexOf(value) !== -1) {\n _Q = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Q supplied.'\n );\n }\n }\n });\n\n /**\n * (Optional; inheritable) A code specifying the form of quadding (justification) that shall be used in displaying the text:\n * 'left', 'center', 'right'\n *\n * @name AcroFormField#textAlign\n * @default 'left'\n * @type {string}\n */\n Object.defineProperty(this, \"textAlign\", {\n get: function() {\n var result;\n switch (_Q) {\n case 0:\n default:\n result = \"left\";\n break;\n case 1:\n result = \"center\";\n break;\n case 2:\n result = \"right\";\n break;\n }\n return result;\n },\n configurable: true,\n enumerable: true,\n set: function(value) {\n switch (value) {\n case \"right\":\n case 2:\n _Q = 2;\n break;\n case \"center\":\n case 1:\n _Q = 1;\n break;\n case \"left\":\n case 0:\n default:\n _Q = 0;\n }\n }\n });\n};\n\ninherit(AcroFormField, AcroFormPDFObject);\n\n/**\n * @class AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormChoiceField = function() {\n AcroFormField.call(this);\n // Field Type = Choice Field\n this.FT = \"/Ch\";\n // options\n this.V = \"()\";\n\n this.fontName = \"zapfdingbats\";\n // Top Index\n var _TI = 0;\n\n Object.defineProperty(this, \"TI\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n /**\n * (Optional) For scrollable list boxes, the top index (the index in the Opt array of the first option visible in the list). Default value: 0.\n *\n * @name AcroFormChoiceField#topIndex\n * @default 0\n * @type {number}\n */\n Object.defineProperty(this, \"topIndex\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n var _Opt = [];\n Object.defineProperty(this, \"Opt\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return arrayToPdfArray(_Opt, this.objId, this.scope);\n },\n set: function(value) {\n _Opt = pdfArrayToStringArray(value);\n }\n });\n\n /**\n * @memberof AcroFormChoiceField\n * @name getOptions\n * @function\n * @instance\n * @returns {array} array of Options\n */\n this.getOptions = function() {\n return _Opt;\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name setOptions\n * @function\n * @instance\n * @param {array} value\n */\n this.setOptions = function(value) {\n _Opt = value;\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name addOption\n * @function\n * @instance\n * @param {string} value\n */\n this.addOption = function(value) {\n value = value || \"\";\n value = value.toString();\n _Opt.push(value);\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name removeOption\n * @function\n * @instance\n * @param {string} value\n * @param {boolean} allEntries (default: false)\n */\n this.removeOption = function(value, allEntries) {\n allEntries = allEntries || false;\n value = value || \"\";\n value = value.toString();\n\n while (_Opt.indexOf(value) !== -1) {\n _Opt.splice(_Opt.indexOf(value), 1);\n if (allEntries === false) {\n break;\n }\n }\n };\n\n /**\n * If set, the field is a combo box; if clear, the field is a list box.\n *\n * @name AcroFormChoiceField#combo\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"combo\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 18));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 18);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 18);\n }\n }\n });\n\n /**\n * If set, the combo box shall include an editable text box as well as a drop-down list; if clear, it shall include only a drop-down list. This flag shall be used only if the Combo flag is set.\n *\n * @name AcroFormChoiceField#edit\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"edit\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 19));\n },\n set: function(value) {\n //PDF 32000-1:2008, page 444\n if (this.combo === true) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 19);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 19);\n }\n }\n }\n });\n\n /**\n * If set, the field’s option items shall be sorted alphabetically. This flag is intended for use by writers, not by readers. Conforming readers shall display the options in the order in which they occur in the Opt array (see Table 231).\n *\n * @name AcroFormChoiceField#sort\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"sort\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 20));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 20);\n _Opt.sort();\n } else {\n this.Ff = clearBitForPdf(this.Ff, 20);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, more than one of the field’s option items may be selected simultaneously; if clear, at most one item shall be selected\n *\n * @name AcroFormChoiceField#multiSelect\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 22));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 22);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 22);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spellchecked. This flag shall not be used unless the Combo and Edit flags are both set.\n *\n * @name AcroFormChoiceField#doNotSpellCheck\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the new value shall be committed as soon as a selection is made (commonly with the pointing device). In this case, supplying a value for a field involves three actions: selecting the field for fill-in, selecting a choice for the fill-in value, and leaving that field, which finalizes or “commits” the data choice and triggers any actions associated with the entry or changing of this data. If this flag is on, then processing does not wait for leaving the field action to occur, but immediately proceeds to the third step.\n * This option enables applications to perform an action once a selection is made, without requiring the user to exit the field. If clear, the new value is not committed until the user exits the field.\n *\n * @name AcroFormChoiceField#commitOnSelChange\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"commitOnSelChange\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 27));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 27);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 27);\n }\n }\n });\n\n this.hasAppearanceStream = false;\n};\ninherit(AcroFormChoiceField, AcroFormField);\n\n/**\n * @class AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormListBox = function() {\n AcroFormChoiceField.call(this);\n this.fontName = \"helvetica\";\n\n //PDF 32000-1:2008, page 444\n this.combo = false;\n};\ninherit(AcroFormListBox, AcroFormChoiceField);\n\n/**\n * @class AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormComboBox = function() {\n AcroFormListBox.call(this);\n this.combo = true;\n};\ninherit(AcroFormComboBox, AcroFormListBox);\n\n/**\n * @class AcroFormEditBox\n * @extends AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormEditBox = function() {\n AcroFormComboBox.call(this);\n this.edit = true;\n};\ninherit(AcroFormEditBox, AcroFormComboBox);\n\n/**\n * @class AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormButton = function() {\n AcroFormField.call(this);\n this.FT = \"/Btn\";\n\n /**\n * (Radio buttons only) If set, exactly one radio button shall be selected at all times; selecting the currently selected button has no effect. If clear, clicking the selected button deselects it, leaving no button selected.\n *\n * @name AcroFormButton#noToggleToOff\n * @type {boolean}\n */\n Object.defineProperty(this, \"noToggleToOff\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 15));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 15);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 15);\n }\n }\n });\n\n /**\n * If set, the field is a set of radio buttons; if clear, the field is a checkbox. This flag may be set only if the Pushbutton flag is clear.\n *\n * @name AcroFormButton#radio\n * @type {boolean}\n */\n Object.defineProperty(this, \"radio\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 16));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 16);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 16);\n }\n }\n });\n\n /**\n * If set, the field is a pushbutton that does not retain a permanent value.\n *\n * @name AcroFormButton#pushButton\n * @type {boolean}\n */\n Object.defineProperty(this, \"pushButton\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 17));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 17);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 17);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, a group of radio buttons within a radio button field that use the same value for the on state will turn on and off in unison; that is if one is checked, they are all checked. If clear, the buttons are mutually exclusive (the same behavior as HTML radio buttons).\n *\n * @name AcroFormButton#radioIsUnison\n * @type {boolean}\n */\n Object.defineProperty(this, \"radioIsUnison\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n if (Object.keys(_MK).length !== 0) {\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n }\n return undefined;\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n};\ninherit(AcroFormButton, AcroFormField);\n\n/**\n * @class AcroFormPushButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormPushButton = function() {\n AcroFormButton.call(this);\n this.pushButton = true;\n};\ninherit(AcroFormPushButton, AcroFormButton);\n\n/**\n * @class AcroFormRadioButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormRadioButton = function() {\n AcroFormButton.call(this);\n this.radio = true;\n this.pushButton = false;\n\n var _Kids = [];\n Object.defineProperty(this, \"Kids\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _Kids;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Kids = value;\n } else {\n _Kids = [];\n }\n }\n });\n};\ninherit(AcroFormRadioButton, AcroFormButton);\n\n/**\n * The Child class of a RadioButton (the radioGroup) -> The single Buttons\n *\n * @class AcroFormChildClass\n * @extends AcroFormField\n * @ignore\n */\nvar AcroFormChildClass = function() {\n AcroFormField.call(this);\n\n var _parent;\n Object.defineProperty(this, \"Parent\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _parent;\n },\n set: function(value) {\n _parent = value;\n }\n });\n\n var _optionName;\n Object.defineProperty(this, \"optionName\", {\n enumerable: false,\n configurable: true,\n get: function() {\n return _optionName;\n },\n set: function(value) {\n _optionName = value;\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n this.caption = \"l\";\n this.appearanceState = \"Off\";\n // todo: set AppearanceType as variable that can be set from the\n // outside...\n this._AppearanceType = AcroFormAppearance.RadioButton.Circle;\n // The Default appearanceType is the Circle\n this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(\n this.optionName\n );\n};\ninherit(AcroFormChildClass, AcroFormField);\n\nAcroFormRadioButton.prototype.setAppearance = function(appearance) {\n if (!(\"createAppearanceStream\" in appearance && \"getCA\" in appearance)) {\n throw new Error(\n \"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\"\n );\n }\n for (var objId in this.Kids) {\n if (this.Kids.hasOwnProperty(objId)) {\n var child = this.Kids[objId];\n child.appearanceStreamContent = appearance.createAppearanceStream(\n child.optionName\n );\n child.caption = appearance.getCA();\n }\n }\n};\n\nAcroFormRadioButton.prototype.createOption = function(name) {\n // Create new Child for RadioGroup\n var child = new AcroFormChildClass();\n child.Parent = this;\n child.optionName = name;\n // Add to Parent\n this.Kids.push(child);\n\n addField.call(this.scope, child);\n\n return child;\n};\n\n/**\n * @class AcroFormCheckBox\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormCheckBox = function() {\n AcroFormButton.call(this);\n\n this.fontName = \"zapfdingbats\";\n this.caption = \"3\";\n this.appearanceState = \"On\";\n this.value = \"On\";\n this.textAlign = \"center\";\n this.appearanceStreamContent = AcroFormAppearance.CheckBox.createAppearanceStream();\n};\ninherit(AcroFormCheckBox, AcroFormButton);\n\n/**\n * @class AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormTextField = function() {\n AcroFormField.call(this);\n this.FT = \"/Tx\";\n\n /**\n * If set, the field may contain multiple lines of text; if clear, the field’s text shall be restricted to a single line.\n *\n * @name AcroFormTextField#multiline\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiline\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 13));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 13);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 13);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the text entered in the field represents the pathname of a file whose contents shall be submitted as the value of the field.\n *\n * @name AcroFormTextField#fileSelect\n * @type {boolean}\n */\n Object.defineProperty(this, \"fileSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 21));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 21);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 21);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spell-checked.\n *\n * @name AcroFormTextField#doNotSpellCheck\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the field shall not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than fits within its annotation rectangle. Once the field is full, no further text shall be accepted for interactive form filling; for noninteractive form filling, the filler should take care not to add more character than will visibly fit in the defined area.\n *\n * @name AcroFormTextField#doNotScroll\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotScroll\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 24));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 24);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 24);\n }\n }\n });\n\n /**\n * (PDF 1.5) May be set only if the MaxLen entry is present in the text field dictionary (see Table 229) and if the Multiline, Password, and FileSelect flags are clear. If set, the field shall be automatically divided into as many equally spaced positions, or combs, as the value of MaxLen, and the text is laid out into those combs.\n *\n * @name AcroFormTextField#comb\n * @type {boolean}\n */\n Object.defineProperty(this, \"comb\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 25));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 25);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 25);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the value of this field shall be a rich text string (see 12.7.3.4, “Rich Text Strings”). If the field has a value, the RV entry of the field dictionary (Table 222) shall specify the rich text string.\n *\n * @name AcroFormTextField#richText\n * @type {boolean}\n */\n Object.defineProperty(this, \"richText\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MaxLen = null;\n Object.defineProperty(this, \"MaxLen\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n _MaxLen = value;\n }\n });\n\n /**\n * (Optional; inheritable) The maximum length of the field’s text, in characters.\n *\n * @name AcroFormTextField#maxLength\n * @type {number}\n */\n Object.defineProperty(this, \"maxLength\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n if (Number.isInteger(value)) {\n _MaxLen = value;\n }\n }\n });\n\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.V || this.DV;\n }\n });\n};\ninherit(AcroFormTextField, AcroFormField);\n\n/**\n * @class AcroFormPasswordField\n * @extends AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormPasswordField = function() {\n AcroFormTextField.call(this);\n\n /**\n * If set, the field is intended for entering a secure password that should not be echoed visibly to the screen. Characters typed from the keyboard shall instead be echoed in some unreadable form, such as asterisks or bullet characters.\n * NOTE To protect password confidentiality, readers should never store the value of the text field in the PDF file if this flag is set.\n *\n * @name AcroFormTextField#password\n * @type {boolean}\n */\n Object.defineProperty(this, \"password\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 14));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 14);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 14);\n }\n }\n });\n this.password = true;\n};\ninherit(AcroFormPasswordField, AcroFormTextField);\n\n// Contains Methods for creating standard appearances\nvar AcroFormAppearance = {\n CheckBox: {\n createAppearanceStream: function() {\n var appearance = {\n N: {\n On: AcroFormAppearance.CheckBox.YesNormal\n },\n D: {\n On: AcroFormAppearance.CheckBox.YesPushDown,\n Off: AcroFormAppearance.CheckBox.OffPushDown\n }\n };\n\n return appearance;\n },\n /**\n * Returns the standard On Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"BMC\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(\"BT\");\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n stream.push(\"EMC\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var stream = [];\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"1 g\");\n stream.push(\"0 0 \" + f2(width) + \" \" + f2(height) + \" re\");\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\"0 0 \" + f2(width - 1) + \" \" + f2(height - 1) + \" re\");\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(\"0 g\");\n stream.push(\"BT\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n /**\n * Returns the standard Off Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n RadioButton: {\n Circle: {\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Circle.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Circle.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Circle.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"l\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n // Make the Radius of the Circle relative to min(height, width) of formObject\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n var c = AcroFormAppearance.internal.Bezier_C;\n var DotRadiusBezier = Number((DotRadius * c).toFixed(5));\n /*\n * The Following is a Circle created with Bezier-Curves.\n */\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n var dc = Number(\n (DotRadius * AcroFormAppearance.internal.Bezier_C).toFixed(5)\n );\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n stream.push(\"0 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n \"\" +\n DotRadius +\n \" \" +\n dc +\n \" \" +\n dc +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n dc +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n dc +\n \" -\" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n dc +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n dc +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n Cross: {\n /**\n * Creates the Actual AppearanceDictionary-References\n *\n * @param {string} name\n * @returns {Object}\n * @ignore\n */\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Cross.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Cross.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Cross.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"8\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n }\n },\n\n /**\n * Returns the standard Appearance\n *\n * @returns {AcroFormXObject}\n */\n createDefaultAppearanceStream: function(formObject) {\n // Set Helvetica to Standard Font (size: auto)\n // Color: Black\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var fontSize = formObject.fontSize;\n var result = \"/\" + fontKey + \" \" + fontSize + \" Tf \" + encodedColor;\n return result;\n }\n};\n\nAcroFormAppearance.internal = {\n Bezier_C: 0.551915024494,\n\n calculateCross: function(formObject) {\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var a = Math.min(width, height);\n\n var cross = {\n x1: {\n // upperLeft\n x: (width - a) / 2,\n y: (height - a) / 2 + a // height - borderPadding\n },\n x2: {\n // lowerRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 // borderPadding\n },\n x3: {\n // lowerLeft\n x: (width - a) / 2,\n y: (height - a) / 2 // borderPadding\n },\n x4: {\n // upperRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 + a // height - borderPadding\n }\n };\n\n return cross;\n }\n};\nAcroFormAppearance.internal.getWidth = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[2]);\n }\n return result;\n};\nAcroFormAppearance.internal.getHeight = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[3]);\n }\n return result;\n};\n\n// Public:\n\n/**\n * Add an AcroForm-Field to the jsPDF-instance\n *\n * @name addField\n * @function\n * @instance\n * @param {Object} fieldObject\n * @returns {jsPDF}\n */\nvar addField = (jsPDFAPI.addField = function(fieldObject) {\n initializeAcroForm(this, fieldObject);\n\n if (fieldObject instanceof AcroFormField) {\n putForm(fieldObject);\n } else {\n throw new Error(\"Invalid argument passed to jsPDF.addField.\");\n }\n fieldObject.page = fieldObject.scope.internal.getCurrentPageInfo().pageNumber;\n return this;\n});\n\njsPDFAPI.AcroFormChoiceField = AcroFormChoiceField;\njsPDFAPI.AcroFormListBox = AcroFormListBox;\njsPDFAPI.AcroFormComboBox = AcroFormComboBox;\njsPDFAPI.AcroFormEditBox = AcroFormEditBox;\njsPDFAPI.AcroFormButton = AcroFormButton;\njsPDFAPI.AcroFormPushButton = AcroFormPushButton;\njsPDFAPI.AcroFormRadioButton = AcroFormRadioButton;\njsPDFAPI.AcroFormCheckBox = AcroFormCheckBox;\njsPDFAPI.AcroFormTextField = AcroFormTextField;\njsPDFAPI.AcroFormPasswordField = AcroFormPasswordField;\njsPDFAPI.AcroFormAppearance = AcroFormAppearance;\n\njsPDFAPI.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\njsPDF.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\nvar AcroForm = jsPDF.AcroForm;\n\nexport {\n AcroForm,\n AcroFormChoiceField,\n AcroFormListBox,\n AcroFormComboBox,\n AcroFormEditBox,\n AcroFormButton,\n AcroFormPushButton,\n AcroFormRadioButton,\n AcroFormCheckBox,\n AcroFormTextField,\n AcroFormPasswordField,\n AcroFormAppearance\n};\n","function toLookup(arr) {\n return arr.reduce(function(lookup, name, index) {\n lookup[name] = index;\n\n return lookup;\n }, {});\n}\n\nvar fontStyleOrder = {\n italic: [\"italic\", \"oblique\", \"normal\"],\n oblique: [\"oblique\", \"italic\", \"normal\"],\n normal: [\"normal\", \"oblique\", \"italic\"]\n};\n\nvar fontStretchOrder = [\n \"ultra-condensed\",\n \"extra-condensed\",\n \"condensed\",\n \"semi-condensed\",\n \"normal\",\n \"semi-expanded\",\n \"expanded\",\n \"extra-expanded\",\n \"ultra-expanded\"\n];\n\n// For a given font-stretch value, we need to know where to start our search\n// from in the fontStretchOrder list.\nvar fontStretchLookup = toLookup(fontStretchOrder);\n\nvar fontWeights = [100, 200, 300, 400, 500, 600, 700, 800, 900];\nvar fontWeightsLookup = toLookup(fontWeights);\n\nfunction normalizeFontStretch(stretch) {\n stretch = stretch || \"normal\";\n\n return typeof fontStretchLookup[stretch] === \"number\" ? stretch : \"normal\";\n}\n\nfunction normalizeFontStyle(style) {\n style = style || \"normal\";\n\n return fontStyleOrder[style] ? style : \"normal\";\n}\n\nfunction normalizeFontWeight(weight) {\n if (!weight) {\n return 400;\n }\n\n if (typeof weight === \"number\") {\n // Ignore values which aren't valid font-weights.\n return weight >= 100 && weight <= 900 && weight % 100 === 0 ? weight : 400;\n }\n\n if (/^\\d00$/.test(weight)) {\n return parseInt(weight);\n }\n\n switch (weight) {\n case \"bold\":\n return 700;\n\n case \"normal\":\n default:\n return 400;\n }\n}\n\nexport function normalizeFontFace(fontFace) {\n var family = fontFace.family.replace(/\"|'/g, \"\").toLowerCase();\n\n var style = normalizeFontStyle(fontFace.style);\n var weight = normalizeFontWeight(fontFace.weight);\n var stretch = normalizeFontStretch(fontFace.stretch);\n\n return {\n family: family,\n style: style,\n weight: weight,\n stretch: stretch,\n src: fontFace.src || [],\n\n // The ref property maps this font-face to the font\n // added by the .addFont() method.\n ref: fontFace.ref || {\n name: family,\n style: [stretch, style, weight].join(\" \")\n }\n };\n}\n\n/**\n * Turns a list of font-faces into a map, for easier lookup when resolving\n * fonts.\n * @private\n */\nexport function buildFontFaceMap(fontFaces) {\n var map = {};\n\n for (var i = 0; i < fontFaces.length; ++i) {\n var normalized = normalizeFontFace(fontFaces[i]);\n\n var name = normalized.family;\n var stretch = normalized.stretch;\n var style = normalized.style;\n var weight = normalized.weight;\n\n map[name] = map[name] || {};\n\n map[name][stretch] = map[name][stretch] || {};\n map[name][stretch][style] = map[name][stretch][style] || {};\n map[name][stretch][style][weight] = normalized;\n }\n\n return map;\n}\n\n/**\n * Searches a map of stretches, weights, etc. in the given direction and\n * then, if no match has been found, in the opposite directions.\n *\n * @param {Object.} matchingSet A map of the various font variations.\n * @param {any[]} order The order of the different variations\n * @param {number} pivot The starting point of the search in the order list.\n * @param {number} dir The initial direction of the search (desc = -1, asc = 1)\n * @private\n */\n\nfunction searchFromPivot(matchingSet, order, pivot, dir) {\n var i;\n\n for (i = pivot; i >= 0 && i < order.length; i += dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n\n for (i = pivot; i >= 0 && i < order.length; i -= dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n}\n\nfunction resolveFontStretch(stretch, matchingSet) {\n if (matchingSet[stretch]) {\n return matchingSet[stretch];\n }\n\n var pivot = fontStretchLookup[stretch];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = pivot <= fontStretchLookup[\"normal\"] ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontStretchOrder, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-stretch value for \" + stretch\n );\n }\n\n return match;\n}\n\nfunction resolveFontStyle(fontStyle, matchingSet) {\n if (matchingSet[fontStyle]) {\n return matchingSet[fontStyle];\n }\n\n var ordering = fontStyleOrder[fontStyle];\n\n for (var i = 0; i < ordering.length; ++i) {\n if (matchingSet[ordering[i]]) {\n return matchingSet[ordering[i]];\n }\n }\n\n // Since a font-family cannot exist without having at least one style value\n // we should never reach this point.\n throw new Error(\"Could not find a matching font-style for \" + fontStyle);\n}\n\nfunction resolveFontWeight(weight, matchingSet) {\n if (matchingSet[weight]) {\n return matchingSet[weight];\n }\n\n if (weight === 400 && matchingSet[500]) {\n return matchingSet[500];\n }\n\n if (weight === 500 && matchingSet[400]) {\n return matchingSet[400];\n }\n\n var pivot = fontWeightsLookup[weight];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = weight < 400 ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontWeights, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-weight for value \" + weight\n );\n }\n\n return match;\n}\n\nvar defaultGenericFontFamilies = {\n \"sans-serif\": \"helvetica\",\n fixed: \"courier\",\n monospace: \"courier\",\n terminal: \"courier\",\n cursive: \"times\",\n fantasy: \"times\",\n serif: \"times\"\n};\n\nvar systemFonts = {\n caption: \"times\",\n icon: \"times\",\n menu: \"times\",\n \"message-box\": \"times\",\n \"small-caption\": \"times\",\n \"status-bar\": \"times\"\n};\n\nfunction ruleToString(rule) {\n return [rule.stretch, rule.style, rule.weight, rule.family].join(\" \");\n}\n\nexport function resolveFontFace(fontFaceMap, rules, opts) {\n opts = opts || {};\n\n var defaultFontFamily = opts.defaultFontFamily || \"times\";\n var genericFontFamilies = Object.assign(\n {},\n defaultGenericFontFamilies,\n opts.genericFontFamilies || {}\n );\n\n var rule = null;\n var matches = null;\n\n for (var i = 0; i < rules.length; ++i) {\n rule = normalizeFontFace(rules[i]);\n\n if (genericFontFamilies[rule.family]) {\n rule.family = genericFontFamilies[rule.family];\n }\n\n if (fontFaceMap.hasOwnProperty(rule.family)) {\n matches = fontFaceMap[rule.family];\n\n break;\n }\n }\n\n // Always fallback to a known font family.\n matches = matches || fontFaceMap[defaultFontFamily];\n\n if (!matches) {\n // At this point we should definitiely have a font family, but if we\n // don't there is something wrong with our configuration\n throw new Error(\n \"Could not find a font-family for the rule '\" +\n ruleToString(rule) +\n \"' and default family '\" +\n defaultFontFamily +\n \"'.\"\n );\n }\n\n matches = resolveFontStretch(rule.stretch, matches);\n matches = resolveFontStyle(rule.style, matches);\n matches = resolveFontWeight(rule.weight, matches);\n\n if (!matches) {\n // We should've fount\n throw new Error(\n \"Failed to resolve a font for the rule '\" + ruleToString(rule) + \"'.\"\n );\n }\n\n return matches;\n}\n\n/**\n * Builds a style id for use with the addFont() method.\n * @param {FontFace} font\n * @private\n */\nexport function toStyleName(font) {\n return [font.weight, font.style, font.stretch].join(\" \");\n}\n\nfunction eatWhiteSpace(input) {\n return input.trimLeft();\n}\n\nfunction parseQuotedFontFamily(input, quote) {\n var index = 0;\n\n while (index < input.length) {\n var current = input.charAt(index);\n\n if (current === quote) {\n return [input.substring(0, index), input.substring(index + 1)];\n }\n\n index += 1;\n }\n\n // Unexpected end of input\n return null;\n}\n\nfunction parseNonQuotedFontFamily(input) {\n // It implements part of the identifier parser here: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n //\n // NOTE: This parser pretty much ignores escaped identifiers and that there is a thing called unicode.\n //\n // Breakdown of regexp:\n // -[a-z_] - when identifier starts with a hyphen, you're not allowed to have another hyphen or a digit\n // [a-z_] - allow a-z and underscore at beginning of input\n // [a-z0-9_-]* - after that, anything goes\n var match = input.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);\n\n // non quoted value contains illegal characters\n if (match === null) {\n return null;\n }\n\n return [match[0], input.substring(match[0].length)];\n}\n\nvar defaultFont = [\"times\"];\n\nexport function parseFontFamily(input) {\n var result = [];\n var ch, parsed;\n var remaining = input.trim();\n\n if (remaining === \"\") {\n return defaultFont;\n }\n\n if (remaining in systemFonts) {\n return [systemFonts[remaining]];\n }\n\n while (remaining !== \"\") {\n parsed = null;\n remaining = eatWhiteSpace(remaining);\n ch = remaining.charAt(0);\n\n switch (ch) {\n case '\"':\n case \"'\":\n parsed = parseQuotedFontFamily(remaining.substring(1), ch);\n break;\n\n default:\n parsed = parseNonQuotedFontFamily(remaining);\n break;\n }\n\n if (parsed === null) {\n return defaultFont;\n }\n\n result.push(parsed[0]);\n\n remaining = eatWhiteSpace(parsed[1]);\n\n // We expect end of input or a comma separator here\n if (remaining !== \"\" && remaining.charAt(0) !== \",\") {\n return defaultFont;\n }\n\n remaining = remaining.replace(/^,/, \"\");\n }\n\n return result;\n}\n","/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/**\n * @name addImage\n * @module\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namespace = \"addImage_\";\n jsPDFAPI.__addimage__ = {};\n\n var UNKNOWN = \"UNKNOWN\";\n\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\n // With too small batch iteration will be slow as more calls are made,\n // higher values cause larger and slower garbage collection.\n var ARRAY_APPLY_BATCH = 8192;\n\n var imageFileTypeHeaders = {\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\n TIFF: [\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\n [0x49, 0x49, 0x2a, 0x00] //Intel\n ],\n JPEG: [\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe0,\n undefined,\n undefined,\n 0x4a,\n 0x46,\n 0x49,\n 0x46,\n 0x00\n ], //JFIF\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe1,\n undefined,\n undefined,\n 0x45,\n 0x78,\n 0x69,\n 0x66,\n 0x00,\n 0x00\n ], //Exif\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\n ],\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\n WEBP: [\n [\n 0x52,\n 0x49,\n 0x46,\n 0x46,\n undefined,\n undefined,\n undefined,\n undefined,\n 0x57,\n 0x45,\n 0x42,\n 0x50\n ]\n ],\n BMP: [\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\n [0x42, 0x41], //BA - OS/2 struct bitmap array\n [0x43, 0x49], //CI - OS/2 struct color icon\n [0x43, 0x50], //CP - OS/2 const color pointer\n [0x49, 0x43], //IC - OS/2 struct icon\n [0x50, 0x54] //PT - OS/2 pointer\n ]\n };\n\n /**\n * Recognize filetype of Image by magic-bytes\n *\n * https://en.wikipedia.org/wiki/List_of_file_signatures\n *\n * @name getImageFileTypeByImageData\n * @public\n * @function\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\n *\n * @returns {string} filetype of Image\n */\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\n imageData,\n fallbackFormat\n ) {\n fallbackFormat = fallbackFormat || UNKNOWN;\n var i;\n var j;\n var result = UNKNOWN;\n var headerSchemata;\n var compareResult;\n var fileType;\n\n if (\n fallbackFormat === \"RGBA\" ||\n (imageData.data !== undefined &&\n imageData.data instanceof Uint8ClampedArray &&\n \"height\" in imageData &&\n \"width\" in imageData)\n ) {\n return \"RGBA\";\n }\n\n if (isArrayBufferView(imageData)) {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData[j]) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n } else {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n }\n\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\n result = fallbackFormat;\n }\n return result;\n });\n\n // Image functionality ported from pdf.js\n var putImage = function(image) {\n var out = this.internal.write;\n var putStream = this.internal.putStream;\n var getFilters = this.internal.getFilters;\n\n var filter = getFilters();\n while (filter.indexOf(\"FlateEncode\") !== -1) {\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\n }\n\n image.objectId = this.internal.newObject();\n\n var additionalKeyValues = [];\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\n additionalKeyValues.push({ key: \"Width\", value: image.width });\n additionalKeyValues.push({ key: \"Height\", value: image.height });\n\n if (image.colorSpace === color_spaces.INDEXED) {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value:\n \"[/Indexed /DeviceRGB \" +\n // if an indexed png defines more than one colour with transparency, we've created a sMask\n (image.palette.length / 3 - 1) +\n \" \" +\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\n ? image.objectId + 2\n : image.objectId + 1) +\n \" 0 R]\"\n });\n } else {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value: \"/\" + image.colorSpace\n });\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\n }\n }\n additionalKeyValues.push({\n key: \"BitsPerComponent\",\n value: image.bitsPerComponent\n });\n if (\n \"decodeParameters\" in image &&\n typeof image.decodeParameters !== \"undefined\"\n ) {\n additionalKeyValues.push({\n key: \"DecodeParms\",\n value: \"<<\" + image.decodeParameters + \">>\"\n });\n }\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\n var transparency = \"\",\n i = 0,\n len = image.transparency.length;\n for (; i < len; i++)\n transparency +=\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\n\n additionalKeyValues.push({\n key: \"Mask\",\n value: \"[\" + transparency + \"]\"\n });\n }\n if (typeof image.sMask !== \"undefined\") {\n additionalKeyValues.push({\n key: \"SMask\",\n value: image.objectId + 1 + \" 0 R\"\n });\n }\n\n var alreadyAppliedFilters =\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\n\n putStream({\n data: image.data,\n additionalKeyValues: additionalKeyValues,\n alreadyAppliedFilters: alreadyAppliedFilters,\n objectId: image.objectId\n });\n\n out(\"endobj\");\n\n // Soft mask\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\n var decodeParameters =\n \"/Predictor \" +\n image.predictor +\n \" /Colors 1 /BitsPerComponent \" +\n image.bitsPerComponent +\n \" /Columns \" +\n image.width;\n var sMask = {\n width: image.width,\n height: image.height,\n colorSpace: \"DeviceGray\",\n bitsPerComponent: image.bitsPerComponent,\n decodeParameters: decodeParameters,\n data: image.sMask\n };\n if (\"filter\" in image) {\n sMask.filter = image.filter;\n }\n putImage.call(this, sMask);\n }\n\n //Palette\n if (image.colorSpace === color_spaces.INDEXED) {\n var objId = this.internal.newObject();\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\n //putStream(zlib.compress(img['pal']));\n putStream({\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\n objectId: objId\n });\n out(\"endobj\");\n }\n };\n var putResourcesCallback = function() {\n var images = this.internal.collections[namespace + \"images\"];\n for (var i in images) {\n putImage.call(this, images[i]);\n }\n };\n var putXObjectsDictCallback = function() {\n var images = this.internal.collections[namespace + \"images\"],\n out = this.internal.write,\n image;\n for (var i in images) {\n image = images[i];\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\n }\n };\n\n var checkCompressValue = function(value) {\n if (value && typeof value === \"string\") value = value.toUpperCase();\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\n };\n\n var initialize = function() {\n if (!this.internal.collections[namespace + \"images\"]) {\n this.internal.collections[namespace + \"images\"] = {};\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\n }\n };\n\n var getImages = function() {\n var images = this.internal.collections[namespace + \"images\"];\n initialize.call(this);\n return images;\n };\n var getImageIndex = function() {\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\n };\n var notDefined = function(value) {\n return typeof value === \"undefined\" || value === null || value.length === 0;\n };\n var generateAliasFromImageData = function(imageData) {\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\n return sHashCode(imageData);\n } else if (isArrayBufferView(imageData.data)) {\n return sHashCode(imageData.data);\n }\n\n return null;\n };\n\n var isImageTypeSupported = function(type) {\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\n };\n\n var isDOMElement = function(object) {\n return typeof object === \"object\" && object.nodeType === 1;\n };\n\n var getImageDataFromElement = function(element, format) {\n //if element is an image which uses data url definition, just return the dataurl\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\n var src = \"\" + element.getAttribute(\"src\");\n\n //is base64 encoded dataUrl, directly process it\n if (src.indexOf(\"data:image/\") === 0) {\n return atob(\n unescape(src)\n .split(\"base64,\")\n .pop()\n );\n }\n\n //it is probably an url, try to load it\n var tmpImageData = jsPDFAPI.loadFile(src, true);\n if (tmpImageData !== undefined) {\n return tmpImageData;\n }\n }\n\n if (element.nodeName === \"CANVAS\") {\n if (element.width === 0 || element.height === 0) {\n throw new Error(\n \"Given canvas must have data. Canvas width: \" +\n element.width +\n \", height: \" +\n element.height\n );\n }\n var mimeType;\n switch (format) {\n case \"PNG\":\n mimeType = \"image/png\";\n break;\n case \"WEBP\":\n mimeType = \"image/webp\";\n break;\n case \"JPEG\":\n case \"JPG\":\n default:\n mimeType = \"image/jpeg\";\n break;\n }\n return atob(\n element\n .toDataURL(mimeType, 1.0)\n .split(\"base64,\")\n .pop()\n );\n }\n };\n\n var checkImagesForAlias = function(alias) {\n var images = this.internal.collections[namespace + \"images\"];\n if (images) {\n for (var e in images) {\n if (alias === images[e].alias) {\n return images[e];\n }\n }\n }\n };\n\n var determineWidthAndHeight = function(width, height, image) {\n if (!width && !height) {\n width = -96;\n height = -96;\n }\n if (width < 0) {\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\n }\n if (height < 0) {\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\n }\n if (width === 0) {\n width = (height * image.width) / image.height;\n }\n if (height === 0) {\n height = (width * image.height) / image.width;\n }\n\n return [width, height];\n };\n\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\n var dims = determineWidthAndHeight.call(this, width, height, image),\n coord = this.internal.getCoordinateString,\n vcoord = this.internal.getVerticalCoordinateString;\n\n var images = getImages.call(this);\n\n width = dims[0];\n height = dims[1];\n images[image.index] = image;\n\n if (rotation) {\n rotation *= Math.PI / 180;\n var c = Math.cos(rotation);\n var s = Math.sin(rotation);\n //like in pdf Reference do it 4 digits instead of 2\n var f4 = function(number) {\n return number.toFixed(4);\n };\n var rotationTransformationMatrix = [\n f4(c),\n f4(s),\n f4(s * -1),\n f4(c),\n 0,\n 0,\n \"cm\"\n ];\n }\n this.internal.write(\"q\"); //Save graphics state\n if (rotation) {\n this.internal.write(\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\n ); //Translate\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\n this.internal.write(\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\n ); //Scale\n } else {\n this.internal.write(\n [\n coord(width),\n \"0\",\n \"0\",\n coord(height),\n coord(x),\n vcoord(y + height),\n \"cm\"\n ].join(\" \")\n ); //Translate and Scale\n }\n\n if (this.isAdvancedAPI()) {\n // draw image bottom up when in \"advanced\" API mode\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\n }\n\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\n this.internal.write(\"Q\"); //Restore graphics state\n };\n\n /**\n * COLOR SPACES\n */\n var color_spaces = (jsPDFAPI.color_spaces = {\n DEVICE_RGB: \"DeviceRGB\",\n DEVICE_GRAY: \"DeviceGray\",\n DEVICE_CMYK: \"DeviceCMYK\",\n CAL_GREY: \"CalGray\",\n CAL_RGB: \"CalRGB\",\n LAB: \"Lab\",\n ICC_BASED: \"ICCBased\",\n INDEXED: \"Indexed\",\n PATTERN: \"Pattern\",\n SEPARATION: \"Separation\",\n DEVICE_N: \"DeviceN\"\n });\n\n /**\n * DECODE METHODS\n */\n jsPDFAPI.decode = {\n DCT_DECODE: \"DCTDecode\",\n FLATE_DECODE: \"FlateDecode\",\n LZW_DECODE: \"LZWDecode\",\n JPX_DECODE: \"JPXDecode\",\n JBIG2_DECODE: \"JBIG2Decode\",\n ASCII85_DECODE: \"ASCII85Decode\",\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\n };\n\n /**\n * IMAGE COMPRESSION TYPES\n */\n var image_compression = (jsPDFAPI.image_compression = {\n NONE: \"NONE\",\n FAST: \"FAST\",\n MEDIUM: \"MEDIUM\",\n SLOW: \"SLOW\"\n });\n\n /**\n * @name sHashCode\n * @function\n * @param {string} data\n * @returns {string}\n */\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\n var hash = 0,\n i,\n len;\n\n if (typeof data === \"string\") {\n len = data.length;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n } else if (isArrayBufferView(data)) {\n len = data.byteLength / 2;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data[i];\n hash |= 0; // Convert to 32bit integer\n }\n }\n return hash;\n });\n\n /**\n * Validates if given String is a valid Base64-String\n *\n * @name validateStringAsBase64\n * @public\n * @function\n * @param {String} possible Base64-String\n *\n * @returns {boolean}\n */\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\n possibleBase64String\n ) {\n possibleBase64String = possibleBase64String || \"\";\n possibleBase64String.toString().trim();\n\n var result = true;\n\n if (possibleBase64String.length === 0) {\n result = false;\n }\n\n if (possibleBase64String.length % 4 !== 0) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9+/]+$/.test(\n possibleBase64String.substr(0, possibleBase64String.length - 2)\n ) === false\n ) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\n possibleBase64String.substr(-2)\n ) === false\n ) {\n result = false;\n }\n return result;\n });\n\n /**\n * Strips out and returns info from a valid base64 data URI\n *\n * @name extractImageFromDataUrl\n * @function\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\n * @returns {Array}an Array containing the following\n * [0] the complete data URI\n * [1] \n * [2] format - the second part of the mime-type i.e 'png' in 'image/png'\n * [4] \n */\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\n dataUrl\n ) {\n dataUrl = dataUrl || \"\";\n var dataUrlParts = dataUrl.split(\"base64,\");\n var result = null;\n\n if (dataUrlParts.length === 2) {\n var extractedInfo = /^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(\n dataUrlParts[0]\n );\n if (Array.isArray(extractedInfo)) {\n result = {\n mimeType: extractedInfo[1],\n charset: extractedInfo[2],\n data: dataUrlParts[1]\n };\n }\n }\n return result;\n });\n\n /**\n * Check to see if ArrayBuffer is supported\n *\n * @name supportsArrayBuffer\n * @function\n * @returns {boolean}\n */\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\n return (\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\n );\n });\n\n /**\n * Tests supplied object to determine if ArrayBuffer\n *\n * @name isArrayBuffer\n * @function\n * @param {Object} object an Object\n *\n * @returns {boolean}\n */\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\n };\n\n /**\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\n *\n * @name isArrayBufferView\n * @function\n * @param {Object} object an Object\n * @returns {boolean}\n */\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\n object\n ) {\n return (\n supportsArrayBuffer() &&\n typeof Uint32Array !== \"undefined\" &&\n (object instanceof Int8Array ||\n object instanceof Uint8Array ||\n (typeof Uint8ClampedArray !== \"undefined\" &&\n object instanceof Uint8ClampedArray) ||\n object instanceof Int16Array ||\n object instanceof Uint16Array ||\n object instanceof Int32Array ||\n object instanceof Uint32Array ||\n object instanceof Float32Array ||\n object instanceof Float64Array)\n );\n });\n\n /**\n * Convert Binary String to ArrayBuffer\n *\n * @name binaryStringToUint8Array\n * @public\n * @function\n * @param {string} BinaryString with ImageData\n * @returns {Uint8Array}\n */\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\n binary_string\n ) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n });\n\n /**\n * Convert the Buffer to a Binary String\n *\n * @name arrayBufferToBinaryString\n * @public\n * @function\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\n *\n * @returns {String}\n */\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\n buffer\n ) {\n var out = \"\";\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\n // Do not copy the array if input is already an array.\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\n // Limit the amount of characters being parsed to prevent overflow.\n // Note that while TextDecoder would be faster, it does not have the same\n // functionality as fromCharCode with any provided encodings as of 3/2021.\n out += String.fromCharCode.apply(\n null,\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\n );\n }\n return out;\n });\n\n /**\n * Possible parameter for addImage, an RGBA buffer with size.\n *\n * @typedef {Object} RGBAData\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\n * @property {number} width - Image width as the data does not carry this information in itself.\n * @property {number} height - Image height as the data does not carry this information in itself.\n */\n\n /**\n * Adds an Image to the PDF.\n *\n * @name addImage\n * @public\n * @function\n * @param {string|HTMLImageElement|HTMLCanvasElement|Uint8Array|RGBAData} imageData imageData as base64 encoded DataUrl or Image-HTMLElement or Canvas-HTMLElement or object containing RGBA array (like output from canvas.getImageData).\n * @param {string} format format of file if filetype-recognition fails or in case of a Canvas-Element needs to be specified (default for Canvas is JPEG), e.g. 'JPEG', 'PNG', 'WEBP'\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width width of the image (in units declared at inception of PDF document)\n * @param {number} height height of the Image (in units declared at inception of PDF document)\n * @param {string} alias alias of the image (if used multiple times)\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation rotation of the image in degrees (0-359)\n *\n * @returns jsPDF\n */\n jsPDFAPI.addImage = function() {\n var imageData, format, x, y, w, h, alias, compression, rotation;\n\n imageData = arguments[0];\n if (typeof arguments[1] === \"number\") {\n format = UNKNOWN;\n x = arguments[1];\n y = arguments[2];\n w = arguments[3];\n h = arguments[4];\n alias = arguments[5];\n compression = arguments[6];\n rotation = arguments[7];\n } else {\n format = arguments[1];\n x = arguments[2];\n y = arguments[3];\n w = arguments[4];\n h = arguments[5];\n alias = arguments[6];\n compression = arguments[7];\n rotation = arguments[8];\n }\n\n if (\n typeof imageData === \"object\" &&\n !isDOMElement(imageData) &&\n \"imageData\" in imageData\n ) {\n var options = imageData;\n\n imageData = options.imageData;\n format = options.format || format || UNKNOWN;\n x = options.x || x || 0;\n y = options.y || y || 0;\n w = options.w || options.width || w;\n h = options.h || options.height || h;\n alias = options.alias || alias;\n compression = options.compression || compression;\n rotation = options.rotation || options.angle || rotation;\n }\n\n //If compression is not explicitly set, determine if we should use compression\n var filter = this.internal.getFilters();\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\n compression = \"SLOW\";\n }\n\n if (isNaN(x) || isNaN(y)) {\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\n }\n\n initialize.call(this);\n\n var image = processImageData.call(\n this,\n imageData,\n format,\n alias,\n compression\n );\n\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\n\n return this;\n };\n\n var processImageData = function(imageData, format, alias, compression) {\n var result, dataAsBinaryString;\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n imageData = unescape(imageData);\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData !== \"\") {\n imageData = tmpImageData;\n } else {\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\n if (tmpImageData !== undefined) {\n imageData = tmpImageData;\n }\n }\n }\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData, format);\n }\n\n format = getImageFileTypeByImageData(imageData, format);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n // now do the heavy lifting\n\n if (notDefined(alias)) {\n alias = generateAliasFromImageData(imageData);\n }\n result = checkImagesForAlias.call(this, alias);\n\n if (!result) {\n if (supportsArrayBuffer()) {\n // no need to convert if imageData is already uint8array\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\n dataAsBinaryString = imageData;\n imageData = binaryStringToUint8Array(imageData);\n }\n }\n\n result = this[\"process\" + format.toUpperCase()](\n imageData,\n getImageIndex.call(this),\n alias,\n checkCompressValue(compression),\n dataAsBinaryString\n );\n }\n\n if (!result) {\n throw new Error(\"An unknown error occurred whilst processing the image.\");\n }\n return result;\n };\n\n /**\n * @name convertBase64ToBinaryString\n * @function\n * @param {string} stringData\n * @returns {string} binary string\n */\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\n stringData,\n throwError\n ) {\n throwError = typeof throwError === \"boolean\" ? throwError : true;\n var base64Info;\n var imageData = \"\";\n var rawData;\n\n if (typeof stringData === \"string\") {\n base64Info = extractImageFromDataUrl(stringData);\n rawData = base64Info !== null ? base64Info.data : stringData;\n\n try {\n imageData = atob(rawData);\n } catch (e) {\n if (throwError) {\n if (!validateStringAsBase64(rawData)) {\n throw new Error(\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\n );\n } else {\n throw new Error(\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\n );\n }\n }\n }\n }\n return imageData;\n });\n\n /**\n * @name getImageProperties\n * @function\n * @param {Object} imageData\n * @returns {Object}\n */\n jsPDFAPI.getImageProperties = function(imageData) {\n var image;\n var tmpImageData = \"\";\n var format;\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData);\n }\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData === \"\") {\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\n }\n imageData = tmpImageData;\n }\n\n format = getImageFileTypeByImageData(imageData);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\n imageData = binaryStringToUint8Array(imageData);\n }\n\n image = this[\"process\" + format.toUpperCase()](imageData);\n\n if (!image) {\n throw new Error(\"An unknown error occurred whilst processing the image\");\n }\n\n image.fileType = format;\n\n return image;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF Annotations PlugIn\n *\n * There are many types of annotations in a PDF document. Annotations are placed\n * on a page at a particular location. They are not 'attached' to an object.\n *
\n * This plugin current supports
\n *
  • Goto Page (set pageNumber and top in options)\n *
  • Goto Name (set name and top in options)\n *
  • Goto URL (set url in options)\n *

    \n * \tThe destination magnification factor can also be specified when goto is a page number or a named destination. (see documentation below)\n * (set magFactor in options). XYZ is the default.\n *

    \n *

    \n * Links, Text, Popup, and FreeText are supported.\n *

    \n *

    \n * Options In PDF spec Not Implemented Yet\n *

  • link border\n *
  • named target\n *
  • page coordinates\n *
  • destination page scaling and layout\n *
  • actions other than URL and GotoPage\n *
  • background / hover actions\n *

    \n * @name annotations\n * @module\n */\n\n/*\n Destination Magnification Factors\n See PDF 1.3 Page 386 for meanings and options\n\n [supported]\n\tXYZ (options; left top zoom)\n\tFit (no options)\n\tFitH (options: top)\n\tFitV (options: left)\n\n\t[not supported]\n\tFitR\n\tFitB\n\tFitBH\n\tFitBV\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var notEmpty = function(obj) {\n if (typeof obj != \"undefined\") {\n if (obj != \"\") {\n return true;\n }\n }\n };\n\n jsPDF.API.events.push([\n \"addPage\",\n function(addPageData) {\n var pageInfo = this.internal.getPageInfo(addPageData.pageNumber);\n pageInfo.pageContext.annotations = [];\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putPage\",\n function(putPageData) {\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal\n .getVerticalCoordinateString;\n var pageInfo = this.internal.getPageInfoByObjId(putPageData.objId);\n var pageAnnos = putPageData.pageContext.annotations;\n\n var anno, rect, line;\n var found = false;\n for (var a = 0; a < pageAnnos.length && !found; a++) {\n anno = pageAnnos[a];\n switch (anno.type) {\n case \"link\":\n if (\n notEmpty(anno.options.url) ||\n notEmpty(anno.options.pageNumber)\n ) {\n found = true;\n }\n break;\n case \"reference\":\n case \"text\":\n case \"freetext\":\n found = true;\n break;\n }\n }\n if (found == false) {\n return;\n }\n\n this.internal.write(\"/Annots [\");\n for (var i = 0; i < pageAnnos.length; i++) {\n anno = pageAnnos[i];\n var escape = this.internal.pdfEscape;\n var encryptor = this.internal.getEncryptor(putPageData.objId);\n\n switch (anno.type) {\n case \"reference\":\n // References to Widget Annotations (for AcroForm Fields)\n this.internal.write(\" \" + anno.object.objId + \" 0 R \");\n break;\n case \"text\":\n // Create a an object for both the text and the popup\n var objText = this.internal.newAdditionalObject();\n var objPopup = this.internal.newAdditionalObject();\n var encryptorText = this.internal.getEncryptor(objText.objId);\n\n var title = anno.title || \"Note\";\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n\n line =\n \"<>\";\n objText.content = line;\n\n var parent = objText.objId + \" 0 R\";\n var popoff = 30;\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x + popoff) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(\n anno.bounds.x + anno.bounds.w + popoff\n ) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n line =\n \"<>\";\n objPopup.content = line;\n\n this.internal.write(objText.objId, \"0 R\", objPopup.objId, \"0 R\");\n\n break;\n case \"freetext\":\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \"] \";\n var color = anno.color || \"#000000\";\n line =\n \"<>\";\n this.internal.write(line);\n break;\n case \"link\":\n if (anno.options.name) {\n var loc = this.annotations._nameMap[anno.options.name];\n anno.options.pageNumber = loc.page;\n anno.options.top = loc.y;\n } else {\n if (!anno.options.top) {\n anno.options.top = 0;\n }\n }\n\n rect =\n \"/Rect [\" +\n anno.finalBounds.x +\n \" \" +\n anno.finalBounds.y +\n \" \" +\n anno.finalBounds.w +\n \" \" +\n anno.finalBounds.h +\n \"] \";\n\n line = \"\";\n if (anno.options.url) {\n line =\n \"<>\";\n } else if (anno.options.pageNumber) {\n // first page is 0\n var info = this.internal.getPageInfo(anno.options.pageNumber);\n line =\n \"<>\";\n this.internal.write(line);\n }\n break;\n }\n }\n this.internal.write(\"]\");\n }\n ]);\n\n /**\n * @name createAnnotation\n * @function\n * @param {Object} options\n */\n jsPDFAPI.createAnnotation = function(options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n switch (options.type) {\n case \"link\":\n this.link(\n options.bounds.x,\n options.bounds.y,\n options.bounds.w,\n options.bounds.h,\n options\n );\n break;\n case \"text\":\n case \"freetext\":\n pageInfo.pageContext.annotations.push(options);\n break;\n }\n };\n\n /**\n * Create a link\n *\n * valid options\n *
  • pageNumber or url [required]\n *

    If pageNumber is specified, top and zoom may also be specified

    \n * @name link\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {Object} options\n */\n jsPDFAPI.link = function(x, y, w, h, options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\n\n pageInfo.pageContext.annotations.push({\n finalBounds: {\n x: getHorizontalCoordinateString(x),\n y: getVerticalCoordinateString(y),\n w: getHorizontalCoordinateString(x + w),\n h: getVerticalCoordinateString(y + h)\n },\n options: options,\n type: \"link\"\n });\n };\n\n /**\n * Currently only supports single line text.\n * Returns the width of the text/link\n *\n * @name textWithLink\n * @function\n * @param {string} text\n * @param {number} x\n * @param {number} y\n * @param {Object} options\n * @returns {number} width the width of the text/link\n */\n jsPDFAPI.textWithLink = function(text, x, y, options) {\n var totalLineWidth = this.getTextWidth(text);\n var lineHeight = this.internal.getLineHeight() / this.internal.scaleFactor;\n var linkHeight, linkWidth;\n\n // Checking if maxWidth option is passed to determine lineWidth and number of lines for each line\n if (options.maxWidth !== undefined) {\n var { maxWidth } = options;\n linkWidth = maxWidth;\n var numOfLines = this.splitTextToSize(text, linkWidth).length;\n linkHeight = Math.ceil(lineHeight * numOfLines);\n } else {\n linkWidth = totalLineWidth;\n linkHeight = lineHeight;\n }\n\n this.text(text, x, y, options);\n\n //TODO We really need the text baseline height to do this correctly.\n // Or ability to draw text on top, bottom, center, or baseline.\n y += lineHeight * 0.2;\n //handle x position based on the align option\n if (options.align === \"center\") {\n x = x - totalLineWidth / 2; //since starting from center move the x position by half of text width\n }\n if (options.align === \"right\") {\n x = x - totalLineWidth;\n }\n this.link(x, y - lineHeight, linkWidth, linkHeight, options);\n return totalLineWidth;\n };\n\n //TODO move into external library\n /**\n * @name getTextWidth\n * @function\n * @param {string} text\n * @returns {number} txtWidth\n */\n jsPDFAPI.getTextWidth = function(text) {\n var fontSize = this.internal.getFontSize();\n var txtWidth =\n (this.getStringUnitWidth(text) * fontSize) / this.internal.scaleFactor;\n return txtWidth;\n };\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF arabic parser PlugIn\n *\n * @name arabic\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Arabic shape substitutions: char code => (isolated, final, initial, medial).\n * Arabic Substition A\n */\n var arabicSubstitionA = {\n 0x0621: [0xfe80], // ARABIC LETTER HAMZA\n 0x0622: [0xfe81, 0xfe82], // ARABIC LETTER ALEF WITH MADDA ABOVE\n 0x0623: [0xfe83, 0xfe84], // ARABIC LETTER ALEF WITH HAMZA ABOVE\n 0x0624: [0xfe85, 0xfe86], // ARABIC LETTER WAW WITH HAMZA ABOVE\n 0x0625: [0xfe87, 0xfe88], // ARABIC LETTER ALEF WITH HAMZA BELOW\n 0x0626: [0xfe89, 0xfe8a, 0xfe8b, 0xfe8c], // ARABIC LETTER YEH WITH HAMZA ABOVE\n 0x0627: [0xfe8d, 0xfe8e], // ARABIC LETTER ALEF\n 0x0628: [0xfe8f, 0xfe90, 0xfe91, 0xfe92], // ARABIC LETTER BEH\n 0x0629: [0xfe93, 0xfe94], // ARABIC LETTER TEH MARBUTA\n 0x062a: [0xfe95, 0xfe96, 0xfe97, 0xfe98], // ARABIC LETTER TEH\n 0x062b: [0xfe99, 0xfe9a, 0xfe9b, 0xfe9c], // ARABIC LETTER THEH\n 0x062c: [0xfe9d, 0xfe9e, 0xfe9f, 0xfea0], // ARABIC LETTER JEEM\n 0x062d: [0xfea1, 0xfea2, 0xfea3, 0xfea4], // ARABIC LETTER HAH\n 0x062e: [0xfea5, 0xfea6, 0xfea7, 0xfea8], // ARABIC LETTER KHAH\n 0x062f: [0xfea9, 0xfeaa], // ARABIC LETTER DAL\n 0x0630: [0xfeab, 0xfeac], // ARABIC LETTER THAL\n 0x0631: [0xfead, 0xfeae], // ARABIC LETTER REH\n 0x0632: [0xfeaf, 0xfeb0], // ARABIC LETTER ZAIN\n 0x0633: [0xfeb1, 0xfeb2, 0xfeb3, 0xfeb4], // ARABIC LETTER SEEN\n 0x0634: [0xfeb5, 0xfeb6, 0xfeb7, 0xfeb8], // ARABIC LETTER SHEEN\n 0x0635: [0xfeb9, 0xfeba, 0xfebb, 0xfebc], // ARABIC LETTER SAD\n 0x0636: [0xfebd, 0xfebe, 0xfebf, 0xfec0], // ARABIC LETTER DAD\n 0x0637: [0xfec1, 0xfec2, 0xfec3, 0xfec4], // ARABIC LETTER TAH\n 0x0638: [0xfec5, 0xfec6, 0xfec7, 0xfec8], // ARABIC LETTER ZAH\n 0x0639: [0xfec9, 0xfeca, 0xfecb, 0xfecc], // ARABIC LETTER AIN\n 0x063a: [0xfecd, 0xfece, 0xfecf, 0xfed0], // ARABIC LETTER GHAIN\n 0x0641: [0xfed1, 0xfed2, 0xfed3, 0xfed4], // ARABIC LETTER FEH\n 0x0642: [0xfed5, 0xfed6, 0xfed7, 0xfed8], // ARABIC LETTER QAF\n 0x0643: [0xfed9, 0xfeda, 0xfedb, 0xfedc], // ARABIC LETTER KAF\n 0x0644: [0xfedd, 0xfede, 0xfedf, 0xfee0], // ARABIC LETTER LAM\n 0x0645: [0xfee1, 0xfee2, 0xfee3, 0xfee4], // ARABIC LETTER MEEM\n 0x0646: [0xfee5, 0xfee6, 0xfee7, 0xfee8], // ARABIC LETTER NOON\n 0x0647: [0xfee9, 0xfeea, 0xfeeb, 0xfeec], // ARABIC LETTER HEH\n 0x0648: [0xfeed, 0xfeee], // ARABIC LETTER WAW\n 0x0649: [0xfeef, 0xfef0, 64488, 64489], // ARABIC LETTER ALEF MAKSURA\n 0x064a: [0xfef1, 0xfef2, 0xfef3, 0xfef4], // ARABIC LETTER YEH\n 0x0671: [0xfb50, 0xfb51], // ARABIC LETTER ALEF WASLA\n 0x0677: [0xfbdd], // ARABIC LETTER U WITH HAMZA ABOVE\n 0x0679: [0xfb66, 0xfb67, 0xfb68, 0xfb69], // ARABIC LETTER TTEH\n 0x067a: [0xfb5e, 0xfb5f, 0xfb60, 0xfb61], // ARABIC LETTER TTEHEH\n 0x067b: [0xfb52, 0xfb53, 0xfb54, 0xfb55], // ARABIC LETTER BEEH\n 0x067e: [0xfb56, 0xfb57, 0xfb58, 0xfb59], // ARABIC LETTER PEH\n 0x067f: [0xfb62, 0xfb63, 0xfb64, 0xfb65], // ARABIC LETTER TEHEH\n 0x0680: [0xfb5a, 0xfb5b, 0xfb5c, 0xfb5d], // ARABIC LETTER BEHEH\n 0x0683: [0xfb76, 0xfb77, 0xfb78, 0xfb79], // ARABIC LETTER NYEH\n 0x0684: [0xfb72, 0xfb73, 0xfb74, 0xfb75], // ARABIC LETTER DYEH\n 0x0686: [0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d], // ARABIC LETTER TCHEH\n 0x0687: [0xfb7e, 0xfb7f, 0xfb80, 0xfb81], // ARABIC LETTER TCHEHEH\n 0x0688: [0xfb88, 0xfb89], // ARABIC LETTER DDAL\n 0x068c: [0xfb84, 0xfb85], // ARABIC LETTER DAHAL\n 0x068d: [0xfb82, 0xfb83], // ARABIC LETTER DDAHAL\n 0x068e: [0xfb86, 0xfb87], // ARABIC LETTER DUL\n 0x0691: [0xfb8c, 0xfb8d], // ARABIC LETTER RREH\n 0x0698: [0xfb8a, 0xfb8b], // ARABIC LETTER JEH\n 0x06a4: [0xfb6a, 0xfb6b, 0xfb6c, 0xfb6d], // ARABIC LETTER VEH\n 0x06a6: [0xfb6e, 0xfb6f, 0xfb70, 0xfb71], // ARABIC LETTER PEHEH\n 0x06a9: [0xfb8e, 0xfb8f, 0xfb90, 0xfb91], // ARABIC LETTER KEHEH\n 0x06ad: [0xfbd3, 0xfbd4, 0xfbd5, 0xfbd6], // ARABIC LETTER NG\n 0x06af: [0xfb92, 0xfb93, 0xfb94, 0xfb95], // ARABIC LETTER GAF\n 0x06b1: [0xfb9a, 0xfb9b, 0xfb9c, 0xfb9d], // ARABIC LETTER NGOEH\n 0x06b3: [0xfb96, 0xfb97, 0xfb98, 0xfb99], // ARABIC LETTER GUEH\n 0x06ba: [0xfb9e, 0xfb9f], // ARABIC LETTER NOON GHUNNA\n 0x06bb: [0xfba0, 0xfba1, 0xfba2, 0xfba3], // ARABIC LETTER RNOON\n 0x06be: [0xfbaa, 0xfbab, 0xfbac, 0xfbad], // ARABIC LETTER HEH DOACHASHMEE\n 0x06c0: [0xfba4, 0xfba5], // ARABIC LETTER HEH WITH YEH ABOVE\n 0x06c1: [0xfba6, 0xfba7, 0xfba8, 0xfba9], // ARABIC LETTER HEH GOAL\n 0x06c5: [0xfbe0, 0xfbe1], // ARABIC LETTER KIRGHIZ OE\n 0x06c6: [0xfbd9, 0xfbda], // ARABIC LETTER OE\n 0x06c7: [0xfbd7, 0xfbd8], // ARABIC LETTER U\n 0x06c8: [0xfbdb, 0xfbdc], // ARABIC LETTER YU\n 0x06c9: [0xfbe2, 0xfbe3], // ARABIC LETTER KIRGHIZ YU\n 0x06cb: [0xfbde, 0xfbdf], // ARABIC LETTER VE\n 0x06cc: [0xfbfc, 0xfbfd, 0xfbfe, 0xfbff], // ARABIC LETTER FARSI YEH\n 0x06d0: [0xfbe4, 0xfbe5, 0xfbe6, 0xfbe7], //ARABIC LETTER E\n 0x06d2: [0xfbae, 0xfbaf], // ARABIC LETTER YEH BARREE\n 0x06d3: [0xfbb0, 0xfbb1] // ARABIC LETTER YEH BARREE WITH HAMZA ABOVE\n };\n\n /*\n var ligaturesSubstitutionA = {\n 0xFBEA: []// ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM\n };\n */\n\n var ligatures = {\n 0xfedf: {\n 0xfe82: 0xfef5, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM\n 0xfe84: 0xfef7, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM\n 0xfe88: 0xfef9, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM\n 0xfe8e: 0xfefb // ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM\n },\n 0xfee0: {\n 0xfe82: 0xfef6, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM\n 0xfe84: 0xfef8, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM\n 0xfe88: 0xfefa, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM\n 0xfe8e: 0xfefc // ARABIC LIGATURE LAM WITH ALEF FINAL FORM\n },\n 0xfe8d: { 0xfedf: { 0xfee0: { 0xfeea: 0xfdf2 } } }, // ALLAH\n 0x0651: {\n 0x064c: 0xfc5e, // Shadda + Dammatan\n 0x064d: 0xfc5f, // Shadda + Kasratan\n 0x064e: 0xfc60, // Shadda + Fatha\n 0x064f: 0xfc61, // Shadda + Damma\n 0x0650: 0xfc62 // Shadda + Kasra\n }\n };\n\n var arabic_diacritics = {\n 1612: 64606, // Shadda + Dammatan\n 1613: 64607, // Shadda + Kasratan\n 1614: 64608, // Shadda + Fatha\n 1615: 64609, // Shadda + Damma\n 1616: 64610 // Shadda + Kasra\n };\n\n var alfletter = [1570, 1571, 1573, 1575];\n\n var noChangeInForm = -1;\n var isolatedForm = 0;\n var finalForm = 1;\n var initialForm = 2;\n var medialForm = 3;\n\n jsPDFAPI.__arabicParser__ = {};\n\n //private\n var isInArabicSubstitutionA = (jsPDFAPI.__arabicParser__.isInArabicSubstitutionA = function(\n letter\n ) {\n return typeof arabicSubstitionA[letter.charCodeAt(0)] !== \"undefined\";\n });\n\n var isArabicLetter = (jsPDFAPI.__arabicParser__.isArabicLetter = function(\n letter\n ) {\n return (\n typeof letter === \"string\" &&\n /^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(\n letter\n )\n );\n });\n\n var isArabicEndLetter = (jsPDFAPI.__arabicParser__.isArabicEndLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length <= 2\n );\n });\n\n var isArabicAlfLetter = (jsPDFAPI.__arabicParser__.isArabicAlfLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) && alfletter.indexOf(letter.charCodeAt(0)) >= 0\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasIsolatedForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 1\n );\n };\n\n var arabicLetterHasFinalForm = (jsPDFAPI.__arabicParser__.arabicLetterHasFinalForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 2\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasInitialForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 3\n );\n };\n\n var arabicLetterHasMedialForm = (jsPDFAPI.__arabicParser__.arabicLetterHasMedialForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length == 4\n );\n });\n\n var resolveLigatures = (jsPDFAPI.__arabicParser__.resolveLigatures = function(\n letters\n ) {\n var i = 0;\n var tmpLigatures = ligatures;\n var result = \"\";\n var effectedLetters = 0;\n\n for (i = 0; i < letters.length; i += 1) {\n if (typeof tmpLigatures[letters.charCodeAt(i)] !== \"undefined\") {\n effectedLetters++;\n tmpLigatures = tmpLigatures[letters.charCodeAt(i)];\n\n if (typeof tmpLigatures === \"number\") {\n result += String.fromCharCode(tmpLigatures);\n tmpLigatures = ligatures;\n effectedLetters = 0;\n }\n if (i === letters.length - 1) {\n tmpLigatures = ligatures;\n result += letters.charAt(i - (effectedLetters - 1));\n i = i - (effectedLetters - 1);\n effectedLetters = 0;\n }\n } else {\n tmpLigatures = ligatures;\n result += letters.charAt(i - effectedLetters);\n i = i - effectedLetters;\n effectedLetters = 0;\n }\n }\n\n return result;\n });\n\n jsPDFAPI.__arabicParser__.isArabicDiacritic = function(letter) {\n return (\n letter !== undefined &&\n arabic_diacritics[letter.charCodeAt(0)] !== undefined\n );\n };\n\n var getCorrectForm = (jsPDFAPI.__arabicParser__.getCorrectForm = function(\n currentChar,\n beforeChar,\n nextChar\n ) {\n if (!isArabicLetter(currentChar)) {\n return -1;\n }\n\n if (isInArabicSubstitutionA(currentChar) === false) {\n return noChangeInForm;\n }\n if (\n !arabicLetterHasFinalForm(currentChar) ||\n (!isArabicLetter(beforeChar) && !isArabicLetter(nextChar)) ||\n (!isArabicLetter(nextChar) && isArabicEndLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && !isArabicLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicAlfLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicEndLetter(beforeChar))\n ) {\n return isolatedForm;\n }\n\n if (\n arabicLetterHasMedialForm(currentChar) &&\n isArabicLetter(beforeChar) &&\n !isArabicEndLetter(beforeChar) &&\n isArabicLetter(nextChar) &&\n arabicLetterHasFinalForm(nextChar)\n ) {\n return medialForm;\n }\n\n if (isArabicEndLetter(currentChar) || !isArabicLetter(nextChar)) {\n return finalForm;\n }\n return initialForm;\n });\n\n /**\n * @name processArabic\n * @function\n * @param {string} text\n * @returns {string}\n */\n var parseArabic = function(text) {\n text = text || \"\";\n\n var result = \"\";\n var i = 0;\n var j = 0;\n var position = 0;\n var currentLetter = \"\";\n var prevLetter = \"\";\n var nextLetter = \"\";\n\n var words = text.split(\"\\\\s+\");\n var newWords = [];\n for (i = 0; i < words.length; i += 1) {\n newWords.push(\"\");\n for (j = 0; j < words[i].length; j += 1) {\n currentLetter = words[i][j];\n prevLetter = words[i][j - 1];\n nextLetter = words[i][j + 1];\n if (isArabicLetter(currentLetter)) {\n position = getCorrectForm(currentLetter, prevLetter, nextLetter);\n if (position !== -1) {\n newWords[i] += String.fromCharCode(\n arabicSubstitionA[currentLetter.charCodeAt(0)][position]\n );\n } else {\n newWords[i] += currentLetter;\n }\n } else {\n newWords[i] += currentLetter;\n }\n }\n\n newWords[i] = resolveLigatures(newWords[i]);\n }\n result = newWords.join(\" \");\n\n return result;\n };\n\n var processArabic = (jsPDFAPI.__arabicParser__.processArabic = jsPDFAPI.processArabic = function() {\n var text =\n typeof arguments[0] === \"string\" ? arguments[0] : arguments[0].text;\n var tmpText = [];\n var result;\n\n if (Array.isArray(text)) {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n tmpText.push([parseArabic(text[i][0]), text[i][1], text[i][2]]);\n } else {\n tmpText.push([parseArabic(text[i])]);\n }\n }\n result = tmpText;\n } else {\n result = parseArabic(text);\n }\n if (typeof arguments[0] === \"string\") {\n return result;\n } else {\n arguments[0].text = result;\n return arguments[0];\n }\n });\n\n jsPDFAPI.events.push([\"preProcessText\", processArabic]);\n})(jsPDF.API);\n","/** @license\n * jsPDF Autoprint Plugin\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name autoprint\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Makes the PDF automatically open the print-Dialog when opened in a PDF-viewer.\n *\n * @name autoPrint\n * @function\n * @param {Object} options (optional) Set the attribute variant to 'non-conform' (default) or 'javascript' to activate different methods of automatic printing when opening in a PDF-viewer .\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF();\n * doc.text(10, 10, 'This is a test');\n * doc.autoPrint({variant: 'non-conform'});\n * doc.save('autoprint.pdf');\n */\n jsPDFAPI.autoPrint = function(options) {\n \"use strict\";\n var refAutoPrintTag;\n options = options || {};\n options.variant = options.variant || \"non-conform\";\n\n switch (options.variant) {\n case \"javascript\":\n //https://github.com/Rob--W/pdf.js/commit/c676ecb5a0f54677b9f3340c3ef2cf42225453bb\n this.addJS(\"print({});\");\n break;\n case \"non-conform\":\n default:\n this.internal.events.subscribe(\"postPutResources\", function() {\n refAutoPrintTag = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /Named\");\n this.internal.out(\"/Type /Action\");\n this.internal.out(\"/N /Print\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.out(\"/OpenAction \" + refAutoPrintTag + \" 0 R\");\n });\n break;\n }\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Canvas PlugIn\n * This plugin mimics the HTML5 Canvas\n *\n * The goal is to provide a way for current canvas users to print directly to a PDF.\n * @name canvas\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @class Canvas\n * @classdesc A Canvas Wrapper for jsPDF\n */\n var Canvas = function() {\n var jsPdfInstance = undefined;\n Object.defineProperty(this, \"pdf\", {\n get: function() {\n return jsPdfInstance;\n },\n set: function(value) {\n jsPdfInstance = value;\n }\n });\n\n var _width = 150;\n /**\n * The height property is a positive integer reflecting the height HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 150 is used.\n * This is one of the two properties, the other being width, that controls the size of the canvas.\n *\n * @name width\n */\n Object.defineProperty(this, \"width\", {\n get: function() {\n return _width;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _width = 150;\n } else {\n _width = value;\n }\n if (this.getContext(\"2d\").pageWrapXEnabled) {\n this.getContext(\"2d\").pageWrapX = _width + 1;\n }\n }\n });\n\n var _height = 300;\n /**\n * The width property is a positive integer reflecting the width HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 300 is used.\n * This is one of the two properties, the other being height, that controls the size of the canvas.\n *\n * @name height\n */\n Object.defineProperty(this, \"height\", {\n get: function() {\n return _height;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _height = 300;\n } else {\n _height = value;\n }\n if (this.getContext(\"2d\").pageWrapYEnabled) {\n this.getContext(\"2d\").pageWrapY = _height + 1;\n }\n }\n });\n\n var _childNodes = [];\n Object.defineProperty(this, \"childNodes\", {\n get: function() {\n return _childNodes;\n },\n set: function(value) {\n _childNodes = value;\n }\n });\n\n var _style = {};\n Object.defineProperty(this, \"style\", {\n get: function() {\n return _style;\n },\n set: function(value) {\n _style = value;\n }\n });\n\n Object.defineProperty(this, \"parentNode\", {});\n };\n\n /**\n * The getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported.\n *\n * @name getContext\n * @function\n * @param {string} contextType Is a String containing the context identifier defining the drawing context associated to the canvas. Possible value is \"2d\", leading to the creation of a Context2D object representing a two-dimensional rendering context.\n * @param {object} contextAttributes\n */\n Canvas.prototype.getContext = function(contextType, contextAttributes) {\n contextType = contextType || \"2d\";\n var key;\n\n if (contextType !== \"2d\") {\n return null;\n }\n for (key in contextAttributes) {\n if (this.pdf.context2d.hasOwnProperty(key)) {\n this.pdf.context2d[key] = contextAttributes[key];\n }\n }\n this.pdf.context2d._canvas = this;\n return this.pdf.context2d;\n };\n\n /**\n * The toDataURL() method is just a stub to throw an error if accidently called.\n *\n * @name toDataURL\n * @function\n */\n Canvas.prototype.toDataURL = function() {\n throw new Error(\"toDataURL is not implemented.\");\n };\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n this.canvas = new Canvas();\n this.canvas.pdf = this;\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name cell\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var NO_MARGINS = { left: 0, top: 0, bottom: 0, right: 0 };\n\n var px2pt = (0.264583 * 72) / 25.4;\n var printingHeaderRow = false;\n\n var _initialize = function() {\n if (typeof this.internal.__cell__ === \"undefined\") {\n this.internal.__cell__ = {};\n this.internal.__cell__.padding = 3;\n this.internal.__cell__.headerFunction = undefined;\n this.internal.__cell__.margins = Object.assign({}, NO_MARGINS);\n this.internal.__cell__.margins.width = this.getPageWidth();\n _reset.call(this);\n }\n };\n\n var _reset = function() {\n this.internal.__cell__.lastCell = new Cell();\n this.internal.__cell__.pages = 1;\n };\n\n var Cell = function() {\n var _x = arguments[0];\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n get: function() {\n return _x;\n },\n set: function(value) {\n _x = value;\n }\n });\n var _y = arguments[1];\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n get: function() {\n return _y;\n },\n set: function(value) {\n _y = value;\n }\n });\n var _width = arguments[2];\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n _width = value;\n }\n });\n var _height = arguments[3];\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n get: function() {\n return _height;\n },\n set: function(value) {\n _height = value;\n }\n });\n var _text = arguments[4];\n Object.defineProperty(this, \"text\", {\n enumerable: true,\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = value;\n }\n });\n var _lineNumber = arguments[5];\n Object.defineProperty(this, \"lineNumber\", {\n enumerable: true,\n get: function() {\n return _lineNumber;\n },\n set: function(value) {\n _lineNumber = value;\n }\n });\n var _align = arguments[6];\n Object.defineProperty(this, \"align\", {\n enumerable: true,\n get: function() {\n return _align;\n },\n set: function(value) {\n _align = value;\n }\n });\n\n return this;\n };\n\n Cell.prototype.clone = function() {\n return new Cell(\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n );\n };\n\n Cell.prototype.toArray = function() {\n return [\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n ];\n };\n\n /**\n * @name setHeaderFunction\n * @function\n * @param {function} func\n */\n jsPDFAPI.setHeaderFunction = function(func) {\n _initialize.call(this);\n this.internal.__cell__.headerFunction =\n typeof func === \"function\" ? func : undefined;\n return this;\n };\n\n /**\n * @name getTextDimensions\n * @function\n * @param {string} txt\n * @returns {Object} dimensions\n */\n jsPDFAPI.getTextDimensions = function(text, options) {\n _initialize.call(this);\n options = options || {};\n var fontSize = options.fontSize || this.getFontSize();\n var font = options.font || this.getFont();\n var scaleFactor = options.scaleFactor || this.internal.scaleFactor;\n var width = 0;\n var amountOfLines = 0;\n var height = 0;\n var tempWidth = 0;\n var scope = this;\n\n if (!Array.isArray(text) && typeof text !== \"string\") {\n if (typeof text === \"number\") {\n text = String(text);\n } else {\n throw new Error(\n \"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\"\n );\n }\n }\n\n const maxWidth = options.maxWidth;\n if (maxWidth > 0) {\n if (typeof text === \"string\") {\n text = this.splitTextToSize(text, maxWidth);\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\n text = text.reduce(function(acc, textLine) {\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\n }, []);\n }\n } else {\n // Without the else clause, it will not work if you do not pass along maxWidth\n text = Array.isArray(text) ? text : [text];\n }\n\n for (var i = 0; i < text.length; i++) {\n tempWidth = this.getStringUnitWidth(text[i], { font: font }) * fontSize;\n if (width < tempWidth) {\n width = tempWidth;\n }\n }\n\n if (width !== 0) {\n amountOfLines = text.length;\n }\n\n width = width / scaleFactor;\n height = Math.max(\n (amountOfLines * fontSize * this.getLineHeightFactor() -\n fontSize * (this.getLineHeightFactor() - 1)) /\n scaleFactor,\n 0\n );\n return { w: width, h: height };\n };\n\n /**\n * @name cellAddPage\n * @function\n */\n jsPDFAPI.cellAddPage = function() {\n _initialize.call(this);\n\n this.addPage();\n\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n this.internal.__cell__.lastCell = new Cell(\n margins.left,\n margins.top,\n undefined,\n undefined\n );\n this.internal.__cell__.pages += 1;\n\n return this;\n };\n\n /**\n * @name cell\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {string} text\n * @param {number} lineNumber lineNumber\n * @param {string} align\n * @return {jsPDF} jsPDF-instance\n */\n var cell = (jsPDFAPI.cell = function() {\n var currentCell;\n\n if (arguments[0] instanceof Cell) {\n currentCell = arguments[0];\n } else {\n currentCell = new Cell(\n arguments[0],\n arguments[1],\n arguments[2],\n arguments[3],\n arguments[4],\n arguments[5]\n );\n }\n _initialize.call(this);\n var lastCell = this.internal.__cell__.lastCell;\n var padding = this.internal.__cell__.padding;\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n var tableHeaderRow = this.internal.__cell__.tableHeaderRow;\n var printHeaders = this.internal.__cell__.printHeaders;\n // If this is not the first cell, we must change its position\n if (typeof lastCell.lineNumber !== \"undefined\") {\n if (lastCell.lineNumber === currentCell.lineNumber) {\n //Same line\n currentCell.x = (lastCell.x || 0) + (lastCell.width || 0);\n currentCell.y = lastCell.y || 0;\n } else {\n //New line\n if (\n lastCell.y + lastCell.height + currentCell.height + margins.bottom >\n this.getPageHeight()\n ) {\n this.cellAddPage();\n currentCell.y = margins.top;\n if (printHeaders && tableHeaderRow) {\n this.printHeaderRow(currentCell.lineNumber, true);\n currentCell.y += tableHeaderRow[0].height;\n }\n } else {\n currentCell.y = lastCell.y + lastCell.height || currentCell.y;\n }\n }\n }\n\n if (typeof currentCell.text[0] !== \"undefined\") {\n this.rect(\n currentCell.x,\n currentCell.y,\n currentCell.width,\n currentCell.height,\n printingHeaderRow === true ? \"FD\" : undefined\n );\n if (currentCell.align === \"right\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width - padding,\n currentCell.y + padding,\n { align: \"right\", baseline: \"top\" }\n );\n } else if (currentCell.align === \"center\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width / 2,\n currentCell.y + padding,\n {\n align: \"center\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n } else {\n this.text(\n currentCell.text,\n currentCell.x + padding,\n currentCell.y + padding,\n {\n align: \"left\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n }\n }\n this.internal.__cell__.lastCell = currentCell;\n return this;\n });\n\n /**\n * Create a table from a set of data.\n * @name table\n * @function\n * @param {Integer} [x] : left-position for top-left corner of table\n * @param {Integer} [y] top-position for top-left corner of table\n * @param {Object[]} [data] An array of objects containing key-value pairs corresponding to a row of data.\n * @param {String[]} [headers] Omit or null to auto-generate headers at a performance cost\n\n * @param {Object} [config.printHeaders] True to print column headers at the top of every page\n * @param {Object} [config.autoSize] True to dynamically set the column widths to match the widest cell value\n * @param {Object} [config.margins] margin values for left, top, bottom, and width\n * @param {Object} [config.fontSize] Integer fontSize to use (optional)\n * @param {Object} [config.padding] cell-padding in pt to use (optional)\n * @param {Object} [config.headerBackgroundColor] default is #c8c8c8 (optional)\n * @param {Object} [config.headerTextColor] default is #000 (optional)\n * @param {Object} [config.rowStart] callback to handle before print each row (optional)\n * @param {Object} [config.cellStart] callback to handle before print each cell (optional)\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.table = function(x, y, data, headers, config) {\n _initialize.call(this);\n if (!data) {\n throw new Error(\"No data for PDF table.\");\n }\n\n config = config || {};\n\n var headerNames = [],\n headerLabels = [],\n headerAligns = [],\n i,\n columnMatrix = {},\n columnWidths = {},\n column,\n columnMinWidths = [],\n j,\n tableHeaderConfigs = [],\n //set up defaults. If a value is provided in config, defaults will be overwritten:\n autoSize = config.autoSize || false,\n printHeaders = config.printHeaders === false ? false : true,\n fontSize =\n config.css && typeof config.css[\"font-size\"] !== \"undefined\"\n ? config.css[\"font-size\"] * 16\n : config.fontSize || 12,\n margins =\n config.margins ||\n Object.assign({ width: this.getPageWidth() }, NO_MARGINS),\n padding = typeof config.padding === \"number\" ? config.padding : 3,\n headerBackgroundColor = config.headerBackgroundColor || \"#c8c8c8\",\n headerTextColor = config.headerTextColor || \"#000\";\n\n _reset.call(this);\n\n this.internal.__cell__.printHeaders = printHeaders;\n this.internal.__cell__.margins = margins;\n this.internal.__cell__.table_font_size = fontSize;\n this.internal.__cell__.padding = padding;\n this.internal.__cell__.headerBackgroundColor = headerBackgroundColor;\n this.internal.__cell__.headerTextColor = headerTextColor;\n this.setFontSize(fontSize);\n\n // Set header values\n if (headers === undefined || headers === null) {\n // No headers defined so we derive from data\n headerNames = Object.keys(data[0]);\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n } else if (Array.isArray(headers) && typeof headers[0] === \"object\") {\n headerNames = headers.map(function(header) {\n return header.name;\n });\n headerLabels = headers.map(function(header) {\n return header.prompt || header.name || \"\";\n });\n headerAligns = headers.map(function(header) {\n return header.align || \"left\";\n });\n // Split header configs into names and prompts\n for (i = 0; i < headers.length; i += 1) {\n columnWidths[headers[i].name] = headers[i].width * px2pt;\n }\n } else if (Array.isArray(headers) && typeof headers[0] === \"string\") {\n headerNames = headers;\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n }\n\n if (\n autoSize ||\n (Array.isArray(headers) && typeof headers[0] === \"string\")\n ) {\n var headerName;\n for (i = 0; i < headerNames.length; i += 1) {\n headerName = headerNames[i];\n\n // Create a matrix of columns e.g., {column_title: [row1_Record, row2_Record]}\n\n columnMatrix[headerName] = data.map(function(rec) {\n return rec[headerName];\n });\n\n // get header width\n this.setFont(undefined, \"bold\");\n columnMinWidths.push(\n this.getTextDimensions(headerLabels[i], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n column = columnMatrix[headerName];\n\n // get cell widths\n this.setFont(undefined, \"normal\");\n for (j = 0; j < column.length; j += 1) {\n columnMinWidths.push(\n this.getTextDimensions(column[j], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n }\n\n // get final column width\n columnWidths[headerName] =\n Math.max.apply(null, columnMinWidths) + padding + padding;\n\n //have to reset\n columnMinWidths = [];\n }\n }\n\n // -- Construct the table\n\n if (printHeaders) {\n var row = {};\n for (i = 0; i < headerNames.length; i += 1) {\n row[headerNames[i]] = {};\n row[headerNames[i]].text = headerLabels[i];\n row[headerNames[i]].align = headerAligns[i];\n }\n\n var rowHeight = calculateLineHeight.call(this, row, columnWidths);\n\n // Construct the header row\n tableHeaderConfigs = headerNames.map(function(value) {\n return new Cell(\n x,\n y,\n columnWidths[value],\n rowHeight,\n row[value].text,\n undefined,\n row[value].align\n );\n });\n\n // Store the table header config\n this.setTableHeaderRow(tableHeaderConfigs);\n\n // Print the header for the start of the table\n this.printHeaderRow(1, false);\n }\n\n // Construct the data rows\n\n var align = headers.reduce(function(pv, cv) {\n pv[cv.name] = cv.align;\n return pv;\n }, {});\n for (i = 0; i < data.length; i += 1) {\n if (\"rowStart\" in config && config.rowStart instanceof Function) {\n config.rowStart(\n {\n row: i,\n data: data[i]\n },\n this\n );\n }\n var lineHeight = calculateLineHeight.call(this, data[i], columnWidths);\n\n for (j = 0; j < headerNames.length; j += 1) {\n var cellData = data[i][headerNames[j]];\n if (\"cellStart\" in config && config.cellStart instanceof Function) {\n config.cellStart(\n {\n row: i,\n col: j,\n data: cellData\n },\n this\n );\n }\n cell.call(\n this,\n new Cell(\n x,\n y,\n columnWidths[headerNames[j]],\n lineHeight,\n cellData,\n i + 2,\n align[headerNames[j]]\n )\n );\n }\n }\n this.internal.__cell__.table_x = x;\n this.internal.__cell__.table_y = y;\n return this;\n };\n\n /**\n * Calculate the height for containing the highest column\n *\n * @name calculateLineHeight\n * @function\n * @param {Object[]} model is the line of data we want to calculate the height of\n * @param {Integer[]} columnWidths is size of each column\n * @returns {number} lineHeight\n * @private\n */\n var calculateLineHeight = function calculateLineHeight(model, columnWidths) {\n var padding = this.internal.__cell__.padding;\n var fontSize = this.internal.__cell__.table_font_size;\n var scaleFactor = this.internal.scaleFactor;\n\n return Object.keys(model)\n .map(function(key) {\n var value = model[key];\n return this.splitTextToSize(\n value.hasOwnProperty(\"text\") ? value.text : value,\n columnWidths[key] - padding - padding\n );\n }, this)\n .map(function(value) {\n return (\n (this.getLineHeightFactor() * value.length * fontSize) / scaleFactor +\n padding +\n padding\n );\n }, this)\n .reduce(function(pv, cv) {\n return Math.max(pv, cv);\n }, 0);\n };\n\n /**\n * Store the config for outputting a table header\n *\n * @name setTableHeaderRow\n * @function\n * @param {Object[]} config\n * An array of cell configs that would define a header row: Each config matches the config used by jsPDFAPI.cell\n * except the lineNumber parameter is excluded\n */\n jsPDFAPI.setTableHeaderRow = function(config) {\n _initialize.call(this);\n this.internal.__cell__.tableHeaderRow = config;\n };\n\n /**\n * Output the store header row\n *\n * @name printHeaderRow\n * @function\n * @param {number} lineNumber The line number to output the header at\n * @param {boolean} new_page\n */\n jsPDFAPI.printHeaderRow = function(lineNumber, new_page) {\n _initialize.call(this);\n if (!this.internal.__cell__.tableHeaderRow) {\n throw new Error(\"Property tableHeaderRow does not exist.\");\n }\n\n var tableHeaderCell;\n\n printingHeaderRow = true;\n if (typeof this.internal.__cell__.headerFunction === \"function\") {\n var position = this.internal.__cell__.headerFunction(\n this,\n this.internal.__cell__.pages\n );\n this.internal.__cell__.lastCell = new Cell(\n position[0],\n position[1],\n position[2],\n position[3],\n undefined,\n -1\n );\n }\n this.setFont(undefined, \"bold\");\n\n var tempHeaderConf = [];\n for (var i = 0; i < this.internal.__cell__.tableHeaderRow.length; i += 1) {\n tableHeaderCell = this.internal.__cell__.tableHeaderRow[i].clone();\n if (new_page) {\n tableHeaderCell.y = this.internal.__cell__.margins.top || 0;\n tempHeaderConf.push(tableHeaderCell);\n }\n tableHeaderCell.lineNumber = lineNumber;\n var currentTextColor = this.getTextColor();\n this.setTextColor(this.internal.__cell__.headerTextColor);\n this.setFillColor(this.internal.__cell__.headerBackgroundColor);\n cell.call(this, tableHeaderCell);\n this.setTextColor(currentTextColor);\n }\n if (tempHeaderConf.length > 0) {\n this.setTableHeaderRow(tempHeaderConf);\n }\n this.setFont(undefined, \"normal\");\n printingHeaderRow = false;\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF JavaScript plugin\n *\n * @name javascript\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n var jsNamesObj, jsJsObj, text;\n /**\n * @name addJS\n * @function\n * @param {string} javascript The javascript to be embedded into the PDF-file.\n * @returns {jsPDF}\n */\n jsPDFAPI.addJS = function(javascript) {\n text = javascript;\n this.internal.events.subscribe(\"postPutResources\", function() {\n jsNamesObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/Names [(EmbeddedJS) \" + (jsNamesObj + 1) + \" 0 R]\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n\n jsJsObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /JavaScript\");\n this.internal.out(\"/JS (\" + text + \")\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n this.internal.events.subscribe(\"putCatalog\", function() {\n if (jsNamesObj !== undefined && jsJsObj !== undefined) {\n this.internal.out(\"/Names <>\");\n }\n });\n return this;\n };\n})(jsPDF.API);\n","/* eslint-disable no-fallthrough */\r\n/* eslint-disable no-console */\r\n/**\r\n * @license\r\n * jsPDF Context2D PlugIn Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\r\n *\r\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\r\n */\r\n\r\nimport { jsPDF } from \"../jspdf.js\";\r\nimport { RGBColor } from \"../libs/rgbcolor.js\";\r\nimport { console } from \"../libs/console.js\";\r\nimport {\r\n buildFontFaceMap,\r\n parseFontFamily,\r\n resolveFontFace\r\n} from \"../libs/fontFace.js\";\r\n\r\n/**\r\n * This plugin mimics the HTML5 CanvasRenderingContext2D.\r\n *\r\n * The goal is to provide a way for current canvas implementations to print directly to a PDF.\r\n *\r\n * @name context2d\r\n * @module\r\n */\r\n(function(jsPDFAPI) {\r\n \"use strict\";\r\n var ContextLayer = function(ctx) {\r\n ctx = ctx || {};\r\n this.isStrokeTransparent = ctx.isStrokeTransparent || false;\r\n this.strokeOpacity = ctx.strokeOpacity || 1;\r\n this.strokeStyle = ctx.strokeStyle || \"#000000\";\r\n this.fillStyle = ctx.fillStyle || \"#000000\";\r\n this.isFillTransparent = ctx.isFillTransparent || false;\r\n this.fillOpacity = ctx.fillOpacity || 1;\r\n this.font = ctx.font || \"10px sans-serif\";\r\n this.textBaseline = ctx.textBaseline || \"alphabetic\";\r\n this.textAlign = ctx.textAlign || \"left\";\r\n this.lineWidth = ctx.lineWidth || 1;\r\n this.lineJoin = ctx.lineJoin || \"miter\";\r\n this.lineCap = ctx.lineCap || \"butt\";\r\n this.path = ctx.path || [];\r\n this.transform =\r\n typeof ctx.transform !== \"undefined\"\r\n ? ctx.transform.clone()\r\n : new Matrix();\r\n this.globalCompositeOperation = ctx.globalCompositeOperation || \"normal\";\r\n this.globalAlpha = ctx.globalAlpha || 1.0;\r\n this.clip_path = ctx.clip_path || [];\r\n this.currentPoint = ctx.currentPoint || new Point();\r\n this.miterLimit = ctx.miterLimit || 10.0;\r\n this.lastPoint = ctx.lastPoint || new Point();\r\n this.lineDashOffset = ctx.lineDashOffset || 0.0;\r\n this.lineDash = ctx.lineDash || [];\r\n this.margin = ctx.margin || [0, 0, 0, 0];\r\n this.prevPageLastElemOffset = ctx.prevPageLastElemOffset || 0;\r\n\r\n this.ignoreClearRect =\r\n typeof ctx.ignoreClearRect === \"boolean\" ? ctx.ignoreClearRect : true;\r\n return this;\r\n };\r\n\r\n //stub\r\n var f2,\r\n getHorizontalCoordinateString,\r\n getVerticalCoordinateString,\r\n getHorizontalCoordinate,\r\n getVerticalCoordinate,\r\n Point,\r\n Rectangle,\r\n Matrix,\r\n _ctx;\r\n jsPDFAPI.events.push([\r\n \"initialized\",\r\n function() {\r\n this.context2d = new Context2D(this);\r\n\r\n f2 = this.internal.f2;\r\n getHorizontalCoordinateString = this.internal.getCoordinateString;\r\n getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\r\n getHorizontalCoordinate = this.internal.getHorizontalCoordinate;\r\n getVerticalCoordinate = this.internal.getVerticalCoordinate;\r\n Point = this.internal.Point;\r\n Rectangle = this.internal.Rectangle;\r\n Matrix = this.internal.Matrix;\r\n _ctx = new ContextLayer();\r\n }\r\n ]);\r\n\r\n var Context2D = function(pdf) {\r\n Object.defineProperty(this, \"canvas\", {\r\n get: function() {\r\n return { parentNode: false, style: false };\r\n }\r\n });\r\n\r\n var _pdf = pdf;\r\n Object.defineProperty(this, \"pdf\", {\r\n get: function() {\r\n return _pdf;\r\n }\r\n });\r\n\r\n var _pageWrapXEnabled = false;\r\n /**\r\n * @name pageWrapXEnabled\r\n * @type {boolean}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"pageWrapXEnabled\", {\r\n get: function() {\r\n return _pageWrapXEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapXEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _pageWrapYEnabled = false;\r\n /**\r\n * @name pageWrapYEnabled\r\n * @type {boolean}\r\n * @default true\r\n */\r\n Object.defineProperty(this, \"pageWrapYEnabled\", {\r\n get: function() {\r\n return _pageWrapYEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapYEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _posX = 0;\r\n /**\r\n * @name posX\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posX\", {\r\n get: function() {\r\n return _posX;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posX = value;\r\n }\r\n }\r\n });\r\n\r\n var _posY = 0;\r\n /**\r\n * @name posY\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posY\", {\r\n get: function() {\r\n return _posY;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posY = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Gets or sets the page margin when using auto paging. Has no effect when {@link autoPaging} is off.\r\n * @name margin\r\n * @type {number|number[]}\r\n * @default [0, 0, 0, 0]\r\n */\r\n Object.defineProperty(this, \"margin\", {\r\n get: function() {\r\n return _ctx.margin;\r\n },\r\n set: function(value) {\r\n var margin;\r\n if (typeof value === \"number\") {\r\n margin = [value, value, value, value];\r\n } else {\r\n margin = new Array(4);\r\n margin[0] = value[0];\r\n margin[1] = value.length >= 2 ? value[1] : margin[0];\r\n margin[2] = value.length >= 3 ? value[2] : margin[0];\r\n margin[3] = value.length >= 4 ? value[3] : margin[1];\r\n }\r\n _ctx.margin = margin;\r\n }\r\n });\r\n\r\n var _autoPaging = false;\r\n /**\r\n * Gets or sets the auto paging mode. When auto paging is enabled, the context2d will automatically draw on the\r\n * next page if a shape or text chunk doesn't fit entirely on the current page. The context2d will create new\r\n * pages if required.\r\n *\r\n * Context2d supports different modes:\r\n *
      \r\n *
    • \r\n * false: Auto paging is disabled.\r\n *
    • \r\n *
    • \r\n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\r\n * slice text in half, making it difficult to read.\r\n *
    • \r\n *
    • \r\n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\r\n * mostly of a single column of text.\r\n *
    • \r\n *
    \r\n * @name Context2D#autoPaging\r\n * @type {boolean|\"slice\"|\"text\"}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"autoPaging\", {\r\n get: function() {\r\n return _autoPaging;\r\n },\r\n set: function(value) {\r\n _autoPaging = value;\r\n }\r\n });\r\n\r\n var lastBreak = 0;\r\n /**\r\n * @name lastBreak\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"lastBreak\", {\r\n get: function() {\r\n return lastBreak;\r\n },\r\n set: function(value) {\r\n lastBreak = value;\r\n }\r\n });\r\n\r\n var pageBreaks = [];\r\n /**\r\n * Y Position of page breaks.\r\n * @name pageBreaks\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"pageBreaks\", {\r\n get: function() {\r\n return pageBreaks;\r\n },\r\n set: function(value) {\r\n pageBreaks = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctx\r\n * @type {object}\r\n * @default {}\r\n */\r\n Object.defineProperty(this, \"ctx\", {\r\n get: function() {\r\n return _ctx;\r\n },\r\n set: function(value) {\r\n if (value instanceof ContextLayer) {\r\n _ctx = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * @name path\r\n * @type {array}\r\n * @default []\r\n */\r\n Object.defineProperty(this, \"path\", {\r\n get: function() {\r\n return _ctx.path;\r\n },\r\n set: function(value) {\r\n _ctx.path = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctxStack\r\n * @type {array}\r\n * @default []\r\n */\r\n var _ctxStack = [];\r\n Object.defineProperty(this, \"ctxStack\", {\r\n get: function() {\r\n return _ctxStack;\r\n },\r\n set: function(value) {\r\n _ctxStack = value;\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used to fill the drawing\r\n *\r\n * @name fillStyle\r\n * @default #000000\r\n * @property {(color|gradient|pattern)} value The color of the drawing. Default value is #000000
    \r\n * A gradient object (linear or radial) used to fill the drawing (not supported by context2d)
    \r\n * A pattern object to use to fill the drawing (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"fillStyle\", {\r\n get: function() {\r\n return this.ctx.fillStyle;\r\n },\r\n set: function(value) {\r\n var rgba;\r\n rgba = getRGBA(value);\r\n\r\n this.ctx.fillStyle = rgba.style;\r\n this.ctx.isFillTransparent = rgba.a === 0;\r\n this.ctx.fillOpacity = rgba.a;\r\n\r\n this.pdf.setFillColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n this.pdf.setTextColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used for strokes\r\n *\r\n * @name strokeStyle\r\n * @default #000000\r\n * @property {color} color A CSS color value that indicates the stroke color of the drawing. Default value is #000000 (not supported by context2d)\r\n * @property {gradient} gradient A gradient object (linear or radial) used to create a gradient stroke (not supported by context2d)\r\n * @property {pattern} pattern A pattern object used to create a pattern stroke (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"strokeStyle\", {\r\n get: function() {\r\n return this.ctx.strokeStyle;\r\n },\r\n set: function(value) {\r\n var rgba = getRGBA(value);\r\n\r\n this.ctx.strokeStyle = rgba.style;\r\n this.ctx.isStrokeTransparent = rgba.a === 0;\r\n this.ctx.strokeOpacity = rgba.a;\r\n\r\n if (rgba.a === 0) {\r\n this.pdf.setDrawColor(255, 255, 255);\r\n } else if (rgba.a === 1) {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n } else {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the style of the end caps for a line\r\n *\r\n * @name lineCap\r\n * @default butt\r\n * @property {(butt|round|square)} lineCap butt A flat edge is added to each end of the line
    \r\n * round A rounded end cap is added to each end of the line
    \r\n * square A square end cap is added to each end of the line
    \r\n */\r\n Object.defineProperty(this, \"lineCap\", {\r\n get: function() {\r\n return this.ctx.lineCap;\r\n },\r\n set: function(value) {\r\n if ([\"butt\", \"round\", \"square\"].indexOf(value) !== -1) {\r\n this.ctx.lineCap = value;\r\n this.pdf.setLineCap(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the current line width\r\n *\r\n * @name lineWidth\r\n * @default 1\r\n * @property {number} lineWidth The current line width, in pixels\r\n */\r\n Object.defineProperty(this, \"lineWidth\", {\r\n get: function() {\r\n return this.ctx.lineWidth;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.lineWidth = value;\r\n this.pdf.setLineWidth(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the type of corner created, when two lines meet\r\n */\r\n Object.defineProperty(this, \"lineJoin\", {\r\n get: function() {\r\n return this.ctx.lineJoin;\r\n },\r\n set: function(value) {\r\n if ([\"bevel\", \"round\", \"miter\"].indexOf(value) !== -1) {\r\n this.ctx.lineJoin = value;\r\n this.pdf.setLineJoin(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * A number specifying the miter limit ratio in coordinate space units. Zero, negative, Infinity, and NaN values are ignored. The default value is 10.0.\r\n *\r\n * @name miterLimit\r\n * @default 10\r\n */\r\n Object.defineProperty(this, \"miterLimit\", {\r\n get: function() {\r\n return this.ctx.miterLimit;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.miterLimit = value;\r\n this.pdf.setMiterLimit(value);\r\n }\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textBaseline\", {\r\n get: function() {\r\n return this.ctx.textBaseline;\r\n },\r\n set: function(value) {\r\n this.ctx.textBaseline = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textAlign\", {\r\n get: function() {\r\n return this.ctx.textAlign;\r\n },\r\n set: function(value) {\r\n if ([\"right\", \"end\", \"center\", \"left\", \"start\"].indexOf(value) !== -1) {\r\n this.ctx.textAlign = value;\r\n }\r\n }\r\n });\r\n\r\n var _fontFaceMap = null;\r\n\r\n function getFontFaceMap(pdf, fontFaces) {\r\n if (_fontFaceMap === null) {\r\n var fontMap = pdf.getFontList();\r\n\r\n var convertedFontFaces = convertToFontFaces(fontMap);\r\n\r\n _fontFaceMap = buildFontFaceMap(convertedFontFaces.concat(fontFaces));\r\n }\r\n\r\n return _fontFaceMap;\r\n }\r\n\r\n function convertToFontFaces(fontMap) {\r\n var fontFaces = [];\r\n\r\n Object.keys(fontMap).forEach(function(family) {\r\n var styles = fontMap[family];\r\n\r\n styles.forEach(function(style) {\r\n var fontFace = null;\r\n\r\n switch (style) {\r\n case \"bold\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\"\r\n };\r\n break;\r\n\r\n case \"italic\":\r\n fontFace = {\r\n family: family,\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"bolditalic\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\",\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"\":\r\n case \"normal\":\r\n fontFace = {\r\n family: family\r\n };\r\n break;\r\n }\r\n\r\n // If font-face is still null here, it is a font with some styling we don't recognize and\r\n // cannot map or it is a font added via the fontFaces option of .html().\r\n if (fontFace !== null) {\r\n fontFace.ref = {\r\n name: family,\r\n style: style\r\n };\r\n\r\n fontFaces.push(fontFace);\r\n }\r\n });\r\n });\r\n\r\n return fontFaces;\r\n }\r\n\r\n var _fontFaces = null;\r\n /**\r\n * A map of available font-faces, as passed in the options of\r\n * .html(). If set a limited implementation of the font style matching\r\n * algorithm defined by https://www.w3.org/TR/css-fonts-3/#font-matching-algorithm\r\n * will be used. If not set it will fallback to previous behavior.\r\n */\r\n\r\n Object.defineProperty(this, \"fontFaces\", {\r\n get: function() {\r\n return _fontFaces;\r\n },\r\n set: function(value) {\r\n _fontFaceMap = null;\r\n _fontFaces = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"font\", {\r\n get: function() {\r\n return this.ctx.font;\r\n },\r\n set: function(value) {\r\n this.ctx.font = value;\r\n var rx, matches;\r\n\r\n //source: https://stackoverflow.com/a/10136041\r\n // eslint-disable-next-line no-useless-escape\r\n rx = /^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i;\r\n matches = rx.exec(value);\r\n if (matches !== null) {\r\n var fontStyle = matches[1];\r\n var fontVariant = matches[2];\r\n var fontWeight = matches[3];\r\n var fontSize = matches[4];\r\n var lineHeight = matches[5];\r\n var fontFamily = matches[6];\r\n } else {\r\n return;\r\n }\r\n var rxFontSize = /^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i;\r\n var fontSizeUnit = rxFontSize.exec(fontSize)[2];\r\n\r\n if (\"px\" === fontSizeUnit) {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n } else if (\"em\" === fontSizeUnit) {\r\n fontSize = Math.floor(parseFloat(fontSize) * this.pdf.getFontSize());\r\n } else {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n }\r\n\r\n this.pdf.setFontSize(fontSize);\r\n var parts = parseFontFamily(fontFamily);\r\n\r\n if (this.fontFaces) {\r\n var fontFaceMap = getFontFaceMap(this.pdf, this.fontFaces);\r\n\r\n var rules = parts.map(function(ff) {\r\n return {\r\n family: ff,\r\n stretch: \"normal\", // TODO: Extract font-stretch from font rule (perhaps write proper parser for it?)\r\n weight: fontWeight,\r\n style: fontStyle\r\n };\r\n });\r\n\r\n var font = resolveFontFace(fontFaceMap, rules);\r\n this.pdf.setFont(font.ref.name, font.ref.style);\r\n return;\r\n }\r\n\r\n var style = \"\";\r\n if (\r\n fontWeight === \"bold\" ||\r\n parseInt(fontWeight, 10) >= 700 ||\r\n fontStyle === \"bold\"\r\n ) {\r\n style = \"bold\";\r\n }\r\n\r\n if (fontStyle === \"italic\") {\r\n style += \"italic\";\r\n }\r\n\r\n if (style.length === 0) {\r\n style = \"normal\";\r\n }\r\n var jsPdfFontName = \"\";\r\n\r\n var fallbackFonts = {\r\n arial: \"Helvetica\",\r\n Arial: \"Helvetica\",\r\n verdana: \"Helvetica\",\r\n Verdana: \"Helvetica\",\r\n helvetica: \"Helvetica\",\r\n Helvetica: \"Helvetica\",\r\n \"sans-serif\": \"Helvetica\",\r\n fixed: \"Courier\",\r\n monospace: \"Courier\",\r\n terminal: \"Courier\",\r\n cursive: \"Times\",\r\n fantasy: \"Times\",\r\n serif: \"Times\"\r\n };\r\n\r\n for (var i = 0; i < parts.length; i++) {\r\n if (\r\n this.pdf.internal.getFont(parts[i], style, {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n break;\r\n } else if (\r\n style === \"bolditalic\" &&\r\n this.pdf.internal.getFont(parts[i], \"bold\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"bold\";\r\n } else if (\r\n this.pdf.internal.getFont(parts[i], \"normal\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"normal\";\r\n break;\r\n }\r\n }\r\n if (jsPdfFontName === \"\") {\r\n for (var j = 0; j < parts.length; j++) {\r\n if (fallbackFonts[parts[j]]) {\r\n jsPdfFontName = fallbackFonts[parts[j]];\r\n break;\r\n }\r\n }\r\n }\r\n jsPdfFontName = jsPdfFontName === \"\" ? \"Times\" : jsPdfFontName;\r\n this.pdf.setFont(jsPdfFontName, style);\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalCompositeOperation\", {\r\n get: function() {\r\n return this.ctx.globalCompositeOperation;\r\n },\r\n set: function(value) {\r\n this.ctx.globalCompositeOperation = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalAlpha\", {\r\n get: function() {\r\n return this.ctx.globalAlpha;\r\n },\r\n set: function(value) {\r\n this.ctx.globalAlpha = value;\r\n }\r\n });\r\n\r\n /**\r\n * A float specifying the amount of the line dash offset. The default value is 0.0.\r\n *\r\n * @name lineDashOffset\r\n * @default 0.0\r\n */\r\n Object.defineProperty(this, \"lineDashOffset\", {\r\n get: function() {\r\n return this.ctx.lineDashOffset;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDashOffset = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"lineDash\", {\r\n get: function() {\r\n return this.ctx.lineDash;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDash = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"ignoreClearRect\", {\r\n get: function() {\r\n return this.ctx.ignoreClearRect;\r\n },\r\n set: function(value) {\r\n this.ctx.ignoreClearRect = Boolean(value);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Sets the line dash pattern used when stroking lines.\r\n * @name setLineDash\r\n * @function\r\n * @description It uses an array of values that specify alternating lengths of lines and gaps which describe the pattern.\r\n */\r\n Context2D.prototype.setLineDash = function(dashArray) {\r\n this.lineDash = dashArray;\r\n };\r\n\r\n /**\r\n * gets the current line dash pattern.\r\n * @name getLineDash\r\n * @function\r\n * @returns {Array} An Array of numbers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number, when setting the elements, is odd, the elements of the array get copied and concatenated. For example, setting the line dash to [5, 15, 25] will result in getting back [5, 15, 25, 5, 15, 25].\r\n */\r\n Context2D.prototype.getLineDash = function() {\r\n if (this.lineDash.length % 2) {\r\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getLineDash#return_value\r\n return this.lineDash.concat(this.lineDash);\r\n } else {\r\n // The copied value is returned to prevent contamination from outside.\r\n return this.lineDash.slice();\r\n }\r\n };\r\n\r\n Context2D.prototype.fill = function() {\r\n pathPreProcess.call(this, \"fill\", false);\r\n };\r\n\r\n /**\r\n * Actually draws the path you have defined\r\n *\r\n * @name stroke\r\n * @function\r\n * @description The stroke() method actually draws the path you have defined with all those moveTo() and lineTo() methods. The default color is black.\r\n */\r\n Context2D.prototype.stroke = function() {\r\n pathPreProcess.call(this, \"stroke\", false);\r\n };\r\n\r\n /**\r\n * Begins a path, or resets the current\r\n *\r\n * @name beginPath\r\n * @function\r\n * @description The beginPath() method begins a path, or resets the current path.\r\n */\r\n Context2D.prototype.beginPath = function() {\r\n this.path = [\r\n {\r\n type: \"begin\"\r\n }\r\n ];\r\n };\r\n\r\n /**\r\n * Moves the path to the specified point in the canvas, without creating a line\r\n *\r\n * @name moveTo\r\n * @function\r\n * @param x {Number} The x-coordinate of where to move the path to\r\n * @param y {Number} The y-coordinate of where to move the path to\r\n */\r\n Context2D.prototype.moveTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.moveTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"mt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(x, y);\r\n };\r\n\r\n /**\r\n * Creates a path from the current point back to the starting point\r\n *\r\n * @name closePath\r\n * @function\r\n * @description The closePath() method creates a path from the current point back to the starting point.\r\n */\r\n Context2D.prototype.closePath = function() {\r\n var pathBegin = new Point(0, 0);\r\n var i = 0;\r\n for (i = this.path.length - 1; i !== -1; i--) {\r\n if (this.path[i].type === \"begin\") {\r\n if (\r\n typeof this.path[i + 1] === \"object\" &&\r\n typeof this.path[i + 1].x === \"number\"\r\n ) {\r\n pathBegin = new Point(this.path[i + 1].x, this.path[i + 1].y);\r\n break;\r\n }\r\n }\r\n }\r\n this.path.push({\r\n type: \"close\"\r\n });\r\n this.ctx.lastPoint = new Point(pathBegin.x, pathBegin.y);\r\n };\r\n\r\n /**\r\n * Adds a new point and creates a line to that point from the last specified point in the canvas\r\n *\r\n * @name lineTo\r\n * @function\r\n * @param x The x-coordinate of where to create the line to\r\n * @param y The y-coordinate of where to create the line to\r\n * @description The lineTo() method adds a new point and creates a line TO that point FROM the last specified point in the canvas (this method does not draw the line).\r\n */\r\n Context2D.prototype.lineTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.lineTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"lt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(pt.x, pt.y);\r\n };\r\n\r\n /**\r\n * Clips a region of any shape and size from the original canvas\r\n *\r\n * @name clip\r\n * @function\r\n * @description The clip() method clips a region of any shape and size from the original canvas.\r\n */\r\n Context2D.prototype.clip = function() {\r\n this.ctx.clip_path = JSON.parse(JSON.stringify(this.path));\r\n pathPreProcess.call(this, null, true);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name quadraticCurveTo\r\n * @function\r\n * @param cpx {Number} The x-coordinate of the Bézier control point\r\n * @param cpy {Number} The y-coordinate of the Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The quadraticCurveTo() method adds a point to the current path by using the specified control points that represent a quadratic Bézier curve.

    A quadratic Bézier curve requires two points. The first point is a control point that is used in the quadratic Bézier calculation and the second point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {\r\n if (isNaN(x) || isNaN(y) || isNaN(cpx) || isNaN(cpy)) {\r\n console.error(\r\n \"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\"\r\n );\r\n }\r\n\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cpx, cpy));\r\n\r\n this.path.push({\r\n type: \"qct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name bezierCurveTo\r\n * @function\r\n * @param cp1x {Number} The x-coordinate of the first Bézier control point\r\n * @param cp1y {Number} The y-coordinate of the first Bézier control point\r\n * @param cp2x {Number} The x-coordinate of the second Bézier control point\r\n * @param cp2y {Number} The y-coordinate of the second Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The bezierCurveTo() method adds a point to the current path by using the specified control points that represent a cubic Bézier curve.

    A cubic bezier curve requires three points. The first two points are control points that are used in the cubic Bézier calculation and the last point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.bezierCurveTo = function(cp1x, cp1y, cp2x, cp2y, x, y) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(cp1x) ||\r\n isNaN(cp1y) ||\r\n isNaN(cp2x) ||\r\n isNaN(cp2y)\r\n ) {\r\n console.error(\r\n \"jsPDF.context2d.bezierCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\"\r\n );\r\n }\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cp1x, cp1y));\r\n var pt2 = this.ctx.transform.applyToPoint(new Point(cp2x, cp2y));\r\n\r\n this.path.push({\r\n type: \"bct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x2: pt2.x,\r\n y2: pt2.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates an arc/curve (used to create circles, or parts of circles)\r\n *\r\n * @name arc\r\n * @function\r\n * @param x {Number} The x-coordinate of the center of the circle\r\n * @param y {Number} The y-coordinate of the center of the circle\r\n * @param radius {Number} The radius of the circle\r\n * @param startAngle {Number} The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle)\r\n * @param endAngle {Number} The ending angle, in radians\r\n * @param counterclockwise {Boolean} Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise.\r\n * @description The arc() method creates an arc/curve (used to create circles, or parts of circles).\r\n */\r\n Context2D.prototype.arc = function(\r\n x,\r\n y,\r\n radius,\r\n startAngle,\r\n endAngle,\r\n counterclockwise\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(radius) ||\r\n isNaN(startAngle) ||\r\n isNaN(endAngle)\r\n ) {\r\n console.error(\"jsPDF.context2d.arc: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");\r\n }\r\n counterclockwise = Boolean(counterclockwise);\r\n\r\n if (!this.ctx.transform.isIdentity) {\r\n var xpt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n x = xpt.x;\r\n y = xpt.y;\r\n\r\n var x_radPt = this.ctx.transform.applyToPoint(new Point(0, radius));\r\n var x_radPt0 = this.ctx.transform.applyToPoint(new Point(0, 0));\r\n radius = Math.sqrt(\r\n Math.pow(x_radPt.x - x_radPt0.x, 2) +\r\n Math.pow(x_radPt.y - x_radPt0.y, 2)\r\n );\r\n }\r\n if (Math.abs(endAngle - startAngle) >= 2 * Math.PI) {\r\n startAngle = 0;\r\n endAngle = 2 * Math.PI;\r\n }\r\n\r\n this.path.push({\r\n type: \"arc\",\r\n x: x,\r\n y: y,\r\n radius: radius,\r\n startAngle: startAngle,\r\n endAngle: endAngle,\r\n counterclockwise: counterclockwise\r\n });\r\n // this.ctx.lastPoint(new Point(pt.x,pt.y));\r\n };\r\n\r\n /**\r\n * Creates an arc/curve between two tangents\r\n *\r\n * @name arcTo\r\n * @function\r\n * @param x1 {Number} The x-coordinate of the first tangent\r\n * @param y1 {Number} The y-coordinate of the first tangent\r\n * @param x2 {Number} The x-coordinate of the second tangent\r\n * @param y2 {Number} The y-coordinate of the second tangent\r\n * @param radius The radius of the arc\r\n * @description The arcTo() method creates an arc/curve between two tangents on the canvas.\r\n */\r\n // eslint-disable-next-line no-unused-vars\r\n Context2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {\r\n throw new Error(\"arcTo not implemented.\");\r\n };\r\n\r\n /**\r\n * Creates a rectangle\r\n *\r\n * @name rect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The rect() method creates a rectangle.\r\n */\r\n Context2D.prototype.rect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.rect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");\r\n }\r\n this.moveTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x + w, y + h);\r\n this.lineTo(x, y + h);\r\n this.lineTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x, y);\r\n };\r\n\r\n /**\r\n * Draws a \"filled\" rectangle\r\n *\r\n * @name fillRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The fillRect() method draws a \"filled\" rectangle. The default color of the fill is black.\r\n */\r\n Context2D.prototype.fillRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.fillRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");\r\n }\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n var tmp = {};\r\n if (this.lineCap !== \"butt\") {\r\n tmp.lineCap = this.lineCap;\r\n this.lineCap = \"butt\";\r\n }\r\n if (this.lineJoin !== \"miter\") {\r\n tmp.lineJoin = this.lineJoin;\r\n this.lineJoin = \"miter\";\r\n }\r\n\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.fill();\r\n\r\n if (tmp.hasOwnProperty(\"lineCap\")) {\r\n this.lineCap = tmp.lineCap;\r\n }\r\n if (tmp.hasOwnProperty(\"lineJoin\")) {\r\n this.lineJoin = tmp.lineJoin;\r\n }\r\n };\r\n\r\n /**\r\n * Draws a rectangle (no fill)\r\n *\r\n * @name strokeRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The strokeRect() method draws a rectangle (no fill). The default color of the stroke is black.\r\n */\r\n Context2D.prototype.strokeRect = function strokeRect(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.stroke();\r\n };\r\n\r\n /**\r\n * Clears the specified pixels within a given rectangle\r\n *\r\n * @name clearRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle to clear, in pixels\r\n * @param h {Number} The height of the rectangle to clear, in pixels\r\n * @description We cannot clear PDF commands that were already written to PDF, so we use white instead.
    \r\n * As a special case, read a special flag (ignoreClearRect) and do nothing if it is set.\r\n * This results in all calls to clearRect() to do nothing, and keep the canvas transparent.\r\n * This flag is stored in the save/restore context and is managed the same way as other drawing states.\r\n *\r\n */\r\n Context2D.prototype.clearRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.clearRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");\r\n }\r\n if (this.ignoreClearRect) {\r\n return;\r\n }\r\n\r\n this.fillStyle = \"#ffffff\";\r\n this.fillRect(x, y, w, h);\r\n };\r\n\r\n /**\r\n * Saves the state of the current context\r\n *\r\n * @name save\r\n * @function\r\n */\r\n Context2D.prototype.save = function(doStackPush) {\r\n doStackPush = typeof doStackPush === \"boolean\" ? doStackPush : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPush) {\r\n this.ctx.fontSize = this.pdf.internal.getFontSize();\r\n var ctx = new ContextLayer(this.ctx);\r\n this.ctxStack.push(this.ctx);\r\n this.ctx = ctx;\r\n }\r\n };\r\n\r\n /**\r\n * Returns previously saved path state and attributes\r\n *\r\n * @name restore\r\n * @function\r\n */\r\n Context2D.prototype.restore = function(doStackPop) {\r\n doStackPop = typeof doStackPop === \"boolean\" ? doStackPop : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"Q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPop && this.ctxStack.length !== 0) {\r\n this.ctx = this.ctxStack.pop();\r\n this.fillStyle = this.ctx.fillStyle;\r\n this.strokeStyle = this.ctx.strokeStyle;\r\n this.font = this.ctx.font;\r\n this.lineCap = this.ctx.lineCap;\r\n this.lineWidth = this.ctx.lineWidth;\r\n this.lineJoin = this.ctx.lineJoin;\r\n this.lineDash = this.ctx.lineDash;\r\n this.lineDashOffset = this.ctx.lineDashOffset;\r\n }\r\n };\r\n\r\n /**\r\n * @name toDataURL\r\n * @function\r\n */\r\n Context2D.prototype.toDataURL = function() {\r\n throw new Error(\"toDataUrl not implemented.\");\r\n };\r\n\r\n //helper functions\r\n\r\n /**\r\n * Get the decimal values of r, g, b and a\r\n *\r\n * @name getRGBA\r\n * @function\r\n * @private\r\n * @ignore\r\n */\r\n var getRGBA = function(style) {\r\n var rxRgb = /rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/;\r\n var rxRgba = /rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/;\r\n var rxTransparent = /transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/;\r\n\r\n var r, g, b, a;\r\n\r\n if (style.isCanvasGradient === true) {\r\n style = style.getColor();\r\n }\r\n\r\n if (!style) {\r\n return { r: 0, g: 0, b: 0, a: 0, style: style };\r\n }\r\n\r\n if (rxTransparent.test(style)) {\r\n r = 0;\r\n g = 0;\r\n b = 0;\r\n a = 0;\r\n } else {\r\n var matches = rxRgb.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = 1;\r\n } else {\r\n matches = rxRgba.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = parseFloat(matches[4]);\r\n } else {\r\n a = 1;\r\n\r\n if (typeof style === \"string\" && style.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(style);\r\n if (rgbColor.ok) {\r\n style = rgbColor.toHex();\r\n } else {\r\n style = \"#000000\";\r\n }\r\n }\r\n\r\n if (style.length === 4) {\r\n r = style.substring(1, 2);\r\n r += r;\r\n g = style.substring(2, 3);\r\n g += g;\r\n b = style.substring(3, 4);\r\n b += b;\r\n } else {\r\n r = style.substring(1, 3);\r\n g = style.substring(3, 5);\r\n b = style.substring(5, 7);\r\n }\r\n r = parseInt(r, 16);\r\n g = parseInt(g, 16);\r\n b = parseInt(b, 16);\r\n }\r\n }\r\n }\r\n return { r: r, g: g, b: b, a: a, style: style };\r\n };\r\n\r\n /**\r\n * @name isFillTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isFillTransparent = function() {\r\n return this.ctx.isFillTransparent || this.globalAlpha == 0;\r\n };\r\n\r\n /**\r\n * @name isStrokeTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isStrokeTransparent = function() {\r\n return Boolean(this.ctx.isStrokeTransparent || this.globalAlpha == 0);\r\n };\r\n\r\n /**\r\n * Draws \"filled\" text on the canvas\r\n *\r\n * @name fillText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The fillText() method draws filled text on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.fillText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.fillText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");\r\n }\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n\r\n // We only use X axis as scale hint\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Draws text on the canvas (no fill)\r\n *\r\n * @name strokeText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The strokeText() method draws text (with no fill) on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.strokeText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.strokeText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n renderingMode: \"stroke\",\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Returns an object that contains the width of the specified text\r\n *\r\n * @name measureText\r\n * @function\r\n * @param text {String} The text to be measured\r\n * @description The measureText() method returns an object that contains the width of the specified text, in pixels.\r\n * @returns {Number}\r\n */\r\n Context2D.prototype.measureText = function(text) {\r\n if (typeof text !== \"string\") {\r\n console.error(\r\n \"jsPDF.context2d.measureText: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.measureText\"\r\n );\r\n }\r\n var pdf = this.pdf;\r\n var k = this.pdf.internal.scaleFactor;\r\n\r\n var fontSize = pdf.internal.getFontSize();\r\n var txtWidth =\r\n (pdf.getStringUnitWidth(text) * fontSize) / pdf.internal.scaleFactor;\r\n txtWidth *= Math.round(((k * 96) / 72) * 10000) / 10000;\r\n\r\n var TextMetrics = function(options) {\r\n options = options || {};\r\n var _width = options.width || 0;\r\n Object.defineProperty(this, \"width\", {\r\n get: function() {\r\n return _width;\r\n }\r\n });\r\n return this;\r\n };\r\n return new TextMetrics({ width: txtWidth });\r\n };\r\n\r\n //Transformations\r\n\r\n /**\r\n * Scales the current drawing bigger or smaller\r\n *\r\n * @name scale\r\n * @function\r\n * @param scalewidth {Number} Scales the width of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @param scaleheight {Number} Scales the height of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @description The scale() method scales the current drawing, bigger or smaller.\r\n */\r\n Context2D.prototype.scale = function(scalewidth, scaleheight) {\r\n if (isNaN(scalewidth) || isNaN(scaleheight)) {\r\n console.error(\"jsPDF.context2d.scale: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");\r\n }\r\n var matrix = new Matrix(scalewidth, 0.0, 0.0, scaleheight, 0.0, 0.0);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Rotates the current drawing\r\n *\r\n * @name rotate\r\n * @function\r\n * @param angle {Number} The rotation angle, in radians.\r\n * @description To calculate from degrees to radians: degrees*Math.PI/180.
    \r\n * Example: to rotate 5 degrees, specify the following: 5*Math.PI/180\r\n */\r\n Context2D.prototype.rotate = function(angle) {\r\n if (isNaN(angle)) {\r\n console.error(\"jsPDF.context2d.rotate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");\r\n }\r\n var matrix = new Matrix(\r\n Math.cos(angle),\r\n Math.sin(angle),\r\n -Math.sin(angle),\r\n Math.cos(angle),\r\n 0.0,\r\n 0.0\r\n );\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Remaps the (0,0) position on the canvas\r\n *\r\n * @name translate\r\n * @function\r\n * @param x {Number} The value to add to horizontal (x) coordinates\r\n * @param y {Number} The value to add to vertical (y) coordinates\r\n * @description The translate() method remaps the (0,0) position on the canvas.\r\n */\r\n Context2D.prototype.translate = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.translate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");\r\n }\r\n var matrix = new Matrix(1.0, 0.0, 0.0, 1.0, x, y);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Replaces the current transformation matrix for the drawing\r\n *\r\n * @name transform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The transform() method replaces the current transformation matrix. It multiplies the current transformation matrix with the matrix described by:



    a c e

    b d f

    0 0 1

    In other words, the transform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.transform = function(a, b, c, d, e, f) {\r\n if (isNaN(a) || isNaN(b) || isNaN(c) || isNaN(d) || isNaN(e) || isNaN(f)) {\r\n console.error(\"jsPDF.context2d.transform: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");\r\n }\r\n var matrix = new Matrix(a, b, c, d, e, f);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Resets the current transform to the identity matrix. Then runs transform()\r\n *\r\n * @name setTransform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The setTransform() method resets the current transform to the identity matrix, and then runs transform() with the same arguments.

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name fileloading\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name loadFile\n * @function\n * @param {string} url\n * @param {boolean} sync\n * @param {function} callback\n * @returns {string|undefined} result\n */\n jsPDFAPI.loadFile = function(url, sync, callback) {\n return browserRequest(url, sync, callback);\n\n };\n\n /**\n * @name loadImageFile\n * @function\n * @param {string} path\n * @param {boolean} sync\n * @param {function} callback\n */\n jsPDFAPI.loadImageFile = jsPDFAPI.loadFile;\n\n function browserRequest(url, sync, callback) {\n sync = sync === false ? false : true;\n callback = typeof callback === \"function\" ? callback : function() {};\n var result = undefined;\n\n var xhr = function(url, sync, callback) {\n var request = new XMLHttpRequest();\n var i = 0;\n\n var sanitizeUnicode = function(data) {\n var dataLength = data.length;\n var charArray = [];\n var StringFromCharCode = String.fromCharCode;\n\n //Transform Unicode to ASCII\n for (i = 0; i < dataLength; i += 1) {\n charArray.push(StringFromCharCode(data.charCodeAt(i) & 0xff));\n }\n return charArray.join(\"\");\n };\n\n request.open(\"GET\", url, !sync);\n // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]\n request.overrideMimeType(\"text/plain; charset=x-user-defined\");\n\n if (sync === false) {\n request.onload = function() {\n if (request.status === 200) {\n callback(sanitizeUnicode(this.responseText));\n } else {\n callback(undefined);\n }\n };\n }\n request.send(null);\n\n if (sync && request.status === 200) {\n return sanitizeUnicode(request.responseText);\n }\n };\n try {\n result = xhr(url, sync, callback);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n return result;\n }\n\n function nodeReadFile(url, sync, callback) {\n sync = sync === false ? false : true;\n var result = undefined;\n\n var fs = require(\"fs\");\n var path = require(\"path\");\n\n url = path.resolve(url);\n if (sync) {\n try {\n result = fs.readFileSync(url, { encoding: \"latin1\" });\n } catch (e) {\n return undefined;\n }\n } else {\n fs.readFile(url, { encoding: \"latin1\" }, function(err, data) {\n if (!callback) {\n return;\n }\n if (err) {\n callback(undefined);\n }\n callback(data);\n });\n }\n\n return result;\n }\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\\nbracketleft backslash bracketright asciicircum underscore grave\\na b c d e f g h i j k l m n o p q r s t u v w x y z\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport raf from \"rc-util/es/raf\";\nfunction throttleByAnimationFrame(fn) {\n let requestId;\n const later = args => () => {\n requestId = null;\n fn.apply(void 0, _toConsumableArray(args));\n };\n const throttled = function () {\n if (requestId == null) {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n requestId = raf(later(args));\n }\n };\n throttled.cancel = () => {\n raf.cancel(requestId);\n requestId = null;\n };\n return throttled;\n}\nexport default throttleByAnimationFrame;","import { genStyleHooks } from '../../theme/internal';\n// ============================== Shared ==============================\nconst genSharedAffixStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: {\n position: 'fixed',\n zIndex: token.zIndexPopup\n }\n };\n};\nexport const prepareComponentToken = token => ({\n zIndexPopup: token.zIndexBase + 10\n});\n// ============================== Export ==============================\nexport default genStyleHooks('Affix', genSharedAffixStyle, prepareComponentToken);","export function getTargetRect(target) {\n return target !== window ? target.getBoundingClientRect() : {\n top: 0,\n bottom: window.innerHeight\n };\n}\nexport function getFixedTop(placeholderRect, targetRect, offsetTop) {\n if (offsetTop !== undefined && Math.round(targetRect.top) > Math.round(placeholderRect.top) - offsetTop) {\n return offsetTop + targetRect.top;\n }\n return undefined;\n}\nexport function getFixedBottom(placeholderRect, targetRect, offsetBottom) {\n if (offsetBottom !== undefined && Math.round(targetRect.bottom) < Math.round(placeholderRect.bottom) + offsetBottom) {\n const targetBottomOffset = window.innerHeight - targetRect.bottom;\n return offsetBottom + targetBottomOffset;\n }\n return undefined;\n}","\"use client\";\n\nimport React from 'react';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport omit from \"rc-util/es/omit\";\nimport throttleByAnimationFrame from '../_util/throttleByAnimationFrame';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nimport { getFixedBottom, getFixedTop, getTargetRect } from './utils';\nconst TRIGGER_EVENTS = ['resize', 'scroll', 'touchstart', 'touchmove', 'touchend', 'pageshow', 'load'];\nfunction getDefaultTarget() {\n return typeof window !== 'undefined' ? window : null;\n}\nconst AFFIX_STATUS_NONE = 0;\nconst AFFIX_STATUS_PREPARE = 1;\nconst Affix = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a;\n const {\n style,\n offsetTop,\n offsetBottom,\n prefixCls,\n className,\n rootClassName,\n children,\n target,\n onChange\n } = props;\n const {\n getPrefixCls,\n getTargetContainer\n } = React.useContext(ConfigContext);\n const affixPrefixCls = getPrefixCls('affix', prefixCls);\n const [lastAffix, setLastAffix] = React.useState(false);\n const [affixStyle, setAffixStyle] = React.useState();\n const [placeholderStyle, setPlaceholderStyle] = React.useState();\n const status = React.useRef(AFFIX_STATUS_NONE);\n const prevTarget = React.useRef(null);\n const prevListener = React.useRef();\n const placeholderNodeRef = React.useRef(null);\n const fixedNodeRef = React.useRef(null);\n const timer = React.useRef(null);\n const targetFunc = (_a = target !== null && target !== void 0 ? target : getTargetContainer) !== null && _a !== void 0 ? _a : getDefaultTarget;\n const internalOffsetTop = offsetBottom === undefined && offsetTop === undefined ? 0 : offsetTop;\n // =================== Measure ===================\n const measure = () => {\n if (status.current !== AFFIX_STATUS_PREPARE || !fixedNodeRef.current || !placeholderNodeRef.current || !targetFunc) {\n return;\n }\n const targetNode = targetFunc();\n if (targetNode) {\n const newState = {\n status: AFFIX_STATUS_NONE\n };\n const placeholderRect = getTargetRect(placeholderNodeRef.current);\n if (placeholderRect.top === 0 && placeholderRect.left === 0 && placeholderRect.width === 0 && placeholderRect.height === 0) {\n return;\n }\n const targetRect = getTargetRect(targetNode);\n const fixedTop = getFixedTop(placeholderRect, targetRect, internalOffsetTop);\n const fixedBottom = getFixedBottom(placeholderRect, targetRect, offsetBottom);\n if (fixedTop !== undefined) {\n newState.affixStyle = {\n position: 'fixed',\n top: fixedTop,\n width: placeholderRect.width,\n height: placeholderRect.height\n };\n newState.placeholderStyle = {\n width: placeholderRect.width,\n height: placeholderRect.height\n };\n } else if (fixedBottom !== undefined) {\n newState.affixStyle = {\n position: 'fixed',\n bottom: fixedBottom,\n width: placeholderRect.width,\n height: placeholderRect.height\n };\n newState.placeholderStyle = {\n width: placeholderRect.width,\n height: placeholderRect.height\n };\n }\n newState.lastAffix = !!newState.affixStyle;\n if (lastAffix !== newState.lastAffix) {\n onChange === null || onChange === void 0 ? void 0 : onChange(newState.lastAffix);\n }\n status.current = newState.status;\n setAffixStyle(newState.affixStyle);\n setPlaceholderStyle(newState.placeholderStyle);\n setLastAffix(newState.lastAffix);\n }\n };\n const prepareMeasure = () => {\n var _a;\n status.current = AFFIX_STATUS_PREPARE;\n measure();\n if (process.env.NODE_ENV === 'test') {\n (_a = props === null || props === void 0 ? void 0 : props.onTestUpdatePosition) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n };\n const updatePosition = throttleByAnimationFrame(() => {\n prepareMeasure();\n });\n const lazyUpdatePosition = throttleByAnimationFrame(() => {\n // Check position change before measure to make Safari smooth\n if (targetFunc && affixStyle) {\n const targetNode = targetFunc();\n if (targetNode && placeholderNodeRef.current) {\n const targetRect = getTargetRect(targetNode);\n const placeholderRect = getTargetRect(placeholderNodeRef.current);\n const fixedTop = getFixedTop(placeholderRect, targetRect, internalOffsetTop);\n const fixedBottom = getFixedBottom(placeholderRect, targetRect, offsetBottom);\n if (fixedTop !== undefined && affixStyle.top === fixedTop || fixedBottom !== undefined && affixStyle.bottom === fixedBottom) {\n return;\n }\n }\n }\n // Directly call prepare measure since it's already throttled.\n prepareMeasure();\n });\n const addListeners = () => {\n const listenerTarget = targetFunc === null || targetFunc === void 0 ? void 0 : targetFunc();\n if (!listenerTarget) {\n return;\n }\n TRIGGER_EVENTS.forEach(eventName => {\n var _a;\n if (prevListener.current) {\n (_a = prevTarget.current) === null || _a === void 0 ? void 0 : _a.removeEventListener(eventName, prevListener.current);\n }\n listenerTarget === null || listenerTarget === void 0 ? void 0 : listenerTarget.addEventListener(eventName, lazyUpdatePosition);\n });\n prevTarget.current = listenerTarget;\n prevListener.current = lazyUpdatePosition;\n };\n const removeListeners = () => {\n if (timer.current) {\n clearTimeout(timer.current);\n timer.current = null;\n }\n const newTarget = targetFunc === null || targetFunc === void 0 ? void 0 : targetFunc();\n TRIGGER_EVENTS.forEach(eventName => {\n var _a;\n newTarget === null || newTarget === void 0 ? void 0 : newTarget.removeEventListener(eventName, lazyUpdatePosition);\n if (prevListener.current) {\n (_a = prevTarget.current) === null || _a === void 0 ? void 0 : _a.removeEventListener(eventName, prevListener.current);\n }\n });\n updatePosition.cancel();\n lazyUpdatePosition.cancel();\n };\n React.useImperativeHandle(ref, () => ({\n updatePosition\n }));\n // mount & unmount\n React.useEffect(() => {\n // [Legacy] Wait for parent component ref has its value.\n // We should use target as directly element instead of function which makes element check hard.\n timer.current = setTimeout(addListeners);\n return () => removeListeners();\n }, []);\n React.useEffect(() => {\n addListeners();\n }, [target, affixStyle]);\n React.useEffect(() => {\n updatePosition();\n }, [target, offsetTop, offsetBottom]);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(affixPrefixCls);\n const rootCls = classNames(rootClassName, hashId, affixPrefixCls, cssVarCls);\n const mergedCls = classNames({\n [rootCls]: affixStyle\n });\n let otherProps = omit(props, ['prefixCls', 'offsetTop', 'offsetBottom', 'target', 'onChange', 'rootClassName']);\n if (process.env.NODE_ENV === 'test') {\n otherProps = omit(otherProps, ['onTestUpdatePosition']);\n }\n return wrapCSSVar( /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: updatePosition\n }, /*#__PURE__*/React.createElement(\"div\", Object.assign({\n style: style,\n className: className,\n ref: placeholderNodeRef\n }, otherProps), affixStyle && /*#__PURE__*/React.createElement(\"div\", {\n style: placeholderStyle,\n \"aria-hidden\": \"true\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: mergedCls,\n ref: fixedNodeRef,\n style: affixStyle\n }, /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: updatePosition\n }, children)))));\n});\nif (process.env.NODE_ENV !== 'production') {\n Affix.displayName = 'Affix';\n}\nexport default Affix;","import * as React from 'react';\nconst AnchorContext = /*#__PURE__*/React.createContext(undefined);\nexport default AnchorContext;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport AnchorContext from './context';\nconst AnchorLink = props => {\n const {\n href,\n title,\n prefixCls: customizePrefixCls,\n children,\n className,\n target,\n replace\n } = props;\n const context = React.useContext(AnchorContext);\n const {\n registerLink,\n unregisterLink,\n scrollTo,\n onClick,\n activeLink,\n direction\n } = context || {};\n React.useEffect(() => {\n registerLink === null || registerLink === void 0 ? void 0 : registerLink(href);\n return () => {\n unregisterLink === null || unregisterLink === void 0 ? void 0 : unregisterLink(href);\n };\n }, [href]);\n const handleClick = e => {\n onClick === null || onClick === void 0 ? void 0 : onClick(e, {\n title,\n href\n });\n scrollTo === null || scrollTo === void 0 ? void 0 : scrollTo(href);\n if (replace) {\n e.preventDefault();\n window.location.replace(href);\n }\n };\n // =================== Warning =====================\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Anchor.Link');\n process.env.NODE_ENV !== \"production\" ? warning(!children || direction !== 'horizontal', 'usage', '`Anchor.Link children` is not supported when `Anchor` direction is horizontal') : void 0;\n }\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('anchor', customizePrefixCls);\n const active = activeLink === href;\n const wrapperClassName = classNames(`${prefixCls}-link`, className, {\n [`${prefixCls}-link-active`]: active\n });\n const titleClassName = classNames(`${prefixCls}-link-title`, {\n [`${prefixCls}-link-title-active`]: active\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: wrapperClassName\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: titleClassName,\n href: href,\n title: typeof title === 'string' ? title : '',\n target: target,\n onClick: handleClick\n }, title), direction !== 'horizontal' ? children : null);\n};\nexport default AnchorLink;","import { unit } from '@ant-design/cssinjs';\nimport { resetComponent, textEllipsis } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\n// ============================== Shared ==============================\nconst genSharedAnchorStyle = token => {\n const {\n componentCls,\n holderOffsetBlock,\n motionDurationSlow,\n lineWidthBold,\n colorPrimary,\n lineType,\n colorSplit,\n calc\n } = token;\n return {\n [`${componentCls}-wrapper`]: {\n marginBlockStart: calc(holderOffsetBlock).mul(-1).equal(),\n paddingBlockStart: holderOffsetBlock,\n // delete overflow: auto\n // overflow: 'auto',\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n paddingInlineStart: lineWidthBold,\n [`${componentCls}-link`]: {\n paddingBlock: token.linkPaddingBlock,\n paddingInline: `${unit(token.linkPaddingInlineStart)} 0`,\n '&-title': Object.assign(Object.assign({}, textEllipsis), {\n position: 'relative',\n display: 'block',\n marginBlockEnd: token.anchorTitleBlock,\n color: token.colorText,\n transition: `all ${token.motionDurationSlow}`,\n '&:only-child': {\n marginBlockEnd: 0\n }\n }),\n [`&-active > ${componentCls}-link-title`]: {\n color: token.colorPrimary\n },\n // link link\n [`${componentCls}-link`]: {\n paddingBlock: token.anchorPaddingBlockSecondary\n }\n }\n }),\n [`&:not(${componentCls}-wrapper-horizontal)`]: {\n [componentCls]: {\n '&::before': {\n position: 'absolute',\n insetInlineStart: 0,\n top: 0,\n height: '100%',\n borderInlineStart: `${unit(lineWidthBold)} ${lineType} ${colorSplit}`,\n content: '\" \"'\n },\n [`${componentCls}-ink`]: {\n position: 'absolute',\n insetInlineStart: 0,\n display: 'none',\n transform: 'translateY(-50%)',\n transition: `top ${motionDurationSlow} ease-in-out`,\n width: lineWidthBold,\n backgroundColor: colorPrimary,\n [`&${componentCls}-ink-visible`]: {\n display: 'inline-block'\n }\n }\n }\n },\n [`${componentCls}-fixed ${componentCls}-ink ${componentCls}-ink`]: {\n display: 'none'\n }\n }\n };\n};\nconst genSharedAnchorHorizontalStyle = token => {\n const {\n componentCls,\n motionDurationSlow,\n lineWidthBold,\n colorPrimary\n } = token;\n return {\n [`${componentCls}-wrapper-horizontal`]: {\n position: 'relative',\n '&::before': {\n position: 'absolute',\n left: {\n _skip_check_: true,\n value: 0\n },\n right: {\n _skip_check_: true,\n value: 0\n },\n bottom: 0,\n borderBottom: `${unit(token.lineWidth)} ${token.lineType} ${token.colorSplit}`,\n content: '\" \"'\n },\n [componentCls]: {\n overflowX: 'scroll',\n position: 'relative',\n display: 'flex',\n scrollbarWidth: 'none' /* Firefox */,\n '&::-webkit-scrollbar': {\n display: 'none' /* Safari and Chrome */\n },\n [`${componentCls}-link:first-of-type`]: {\n paddingInline: 0\n },\n [`${componentCls}-ink`]: {\n position: 'absolute',\n bottom: 0,\n transition: `left ${motionDurationSlow} ease-in-out, width ${motionDurationSlow} ease-in-out`,\n height: lineWidthBold,\n backgroundColor: colorPrimary\n }\n }\n }\n };\n};\nexport const prepareComponentToken = token => ({\n linkPaddingBlock: token.paddingXXS,\n linkPaddingInlineStart: token.padding\n});\n// ============================== Export ==============================\nexport default genStyleHooks('Anchor', token => {\n const {\n fontSize,\n fontSizeLG,\n paddingXXS,\n calc\n } = token;\n const anchorToken = mergeToken(token, {\n holderOffsetBlock: paddingXXS,\n anchorPaddingBlockSecondary: calc(paddingXXS).div(2).equal(),\n anchorTitleBlock: calc(fontSize).div(14).mul(3).equal(),\n anchorBallSize: calc(fontSizeLG).div(2).equal()\n });\n return [genSharedAnchorStyle(anchorToken), genSharedAnchorHorizontalStyle(anchorToken)];\n}, prepareComponentToken);","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useEvent } from 'rc-util';\nimport scrollIntoView from 'scroll-into-view-if-needed';\nimport getScroll from '../_util/getScroll';\nimport scrollTo from '../_util/scrollTo';\nimport { devUseWarning } from '../_util/warning';\nimport Affix from '../affix';\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport AnchorLink from './AnchorLink';\nimport AnchorContext from './context';\nimport useStyle from './style';\nfunction getDefaultContainer() {\n return window;\n}\nfunction getOffsetTop(element, container) {\n if (!element.getClientRects().length) {\n return 0;\n }\n const rect = element.getBoundingClientRect();\n if (rect.width || rect.height) {\n if (container === window) {\n return rect.top - element.ownerDocument.documentElement.clientTop;\n }\n return rect.top - container.getBoundingClientRect().top;\n }\n return rect.top;\n}\nconst sharpMatcherRegex = /#([\\S ]+)$/;\nconst Anchor = props => {\n var _a;\n const {\n rootClassName,\n prefixCls: customPrefixCls,\n className,\n style,\n offsetTop,\n affix = true,\n showInkInFixed = false,\n children,\n items,\n direction: anchorDirection = 'vertical',\n bounds,\n targetOffset,\n onClick,\n onChange,\n getContainer,\n getCurrentAnchor,\n replace\n } = props;\n // =================== Warning =====================\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Anchor');\n warning.deprecated(!children, 'Anchor children', 'items');\n process.env.NODE_ENV !== \"production\" ? warning(!(anchorDirection === 'horizontal' && (items === null || items === void 0 ? void 0 : items.some(n => 'children' in n))), 'usage', '`Anchor items#children` is not supported when `Anchor` direction is horizontal.') : void 0;\n }\n const [links, setLinks] = React.useState([]);\n const [activeLink, setActiveLink] = React.useState(null);\n const activeLinkRef = React.useRef(activeLink);\n const wrapperRef = React.useRef(null);\n const spanLinkNode = React.useRef(null);\n const animating = React.useRef(false);\n const {\n direction,\n anchor,\n getTargetContainer,\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('anchor', customPrefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const getCurrentContainer = (_a = getContainer !== null && getContainer !== void 0 ? getContainer : getTargetContainer) !== null && _a !== void 0 ? _a : getDefaultContainer;\n const dependencyListItem = JSON.stringify(links);\n const registerLink = useEvent(link => {\n if (!links.includes(link)) {\n setLinks(prev => [].concat(_toConsumableArray(prev), [link]));\n }\n });\n const unregisterLink = useEvent(link => {\n if (links.includes(link)) {\n setLinks(prev => prev.filter(i => i !== link));\n }\n });\n const updateInk = () => {\n var _a;\n const linkNode = (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`.${prefixCls}-link-title-active`);\n if (linkNode && spanLinkNode.current) {\n const {\n style: inkStyle\n } = spanLinkNode.current;\n const horizontalAnchor = anchorDirection === 'horizontal';\n inkStyle.top = horizontalAnchor ? '' : `${linkNode.offsetTop + linkNode.clientHeight / 2}px`;\n inkStyle.height = horizontalAnchor ? '' : `${linkNode.clientHeight}px`;\n inkStyle.left = horizontalAnchor ? `${linkNode.offsetLeft}px` : '';\n inkStyle.width = horizontalAnchor ? `${linkNode.clientWidth}px` : '';\n if (horizontalAnchor) {\n scrollIntoView(linkNode, {\n scrollMode: 'if-needed',\n block: 'nearest'\n });\n }\n }\n };\n const getInternalCurrentAnchor = function (_links) {\n let _offsetTop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n let _bounds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 5;\n const linkSections = [];\n const container = getCurrentContainer();\n _links.forEach(link => {\n const sharpLinkMatch = sharpMatcherRegex.exec(link === null || link === void 0 ? void 0 : link.toString());\n if (!sharpLinkMatch) {\n return;\n }\n const target = document.getElementById(sharpLinkMatch[1]);\n if (target) {\n const top = getOffsetTop(target, container);\n if (top <= _offsetTop + _bounds) {\n linkSections.push({\n link,\n top\n });\n }\n }\n });\n if (linkSections.length) {\n const maxSection = linkSections.reduce((prev, curr) => curr.top > prev.top ? curr : prev);\n return maxSection.link;\n }\n return '';\n };\n const setCurrentActiveLink = useEvent(link => {\n // FIXME: Seems a bug since this compare is not equals\n // `activeLinkRef` is parsed value which will always trigger `onChange` event.\n if (activeLinkRef.current === link) {\n return;\n }\n // https://github.com/ant-design/ant-design/issues/30584\n const newLink = typeof getCurrentAnchor === 'function' ? getCurrentAnchor(link) : link;\n setActiveLink(newLink);\n activeLinkRef.current = newLink;\n // onChange should respect the original link (which may caused by\n // window scroll or user click), not the new link\n onChange === null || onChange === void 0 ? void 0 : onChange(link);\n });\n const handleScroll = React.useCallback(() => {\n if (animating.current) {\n return;\n }\n const currentActiveLink = getInternalCurrentAnchor(links, targetOffset !== undefined ? targetOffset : offsetTop || 0, bounds);\n setCurrentActiveLink(currentActiveLink);\n }, [dependencyListItem, targetOffset, offsetTop]);\n const handleScrollTo = React.useCallback(link => {\n setCurrentActiveLink(link);\n const sharpLinkMatch = sharpMatcherRegex.exec(link);\n if (!sharpLinkMatch) {\n return;\n }\n const targetElement = document.getElementById(sharpLinkMatch[1]);\n if (!targetElement) {\n return;\n }\n const container = getCurrentContainer();\n const scrollTop = getScroll(container);\n const eleOffsetTop = getOffsetTop(targetElement, container);\n let y = scrollTop + eleOffsetTop;\n y -= targetOffset !== undefined ? targetOffset : offsetTop || 0;\n animating.current = true;\n scrollTo(y, {\n getContainer: getCurrentContainer,\n callback() {\n animating.current = false;\n }\n });\n }, [targetOffset, offsetTop]);\n const wrapperClass = classNames(hashId, cssVarCls, rootCls, rootClassName, `${prefixCls}-wrapper`, {\n [`${prefixCls}-wrapper-horizontal`]: anchorDirection === 'horizontal',\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, anchor === null || anchor === void 0 ? void 0 : anchor.className);\n const anchorClass = classNames(prefixCls, {\n [`${prefixCls}-fixed`]: !affix && !showInkInFixed\n });\n const inkClass = classNames(`${prefixCls}-ink`, {\n [`${prefixCls}-ink-visible`]: activeLink\n });\n const wrapperStyle = Object.assign(Object.assign({\n maxHeight: offsetTop ? `calc(100vh - ${offsetTop}px)` : '100vh'\n }, anchor === null || anchor === void 0 ? void 0 : anchor.style), style);\n const createNestedLink = options => Array.isArray(options) ? options.map(item => ( /*#__PURE__*/React.createElement(AnchorLink, Object.assign({\n replace: replace\n }, item, {\n key: item.key\n }), anchorDirection === 'vertical' && createNestedLink(item.children)))) : null;\n const anchorContent = /*#__PURE__*/React.createElement(\"div\", {\n ref: wrapperRef,\n className: wrapperClass,\n style: wrapperStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: anchorClass\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: inkClass,\n ref: spanLinkNode\n }), 'items' in props ? createNestedLink(items) : children));\n React.useEffect(() => {\n const scrollContainer = getCurrentContainer();\n handleScroll();\n scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.addEventListener('scroll', handleScroll);\n return () => {\n scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.removeEventListener('scroll', handleScroll);\n };\n }, [dependencyListItem]);\n React.useEffect(() => {\n if (typeof getCurrentAnchor === 'function') {\n setCurrentActiveLink(getCurrentAnchor(activeLinkRef.current || ''));\n }\n }, [getCurrentAnchor]);\n React.useEffect(() => {\n updateInk();\n }, [anchorDirection, getCurrentAnchor, dependencyListItem, activeLink]);\n const memoizedContextValue = React.useMemo(() => ({\n registerLink,\n unregisterLink,\n scrollTo: handleScrollTo,\n activeLink,\n onClick,\n direction: anchorDirection\n }), [activeLink, onClick, handleScrollTo, anchorDirection]);\n const affixProps = affix && typeof affix === 'object' ? affix : undefined;\n return wrapCSSVar( /*#__PURE__*/React.createElement(AnchorContext.Provider, {\n value: memoizedContextValue\n }, affix ? ( /*#__PURE__*/React.createElement(Affix, Object.assign({\n offsetTop: offsetTop,\n target: getCurrentContainer\n }, affixProps), anchorContent)) : anchorContent));\n};\nif (process.env.NODE_ENV !== 'production') {\n Anchor.displayName = 'Anchor';\n}\nexport default Anchor;","\"use client\";\n\nimport InternalAnchor from './Anchor';\nimport AnchorLink from './AnchorLink';\nconst Anchor = InternalAnchor;\nAnchor.Link = AnchorLink;\nexport default Anchor;","import {\r\n Row,\r\n Col,\r\n Form,\r\n Checkbox,\r\n Input,\r\n DatePicker,\r\n Anchor,\r\n Radio,\r\n} from \"antd\";\r\nimport { useState, useEffect } from \"react\";\r\nconst { Link } = Anchor;\r\n\r\n\r\nconst TANFDT = (props) => {\r\n const [felonyAnswer, setFelonyAnswer] = useState(props.felonyAnswer);\r\n\r\n const onChangeChoice = (e) => {\r\n setFelonyAnswer(e.target.value)\r\n }\r\n\r\n useEffect(()=>{\r\n console.log(\"FANSWERFROMTANF changed: \", felonyAnswer)\r\n }, [felonyAnswer])\r\n\r\n window.addEventListener(\r\n \"contactEnded\",\r\n async function (e) {\r\n setFelonyAnswer(\"\")\r\n },\r\n false\r\n );\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n Received signed ES-3100DT “Drug Testing Acknowledgement\r\n \r\n \r\n \r\n \r\n {\r\n \r\n ES-3100DT\r\n \r\n }\r\n    \r\n {\r\n \r\n ES-3100DT (SPANISH)\r\n \r\n }\r\n \r\n (NEW APPLICATIONS ONLY)\r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default TANFDT;\r\n","import { Radio, Row, Form, Checkbox, Input, Anchor, Space, Badge } from \"antd\";\r\nconst { Link } = Anchor;\r\n\r\nconst TANFWPCOOP = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n \r\n E-6\r\n \r\n }\r\n \r\n E-6S\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n \r\n (http://content.dcf.ks.gov/SD/WPOHTML/)\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n Open medical at Clearing House (CH)\r\n \r\n \r\n Provided Kansas CH information\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default TANFWPCOOP;\r\n","import { Card, Row, Col, Form, Checkbox, Input, Select, Radio } from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Option } = Select;\r\n\r\nconst ScreenName_VR = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n VOTER REGISTRATION\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n MUST BE VERBALLY ASKED AND CLIENT RESPONSE RECORDED (At Application\r\n ONLY)\r\n \r\n \r\n \r\n Accepted\r\n Declined\r\n \r\n \r\n \r\n \r\n Checked Voter Registration Page in KEES to confirm update\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default ScreenName_VR;\r\n","import { Card, Row, Col, Form, Radio, Input, Select } from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Option } = Select;\r\nconst CS_AllPrograms = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n CASE SUMMARY (All Programs)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default CS_AllPrograms;\r\n","import { Row, Col, Form, Checkbox, Input, Anchor, Select, Radio } from \"antd\";\r\nconst { Link } = Anchor;\r\nconst { Option } = Select;\r\nconst CS_AuthRep = (props) => {\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n AUTHORIZED REP\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n EBT ALTERNATE PAYEE\r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n
    \r\n IF YES - send request to EBT mailbox for Authorized Representative to be\r\n added as an Alternate Payee. Include\r\n \r\n
    \r\n \r\n \r\n \r\n E-mail sent to LOCAL EBT e-mailbox\r\n \r\n \r\n \r\n );\r\n};\r\nexport default CS_AuthRep;\r\n","import { Row, Col, Form, Radio, Input, Select } from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Option } = Select;\r\nconst CS_SummaryScreen = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n CONTACT SUMMARY SCREEN (All Programs)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default CS_SummaryScreen;\r\n","import { Row, Col, Form, Checkbox, Input, Select } from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Option } = Select;\r\n\r\nconst INDEMOSCREEN = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n INDIVIDUAL DEMOGRAPHICS SCREEN (All Programs)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default INDEMOSCREEN;\r\n","import { Row, Col, Form, Checkbox, Input, Select } from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Option } = Select;\r\nconst CITIDENTITYLIST = (props) => {\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n CITIZENSHIP/ IDENTITY LIST (All Programs)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Verified Identification for all adults in the household?\r\n \r\n \r\n Verified Citizenship for TANF/CC?\r\n \r\n \r\n LexisNexis Checked/Imaged   \r\n {\r\n \r\n Verification Matrix\r\n \r\n }\r\n \r\n \r\n SAVE or Immigration Docs- parolee/refugee/asylum\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default CITIDENTITYLIST;\r\n","import { Row, Col, Form, Checkbox, Input, Select } from \"antd\";\r\nconst { Option } = Select;\r\nconst HOUSEHOLDSTATUSLIST = (props) => {\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n HOUSEHOLD STATUS LIST\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n TANF Shared living entered\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default HOUSEHOLDSTATUSLIST;\r\n","import { Row, Col, Form, Checkbox, Input, Select } from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Option } = Select;\r\nconst RELATIONSHIPLIST = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n RELATIONSHIP LIST (All Programs)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Specify how relationship was determined for a caretaker TANF case?\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default RELATIONSHIPLIST;\r\n","import { Select, Row, Col, Form, Checkbox, Input, DatePicker } from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Option } = Select;\r\nconst PREGNANCYLIST = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n PREGNANCY LIST (All Programs)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Is anyone in the household pregnant?\r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default PREGNANCYLIST;\r\n","import { Row, Col, Form, Input, Select, Radio } from \"antd\";\r\nconst { Option } = Select;\r\nconst OTHERPROGRAMLIST = (props) => {\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n OTHER PROGRAM LIST (All Programs)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default OTHERPROGRAMLIST;\r\n","import { Row, Col, Form, Input, Select, Radio } from \"antd\";\r\nconst { Option } = Select;\r\nconst NONCOMPLIANCELIST = (props) => {\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n NON-COMPLIANCE LIST (All Programs)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default NONCOMPLIANCELIST;\r\n","import { Row, Col, Form, Checkbox, Input, Select } from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Option } = Select;\r\nconst TIMELIMITSUMMARY = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n TIME LIMIT SUMMARY (All Programs)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default TIMELIMITSUMMARY;\r\n","import { Row, Col, Form, Radio, Input, Select } from \"antd\";\r\nconst { Option } = Select;\r\nconst PURCHASEPREPARELIST = (props) => {\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n PURCHASE AND PREPARE LIST (FA)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default PURCHASEPREPARELIST;\r\n","import { Row, Col, Form, Radio, Input, Select } from \"antd\";\r\nconst { Option } = Select;\r\nconst SCHOOLATTLIST = (props) => {\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n SCHOOL ATTENDANCE LIST (All Programs)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default SCHOOLATTLIST;\r\n","import { Row, Col, Form, Radio, Input, Select } from \"antd\";\r\nconst { Option } = Select;\r\nconst LIVINGARRANGEMENT = (props) => {\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n LIVING ARRANGEMENTS\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default LIVINGARRANGEMENT;\r\n","import { Row, Col, Form, Checkbox, Input, Select } from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Option } = Select;\r\nconst NONCUSTPARENTLIST = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n NONCUSTODIAL PARENT LIST (All Programs)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n \r\n Good Cause\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n Referral Made\r\n \r\n \r\n \r\n \r\n Expedited Paternity\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default NONCUSTPARENTLIST;\r\n","import { Row, Col, Form, Radio, Input, Select } from \"antd\";\r\nconst { Option } = Select;\r\nconst MEDCONDLIST = (props) => {\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n MEDICAL CONDITION LIST (FA, TANF)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default MEDCONDLIST;\r\n","import { Row, Col, Form, Checkbox, Input, Select, Radio } from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Option } = Select;\r\nconst EMPLISTINCLIST = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n EMPLOYMENT LIST /INCOME LIST\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n BARI/BASI (printed to Perceptive Content or visually verified)\r\n \r\n \r\n \r\n \r\n \r\n KDOL checked\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n \r\n WorkNumber\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n EATSS visually verified (DO NOT PRINT TO Perceptive Content)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n KAECSES CSS/KPC printed to Perceptive Content/checked\r\n \r\n \r\n \r\n \r\n \r\n eDRS\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Collateral Contact?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Collateral Contact?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Collateral Contact?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n \r\n Terminated in the last 60 days?\r\n \r\n }\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Provided 20 job contact form\r\n \r\n \r\n \r\n \r\n {\r\n \r\n Good Cause\r\n \r\n }{\" \"}\r\n -Reason\r\n \r\n \r\n \r\n \r\n Collateral Contact?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default EMPLISTINCLIST;\r\n","import { Row, Col, Form, Checkbox, Input, Select, Radio } from \"antd\";\r\nconst { Option } = Select;\r\nconst RESOURCELIST = (props) => {\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n RESOURCE LIST (All Programs)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n\r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n Completed and Sent Appendix B-6{\" \"}\r\n {\r\n \r\n Trust/Annuity\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default RESOURCELIST;\r\n","import { Row, Col, Form, Checkbox, Input, Select, Radio } from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Option } = Select;\r\n\r\nconst EXPENSELIST = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n EXPENSE LIST (FA, TANF)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Collateral Contact?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default EXPENSELIST;\r\n","import { Select, Row, Col, Form, Radio, Input, Anchor } from \"antd\";\r\nconst { Link } = Anchor;\r\nconst { Option } = Select;\r\nconst MDCAREEXPENSELIST = (props) => {\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n MEDICARE EXPENSE LIST (FA Only)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default MDCAREEXPENSELIST;\r\n","import { Select, Row, Col, Form, Checkbox, Input, Anchor, Radio } from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Link } = Anchor;\r\nconst { Option } = Select;\r\nconst CHILDCARENEEDLIST = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n CHILD CARE NEED LIST – PARENT AND/ OR CHILD CARE NEED LIST – CHILD (CC\r\n Only)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n\r\n \r\n \r\n \r\n Collateral Contact?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n Work Schedule\r\n \r\n \r\n \r\n \r\n \r\n \r\n Completed average job outlook at:{\" \"}\r\n {\r\n \r\n Occupational Outlook Handbook\r\n \r\n }\r\n \r\n \r\n \r\n \r\n Degree/Certificate Listed\r\n \r\n \r\n \r\n \r\n Degree/Certificate Not Listed\r\n \r\n \r\n \r\n Supervisor Approval\r\n \r\n \r\n \r\n Completed{\" \"}\r\n {\r\n \r\n ES-1640\r\n \r\n }{\" \"}\r\n (print to Perceptive Content)\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default CHILDCARENEEDLIST;\r\n","import { Select, Row, Col, Form, Input, Anchor } from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Link } = Anchor;\r\nconst { Option } = Select;\r\nconst PCSCHEDULEDLIST = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n PARENT SCHEDULE LIST AND/ OR CHILD SCHEDULE LIST (CC Only)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default PCSCHEDULEDLIST;\r\n","import { Select, Row, Col, Form, Radio, Input } from \"antd\";\r\n\r\nconst { Option } = Select;\r\nconst FAMPLANCHILDCARE = (props) => {\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n FAMILY PLAN – CHILD CARE LIST (CC Only)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default FAMPLANCHILDCARE;\r\n","import {\r\n Card,\r\n Row,\r\n Col,\r\n Form,\r\n Checkbox,\r\n Input,\r\n Anchor,\r\n Space,\r\n Badge,\r\n} from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Link } = Anchor;\r\n\r\nconst TANFSUSPENSIONBASED = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default TANFSUSPENSIONBASED;\r\n","import { Select, Row, Col, Form, Checkbox, Input, Radio } from \"antd\";\r\n\r\nconst { Option } = Select;\r\nconst DVSASS = (props) => {\r\n return (\r\n \r\n \r\n Screen Name: \r\n \r\n DOMESTIC VIOLENCE, SEXUAL ASSAULT, OR STALKING SCREENING (REQUIRED)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n Yes\r\n No\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n EES-4416 completed and sent to{\" \"}\r\n {\r\n \r\n DCF.EESDVSA@ks.gov\r\n \r\n }\r\n \r\n \r\n \r\n \r\n Print to Perceptive Content\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default DVSASS;\r\n","import {\r\n Card,\r\n Row,\r\n Col,\r\n Form,\r\n Checkbox,\r\n Input,\r\n Anchor,\r\n Space,\r\n Badge,\r\n} from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Link } = Anchor;\r\n\r\nconst ICMAWRS = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n \r\n Mandatory ABAWD / E&T / Work Registrant Scripts\r\n \r\n }\r\n (E-26) with Client\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default ICMAWRS;\r\n","import {\r\n Card,\r\n Row,\r\n Col,\r\n Form,\r\n Checkbox,\r\n Input,\r\n Anchor,\r\n Space,\r\n DatePicker,\r\n} from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Link } = Anchor;\r\n\r\nconst VERIFICATIONSLIST = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n \r\n Sent KEES request for verification from Document Control{\" \"}\r\n {\r\n \r\n (desk aid)\r\n \r\n }\r\n \r\n \r\n \r\n \r\n Verification List Page completed, Program is selected, and Notice\r\n Sent. (V000)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default VERIFICATIONSLIST;\r\n","import {\r\n Card,\r\n Row,\r\n Col,\r\n Form,\r\n Checkbox,\r\n Input,\r\n Anchor,\r\n Space,\r\n DatePicker,\r\n} from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Link } = Anchor;\r\n\r\nconst TODO = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n \r\n Discussed{\" \"}\r\n {\r\n \r\n Reporting Requirements\r\n \r\n }\r\n \r\n \r\n \r\n \r\n Discussed{\" \"}\r\n {\r\n \r\n SNAP-Ed\r\n \r\n }\r\n \r\n \r\n \r\n \r\n FA Optional Release of Information discussed{\" \"}\r\n {\r\n \r\n ES-3103\r\n \r\n }\r\n \r\n \r\n \r\n \r\n Provide{\" \"}\r\n {\r\n \r\n Parent Provider Handbook\r\n \r\n }\r\n  {\" \"}\r\n {\r\n \r\n SPANISH\r\n \r\n }\r\n \r\n \r\n \r\n Reviewed EDBC\r\n \r\n \r\n \r\n Review and Send Notices{\" \"}\r\n {\r\n \r\n (KEES WR Desk Aid)\r\n \r\n }\r\n \r\n \r\n \r\n \r\n {\r\n \r\n Pre-Auth Required\r\n \r\n }\r\n \r\n \r\n \r\n CUSTOMER SCHEDULE\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default TODO;\r\n","import {\r\n Card,\r\n Row,\r\n Col,\r\n Form,\r\n Checkbox,\r\n Input,\r\n Anchor,\r\n Space,\r\n DatePicker,\r\n} from \"antd\";\r\nimport { useState } from \"react\";\r\nconst { Link } = Anchor;\r\n\r\nconst RUNEDBC = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n\r\n return (\r\n \r\n \r\n \r\n Review all case details and ensure results are accurate.DO NOT accept\r\n incorrect EDBC results.\r\n \r\n \r\n \r\n \r\n Review the template, ensure all discrepancies are noted and the\r\n template is complete.{\" \"}\r\n {\r\n \r\n (KEES WR Desk Aid)\r\n \r\n }\r\n \r\n \r\n \r\n \r\n Make sure all programs are authorized and processed through come up\r\n month.\r\n \r\n \r\n \r\n \r\n Ensure all Notices, Requests, and Forms are sent.\r\n \r\n \r\n \r\n \r\n Update the task(s) in KEES.\r\n \r\n \r\n \r\n \r\n Update ALL E-apps with correct status.\r\n \r\n \r\n \r\n \r\n Only use Immediate Issuance for Food Assistance if the application is\r\n EXPEDITED and you’re processing benefits on the 7th day.\r\n \r\n \r\n \r\n \r\n Check that Review and IR / 12 Month Reporting page is correctly\r\n updated and EDBC run reason is correct.\r\n \r\n \r\n \r\n Authorized Benefits\r\n \r\n \r\n \r\n \r\n INFORMED CLIENT OF BENEFIT AMOUNT AND WHEN BENEFITS WILL BE\r\n AVAILABLE FOR USE\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default RUNEDBC;\r\n","import {\r\n Card,\r\n Row,\r\n Col,\r\n Alert,\r\n Popconfirm,\r\n Button,\r\n Form,\r\n Drawer,\r\n Switch,\r\n Radio,\r\n message,\r\n Tree,\r\n Collapse,\r\n} from \"antd\";\r\nimport { EllipsisOutlined } from \"@ant-design/icons\";\r\nimport axios from \"axios\";\r\nimport { DownOutlined } from \"@ant-design/icons\";\r\nimport { LIST_FORMS } from \"../../literals\";\r\nimport { jsPDF } from \"jspdf\";\r\nimport { useEffect, useState, useRef, useReducer } from \"react\";\r\nimport TANFDT from \"./Tanf_DT\";\r\nimport Registration from \"./Registration\";\r\nimport TANFWPCOOP from \"./TANF_WPCOOP\";\r\nimport CHILDCAREONLY from \"./ChildCare\";\r\nimport CC_TANF from \"./CC_TANF\";\r\nimport ScreenName_VR from \"./ScreenName_VR\";\r\nimport ScreenName_PW from \"./ScreenName_PW\";\r\nimport moment from \"moment\";\r\nimport CS_AllPrograms from \"./CS_AllPrograms\";\r\nimport CS_AuthRep from \"./CS_AuthRep\";\r\nimport CS_SummaryScreen from \"./CS_SummaryScreen\";\r\nimport INDEMOSCREEN from \"./IDS\";\r\nimport CITIDENTITYLIST from \"./CIL\";\r\nimport HOUSEHOLDSTATUSLIST from \"./HS_StatusList\";\r\nimport RELATIONSHIPLIST from \"./RelationshipList\";\r\nimport PREGNANCYLIST from \"./PregnancyList\";\r\nimport OTHERPROGRAMLIST from \"./OtherProgramList\";\r\nimport NONCOMPLIANCELIST from \"./NC_List\";\r\nimport TIMELIMITSUMMARY from \"./TimeLimitSummary\";\r\nimport PURCHASEPREPARELIST from \"./PP_List\";\r\nimport SCHOOLATTLIST from \"./SA_List\";\r\nimport LIVINGARRANGEMENT from \"./LivingArrangement\";\r\nimport NONCUSTPARENTLIST from \"./NC_ParentList\";\r\nimport MEDCONDLIST from \"./MC_List\";\r\nimport EMPLISTINCLIST from \"./EL_IncomeList\";\r\nimport RESOURCELIST from \"./ResourceList\";\r\nimport EXPENSELIST from \"./ExpenseList\";\r\nimport DCEXPENSELIST from \"./DC_ExpenseList\";\r\nimport MDEXPENSELIST from \"./MD_ExpenseList\";\r\nimport MDCAREEXPENSELIST from \"./MDC_ExpenseList\";\r\nimport CHILDCARENEEDLIST from \"./CC_NeedList\";\r\nimport PCSCHEDULEDLIST from \"./PC_ScheduleList\";\r\nimport FAMPLANCHILDCARE from \"./FP_ChildCareList\";\r\nimport TANFSUSPENSIONBASED from \"./SB_TANF\";\r\nimport DVSASS from \"./DVSA_StalkingScreening\";\r\nimport ICEBT from \"./IC_EBT\";\r\nimport EXPEDITEDSTATUS from \"./IC_ExpeditedStatus\";\r\nimport ICMAWRS from \"./IC_MAWRS\";\r\nimport VERIFICATIONSLIST from \"./VerificationsList\";\r\nimport TODO from \"./TODO\";\r\nimport RUNEDBC from \"./RunEDBC\";\r\nimport NARRATIVE from \"./Narrative\";\r\nimport AnswerCall from \"./AnswerCall\";\r\nimport RightsAndResponsibilities from \"./RightsAndResp\";\r\nimport ReportingPage from \"./ReportingPage\";\r\nimport useFormFetch from \"../../hooks/useFormFetch\";\r\nimport { LAMBDAS } from \"../../literals\";\r\nimport { InfoCircleTwoTone } from \"@ant-design/icons\";\r\nimport RETRIEVECONTACT from \"./RetrieveContact\";\r\nimport useUpdateEffect from \"../../hooks/useUpdateEffect\";\r\nimport useDataFetch from \"../../hooks/useDataFetch\";\r\nimport useSaveData from \"../../hooks/useSaveEffect\";\r\nconst { Panel } = Collapse;\r\n\r\nlet datasource = [];\r\nlet datasourceList = [];\r\n\r\nconst CustomerForm = (props) => {\r\n //\r\n const forceUpdate = useReducer(x => x + 1, 0)[1]\r\n const [textValue, setTextValue] = useState(\"\");\r\n const [contactID, setContactID] = useState(\"\");\r\n const [agentID, setAgentID] = useState(\"\");\r\n const [contactName, setContactName] = useState(\"\");\r\n const [contactPhoneNumber, setContactPhoneNumber] = useState(\"\");\r\n const [documentName, setDocumentName] = useState(\"\");\r\n // const [datasourceList, setDatasourceList] = useState([]);\r\n const [callAnswered, setCallAnswered] = useState(\"\");\r\n const [assessmentForm, setAssessmentForm] = useState(false);\r\n const [registration_form] = Form.useForm();\r\n const [answer_call_form] = Form.useForm();\r\n const [right_resp_form] = Form.useForm();\r\n const [tanfdt_form] = Form.useForm();\r\n const [tanfwpcoop_form] = Form.useForm();\r\n const [childcareonly_form] = Form.useForm();\r\n const [cctanf_form] = Form.useForm();\r\n const [screennamevr_form] = Form.useForm();\r\n const [screennamepw_form] = Form.useForm();\r\n const [csallprograms_form] = Form.useForm();\r\n const [csauthrep_form] = Form.useForm();\r\n const [cssummaryscreen_form] = Form.useForm();\r\n const [reportingpage_form] = Form.useForm();\r\n const [indemoscreen_form] = Form.useForm();\r\n const [citidentitylist_form] = Form.useForm();\r\n const [householdstatuslist_form] = Form.useForm();\r\n const [relationshiplist_form] = Form.useForm();\r\n const [pregnancylist_form] = Form.useForm();\r\n const [otherprogramlist_form] = Form.useForm();\r\n const [noncompliancelist_form] = Form.useForm();\r\n const [timelimitsummary_form] = Form.useForm();\r\n const [purchasepreparelist_form] = Form.useForm();\r\n const [schoolattlist_form] = Form.useForm();\r\n const [livingarrangement_form] = Form.useForm();\r\n const [noncustparentlist_form] = Form.useForm();\r\n const [medcondlist_form] = Form.useForm();\r\n const [emplistinclist_form] = Form.useForm();\r\n const [resourcelist_form] = Form.useForm();\r\n const [expenselist_form] = Form.useForm();\r\n const [dcexpenselist_form] = Form.useForm();\r\n const [mdexpenselist_form] = Form.useForm();\r\n const [mdcareexpenselist_form] = Form.useForm();\r\n const [childcareneedlist_form] = Form.useForm();\r\n const [pcscheduledlist_form] = Form.useForm();\r\n const [famplanchildcare_form] = Form.useForm();\r\n const [tanfsuspensionbased_form] = Form.useForm();\r\n const [dvsass_form] = Form.useForm();\r\n const [icebt_form] = Form.useForm();\r\n const [expeditedstatus_form] = Form.useForm();\r\n const [icmawrs_form] = Form.useForm();\r\n const [verificationslist_form] = Form.useForm();\r\n const [todo_form] = Form.useForm();\r\n const [runedbc_form] = Form.useForm();\r\n const [narrative_form] = Form.useForm();\r\n const [retrievecontact_form] = Form.useForm();\r\n const [payLoad, setpayLoad] = useState(null);\r\n const [open, setOpen] = useState(false);\r\n const [msg, setMsg] = useState(false);\r\n const [completed, setCompleted] = useState(\"\");\r\n\r\n useEffect(()=>{\r\n answer_call_form.setFieldsValue({\r\n 'Agent Name': props.agentName,\r\n });\r\n \r\n right_resp_form.setFieldsValue({\r\n 'Worker Name': props.agentName,\r\n });\r\n\r\n narrative_form.setFieldsValue({\r\n 'Worker Name:': props.agentName\r\n })\r\n\r\n }, [props.agentName])\r\n\r\n useEffect(()=>{\r\n registration_form.setFieldsValue({\r\n 'kees_case_num': props.caseNumber,\r\n });\r\n }, [props.caseNumber])\r\n\r\n useEffect(()=>{\r\n answer_call_form.setFieldsValue({\r\n 'Callback Number': props.customerNumber,\r\n });\r\n }, [props.customerNumber])\r\n\r\n\r\n\r\n\r\n window.addEventListener(\r\n \"agentEvent\",\r\n async function (e) {\r\n var agentID = e.detail.id;\r\n setAgentID(agentID);\r\n },\r\n false\r\n );\r\n\r\n const getContact = async () => {\r\n try {\r\n const { data: response } = await axios.get(\r\n LAMBDAS.GET_FORM_DETAILS +\r\n contactName +\r\n \"&phoneNumber=\" +\r\n contactPhoneNumber\r\n );\r\n let get_data = response.response;\r\n datasourceList = get_data.form_details;\r\n setCallAnswered(get_data.callAnswered);\r\n if (response.response !== \"DATA DOES NOT EXIST\") {\r\n populate_form();\r\n retrievecontact_form.resetFields();\r\n onClose();\r\n } else {\r\n setMsg(true);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const sendContactDetails = (contact_name, contact_number, items) => {\r\n const c_date = new Date();\r\n let time_date_submitted = moment(c_date, \"MMMM Do YYYY, h:mm:ss a\").format(\r\n \"LLL\"\r\n );\r\n let contactDetails = {\r\n contactId: \"12hg2ftyyt1cchut1qB7uigCJSASxnh127hfbhjcvrx1c\",\r\n contactName: contact_name,\r\n contactPhoneNumber: contact_number,\r\n callAnswered: callAnswered,\r\n dateTimeSubmitted: time_date_submitted,\r\n formDetails: items,\r\n };\r\n\r\n fetch(LAMBDAS.SAVE_CONTACT, {\r\n method: \"POST\",\r\n body: JSON.stringify(contactDetails),\r\n })\r\n .then((response) => response.json())\r\n .then((result) => {\r\n console.log(\"Success:\", result.response);\r\n if (result.response) {\r\n clearFields();\r\n } else {\r\n message.error(\"Failed to save. Please try again.\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error:\", error);\r\n });\r\n };\r\n\r\n const clearFields = () => {\r\n setContactID(\"\");\r\n setAgentID(\"\");\r\n setCallAnswered(\"\");\r\n setContactName(\"\");\r\n setContactName(\"\");\r\n setCompleted(\"\");\r\n answer_call_form.resetFields();\r\n right_resp_form.resetFields();\r\n registration_form.resetFields();\r\n tanfdt_form.resetFields();\r\n tanfwpcoop_form.resetFields();\r\n childcareonly_form.resetFields();\r\n cctanf_form.resetFields();\r\n screennamevr_form.resetFields();\r\n screennamepw_form.resetFields();\r\n csallprograms_form.resetFields();\r\n csauthrep_form.resetFields();\r\n cssummaryscreen_form.resetFields();\r\n reportingpage_form.resetFields();\r\n indemoscreen_form.resetFields();\r\n citidentitylist_form.resetFields();\r\n householdstatuslist_form.resetFields();\r\n relationshiplist_form.resetFields();\r\n pregnancylist_form.resetFields();\r\n otherprogramlist_form.resetFields();\r\n noncompliancelist_form.resetFields();\r\n timelimitsummary_form.resetFields();\r\n purchasepreparelist_form.resetFields();\r\n schoolattlist_form.resetFields();\r\n livingarrangement_form.resetFields();\r\n noncustparentlist_form.resetFields();\r\n medcondlist_form.resetFields();\r\n emplistinclist_form.resetFields();\r\n resourcelist_form.resetFields();\r\n expenselist_form.resetFields();\r\n dcexpenselist_form.resetFields();\r\n mdexpenselist_form.resetFields();\r\n mdcareexpenselist_form.resetFields();\r\n childcareneedlist_form.resetFields();\r\n pcscheduledlist_form.resetFields();\r\n famplanchildcare_form.resetFields();\r\n tanfsuspensionbased_form.resetFields();\r\n dvsass_form.resetFields();\r\n icebt_form.resetFields();\r\n expeditedstatus_form.resetFields();\r\n icmawrs_form.resetFields();\r\n verificationslist_form.resetFields();\r\n todo_form.resetFields();\r\n runedbc_form.resetFields();\r\n narrative_form.resetFields();\r\n };\r\n\r\n const showDrawer = () => {\r\n setOpen(true);\r\n };\r\n const onClose = () => {\r\n setOpen(false);\r\n setMsg(false);\r\n };\r\n let url_pdf = LAMBDAS.FORM_PDF + documentName;\r\n const { data, error } = useFormFetch(\r\n url_pdf,\r\n payLoad,\r\n \"PUT\",\r\n \"application/pdf\"\r\n );\r\n\r\n // let url_getData =\r\n // LAMBDAS.GET_FORM_DETAILS +\r\n // contactName +\r\n // \"&phoneNumber=\" +\r\n // contactPhoneNumber;\r\n // const { data1, error1 } = useDataFetch(\r\n // url_getData,\r\n // payLoad,\r\n // \"GET\",\r\n // \"application/json\"\r\n // );\r\n // let url_saveData = LAMBDAS.SAVE_CONTACT;\r\n // const { data2, error2 } = useSaveData(\r\n // url_saveData,\r\n // payLoad,\r\n // \"POST\",\r\n // \"application/json\"\r\n // );\r\n\r\n const populate_form = () => {\r\n answer_call_form.setFieldsValue(\r\n datasourceList[0][\"TANF/CC/FOOD ASSISTANCE PROGRAM\"]\r\n );\r\n right_resp_form.setFieldsValue(\r\n datasourceList[1][\"RIGHTS AND RESPONSIBILITIES\"]\r\n );\r\n registration_form.setFieldsValue(datasourceList[2][\"REGISTRATION\"]);\r\n\r\n let tanfdt_data =\r\n datasourceList[3][\"TANF Drug Testing Program Requirements\"];\r\n if (\r\n tanfdt_data.hasOwnProperty(\"Date of Conviction\") &&\r\n tanfdt_data[\"Date of Conviction\"] !== \"\" &&\r\n tanfdt_data[\"Date of Conviction\"] !== null\r\n ) {\r\n tanfdt_data[\"Date of Conviction\"] = moment(\r\n tanfdt_data[\"Date of Conviction\"]\r\n );\r\n }\r\n\r\n tanfdt_form.setFieldsValue(tanfdt_data);\r\n tanfwpcoop_form.setFieldsValue(\r\n datasourceList[4][\"TANF ONLY and WORK PROGRAM COOP\"]\r\n );\r\n childcareonly_form.setFieldsValue(datasourceList[5][\"CHILD CARE ONLY\"]);\r\n cctanf_form.setFieldsValue(datasourceList[6][\"CC/TANF ONLY\"]);\r\n screennamevr_form.setFieldsValue(datasourceList[7][\"VOTER REGISTRATION\"]);\r\n screennamepw_form.setFieldsValue(datasourceList[8][\"PROGRAM WITHDRAW\"]);\r\n csallprograms_form.setFieldsValue(\r\n datasourceList[9][\"CASE SUMMARY (All Programs)\"]\r\n );\r\n csauthrep_form.setFieldsValue(datasourceList[10][\"AUTHORIZED REP\"]);\r\n cssummaryscreen_form.setFieldsValue(\r\n datasourceList[11][\"CONTACT SUMMARY SCREEN (All Programs)\"]\r\n );\r\n reportingpage_form.setFieldsValue(\r\n datasourceList[12][\"REPORTING PAGE (Reviews/IR ONLY)\"]\r\n );\r\n indemoscreen_form.setFieldsValue(\r\n datasourceList[13][\"INDIVIDUAL DEMOGRAPHICS SCREEN (All Programs)\"]\r\n );\r\n citidentitylist_form.setFieldsValue(\r\n datasourceList[14][\"CITIZENSHIP/ IDENTITY LIST (All Programs)\"]\r\n );\r\n householdstatuslist_form.setFieldsValue(\r\n datasourceList[15][\"HOUSEHOLD STATUS LIST\"]\r\n );\r\n relationshiplist_form.setFieldsValue(\r\n datasourceList[16][\"RELATIONSHIP LIST (All Programs)\"]\r\n );\r\n let pregnancylist_data =\r\n datasourceList[17][\"PREGNANCY LIST (All Programs)\"];\r\n if (\r\n pregnancylist_data.hasOwnProperty(\"Due Date\") &&\r\n pregnancylist_data[\"Due Date\"] !== \"\" &&\r\n pregnancylist_data[\"Due Date\"] !== null\r\n ) {\r\n pregnancylist_data[\"Due Date\"] = moment(pregnancylist_data[\"Due Date\"]);\r\n }\r\n\r\n pregnancylist_form.setFieldsValue(pregnancylist_data);\r\n otherprogramlist_form.setFieldsValue(\r\n datasourceList[18][\"OTHER PROGRAM LIST (All Programs)\"]\r\n );\r\n noncompliancelist_form.setFieldsValue(\r\n datasourceList[19][\"NON-COMPLIANCE LIST (All Programs)\"]\r\n );\r\n timelimitsummary_form.setFieldsValue(\r\n datasourceList[20][\"TIME LIMIT SUMMARY (All Programs)\"]\r\n );\r\n purchasepreparelist_form.setFieldsValue(\r\n datasourceList[21][\"PURCHASE AND PREPARE LIST (FA)\"]\r\n );\r\n schoolattlist_form.setFieldsValue(\r\n datasourceList[22][\"SCHOOL ATTENDANCE LIST (All Programs)\"]\r\n );\r\n livingarrangement_form.setFieldsValue(\r\n datasourceList[23][\"LIVING ARRANGEMENTS\"]\r\n );\r\n noncustparentlist_form.setFieldsValue(\r\n datasourceList[24][\"NONCUSTODIAL PARENT LIST (All Programs)\"]\r\n );\r\n medcondlist_form.setFieldsValue(\r\n datasourceList[25][\"MEDICAL CONDITION LIST (FA, TANF)\"]\r\n );\r\n emplistinclist_form.setFieldsValue(\r\n datasourceList[26][\"EMPLOYMENT LIST /INCOME LIST\"]\r\n );\r\n resourcelist_form.setFieldsValue(\r\n datasourceList[27][\"RESOURCE LIST (All Programs)\"]\r\n );\r\n expenselist_form.setFieldsValue(\r\n datasourceList[28][\"SHELTER - EXPENSE LIST (FA, TANF)\"]\r\n );\r\n dcexpenselist_form.setFieldsValue(\r\n datasourceList[29][\"DEPENDENT CARE/ CSS - EXPENSE LIST (FA, TANF)\"]\r\n );\r\n mdexpenselist_form.setFieldsValue(\r\n datasourceList[30][\"MEDICAL - EXPENSE LIST (FA, TANF)\"]\r\n );\r\n mdcareexpenselist_form.setFieldsValue(\r\n datasourceList[31][\"MEDICARE EXPENSE LIST (FA Only)\"]\r\n );\r\n childcareneedlist_form.setFieldsValue(\r\n datasourceList[32][\r\n \"CHILD CARE NEED LIST – PARENT AND/ OR CHILD CARE NEED LIST – CHILD (CC Only)\"\r\n ]\r\n );\r\n pcscheduledlist_form.setFieldsValue(\r\n datasourceList[33][\r\n \"PARENT SCHEDULE LIST AND/ OR CHILD SCHEDULE LIST (CC Only)\"\r\n ]\r\n );\r\n famplanchildcare_form.setFieldsValue(\r\n datasourceList[34][\"FAMILY PLAN – CHILD CARE LIST (CC Only)\"]\r\n );\r\n tanfsuspensionbased_form.setFieldsValue(\r\n datasourceList[35][\r\n \"TANF Suspicion Based Drug Testing (Only those who meet suspicion-based indicators)\"\r\n ]\r\n );\r\n dvsass_form.setFieldsValue(\r\n datasourceList[36][\r\n \"DOMESTIC VIOLENCE, SEXUAL ASSAULT, OR STALKING SCREENING (REQUIRED)\"\r\n ]\r\n );\r\n icebt_form.setFieldsValue(datasourceList[37][\"EBT\"]);\r\n expeditedstatus_form.setFieldsValue(datasourceList[38][\"EXPEDITED STATUS\"]);\r\n icmawrs_form.setFieldsValue(\r\n datasourceList[39][\"MANDATORY ABAWD / E&T / WORK REGISTRANT SCRIPTS\"]\r\n );\r\n let verificationslist_data = datasourceList[40][\"VERIFICATIONS LIST\"];\r\n if (\r\n verificationslist_data.hasOwnProperty(\"Due Date\") &&\r\n verificationslist_data[\"Due Date\"] !== \"\" &&\r\n verificationslist_data[\"Due Date\"] !== null\r\n ) {\r\n verificationslist_data[\"Due Date\"] = moment(\r\n verificationslist_data[\"Due Date\"]\r\n );\r\n }\r\n\r\n verificationslist_form.setFieldsValue(verificationslist_data);\r\n todo_form.setFieldsValue(datasourceList[41][\"TODO\"]);\r\n runedbc_form.setFieldsValue(datasourceList[42][\"RUN EDBC\"]);\r\n narrative_form.setFieldsValue(datasourceList[43][\"NARRATIVE\"]);\r\n };\r\n\r\n useEffect(() => {\r\n setContactID(props.contactID);\r\n const c_date = new Date();\r\n setCallAnswered(moment(c_date, \"MMMM Do YYYY, h:mm:ss a\").format(\"LLL\"));\r\n }, [props.contactID]);\r\n\r\n const addZero = (i) => {\r\n if (i < 10) {\r\n i = \"0\" + i;\r\n }\r\n return i;\r\n };\r\n\r\n const sendData = () => {\r\n switch ((data === null, error === null)) {\r\n case (false, true):\r\n // sessionStorage.clear();\r\n clearFields();\r\n\r\n break;\r\n case (true, false):\r\n console.log(\"INSIDE TRUE FALSE\");\r\n\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const onFinish_retrievecontact = (values) => {};\r\n const onFinish_answerCall = (values) => {};\r\n const onFinish_registration = (values) => {};\r\n const onFinish_rightAndResp = (values) => {};\r\n const onFinish_tanfdt = (values) => {};\r\n const onFinish_tanfwpcoop = (values) => {};\r\n const onFinish_childcareonly = (values) => {};\r\n const onFinish_cctanf = (values) => {};\r\n const onFinish_screennamevr = (values) => {};\r\n const onFinish_screennamepw = (values) => {};\r\n const onFinish_csallprograms = (values) => {};\r\n const onFinish_csauthrep = (values) => {};\r\n const onFinish_cssummaryscreen = (values) => {};\r\n const onFinish_indemoscreen = (values) => {};\r\n const onFinish_citidentitylist = (values) => {};\r\n const onFinish_householdstatuslist = (values) => {};\r\n const onFinish_relationshiplist = (values) => {};\r\n const onFinish_pregnancylist = (values) => {};\r\n const onFinish_otherprogramlist = (values) => {};\r\n const onFinish_noncompliancelist = (values) => {};\r\n const onFinish_timelimitsummary = (values) => {};\r\n const onFinish_purchasepreparelist = (values) => {};\r\n const onFinish_schoolattlist = (values) => {};\r\n const onFinish_livingarrangement = (values) => {};\r\n const onFinish_noncustparentlist = (values) => {};\r\n const onFinish_medcondlist = (values) => {};\r\n const onFinish_emplistinclist = (values) => {};\r\n const onFinish_resourcelist = (values) => {};\r\n const onFinish_expenselist = (values) => {};\r\n const onFinish_dcexpenselist = (values) => {};\r\n const onFinish_mdexpenselist = (values) => {};\r\n const onFinish_mdcareexpenselist = (values) => {};\r\n const onFinish_childcareneedlist = (values) => {};\r\n const onFinish_pcscheduledlist = (values) => {};\r\n const onFinish_famplanchildcare = (values) => {};\r\n const onFinish_tanfsuspensionbased = (values) => {};\r\n const onFinish_dvsass = (values) => {};\r\n const onFinish_icebt = (values) => {};\r\n const onFinish_expeditedstatus = (values) => {};\r\n const onFinish_icmawrs = (values) => {};\r\n const onFinish_verificationslist = (values) => {};\r\n const onFinish_todo = (values) => {};\r\n const onFinish_runedbc = (values) => {};\r\n const onFinish_narrative = (values) => {};\r\n const onFinish_reportingpage = (values) => {};\r\n\r\n const getContactDetails = () => {\r\n retrievecontact_form.submit();\r\n getContact();\r\n };\r\n\r\n const submit_forms = () => {\r\n registration_form.submit();\r\n answer_call_form.submit();\r\n right_resp_form.submit();\r\n tanfdt_form.submit();\r\n tanfwpcoop_form.submit();\r\n childcareonly_form.submit();\r\n cctanf_form.submit();\r\n screennamevr_form.submit();\r\n screennamepw_form.submit();\r\n csallprograms_form.submit();\r\n csauthrep_form.submit();\r\n cssummaryscreen_form.submit();\r\n reportingpage_form.submit();\r\n indemoscreen_form.submit();\r\n citidentitylist_form.submit();\r\n householdstatuslist_form.submit();\r\n relationshiplist_form.submit();\r\n pregnancylist_form.submit();\r\n otherprogramlist_form.submit();\r\n noncompliancelist_form.submit();\r\n timelimitsummary_form.submit();\r\n purchasepreparelist_form.submit();\r\n schoolattlist_form.submit();\r\n livingarrangement_form.submit();\r\n noncustparentlist_form.submit();\r\n medcondlist_form.submit();\r\n emplistinclist_form.submit();\r\n resourcelist_form.submit();\r\n expenselist_form.submit();\r\n dcexpenselist_form.submit();\r\n mdexpenselist_form.submit();\r\n mdcareexpenselist_form.submit();\r\n childcareneedlist_form.submit();\r\n pcscheduledlist_form.submit();\r\n famplanchildcare_form.submit();\r\n tanfsuspensionbased_form.submit();\r\n dvsass_form.submit();\r\n icebt_form.submit();\r\n expeditedstatus_form.submit();\r\n icmawrs_form.submit();\r\n verificationslist_form.submit();\r\n todo_form.submit();\r\n runedbc_form.submit();\r\n narrative_form.submit();\r\n confirm();\r\n // if (!assessmentForm) {\r\n // confirm();\r\n // }\r\n };\r\n\r\n const cancel = (e) => {\r\n console.log(e);\r\n };\r\n const onSelect = (selectedKeys, info) => {\r\n console.log(\"selected\", selectedKeys, info);\r\n };\r\n const sendFormData = (form_data) => {\r\n //replace with any final validation checks if needed\r\n if (true) {\r\n setpayLoad(form_data);\r\n }\r\n };\r\n const confirm = () => {\r\n let display_data = [];\r\n let temp_data = \"\";\r\n let clientName = \"\";\r\n let callbackNumber = \"\";\r\n let prep_datasource = [];\r\n display_data.push(\"ID: \" + contactID);\r\n display_data.push(\"Date and Time Call Accepted: \" + callAnswered);\r\n for (const item of LIST_FORMS) {\r\n for (let key0 in datasource) {\r\n for (let key1 in datasource[key0]) {\r\n for (let temp_key in datasource[key0][key1]) {\r\n if (datasource[key0][key1][temp_key] === undefined)\r\n datasource[key0][key1][temp_key] = \"\";\r\n }\r\n if (item === key1) {\r\n prep_datasource.push(datasource[key0]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (let i = 0; i <= prep_datasource.length; i++) {\r\n for (let key in prep_datasource[i]) {\r\n display_data.push(\"<======\" + key + \"======>\");\r\n for (const [key2, value] of Object.entries(prep_datasource[i][key])) {\r\n if (key2 === \"Client Name\") {\r\n clientName = value;\r\n }\r\n if (key2 === \"Callback Number\") {\r\n callbackNumber = value;\r\n }\r\n temp_data = key2 + \":\" + value;\r\n display_data.push(temp_data.replace(/(\\r\\n|\\n|\\r)/gm, \"\"));\r\n }\r\n }\r\n }\r\n sendContactDetails(clientName, callbackNumber, prep_datasource);\r\n\r\n const PDF_WIDTH = 816;\r\n const PDF_HEIGHT = PDF_WIDTH * 1.2941;\r\n const doc = new jsPDF(\"p\", \"pt\"[(PDF_WIDTH, PDF_HEIGHT)]);\r\n doc.setFontSize(8);\r\n const wrappedText = doc.splitTextToSize(display_data, 180);\r\n let iterations = 1;\r\n const margin = 15;\r\n const defaultYJump = 5;\r\n const pageHeight = doc.internal.pageSize.height;\r\n\r\n wrappedText.forEach((line) => {\r\n let posY = margin + defaultYJump * iterations++;\r\n if (posY > pageHeight - margin) {\r\n doc.addPage();\r\n iterations = 1;\r\n posY = margin + defaultYJump * iterations++;\r\n }\r\n doc.text(15, posY, line);\r\n });\r\n\r\n const cDate = new Date();\r\n let currentDate = cDate.toDateString().split(\" \").splice(1, 3).join(\"_\");\r\n let currentTime = new Date();\r\n let docName =\r\n clientName +\r\n \"_\" +\r\n currentDate +\r\n \"_\" +\r\n addZero(currentTime.getHours()) +\r\n addZero(currentTime.getMinutes()) +\r\n addZero(currentTime.getSeconds()) +\r\n \".pdf\";\r\n setDocumentName(docName);\r\n let blob = doc.output(\"blob\");\r\n let formData = new FormData();\r\n formData.append(\"file\", blob, docName);\r\n if (completed === \"COMPLETED\") {\r\n doc.save(docName);\r\n sendFormData(formData);\r\n sendData();\r\n }\r\n // answer_call_form.scrollToField(\"agent_name\");\r\n };\r\n\r\n const radioChange = (e) => {\r\n console.log(`radio to ${e.target.value}`);\r\n setCompleted(e.target.value);\r\n };\r\n\r\n const onChange = (key) => {\r\n console.log(key);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n {msg ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n\r\n \r\n \r\n \r\n {\r\n retrievecontact_form\r\n .validateFields()\r\n .then((e) => {\r\n // console.log(\"[retrievecontact_form][VALIDATION]\", e);\r\n setContactName(e[\"Name\"]);\r\n setContactPhoneNumber(e[\"Phone Number\"]);\r\n })\r\n .catch((errors) => {\r\n // console.log(\r\n // \"[retrievecontact_form][ERROR-VALIDATION]\",\r\n // errors\r\n // );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[retrievecontact_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n }\r\n });\r\n }}\r\n >\r\n SUBMIT\r\n \r\n \r\n \r\n \r\n {\r\n retrievecontact_form.resetFields();\r\n }}\r\n >\r\n RESET\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n TANF Drug Testing Program Requirements\r\n \r\n \r\n \r\n \r\n\r\n \r\n TANF ONLY and WORK PROGRAM COOP\r\n \r\n \r\n \r\n \r\n CHILD CARE ONLY\r\n \r\n \r\n \r\n CC/TANF ONLY\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Screen Name: \r\n PROGRAM WITHDRAW\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Screen Name: \r\n \r\n REPORTING PAGE (Reviews/IR ONLY)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Screen Name: \r\n EXPENSE LIST (FA, TANF)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Screen Name: \r\n EXPENSE LIST (FA, TANF)\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Screen Name: \r\n \r\n TANF Suspicion Based Drug Testing (Only those who meet\r\n suspicion-based indicators)\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Screen Name: \r\n EBT\r\n \r\n \r\n \r\n \r\n \r\n Screen Name: \r\n EXPEDITED STATUS\r\n \r\n \r\n \r\n \r\n \r\n Screen Name: \r\n \r\n MANDATORY ABAWD / E&T / WORK REGISTRANT SCRIPTS\r\n \r\n \r\n \r\n \r\n \r\n \r\n VERIFICATIONS LIST\r\n \r\n \r\n \r\n \r\n TO DO\r\n \r\n \r\n \r\n RUN EDBC\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n COMPLETED\r\n FOR UPDATE\r\n \r\n \r\n \r\n {assessmentForm ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {completed !== \"\" ? (\r\n \r\n \r\n \r\n {\r\n datasource = [];\r\n answer_call_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[answer_call_form][VALIDATION]\", e);\r\n datasource.push({ \"TANF/CC/FOOD ASSISTANCE PROGRAM\": e });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[answer_call_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[answer_call_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"TANF/CC/FOOD ASSISTANCE PROGRAM\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n registration_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[registration_form1][VALIDATION]\", e);\r\n datasource.push({ REGISTRATION: e });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[registration_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[registration_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n REGISTRATION: errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n right_resp_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[right_resp_form][ERROR-VALIDATION]\", e);\r\n\r\n datasource.push({ \"RIGHTS AND RESPONSIBILITIES\": e });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[right_resp_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[right_resp_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"RIGHTS AND RESPONSIBILITIES\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n tanfdt_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[tanfdt_form][ERROR-VALIDATION]\", e);\r\n\r\n datasource.push({\r\n \"TANF Drug Testing Program Requirements\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\"[tanfdt_form][ERROR-VALIDATION]\", errors);\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\"[tanfdt_form][ERROR-VALIDATION]\", errors);\r\n datasource.push({\r\n \"TANF Drug Testing Program Requirements\":\r\n errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n tanfwpcoop_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[tanfwpcoop_form][ERROR-VALIDATION]\", e);\r\n\r\n datasource.push({ \"TANF ONLY and WORK PROGRAM COOP\": e });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[tanfwpcoop_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[tanfwpcoop_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"TANF ONLY and WORK PROGRAM COOP\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n childcareonly_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[childcareonly_form][ERROR-VALIDATION]\", e);\r\n\r\n datasource.push({ \"CHILD CARE ONLY\": e });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[childcareonly_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[childcareonly_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"CHILD CARE ONLY\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n cctanf_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[cctanf_form][ERROR-VALIDATION]\", e);\r\n datasource.push({ \"CC/TANF ONLY\": e });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\"[cctanf_form][ERROR-VALIDATION]\", errors);\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\"[cctanf_form][ERROR-VALIDATION]\", errors);\r\n datasource.push({\r\n \"CC/TANF ONLY\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n screennamevr_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[screennamevr_form][ERROR-VALIDATION]\", e);\r\n\r\n datasource.push({ \"VOTER REGISTRATION\": e });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[screennamevr_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[screennamevr_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"VOTER REGISTRATION\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n screennamepw_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[screennamepw_form][ERROR-VALIDATION]\", e);\r\n datasource.push({ \"PROGRAM WITHDRAW\": e });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[screennamepw_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[screennamepw_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"PROGRAM WITHDRAW\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n csallprograms_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[csallprograms_form][ERROR-VALIDATION]\", e);\r\n datasource.push({ \"CASE SUMMARY (All Programs)\": e });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[csallprograms_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[csallprograms_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"CASE SUMMARY (All Programs)\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n csauthrep_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[csauthrep_form][ERROR-VALIDATION]\", e);\r\n datasource.push({ \"AUTHORIZED REP\": e });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\"[csauthrep_form][ERROR-VALIDATION]\", errors);\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[csauthrep_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"AUTHORIZED REP\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n cssummaryscreen_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[cssummaryscreen_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"CONTACT SUMMARY SCREEN (All Programs)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[cssummaryscreen_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[cssummaryscreen_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"CONTACT SUMMARY SCREEN (All Programs)\":\r\n errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n reportingpage_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[reportingpage_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n \"REPORTING PAGE (Reviews/IR ONLY)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[reportingpage_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[reportingpage_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"REPORTING PAGE (Reviews/IR ONLY)\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n indemoscreen_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[indemoscreen_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n \"INDIVIDUAL DEMOGRAPHICS SCREEN (All Programs)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[indemoscreen_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[indemoscreen_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"INDIVIDUAL DEMOGRAPHICS SCREEN (All Programs)\":\r\n errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n citidentitylist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[citidentitylist_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"CITIZENSHIP/ IDENTITY LIST (All Programs)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[citidentitylist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[citidentitylist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"CITIZENSHIP/ IDENTITY LIST (All Programs)\":\r\n errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n householdstatuslist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[householdstatuslist_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"HOUSEHOLD STATUS LIST\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[householdstatuslist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[householdstatuslist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"HOUSEHOLD STATUS LIST\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n relationshiplist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[relationshiplist_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"RELATIONSHIP LIST (All Programs)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[relationshiplist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[relationshiplist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"RELATIONSHIP LIST (All Programs)\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n pregnancylist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[pregnancylist_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n \"PREGNANCY LIST (All Programs)\": e,\r\n });\r\n\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[pregnancylist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[pregnancylist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"PREGNANCY LIST (All Programs)\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n otherprogramlist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[otherprogramlist_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"OTHER PROGRAM LIST (All Programs)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[otherprogramlist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[otherprogramlist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"OTHER PROGRAM LIST (All Programs)\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n noncompliancelist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[noncompliancelist_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"NON-COMPLIANCE LIST (All Programs)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[noncompliancelist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[noncompliancelist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"NON-COMPLIANCE LIST (All Programs)\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n timelimitsummary_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[timelimitsummary_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"TIME LIMIT SUMMARY (All Programs)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[timelimitsummary_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[timelimitsummary_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"TIME LIMIT SUMMARY (All Programs)\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n purchasepreparelist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[purchasepreparelist_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"PURCHASE AND PREPARE LIST (FA)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[purchasepreparelist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[purchasepreparelist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"PURCHASE AND PREPARE LIST (FA)\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n schoolattlist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[schoolattlist_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n \"SCHOOL ATTENDANCE LIST (All Programs)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[schoolattlist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[schoolattlist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"SCHOOL ATTENDANCE LIST (All Programs)\":\r\n errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n livingarrangement_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[livingarrangement_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"LIVING ARRANGEMENTS\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[livingarrangement_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[livingarrangement_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"LIVING ARRANGEMENTS\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n noncustparentlist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[noncustparentlist_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"NONCUSTODIAL PARENT LIST (All Programs)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[noncustparentlist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[noncustparentlist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"NONCUSTODIAL PARENT LIST (All Programs)\":\r\n errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n medcondlist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[medcondlist_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n \"MEDICAL CONDITION LIST (FA, TANF)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[medcondlist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[medcondlist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"MEDICAL CONDITION LIST (FA, TANF)\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n emplistinclist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[emplistinclist_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n \"EMPLOYMENT LIST /INCOME LIST\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[emplistinclist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[emplistinclist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"EMPLOYMENT LIST /INCOME LIST\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n resourcelist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[resourcelist_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n \"RESOURCE LIST (All Programs)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[resourcelist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[resourcelist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"RESOURCE LIST (All Programs)\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n expenselist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[expenselist_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n \"SHELTER - EXPENSE LIST (FA, TANF)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[expenselist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[expenselist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"SHELTER - EXPENSE LIST (FA, TANF)\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n dcexpenselist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[dcexpenselist_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n \"DEPENDENT CARE/ CSS - EXPENSE LIST (FA, TANF)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[dcexpenselist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[dcexpenselist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"DEPENDENT CARE/ CSS - EXPENSE LIST (FA, TANF)\":\r\n errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n mdexpenselist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[mdexpenselist_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n \"MEDICAL - EXPENSE LIST (FA, TANF)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[mdexpenselist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[mdexpenselist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"MEDICAL - EXPENSE LIST (FA, TANF)\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n mdcareexpenselist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[mdcareexpenselist_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"MEDICARE EXPENSE LIST (FA Only)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[mdcareexpenselist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[mdcareexpenselist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"MEDICARE EXPENSE LIST (FA Only)\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n childcareneedlist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[childcareneedlist_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"CHILD CARE NEED LIST – PARENT AND/ OR CHILD CARE NEED LIST – CHILD (CC Only)\":\r\n e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[childcareneedlist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[childcareneedlist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"CHILD CARE NEED LIST – PARENT AND/ OR CHILD CARE NEED LIST – CHILD (CC Only)\":\r\n errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n pcscheduledlist_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[pcscheduledlist_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"PARENT SCHEDULE LIST AND/ OR CHILD SCHEDULE LIST (CC Only)\":\r\n e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[pcscheduledlist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[pcscheduledlist_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"PARENT SCHEDULE LIST AND/ OR CHILD SCHEDULE LIST (CC Only)\":\r\n errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n famplanchildcare_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[famplanchildcare_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"FAMILY PLAN – CHILD CARE LIST (CC Only)\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[famplanchildcare_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[famplanchildcare_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"FAMILY PLAN – CHILD CARE LIST (CC Only)\":\r\n errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n tanfsuspensionbased_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[tanfsuspensionbased_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"TANF Suspicion Based Drug Testing (Only those who meet suspicion-based indicators)\":\r\n e,\r\n });\r\n\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[tanfsuspensionbased_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[tanfsuspensionbased_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"TANF Suspicion Based Drug Testing (Only those who meet suspicion-based indicators)\":\r\n errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n dvsass_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[dvsass_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n \"DOMESTIC VIOLENCE, SEXUAL ASSAULT, OR STALKING SCREENING (REQUIRED)\":\r\n e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\"[dvsass_form][ERROR-VALIDATION]\", errors);\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\"[dvsass_form][ERROR-VALIDATION]\", errors);\r\n datasource.push({\r\n \"DOMESTIC VIOLENCE, SEXUAL ASSAULT, OR STALKING SCREENING (REQUIRED)\":\r\n errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n icebt_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[icebt_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n EBT: e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\"[icebt_form][ERROR-VALIDATION]\", errors);\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\"[icebt_form][ERROR-VALIDATION]\", errors);\r\n datasource.push({\r\n EBT: errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n expeditedstatus_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\r\n \"[expeditedstatus_form][ERROR-VALIDATION]\",\r\n e\r\n );\r\n datasource.push({\r\n \"EXPEDITED STATUS\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\r\n \"[expeditedstatus_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\r\n \"[expeditedstatus_form][ERROR-VALIDATION]\",\r\n errors\r\n );\r\n datasource.push({\r\n \"EXPEDITED STATUS\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n icmawrs_form\r\n .validateFields()\r\n .then((e) => {\r\n console.log(\"[icmawrs_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n \"MANDATORY ABAWD / E&T / WORK REGISTRANT SCRIPTS\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n console.log(\"[icmawrs_form][ERROR-VALIDATION]\", errors);\r\n if (errors.errorFields.length !== 0) {\r\n console.log(\"[icmawrs_form][ERROR-VALIDATION]\", errors);\r\n datasource.push({\r\n \"MANDATORY ABAWD / E&T / WORK REGISTRANT SCRIPTS\":\r\n errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n verificationslist_form\r\n .validateFields()\r\n .then((e) => {\r\n // console.log(\r\n // \"[verificationslist_form][ERROR-VALIDATION]\",\r\n // e\r\n // );\r\n datasource.push({\r\n \"VERIFICATIONS LIST\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n // console.log(\r\n // \"[verificationslist_form][ERROR-VALIDATION]\",\r\n // errors\r\n // );\r\n if (errors.errorFields.length !== 0) {\r\n // console.log(\r\n // \"[verificationslist_form][ERROR-VALIDATION]\",\r\n // errors\r\n // );\r\n datasource.push({\r\n \"VERIFICATIONS LIST\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n todo_form\r\n .validateFields()\r\n .then((e) => {\r\n // console.log(\"[todo_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n TODO: e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n // console.log(\"[todo_form][ERROR-VALIDATION]\", errors);\r\n if (errors.errorFields.length !== 0) {\r\n // console.log(\"[todo_form][ERROR-VALIDATION]\", errors);\r\n datasource.push({\r\n TODO: errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n runedbc_form\r\n .validateFields()\r\n .then((e) => {\r\n // console.log(\"[runedbc_form1][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n \"RUN EDBC\": e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n // console.log(\"[runedbc_form][ERROR-VALIDATION]\", errors);\r\n if (errors.errorFields.length !== 0) {\r\n // console.log(\"[runedbc_form][ERROR-VALIDATION]\", errors);\r\n datasource.push({\r\n \"RUN EDBC\": errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n narrative_form\r\n .validateFields()\r\n .then((e) => {\r\n // console.log(\"[narrative_form][ERROR-VALIDATION]\", e);\r\n datasource.push({\r\n NARRATIVE: e,\r\n });\r\n setAssessmentForm(false);\r\n })\r\n .catch((errors) => {\r\n // console.log(\"[narrative_form][ERROR-VALIDATION]\", errors);\r\n if (errors.errorFields.length !== 0) {\r\n // console.log(\"[narrative_form][ERROR-VALIDATION]\", errors);\r\n datasource.push({\r\n NARRATIVE: errors.values,\r\n });\r\n setAssessmentForm(true);\r\n }\r\n });\r\n }}\r\n >\r\n Submit\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n );\r\n};\r\nexport default CustomerForm;\r\n","\"use client\";\n\nimport { Row } from '../grid';\nexport default Row;","import * as React from 'react';\nexport var RefContext = /*#__PURE__*/React.createContext({});","// =============================== Motion ===============================\nexport function getMotionName(prefixCls, transitionName, animationName) {\n var motionName = transitionName;\n if (!motionName && animationName) {\n motionName = \"\".concat(prefixCls, \"-\").concat(animationName);\n }\n return motionName;\n}\n\n// =============================== Offset ===============================\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n ret = d.body[method];\n }\n }\n return ret;\n}\nexport function offset(el) {\n var rect = el.getBoundingClientRect();\n var pos = {\n left: rect.left,\n top: rect.top\n };\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n pos.top += getScroll(w, true);\n return pos;\n}","import * as React from 'react';\nexport default /*#__PURE__*/React.memo(function (_ref) {\n var children = _ref.children;\n return children;\n}, function (_, _ref2) {\n var shouldUpdate = _ref2.shouldUpdate;\n return !shouldUpdate;\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport classNames from 'classnames';\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport React, { useMemo, useRef } from 'react';\nimport { RefContext } from \"../../context\";\nimport MemoChildren from \"./MemoChildren\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nvar sentinelStyle = {\n width: 0,\n height: 0,\n overflow: 'hidden',\n outline: 'none'\n};\nvar entityStyle = {\n outline: 'none'\n};\nvar Panel = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n title = props.title,\n ariaId = props.ariaId,\n footer = props.footer,\n closable = props.closable,\n closeIcon = props.closeIcon,\n onClose = props.onClose,\n children = props.children,\n bodyStyle = props.bodyStyle,\n bodyProps = props.bodyProps,\n modalRender = props.modalRender,\n onMouseDown = props.onMouseDown,\n onMouseUp = props.onMouseUp,\n holderRef = props.holderRef,\n visible = props.visible,\n forceRender = props.forceRender,\n width = props.width,\n height = props.height,\n modalClassNames = props.classNames,\n modalStyles = props.styles;\n\n // ================================= Refs =================================\n var _React$useContext = React.useContext(RefContext),\n panelRef = _React$useContext.panel;\n var mergedRef = useComposeRef(holderRef, panelRef);\n var sentinelStartRef = useRef();\n var sentinelEndRef = useRef();\n var entityRef = useRef();\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n var _entityRef$current;\n (_entityRef$current = entityRef.current) === null || _entityRef$current === void 0 || _entityRef$current.focus({\n preventScroll: true\n });\n },\n changeActive: function changeActive(next) {\n var _document = document,\n activeElement = _document.activeElement;\n if (next && activeElement === sentinelEndRef.current) {\n sentinelStartRef.current.focus({\n preventScroll: true\n });\n } else if (!next && activeElement === sentinelStartRef.current) {\n sentinelEndRef.current.focus({\n preventScroll: true\n });\n }\n }\n };\n });\n\n // ================================ Style =================================\n var contentStyle = {};\n if (width !== undefined) {\n contentStyle.width = width;\n }\n if (height !== undefined) {\n contentStyle.height = height;\n }\n // ================================ Render ================================\n var footerNode = footer ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-footer\"), modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.footer),\n style: _objectSpread({}, modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.footer)\n }, footer) : null;\n var headerNode = title ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-header\"), modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.header),\n style: _objectSpread({}, modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.header)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-title\"),\n id: ariaId\n }, title)) : null;\n var closableObj = useMemo(function () {\n if (_typeof(closable) === 'object' && closable !== null) {\n return closable;\n }\n if (closable) {\n return {\n closeIcon: closeIcon !== null && closeIcon !== void 0 ? closeIcon : /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-close-x\")\n })\n };\n }\n return {};\n }, [closable, closeIcon, prefixCls]);\n var ariaProps = pickAttrs(closableObj, true);\n var closeBtnIsDisabled = _typeof(closable) === 'object' && closable.disabled;\n var closerNode = closable ? /*#__PURE__*/React.createElement(\"button\", _extends({\n type: \"button\",\n onClick: onClose,\n \"aria-label\": \"Close\"\n }, ariaProps, {\n className: \"\".concat(prefixCls, \"-close\"),\n disabled: closeBtnIsDisabled\n }), closableObj.closeIcon) : null;\n var content = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.content),\n style: modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.content\n }, closerNode, headerNode, /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(\"\".concat(prefixCls, \"-body\"), modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.body),\n style: _objectSpread(_objectSpread({}, bodyStyle), modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.body)\n }, bodyProps), children), footerNode);\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"dialog-element\",\n role: \"dialog\",\n \"aria-labelledby\": title ? ariaId : null,\n \"aria-modal\": \"true\",\n ref: mergedRef,\n style: _objectSpread(_objectSpread({}, style), contentStyle),\n className: classNames(prefixCls, className),\n onMouseDown: onMouseDown,\n onMouseUp: onMouseUp\n }, /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelStartRef,\n style: sentinelStyle,\n \"aria-hidden\": \"true\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n ref: entityRef,\n tabIndex: -1,\n style: entityStyle\n }, /*#__PURE__*/React.createElement(MemoChildren, {\n shouldUpdate: visible || forceRender\n }, modalRender ? modalRender(content) : content)), /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelEndRef,\n style: sentinelStyle,\n \"aria-hidden\": \"true\"\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n Panel.displayName = 'Panel';\n}\nexport default Panel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { offset } from \"../../util\";\nimport Panel from \"./Panel\";\nvar Content = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n title = props.title,\n style = props.style,\n className = props.className,\n visible = props.visible,\n forceRender = props.forceRender,\n destroyOnClose = props.destroyOnClose,\n motionName = props.motionName,\n ariaId = props.ariaId,\n onVisibleChanged = props.onVisibleChanged,\n mousePosition = props.mousePosition;\n var dialogRef = useRef();\n\n // ============================= Style ==============================\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n transformOrigin = _React$useState2[0],\n setTransformOrigin = _React$useState2[1];\n var contentStyle = {};\n if (transformOrigin) {\n contentStyle.transformOrigin = transformOrigin;\n }\n function onPrepare() {\n var elementOffset = offset(dialogRef.current);\n setTransformOrigin(mousePosition && (mousePosition.x || mousePosition.y) ? \"\".concat(mousePosition.x - elementOffset.left, \"px \").concat(mousePosition.y - elementOffset.top, \"px\") : '');\n }\n\n // ============================= Render =============================\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible,\n onVisibleChanged: onVisibleChanged,\n onAppearPrepare: onPrepare,\n onEnterPrepare: onPrepare,\n forceRender: forceRender,\n motionName: motionName,\n removeOnLeave: destroyOnClose,\n ref: dialogRef\n }, function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(Panel, _extends({}, props, {\n ref: ref,\n title: title,\n ariaId: ariaId,\n prefixCls: prefixCls,\n holderRef: motionRef,\n style: _objectSpread(_objectSpread(_objectSpread({}, motionStyle), style), contentStyle),\n className: classNames(className, motionClassName)\n }));\n });\n});\nContent.displayName = 'Content';\nexport default Content;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nvar Mask = function Mask(props) {\n var prefixCls = props.prefixCls,\n style = props.style,\n visible = props.visible,\n maskProps = props.maskProps,\n motionName = props.motionName,\n className = props.className;\n return /*#__PURE__*/React.createElement(CSSMotion, {\n key: \"mask\",\n visible: visible,\n motionName: motionName,\n leavedClassName: \"\".concat(prefixCls, \"-mask-hidden\")\n }, function (_ref, ref) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n style: _objectSpread(_objectSpread({}, motionStyle), style),\n className: classNames(\"\".concat(prefixCls, \"-mask\"), motionClassName, className)\n }, maskProps));\n });\n};\nexport default Mask;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport contains from \"rc-util/es/Dom/contains\";\nimport useId from \"rc-util/es/hooks/useId\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport { getMotionName } from \"../util\";\nimport Content from \"./Content\";\nimport Mask from \"./Mask\";\nimport { warning } from \"rc-util/es/warning\";\nvar Dialog = function Dialog(props) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dialog' : _props$prefixCls,\n zIndex = props.zIndex,\n _props$visible = props.visible,\n visible = _props$visible === void 0 ? false : _props$visible,\n _props$keyboard = props.keyboard,\n keyboard = _props$keyboard === void 0 ? true : _props$keyboard,\n _props$focusTriggerAf = props.focusTriggerAfterClose,\n focusTriggerAfterClose = _props$focusTriggerAf === void 0 ? true : _props$focusTriggerAf,\n wrapStyle = props.wrapStyle,\n wrapClassName = props.wrapClassName,\n wrapProps = props.wrapProps,\n onClose = props.onClose,\n afterOpenChange = props.afterOpenChange,\n afterClose = props.afterClose,\n transitionName = props.transitionName,\n animation = props.animation,\n _props$closable = props.closable,\n closable = _props$closable === void 0 ? true : _props$closable,\n _props$mask = props.mask,\n mask = _props$mask === void 0 ? true : _props$mask,\n maskTransitionName = props.maskTransitionName,\n maskAnimation = props.maskAnimation,\n _props$maskClosable = props.maskClosable,\n maskClosable = _props$maskClosable === void 0 ? true : _props$maskClosable,\n maskStyle = props.maskStyle,\n maskProps = props.maskProps,\n rootClassName = props.rootClassName,\n modalClassNames = props.classNames,\n modalStyles = props.styles;\n if (process.env.NODE_ENV !== 'production') {\n ['wrapStyle', 'bodyStyle', 'maskStyle'].forEach(function (prop) {\n // (prop in props) && console.error(`Warning: ${prop} is deprecated, please use styles instead.`)\n warning(!(prop in props), \"\".concat(prop, \" is deprecated, please use styles instead.\"));\n });\n if ('wrapClassName' in props) {\n warning(false, \"wrapClassName is deprecated, please use classNames instead.\");\n }\n }\n var lastOutSideActiveElementRef = useRef();\n var wrapperRef = useRef();\n var contentRef = useRef();\n var _React$useState = React.useState(visible),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n animatedVisible = _React$useState2[0],\n setAnimatedVisible = _React$useState2[1];\n\n // ========================== Init ==========================\n var ariaId = useId();\n function saveLastOutSideActiveElementRef() {\n if (!contains(wrapperRef.current, document.activeElement)) {\n lastOutSideActiveElementRef.current = document.activeElement;\n }\n }\n function focusDialogContent() {\n if (!contains(wrapperRef.current, document.activeElement)) {\n var _contentRef$current;\n (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 || _contentRef$current.focus();\n }\n }\n\n // ========================= Events =========================\n function onDialogVisibleChanged(newVisible) {\n // Try to focus\n if (newVisible) {\n focusDialogContent();\n } else {\n // Clean up scroll bar & focus back\n setAnimatedVisible(false);\n if (mask && lastOutSideActiveElementRef.current && focusTriggerAfterClose) {\n try {\n lastOutSideActiveElementRef.current.focus({\n preventScroll: true\n });\n } catch (e) {\n // Do nothing\n }\n lastOutSideActiveElementRef.current = null;\n }\n\n // Trigger afterClose only when change visible from true to false\n if (animatedVisible) {\n afterClose === null || afterClose === void 0 || afterClose();\n }\n }\n afterOpenChange === null || afterOpenChange === void 0 || afterOpenChange(newVisible);\n }\n function onInternalClose(e) {\n onClose === null || onClose === void 0 || onClose(e);\n }\n\n // >>> Content\n var contentClickRef = useRef(false);\n var contentTimeoutRef = useRef();\n\n // We need record content click incase content popup out of dialog\n var onContentMouseDown = function onContentMouseDown() {\n clearTimeout(contentTimeoutRef.current);\n contentClickRef.current = true;\n };\n var onContentMouseUp = function onContentMouseUp() {\n contentTimeoutRef.current = setTimeout(function () {\n contentClickRef.current = false;\n });\n };\n\n // >>> Wrapper\n // Close only when element not on dialog\n var onWrapperClick = null;\n if (maskClosable) {\n onWrapperClick = function onWrapperClick(e) {\n if (contentClickRef.current) {\n contentClickRef.current = false;\n } else if (wrapperRef.current === e.target) {\n onInternalClose(e);\n }\n };\n }\n function onWrapperKeyDown(e) {\n if (keyboard && e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n onInternalClose(e);\n return;\n }\n\n // keep focus inside dialog\n if (visible && e.keyCode === KeyCode.TAB) {\n contentRef.current.changeActive(!e.shiftKey);\n }\n }\n\n // ========================= Effect =========================\n useEffect(function () {\n if (visible) {\n setAnimatedVisible(true);\n saveLastOutSideActiveElementRef();\n }\n }, [visible]);\n\n // Remove direct should also check the scroll bar update\n useEffect(function () {\n return function () {\n clearTimeout(contentTimeoutRef.current);\n };\n }, []);\n var mergedStyle = _objectSpread(_objectSpread(_objectSpread({\n zIndex: zIndex\n }, wrapStyle), modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.wrapper), {}, {\n display: !animatedVisible ? 'none' : null\n });\n\n // ========================= Render =========================\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(\"\".concat(prefixCls, \"-root\"), rootClassName)\n }, pickAttrs(props, {\n data: true\n })), /*#__PURE__*/React.createElement(Mask, {\n prefixCls: prefixCls,\n visible: mask && visible,\n motionName: getMotionName(prefixCls, maskTransitionName, maskAnimation),\n style: _objectSpread(_objectSpread({\n zIndex: zIndex\n }, maskStyle), modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.mask),\n maskProps: maskProps,\n className: modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.mask\n }), /*#__PURE__*/React.createElement(\"div\", _extends({\n tabIndex: -1,\n onKeyDown: onWrapperKeyDown,\n className: classNames(\"\".concat(prefixCls, \"-wrap\"), wrapClassName, modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.wrapper),\n ref: wrapperRef,\n onClick: onWrapperClick,\n style: mergedStyle\n }, wrapProps), /*#__PURE__*/React.createElement(Content, _extends({}, props, {\n onMouseDown: onContentMouseDown,\n onMouseUp: onContentMouseUp,\n ref: contentRef,\n closable: closable,\n ariaId: ariaId,\n prefixCls: prefixCls,\n visible: visible && animatedVisible,\n onClose: onInternalClose,\n onVisibleChanged: onDialogVisibleChanged,\n motionName: getMotionName(prefixCls, transitionName, animation)\n }))));\n};\nexport default Dialog;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport Portal from '@rc-component/portal';\nimport * as React from 'react';\nimport { RefContext } from \"./context\";\nimport Dialog from \"./Dialog\";\n// fix issue #10656\n/*\n * getContainer remarks\n * Custom container should not be return, because in the Portal component, it will remove the\n * return container element here, if the custom container is the only child of it's component,\n * like issue #10656, It will has a conflict with removeChild method in react-dom.\n * So here should add a child (div element) to custom container.\n * */\n\nvar DialogWrap = function DialogWrap(props) {\n var visible = props.visible,\n getContainer = props.getContainer,\n forceRender = props.forceRender,\n _props$destroyOnClose = props.destroyOnClose,\n destroyOnClose = _props$destroyOnClose === void 0 ? false : _props$destroyOnClose,\n _afterClose = props.afterClose,\n panelRef = props.panelRef;\n var _React$useState = React.useState(visible),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n animatedVisible = _React$useState2[0],\n setAnimatedVisible = _React$useState2[1];\n var refContext = React.useMemo(function () {\n return {\n panel: panelRef\n };\n }, [panelRef]);\n React.useEffect(function () {\n if (visible) {\n setAnimatedVisible(true);\n }\n }, [visible]);\n\n // Destroy on close will remove wrapped div\n if (!forceRender && destroyOnClose && !animatedVisible) {\n return null;\n }\n return /*#__PURE__*/React.createElement(RefContext.Provider, {\n value: refContext\n }, /*#__PURE__*/React.createElement(Portal, {\n open: visible || forceRender || animatedVisible,\n autoDestroy: false,\n getContainer: getContainer,\n autoLock: visible || animatedVisible\n }, /*#__PURE__*/React.createElement(Dialog, _extends({}, props, {\n destroyOnClose: destroyOnClose,\n afterClose: function afterClose() {\n _afterClose === null || _afterClose === void 0 || _afterClose();\n setAnimatedVisible(false);\n }\n }))));\n};\nDialogWrap.displayName = 'Dialog';\nexport default DialogWrap;","import DialogWrap from \"./DialogWrap\";\nimport Panel from \"./Dialog/Content/Panel\";\nexport { Panel };\nexport default DialogWrap;","import * as React from 'react';\nexport var PreviewGroupContext = /*#__PURE__*/React.createContext(null);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport Portal from '@rc-component/portal';\nimport classnames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { PreviewGroupContext } from \"./context\";\nvar Operations = function Operations(props) {\n var visible = props.visible,\n maskTransitionName = props.maskTransitionName,\n getContainer = props.getContainer,\n prefixCls = props.prefixCls,\n rootClassName = props.rootClassName,\n icons = props.icons,\n countRender = props.countRender,\n showSwitch = props.showSwitch,\n showProgress = props.showProgress,\n current = props.current,\n transform = props.transform,\n count = props.count,\n scale = props.scale,\n minScale = props.minScale,\n maxScale = props.maxScale,\n closeIcon = props.closeIcon,\n onSwitchLeft = props.onSwitchLeft,\n onSwitchRight = props.onSwitchRight,\n onClose = props.onClose,\n onZoomIn = props.onZoomIn,\n onZoomOut = props.onZoomOut,\n onRotateRight = props.onRotateRight,\n onRotateLeft = props.onRotateLeft,\n onFlipX = props.onFlipX,\n onFlipY = props.onFlipY,\n onReset = props.onReset,\n toolbarRender = props.toolbarRender,\n zIndex = props.zIndex,\n image = props.image;\n var groupContext = useContext(PreviewGroupContext);\n var rotateLeft = icons.rotateLeft,\n rotateRight = icons.rotateRight,\n zoomIn = icons.zoomIn,\n zoomOut = icons.zoomOut,\n close = icons.close,\n left = icons.left,\n right = icons.right,\n flipX = icons.flipX,\n flipY = icons.flipY;\n var toolClassName = \"\".concat(prefixCls, \"-operations-operation\");\n React.useEffect(function () {\n var onKeyDown = function onKeyDown(e) {\n if (e.keyCode === KeyCode.ESC) {\n onClose();\n }\n };\n if (visible) {\n window.addEventListener('keydown', onKeyDown);\n }\n return function () {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [visible]);\n var tools = [{\n icon: flipY,\n onClick: onFlipY,\n type: 'flipY'\n }, {\n icon: flipX,\n onClick: onFlipX,\n type: 'flipX'\n }, {\n icon: rotateLeft,\n onClick: onRotateLeft,\n type: 'rotateLeft'\n }, {\n icon: rotateRight,\n onClick: onRotateRight,\n type: 'rotateRight'\n }, {\n icon: zoomOut,\n onClick: onZoomOut,\n type: 'zoomOut',\n disabled: scale <= minScale\n }, {\n icon: zoomIn,\n onClick: onZoomIn,\n type: 'zoomIn',\n disabled: scale === maxScale\n }];\n var toolsNode = tools.map(function (_ref) {\n var _classnames;\n var icon = _ref.icon,\n onClick = _ref.onClick,\n type = _ref.type,\n disabled = _ref.disabled;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(toolClassName, (_classnames = {}, _defineProperty(_classnames, \"\".concat(prefixCls, \"-operations-operation-\").concat(type), true), _defineProperty(_classnames, \"\".concat(prefixCls, \"-operations-operation-disabled\"), !!disabled), _classnames)),\n onClick: onClick,\n key: type\n }, icon);\n });\n var toolbarNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-operations\")\n }, toolsNode);\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible,\n motionName: maskTransitionName\n }, function (_ref2) {\n var className = _ref2.className,\n style = _ref2.style;\n return /*#__PURE__*/React.createElement(Portal, {\n open: true,\n getContainer: getContainer !== null && getContainer !== void 0 ? getContainer : document.body\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(\"\".concat(prefixCls, \"-operations-wrapper\"), className, rootClassName),\n style: _objectSpread(_objectSpread({}, style), {}, {\n zIndex: zIndex\n })\n }, closeIcon === null ? null : /*#__PURE__*/React.createElement(\"button\", {\n className: \"\".concat(prefixCls, \"-close\"),\n onClick: onClose\n }, closeIcon || close), showSwitch && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(\"\".concat(prefixCls, \"-switch-left\"), _defineProperty({}, \"\".concat(prefixCls, \"-switch-left-disabled\"), current === 0)),\n onClick: onSwitchLeft\n }, left), /*#__PURE__*/React.createElement(\"div\", {\n className: classnames(\"\".concat(prefixCls, \"-switch-right\"), _defineProperty({}, \"\".concat(prefixCls, \"-switch-right-disabled\"), current === count - 1)),\n onClick: onSwitchRight\n }, right)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, showProgress && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-progress\")\n }, countRender ? countRender(current + 1, count) : \"\".concat(current + 1, \" / \").concat(count)), toolbarRender ? toolbarRender(toolbarNode, _objectSpread(_objectSpread({\n icons: {\n flipYIcon: toolsNode[0],\n flipXIcon: toolsNode[1],\n rotateLeftIcon: toolsNode[2],\n rotateRightIcon: toolsNode[3],\n zoomOutIcon: toolsNode[4],\n zoomInIcon: toolsNode[5]\n },\n actions: {\n onFlipY: onFlipY,\n onFlipX: onFlipX,\n onRotateLeft: onRotateLeft,\n onRotateRight: onRotateRight,\n onZoomOut: onZoomOut,\n onZoomIn: onZoomIn,\n onReset: onReset,\n onClose: onClose\n },\n transform: transform\n }, groupContext ? {\n current: current,\n total: count\n } : {}), {}, {\n image: image\n })) : toolbarNode)));\n });\n};\nexport default Operations;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { getClientSize } from \"rc-util/es/Dom/css\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport raf from \"rc-util/es/raf\";\nimport { useRef, useState } from 'react';\nvar initialTransform = {\n x: 0,\n y: 0,\n rotate: 0,\n scale: 1,\n flipX: false,\n flipY: false\n};\nexport default function useImageTransform(imgRef, minScale, maxScale, onTransform) {\n var frame = useRef(null);\n var queue = useRef([]);\n var _useState = useState(initialTransform),\n _useState2 = _slicedToArray(_useState, 2),\n transform = _useState2[0],\n setTransform = _useState2[1];\n var resetTransform = function resetTransform(action) {\n setTransform(initialTransform);\n if (!isEqual(initialTransform, transform)) {\n onTransform === null || onTransform === void 0 || onTransform({\n transform: initialTransform,\n action: action\n });\n }\n };\n\n /** Direct update transform */\n var updateTransform = function updateTransform(newTransform, action) {\n if (frame.current === null) {\n queue.current = [];\n frame.current = raf(function () {\n setTransform(function (preState) {\n var memoState = preState;\n queue.current.forEach(function (queueState) {\n memoState = _objectSpread(_objectSpread({}, memoState), queueState);\n });\n frame.current = null;\n onTransform === null || onTransform === void 0 || onTransform({\n transform: memoState,\n action: action\n });\n return memoState;\n });\n });\n }\n queue.current.push(_objectSpread(_objectSpread({}, transform), newTransform));\n };\n\n /** Scale according to the position of centerX and centerY */\n var dispatchZoomChange = function dispatchZoomChange(ratio, action, centerX, centerY, isTouch) {\n var _imgRef$current = imgRef.current,\n width = _imgRef$current.width,\n height = _imgRef$current.height,\n offsetWidth = _imgRef$current.offsetWidth,\n offsetHeight = _imgRef$current.offsetHeight,\n offsetLeft = _imgRef$current.offsetLeft,\n offsetTop = _imgRef$current.offsetTop;\n var newRatio = ratio;\n var newScale = transform.scale * ratio;\n if (newScale > maxScale) {\n newScale = maxScale;\n newRatio = maxScale / transform.scale;\n } else if (newScale < minScale) {\n // For mobile interactions, allow scaling down to the minimum scale.\n newScale = isTouch ? newScale : minScale;\n newRatio = newScale / transform.scale;\n }\n\n /** Default center point scaling */\n var mergedCenterX = centerX !== null && centerX !== void 0 ? centerX : innerWidth / 2;\n var mergedCenterY = centerY !== null && centerY !== void 0 ? centerY : innerHeight / 2;\n var diffRatio = newRatio - 1;\n /** Deviation calculated from image size */\n var diffImgX = diffRatio * width * 0.5;\n var diffImgY = diffRatio * height * 0.5;\n /** The difference between the click position and the edge of the document */\n var diffOffsetLeft = diffRatio * (mergedCenterX - transform.x - offsetLeft);\n var diffOffsetTop = diffRatio * (mergedCenterY - transform.y - offsetTop);\n /** Final positioning */\n var newX = transform.x - (diffOffsetLeft - diffImgX);\n var newY = transform.y - (diffOffsetTop - diffImgY);\n\n /**\n * When zooming the image\n * When the image size is smaller than the width and height of the window, the position is initialized\n */\n if (ratio < 1 && newScale === 1) {\n var mergedWidth = offsetWidth * newScale;\n var mergedHeight = offsetHeight * newScale;\n var _getClientSize = getClientSize(),\n clientWidth = _getClientSize.width,\n clientHeight = _getClientSize.height;\n if (mergedWidth <= clientWidth && mergedHeight <= clientHeight) {\n newX = 0;\n newY = 0;\n }\n }\n updateTransform({\n x: newX,\n y: newY,\n scale: newScale\n }, action);\n };\n return {\n transform: transform,\n resetTransform: resetTransform,\n updateTransform: updateTransform,\n dispatchZoomChange: dispatchZoomChange\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { getClientSize } from \"rc-util/es/Dom/css\";\nfunction fixPoint(key, start, width, clientWidth) {\n var startAddWidth = start + width;\n var offsetStart = (width - clientWidth) / 2;\n if (width > clientWidth) {\n if (start > 0) {\n return _defineProperty({}, key, offsetStart);\n }\n if (start < 0 && startAddWidth < clientWidth) {\n return _defineProperty({}, key, -offsetStart);\n }\n } else if (start < 0 || startAddWidth > clientWidth) {\n return _defineProperty({}, key, start < 0 ? offsetStart : -offsetStart);\n }\n return {};\n}\n\n/**\n * Fix positon x,y point when\n *\n * Ele width && height < client\n * - Back origin\n *\n * - Ele width | height > clientWidth | clientHeight\n * - left | top > 0 -> Back 0\n * - left | top + width | height < clientWidth | clientHeight -> Back left | top + width | height === clientWidth | clientHeight\n *\n * Regardless of other\n */\nexport default function getFixScaleEleTransPosition(width, height, left, top) {\n var _getClientSize = getClientSize(),\n clientWidth = _getClientSize.width,\n clientHeight = _getClientSize.height;\n var fixPos = null;\n if (width <= clientWidth && height <= clientHeight) {\n fixPos = {\n x: 0,\n y: 0\n };\n } else if (width > clientWidth || height > clientHeight) {\n fixPos = _objectSpread(_objectSpread({}, fixPoint('x', left, width, clientWidth)), fixPoint('y', top, height, clientHeight));\n }\n return fixPos;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEffect, useRef, useState } from 'react';\nimport { isImageValid } from \"../util\";\nexport default function useStatus(_ref) {\n var src = _ref.src,\n isCustomPlaceholder = _ref.isCustomPlaceholder,\n fallback = _ref.fallback;\n var _useState = useState(isCustomPlaceholder ? 'loading' : 'normal'),\n _useState2 = _slicedToArray(_useState, 2),\n status = _useState2[0],\n setStatus = _useState2[1];\n var isLoaded = useRef(false);\n var isError = status === 'error';\n\n // https://github.com/react-component/image/pull/187\n useEffect(function () {\n var isCurrentSrc = true;\n isImageValid(src).then(function (isValid) {\n // https://github.com/ant-design/ant-design/issues/44948\n // If src changes, the previous setStatus should not be triggered\n if (!isValid && isCurrentSrc) {\n setStatus('error');\n }\n });\n return function () {\n isCurrentSrc = false;\n };\n }, [src]);\n useEffect(function () {\n if (isCustomPlaceholder && !isLoaded.current) {\n setStatus('loading');\n } else if (isError) {\n setStatus('normal');\n }\n }, [src]);\n var onLoad = function onLoad() {\n setStatus('normal');\n };\n var getImgRef = function getImgRef(img) {\n isLoaded.current = false;\n if (status === 'loading' && img !== null && img !== void 0 && img.complete && (img.naturalWidth || img.naturalHeight)) {\n isLoaded.current = true;\n onLoad();\n }\n };\n var srcAndOnload = isError && fallback ? {\n src: fallback\n } : {\n onLoad: onLoad,\n src: src\n };\n return [getImgRef, srcAndOnload, status];\n}","export function isImageValid(src) {\n return new Promise(function (resolve) {\n var img = document.createElement('img');\n img.onerror = function () {\n return resolve(false);\n };\n img.onload = function () {\n return resolve(true);\n };\n img.src = src;\n });\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport { useEffect, useRef, useState } from 'react';\nimport getFixScaleEleTransPosition from \"../getFixScaleEleTransPosition\";\nfunction getDistance(a, b) {\n var x = a.x - b.x;\n var y = a.y - b.y;\n return Math.hypot(x, y);\n}\nfunction getCenter(oldPoint1, oldPoint2, newPoint1, newPoint2) {\n // Calculate the distance each point has moved\n var distance1 = getDistance(oldPoint1, newPoint1);\n var distance2 = getDistance(oldPoint2, newPoint2);\n\n // If both distances are 0, return the original points\n if (distance1 === 0 && distance2 === 0) {\n return [oldPoint1.x, oldPoint1.y];\n }\n\n // Calculate the ratio of the distances\n var ratio = distance1 / (distance1 + distance2);\n\n // Calculate the new center point based on the ratio\n var x = oldPoint1.x + ratio * (oldPoint2.x - oldPoint1.x);\n var y = oldPoint1.y + ratio * (oldPoint2.y - oldPoint1.y);\n return [x, y];\n}\nexport default function useTouchEvent(imgRef, movable, visible, minScale, transform, updateTransform, dispatchZoomChange) {\n var rotate = transform.rotate,\n scale = transform.scale,\n x = transform.x,\n y = transform.y;\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isTouching = _useState2[0],\n setIsTouching = _useState2[1];\n var touchPointInfo = useRef({\n point1: {\n x: 0,\n y: 0\n },\n point2: {\n x: 0,\n y: 0\n },\n eventType: 'none'\n });\n var updateTouchPointInfo = function updateTouchPointInfo(values) {\n touchPointInfo.current = _objectSpread(_objectSpread({}, touchPointInfo.current), values);\n };\n var onTouchStart = function onTouchStart(event) {\n if (!movable) return;\n event.stopPropagation();\n setIsTouching(true);\n var _event$touches = event.touches,\n touches = _event$touches === void 0 ? [] : _event$touches;\n if (touches.length > 1) {\n // touch zoom\n updateTouchPointInfo({\n point1: {\n x: touches[0].clientX,\n y: touches[0].clientY\n },\n point2: {\n x: touches[1].clientX,\n y: touches[1].clientY\n },\n eventType: 'touchZoom'\n });\n } else {\n // touch move\n updateTouchPointInfo({\n point1: {\n x: touches[0].clientX - x,\n y: touches[0].clientY - y\n },\n eventType: 'move'\n });\n }\n };\n var onTouchMove = function onTouchMove(event) {\n var _event$touches2 = event.touches,\n touches = _event$touches2 === void 0 ? [] : _event$touches2;\n var _touchPointInfo$curre = touchPointInfo.current,\n point1 = _touchPointInfo$curre.point1,\n point2 = _touchPointInfo$curre.point2,\n eventType = _touchPointInfo$curre.eventType;\n if (touches.length > 1 && eventType === 'touchZoom') {\n // touch zoom\n var newPoint1 = {\n x: touches[0].clientX,\n y: touches[0].clientY\n };\n var newPoint2 = {\n x: touches[1].clientX,\n y: touches[1].clientY\n };\n var _getCenter = getCenter(point1, point2, newPoint1, newPoint2),\n _getCenter2 = _slicedToArray(_getCenter, 2),\n centerX = _getCenter2[0],\n centerY = _getCenter2[1];\n var ratio = getDistance(newPoint1, newPoint2) / getDistance(point1, point2);\n dispatchZoomChange(ratio, 'touchZoom', centerX, centerY, true);\n updateTouchPointInfo({\n point1: newPoint1,\n point2: newPoint2,\n eventType: 'touchZoom'\n });\n } else if (eventType === 'move') {\n // touch move\n updateTransform({\n x: touches[0].clientX - point1.x,\n y: touches[0].clientY - point1.y\n }, 'move');\n updateTouchPointInfo({\n eventType: 'move'\n });\n }\n };\n var onTouchEnd = function onTouchEnd() {\n if (!visible) return;\n if (isTouching) {\n setIsTouching(false);\n }\n updateTouchPointInfo({\n eventType: 'none'\n });\n if (minScale > scale) {\n /** When the scaling ratio is less than the minimum scaling ratio, reset the scaling ratio */\n return updateTransform({\n x: 0,\n y: 0,\n scale: minScale\n }, 'touchZoom');\n }\n var width = imgRef.current.offsetWidth * scale;\n var height = imgRef.current.offsetHeight * scale;\n // eslint-disable-next-line @typescript-eslint/no-shadow\n var _imgRef$current$getBo = imgRef.current.getBoundingClientRect(),\n left = _imgRef$current$getBo.left,\n top = _imgRef$current$getBo.top;\n var isRotate = rotate % 180 !== 0;\n var fixState = getFixScaleEleTransPosition(isRotate ? height : width, isRotate ? width : height, left, top);\n if (fixState) {\n updateTransform(_objectSpread({}, fixState), 'dragRebound');\n }\n };\n useEffect(function () {\n var onTouchMoveListener;\n if (visible && movable) {\n onTouchMoveListener = addEventListener(window, 'touchmove', function (e) {\n return e.preventDefault();\n }, {\n passive: false\n });\n }\n return function () {\n var _onTouchMoveListener;\n (_onTouchMoveListener = onTouchMoveListener) === null || _onTouchMoveListener === void 0 || _onTouchMoveListener.remove();\n };\n }, [visible, movable]);\n return {\n isTouching: isTouching,\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"fallback\", \"src\", \"imgRef\"],\n _excluded2 = [\"prefixCls\", \"src\", \"alt\", \"imageInfo\", \"fallback\", \"movable\", \"onClose\", \"visible\", \"icons\", \"rootClassName\", \"closeIcon\", \"getContainer\", \"current\", \"count\", \"countRender\", \"scaleStep\", \"minScale\", \"maxScale\", \"transitionName\", \"maskTransitionName\", \"imageRender\", \"imgCommonProps\", \"toolbarRender\", \"onTransform\", \"onChange\"];\nimport classnames from 'classnames';\nimport Dialog from 'rc-dialog';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport React, { useContext, useEffect, useRef, useState } from 'react';\nimport Operations from \"./Operations\";\nimport { PreviewGroupContext } from \"./context\";\nimport useImageTransform from \"./hooks/useImageTransform\";\nimport useMouseEvent from \"./hooks/useMouseEvent\";\nimport useStatus from \"./hooks/useStatus\";\nimport useTouchEvent from \"./hooks/useTouchEvent\";\nimport { BASE_SCALE_RATIO } from \"./previewConfig\";\nvar PreviewImage = function PreviewImage(_ref) {\n var fallback = _ref.fallback,\n src = _ref.src,\n imgRef = _ref.imgRef,\n props = _objectWithoutProperties(_ref, _excluded);\n var _useStatus = useStatus({\n src: src,\n fallback: fallback\n }),\n _useStatus2 = _slicedToArray(_useStatus, 2),\n getImgRef = _useStatus2[0],\n srcAndOnload = _useStatus2[1];\n return /*#__PURE__*/React.createElement(\"img\", _extends({\n ref: function ref(_ref2) {\n imgRef.current = _ref2;\n getImgRef(_ref2);\n }\n }, props, srcAndOnload));\n};\nvar Preview = function Preview(props) {\n var prefixCls = props.prefixCls,\n src = props.src,\n alt = props.alt,\n imageInfo = props.imageInfo,\n fallback = props.fallback,\n _props$movable = props.movable,\n movable = _props$movable === void 0 ? true : _props$movable,\n onClose = props.onClose,\n visible = props.visible,\n _props$icons = props.icons,\n icons = _props$icons === void 0 ? {} : _props$icons,\n rootClassName = props.rootClassName,\n closeIcon = props.closeIcon,\n getContainer = props.getContainer,\n _props$current = props.current,\n current = _props$current === void 0 ? 0 : _props$current,\n _props$count = props.count,\n count = _props$count === void 0 ? 1 : _props$count,\n countRender = props.countRender,\n _props$scaleStep = props.scaleStep,\n scaleStep = _props$scaleStep === void 0 ? 0.5 : _props$scaleStep,\n _props$minScale = props.minScale,\n minScale = _props$minScale === void 0 ? 1 : _props$minScale,\n _props$maxScale = props.maxScale,\n maxScale = _props$maxScale === void 0 ? 50 : _props$maxScale,\n _props$transitionName = props.transitionName,\n transitionName = _props$transitionName === void 0 ? 'zoom' : _props$transitionName,\n _props$maskTransition = props.maskTransitionName,\n maskTransitionName = _props$maskTransition === void 0 ? 'fade' : _props$maskTransition,\n imageRender = props.imageRender,\n imgCommonProps = props.imgCommonProps,\n toolbarRender = props.toolbarRender,\n onTransform = props.onTransform,\n onChange = props.onChange,\n restProps = _objectWithoutProperties(props, _excluded2);\n var imgRef = useRef();\n var groupContext = useContext(PreviewGroupContext);\n var showLeftOrRightSwitches = groupContext && count > 1;\n var showOperationsProgress = groupContext && count >= 1;\n var _useState = useState(true),\n _useState2 = _slicedToArray(_useState, 2),\n enableTransition = _useState2[0],\n setEnableTransition = _useState2[1];\n var _useImageTransform = useImageTransform(imgRef, minScale, maxScale, onTransform),\n transform = _useImageTransform.transform,\n resetTransform = _useImageTransform.resetTransform,\n updateTransform = _useImageTransform.updateTransform,\n dispatchZoomChange = _useImageTransform.dispatchZoomChange;\n var _useMouseEvent = useMouseEvent(imgRef, movable, visible, scaleStep, transform, updateTransform, dispatchZoomChange),\n isMoving = _useMouseEvent.isMoving,\n onMouseDown = _useMouseEvent.onMouseDown,\n onWheel = _useMouseEvent.onWheel;\n var _useTouchEvent = useTouchEvent(imgRef, movable, visible, minScale, transform, updateTransform, dispatchZoomChange),\n isTouching = _useTouchEvent.isTouching,\n onTouchStart = _useTouchEvent.onTouchStart,\n onTouchMove = _useTouchEvent.onTouchMove,\n onTouchEnd = _useTouchEvent.onTouchEnd;\n var rotate = transform.rotate,\n scale = transform.scale;\n var wrapClassName = classnames(_defineProperty({}, \"\".concat(prefixCls, \"-moving\"), isMoving));\n useEffect(function () {\n if (!enableTransition) {\n setEnableTransition(true);\n }\n }, [enableTransition]);\n var onAfterClose = function onAfterClose() {\n resetTransform('close');\n };\n var onZoomIn = function onZoomIn() {\n dispatchZoomChange(BASE_SCALE_RATIO + scaleStep, 'zoomIn');\n };\n var onZoomOut = function onZoomOut() {\n dispatchZoomChange(BASE_SCALE_RATIO / (BASE_SCALE_RATIO + scaleStep), 'zoomOut');\n };\n var onRotateRight = function onRotateRight() {\n updateTransform({\n rotate: rotate + 90\n }, 'rotateRight');\n };\n var onRotateLeft = function onRotateLeft() {\n updateTransform({\n rotate: rotate - 90\n }, 'rotateLeft');\n };\n var onFlipX = function onFlipX() {\n updateTransform({\n flipX: !transform.flipX\n }, 'flipX');\n };\n var onFlipY = function onFlipY() {\n updateTransform({\n flipY: !transform.flipY\n }, 'flipY');\n };\n var onReset = function onReset() {\n resetTransform('reset');\n };\n var onSwitchLeft = function onSwitchLeft(event) {\n event === null || event === void 0 || event.preventDefault();\n event === null || event === void 0 || event.stopPropagation();\n if (current > 0) {\n setEnableTransition(false);\n resetTransform('prev');\n onChange === null || onChange === void 0 || onChange(current - 1, current);\n }\n };\n var onSwitchRight = function onSwitchRight(event) {\n event === null || event === void 0 || event.preventDefault();\n event === null || event === void 0 || event.stopPropagation();\n if (current < count - 1) {\n setEnableTransition(false);\n resetTransform('next');\n onChange === null || onChange === void 0 || onChange(current + 1, current);\n }\n };\n var onKeyDown = function onKeyDown(event) {\n if (!visible || !showLeftOrRightSwitches) return;\n if (event.keyCode === KeyCode.LEFT) {\n onSwitchLeft();\n } else if (event.keyCode === KeyCode.RIGHT) {\n onSwitchRight();\n }\n };\n var onDoubleClick = function onDoubleClick(event) {\n if (visible) {\n if (scale !== 1) {\n updateTransform({\n x: 0,\n y: 0,\n scale: 1\n }, 'doubleClick');\n } else {\n dispatchZoomChange(BASE_SCALE_RATIO + scaleStep, 'doubleClick', event.clientX, event.clientY);\n }\n }\n };\n useEffect(function () {\n var onKeyDownListener = addEventListener(window, 'keydown', onKeyDown, false);\n return function () {\n onKeyDownListener.remove();\n };\n }, [visible, showLeftOrRightSwitches, current]);\n var imgNode = /*#__PURE__*/React.createElement(PreviewImage, _extends({}, imgCommonProps, {\n width: props.width,\n height: props.height,\n imgRef: imgRef,\n className: \"\".concat(prefixCls, \"-img\"),\n alt: alt,\n style: {\n transform: \"translate3d(\".concat(transform.x, \"px, \").concat(transform.y, \"px, 0) scale3d(\").concat(transform.flipX ? '-' : '').concat(scale, \", \").concat(transform.flipY ? '-' : '').concat(scale, \", 1) rotate(\").concat(rotate, \"deg)\"),\n transitionDuration: (!enableTransition || isTouching) && '0s'\n },\n fallback: fallback,\n src: src,\n onWheel: onWheel,\n onMouseDown: onMouseDown,\n onDoubleClick: onDoubleClick,\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd,\n onTouchCancel: onTouchEnd\n }));\n var image = _objectSpread({\n url: src,\n alt: alt\n }, imageInfo);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dialog, _extends({\n transitionName: transitionName,\n maskTransitionName: maskTransitionName,\n closable: false,\n keyboard: true,\n prefixCls: prefixCls,\n onClose: onClose,\n visible: visible,\n classNames: {\n wrapper: wrapClassName\n },\n rootClassName: rootClassName,\n getContainer: getContainer\n }, restProps, {\n afterClose: onAfterClose\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-img-wrapper\")\n }, imageRender ? imageRender(imgNode, _objectSpread({\n transform: transform,\n image: image\n }, groupContext ? {\n current: current\n } : {})) : imgNode)), /*#__PURE__*/React.createElement(Operations, {\n visible: visible,\n transform: transform,\n maskTransitionName: maskTransitionName,\n closeIcon: closeIcon,\n getContainer: getContainer,\n prefixCls: prefixCls,\n rootClassName: rootClassName,\n icons: icons,\n countRender: countRender,\n showSwitch: showLeftOrRightSwitches,\n showProgress: showOperationsProgress,\n current: current,\n count: count,\n scale: scale,\n minScale: minScale,\n maxScale: maxScale,\n toolbarRender: toolbarRender,\n onSwitchLeft: onSwitchLeft,\n onSwitchRight: onSwitchRight,\n onZoomIn: onZoomIn,\n onZoomOut: onZoomOut,\n onRotateRight: onRotateRight,\n onRotateLeft: onRotateLeft,\n onFlipX: onFlipX,\n onFlipY: onFlipY,\n onClose: onClose,\n onReset: onReset,\n zIndex: restProps.zIndex !== undefined ? restProps.zIndex + 1 : undefined,\n image: image\n }));\n};\nexport default Preview;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport { warning } from \"rc-util/es/warning\";\nimport { useEffect, useRef, useState } from 'react';\nimport getFixScaleEleTransPosition from \"../getFixScaleEleTransPosition\";\nimport { BASE_SCALE_RATIO, WHEEL_MAX_SCALE_RATIO } from \"../previewConfig\";\nexport default function useMouseEvent(imgRef, movable, visible, scaleStep, transform, updateTransform, dispatchZoomChange) {\n var rotate = transform.rotate,\n scale = transform.scale,\n x = transform.x,\n y = transform.y;\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isMoving = _useState2[0],\n setMoving = _useState2[1];\n var startPositionInfo = useRef({\n diffX: 0,\n diffY: 0,\n transformX: 0,\n transformY: 0\n });\n var onMouseDown = function onMouseDown(event) {\n // Only allow main button\n if (!movable || event.button !== 0) return;\n event.preventDefault();\n event.stopPropagation();\n startPositionInfo.current = {\n diffX: event.pageX - x,\n diffY: event.pageY - y,\n transformX: x,\n transformY: y\n };\n setMoving(true);\n };\n var onMouseMove = function onMouseMove(event) {\n if (visible && isMoving) {\n updateTransform({\n x: event.pageX - startPositionInfo.current.diffX,\n y: event.pageY - startPositionInfo.current.diffY\n }, 'move');\n }\n };\n var onMouseUp = function onMouseUp() {\n if (visible && isMoving) {\n setMoving(false);\n\n /** No need to restore the position when the picture is not moved, So as not to interfere with the click */\n var _startPositionInfo$cu = startPositionInfo.current,\n transformX = _startPositionInfo$cu.transformX,\n transformY = _startPositionInfo$cu.transformY;\n var hasChangedPosition = x !== transformX && y !== transformY;\n if (!hasChangedPosition) return;\n var width = imgRef.current.offsetWidth * scale;\n var height = imgRef.current.offsetHeight * scale;\n // eslint-disable-next-line @typescript-eslint/no-shadow\n var _imgRef$current$getBo = imgRef.current.getBoundingClientRect(),\n left = _imgRef$current$getBo.left,\n top = _imgRef$current$getBo.top;\n var isRotate = rotate % 180 !== 0;\n var fixState = getFixScaleEleTransPosition(isRotate ? height : width, isRotate ? width : height, left, top);\n if (fixState) {\n updateTransform(_objectSpread({}, fixState), 'dragRebound');\n }\n }\n };\n var onWheel = function onWheel(event) {\n if (!visible || event.deltaY == 0) return;\n // Scale ratio depends on the deltaY size\n var scaleRatio = Math.abs(event.deltaY / 100);\n // Limit the maximum scale ratio\n var mergedScaleRatio = Math.min(scaleRatio, WHEEL_MAX_SCALE_RATIO);\n // Scale the ratio each time\n var ratio = BASE_SCALE_RATIO + mergedScaleRatio * scaleStep;\n if (event.deltaY > 0) {\n ratio = BASE_SCALE_RATIO / ratio;\n }\n dispatchZoomChange(ratio, 'wheel', event.clientX, event.clientY);\n };\n useEffect(function () {\n var onTopMouseUpListener;\n var onTopMouseMoveListener;\n var onMouseUpListener;\n var onMouseMoveListener;\n if (movable) {\n onMouseUpListener = addEventListener(window, 'mouseup', onMouseUp, false);\n onMouseMoveListener = addEventListener(window, 'mousemove', onMouseMove, false);\n try {\n // Resolve if in iframe lost event\n /* istanbul ignore next */\n if (window.top !== window.self) {\n onTopMouseUpListener = addEventListener(window.top, 'mouseup', onMouseUp, false);\n onTopMouseMoveListener = addEventListener(window.top, 'mousemove', onMouseMove, false);\n }\n } catch (error) {\n /* istanbul ignore next */\n warning(false, \"[rc-image] \".concat(error));\n }\n }\n return function () {\n var _onMouseUpListener, _onMouseMoveListener, _onTopMouseUpListener, _onTopMouseMoveListen;\n (_onMouseUpListener = onMouseUpListener) === null || _onMouseUpListener === void 0 || _onMouseUpListener.remove();\n (_onMouseMoveListener = onMouseMoveListener) === null || _onMouseMoveListener === void 0 || _onMouseMoveListener.remove();\n /* istanbul ignore next */\n (_onTopMouseUpListener = onTopMouseUpListener) === null || _onTopMouseUpListener === void 0 || _onTopMouseUpListener.remove();\n /* istanbul ignore next */\n (_onTopMouseMoveListen = onTopMouseMoveListener) === null || _onTopMouseMoveListen === void 0 || _onTopMouseMoveListen.remove();\n };\n }, [visible, isMoving, x, y, rotate, movable]);\n return {\n isMoving: isMoving,\n onMouseDown: onMouseDown,\n onMouseMove: onMouseMove,\n onMouseUp: onMouseUp,\n onWheel: onWheel\n };\n}","/** Scale the ratio base */\nexport var BASE_SCALE_RATIO = 1;\n/** The maximum zoom ratio when the mouse zooms in, adjustable */\nexport var WHEEL_MAX_SCALE_RATIO = 1;","export var COMMON_PROPS = ['crossOrigin', 'decoding', 'draggable', 'loading', 'referrerPolicy', 'sizes', 'srcSet', 'useMap', 'alt'];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"visible\", \"onVisibleChange\", \"getContainer\", \"current\", \"movable\", \"minScale\", \"maxScale\", \"countRender\", \"closeIcon\", \"onChange\", \"onTransform\", \"toolbarRender\", \"imageRender\"],\n _excluded2 = [\"src\"];\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { useState } from 'react';\nimport Preview from \"./Preview\";\nimport { PreviewGroupContext } from \"./context\";\nimport usePreviewItems from \"./hooks/usePreviewItems\";\nvar Group = function Group(_ref) {\n var _mergedItems$current;\n var _ref$previewPrefixCls = _ref.previewPrefixCls,\n previewPrefixCls = _ref$previewPrefixCls === void 0 ? 'rc-image-preview' : _ref$previewPrefixCls,\n children = _ref.children,\n _ref$icons = _ref.icons,\n icons = _ref$icons === void 0 ? {} : _ref$icons,\n items = _ref.items,\n preview = _ref.preview,\n fallback = _ref.fallback;\n var _ref2 = _typeof(preview) === 'object' ? preview : {},\n previewVisible = _ref2.visible,\n onVisibleChange = _ref2.onVisibleChange,\n getContainer = _ref2.getContainer,\n currentIndex = _ref2.current,\n movable = _ref2.movable,\n minScale = _ref2.minScale,\n maxScale = _ref2.maxScale,\n countRender = _ref2.countRender,\n closeIcon = _ref2.closeIcon,\n onChange = _ref2.onChange,\n onTransform = _ref2.onTransform,\n toolbarRender = _ref2.toolbarRender,\n imageRender = _ref2.imageRender,\n dialogProps = _objectWithoutProperties(_ref2, _excluded);\n\n // ========================== Items ===========================\n var _usePreviewItems = usePreviewItems(items),\n _usePreviewItems2 = _slicedToArray(_usePreviewItems, 3),\n mergedItems = _usePreviewItems2[0],\n register = _usePreviewItems2[1],\n fromItems = _usePreviewItems2[2];\n\n // ========================= Preview ==========================\n // >>> Index\n var _useMergedState = useMergedState(0, {\n value: currentIndex\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n current = _useMergedState2[0],\n setCurrent = _useMergedState2[1];\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n keepOpenIndex = _useState2[0],\n setKeepOpenIndex = _useState2[1];\n\n // >>> Image\n var _ref3 = ((_mergedItems$current = mergedItems[current]) === null || _mergedItems$current === void 0 ? void 0 : _mergedItems$current.data) || {},\n src = _ref3.src,\n imgCommonProps = _objectWithoutProperties(_ref3, _excluded2);\n // >>> Visible\n var _useMergedState3 = useMergedState(!!previewVisible, {\n value: previewVisible,\n onChange: function onChange(val, prevVal) {\n onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(val, prevVal, current);\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n isShowPreview = _useMergedState4[0],\n setShowPreview = _useMergedState4[1];\n\n // >>> Position\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n mousePosition = _useState4[0],\n setMousePosition = _useState4[1];\n var onPreviewFromImage = React.useCallback(function (id, imageSrc, mouseX, mouseY) {\n var index = fromItems ? mergedItems.findIndex(function (item) {\n return item.data.src === imageSrc;\n }) : mergedItems.findIndex(function (item) {\n return item.id === id;\n });\n setCurrent(index < 0 ? 0 : index);\n setShowPreview(true);\n setMousePosition({\n x: mouseX,\n y: mouseY\n });\n setKeepOpenIndex(true);\n }, [mergedItems, fromItems]);\n\n // Reset current when reopen\n React.useEffect(function () {\n if (isShowPreview) {\n if (!keepOpenIndex) {\n setCurrent(0);\n }\n } else {\n setKeepOpenIndex(false);\n }\n }, [isShowPreview]);\n\n // ========================== Events ==========================\n var onInternalChange = function onInternalChange(next, prev) {\n setCurrent(next);\n onChange === null || onChange === void 0 || onChange(next, prev);\n };\n var onPreviewClose = function onPreviewClose() {\n setShowPreview(false);\n setMousePosition(null);\n };\n\n // ========================= Context ==========================\n var previewGroupContext = React.useMemo(function () {\n return {\n register: register,\n onPreview: onPreviewFromImage\n };\n }, [register, onPreviewFromImage]);\n\n // ========================== Render ==========================\n return /*#__PURE__*/React.createElement(PreviewGroupContext.Provider, {\n value: previewGroupContext\n }, children, /*#__PURE__*/React.createElement(Preview, _extends({\n \"aria-hidden\": !isShowPreview,\n movable: movable,\n visible: isShowPreview,\n prefixCls: previewPrefixCls,\n closeIcon: closeIcon,\n onClose: onPreviewClose,\n mousePosition: mousePosition,\n imgCommonProps: imgCommonProps,\n src: src,\n fallback: fallback,\n icons: icons,\n minScale: minScale,\n maxScale: maxScale,\n getContainer: getContainer,\n current: current,\n count: mergedItems.length,\n countRender: countRender,\n onTransform: onTransform,\n toolbarRender: toolbarRender,\n imageRender: imageRender,\n onChange: onInternalChange\n }, dialogProps)));\n};\nexport default Group;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { COMMON_PROPS } from \"../common\";\n/**\n * Merge props provided `items` or context collected images\n */\nexport default function usePreviewItems(items) {\n // Context collection image data\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n images = _React$useState2[0],\n setImages = _React$useState2[1];\n var registerImage = React.useCallback(function (id, data) {\n setImages(function (imgs) {\n return _objectSpread(_objectSpread({}, imgs), {}, _defineProperty({}, id, data));\n });\n return function () {\n setImages(function (imgs) {\n var cloneImgs = _objectSpread({}, imgs);\n delete cloneImgs[id];\n return cloneImgs;\n });\n };\n }, []);\n\n // items\n var mergedItems = React.useMemo(function () {\n // use `items` first\n if (items) {\n return items.map(function (item) {\n if (typeof item === 'string') {\n return {\n data: {\n src: item\n }\n };\n }\n var data = {};\n Object.keys(item).forEach(function (key) {\n if (['src'].concat(_toConsumableArray(COMMON_PROPS)).includes(key)) {\n data[key] = item[key];\n }\n });\n return {\n data: data\n };\n });\n }\n\n // use registered images secondly\n return Object.keys(images).reduce(function (total, id) {\n var _images$id = images[id],\n canPreview = _images$id.canPreview,\n data = _images$id.data;\n if (canPreview) {\n total.push({\n data: data,\n id: id\n });\n }\n return total;\n }, []);\n }, [items, images]);\n return [mergedItems, registerImage, !!items];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { PreviewGroupContext } from \"../context\";\nvar uid = 0;\nexport default function useRegisterImage(canPreview, data) {\n var _React$useState = React.useState(function () {\n uid += 1;\n return String(uid);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n id = _React$useState2[0];\n var groupContext = React.useContext(PreviewGroupContext);\n var registerData = {\n data: data,\n canPreview: canPreview\n };\n\n // Keep order start\n // Resolve https://github.com/ant-design/ant-design/issues/28881\n // Only need unRegister when component unMount\n React.useEffect(function () {\n if (groupContext) {\n return groupContext.register(id, registerData);\n }\n }, []);\n React.useEffect(function () {\n if (groupContext) {\n groupContext.register(id, registerData);\n }\n }, [canPreview, data]);\n return id;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"src\", \"alt\", \"onPreviewClose\", \"prefixCls\", \"previewPrefixCls\", \"placeholder\", \"fallback\", \"width\", \"height\", \"style\", \"preview\", \"className\", \"onClick\", \"onError\", \"wrapperClassName\", \"wrapperStyle\", \"rootClassName\"],\n _excluded2 = [\"src\", \"visible\", \"onVisibleChange\", \"getContainer\", \"mask\", \"maskClassName\", \"movable\", \"icons\", \"scaleStep\", \"minScale\", \"maxScale\", \"imageRender\", \"toolbarRender\"];\nimport cn from 'classnames';\nimport { getOffset } from \"rc-util/es/Dom/css\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { useContext, useMemo, useState } from 'react';\nimport Preview from \"./Preview\";\nimport PreviewGroup from \"./PreviewGroup\";\nimport { COMMON_PROPS } from \"./common\";\nimport { PreviewGroupContext } from \"./context\";\nimport useRegisterImage from \"./hooks/useRegisterImage\";\nimport useStatus from \"./hooks/useStatus\";\nvar ImageInternal = function ImageInternal(props) {\n var imgSrc = props.src,\n alt = props.alt,\n onInitialPreviewClose = props.onPreviewClose,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-image' : _props$prefixCls,\n _props$previewPrefixC = props.previewPrefixCls,\n previewPrefixCls = _props$previewPrefixC === void 0 ? \"\".concat(prefixCls, \"-preview\") : _props$previewPrefixC,\n placeholder = props.placeholder,\n fallback = props.fallback,\n width = props.width,\n height = props.height,\n style = props.style,\n _props$preview = props.preview,\n preview = _props$preview === void 0 ? true : _props$preview,\n className = props.className,\n onClick = props.onClick,\n onError = props.onError,\n wrapperClassName = props.wrapperClassName,\n wrapperStyle = props.wrapperStyle,\n rootClassName = props.rootClassName,\n otherProps = _objectWithoutProperties(props, _excluded);\n var isCustomPlaceholder = placeholder && placeholder !== true;\n var _ref = _typeof(preview) === 'object' ? preview : {},\n previewSrc = _ref.src,\n _ref$visible = _ref.visible,\n previewVisible = _ref$visible === void 0 ? undefined : _ref$visible,\n _ref$onVisibleChange = _ref.onVisibleChange,\n onPreviewVisibleChange = _ref$onVisibleChange === void 0 ? onInitialPreviewClose : _ref$onVisibleChange,\n _ref$getContainer = _ref.getContainer,\n getPreviewContainer = _ref$getContainer === void 0 ? undefined : _ref$getContainer,\n previewMask = _ref.mask,\n maskClassName = _ref.maskClassName,\n movable = _ref.movable,\n icons = _ref.icons,\n scaleStep = _ref.scaleStep,\n minScale = _ref.minScale,\n maxScale = _ref.maxScale,\n imageRender = _ref.imageRender,\n toolbarRender = _ref.toolbarRender,\n dialogProps = _objectWithoutProperties(_ref, _excluded2);\n var src = previewSrc !== null && previewSrc !== void 0 ? previewSrc : imgSrc;\n var _useMergedState = useMergedState(!!previewVisible, {\n value: previewVisible,\n onChange: onPreviewVisibleChange\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n isShowPreview = _useMergedState2[0],\n setShowPreview = _useMergedState2[1];\n var _useStatus = useStatus({\n src: imgSrc,\n isCustomPlaceholder: isCustomPlaceholder,\n fallback: fallback\n }),\n _useStatus2 = _slicedToArray(_useStatus, 3),\n getImgRef = _useStatus2[0],\n srcAndOnload = _useStatus2[1],\n status = _useStatus2[2];\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n mousePosition = _useState2[0],\n setMousePosition = _useState2[1];\n var groupContext = useContext(PreviewGroupContext);\n var canPreview = !!preview;\n var onPreviewClose = function onPreviewClose() {\n setShowPreview(false);\n setMousePosition(null);\n };\n var wrapperClass = cn(prefixCls, wrapperClassName, rootClassName, _defineProperty({}, \"\".concat(prefixCls, \"-error\"), status === 'error'));\n\n // ========================= ImageProps =========================\n var imgCommonProps = useMemo(function () {\n var obj = {};\n COMMON_PROPS.forEach(function (prop) {\n if (props[prop] !== undefined) {\n obj[prop] = props[prop];\n }\n });\n return obj;\n }, COMMON_PROPS.map(function (prop) {\n return props[prop];\n }));\n\n // ========================== Register ==========================\n var registerData = useMemo(function () {\n return _objectSpread(_objectSpread({}, imgCommonProps), {}, {\n src: src\n });\n }, [src, imgCommonProps]);\n var imageId = useRegisterImage(canPreview, registerData);\n\n // ========================== Preview ===========================\n var onPreview = function onPreview(e) {\n var _getOffset = getOffset(e.target),\n left = _getOffset.left,\n top = _getOffset.top;\n if (groupContext) {\n groupContext.onPreview(imageId, src, left, top);\n } else {\n setMousePosition({\n x: left,\n y: top\n });\n setShowPreview(true);\n }\n onClick === null || onClick === void 0 || onClick(e);\n };\n\n // =========================== Render ===========================\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", _extends({}, otherProps, {\n className: wrapperClass,\n onClick: canPreview ? onPreview : onClick,\n style: _objectSpread({\n width: width,\n height: height\n }, wrapperStyle)\n }), /*#__PURE__*/React.createElement(\"img\", _extends({}, imgCommonProps, {\n className: cn(\"\".concat(prefixCls, \"-img\"), _defineProperty({}, \"\".concat(prefixCls, \"-img-placeholder\"), placeholder === true), className),\n style: _objectSpread({\n height: height\n }, style),\n ref: getImgRef\n }, srcAndOnload, {\n width: width,\n height: height,\n onError: onError\n })), status === 'loading' && /*#__PURE__*/React.createElement(\"div\", {\n \"aria-hidden\": \"true\",\n className: \"\".concat(prefixCls, \"-placeholder\")\n }, placeholder), previewMask && canPreview && /*#__PURE__*/React.createElement(\"div\", {\n className: cn(\"\".concat(prefixCls, \"-mask\"), maskClassName),\n style: {\n display: (style === null || style === void 0 ? void 0 : style.display) === 'none' ? 'none' : undefined\n }\n }, previewMask)), !groupContext && canPreview && /*#__PURE__*/React.createElement(Preview, _extends({\n \"aria-hidden\": !isShowPreview,\n visible: isShowPreview,\n prefixCls: previewPrefixCls,\n onClose: onPreviewClose,\n mousePosition: mousePosition,\n src: src,\n alt: alt,\n imageInfo: {\n width: width,\n height: height\n },\n fallback: fallback,\n getContainer: getPreviewContainer,\n icons: icons,\n movable: movable,\n scaleStep: scaleStep,\n minScale: minScale,\n maxScale: maxScale,\n rootClassName: rootClassName,\n imageRender: imageRender,\n imgCommonProps: imgCommonProps,\n toolbarRender: toolbarRender\n }, dialogProps)));\n};\nImageInternal.PreviewGroup = PreviewGroup;\nif (process.env.NODE_ENV !== 'production') {\n ImageInternal.displayName = 'Image';\n}\nexport default ImageInternal;","import Image from \"./Image\";\nexport * from \"./Image\";\nexport default Image;","// This icon file is generated automatically.\nvar RotateLeftOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"defs\", \"attrs\": {}, \"children\": [{ \"tag\": \"style\", \"attrs\": {} }] }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M672 418H144c-17.7 0-32 14.3-32 32v414c0 17.7 14.3 32 32 32h528c17.7 0 32-14.3 32-32V450c0-17.7-14.3-32-32-32zm-44 402H188V494h440v326z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M819.3 328.5c-78.8-100.7-196-153.6-314.6-154.2l-.2-64c0-6.5-7.6-10.1-12.6-6.1l-128 101c-4 3.1-3.9 9.1 0 12.3L492 318.6c5.1 4 12.7.4 12.6-6.1v-63.9c12.9.1 25.9.9 38.8 2.5 42.1 5.2 82.1 18.2 119 38.7 38.1 21.2 71.2 49.7 98.4 84.3 27.1 34.7 46.7 73.7 58.1 115.8a325.95 325.95 0 016.5 140.9h74.9c14.8-103.6-11.3-213-81-302.3z\" } }] }, \"name\": \"rotate-left\", \"theme\": \"outlined\" };\nexport default RotateLeftOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport RotateLeftOutlinedSvg from \"@ant-design/icons-svg/es/asn/RotateLeftOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar RotateLeftOutlined = function RotateLeftOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: RotateLeftOutlinedSvg\n }));\n};\n\n/**![rotate-left](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHN0eWxlIC8+PC9kZWZzPjxwYXRoIGQ9Ik02NzIgNDE4SDE0NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NDE0YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDUyOGMxNy43IDAgMzItMTQuMyAzMi0zMlY0NTBjMC0xNy43LTE0LjMtMzItMzItMzJ6bS00NCA0MDJIMTg4VjQ5NGg0NDB2MzI2eiIgLz48cGF0aCBkPSJNODE5LjMgMzI4LjVjLTc4LjgtMTAwLjctMTk2LTE1My42LTMxNC42LTE1NC4ybC0uMi02NGMwLTYuNS03LjYtMTAuMS0xMi42LTYuMWwtMTI4IDEwMWMtNCAzLjEtMy45IDkuMSAwIDEyLjNMNDkyIDMxOC42YzUuMSA0IDEyLjcuNCAxMi42LTYuMXYtNjMuOWMxMi45LjEgMjUuOS45IDM4LjggMi41IDQyLjEgNS4yIDgyLjEgMTguMiAxMTkgMzguNyAzOC4xIDIxLjIgNzEuMiA0OS43IDk4LjQgODQuMyAyNy4xIDM0LjcgNDYuNyA3My43IDU4LjEgMTE1LjhhMzI1Ljk1IDMyNS45NSAwIDAxNi41IDE0MC45aDc0LjljMTQuOC0xMDMuNi0xMS4zLTIxMy04MS0zMDIuM3oiIC8+PC9zdmc+) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(RotateLeftOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'RotateLeftOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar RotateRightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"defs\", \"attrs\": {}, \"children\": [{ \"tag\": \"style\", \"attrs\": {} }] }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M480.5 251.2c13-1.6 25.9-2.4 38.8-2.5v63.9c0 6.5 7.5 10.1 12.6 6.1L660 217.6c4-3.2 4-9.2 0-12.3l-128-101c-5.1-4-12.6-.4-12.6 6.1l-.2 64c-118.6.5-235.8 53.4-314.6 154.2A399.75 399.75 0 00123.5 631h74.9c-.9-5.3-1.7-10.7-2.4-16.1-5.1-42.1-2.1-84.1 8.9-124.8 11.4-42.2 31-81.1 58.1-115.8 27.2-34.7 60.3-63.2 98.4-84.3 37-20.6 76.9-33.6 119.1-38.8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M880 418H352c-17.7 0-32 14.3-32 32v414c0 17.7 14.3 32 32 32h528c17.7 0 32-14.3 32-32V450c0-17.7-14.3-32-32-32zm-44 402H396V494h440v326z\" } }] }, \"name\": \"rotate-right\", \"theme\": \"outlined\" };\nexport default RotateRightOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport RotateRightOutlinedSvg from \"@ant-design/icons-svg/es/asn/RotateRightOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar RotateRightOutlined = function RotateRightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: RotateRightOutlinedSvg\n }));\n};\n\n/**![rotate-right](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHN0eWxlIC8+PC9kZWZzPjxwYXRoIGQ9Ik00ODAuNSAyNTEuMmMxMy0xLjYgMjUuOS0yLjQgMzguOC0yLjV2NjMuOWMwIDYuNSA3LjUgMTAuMSAxMi42IDYuMUw2NjAgMjE3LjZjNC0zLjIgNC05LjIgMC0xMi4zbC0xMjgtMTAxYy01LjEtNC0xMi42LS40LTEyLjYgNi4xbC0uMiA2NGMtMTE4LjYuNS0yMzUuOCA1My40LTMxNC42IDE1NC4yQTM5OS43NSAzOTkuNzUgMCAwMDEyMy41IDYzMWg3NC45Yy0uOS01LjMtMS43LTEwLjctMi40LTE2LjEtNS4xLTQyLjEtMi4xLTg0LjEgOC45LTEyNC44IDExLjQtNDIuMiAzMS04MS4xIDU4LjEtMTE1LjggMjcuMi0zNC43IDYwLjMtNjMuMiA5OC40LTg0LjMgMzctMjAuNiA3Ni45LTMzLjYgMTE5LjEtMzguOHoiIC8+PHBhdGggZD0iTTg4MCA0MThIMzUyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY0MTRjMCAxNy43IDE0LjMgMzIgMzIgMzJoNTI4YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjQ1MGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTQ0IDQwMkgzOTZWNDk0aDQ0MHYzMjZ6IiAvPjwvc3ZnPg==) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(RotateRightOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'RotateRightOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar SwapOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"swap\", \"theme\": \"outlined\" };\nexport default SwapOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport SwapOutlinedSvg from \"@ant-design/icons-svg/es/asn/SwapOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar SwapOutlined = function SwapOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: SwapOutlinedSvg\n }));\n};\n\n/**![swap](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg0Ny45IDU5MkgxNTJjLTQuNCAwLTggMy42LTggOHY2MGMwIDQuNCAzLjYgOCA4IDhoNjA1LjJMNjEyLjkgODUxYy00LjEgNS4yLS40IDEzIDYuMyAxM2g3Mi41YzQuOSAwIDkuNS0yLjIgMTIuNi02LjFsMTY4LjgtMjE0LjFjMTYuNS0yMSAxLjYtNTEuOC0yNS4yLTUxLjh6TTg3MiAzNTZIMjY2LjhsMTQ0LjMtMTgzYzQuMS01LjIuNC0xMy02LjMtMTNoLTcyLjVjLTQuOSAwLTkuNSAyLjItMTIuNiA2LjFMMTUwLjkgMzgwLjJjLTE2LjUgMjEtMS42IDUxLjggMjUuMSA1MS44aDY5NmM0LjQgMCA4LTMuNiA4LTh2LTYwYzAtNC40LTMuNi04LTgtOHoiIC8+PC9zdmc+) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(SwapOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'SwapOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar ZoomInOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z\" } }] }, \"name\": \"zoom-in\", \"theme\": \"outlined\" };\nexport default ZoomInOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport ZoomInOutlinedSvg from \"@ant-design/icons-svg/es/asn/ZoomInOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar ZoomInOutlined = function ZoomInOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: ZoomInOutlinedSvg\n }));\n};\n\n/**![zoom-in](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYzNyA0NDNINTE5VjMwOWMwLTQuNC0zLjYtOC04LThoLTYwYy00LjQgMC04IDMuNi04IDh2MTM0SDMyNWMtNC40IDAtOCAzLjYtOCA4djYwYzAgNC40IDMuNiA4IDggOGgxMTh2MTM0YzAgNC40IDMuNiA4IDggOGg2MGM0LjQgMCA4LTMuNiA4LThWNTE5aDExOGM0LjQgMCA4LTMuNiA4LTh2LTYwYzAtNC40LTMuNi04LTgtOHptMjg0IDQyNEw3NzUgNzIxYzEyMi4xLTE0OC45IDExMy42LTM2OS41LTI2LTUwOS0xNDgtMTQ4LjEtMzg4LjQtMTQ4LjEtNTM3IDAtMTQ4LjEgMTQ4LjYtMTQ4LjEgMzg5IDAgNTM3IDEzOS41IDEzOS42IDM2MC4xIDE0OC4xIDUwOSAyNmwxNDYgMTQ2YzMuMiAyLjggOC4zIDIuOCAxMSAwbDQzLTQzYzIuOC0yLjcgMi44LTcuOCAwLTExek02OTYgNjk2Yy0xMTguOCAxMTguNy0zMTEuMiAxMTguNy00MzAgMC0xMTguNy0xMTguOC0xMTguNy0zMTEuMiAwLTQzMCAxMTguOC0xMTguNyAzMTEuMi0xMTguNyA0MzAgMCAxMTguNyAxMTguOCAxMTguNyAzMTEuMiAwIDQzMHoiIC8+PC9zdmc+) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(ZoomInOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'ZoomInOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar ZoomOutOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z\" } }] }, \"name\": \"zoom-out\", \"theme\": \"outlined\" };\nexport default ZoomOutOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport ZoomOutOutlinedSvg from \"@ant-design/icons-svg/es/asn/ZoomOutOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar ZoomOutOutlined = function ZoomOutOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: ZoomOutOutlinedSvg\n }));\n};\n\n/**![zoom-out](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYzNyA0NDNIMzI1Yy00LjQgMC04IDMuNi04IDh2NjBjMCA0LjQgMy42IDggOCA4aDMxMmM0LjQgMCA4LTMuNiA4LTh2LTYwYzAtNC40LTMuNi04LTgtOHptMjg0IDQyNEw3NzUgNzIxYzEyMi4xLTE0OC45IDExMy42LTM2OS41LTI2LTUwOS0xNDgtMTQ4LjEtMzg4LjQtMTQ4LjEtNTM3IDAtMTQ4LjEgMTQ4LjYtMTQ4LjEgMzg5IDAgNTM3IDEzOS41IDEzOS42IDM2MC4xIDE0OC4xIDUwOSAyNmwxNDYgMTQ2YzMuMiAyLjggOC4zIDIuOCAxMSAwbDQzLTQzYzIuOC0yLjcgMi44LTcuOCAwLTExek02OTYgNjk2Yy0xMTguOCAxMTguNy0zMTEuMiAxMTguNy00MzAgMC0xMTguNy0xMTguOC0xMTguNy0zMTEuMiAwLTQzMCAxMTguOC0xMTguNyAzMTEuMi0xMTguNyA0MzAgMCAxMTguNyAxMTguOCAxMTguNyAzMTEuMiAwIDQzMHoiIC8+PC9zdmc+) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(ZoomOutOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'ZoomOutOutlined';\n}\nexport default RefIcon;","import { Keyframes } from '@ant-design/cssinjs';\nimport { initMotion } from './motion';\nexport const fadeIn = new Keyframes('antFadeIn', {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n});\nexport const fadeOut = new Keyframes('antFadeOut', {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n});\nexport const initFadeMotion = function (token) {\n let sameLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-fade`;\n const sameLevelPrefix = sameLevel ? '&' : '';\n return [initMotion(motionCls, fadeIn, fadeOut, token.motionDurationMid, sameLevel), {\n [`\n ${sameLevelPrefix}${motionCls}-enter,\n ${sameLevelPrefix}${motionCls}-appear\n `]: {\n opacity: 0,\n animationTimingFunction: 'linear'\n },\n [`${sameLevelPrefix}${motionCls}-leave`]: {\n animationTimingFunction: 'linear'\n }\n }];\n};","import { unit } from '@ant-design/cssinjs';\nimport { genFocusStyle, resetComponent } from '../../style';\nimport { initFadeMotion, initZoomMotion } from '../../style/motion';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nfunction box(position) {\n return {\n position,\n inset: 0\n };\n}\nexport const genModalMaskStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n return [{\n [`${componentCls}-root`]: {\n [`${componentCls}${antCls}-zoom-enter, ${componentCls}${antCls}-zoom-appear`]: {\n // reset scale avoid mousePosition bug\n transform: 'none',\n opacity: 0,\n animationDuration: token.motionDurationSlow,\n // https://github.com/ant-design/ant-design/issues/11777\n userSelect: 'none'\n },\n // https://github.com/ant-design/ant-design/issues/37329\n // https://github.com/ant-design/ant-design/issues/40272\n [`${componentCls}${antCls}-zoom-leave ${componentCls}-content`]: {\n pointerEvents: 'none'\n },\n [`${componentCls}-mask`]: Object.assign(Object.assign({}, box('fixed')), {\n zIndex: token.zIndexPopupBase,\n height: '100%',\n backgroundColor: token.colorBgMask,\n pointerEvents: 'none',\n [`${componentCls}-hidden`]: {\n display: 'none'\n }\n }),\n [`${componentCls}-wrap`]: Object.assign(Object.assign({}, box('fixed')), {\n zIndex: token.zIndexPopupBase,\n overflow: 'auto',\n outline: 0,\n WebkitOverflowScrolling: 'touch'\n })\n }\n }, {\n [`${componentCls}-root`]: initFadeMotion(token)\n }];\n};\nconst genModalStyle = token => {\n const {\n componentCls\n } = token;\n return [\n // ======================== Root =========================\n {\n [`${componentCls}-root`]: {\n [`${componentCls}-wrap-rtl`]: {\n direction: 'rtl'\n },\n [`${componentCls}-centered`]: {\n textAlign: 'center',\n '&::before': {\n display: 'inline-block',\n width: 0,\n height: '100%',\n verticalAlign: 'middle',\n content: '\"\"'\n },\n [componentCls]: {\n top: 0,\n display: 'inline-block',\n paddingBottom: 0,\n textAlign: 'start',\n verticalAlign: 'middle'\n }\n },\n [`@media (max-width: ${token.screenSMMax}px)`]: {\n [componentCls]: {\n maxWidth: 'calc(100vw - 16px)',\n margin: `${unit(token.marginXS)} auto`\n },\n [`${componentCls}-centered`]: {\n [componentCls]: {\n flex: 1\n }\n }\n }\n }\n },\n // ======================== Modal ========================\n {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n pointerEvents: 'none',\n position: 'relative',\n top: 100,\n width: 'auto',\n maxWidth: `calc(100vw - ${unit(token.calc(token.margin).mul(2).equal())})`,\n margin: '0 auto',\n paddingBottom: token.paddingLG,\n [`${componentCls}-title`]: {\n margin: 0,\n color: token.titleColor,\n fontWeight: token.fontWeightStrong,\n fontSize: token.titleFontSize,\n lineHeight: token.titleLineHeight,\n wordWrap: 'break-word'\n },\n [`${componentCls}-content`]: {\n position: 'relative',\n backgroundColor: token.contentBg,\n backgroundClip: 'padding-box',\n border: 0,\n borderRadius: token.borderRadiusLG,\n boxShadow: token.boxShadow,\n pointerEvents: 'auto',\n padding: token.contentPadding\n },\n [`${componentCls}-close`]: Object.assign({\n position: 'absolute',\n top: token.calc(token.modalHeaderHeight).sub(token.modalCloseBtnSize).div(2).equal(),\n insetInlineEnd: token.calc(token.modalHeaderHeight).sub(token.modalCloseBtnSize).div(2).equal(),\n zIndex: token.calc(token.zIndexPopupBase).add(10).equal(),\n padding: 0,\n color: token.modalCloseIconColor,\n fontWeight: token.fontWeightStrong,\n lineHeight: 1,\n textDecoration: 'none',\n background: 'transparent',\n borderRadius: token.borderRadiusSM,\n width: token.modalCloseBtnSize,\n height: token.modalCloseBtnSize,\n border: 0,\n outline: 0,\n cursor: 'pointer',\n transition: `color ${token.motionDurationMid}, background-color ${token.motionDurationMid}`,\n '&-x': {\n display: 'flex',\n fontSize: token.fontSizeLG,\n fontStyle: 'normal',\n lineHeight: `${unit(token.modalCloseBtnSize)}`,\n justifyContent: 'center',\n textTransform: 'none',\n textRendering: 'auto'\n },\n '&:hover': {\n color: token.modalCloseIconHoverColor,\n backgroundColor: token.colorBgTextHover,\n textDecoration: 'none'\n },\n '&:active': {\n backgroundColor: token.colorBgTextActive\n }\n }, genFocusStyle(token)),\n [`${componentCls}-header`]: {\n color: token.colorText,\n background: token.headerBg,\n borderRadius: `${unit(token.borderRadiusLG)} ${unit(token.borderRadiusLG)} 0 0`,\n marginBottom: token.headerMarginBottom,\n padding: token.headerPadding,\n borderBottom: token.headerBorderBottom\n },\n [`${componentCls}-body`]: {\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n wordWrap: 'break-word',\n padding: token.bodyPadding,\n [`${componentCls}-body-skeleton`]: {\n width: '100%',\n height: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n margin: `${unit(token.margin)} auto`\n }\n },\n [`${componentCls}-footer`]: {\n textAlign: 'end',\n background: token.footerBg,\n marginTop: token.footerMarginTop,\n padding: token.footerPadding,\n borderTop: token.footerBorderTop,\n borderRadius: token.footerBorderRadius,\n [`> ${token.antCls}-btn + ${token.antCls}-btn`]: {\n marginInlineStart: token.marginXS\n }\n },\n [`${componentCls}-open`]: {\n overflow: 'hidden'\n }\n })\n },\n // ======================== Pure =========================\n {\n [`${componentCls}-pure-panel`]: {\n top: 'auto',\n padding: 0,\n display: 'flex',\n flexDirection: 'column',\n [`${componentCls}-content,\n ${componentCls}-body,\n ${componentCls}-confirm-body-wrapper`]: {\n display: 'flex',\n flexDirection: 'column',\n flex: 'auto'\n },\n [`${componentCls}-confirm-body`]: {\n marginBottom: 'auto'\n }\n }\n }];\n};\nconst genRTLStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-root`]: {\n [`${componentCls}-wrap-rtl`]: {\n direction: 'rtl',\n [`${componentCls}-confirm-body`]: {\n direction: 'rtl'\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport const prepareToken = token => {\n const headerPaddingVertical = token.padding;\n const headerFontSize = token.fontSizeHeading5;\n const headerLineHeight = token.lineHeightHeading5;\n const modalToken = mergeToken(token, {\n modalHeaderHeight: token.calc(token.calc(headerLineHeight).mul(headerFontSize).equal()).add(token.calc(headerPaddingVertical).mul(2).equal()).equal(),\n modalFooterBorderColorSplit: token.colorSplit,\n modalFooterBorderStyle: token.lineType,\n modalFooterBorderWidth: token.lineWidth,\n modalCloseIconColor: token.colorIcon,\n modalCloseIconHoverColor: token.colorIconHover,\n modalCloseBtnSize: token.controlHeight,\n modalConfirmIconSize: token.fontHeight,\n modalTitleHeight: token.calc(token.titleFontSize).mul(token.titleLineHeight).equal()\n });\n return modalToken;\n};\nexport const prepareComponentToken = token => ({\n footerBg: 'transparent',\n headerBg: token.colorBgElevated,\n titleLineHeight: token.lineHeightHeading5,\n titleFontSize: token.fontSizeHeading5,\n contentBg: token.colorBgElevated,\n titleColor: token.colorTextHeading,\n // internal\n contentPadding: token.wireframe ? 0 : `${unit(token.paddingMD)} ${unit(token.paddingContentHorizontalLG)}`,\n headerPadding: token.wireframe ? `${unit(token.padding)} ${unit(token.paddingLG)}` : 0,\n headerBorderBottom: token.wireframe ? `${unit(token.lineWidth)} ${token.lineType} ${token.colorSplit}` : 'none',\n headerMarginBottom: token.wireframe ? 0 : token.marginXS,\n bodyPadding: token.wireframe ? token.paddingLG : 0,\n footerPadding: token.wireframe ? `${unit(token.paddingXS)} ${unit(token.padding)}` : 0,\n footerBorderTop: token.wireframe ? `${unit(token.lineWidth)} ${token.lineType} ${token.colorSplit}` : 'none',\n footerBorderRadius: token.wireframe ? `0 0 ${unit(token.borderRadiusLG)} ${unit(token.borderRadiusLG)}` : 0,\n footerMarginTop: token.wireframe ? 0 : token.marginSM,\n confirmBodyPadding: token.wireframe ? `${unit(token.padding * 2)} ${unit(token.padding * 2)} ${unit(token.paddingLG)}` : 0,\n confirmIconMarginInlineEnd: token.wireframe ? token.margin : token.marginSM,\n confirmBtnsMarginTop: token.wireframe ? token.marginLG : token.marginSM\n});\nexport default genStyleHooks('Modal', token => {\n const modalToken = prepareToken(token);\n return [genModalStyle(modalToken), genRTLStyle(modalToken), genModalMaskStyle(modalToken), initZoomMotion(modalToken, 'zoom')];\n}, prepareComponentToken, {\n unitless: {\n titleLineHeight: true\n }\n});","import { unit } from '@ant-design/cssinjs';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { genModalMaskStyle } from '../../modal/style';\nimport { textEllipsis } from '../../style';\nimport { initFadeMotion, initZoomMotion } from '../../style/motion';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nexport const genBoxStyle = position => ({\n position: position || 'absolute',\n inset: 0\n});\nexport const genImageMaskStyle = token => {\n const {\n iconCls,\n motionDurationSlow,\n paddingXXS,\n marginXXS,\n prefixCls,\n colorTextLightSolid\n } = token;\n return {\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: colorTextLightSolid,\n background: new TinyColor('#000').setAlpha(0.5).toRgbString(),\n cursor: 'pointer',\n opacity: 0,\n transition: `opacity ${motionDurationSlow}`,\n [`.${prefixCls}-mask-info`]: Object.assign(Object.assign({}, textEllipsis), {\n padding: `0 ${unit(paddingXXS)}`,\n [iconCls]: {\n marginInlineEnd: marginXXS,\n svg: {\n verticalAlign: 'baseline'\n }\n }\n })\n };\n};\nexport const genPreviewOperationsStyle = token => {\n const {\n previewCls,\n modalMaskBg,\n paddingSM,\n marginXL,\n margin,\n paddingLG,\n previewOperationColorDisabled,\n previewOperationHoverColor,\n motionDurationSlow,\n iconCls,\n colorTextLightSolid\n } = token;\n const operationBg = new TinyColor(modalMaskBg).setAlpha(0.1);\n const operationBgHover = operationBg.clone().setAlpha(0.2);\n return {\n [`${previewCls}-footer`]: {\n position: 'fixed',\n bottom: marginXL,\n left: {\n _skip_check_: true,\n value: 0\n },\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n color: token.previewOperationColor\n },\n [`${previewCls}-progress`]: {\n marginBottom: margin\n },\n [`${previewCls}-close`]: {\n position: 'fixed',\n top: marginXL,\n right: {\n _skip_check_: true,\n value: marginXL\n },\n display: 'flex',\n color: colorTextLightSolid,\n backgroundColor: operationBg.toRgbString(),\n borderRadius: '50%',\n padding: paddingSM,\n outline: 0,\n border: 0,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}`,\n '&:hover': {\n backgroundColor: operationBgHover.toRgbString()\n },\n [`& > ${iconCls}`]: {\n fontSize: token.previewOperationSize\n }\n },\n [`${previewCls}-operations`]: {\n display: 'flex',\n alignItems: 'center',\n padding: `0 ${unit(paddingLG)}`,\n backgroundColor: operationBg.toRgbString(),\n borderRadius: 100,\n '&-operation': {\n marginInlineStart: paddingSM,\n padding: paddingSM,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}`,\n userSelect: 'none',\n [`&:not(${previewCls}-operations-operation-disabled):hover > ${iconCls}`]: {\n color: previewOperationHoverColor\n },\n '&-disabled': {\n color: previewOperationColorDisabled,\n cursor: 'not-allowed'\n },\n '&:first-of-type': {\n marginInlineStart: 0\n },\n [`& > ${iconCls}`]: {\n fontSize: token.previewOperationSize\n }\n }\n }\n };\n};\nexport const genPreviewSwitchStyle = token => {\n const {\n modalMaskBg,\n iconCls,\n previewOperationColorDisabled,\n previewCls,\n zIndexPopup,\n motionDurationSlow\n } = token;\n const operationBg = new TinyColor(modalMaskBg).setAlpha(0.1);\n const operationBgHover = operationBg.clone().setAlpha(0.2);\n return {\n [`${previewCls}-switch-left, ${previewCls}-switch-right`]: {\n position: 'fixed',\n insetBlockStart: '50%',\n zIndex: token.calc(zIndexPopup).add(1).equal(),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: token.imagePreviewSwitchSize,\n height: token.imagePreviewSwitchSize,\n marginTop: token.calc(token.imagePreviewSwitchSize).mul(-1).div(2).equal(),\n color: token.previewOperationColor,\n background: operationBg.toRgbString(),\n borderRadius: '50%',\n transform: `translateY(-50%)`,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}`,\n userSelect: 'none',\n '&:hover': {\n background: operationBgHover.toRgbString()\n },\n '&-disabled': {\n '&, &:hover': {\n color: previewOperationColorDisabled,\n background: 'transparent',\n cursor: 'not-allowed',\n [`> ${iconCls}`]: {\n cursor: 'not-allowed'\n }\n }\n },\n [`> ${iconCls}`]: {\n fontSize: token.previewOperationSize\n }\n },\n [`${previewCls}-switch-left`]: {\n insetInlineStart: token.marginSM\n },\n [`${previewCls}-switch-right`]: {\n insetInlineEnd: token.marginSM\n }\n };\n};\nexport const genImagePreviewStyle = token => {\n const {\n motionEaseOut,\n previewCls,\n motionDurationSlow,\n componentCls\n } = token;\n return [{\n [`${componentCls}-preview-root`]: {\n [previewCls]: {\n height: '100%',\n textAlign: 'center',\n pointerEvents: 'none'\n },\n [`${previewCls}-body`]: Object.assign(Object.assign({}, genBoxStyle()), {\n overflow: 'hidden'\n }),\n [`${previewCls}-img`]: {\n maxWidth: '100%',\n maxHeight: '70%',\n verticalAlign: 'middle',\n transform: 'scale3d(1, 1, 1)',\n cursor: 'grab',\n transition: `transform ${motionDurationSlow} ${motionEaseOut} 0s`,\n userSelect: 'none',\n '&-wrapper': Object.assign(Object.assign({}, genBoxStyle()), {\n transition: `transform ${motionDurationSlow} ${motionEaseOut} 0s`,\n // https://github.com/ant-design/ant-design/issues/39913\n // TailwindCSS will reset img default style.\n // Let's set back.\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n '& > *': {\n pointerEvents: 'auto'\n },\n '&::before': {\n display: 'inline-block',\n width: 1,\n height: '50%',\n marginInlineEnd: -1,\n content: '\"\"'\n }\n })\n },\n [`${previewCls}-moving`]: {\n [`${previewCls}-preview-img`]: {\n cursor: 'grabbing',\n '&-wrapper': {\n transitionDuration: '0s'\n }\n }\n }\n }\n },\n // Override\n {\n [`${componentCls}-preview-root`]: {\n [`${previewCls}-wrap`]: {\n zIndex: token.zIndexPopup\n }\n }\n },\n // Preview operations & switch\n {\n [`${componentCls}-preview-operations-wrapper`]: {\n position: 'fixed',\n zIndex: token.calc(token.zIndexPopup).add(1).equal()\n },\n '&': [genPreviewOperationsStyle(token), genPreviewSwitchStyle(token)]\n }];\n};\nconst genImageStyle = token => {\n const {\n componentCls\n } = token;\n return {\n // ============================== image ==============================\n [componentCls]: {\n position: 'relative',\n display: 'inline-block',\n [`${componentCls}-img`]: {\n width: '100%',\n height: 'auto',\n verticalAlign: 'middle'\n },\n [`${componentCls}-img-placeholder`]: {\n backgroundColor: token.colorBgContainerDisabled,\n backgroundImage: \"url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQuNSAyLjVoLTEzQS41LjUgMCAwIDAgMSAzdjEwYS41LjUgMCAwIDAgLjUuNWgxM2EuNS41IDAgMCAwIC41LS41VjNhLjUuNSAwIDAgMC0uNS0uNXpNNS4yODEgNC43NWExIDEgMCAwIDEgMCAyIDEgMSAwIDAgMSAwLTJ6bTguMDMgNi44M2EuMTI3LjEyNyAwIDAgMS0uMDgxLjAzSDIuNzY5YS4xMjUuMTI1IDAgMCAxLS4wOTYtLjIwN2wyLjY2MS0zLjE1NmEuMTI2LjEyNiAwIDAgMSAuMTc3LS4wMTZsLjAxNi4wMTZMNy4wOCAxMC4wOWwyLjQ3LTIuOTNhLjEyNi4xMjYgMCAwIDEgLjE3Ny0uMDE2bC4wMTUuMDE2IDMuNTg4IDQuMjQ0YS4xMjcuMTI3IDAgMCAxLS4wMi4xNzV6IiBmaWxsPSIjOEM4QzhDIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=')\",\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center center',\n backgroundSize: '30%'\n },\n [`${componentCls}-mask`]: Object.assign({}, genImageMaskStyle(token)),\n [`${componentCls}-mask:hover`]: {\n opacity: 1\n },\n [`${componentCls}-placeholder`]: Object.assign({}, genBoxStyle())\n }\n };\n};\nconst genPreviewMotion = token => {\n const {\n previewCls\n } = token;\n return {\n [`${previewCls}-root`]: initZoomMotion(token, 'zoom'),\n '&': initFadeMotion(token, true)\n };\n};\n// ============================== Export ==============================\nexport const prepareComponentToken = token => ({\n zIndexPopup: token.zIndexPopupBase + 80,\n previewOperationColor: new TinyColor(token.colorTextLightSolid).setAlpha(0.65).toRgbString(),\n previewOperationHoverColor: new TinyColor(token.colorTextLightSolid).setAlpha(0.85).toRgbString(),\n previewOperationColorDisabled: new TinyColor(token.colorTextLightSolid).setAlpha(0.25).toRgbString(),\n previewOperationSize: token.fontSizeIcon * 1.5 // FIXME: fontSizeIconLG\n});\nexport default genStyleHooks('Image', token => {\n const previewCls = `${token.componentCls}-preview`;\n const imageToken = mergeToken(token, {\n previewCls,\n modalMaskBg: new TinyColor('#000').setAlpha(0.45).toRgbString(),\n // FIXME: Shared Token\n imagePreviewSwitchSize: token.controlHeightLG\n });\n return [genImageStyle(imageToken), genImagePreviewStyle(imageToken), genModalMaskStyle(mergeToken(imageToken, {\n componentCls: previewCls\n })), genPreviewMotion(imageToken)];\n}, prepareComponentToken);","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport LeftOutlined from \"@ant-design/icons/es/icons/LeftOutlined\";\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport RotateLeftOutlined from \"@ant-design/icons/es/icons/RotateLeftOutlined\";\nimport RotateRightOutlined from \"@ant-design/icons/es/icons/RotateRightOutlined\";\nimport SwapOutlined from \"@ant-design/icons/es/icons/SwapOutlined\";\nimport ZoomInOutlined from \"@ant-design/icons/es/icons/ZoomInOutlined\";\nimport ZoomOutOutlined from \"@ant-design/icons/es/icons/ZoomOutOutlined\";\nimport classNames from 'classnames';\nimport RcImage from 'rc-image';\nimport { useZIndex } from '../_util/hooks/useZIndex';\nimport { getTransitionName } from '../_util/motion';\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport useStyle from './style';\nexport const icons = {\n rotateLeft: /*#__PURE__*/React.createElement(RotateLeftOutlined, null),\n rotateRight: /*#__PURE__*/React.createElement(RotateRightOutlined, null),\n zoomIn: /*#__PURE__*/React.createElement(ZoomInOutlined, null),\n zoomOut: /*#__PURE__*/React.createElement(ZoomOutOutlined, null),\n close: /*#__PURE__*/React.createElement(CloseOutlined, null),\n left: /*#__PURE__*/React.createElement(LeftOutlined, null),\n right: /*#__PURE__*/React.createElement(RightOutlined, null),\n flipX: /*#__PURE__*/React.createElement(SwapOutlined, null),\n flipY: /*#__PURE__*/React.createElement(SwapOutlined, {\n rotate: 90\n })\n};\nconst InternalPreviewGroup = _a => {\n var {\n previewPrefixCls: customizePrefixCls,\n preview\n } = _a,\n otherProps = __rest(_a, [\"previewPrefixCls\", \"preview\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('image', customizePrefixCls);\n const previewPrefixCls = `${prefixCls}-preview`;\n const rootPrefixCls = getPrefixCls();\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const [zIndex] = useZIndex('ImagePreview', typeof preview === 'object' ? preview.zIndex : undefined);\n const mergedPreview = React.useMemo(() => {\n var _a;\n if (preview === false) {\n return preview;\n }\n const _preview = typeof preview === 'object' ? preview : {};\n const mergedRootClassName = classNames(hashId, cssVarCls, rootCls, (_a = _preview.rootClassName) !== null && _a !== void 0 ? _a : '');\n return Object.assign(Object.assign({}, _preview), {\n transitionName: getTransitionName(rootPrefixCls, 'zoom', _preview.transitionName),\n maskTransitionName: getTransitionName(rootPrefixCls, 'fade', _preview.maskTransitionName),\n rootClassName: mergedRootClassName,\n zIndex\n });\n }, [preview]);\n return wrapCSSVar( /*#__PURE__*/React.createElement(RcImage.PreviewGroup, Object.assign({\n preview: mergedPreview,\n previewPrefixCls: previewPrefixCls,\n icons: icons\n }, otherProps)));\n};\nexport default InternalPreviewGroup;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport EyeOutlined from \"@ant-design/icons/es/icons/EyeOutlined\";\nimport classNames from 'classnames';\nimport RcImage from 'rc-image';\nimport { useZIndex } from '../_util/hooks/useZIndex';\nimport { getTransitionName } from '../_util/motion';\nimport { ConfigContext } from '../config-provider';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport defaultLocale from '../locale/en_US';\nimport PreviewGroup, { icons } from './PreviewGroup';\nimport useStyle from './style';\nconst Image = props => {\n var _a;\n const {\n prefixCls: customizePrefixCls,\n preview,\n className,\n rootClassName,\n style\n } = props,\n otherProps = __rest(props, [\"prefixCls\", \"preview\", \"className\", \"rootClassName\", \"style\"]);\n const {\n getPrefixCls,\n locale: contextLocale = defaultLocale,\n getPopupContainer: getContextPopupContainer,\n image\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('image', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const imageLocale = contextLocale.Image || defaultLocale.Image;\n // Style\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const mergedRootClassName = classNames(rootClassName, hashId, cssVarCls, rootCls);\n const mergedClassName = classNames(className, hashId, image === null || image === void 0 ? void 0 : image.className);\n const [zIndex] = useZIndex('ImagePreview', typeof preview === 'object' ? preview.zIndex : undefined);\n const mergedPreview = React.useMemo(() => {\n var _a;\n if (preview === false) {\n return preview;\n }\n const _preview = typeof preview === 'object' ? preview : {};\n const {\n getContainer,\n closeIcon\n } = _preview,\n restPreviewProps = __rest(_preview, [\"getContainer\", \"closeIcon\"]);\n return Object.assign(Object.assign({\n mask: ( /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-mask-info`\n }, /*#__PURE__*/React.createElement(EyeOutlined, null), imageLocale === null || imageLocale === void 0 ? void 0 : imageLocale.preview)),\n icons\n }, restPreviewProps), {\n getContainer: getContainer !== null && getContainer !== void 0 ? getContainer : getContextPopupContainer,\n transitionName: getTransitionName(rootPrefixCls, 'zoom', _preview.transitionName),\n maskTransitionName: getTransitionName(rootPrefixCls, 'fade', _preview.maskTransitionName),\n zIndex,\n closeIcon: closeIcon !== null && closeIcon !== void 0 ? closeIcon : (_a = image === null || image === void 0 ? void 0 : image.preview) === null || _a === void 0 ? void 0 : _a.closeIcon\n });\n }, [preview, imageLocale, (_a = image === null || image === void 0 ? void 0 : image.preview) === null || _a === void 0 ? void 0 : _a.closeIcon]);\n const mergedStyle = Object.assign(Object.assign({}, image === null || image === void 0 ? void 0 : image.style), style);\n return wrapCSSVar( /*#__PURE__*/React.createElement(RcImage, Object.assign({\n prefixCls: prefixCls,\n preview: mergedPreview,\n rootClassName: mergedRootClassName,\n className: mergedClassName,\n style: mergedStyle\n }, otherProps)));\n};\nImage.PreviewGroup = PreviewGroup;\nif (process.env.NODE_ENV !== 'production') {\n Image.displayName = 'Image';\n}\nexport default Image;","import React from 'react';\nexport const ListContext = /*#__PURE__*/React.createContext({});\nexport const ListConsumer = ListContext.Consumer;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { Children, useContext } from 'react';\nimport classNames from 'classnames';\nimport { cloneElement } from '../_util/reactNode';\nimport { ConfigContext } from '../config-provider';\nimport { Col } from '../grid';\nimport { ListContext } from './context';\nexport const Meta = _a => {\n var {\n prefixCls: customizePrefixCls,\n className,\n avatar,\n title,\n description\n } = _a,\n others = __rest(_a, [\"prefixCls\", \"className\", \"avatar\", \"title\", \"description\"]);\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n const classString = classNames(`${prefixCls}-item-meta`, className);\n const content = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-meta-content`\n }, title && /*#__PURE__*/React.createElement(\"h4\", {\n className: `${prefixCls}-item-meta-title`\n }, title), description && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-meta-description`\n }, description));\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({}, others, {\n className: classString\n }), avatar && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-meta-avatar`\n }, avatar), (title || description) && content);\n};\nconst InternalItem = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n children,\n actions,\n extra,\n styles,\n className,\n classNames: customizeClassNames,\n colStyle\n } = props,\n others = __rest(props, [\"prefixCls\", \"children\", \"actions\", \"extra\", \"styles\", \"className\", \"classNames\", \"colStyle\"]);\n const {\n grid,\n itemLayout\n } = useContext(ListContext);\n const {\n getPrefixCls,\n list\n } = useContext(ConfigContext);\n const moduleClass = moduleName => {\n var _a, _b;\n return classNames((_b = (_a = list === null || list === void 0 ? void 0 : list.item) === null || _a === void 0 ? void 0 : _a.classNames) === null || _b === void 0 ? void 0 : _b[moduleName], customizeClassNames === null || customizeClassNames === void 0 ? void 0 : customizeClassNames[moduleName]);\n };\n const moduleStyle = moduleName => {\n var _a, _b;\n return Object.assign(Object.assign({}, (_b = (_a = list === null || list === void 0 ? void 0 : list.item) === null || _a === void 0 ? void 0 : _a.styles) === null || _b === void 0 ? void 0 : _b[moduleName]), styles === null || styles === void 0 ? void 0 : styles[moduleName]);\n };\n const isItemContainsTextNodeAndNotSingular = () => {\n let result = false;\n Children.forEach(children, element => {\n if (typeof element === 'string') {\n result = true;\n }\n });\n return result && Children.count(children) > 1;\n };\n const isFlexMode = () => {\n if (itemLayout === 'vertical') {\n return !!extra;\n }\n return !isItemContainsTextNodeAndNotSingular();\n };\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n const actionsContent = (actions === null || actions === void 0 ? void 0 : actions.length) && ( /*#__PURE__*/React.createElement(\"ul\", {\n className: classNames(`${prefixCls}-item-action`, moduleClass('actions')),\n key: \"actions\",\n style: moduleStyle('actions')\n }, actions.map((action, i) => (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n key: `${prefixCls}-item-action-${i}`\n }, action, i !== actions.length - 1 && /*#__PURE__*/React.createElement(\"em\", {\n className: `${prefixCls}-item-action-split`\n }))))));\n const Element = grid ? 'div' : 'li';\n const itemChildren = /*#__PURE__*/React.createElement(Element, Object.assign({}, others, !grid ? {\n ref\n } : {}, {\n className: classNames(`${prefixCls}-item`, {\n [`${prefixCls}-item-no-flex`]: !isFlexMode()\n }, className)\n }), itemLayout === 'vertical' && extra ? [/*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-item-main`,\n key: \"content\"\n }, children, actionsContent), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-item-extra`, moduleClass('extra')),\n key: \"extra\",\n style: moduleStyle('extra')\n }, extra)] : [children, actionsContent, cloneElement(extra, {\n key: 'extra'\n })]);\n return grid ? ( /*#__PURE__*/React.createElement(Col, {\n ref: ref,\n flex: 1,\n style: colStyle\n }, itemChildren)) : itemChildren;\n});\nconst Item = InternalItem;\nItem.Meta = Meta;\nexport default Item;","import { unit } from '@ant-design/cssinjs';\nimport { resetComponent } from '../../style';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nconst genBorderedStyle = token => {\n const {\n listBorderedCls,\n componentCls,\n paddingLG,\n margin,\n itemPaddingSM,\n itemPaddingLG,\n marginLG,\n borderRadiusLG\n } = token;\n return {\n [`${listBorderedCls}`]: {\n border: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`,\n borderRadius: borderRadiusLG,\n [`${componentCls}-header,${componentCls}-footer,${componentCls}-item`]: {\n paddingInline: paddingLG\n },\n [`${componentCls}-pagination`]: {\n margin: `${unit(margin)} ${unit(marginLG)}`\n }\n },\n [`${listBorderedCls}${componentCls}-sm`]: {\n [`${componentCls}-item,${componentCls}-header,${componentCls}-footer`]: {\n padding: itemPaddingSM\n }\n },\n [`${listBorderedCls}${componentCls}-lg`]: {\n [`${componentCls}-item,${componentCls}-header,${componentCls}-footer`]: {\n padding: itemPaddingLG\n }\n }\n };\n};\nconst genResponsiveStyle = token => {\n const {\n componentCls,\n screenSM,\n screenMD,\n marginLG,\n marginSM,\n margin\n } = token;\n return {\n [`@media screen and (max-width:${screenMD}px)`]: {\n [`${componentCls}`]: {\n [`${componentCls}-item`]: {\n [`${componentCls}-item-action`]: {\n marginInlineStart: marginLG\n }\n }\n },\n [`${componentCls}-vertical`]: {\n [`${componentCls}-item`]: {\n [`${componentCls}-item-extra`]: {\n marginInlineStart: marginLG\n }\n }\n }\n },\n [`@media screen and (max-width: ${screenSM}px)`]: {\n [`${componentCls}`]: {\n [`${componentCls}-item`]: {\n flexWrap: 'wrap',\n [`${componentCls}-action`]: {\n marginInlineStart: marginSM\n }\n }\n },\n [`${componentCls}-vertical`]: {\n [`${componentCls}-item`]: {\n flexWrap: 'wrap-reverse',\n [`${componentCls}-item-main`]: {\n minWidth: token.contentWidth\n },\n [`${componentCls}-item-extra`]: {\n margin: `auto auto ${unit(margin)}`\n }\n }\n }\n }\n };\n};\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n antCls,\n controlHeight,\n minHeight,\n paddingSM,\n marginLG,\n padding,\n itemPadding,\n colorPrimary,\n itemPaddingSM,\n itemPaddingLG,\n paddingXS,\n margin,\n colorText,\n colorTextDescription,\n motionDurationSlow,\n lineWidth,\n headerBg,\n footerBg,\n emptyTextPadding,\n metaMarginBottom,\n avatarMarginRight,\n titleMarginBottom,\n descriptionFontSize\n } = token;\n return {\n [`${componentCls}`]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n '*': {\n outline: 'none'\n },\n [`${componentCls}-header`]: {\n background: headerBg\n },\n [`${componentCls}-footer`]: {\n background: footerBg\n },\n [`${componentCls}-header, ${componentCls}-footer`]: {\n paddingBlock: paddingSM\n },\n [`${componentCls}-pagination`]: {\n marginBlockStart: marginLG,\n // https://github.com/ant-design/ant-design/issues/20037\n [`${antCls}-pagination-options`]: {\n textAlign: 'start'\n }\n },\n [`${componentCls}-spin`]: {\n minHeight,\n textAlign: 'center'\n },\n [`${componentCls}-items`]: {\n margin: 0,\n padding: 0,\n listStyle: 'none'\n },\n [`${componentCls}-item`]: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: itemPadding,\n color: colorText,\n [`${componentCls}-item-meta`]: {\n display: 'flex',\n flex: 1,\n alignItems: 'flex-start',\n maxWidth: '100%',\n [`${componentCls}-item-meta-avatar`]: {\n marginInlineEnd: avatarMarginRight\n },\n [`${componentCls}-item-meta-content`]: {\n flex: '1 0',\n width: 0,\n color: colorText\n },\n [`${componentCls}-item-meta-title`]: {\n margin: `0 0 ${unit(token.marginXXS)} 0`,\n color: colorText,\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n '> a': {\n color: colorText,\n transition: `all ${motionDurationSlow}`,\n '&:hover': {\n color: colorPrimary\n }\n }\n },\n [`${componentCls}-item-meta-description`]: {\n color: colorTextDescription,\n fontSize: descriptionFontSize,\n lineHeight: token.lineHeight\n }\n },\n [`${componentCls}-item-action`]: {\n flex: '0 0 auto',\n marginInlineStart: token.marginXXL,\n padding: 0,\n fontSize: 0,\n listStyle: 'none',\n '& > li': {\n position: 'relative',\n display: 'inline-block',\n padding: `0 ${unit(paddingXS)}`,\n color: colorTextDescription,\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n textAlign: 'center',\n '&:first-child': {\n paddingInlineStart: 0\n }\n },\n [`${componentCls}-item-action-split`]: {\n position: 'absolute',\n insetBlockStart: '50%',\n insetInlineEnd: 0,\n width: lineWidth,\n height: token.calc(token.fontHeight).sub(token.calc(token.marginXXS).mul(2)).equal(),\n transform: 'translateY(-50%)',\n backgroundColor: token.colorSplit\n }\n }\n },\n [`${componentCls}-empty`]: {\n padding: `${unit(padding)} 0`,\n color: colorTextDescription,\n fontSize: token.fontSizeSM,\n textAlign: 'center'\n },\n [`${componentCls}-empty-text`]: {\n padding: emptyTextPadding,\n color: token.colorTextDisabled,\n fontSize: token.fontSize,\n textAlign: 'center'\n },\n // ============================ without flex ============================\n [`${componentCls}-item-no-flex`]: {\n display: 'block'\n }\n }),\n [`${componentCls}-grid ${antCls}-col > ${componentCls}-item`]: {\n display: 'block',\n maxWidth: '100%',\n marginBlockEnd: margin,\n paddingBlock: 0,\n borderBlockEnd: 'none'\n },\n [`${componentCls}-vertical ${componentCls}-item`]: {\n alignItems: 'initial',\n [`${componentCls}-item-main`]: {\n display: 'block',\n flex: 1\n },\n [`${componentCls}-item-extra`]: {\n marginInlineStart: marginLG\n },\n [`${componentCls}-item-meta`]: {\n marginBlockEnd: metaMarginBottom,\n [`${componentCls}-item-meta-title`]: {\n marginBlockStart: 0,\n marginBlockEnd: titleMarginBottom,\n color: colorText,\n fontSize: token.fontSizeLG,\n lineHeight: token.lineHeightLG\n }\n },\n [`${componentCls}-item-action`]: {\n marginBlockStart: padding,\n marginInlineStart: 'auto',\n '> li': {\n padding: `0 ${unit(padding)}`,\n '&:first-child': {\n paddingInlineStart: 0\n }\n }\n }\n },\n [`${componentCls}-split ${componentCls}-item`]: {\n borderBlockEnd: `${unit(token.lineWidth)} ${token.lineType} ${token.colorSplit}`,\n '&:last-child': {\n borderBlockEnd: 'none'\n }\n },\n [`${componentCls}-split ${componentCls}-header`]: {\n borderBlockEnd: `${unit(token.lineWidth)} ${token.lineType} ${token.colorSplit}`\n },\n [`${componentCls}-split${componentCls}-empty ${componentCls}-footer`]: {\n borderTop: `${unit(token.lineWidth)} ${token.lineType} ${token.colorSplit}`\n },\n [`${componentCls}-loading ${componentCls}-spin-nested-loading`]: {\n minHeight: controlHeight\n },\n [`${componentCls}-split${componentCls}-something-after-last-item ${antCls}-spin-container > ${componentCls}-items > ${componentCls}-item:last-child`]: {\n borderBlockEnd: `${unit(token.lineWidth)} ${token.lineType} ${token.colorSplit}`\n },\n [`${componentCls}-lg ${componentCls}-item`]: {\n padding: itemPaddingLG\n },\n [`${componentCls}-sm ${componentCls}-item`]: {\n padding: itemPaddingSM\n },\n // Horizontal\n [`${componentCls}:not(${componentCls}-vertical)`]: {\n [`${componentCls}-item-no-flex`]: {\n [`${componentCls}-item-action`]: {\n float: 'right'\n }\n }\n }\n };\n};\nexport const prepareComponentToken = token => ({\n contentWidth: 220,\n itemPadding: `${unit(token.paddingContentVertical)} 0`,\n itemPaddingSM: `${unit(token.paddingContentVerticalSM)} ${unit(token.paddingContentHorizontal)}`,\n itemPaddingLG: `${unit(token.paddingContentVerticalLG)} ${unit(token.paddingContentHorizontalLG)}`,\n headerBg: 'transparent',\n footerBg: 'transparent',\n emptyTextPadding: token.padding,\n metaMarginBottom: token.padding,\n avatarMarginRight: token.padding,\n titleMarginBottom: token.paddingSM,\n descriptionFontSize: token.fontSize\n});\n// ============================== Export ==============================\nexport default genStyleHooks('List', token => {\n const listToken = mergeToken(token, {\n listBorderedCls: `${token.componentCls}-bordered`,\n minHeight: token.controlHeightLG\n });\n return [genBaseStyle(listToken), genBorderedStyle(listToken), genResponsiveStyle(listToken)];\n}, prepareComponentToken);","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport extendsObject from '../_util/extendsObject';\nimport { responsiveArray } from '../_util/responsiveObserver';\nimport { ConfigContext } from '../config-provider';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport useSize from '../config-provider/hooks/useSize';\nimport { Row } from '../grid';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport Pagination from '../pagination';\nimport Spin from '../spin';\nimport { ListContext } from './context';\nimport Item from './Item';\nimport useStyle from './style';\nfunction List(_a) {\n var {\n pagination = false,\n prefixCls: customizePrefixCls,\n bordered = false,\n split = true,\n className,\n rootClassName,\n style,\n children,\n itemLayout,\n loadMore,\n grid,\n dataSource = [],\n size: customizeSize,\n header,\n footer,\n loading = false,\n rowKey,\n renderItem,\n locale\n } = _a,\n rest = __rest(_a, [\"pagination\", \"prefixCls\", \"bordered\", \"split\", \"className\", \"rootClassName\", \"style\", \"children\", \"itemLayout\", \"loadMore\", \"grid\", \"dataSource\", \"size\", \"header\", \"footer\", \"loading\", \"rowKey\", \"renderItem\", \"locale\"]);\n const paginationObj = pagination && typeof pagination === 'object' ? pagination : {};\n const [paginationCurrent, setPaginationCurrent] = React.useState(paginationObj.defaultCurrent || 1);\n const [paginationSize, setPaginationSize] = React.useState(paginationObj.defaultPageSize || 10);\n const {\n getPrefixCls,\n renderEmpty,\n direction,\n list\n } = React.useContext(ConfigContext);\n const defaultPaginationProps = {\n current: 1,\n total: 0\n };\n const triggerPaginationEvent = eventName => (page, pageSize) => {\n var _a;\n setPaginationCurrent(page);\n setPaginationSize(pageSize);\n if (pagination) {\n (_a = pagination === null || pagination === void 0 ? void 0 : pagination[eventName]) === null || _a === void 0 ? void 0 : _a.call(pagination, page, pageSize);\n }\n };\n const onPaginationChange = triggerPaginationEvent('onChange');\n const onPaginationShowSizeChange = triggerPaginationEvent('onShowSizeChange');\n const renderInnerItem = (item, index) => {\n if (!renderItem) return null;\n let key;\n if (typeof rowKey === 'function') {\n key = rowKey(item);\n } else if (rowKey) {\n key = item[rowKey];\n } else {\n key = item.key;\n }\n if (!key) {\n key = `list-item-${index}`;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: key\n }, renderItem(item, index));\n };\n const isSomethingAfterLastItem = () => !!(loadMore || pagination || footer);\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n // Style\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n let loadingProp = loading;\n if (typeof loadingProp === 'boolean') {\n loadingProp = {\n spinning: loadingProp\n };\n }\n const isLoading = !!(loadingProp === null || loadingProp === void 0 ? void 0 : loadingProp.spinning);\n const mergedSize = useSize(customizeSize);\n // large => lg\n // small => sm\n let sizeCls = '';\n switch (mergedSize) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n break;\n }\n const classString = classNames(prefixCls, {\n [`${prefixCls}-vertical`]: itemLayout === 'vertical',\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-split`]: split,\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-loading`]: isLoading,\n [`${prefixCls}-grid`]: !!grid,\n [`${prefixCls}-something-after-last-item`]: isSomethingAfterLastItem(),\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, list === null || list === void 0 ? void 0 : list.className, className, rootClassName, hashId, cssVarCls);\n const paginationProps = extendsObject(defaultPaginationProps, {\n total: dataSource.length,\n current: paginationCurrent,\n pageSize: paginationSize\n }, pagination || {});\n const largestPage = Math.ceil(paginationProps.total / paginationProps.pageSize);\n if (paginationProps.current > largestPage) {\n paginationProps.current = largestPage;\n }\n const paginationContent = pagination && ( /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-pagination`)\n }, /*#__PURE__*/React.createElement(Pagination, Object.assign({}, paginationProps, {\n onChange: onPaginationChange,\n onShowSizeChange: onPaginationShowSizeChange\n }))));\n let splitDataSource = _toConsumableArray(dataSource);\n if (pagination) {\n if (dataSource.length > (paginationProps.current - 1) * paginationProps.pageSize) {\n splitDataSource = _toConsumableArray(dataSource).splice((paginationProps.current - 1) * paginationProps.pageSize, paginationProps.pageSize);\n }\n }\n const needResponsive = Object.keys(grid || {}).some(key => ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].includes(key));\n const screens = useBreakpoint(needResponsive);\n const currentBreakpoint = React.useMemo(() => {\n for (let i = 0; i < responsiveArray.length; i += 1) {\n const breakpoint = responsiveArray[i];\n if (screens[breakpoint]) {\n return breakpoint;\n }\n }\n return undefined;\n }, [screens]);\n const colStyle = React.useMemo(() => {\n if (!grid) {\n return undefined;\n }\n const columnCount = currentBreakpoint && grid[currentBreakpoint] ? grid[currentBreakpoint] : grid.column;\n if (columnCount) {\n return {\n width: `${100 / columnCount}%`,\n maxWidth: `${100 / columnCount}%`\n };\n }\n }, [JSON.stringify(grid), currentBreakpoint]);\n let childrenContent = isLoading && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n minHeight: 53\n }\n });\n if (splitDataSource.length > 0) {\n const items = splitDataSource.map((item, index) => renderInnerItem(item, index));\n childrenContent = grid ? ( /*#__PURE__*/React.createElement(Row, {\n gutter: grid.gutter\n }, React.Children.map(items, child => ( /*#__PURE__*/React.createElement(\"div\", {\n key: child === null || child === void 0 ? void 0 : child.key,\n style: colStyle\n }, child))))) : ( /*#__PURE__*/React.createElement(\"ul\", {\n className: `${prefixCls}-items`\n }, items));\n } else if (!children && !isLoading) {\n childrenContent = /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-empty-text`\n }, (locale === null || locale === void 0 ? void 0 : locale.emptyText) || (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('List')) || /*#__PURE__*/React.createElement(DefaultRenderEmpty, {\n componentName: \"List\"\n }));\n }\n const paginationPosition = paginationProps.position || 'bottom';\n const contextValue = React.useMemo(() => ({\n grid,\n itemLayout\n }), [JSON.stringify(grid), itemLayout]);\n return wrapCSSVar( /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(\"div\", Object.assign({\n style: Object.assign(Object.assign({}, list === null || list === void 0 ? void 0 : list.style), style),\n className: classString\n }, rest), (paginationPosition === 'top' || paginationPosition === 'both') && paginationContent, header && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-header`\n }, header), /*#__PURE__*/React.createElement(Spin, Object.assign({}, loadingProp), childrenContent, children), footer && /*#__PURE__*/React.createElement(\"div\", {\n className: `${prefixCls}-footer`\n }, footer), loadMore || (paginationPosition === 'bottom' || paginationPosition === 'both') && paginationContent)));\n}\nif (process.env.NODE_ENV !== 'production') {\n List.displayName = 'List';\n}\nList.Item = Item;\nexport default List;","// This icon file is generated automatically.\nvar WifiOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M723 620.5C666.8 571.6 593.4 542 513 542s-153.8 29.6-210.1 78.6a8.1 8.1 0 00-.8 11.2l36 42.9c2.9 3.4 8 3.8 11.4.9C393.1 637.2 450.3 614 513 614s119.9 23.2 163.5 61.5c3.4 2.9 8.5 2.5 11.4-.9l36-42.9c2.8-3.3 2.4-8.3-.9-11.2zm117.4-140.1C751.7 406.5 637.6 362 513 362s-238.7 44.5-327.5 118.4a8.05 8.05 0 00-1 11.3l36 42.9c2.8 3.4 7.9 3.8 11.2 1C308 472.2 406.1 434 513 434s205 38.2 281.2 101.6c3.4 2.8 8.4 2.4 11.2-1l36-42.9c2.8-3.4 2.4-8.5-1-11.3zm116.7-139C835.7 241.8 680.3 182 511 182c-168.2 0-322.6 59-443.7 157.4a8 8 0 00-1.1 11.4l36 42.9c2.8 3.3 7.8 3.8 11.1 1.1C222 306.7 360.3 254 511 254c151.8 0 291 53.5 400 142.7 3.4 2.8 8.4 2.3 11.2-1.1l36-42.9c2.9-3.4 2.4-8.5-1.1-11.3zM448 778a64 64 0 10128 0 64 64 0 10-128 0z\" } }] }, \"name\": \"wifi\", \"theme\": \"outlined\" };\nexport default WifiOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport WifiOutlinedSvg from \"@ant-design/icons-svg/es/asn/WifiOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar WifiOutlined = function WifiOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: WifiOutlinedSvg\n }));\n};\n\n/**![wifi](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcyMyA2MjAuNUM2NjYuOCA1NzEuNiA1OTMuNCA1NDIgNTEzIDU0MnMtMTUzLjggMjkuNi0yMTAuMSA3OC42YTguMSA4LjEgMCAwMC0uOCAxMS4ybDM2IDQyLjljMi45IDMuNCA4IDMuOCAxMS40LjlDMzkzLjEgNjM3LjIgNDUwLjMgNjE0IDUxMyA2MTRzMTE5LjkgMjMuMiAxNjMuNSA2MS41YzMuNCAyLjkgOC41IDIuNSAxMS40LS45bDM2LTQyLjljMi44LTMuMyAyLjQtOC4zLS45LTExLjJ6bTExNy40LTE0MC4xQzc1MS43IDQwNi41IDYzNy42IDM2MiA1MTMgMzYycy0yMzguNyA0NC41LTMyNy41IDExOC40YTguMDUgOC4wNSAwIDAwLTEgMTEuM2wzNiA0Mi45YzIuOCAzLjQgNy45IDMuOCAxMS4yIDFDMzA4IDQ3Mi4yIDQwNi4xIDQzNCA1MTMgNDM0czIwNSAzOC4yIDI4MS4yIDEwMS42YzMuNCAyLjggOC40IDIuNCAxMS4yLTFsMzYtNDIuOWMyLjgtMy40IDIuNC04LjUtMS0xMS4zem0xMTYuNy0xMzlDODM1LjcgMjQxLjggNjgwLjMgMTgyIDUxMSAxODJjLTE2OC4yIDAtMzIyLjYgNTktNDQzLjcgMTU3LjRhOCA4IDAgMDAtMS4xIDExLjRsMzYgNDIuOWMyLjggMy4zIDcuOCAzLjggMTEuMSAxLjFDMjIyIDMwNi43IDM2MC4zIDI1NCA1MTEgMjU0YzE1MS44IDAgMjkxIDUzLjUgNDAwIDE0Mi43IDMuNCAyLjggOC40IDIuMyAxMS4yLTEuMWwzNi00Mi45YzIuOS0zLjQgMi40LTguNS0xLjEtMTEuM3pNNDQ4IDc3OGE2NCA2NCAwIDEwMTI4IDAgNjQgNjQgMCAxMC0xMjggMHoiIC8+PC9zdmc+) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(WifiOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'WifiOutlined';\n}\nexport default RefIcon;","import { Card, Row, Space, Image,List } from \"antd\";\r\nimport React from \"react\";\r\nimport lLogo from \"../images/guide1.png\";\r\nimport { WifiOutlined } from \"@ant-design/icons\";\r\n\r\nconst Network = (props) => {\r\nconst data =[\r\n {\r\n title:(\r\n <>\r\n Network Error Guide \r\n \r\n ),\r\n content:(\r\n \r\n \r\n \r\n

    \r\n If Amazon Connect page displays any one of these error in the image below please follow \r\n these provided steps:\r\n

    \r\n \r\n
    \r\n
      \r\n
    1. \r\n In Chrome browser, click the three dots at the top-right and open \r\n Settings\r\n
    2. \r\n
    3. \r\n Click Privacy and Security {\">\"} Clear browsing data \r\n
    4. \r\n
    5. At the top, choose a time range. To delete everything, choose All \r\n Time
    6. \r\n
    7. Check the boxes for “Cookies and other site data” and “Cached images and files”\r\n
    8. \r\n
    9. Click Clear data, and afterwards restart browser and computer
    10. \r\n
    11. \r\n Login to Amazon Connect and open the softphone to take/make \r\n calls. If the connectivity error is still prevalent, please send an \r\n email to {\r\n Kansas-CC-Help@accenture.com} with the logs mentioned on log page.\r\n
    12. \r\n
    \r\n

    Note: These errors may also be attributed to the \r\n Internet Service Provider (ISP) speed or sluggish download and upload \r\n speeds from users' routers. Moreover, if the user is connected via a Virtual Private Network (VPN), \r\n these errors may manifest frequently due to diminished downstream speed.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n]\r\n return (\r\n
    \r\n (\r\n \r\n {item.content}\r\n \r\n )}\r\n />\r\n
    \r\n );\r\n};\r\nexport default Network;\r\n","// This icon file is generated automatically.\nvar AudioFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm330-170c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1z\" } }] }, \"name\": \"audio\", \"theme\": \"filled\" };\nexport default AudioFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport AudioFilledSvg from \"@ant-design/icons-svg/es/asn/AudioFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar AudioFilled = function AudioFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: AudioFilledSvg\n }));\n};\n\n/**![audio](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUxMiA2MjRjOTMuOSAwIDE3MC03NS4yIDE3MC0xNjhWMjMyYzAtOTIuOC03Ni4xLTE2OC0xNzAtMTY4cy0xNzAgNzUuMi0xNzAgMTY4djIyNGMwIDkyLjggNzYuMSAxNjggMTcwIDE2OHptMzMwLTE3MGMwLTQuNC0zLjYtOC04LThoLTYwYy00LjQgMC04IDMuNi04IDggMCAxNDAuMy0xMTMuNyAyNTQtMjU0IDI1NFMyNTggNTk0LjMgMjU4IDQ1NGMwLTQuNC0zLjYtOC04LThoLTYwYy00LjQgMC04IDMuNi04IDggMCAxNjguNyAxMjYuNiAzMDcuOSAyOTAgMzI3LjZWODg0SDMyNi43Yy0xMy43IDAtMjQuNyAxNC4zLTI0LjcgMzJ2MzZjMCA0LjQgMi44IDggNi4yIDhoNDA3LjZjMy40IDAgNi4yLTMuNiA2LjItOHYtMzZjMC0xNy43LTExLTMyLTI0LjctMzJINTQ4Vjc4Mi4xYzE2NS4zLTE4IDI5NC0xNTggMjk0LTMyOC4xeiIgLz48L3N2Zz4=) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(AudioFilled);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'AudioFilled';\n}\nexport default RefIcon;","import { Card, Row, Space, Image,List } from \"antd\";\r\nimport React from \"react\";\r\nimport lLogo from \"../images/guide2.png\";\r\nimport { AudioFilled } from \"@ant-design/icons\";\r\nconst Audio = (props) => {\r\nconst data =[\r\n {\r\n title:(\r\n <>\r\n Audio Error Guide \r\n \r\n ),\r\n content:(\r\n \r\n \r\n \r\n

    \r\n Users experiencing microphone issues or receiving a pop-up message on\r\n the Amazon Connect page, such as the one shown in the image below?\r\n Please follow the provided steps to resolve the audio issue:\r\n

    \r\n \r\n
    \r\n
      \r\n
    1. In Chrome browser, click the three dots at the top-right and open\r\n Settings\r\n
    2. \r\n
    3. Click Privacy and Security {\">\"} Site Settings {\">\"} Microphone
    4. \r\n
    5. Delete the following website from the allowed list if exists: \r\n https://ks-covid-19-hotline.awsapps.com:443\r\n
    6. \r\n
    7. Restart browser
    8. \r\n
    9. Try logging into Amazon Connect
    10. \r\n
    11. When clicking on the phone icon and opening the softphone, a \r\n pop-up appears to allow microphone and camera access. Press \r\n Allow.
    12. \r\n
    13. The issue should now be resolved.
    14. \r\n
    15. If the microphone issue persists, please confirm your headset is \r\n working properly by logging into alternate pc/testing audio \r\n settings. If error is still prevalent, please send an email to \r\n Kansas-CC-Help@accenture.com obtaining logs mentioned in the log tab.\r\n
    16. \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n]\r\n return (\r\n
    \r\n (\r\n \r\n {item.content}\r\n \r\n )}\r\n />\r\n
    \r\n );\r\n}\r\nexport default Audio;","import { Card, Row, Space, Image,List } from \"antd\";\r\nimport React from \"react\";\r\nimport lLogo from \"../images/guide3.png\";\r\nimport { UserOutlined } from \"@ant-design/icons\";\r\nimport './style.css'\r\nconst Login = (props) => {\r\nconst data =[\r\n {\r\n title:(\r\n <>\r\n Login Error Guide \r\n \r\n ),\r\n content:(\r\n \r\n \r\n \r\n

    \r\n If you are encountering difficulty with logging in or repeatedly\r\n experiencing Server Errors on the Amazon Connect page,\r\n please adhere to the following steps to rectify the issue:\r\n

    \r\n \r\n
    \r\n
      \r\n
    1. Ensure you are using Google Chrome or Firefox to access page\r\n
    2. \r\n
    3. If you are a new agent, please note that the sign-in link is only valid for 24 hours. If the link expires, kindly contact us via email: \r\n {\r\n Kansas-CC-Help@accenture.com} to reset your password and proceed with the sign-in process.\r\n
    4. \r\n
    5. If steps 1 and 2 are fulfilled and issue persists, please \r\n follow the additional steps below:\r\n \r\n
        \r\n
      1. Close all the sessions, proper logout, and re-login attempt to \r\n Connect\r\n
      2. \r\n
      3. Restart computer
      4. \r\n
      5. Clear the browser cache using the steps below.\r\n
          \r\n
        1. Click Privacy and Security {\">\"} Clear browsing data
        2. \r\n
        3. At the top, choose a time range. To delete everything, choose All \r\n Time
        4. \r\n
        5. Check the boxes for “Cookies and other site data” and “Cached images and files”\r\n
        6. \r\n
        7. Click Clear data, and afterwards restart browser
        8. \r\n

          Note: If the actions are still unsuccessful, please send an email to the \r\n support team after obtaining logs mentioned on the log page.

          \r\n
        \r\n
      6. \r\n
      \r\n
    6. \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n]\r\n return (\r\n
    \r\n (\r\n \r\n {item.content}\r\n \r\n )}\r\n />\r\n
    \r\n );\r\n}\r\nexport default Login;","// This icon file is generated automatically.\nvar CloudDownloadOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M624 706.3h-74.1V464c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v242.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.7a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0152.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 01-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z\" } }] }, \"name\": \"cloud-download\", \"theme\": \"outlined\" };\nexport default CloudDownloadOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CloudDownloadOutlinedSvg from \"@ant-design/icons-svg/es/asn/CloudDownloadOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CloudDownloadOutlined = function CloudDownloadOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CloudDownloadOutlinedSvg\n }));\n};\n\n/**![cloud-download](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYyNCA3MDYuM2gtNzQuMVY0NjRjMC00LjQtMy42LTgtOC04aC02MGMtNC40IDAtOCAzLjYtOCA4djI0Mi4zSDQwMGMtNi43IDAtMTAuNCA3LjctNi4zIDEyLjlsMTEyIDE0MS43YTggOCAwIDAwMTIuNiAwbDExMi0xNDEuN2M0LjEtNS4yLjQtMTIuOS02LjMtMTIuOXoiIC8+PHBhdGggZD0iTTgxMS40IDM2Ni43Qzc2NS42IDI0NS45IDY0OC45IDE2MCA1MTIuMiAxNjBTMjU4LjggMjQ1LjggMjEzIDM2Ni42QzEyNy4zIDM4OS4xIDY0IDQ2Ny4yIDY0IDU2MGMwIDExMC41IDg5LjUgMjAwIDE5OS45IDIwMEgzMDRjNC40IDAgOC0zLjYgOC04di02MGMwLTQuNC0zLjYtOC04LThoLTQwLjFjLTMzLjcgMC02NS40LTEzLjQtODktMzcuNy0yMy41LTI0LjItMzYtNTYuOC0zNC45LTkwLjYuOS0yNi40IDkuOS01MS4yIDI2LjItNzIuMSAxNi43LTIxLjMgNDAuMS0zNi44IDY2LjEtNDMuN2wzNy45LTkuOSAxMy45LTM2LjZjOC42LTIyLjggMjAuNi00NC4xIDM1LjctNjMuNGEyNDUuNiAyNDUuNiAwIDAxNTIuNC00OS45YzQxLjEtMjguOSA4OS41LTQ0LjIgMTQwLTQ0LjJzOTguOSAxNS4zIDE0MCA0NC4yYzE5LjkgMTQgMzcuNSAzMC44IDUyLjQgNDkuOSAxNS4xIDE5LjMgMjcuMSA0MC43IDM1LjcgNjMuNGwxMy44IDM2LjUgMzcuOCAxMEM4NDYuMSA0NTQuNSA4ODQgNTAzLjggODg0IDU2MGMwIDMzLjEtMTIuOSA2NC4zLTM2LjMgODcuN2ExMjMuMDcgMTIzLjA3IDAgMDEtODcuNiAzNi4zSDcyMGMtNC40IDAtOCAzLjYtOCA4djYwYzAgNC40IDMuNiA4IDggOGg0MC4xQzg3MC41IDc2MCA5NjAgNjcwLjUgOTYwIDU2MGMwLTkyLjctNjMuMS0xNzAuNy0xNDguNi0xOTMuM3oiIC8+PC9zdmc+) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(CloudDownloadOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'CloudDownloadOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar DownloadOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"download\", \"theme\": \"outlined\" };\nexport default DownloadOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport DownloadOutlinedSvg from \"@ant-design/icons-svg/es/asn/DownloadOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar DownloadOutlined = function DownloadOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: DownloadOutlinedSvg\n }));\n};\n\n/**![download](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUwNS43IDY2MWE4IDggMCAwMDEyLjYgMGwxMTItMTQxLjdjNC4xLTUuMi40LTEyLjktNi4zLTEyLjloLTc0LjFWMTY4YzAtNC40LTMuNi04LTgtOGgtNjBjLTQuNCAwLTggMy42LTggOHYzMzguM0g0MDBjLTYuNyAwLTEwLjQgNy43LTYuMyAxMi45bDExMiAxNDEuOHpNODc4IDYyNmgtNjBjLTQuNCAwLTggMy42LTggOHYxNTRIMjE0VjYzNGMwLTQuNC0zLjYtOC04LThoLTYwYy00LjQgMC04IDMuNi04IDh2MTk4YzAgMTcuNyAxNC4zIDMyIDMyIDMyaDY4NGMxNy43IDAgMzItMTQuMyAzMi0zMlY2MzRjMC00LjQtMy42LTgtOC04eiIgLz48L3N2Zz4=) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(DownloadOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'DownloadOutlined';\n}\nexport default RefIcon;","import { Card, Row, Space, Image,List } from \"antd\";\r\nimport React from \"react\";\r\nimport lLogo from \"../images/guide4.png\";\r\nimport lLogo1 from \"../images/guide5.png\";\r\nimport lLogo2 from \"../images/guide6.png\";\r\nimport lLogo3 from \"../images/guide7.png\";\r\nimport lLogo4 from \"../images/guide8.png\";\r\nimport lLogo5 from \"../images/guide9.png\";\r\nimport { CloudDownloadOutlined, DownloadOutlined } from \"@ant-design/icons\";\r\nimport './style.css'\r\nconst Logs = (props) => {\r\nconst data =[\r\n {\r\n title:(\r\n <>\r\n Downloading Logs Guide \r\n \r\n ),\r\n content:(\r\n \r\n \r\n \r\n

    \r\n

    Downloading Connectivity Test Result

    \r\n

    \r\n \r\n
    \r\n
      \r\n
    1. \r\n Open the following link:{\r\n Amazon Connect Endpoint Test Utility} Click on Run tests; you may leave the text box blank.\r\n
    2. \r\n
    3. Upon completion of the test, please scroll to the bottom of the page and proceed to click on \"Download results.\"
    4. \r\n
    5. The result is saved to your computer. Please forward this file as an attachment, accompanied by a description of the issue, to the following email address:{\r\n Kansas-CC-Help@accenture.com}
    6. \r\n
    \r\n
    \r\n

    \r\n

    Downloading CCP Logs

    \r\n

    \r\n \r\n
    \r\n
      \r\n
    1. \r\n Open your Amazon Connect softphone\r\n
    2. \r\n
    3. \r\n Click on the Settings icon on the top right corner\r\n
    4. \r\n
    5. \r\n Click on Download logs button in the bottom of the softphone\r\n
    6. \r\n
    7. \r\n The agent-log.txt file is saved to your computer. Please send an email with this file attached,\r\n together with a description of the issue, to the following address:\r\n { Kansas-CC-Help@accenture.com}\r\n
    8. \r\n
    \r\n
    \r\n

    \r\n

    Downloading HAR Log

    \r\n

    \r\n \r\n
    \r\n
      \r\n
    1. \r\n Right-click in the chrome browser window and select Inspect.\r\n
    2. \r\n
    3. \r\n Click the Network tab in the panel that appears \r\n
    4. \r\n \r\n
      \r\n
      \r\n
    5. \r\n Select the Preserve Logs checkmark \r\n
    6. \r\n \r\n
      \r\n
      \r\n
    7. \r\n Navigate to Amazon Connect and try to sign-in. If it brings the sign-in page again (duplicate login request),\r\n sign-in again. The Inspect window from step 1 should be open before doing this step and should remain open until the end. \r\n
    8. \r\n
    9. Click the download button {} (Export HAR appears when you hold the pointer over it.)
    10. \r\n \r\n
      \r\n
      \r\n
    11. Name the file.
    12. \r\n
    13. Click Save. Email this document alongside issue description to { Kansas-CC-Help@accenture.com}
    14. \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n]\r\n return (\r\n
    \r\n (\r\n \r\n {item.content}\r\n \r\n )}\r\n />\r\n
    \r\n );\r\n}\r\nexport default Logs;","import { Card, Row, Col, Space, Badge, Image, Select } from \"antd\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport Network from \"../Troubleshoot/network\"\r\nimport Audio from \"../Troubleshoot/audio\"\r\nimport Login from \"../Troubleshoot/login\"\r\nimport Logs from \"../Troubleshoot/logs\"\r\nimport { Layout, Menu, Tabs } from \"antd\";\r\n\r\nconst Guide = (props) => {\r\n const [textValue, setTextValue] = useState(\"\");\r\n const loginStatus = useSelector((state) => state.login.loginValue);\r\n const [collapsed, setCollapsed] = useState(false);\r\n const [selectedIndex, setSelectedIndex] = useState(\"1\");\r\n const [signedIn, setSignedIn] = useState(false);\r\n const [customerNumber, setCustomerNumber] = useState(\"\");\r\n const [contactID, setContactID] = useState(\"\");\r\n const [contactEnded, setContactEnded] = useState(false);\r\n const [copiedToClipboard, setCopiedToClipboard] = useState(false);\r\n\r\n console.log(\"Login Value is: \", loginStatus);\r\n const onChange = (key) => {\r\n console.log(key);\r\n };\r\n\r\n window.addEventListener(\"loggedIn\", function () {\r\n console.log(\"fooLoggedIn!\");\r\n setSignedIn(true);\r\n });\r\n\r\n window.addEventListener(\"loggedOut\", function () {\r\n console.log(\"fooLoggedOut!\");\r\n setSignedIn(false);\r\n });\r\n\r\n window.addEventListener(\r\n \"contactEvent\",\r\n async function (e) {\r\n console.log(\"Customer Number: \", e.detail.customerNo);\r\n var customerNumber = e.detail.customerNo;\r\n var contactID = e.detail.contactID;\r\n setCustomerNumber(customerNumber);\r\n setContactID(contactID);\r\n },\r\n false\r\n );\r\n\r\n window.addEventListener(\r\n \"contactEnded\",\r\n async function (e) {\r\n // console.log(\"Contact Ended: \", e.detail.contactEnded);\r\n setContactEnded(true);\r\n setCustomerNumber(\"\");\r\n setContactID(\"\");\r\n setCopiedToClipboard(false);\r\n },\r\n false\r\n );\r\n\r\n window.addEventListener(\r\n \"refreshContact\",\r\n async function (e) {\r\n // console.log(\"Contact Ended: \", e.detail.contactEnded);\r\n setContactEnded(false);\r\n },\r\n false\r\n );\r\n\r\n useEffect(() => {\r\n console.log(window);\r\n window[\"onload\"]();\r\n }, []);\r\n\r\n useEffect(() => {\r\n console.log(\"UGHDN WindowSignedIn: \", window.isSignedIn);\r\n if (window[\"isSignedIn\"] === \"Signed In\") {\r\n console.log(\"WIIIINDDOWW RESULT IS SIGNED IN\");\r\n } else {\r\n console.log(\"WIIIINDDOWW RESULT IS SIGNED OUT\");\r\n }\r\n }, [window[\"isSignedIn\"]]);\r\n\r\n const sizes = [\"xxxl\", \"xxl\", \"xl\", \"lg\", \"md\", \"sm\", \"xs\", \"xxs\"];\r\n\r\n const tab_items = [\r\n {\r\n key: \"1\",\r\n label: Network Error,\r\n children: ( ),\r\n },\r\n {\r\n key: \"2\",\r\n label: Audio Error,\r\n children: (< Audio />),\r\n },\r\n {\r\n key: \"3\",\r\n label: Login Error,\r\n children: (< Login />),\r\n },\r\n {\r\n key: \"4\",\r\n label: Logs,\r\n children: (< Logs />),\r\n },\r\n ];\r\n \r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\nexport default Guide;","// This icon file is generated automatically.\nvar EditOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z\" } }] }, \"name\": \"edit\", \"theme\": \"outlined\" };\nexport default EditOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport EditOutlinedSvg from \"@ant-design/icons-svg/es/asn/EditOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar EditOutlined = function EditOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: EditOutlinedSvg\n }));\n};\n\n/**![edit](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTI1Ny43IDc1MmMyIDAgNC0uMiA2LS41TDQzMS45IDcyMmMyLS40IDMuOS0xLjMgNS4zLTIuOGw0MjMuOS00MjMuOWE5Ljk2IDkuOTYgMCAwMDAtMTQuMUw2OTQuOSAxMTQuOWMtMS45LTEuOS00LjQtMi45LTcuMS0yLjlzLTUuMiAxLTcuMSAyLjlMMjU2LjggNTM4LjhjLTEuNSAxLjUtMi40IDMuMy0yLjggNS4zbC0yOS41IDE2OC4yYTMzLjUgMzMuNSAwIDAwOS40IDI5LjhjNi42IDYuNCAxNC45IDkuOSAyMy44IDkuOXptNjcuNC0xNzQuNEw2ODcuOCAyMTVsNzMuMyA3My4zLTM2Mi43IDM2Mi42LTg4LjkgMTUuNyAxNS42LTg5ek04ODAgODM2SDE0NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2MzZjMCA0LjQgMy42IDggOCA4aDc4NGM0LjQgMCA4LTMuNiA4LTh2LTM2YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiIgLz48L3N2Zz4=) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(EditOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'EditOutlined';\n}\nexport default RefIcon;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n/**\n * Wrap of sub component which need use as Button capacity (like Icon component).\n *\n * This helps accessibility reader to tread as a interactive button to operation.\n */\nimport * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nconst inlineStyle = {\n border: 0,\n background: 'transparent',\n padding: 0,\n lineHeight: 'inherit',\n display: 'inline-flex'\n};\nconst TransButton = /*#__PURE__*/React.forwardRef((props, ref) => {\n const onKeyDown = event => {\n const {\n keyCode\n } = event;\n if (keyCode === KeyCode.ENTER) {\n event.preventDefault();\n }\n };\n const onKeyUp = event => {\n const {\n keyCode\n } = event;\n const {\n onClick\n } = props;\n if (keyCode === KeyCode.ENTER && onClick) {\n onClick();\n }\n };\n const {\n style,\n noStyle,\n disabled,\n tabIndex = 0\n } = props,\n restProps = __rest(props, [\"style\", \"noStyle\", \"disabled\", \"tabIndex\"]);\n let mergedStyle = {};\n if (!noStyle) {\n mergedStyle = Object.assign({}, inlineStyle);\n }\n if (disabled) {\n mergedStyle.pointerEvents = 'none';\n }\n mergedStyle = Object.assign(Object.assign({}, mergedStyle), style);\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n role: \"button\",\n tabIndex: tabIndex,\n ref: ref\n }, restProps, {\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n style: mergedStyle\n }));\n});\nexport default TransButton;","// This icon file is generated automatically.\nvar EnterOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M864 170h-60c-4.4 0-8 3.6-8 8v518H310v-73c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 000 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-75h498c35.3 0 64-28.7 64-64V178c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"enter\", \"theme\": \"outlined\" };\nexport default EnterOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport EnterOutlinedSvg from \"@ant-design/icons-svg/es/asn/EnterOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar EnterOutlined = function EnterOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: EnterOutlinedSvg\n }));\n};\n\n/**![enter](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg2NCAxNzBoLTYwYy00LjQgMC04IDMuNi04IDh2NTE4SDMxMHYtNzNjMC02LjctNy44LTEwLjUtMTMtNi4zbC0xNDEuOSAxMTJhOCA4IDAgMDAwIDEyLjZsMTQxLjkgMTEyYzUuMyA0LjIgMTMgLjQgMTMtNi4zdi03NWg0OThjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMTc4YzAtNC40LTMuNi04LTgtOHoiIC8+PC9zdmc+) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(EnterOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'EnterOutlined';\n}\nexport default RefIcon;","/*\n.typography-title(@fontSize; @fontWeight; @lineHeight; @headingColor; @headingMarginBottom;) {\n margin-bottom: @headingMarginBottom;\n color: @headingColor;\n font-weight: @fontWeight;\n fontSize: @fontSize;\n line-height: @lineHeight;\n}\n*/\nimport { gold } from '@ant-design/colors';\nimport { unit } from '@ant-design/cssinjs';\nimport { operationUnit } from '../../style';\n// eslint-disable-next-line import/prefer-default-export\nconst getTitleStyle = (fontSize, lineHeight, color, token) => {\n const {\n titleMarginBottom,\n fontWeightStrong\n } = token;\n return {\n marginBottom: titleMarginBottom,\n color,\n fontWeight: fontWeightStrong,\n fontSize,\n lineHeight\n };\n};\n// eslint-disable-next-line import/prefer-default-export\nexport const getTitleStyles = token => {\n const headings = [1, 2, 3, 4, 5];\n const styles = {};\n headings.forEach(headingLevel => {\n styles[`\n h${headingLevel}&,\n div&-h${headingLevel},\n div&-h${headingLevel} > textarea,\n h${headingLevel}\n `] = getTitleStyle(token[`fontSizeHeading${headingLevel}`], token[`lineHeightHeading${headingLevel}`], token.colorTextHeading, token);\n });\n return styles;\n};\nexport const getLinkStyles = token => {\n const {\n componentCls\n } = token;\n return {\n 'a&, a': Object.assign(Object.assign({}, operationUnit(token)), {\n textDecoration: token.linkDecoration,\n '&:active, &:hover': {\n textDecoration: token.linkHoverDecoration\n },\n [`&[disabled], &${componentCls}-disabled`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed',\n '&:active, &:hover': {\n color: token.colorTextDisabled\n },\n '&:active': {\n pointerEvents: 'none'\n }\n }\n })\n };\n};\nexport const getResetStyles = token => ({\n code: {\n margin: '0 0.2em',\n paddingInline: '0.4em',\n paddingBlock: '0.2em 0.1em',\n fontSize: '85%',\n fontFamily: token.fontFamilyCode,\n background: 'rgba(150, 150, 150, 0.1)',\n border: '1px solid rgba(100, 100, 100, 0.2)',\n borderRadius: 3\n },\n kbd: {\n margin: '0 0.2em',\n paddingInline: '0.4em',\n paddingBlock: '0.15em 0.1em',\n fontSize: '90%',\n fontFamily: token.fontFamilyCode,\n background: 'rgba(150, 150, 150, 0.06)',\n border: '1px solid rgba(100, 100, 100, 0.2)',\n borderBottomWidth: 2,\n borderRadius: 3\n },\n mark: {\n padding: 0,\n // FIXME hardcode in v4\n backgroundColor: gold[2]\n },\n 'u, ins': {\n textDecoration: 'underline',\n textDecorationSkipInk: 'auto'\n },\n 's, del': {\n textDecoration: 'line-through'\n },\n strong: {\n fontWeight: 600\n },\n // list\n 'ul, ol': {\n marginInline: 0,\n marginBlock: '0 1em',\n padding: 0,\n li: {\n marginInline: '20px 0',\n marginBlock: 0,\n paddingInline: '4px 0',\n paddingBlock: 0\n }\n },\n ul: {\n listStyleType: 'circle',\n ul: {\n listStyleType: 'disc'\n }\n },\n ol: {\n listStyleType: 'decimal'\n },\n // pre & block\n 'pre, blockquote': {\n margin: '1em 0'\n },\n pre: {\n padding: '0.4em 0.6em',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word',\n background: 'rgba(150, 150, 150, 0.1)',\n border: '1px solid rgba(100, 100, 100, 0.2)',\n borderRadius: 3,\n fontFamily: token.fontFamilyCode,\n // Compatible for marked\n code: {\n display: 'inline',\n margin: 0,\n padding: 0,\n fontSize: 'inherit',\n fontFamily: 'inherit',\n background: 'transparent',\n border: 0\n }\n },\n blockquote: {\n paddingInline: '0.6em 0',\n paddingBlock: 0,\n borderInlineStart: '4px solid rgba(100, 100, 100, 0.2)',\n opacity: 0.85\n }\n});\nexport const getEditableStyles = token => {\n const {\n componentCls,\n paddingSM\n } = token;\n const inputShift = paddingSM;\n return {\n '&-edit-content': {\n position: 'relative',\n 'div&': {\n insetInlineStart: token.calc(token.paddingSM).mul(-1).equal(),\n marginTop: token.calc(inputShift).mul(-1).equal(),\n marginBottom: `calc(1em - ${unit(inputShift)})`\n },\n [`${componentCls}-edit-content-confirm`]: {\n position: 'absolute',\n insetInlineEnd: token.calc(token.marginXS).add(2).equal(),\n insetBlockEnd: token.marginXS,\n color: token.colorTextDescription,\n // default style\n fontWeight: 'normal',\n fontSize: token.fontSize,\n fontStyle: 'normal',\n pointerEvents: 'none'\n },\n textarea: {\n margin: '0!important',\n // Fix Editable Textarea flash in Firefox\n MozTransition: 'none',\n height: '1em'\n }\n }\n };\n};\nexport const getCopyableStyles = token => ({\n [`${token.componentCls}-copy-success`]: {\n [`\n &,\n &:hover,\n &:focus`]: {\n color: token.colorSuccess\n }\n },\n [`${token.componentCls}-copy-icon-only`]: {\n marginInlineStart: 0\n }\n});\nexport const getEllipsisStyles = () => ({\n [`\n a&-ellipsis,\n span&-ellipsis\n `]: {\n display: 'inline-block',\n maxWidth: '100%'\n },\n '&-ellipsis-single-line': {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n // https://blog.csdn.net/iefreer/article/details/50421025\n 'a&, span&': {\n verticalAlign: 'bottom'\n },\n '> code': {\n paddingBlock: 0,\n maxWidth: 'calc(100% - 1.2em)',\n display: 'inline-block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n verticalAlign: 'bottom',\n // https://github.com/ant-design/ant-design/issues/45953\n boxSizing: 'content-box'\n }\n },\n '&-ellipsis-multiple-line': {\n display: '-webkit-box',\n overflow: 'hidden',\n WebkitLineClamp: 3,\n WebkitBoxOrient: 'vertical'\n }\n});","import { operationUnit } from '../../style';\nimport { genStyleHooks } from '../../theme/internal';\nimport { getCopyableStyles, getEditableStyles, getEllipsisStyles, getLinkStyles, getResetStyles, getTitleStyles } from './mixins';\nconst genTypographyStyle = token => {\n const {\n componentCls,\n titleMarginTop\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({\n color: token.colorText,\n wordBreak: 'break-word',\n lineHeight: token.lineHeight,\n [`&${componentCls}-secondary`]: {\n color: token.colorTextDescription\n },\n [`&${componentCls}-success`]: {\n color: token.colorSuccess\n },\n [`&${componentCls}-warning`]: {\n color: token.colorWarning\n },\n [`&${componentCls}-danger`]: {\n color: token.colorError,\n 'a&:active, a&:focus': {\n color: token.colorErrorActive\n },\n 'a&:hover': {\n color: token.colorErrorHover\n }\n },\n [`&${componentCls}-disabled`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed',\n userSelect: 'none'\n },\n [`\n div&,\n p\n `]: {\n marginBottom: '1em'\n }\n }, getTitleStyles(token)), {\n [`\n & + h1${componentCls},\n & + h2${componentCls},\n & + h3${componentCls},\n & + h4${componentCls},\n & + h5${componentCls}\n `]: {\n marginTop: titleMarginTop\n },\n [`\n div,\n ul,\n li,\n p,\n h1,\n h2,\n h3,\n h4,\n h5`]: {\n [`\n + h1,\n + h2,\n + h3,\n + h4,\n + h5\n `]: {\n marginTop: titleMarginTop\n }\n }\n }), getResetStyles(token)), getLinkStyles(token)), {\n // Operation\n [`\n ${componentCls}-expand,\n ${componentCls}-collapse,\n ${componentCls}-edit,\n ${componentCls}-copy\n `]: Object.assign(Object.assign({}, operationUnit(token)), {\n marginInlineStart: token.marginXXS\n })\n }), getEditableStyles(token)), getCopyableStyles(token)), getEllipsisStyles()), {\n '&-rtl': {\n direction: 'rtl'\n }\n })\n };\n};\nexport const prepareComponentToken = () => ({\n titleMarginTop: '1.2em',\n titleMarginBottom: '0.5em'\n});\n// ============================== Export ==============================\nexport default genStyleHooks('Typography', token => [genTypographyStyle(token)], prepareComponentToken);","\"use client\";\n\nimport * as React from 'react';\nimport EnterOutlined from \"@ant-design/icons/es/icons/EnterOutlined\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport { cloneElement } from '../_util/reactNode';\nimport TextArea from '../input/TextArea';\nimport useStyle from './style';\nconst Editable = props => {\n const {\n prefixCls,\n 'aria-label': ariaLabel,\n className,\n style,\n direction,\n maxLength,\n autoSize = true,\n value,\n onSave,\n onCancel,\n onEnd,\n component,\n enterIcon = /*#__PURE__*/React.createElement(EnterOutlined, null)\n } = props;\n const ref = React.useRef(null);\n const inComposition = React.useRef(false);\n const lastKeyCode = React.useRef();\n const [current, setCurrent] = React.useState(value);\n React.useEffect(() => {\n setCurrent(value);\n }, [value]);\n React.useEffect(() => {\n var _a;\n if ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea) {\n const {\n textArea\n } = ref.current.resizableTextArea;\n textArea.focus();\n const {\n length\n } = textArea.value;\n textArea.setSelectionRange(length, length);\n }\n }, []);\n const onChange = _ref => {\n let {\n target\n } = _ref;\n setCurrent(target.value.replace(/[\\n\\r]/g, ''));\n };\n const onCompositionStart = () => {\n inComposition.current = true;\n };\n const onCompositionEnd = () => {\n inComposition.current = false;\n };\n const onKeyDown = _ref2 => {\n let {\n keyCode\n } = _ref2;\n // We don't record keyCode when IME is using\n if (inComposition.current) return;\n lastKeyCode.current = keyCode;\n };\n const confirmChange = () => {\n onSave(current.trim());\n };\n const onKeyUp = _ref3 => {\n let {\n keyCode,\n ctrlKey,\n altKey,\n metaKey,\n shiftKey\n } = _ref3;\n // Check if it's a real key\n if (lastKeyCode.current === keyCode && !inComposition.current && !ctrlKey && !altKey && !metaKey && !shiftKey) {\n if (keyCode === KeyCode.ENTER) {\n confirmChange();\n onEnd === null || onEnd === void 0 ? void 0 : onEnd();\n } else if (keyCode === KeyCode.ESC) {\n onCancel();\n }\n }\n };\n const onBlur = () => {\n confirmChange();\n };\n const textClassName = component ? `${prefixCls}-${component}` : '';\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const textAreaClassName = classNames(prefixCls, `${prefixCls}-edit-content`, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, textClassName, hashId, cssVarCls);\n return wrapCSSVar( /*#__PURE__*/React.createElement(\"div\", {\n className: textAreaClassName,\n style: style\n }, /*#__PURE__*/React.createElement(TextArea, {\n ref: ref,\n maxLength: maxLength,\n value: current,\n onChange: onChange,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n onCompositionStart: onCompositionStart,\n onCompositionEnd: onCompositionEnd,\n onBlur: onBlur,\n \"aria-label\": ariaLabel,\n rows: 1,\n autoSize: autoSize\n }), enterIcon !== null ? cloneElement(enterIcon, {\n className: `${prefixCls}-edit-content-confirm`\n }) : null));\n};\nexport default Editable;","var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport * as React from 'react';\nimport copy from 'copy-to-clipboard';\nimport { useEvent } from 'rc-util';\nconst useCopyClick = _ref => {\n let {\n copyConfig,\n children\n } = _ref;\n const [copied, setCopied] = React.useState(false);\n const [copyLoading, setCopyLoading] = React.useState(false);\n const copyIdRef = React.useRef(null);\n const cleanCopyId = () => {\n if (copyIdRef.current) {\n clearTimeout(copyIdRef.current);\n }\n };\n const copyOptions = {};\n if (copyConfig.format) {\n copyOptions.format = copyConfig.format;\n }\n React.useEffect(() => cleanCopyId, []);\n // Keep copy action up to date\n const onClick = useEvent(e => __awaiter(void 0, void 0, void 0, function* () {\n var _a;\n e === null || e === void 0 ? void 0 : e.preventDefault();\n e === null || e === void 0 ? void 0 : e.stopPropagation();\n setCopyLoading(true);\n try {\n const text = typeof copyConfig.text === 'function' ? yield copyConfig.text() : copyConfig.text;\n copy(text || String(children) || '', copyOptions);\n setCopyLoading(false);\n setCopied(true);\n // Trigger tips update\n cleanCopyId();\n copyIdRef.current = setTimeout(() => {\n setCopied(false);\n }, 3000);\n (_a = copyConfig.onCopy) === null || _a === void 0 ? void 0 : _a.call(copyConfig, e);\n } catch (error) {\n setCopyLoading(false);\n throw error;\n }\n }));\n return {\n copied,\n copyLoading,\n onClick\n };\n};\nexport default useCopyClick;","import * as React from 'react';\nexport default function useMergedConfig(propConfig, templateConfig) {\n return React.useMemo(() => {\n const support = !!propConfig;\n return [support, Object.assign(Object.assign({}, templateConfig), support && typeof propConfig === 'object' ? propConfig : null)];\n }, [propConfig]);\n}","import { useEffect, useRef } from 'react';\nconst usePrevious = value => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\nexport default usePrevious;","import * as React from 'react';\n/** Similar with `useEffect` but only trigger after mounted */\nconst useUpdatedEffect = (callback, conditions) => {\n const mountRef = React.useRef(false);\n React.useEffect(() => {\n if (mountRef.current) {\n callback();\n } else {\n mountRef.current = true;\n }\n }, conditions);\n};\nexport default useUpdatedEffect;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nconst Typography = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n component: Component = 'article',\n className,\n rootClassName,\n setContentRef,\n children,\n direction: typographyDirection,\n style\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"component\", \"className\", \"rootClassName\", \"setContentRef\", \"children\", \"direction\", \"style\"]);\n const {\n getPrefixCls,\n direction: contextDirection,\n typography\n } = React.useContext(ConfigContext);\n const direction = typographyDirection !== null && typographyDirection !== void 0 ? typographyDirection : contextDirection;\n let mergedRef = ref;\n if (setContentRef) {\n mergedRef = composeRef(ref, setContentRef);\n }\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Typography');\n warning.deprecated(!setContentRef, 'setContentRef', 'ref');\n }\n const prefixCls = getPrefixCls('typography', customizePrefixCls);\n // Style\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const componentClassName = classNames(prefixCls, typography === null || typography === void 0 ? void 0 : typography.className, {\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, rootClassName, hashId, cssVarCls);\n const mergedStyle = Object.assign(Object.assign({}, typography === null || typography === void 0 ? void 0 : typography.style), style);\n return wrapCSSVar(\n /*#__PURE__*/\n // @ts-expect-error: Expression produces a union type that is too complex to represent.\n React.createElement(Component, Object.assign({\n className: componentClassName,\n style: mergedStyle,\n ref: mergedRef\n }, restProps), children));\n});\nif (process.env.NODE_ENV !== 'production') {\n Typography.displayName = 'Typography';\n}\n// es default export should use const instead of let\nexport default Typography;","export function toList(val) {\n if (val === false) {\n return [false, false];\n }\n return Array.isArray(val) ? val : [val];\n}\nexport function getNode(dom, defaultNode, needDom) {\n if (dom === true || dom === undefined) {\n return defaultNode;\n }\n return dom || needDom && defaultNode;\n}","\"use client\";\n\nimport * as React from 'react';\nimport CheckOutlined from \"@ant-design/icons/es/icons/CheckOutlined\";\nimport CopyOutlined from \"@ant-design/icons/es/icons/CopyOutlined\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport classNames from 'classnames';\nimport TransButton from '../../_util/transButton';\nimport Tooltip from '../../tooltip';\nimport { getNode, toList } from './util';\nconst CopyBtn = props => {\n const {\n prefixCls,\n copied,\n locale,\n iconOnly,\n tooltips,\n icon,\n loading: btnLoading,\n tabIndex,\n onCopy\n } = props;\n const tooltipNodes = toList(tooltips);\n const iconNodes = toList(icon);\n const {\n copied: copiedText,\n copy: copyText\n } = locale !== null && locale !== void 0 ? locale : {};\n const copyTitle = copied ? getNode(tooltipNodes[1], copiedText) : getNode(tooltipNodes[0], copyText);\n const systemStr = copied ? copiedText : copyText;\n const ariaLabel = typeof copyTitle === 'string' ? copyTitle : systemStr;\n return /*#__PURE__*/React.createElement(Tooltip, {\n key: \"copy\",\n title: copyTitle\n }, /*#__PURE__*/React.createElement(TransButton, {\n className: classNames(`${prefixCls}-copy`, {\n [`${prefixCls}-copy-success`]: copied,\n [`${prefixCls}-copy-icon-only`]: iconOnly\n }),\n onClick: onCopy,\n \"aria-label\": ariaLabel,\n tabIndex: tabIndex\n }, copied ? getNode(iconNodes[1], /*#__PURE__*/React.createElement(CheckOutlined, null), true) : getNode(iconNodes[0], btnLoading ? /*#__PURE__*/React.createElement(LoadingOutlined, null) : /*#__PURE__*/React.createElement(CopyOutlined, null), true)));\n};\nexport default CopyBtn;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nconst MeasureText = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n style,\n children\n } = _ref;\n const spanRef = React.useRef(null);\n React.useImperativeHandle(ref, () => ({\n isExceed: () => {\n const span = spanRef.current;\n return span.scrollHeight > span.clientHeight;\n },\n getHeight: () => spanRef.current.clientHeight\n }));\n return /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": true,\n ref: spanRef,\n style: Object.assign({\n position: 'fixed',\n display: 'block',\n left: 0,\n top: 0,\n pointerEvents: 'none',\n backgroundColor: 'rgba(255, 0, 0, 0.65)'\n }, style)\n }, children);\n});\nfunction cuttable(node) {\n const type = typeof node;\n return type === 'string' || type === 'number';\n}\nfunction getNodesLen(nodeList) {\n let totalLen = 0;\n nodeList.forEach(node => {\n if (cuttable(node)) {\n totalLen += String(node).length;\n } else {\n totalLen += 1;\n }\n });\n return totalLen;\n}\nfunction sliceNodes(nodeList, len) {\n let currLen = 0;\n const currentNodeList = [];\n for (let i = 0; i < nodeList.length; i += 1) {\n // Match to return\n if (currLen === len) {\n return currentNodeList;\n }\n const node = nodeList[i];\n const canCut = cuttable(node);\n const nodeLen = canCut ? String(node).length : 1;\n const nextLen = currLen + nodeLen;\n // Exceed but current not which means we need cut this\n // This will not happen on validate ReactElement\n if (nextLen > len) {\n const restLen = len - currLen;\n currentNodeList.push(String(node).slice(0, restLen));\n return currentNodeList;\n }\n currentNodeList.push(node);\n currLen = nextLen;\n }\n return nodeList;\n}\n// Measure for the `text` is exceed the `rows` or not\nconst STATUS_MEASURE_NONE = 0;\nconst STATUS_MEASURE_PREPARE = 1;\nconst STATUS_MEASURE_START = 2;\nconst STATUS_MEASURE_NEED_ELLIPSIS = 3;\nconst STATUS_MEASURE_NO_NEED_ELLIPSIS = 4;\nconst lineClipStyle = {\n display: '-webkit-box',\n overflow: 'hidden',\n WebkitBoxOrient: 'vertical'\n};\nexport default function EllipsisMeasure(props) {\n const {\n enableMeasure,\n width,\n text,\n children,\n rows,\n expanded,\n miscDeps,\n onEllipsis\n } = props;\n const nodeList = React.useMemo(() => toArray(text), [text]);\n const nodeLen = React.useMemo(() => getNodesLen(nodeList), [text]);\n // ========================= Full Content =========================\n // Used for measure only, which means it's always render as no need ellipsis\n const fullContent = React.useMemo(() => children(nodeList, false), [text]);\n // ========================= Cut Content ==========================\n const [ellipsisCutIndex, setEllipsisCutIndex] = React.useState(null);\n const cutMidRef = React.useRef(null);\n // ========================= NeedEllipsis =========================\n const measureWhiteSpaceRef = React.useRef(null);\n const needEllipsisRef = React.useRef(null);\n // Measure for `rows-1` height, to avoid operation exceed the line height\n const descRowsEllipsisRef = React.useRef(null);\n const symbolRowEllipsisRef = React.useRef(null);\n const [canEllipsis, setCanEllipsis] = React.useState(false);\n const [needEllipsis, setNeedEllipsis] = React.useState(STATUS_MEASURE_NONE);\n const [ellipsisHeight, setEllipsisHeight] = React.useState(0);\n const [parentWhiteSpace, setParentWhiteSpace] = React.useState(null);\n // Trigger start measure\n useLayoutEffect(() => {\n if (enableMeasure && width && nodeLen) {\n setNeedEllipsis(STATUS_MEASURE_PREPARE);\n } else {\n setNeedEllipsis(STATUS_MEASURE_NONE);\n }\n }, [width, text, rows, enableMeasure, nodeList]);\n // Measure process\n useLayoutEffect(() => {\n var _a, _b, _c, _d;\n if (needEllipsis === STATUS_MEASURE_PREPARE) {\n setNeedEllipsis(STATUS_MEASURE_START);\n // Parent ref `white-space`\n const nextWhiteSpace = measureWhiteSpaceRef.current && getComputedStyle(measureWhiteSpaceRef.current).whiteSpace;\n setParentWhiteSpace(nextWhiteSpace);\n } else if (needEllipsis === STATUS_MEASURE_START) {\n const isOverflow = !!((_a = needEllipsisRef.current) === null || _a === void 0 ? void 0 : _a.isExceed());\n setNeedEllipsis(isOverflow ? STATUS_MEASURE_NEED_ELLIPSIS : STATUS_MEASURE_NO_NEED_ELLIPSIS);\n setEllipsisCutIndex(isOverflow ? [0, nodeLen] : null);\n setCanEllipsis(isOverflow);\n // Get the basic height of ellipsis rows\n const baseRowsEllipsisHeight = ((_b = needEllipsisRef.current) === null || _b === void 0 ? void 0 : _b.getHeight()) || 0;\n // Get the height of `rows - 1` + symbol height\n const descRowsEllipsisHeight = rows === 1 ? 0 : ((_c = descRowsEllipsisRef.current) === null || _c === void 0 ? void 0 : _c.getHeight()) || 0;\n const symbolRowEllipsisHeight = ((_d = symbolRowEllipsisRef.current) === null || _d === void 0 ? void 0 : _d.getHeight()) || 0;\n const rowsWithEllipsisHeight = descRowsEllipsisHeight + symbolRowEllipsisHeight;\n const maxRowsHeight = Math.max(baseRowsEllipsisHeight, rowsWithEllipsisHeight);\n setEllipsisHeight(maxRowsHeight + 1);\n onEllipsis(isOverflow);\n }\n }, [needEllipsis]);\n // ========================= Cut Measure ==========================\n const cutMidIndex = ellipsisCutIndex ? Math.ceil((ellipsisCutIndex[0] + ellipsisCutIndex[1]) / 2) : 0;\n useLayoutEffect(() => {\n var _a;\n const [minIndex, maxIndex] = ellipsisCutIndex || [0, 0];\n if (minIndex !== maxIndex) {\n const midHeight = ((_a = cutMidRef.current) === null || _a === void 0 ? void 0 : _a.getHeight()) || 0;\n const isOverflow = midHeight > ellipsisHeight;\n let targetMidIndex = cutMidIndex;\n if (maxIndex - minIndex === 1) {\n targetMidIndex = isOverflow ? minIndex : maxIndex;\n }\n if (isOverflow) {\n setEllipsisCutIndex([minIndex, targetMidIndex]);\n } else {\n setEllipsisCutIndex([targetMidIndex, maxIndex]);\n }\n }\n }, [ellipsisCutIndex, cutMidIndex]);\n // ========================= Text Content =========================\n const finalContent = React.useMemo(() => {\n if (needEllipsis !== STATUS_MEASURE_NEED_ELLIPSIS || !ellipsisCutIndex || ellipsisCutIndex[0] !== ellipsisCutIndex[1]) {\n const content = children(nodeList, false);\n // Limit the max line count to avoid scrollbar blink\n // https://github.com/ant-design/ant-design/issues/42958\n if (needEllipsis !== STATUS_MEASURE_NO_NEED_ELLIPSIS && needEllipsis !== STATUS_MEASURE_NONE) {\n return /*#__PURE__*/React.createElement(\"span\", {\n style: Object.assign(Object.assign({}, lineClipStyle), {\n WebkitLineClamp: rows\n })\n }, content);\n }\n return content;\n }\n return children(expanded ? nodeList : sliceNodes(nodeList, ellipsisCutIndex[0]), canEllipsis);\n }, [expanded, needEllipsis, ellipsisCutIndex, nodeList].concat(_toConsumableArray(miscDeps)));\n // ============================ Render ============================\n const measureStyle = {\n width,\n margin: 0,\n padding: 0,\n whiteSpace: parentWhiteSpace === 'nowrap' ? 'normal' : 'inherit'\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, finalContent, needEllipsis === STATUS_MEASURE_START && ( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MeasureText, {\n style: Object.assign(Object.assign(Object.assign({}, measureStyle), lineClipStyle), {\n WebkitLineClamp: rows\n }),\n ref: needEllipsisRef\n }, fullContent), /*#__PURE__*/React.createElement(MeasureText, {\n style: Object.assign(Object.assign(Object.assign({}, measureStyle), lineClipStyle), {\n WebkitLineClamp: rows - 1\n }),\n ref: descRowsEllipsisRef\n }, fullContent), /*#__PURE__*/React.createElement(MeasureText, {\n style: Object.assign(Object.assign(Object.assign({}, measureStyle), lineClipStyle), {\n WebkitLineClamp: 1\n }),\n ref: symbolRowEllipsisRef\n }, children([], true)))), needEllipsis === STATUS_MEASURE_NEED_ELLIPSIS && ellipsisCutIndex && ellipsisCutIndex[0] !== ellipsisCutIndex[1] && ( /*#__PURE__*/React.createElement(MeasureText, {\n style: Object.assign(Object.assign({}, measureStyle), {\n top: 400\n }),\n ref: cutMidRef\n }, children(sliceNodes(nodeList, cutMidIndex), true))), needEllipsis === STATUS_MEASURE_PREPARE && ( /*#__PURE__*/React.createElement(\"span\", {\n style: {\n whiteSpace: 'inherit'\n },\n ref: measureWhiteSpaceRef\n })));\n}","\"use client\";\n\nimport * as React from 'react';\nimport Tooltip from '../../tooltip';\nconst EllipsisTooltip = _ref => {\n let {\n enableEllipsis,\n isEllipsis,\n children,\n tooltipProps\n } = _ref;\n if (!(tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.title) || !enableEllipsis) {\n return children;\n }\n return /*#__PURE__*/React.createElement(Tooltip, Object.assign({\n open: isEllipsis ? undefined : false\n }, tooltipProps), children);\n};\nif (process.env.NODE_ENV !== 'production') {\n EllipsisTooltip.displayName = 'EllipsisTooltip';\n}\nexport default EllipsisTooltip;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport EditOutlined from \"@ant-design/icons/es/icons/EditOutlined\";\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useIsomorphicLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport { isStyleSupport } from '../../_util/styleChecker';\nimport TransButton from '../../_util/transButton';\nimport { ConfigContext } from '../../config-provider';\nimport useLocale from '../../locale/useLocale';\nimport Tooltip from '../../tooltip';\nimport Editable from '../Editable';\nimport useCopyClick from '../hooks/useCopyClick';\nimport useMergedConfig from '../hooks/useMergedConfig';\nimport usePrevious from '../hooks/usePrevious';\nimport useUpdatedEffect from '../hooks/useUpdatedEffect';\nimport Typography from '../Typography';\nimport CopyBtn from './CopyBtn';\nimport Ellipsis from './Ellipsis';\nimport EllipsisTooltip from './EllipsisTooltip';\nfunction wrapperDecorations(_ref, content) {\n let {\n mark,\n code,\n underline,\n delete: del,\n strong,\n keyboard,\n italic\n } = _ref;\n let currentContent = content;\n function wrap(tag, needed) {\n if (!needed) {\n return;\n }\n currentContent = /*#__PURE__*/React.createElement(tag, {}, currentContent);\n }\n wrap('strong', strong);\n wrap('u', underline);\n wrap('del', del);\n wrap('code', code);\n wrap('mark', mark);\n wrap('kbd', keyboard);\n wrap('i', italic);\n return currentContent;\n}\nconst ELLIPSIS_STR = '...';\nconst Base = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _a, _b, _c;\n const {\n prefixCls: customizePrefixCls,\n className,\n style,\n type,\n disabled,\n children,\n ellipsis,\n editable,\n copyable,\n component,\n title\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"style\", \"type\", \"disabled\", \"children\", \"ellipsis\", \"editable\", \"copyable\", \"component\", \"title\"]);\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const [textLocale] = useLocale('Text');\n const typographyRef = React.useRef(null);\n const editIconRef = React.useRef(null);\n // ============================ MISC ============================\n const prefixCls = getPrefixCls('typography', customizePrefixCls);\n const textProps = omit(restProps, ['mark', 'code', 'delete', 'underline', 'strong', 'keyboard', 'italic']);\n // ========================== Editable ==========================\n const [enableEdit, editConfig] = useMergedConfig(editable);\n const [editing, setEditing] = useMergedState(false, {\n value: editConfig.editing\n });\n const {\n triggerType = ['icon']\n } = editConfig;\n const triggerEdit = edit => {\n var _a;\n if (edit) {\n (_a = editConfig.onStart) === null || _a === void 0 ? void 0 : _a.call(editConfig);\n }\n setEditing(edit);\n };\n // Focus edit icon when back\n const prevEditing = usePrevious(editing);\n useUpdatedEffect(() => {\n var _a;\n if (!editing && prevEditing) {\n (_a = editIconRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n }\n }, [editing]);\n const onEditClick = e => {\n e === null || e === void 0 ? void 0 : e.preventDefault();\n triggerEdit(true);\n };\n const onEditChange = value => {\n var _a;\n (_a = editConfig.onChange) === null || _a === void 0 ? void 0 : _a.call(editConfig, value);\n triggerEdit(false);\n };\n const onEditCancel = () => {\n var _a;\n (_a = editConfig.onCancel) === null || _a === void 0 ? void 0 : _a.call(editConfig);\n triggerEdit(false);\n };\n // ========================== Copyable ==========================\n const [enableCopy, copyConfig] = useMergedConfig(copyable);\n const {\n copied,\n copyLoading,\n onClick: onCopyClick\n } = useCopyClick({\n copyConfig,\n children\n });\n // ========================== Ellipsis ==========================\n const [isLineClampSupport, setIsLineClampSupport] = React.useState(false);\n const [isTextOverflowSupport, setIsTextOverflowSupport] = React.useState(false);\n const [isJsEllipsis, setIsJsEllipsis] = React.useState(false);\n const [isNativeEllipsis, setIsNativeEllipsis] = React.useState(false);\n const [isNativeVisible, setIsNativeVisible] = React.useState(true);\n const [enableEllipsis, ellipsisConfig] = useMergedConfig(ellipsis, {\n expandable: false,\n symbol: isExpanded => isExpanded ? textLocale === null || textLocale === void 0 ? void 0 : textLocale.collapse : textLocale === null || textLocale === void 0 ? void 0 : textLocale.expand\n });\n const [expanded, setExpanded] = useMergedState(ellipsisConfig.defaultExpanded || false, {\n value: ellipsisConfig.expanded\n });\n const mergedEnableEllipsis = enableEllipsis && (!expanded || ellipsisConfig.expandable === 'collapsible');\n // Shared prop to reduce bundle size\n const {\n rows = 1\n } = ellipsisConfig;\n const needMeasureEllipsis = React.useMemo(() =>\n // Disable ellipsis\n mergedEnableEllipsis && (\n // Provide suffix\n ellipsisConfig.suffix !== undefined || ellipsisConfig.onEllipsis ||\n // Can't use css ellipsis since we need to provide the place for button\n ellipsisConfig.expandable || enableEdit || enableCopy), [mergedEnableEllipsis, ellipsisConfig, enableEdit, enableCopy]);\n useIsomorphicLayoutEffect(() => {\n if (enableEllipsis && !needMeasureEllipsis) {\n setIsLineClampSupport(isStyleSupport('webkitLineClamp'));\n setIsTextOverflowSupport(isStyleSupport('textOverflow'));\n }\n }, [needMeasureEllipsis, enableEllipsis]);\n const [cssEllipsis, setCssEllipsis] = React.useState(mergedEnableEllipsis);\n const canUseCssEllipsis = React.useMemo(() => {\n if (needMeasureEllipsis) {\n return false;\n }\n if (rows === 1) {\n return isTextOverflowSupport;\n }\n return isLineClampSupport;\n }, [needMeasureEllipsis, isTextOverflowSupport, isLineClampSupport]);\n // We use effect to change from css ellipsis to js ellipsis.\n // To make SSR still can see the ellipsis.\n useIsomorphicLayoutEffect(() => {\n setCssEllipsis(canUseCssEllipsis && mergedEnableEllipsis);\n }, [canUseCssEllipsis, mergedEnableEllipsis]);\n const isMergedEllipsis = mergedEnableEllipsis && (cssEllipsis ? isNativeEllipsis : isJsEllipsis);\n const cssTextOverflow = mergedEnableEllipsis && rows === 1 && cssEllipsis;\n const cssLineClamp = mergedEnableEllipsis && rows > 1 && cssEllipsis;\n // >>>>> Expand\n const onExpandClick = (e, info) => {\n var _a;\n setExpanded(info.expanded);\n (_a = ellipsisConfig.onExpand) === null || _a === void 0 ? void 0 : _a.call(ellipsisConfig, e, info);\n };\n const [ellipsisWidth, setEllipsisWidth] = React.useState(0);\n const onResize = _ref2 => {\n let {\n offsetWidth\n } = _ref2;\n setEllipsisWidth(offsetWidth);\n };\n // >>>>> JS Ellipsis\n const onJsEllipsis = jsEllipsis => {\n var _a;\n setIsJsEllipsis(jsEllipsis);\n // Trigger if changed\n if (isJsEllipsis !== jsEllipsis) {\n (_a = ellipsisConfig.onEllipsis) === null || _a === void 0 ? void 0 : _a.call(ellipsisConfig, jsEllipsis);\n }\n };\n // >>>>> Native ellipsis\n React.useEffect(() => {\n const textEle = typographyRef.current;\n if (enableEllipsis && cssEllipsis && textEle) {\n const currentEllipsis = cssLineClamp ? textEle.offsetHeight < textEle.scrollHeight : textEle.offsetWidth < textEle.scrollWidth;\n if (isNativeEllipsis !== currentEllipsis) {\n setIsNativeEllipsis(currentEllipsis);\n }\n }\n }, [enableEllipsis, cssEllipsis, children, cssLineClamp, isNativeVisible, ellipsisWidth]);\n // https://github.com/ant-design/ant-design/issues/36786\n // Use IntersectionObserver to check if element is invisible\n React.useEffect(() => {\n const textEle = typographyRef.current;\n if (typeof IntersectionObserver === 'undefined' || !textEle || !cssEllipsis || !mergedEnableEllipsis) {\n return;\n }\n /* eslint-disable-next-line compat/compat */\n const observer = new IntersectionObserver(() => {\n setIsNativeVisible(!!textEle.offsetParent);\n });\n observer.observe(textEle);\n return () => {\n observer.disconnect();\n };\n }, [cssEllipsis, mergedEnableEllipsis]);\n // ========================== Tooltip ===========================\n let tooltipProps = {};\n if (ellipsisConfig.tooltip === true) {\n tooltipProps = {\n title: (_a = editConfig.text) !== null && _a !== void 0 ? _a : children\n };\n } else if ( /*#__PURE__*/React.isValidElement(ellipsisConfig.tooltip)) {\n tooltipProps = {\n title: ellipsisConfig.tooltip\n };\n } else if (typeof ellipsisConfig.tooltip === 'object') {\n tooltipProps = Object.assign({\n title: (_b = editConfig.text) !== null && _b !== void 0 ? _b : children\n }, ellipsisConfig.tooltip);\n } else {\n tooltipProps = {\n title: ellipsisConfig.tooltip\n };\n }\n const topAriaLabel = React.useMemo(() => {\n const isValid = val => ['string', 'number'].includes(typeof val);\n if (!enableEllipsis || cssEllipsis) {\n return undefined;\n }\n if (isValid(editConfig.text)) {\n return editConfig.text;\n }\n if (isValid(children)) {\n return children;\n }\n if (isValid(title)) {\n return title;\n }\n if (isValid(tooltipProps.title)) {\n return tooltipProps.title;\n }\n return undefined;\n }, [enableEllipsis, cssEllipsis, title, tooltipProps.title, isMergedEllipsis]);\n // =========================== Render ===========================\n // >>>>>>>>>>> Editing input\n if (editing) {\n return /*#__PURE__*/React.createElement(Editable, {\n value: (_c = editConfig.text) !== null && _c !== void 0 ? _c : typeof children === 'string' ? children : '',\n onSave: onEditChange,\n onCancel: onEditCancel,\n onEnd: editConfig.onEnd,\n prefixCls: prefixCls,\n className: className,\n style: style,\n direction: direction,\n component: component,\n maxLength: editConfig.maxLength,\n autoSize: editConfig.autoSize,\n enterIcon: editConfig.enterIcon\n });\n }\n // >>>>>>>>>>> Typography\n // Expand\n const renderExpand = () => {\n const {\n expandable,\n symbol\n } = ellipsisConfig;\n if (!expandable) {\n return null;\n }\n if (expanded && expandable !== 'collapsible') {\n return null;\n }\n return /*#__PURE__*/React.createElement(TransButton, {\n key: \"expand\",\n className: `${prefixCls}-${expanded ? 'collapse' : 'expand'}`,\n onClick: e => onExpandClick(e, {\n expanded: !expanded\n }),\n \"aria-label\": expanded ? textLocale.collapse : textLocale === null || textLocale === void 0 ? void 0 : textLocale.expand\n }, typeof symbol === 'function' ? symbol(expanded) : symbol);\n };\n // Edit\n const renderEdit = () => {\n if (!enableEdit) {\n return;\n }\n const {\n icon,\n tooltip,\n tabIndex\n } = editConfig;\n const editTitle = toArray(tooltip)[0] || (textLocale === null || textLocale === void 0 ? void 0 : textLocale.edit);\n const ariaLabel = typeof editTitle === 'string' ? editTitle : '';\n return triggerType.includes('icon') ? ( /*#__PURE__*/React.createElement(Tooltip, {\n key: \"edit\",\n title: tooltip === false ? '' : editTitle\n }, /*#__PURE__*/React.createElement(TransButton, {\n ref: editIconRef,\n className: `${prefixCls}-edit`,\n onClick: onEditClick,\n \"aria-label\": ariaLabel,\n tabIndex: tabIndex\n }, icon || /*#__PURE__*/React.createElement(EditOutlined, {\n role: \"button\"\n })))) : null;\n };\n // Copy\n const renderCopy = () => {\n if (!enableCopy) {\n return null;\n }\n return /*#__PURE__*/React.createElement(CopyBtn, Object.assign({\n key: \"copy\"\n }, copyConfig, {\n prefixCls: prefixCls,\n copied: copied,\n locale: textLocale,\n onCopy: onCopyClick,\n loading: copyLoading,\n iconOnly: children === null || children === undefined\n }));\n };\n const renderOperations = canEllipsis => [\n // (renderExpanded || ellipsisConfig.collapsible) && renderExpand(),\n canEllipsis && renderExpand(), renderEdit(), renderCopy()];\n const renderEllipsis = canEllipsis => [canEllipsis && !expanded && ( /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": true,\n key: \"ellipsis\"\n }, ELLIPSIS_STR)), ellipsisConfig.suffix, renderOperations(canEllipsis)];\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onResize,\n disabled: !mergedEnableEllipsis\n }, resizeRef => ( /*#__PURE__*/React.createElement(EllipsisTooltip, {\n tooltipProps: tooltipProps,\n enableEllipsis: mergedEnableEllipsis,\n isEllipsis: isMergedEllipsis\n }, /*#__PURE__*/React.createElement(Typography, Object.assign({\n className: classNames({\n [`${prefixCls}-${type}`]: type,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-ellipsis`]: enableEllipsis,\n [`${prefixCls}-ellipsis-single-line`]: cssTextOverflow,\n [`${prefixCls}-ellipsis-multiple-line`]: cssLineClamp\n }, className),\n prefixCls: customizePrefixCls,\n style: Object.assign(Object.assign({}, style), {\n WebkitLineClamp: cssLineClamp ? rows : undefined\n }),\n component: component,\n ref: composeRef(resizeRef, typographyRef, ref),\n direction: direction,\n onClick: triggerType.includes('text') ? onEditClick : undefined,\n \"aria-label\": topAriaLabel === null || topAriaLabel === void 0 ? void 0 : topAriaLabel.toString(),\n title: title\n }, textProps), /*#__PURE__*/React.createElement(Ellipsis, {\n enableMeasure: mergedEnableEllipsis && !cssEllipsis,\n text: children,\n rows: rows,\n width: ellipsisWidth,\n onEllipsis: onJsEllipsis,\n expanded: expanded,\n miscDeps: [copied, expanded, copyLoading, enableEdit, enableCopy]\n }, (node, canEllipsis) => wrapperDecorations(props, /*#__PURE__*/React.createElement(React.Fragment, null, node.length > 0 && canEllipsis && !expanded && topAriaLabel ? ( /*#__PURE__*/React.createElement(\"span\", {\n key: \"show-content\",\n \"aria-hidden\": true\n }, node)) : node, renderEllipsis(canEllipsis))))))));\n});\nexport default Base;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { devUseWarning } from '../_util/warning';\nimport Base from './Base';\nconst Link = /*#__PURE__*/React.forwardRef((_a, ref) => {\n var {\n ellipsis,\n rel\n } = _a,\n restProps = __rest(_a, [\"ellipsis\", \"rel\"]);\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Typography.Link');\n process.env.NODE_ENV !== \"production\" ? warning(typeof ellipsis !== 'object', 'usage', '`ellipsis` only supports boolean value.') : void 0;\n }\n const mergedProps = Object.assign(Object.assign({}, restProps), {\n rel: rel === undefined && restProps.target === '_blank' ? 'noopener noreferrer' : rel\n });\n // @ts-expect-error: https://github.com/ant-design/ant-design/issues/26622\n delete mergedProps.navigate;\n return /*#__PURE__*/React.createElement(Base, Object.assign({}, mergedProps, {\n ref: ref,\n ellipsis: !!ellipsis,\n component: \"a\"\n }));\n});\nexport default Link;","\"use client\";\n\nimport * as React from 'react';\nimport Base from './Base';\nconst Paragraph = /*#__PURE__*/React.forwardRef((props, ref) => ( /*#__PURE__*/React.createElement(Base, Object.assign({\n ref: ref\n}, props, {\n component: \"div\"\n}))));\nexport default Paragraph;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport omit from \"rc-util/es/omit\";\nimport { devUseWarning } from '../_util/warning';\nimport Base from './Base';\nconst Text = (_a, ref) => {\n var {\n ellipsis\n } = _a,\n restProps = __rest(_a, [\"ellipsis\"]);\n const mergedEllipsis = React.useMemo(() => {\n if (ellipsis && typeof ellipsis === 'object') {\n return omit(ellipsis, ['expandable', 'rows']);\n }\n return ellipsis;\n }, [ellipsis]);\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Typography.Text');\n process.env.NODE_ENV !== \"production\" ? warning(typeof ellipsis !== 'object' || !ellipsis || !('expandable' in ellipsis) && !('rows' in ellipsis), 'usage', '`ellipsis` do not support `expandable` or `rows` props.') : void 0;\n }\n return /*#__PURE__*/React.createElement(Base, Object.assign({\n ref: ref\n }, restProps, {\n ellipsis: mergedEllipsis,\n component: \"span\"\n }));\n};\nexport default /*#__PURE__*/React.forwardRef(Text);","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { devUseWarning } from '../_util/warning';\nimport Base from './Base';\nconst TITLE_ELE_LIST = [1, 2, 3, 4, 5];\nconst Title = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n level = 1\n } = props,\n restProps = __rest(props, [\"level\"]);\n let component;\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Typography.Title');\n process.env.NODE_ENV !== \"production\" ? warning(TITLE_ELE_LIST.includes(level), 'usage', 'Title only accept `1 | 2 | 3 | 4 | 5` as `level` value. And `5` need 4.6.0+ version.') : void 0;\n }\n if (TITLE_ELE_LIST.includes(level)) {\n component = `h${level}`;\n } else {\n component = 'h1';\n }\n return /*#__PURE__*/React.createElement(Base, Object.assign({\n ref: ref\n }, restProps, {\n component: component\n }));\n});\nexport default Title;","\"use client\";\n\nimport Link from './Link';\nimport Paragraph from './Paragraph';\nimport Text from './Text';\nimport Title from './Title';\nimport OriginTypography from './Typography';\nconst Typography = OriginTypography;\nTypography.Text = Text;\nTypography.Link = Link;\nTypography.Title = Title;\nTypography.Paragraph = Paragraph;\nexport default Typography;","import React, { useEffect, useState } from 'react';\r\nimport { Table, Typography, Button, Form, Input, message, Space, Card, Segmented } from 'antd';\r\nimport { SearchOutlined } from '@ant-design/icons';\r\nimport Highlighter from 'react-highlight-words';\r\nimport { queueDropdown } from '../../assets/queueDropdown';\r\nimport { capacityDropdown } from '../../assets/capacityDropdown';\r\nimport axios from 'axios';\r\nimport 'antd/dist/reset.css';\r\nimport './Dashboard.css'; // Import the CSS file\r\nconst { TextArea } = Input;\r\n\r\nconst { Title } = Typography;\r\n\r\nconst dummyData = [\r\n {\r\n key: '1',\r\n queueName: 'HSA',\r\n phoneNumber: '+1234567890',\r\n waitTime: '00:05:32',\r\n position: '1',\r\n contacted: true,\r\n answered: false,\r\n },\r\n {\r\n key: '2',\r\n queueName: 'Red',\r\n phoneNumber: '+1987654321',\r\n waitTime: '00:02:15',\r\n position: '2',\r\n contacted: true,\r\n answered: false,\r\n },\r\n {\r\n key: '2',\r\n queueName: 'Purple',\r\n phoneNumber: '+1987654321',\r\n waitTime: '00:02:17',\r\n position: '3',\r\n contacted: false,\r\n answered: false,\r\n },\r\n {\r\n key: '2',\r\n queueName: 'Green',\r\n phoneNumber: '+1987654321',\r\n waitTime: '00:02:15',\r\n position: '4',\r\n contacted: true,\r\n answered: true,\r\n },\r\n {\r\n key: '2',\r\n queueName: 'Blue',\r\n phoneNumber: '+1787654321',\r\n waitTime: '00:02:15',\r\n position: '5',\r\n contacted: false,\r\n answered: false,\r\n },\r\n {\r\n key: '2',\r\n queueName: 'Purple',\r\n phoneNumber: '+1202654321',\r\n waitTime: '00:40:15',\r\n position: '6',\r\n contacted: true,\r\n answered: false,\r\n },\r\n {\r\n key: '2',\r\n queueName: 'IR',\r\n phoneNumber: '+1887654321',\r\n waitTime: '00:40:15',\r\n position: '7',\r\n contacted: true,\r\n answered: true,\r\n },\r\n {\r\n key: '2',\r\n queueName: 'Geen',\r\n phoneNumber: '+17041654321',\r\n waitTime: '00:40:15',\r\n position: '8',\r\n contacted: true,\r\n answered: false,\r\n },\r\n {\r\n key: '2',\r\n queueName: 'Red',\r\n phoneNumber: '+13501654321',\r\n waitTime: '00:40:15',\r\n position: '9',\r\n contacted: true,\r\n answered: true,\r\n },\r\n {\r\n key: '2',\r\n queueName: 'HSA',\r\n phoneNumber: '+12301654321',\r\n waitTime: '00:40:15',\r\n position: '10',\r\n contacted: true,\r\n answered: true,\r\n },\r\n];\r\n\r\nconst Dashboard = () => {\r\n const [data, setData] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const [searchText, setSearchText] = useState('');\r\n const [searchedColumn, setSearchedColumn] = useState('');\r\n\r\n\r\n\r\n const textArea = \"amount\";\r\n const queueArea = \"queue\";\r\n const capacityArea = \"capacityType\";\r\n const [textValue, setTextValue] = useState(\"\");\r\n const [selectedValue1, setSelectedValue1] = useState(\"General\");\r\n const [selectedOption, setSelectedOption] = useState(\"\");\r\n const [phoneValue, setPhoneValue] = useState(\"\");\r\n const [amountValue, setAmountValue] = useState(\"\");\r\n const [queueValue, setQueueValue] = useState(\"\");\r\n const [contactID, setContactID] = useState(\"\");\r\n const [routingProfile, setRoutingProfile] = useState(\"\");\r\n const [agentID, setAgentID] = useState(\"\");\r\n const [xId, setXId] = useState(\"\");\r\n const [searchMode, setSearchMode] = useState(\"contains\");\r\n const [form] = Form.useForm();\r\n const [payLoad, setpayLoad] = useState(null);\r\n const [modalIsOpen, setIsOpen] = useState(false);\r\n const [isSpanish, setIsSpanish] = useState(false);\r\n const [objValue, setObject] = useState({});\r\n const [isFirstLoad, setIsFirstLoad] = useState(false)\r\n const [isRefreshing, setIsRefreshing] = useState(false)\r\n const [progValue, setProgValue] = useState(\"select queue\");\r\n const [capacityTypeVal, setCapacityTypeVal] = useState(\"temporary\");\r\n const [programValue, setProgramValue] = useState();\r\n const [progLink, setProgLink] = useState(\"\");\r\n const [caseNumber, setCaseNumber] = useState(\"\")\r\n \r\n const [dataSource, setDataSource] = useState([{\r\n red: \"10/20\",\r\n green: \"13/15\",\r\n blue: \"2/10\",\r\n ir: \"14/20\",\r\n purple: \"20/20\",\r\n hsa: \"83/100\",\r\n lieap: \"22/30\"\r\n }])\r\n\r\n const onFinish = () => {\r\n // var newPayload = {\r\n // amount: form.getFieldValue(textArea),\r\n // queue: form.getFieldValue(queueArea),\r\n // capacityType: form.getFieldValue(capacityArea),\r\n // closeQueues: false\r\n // // agentID: agentID,\r\n // // xID: xId,\r\n // };\r\n\r\n // console.log(\"NEW PAYLOAD: \", newPayload)\r\n // if (validateAmount(amountValue) && queueValue.length) {\r\n // console.log(\"AMT AREA PAYLOAD: \", amountValue);\r\n // console.log(\"QUE Area PAYLOAD: \", queueValue);\r\n // //setpayLoad(ConvertToFormUrlEncoded(form.getFieldsValue()));\r\n // var newPayload = {\r\n // amount: form.getFieldValue(textArea),\r\n // queue: form.getFieldValue(queueArea),\r\n // capacityType: form.getFieldValue(capacityArea),\r\n // closeQueues: false\r\n // // agentID: agentID,\r\n // // xID: xId,\r\n // };\r\n // setpayLoad(newPayload);\r\n // setAmountValue(\"\")\r\n // setQueueValue(\"\")\r\n // setProgValue(\"select queue\")\r\n // setProgramValue(\"\")\r\n // setCapacityTypeVal(\"temporary\")\r\n // form.setFieldsValue({\r\n // amount: \"\",\r\n // queue: \"\",\r\n // capacityType: \"temporary\",\r\n // closeQueues: false\r\n // });\r\n // console.log(\"FORM VALUE: \", form);\r\n // console.log(\"New Payload: \", newPayload);\r\n // setIsRefreshing(true)\r\n // }\r\n };\r\n\r\n const onFinishFailed = () => {\r\n message.error(\"Please fill required fields.\");\r\n };\r\n\r\n const onClear = () => {\r\n setObject({});\r\n setAmountValue(\"\");\r\n setQueueValue(\"\")\r\n setProgLink(\"\");\r\n setProgValue(\"\");\r\n setCapacityTypeVal(\"temporary\")\r\n setSelectedOption(\"\");\r\n setIsSpanish(false);\r\n form.setFieldsValue({\r\n amount: \"\",\r\n queue: \"\",\r\n capacityType: \"temporary\",\r\n closeQueues: false\r\n });\r\n };\r\n\r\n\r\n const handleUpdate = (e) => {\r\n setAmountValue(e.target.value)\r\n var textAreaMessage = e.target.value;\r\n console.log(\"MESSAGE: \", textAreaMessage)\r\n var updatedMessage = selectedOption + \"\\n\" + textAreaMessage;\r\n console.log(updatedMessage);\r\n setIsSpanish(false);\r\n form.setFieldsValue({\r\n amount: textAreaMessage,\r\n });\r\n }\r\n\r\n\r\n function CapacityList(props) {\r\n console.log(\"PROPS CAPACITY LIST: \", props)\r\n function onDropChangeCapacity(event) {\r\n const { value } = event.target;\r\n console.log(\"ON Capacity Type CHANGE ENGAGED\");\r\n\r\n // find the program with the current selected value\r\n const type = props.type.find((c) => c.name === value);\r\n console.log(\"capacity type value: \", type.value)\r\n\r\n\r\n\r\n if (type !== undefined) {\r\n setCapacityTypeVal(type.value)\r\n // use selected program object here\r\n form.setFieldsValue({\r\n capacityType: type.value\r\n });\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {props.type.map((type) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n }\r\n\r\n\r\n\r\n function DataList(props) {\r\n console.log(\"PROPS DATA LIST: \", props)\r\n function onDropChange(event) {\r\n const { value } = event.target;\r\n console.log(\"ON DROP CHANGE ENGAGED\");\r\n\r\n // find the program with the current selected value\r\n const program = props.programs.find((c) => c.name === value);\r\n console.log(\"program value: \", program.value)\r\n\r\n\r\n\r\n if (program !== undefined) {\r\n setQueueValue(program.value)\r\n // use selected program object here\r\n setProgramValue(program.value);\r\n setProgValue(program.value);\r\n form.setFieldsValue({\r\n queue: program.value\r\n });\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {props.programs.map((program) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n }\r\n\r\n const columns = [\r\n {\r\n title: 'Red Queue',\r\n dataIndex: 'red',\r\n key: 'red',\r\n },\r\n {\r\n title: 'Green Queue',\r\n dataIndex: 'green',\r\n key: 'green',\r\n },\r\n {\r\n title: 'Blue Queue',\r\n dataIndex: 'blue',\r\n key: 'blue',\r\n },\r\n {\r\n title: 'IR Queue',\r\n dataIndex: 'ir',\r\n key: 'ir',\r\n },\r\n {\r\n title: 'Purple Queue',\r\n dataIndex: 'purple',\r\n key: 'purple',\r\n },\r\n {\r\n title: 'HSA Queue',\r\n dataIndex: 'hsa',\r\n key: 'hsa',\r\n },\r\n {\r\n title: 'LIEAP Queue',\r\n dataIndex: 'lieap',\r\n key: 'lieap',\r\n },\r\n ];\r\n\r\n const fetchData = async () => {\r\n setLoading(true);\r\n try {\r\n //const response = await axios.get('YOUR_API_GATEWAY_INVOKE_URL');\r\n //const queueData = response.data.map((item, index) => ({\r\n //key: index,\r\n //position: index + 1,\r\n //...item,\r\n //}));\r\n setData(dummyData);\r\n } catch (error) {\r\n console.error('Error fetching data', error);\r\n }\r\n setLoading(false);\r\n };\r\n useEffect(() => {\r\n // Simulating data fetch\r\n setLoading(false);\r\n setData(dummyData);\r\n }, []);\r\n\r\n const handleRemove = (key) => {\r\n const newData = data.filter(item => item.key !== key);\r\n setData(newData);\r\n };\r\n\r\n const handleSearch = (selectedKeys, confirm, dataIndex) => {\r\n confirm();\r\n setSearchText(selectedKeys[0]);\r\n setSearchedColumn(dataIndex);\r\n };\r\n\r\n const handleReset = (clearFilters) => {\r\n clearFilters();\r\n setSearchText('');\r\n };\r\n\r\n useEffect(() => {\r\n fetchData();\r\n const interval = setInterval(fetchData, 300000); // Refresh every 5 minutes\r\n return () => clearInterval(interval);\r\n }, []);\r\n\r\n const getColumnSearchProps = (dataIndex) => ({\r\n filterDropdown: ({ setSelectedKeys, selectedKeys, confirm, clearFilters }) => (\r\n
    \r\n setSelectedKeys(e.target.value ? [e.target.value] : [])}\r\n onPressEnter={() => handleSearch(selectedKeys, confirm, dataIndex)}\r\n style={{ marginBottom: 8, display: 'block' }}\r\n />\r\n handleSearch(selectedKeys, confirm, dataIndex)}\r\n icon={}\r\n size=\"small\"\r\n style={{ width: 90, marginRight: 8 }}\r\n >\r\n Search\r\n \r\n \r\n
    \r\n ),\r\n filterIcon: (filtered) => (\r\n \r\n ),\r\n onFilter: (value, record) =>\r\n record[dataIndex]\r\n ? record[dataIndex].toString().toLowerCase().includes(value.toLowerCase())\r\n : '',\r\n render: (text) =>\r\n searchedColumn === dataIndex ? (\r\n \r\n ) : (\r\n text\r\n ),\r\n });\r\n\r\n const columnsDashboard = [\r\n { title: 'Queue Name', dataIndex: 'queueName', key: 'queueName', ...getColumnSearchProps('queueName'), className: 'column-title' },\r\n { title: \"Caller's Phone Number\", dataIndex: 'phoneNumber', key: 'phoneNumber', ...getColumnSearchProps('phoneNumber'), className: 'column-title' },\r\n { title: 'Elapsed Wait Time', dataIndex: 'waitTime', key: 'waitTime', ...getColumnSearchProps('waitTime'), className: 'column-title' },\r\n { title: 'Caller Position', dataIndex: 'position', key: 'position', ...getColumnSearchProps('position'), className: 'column-title' },\r\n {\r\n title: 'Caller Contacted',\r\n dataIndex: 'contacted',\r\n key: 'contacted',\r\n ...getColumnSearchProps('contacted'),\r\n className: 'column-title',\r\n render: (text) => (\r\n \r\n {text ? 'Yes' : 'No'}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Caller Answered',\r\n dataIndex: 'answered',\r\n key: 'answered',\r\n ...getColumnSearchProps('answered'),\r\n className: 'column-title',\r\n render: (text) => (\r\n \r\n {text ? 'Yes' : 'No'}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Action',\r\n key: 'action',\r\n render: (text, record) => (\r\n \r\n ),\r\n },\r\n ];\r\n\r\n return (\r\n
    \r\n Callback Queue Dashboard\r\n index % 2 === 0 ? 'table-row-light' : 'table-row-dark'}\r\n columns={columnsDashboard} dataSource={data} loading={loading} pagination={{ pageSize: 5 }} />\r\n
    \r\n {/* */}\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n \r\n {capacityTypeVal == 'permanent' ?\r\n <>\r\n \r\n \r\n :\r\n <>\r\n \r\n }\r\n \r\n \r\n \r\n \r\n {capacityTypeVal == 'permanent' ?\r\n <>\r\n \r\n \r\n :\r\n <>\r\n \r\n }\r\n\r\n\r\n