{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app.browser.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.shared.module.ts","webpack:///./src/app/confirm/confirm.component.html","webpack:///./src/app/confirm/confirm.component.ts","webpack:///./src/app/login/login.component.html","webpack:///./src/app/login/login.component.ts","webpack:///./src/app/menu/menu.component.html","webpack:///./src/app/menu/menu.component.ts","webpack:///./src/app/not-found/not-found.component.html","webpack:///./src/app/not-found/not-found.component.ts","webpack:///./src/app/patient/patient.component.html","webpack:///./src/app/patient/patient.component.ts","webpack:///./src/app/payment/payment.component.html","webpack:///./src/app/payment/payment.component.ts","webpack:///./src/app/payment/status/payment-status.component.html","webpack:///./src/app/payment/status/payment-status.component.ts","webpack:///./src/app/personal-detail/personal-detail.component.html","webpack:///./src/app/personal-detail/personal-detail.component.ts","webpack:///./src/app/register/register.component.html","webpack:///./src/app/register/register.component.ts","webpack:///./src/app/remind-password/remind-password.component.html","webpack:///./src/app/remind-password/remind-password.component.ts","webpack:///./src/app/shared/auth.interceptor.ts","webpack:///./src/app/shared/date.helper.ts","webpack:///./src/app/shared/error-processor.ts","webpack:///./src/app/shared/full-access.guard.ts","webpack:///./src/app/shared/logged-in.guard.ts","webpack:///./src/app/shared/models/base-response.model.ts","webpack:///./src/app/shared/models/config.model.ts","webpack:///./src/app/shared/models/confirm-response.model.ts","webpack:///./src/app/shared/models/get-patient-response.model.ts","webpack:///./src/app/shared/models/get-payment-status-response.model.ts","webpack:///./src/app/shared/models/make-payment.model.ts","webpack:///./src/app/shared/models/named-value-response.model.ts","webpack:///./src/app/shared/models/notification.model.ts","webpack:///./src/app/shared/models/personal-detail.model.ts","webpack:///./src/app/shared/models/save-invoice-data.model.ts","webpack:///./src/app/shared/registration-visible.guard.ts","webpack:///./src/app/shared/services/captcha.service.ts","webpack:///./src/app/shared/services/client.service.ts","webpack:///./src/app/shared/services/notification.service.ts","webpack:///./src/app/shared/services/payment.service.ts","webpack:///./src/app/shared/services/user.service.ts","webpack:///./src/app/shared/validators/validators.ts","webpack:///./src/app/speech-bubble/speech-bubble.component.html","webpack:///./src/app/speech-bubble/speech-bubble.component.ts","webpack:///./src/app/visit/after-payment/after-payment.component.html","webpack:///./src/app/visit/after-payment/after-payment.component.ts","webpack:///./src/app/visit/book-slot-status/book-slot-status.component.html","webpack:///./src/app/visit/book-slot-status/book-slot-status.component.ts","webpack:///./src/app/visit/book-slot/book-slot.component.html","webpack:///./src/app/visit/book-slot/book-slot.component.ts","webpack:///./src/app/visit/e-visit-doc-room/e-visit-doc-room.component.html","webpack:///./src/app/visit/e-visit-doc-room/e-visit-doc-room.component.ts","webpack:///./src/app/visit/e-visit-room/e-visit-room.component.html","webpack:///./src/app/visit/e-visit-room/e-visit-room.component.ts","webpack:///./src/app/visit/e-visit/e-visit.component.html","webpack:///./src/app/visit/e-visit/e-visit.component.ts","webpack:///./src/app/visit/filters/filters.component.html","webpack:///./src/app/visit/filters/filters.component.ts","webpack:///./src/app/visit/free-terms-calendar/free-terms-calendar.component.html","webpack:///./src/app/visit/free-terms-calendar/free-terms-calendar.component.ts","webpack:///./src/app/visit/my-visits/my-visits.component.html","webpack:///./src/app/visit/my-visits/my-visits.component.ts","webpack:///./src/app/visit/re-book-slot/re-book-slot.component.html","webpack:///./src/app/visit/re-book-slot/re-book-slot.component.ts","webpack:///./src/app/visit/shared/models/book-slot-response.model.ts","webpack:///./src/app/visit/shared/models/change-type.model.ts","webpack:///./src/app/visit/shared/models/confirm-presence.model.ts","webpack:///./src/app/visit/shared/models/department.model.ts","webpack:///./src/app/visit/shared/models/doctor.model.ts","webpack:///./src/app/visit/shared/models/get-response.model.ts","webpack:///./src/app/visit/shared/models/hour.model.ts","webpack:///./src/app/visit/shared/models/language.model.ts","webpack:///./src/app/visit/shared/models/search-response.model.ts","webpack:///./src/app/visit/shared/models/service.model.ts","webpack:///./src/app/visit/shared/models/speciality.model.ts","webpack:///./src/app/visit/shared/models/visit-type.model.ts","webpack:///./src/app/visit/shared/services/department.service.ts","webpack:///./src/app/visit/shared/services/doctor.service.ts","webpack:///./src/app/visit/shared/services/language.service.ts","webpack:///./src/app/visit/shared/services/service.service.ts","webpack:///./src/app/visit/shared/services/speciality.service.ts","webpack:///./src/app/visit/shared/services/visit-type.service.ts","webpack:///./src/app/visit/shared/services/visit.service.ts","webpack:///./src/app/visit/visit-cancel/visit-cancel.component.html","webpack:///./src/app/visit/visit-cancel/visit-cancel.component.ts","webpack:///./src/app/visit/visit-confirm-presence/visit-confirm-presence.component.html","webpack:///./src/app/visit/visit-confirm-presence/visit-confirm-presence.component.ts","webpack:///./src/app/visit/visit-slot-list/visit-slot-list.component.html","webpack:///./src/app/visit/visit-slot-list/visit-slot-list.component.ts","webpack:///./src/app/visit/visit.component.html","webpack:///./src/app/visit/visit.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPA;AAAA;AAAA;AAAA;IAAA;IAWA,CAAC;IAAD,gBAAC;AAAD,CAAC;;AAEM,SAAS,UAAU;IACtB,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kGCpBD,iuBAAM,IAAS,6KAET,KAAM,uIAAiB,KAAU,sJAAgC,KAAc,yjBAAe,IAAsD,gMAAoE,KAAM,uIAAiB,KAAU,6IAAuB,KAAc,uHAAI,+HAAO,wFAAW,0KAAuC,0BAA5Q,YAAe,2BAFhF,yBAAY,EAAjB,YAET,EAFc,SAAY,GAE+H,yBAAY,EAAjB,YAAoE,EAA/D,SAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACF3K;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AACA;AACH;AAEoB;AAE9E;IAsCE,sBAAoB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;QAb5C,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QASX,gBAAW,GAAG,mFAAW,CAAC,YAAY,CAAC;QACvC,qBAAgB,GAAG,mFAAW,CAAC,UAAU,CAAC;IAG1C,CAAC;IAED,+BAAQ,GAAR;QAAA,iBAQC;QAPC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,UAAC,IAAI;YAC7C,IAAI,IAAI,EAAE;gBACR,KAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;iBAAM;gBACL,KAAI,CAAC,iBAAiB,EAAE,CAAC;aAC1B;QACH,CAAC,CAAC;IACJ,CAAC;IAED,kCAAW,GAAX;IACA,CAAC;IAED,yCAAkB,GAAlB;QAAA,iBAOC;QANC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC;gBACtC,KAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;SACtD;IACH,CAAC;IAED,wCAAiB,GAAjB;QACE,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;QAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED,mCAAY,GAAZ;QAAA,iBAqBC;QApBC,IAAI,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;QAE3G,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;YAC/B,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;QAED,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,IAAI,aAAa,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAC;YACjE,OAAO;SACR;QAED,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,UAAC,MAAW;QAClE,CAAC,EACC,UAAC,KAAU;YACT,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,8CAAuB,GAAvB;QAAA,iBASC;QARC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE5B,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC;gBAC3C,KAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,iCAAiC,CAAC,CAAC;SAC7D;IACH,CAAC;IAED,6CAAsB,GAAtB;QACE,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,2CAAoB,GAApB;QACE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACjG,CAAC;IAED,0CAAmB,GAAnB;QACE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACpG,CAAC;IAED,wCAAiB,GAAjB;QACE,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;QAC9O,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAErB,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;SAC3B;IACH,CAAC;IAED,sCAAe,GAAf,UAAgB,KAAU;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;IAClC,CAAC;IAEH,mBAAC;AAAD,CAAC;;;;;;;;;;;;;;AC/ID;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmE;AAuCF;AAsBf;AAMlD,0EAAkB,CAAC,iEAAQ,EAAE,IAAI,CAAC,CAAC;SAoEa,UAAC,MAAqB,IAAK,qBAAM,aAAM,CAAC,SAAS,EAAE,EAAlB,CAAkB,EAAxB,CAAwB;AAlEnG;IAAA;IAuEA,CAAC;IAAD,sBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sGC3IwO,qHAAkB,0KAAyE;sGAAsB,qHAAiB,6KAA4E;sGAA4rB,uKAAoE,wDAApB,mBAAmB,QAAnE,YAAoE,EAApB,SAAmB;sGAA6C,qHAAkB,KAAsB,yHAAO,6GAA2B,4LAAqC,YAAzB;;wBAAwB;MAApC,wBAAqC,iGAAe;sGAAsD,wKAAqE,wDAAtB,mBAAqB,UAApE,YAAqE,EAAtB,SAAqB;sGAA30C,yHAAkC,KAAc,8IAAuB,KAAkB,yYAAkB,IAA+F,yYAAiB,IAAoG;;;;;wBAAmE;MAA7D;;wBAAuB;MAA7B,k0BAAmE,IAAsB,mKAAoD,KAA0B;;;;;;;;;;;;85CAAiF,IAA0B,4JAAqE,yGAAwE,MAAsD,4MAA+F,4FAAU,oJAAuB,KAAwD,uHAAK,KAAkB,0YAAoE,IAA4C,0YAAkB,IAAkK,0YAAqE,iDAAhvC,oBAAc,QAAjB,YAAkB,EAAf,SAAc,GAAmG,mBAAa,QAAhB,YAAiB,EAAd,SAAa,GAAmI,mBAAyB,cAAvD,YAAmE,EAArC,SAAyB,GAAwJ,uBAAsB,EAA9D,aAAiF,EAAzC,UAAsB,GAAoc,oBAAe,UAApB,aAAoE,EAA/D,UAAe,GAA+F,qBAAc,QAAjB,aAAkB,EAAf,UAAc,GAAwK,oBAAa,QAAlB,aAAqE,EAAhE,UAAa,mDAA19B,qtBAAmE,GAA8C,qBAA2B,SAAnD,aAAoD,EAA5B,UAA2B,GAA2B,ouBAAiF,GAA6B,oBAAiB,SAApB,aAAqE,EAAlE,UAAiB,GAA8O,qBAA+B,oBAA9F,aAA+F,EAAhC,UAA+B;uGAAioB,uKAAoE,wDAApB,mBAAmB,QAAnE,YAAoE,EAApB,SAAmB;uGAA2C,wKAAqE,wDAAtB,mBAAqB,UAApE,YAAqE,EAAtB,SAAqB;sGAA3N,uHAAuB,KAAkB,0YAAoE,IAA0C,0YAAqE,iDAA9K,mBAAe,UAApB,YAAoE,EAA/D,SAAe,GAA+F,mBAAa,QAAlB,YAAqE,EAAhE,SAAa;uGAA6G,uHAAwB,KAAkB,4IAAsB,yKAA8C,KAAI,iGAAyB;sGAAhd,wHAAiC,KAAc,yYAAuB,IAA+P,0YAAwB,iIAAzS,mBAAiB,YAAtB,YAAuB,EAAlB,SAAiB,GAAqQ,oBAAkB,YAAvB,YAAwB,EAAnB,SAAkB;sGAAhyD,wHAA+B,KAAU,yYAAkC,IAAy3C,yYAAiC,iIAA96C,oBAAmB,aAAjC,YAAkC,EAApB,SAAmB,GAAw4C,mBAAkB,aAAhC,YAAiC,EAAnB,SAAkB;uGAA6f,uHAAqB,KAAU,sHAAI,kHAAgC,MAAe,qHAAG,KAAc;;;gZAAwB,GAArB,uDAAoB,IAAC,uIAA2C,2BAAhE,iCAAoB,GAAvB,YAAwB,EAArB,SAAoB,2BAAvB,oMAAwB;sGAFnsE,yLAEG,KAAM,+IAAyB,KAAU,mJAA8B,KAAkB,sHAAK,KAAM,yYAA+B,IAAk8D,0YAAqB,iDAAx+D,oBAAgB,UAA9B,YAA+B,EAAjB,SAAgB,GAAw8D,mBAAe,UAApB,YAAqB,EAAhB,SAAe,2BAFvlE,yBAAY,EAAjB,YAEG,EAFE,SAAY;;;;;;;;;;;;;;;;ACAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAQM;AACP;AACkB;AAEJ;AACI;AACP;AAEW;AAExE;IA6BE,0BACU,YAAmB,EACnB,EAAe,EACf,MAAc,EACd,WAAwB,EACxB,KAAqB,EACrB,aAA4B,EAC5B,YAA0B;QAN1B,iBAAY,GAAZ,YAAY,CAAO;QACnB,OAAE,GAAF,EAAE,CAAa;QACf,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAgB;QACrB,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;QApBpC,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QACX,UAAK,GAAG,KAAK,CAAC;QACd,YAAO,GAAG,EAAE,CAAC;QACb,YAAO,GAAG,KAAK,CAAC;QAChB,eAAU,GAAY,KAAK,CAAC;QAC5B,cAAS,GAAY,KAAK,CAAC;QAC3B,oBAAe,GAAW,EAAE,CAAC;QAE7B,UAAK,GAAY,KAAK,CAAC;QAarB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,mCAAQ,GAAR;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC;QACvD,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC;QAC9D,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,qCAAU,GAAV;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC/B,IAAI,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,mCAAQ,GAAR;QACE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK;YAAE,OAAO;QACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,yCAAc,GAAd,UAAe,IAAS;QAAxB,iBAsCC;QArCC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CACtC,UAAC,MAAW;YACV,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBAEpB,IAAI,MAAM,CAAC,cAAc,EAAE;oBACzB,KAAI,CAAC,YAAY;yBACd,qBAAqB,CAAC,MAAM,CAAC,cAAc,CAAC;yBAC5C,SAAS,CACR;wBACE,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE;4BAC9C,WAAW,EAAE;gCACX,KAAK,EAAE,MAAM,CAAC,cAAc;6BAC7B;yBACF,CAAC,CAAC;oBACL,CAAC,EACD,UAAC,GAAG;wBACF,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACnC,CAAC,CACF,CAAC;iBACL;qBAAM;oBACL,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBAClC;aACF;iBAAM;gBACL,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,KAAK,GAAG,6BAA6B,CAAC;aAC5C;QACH,CAAC,EACD,UAAC,KAAU;YACT,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CACF,CAAC;IACJ,CAAC;IAED,iCAAM,GAAN,UAAO,KAAU;QAAjB,iBAsBC;QArBC,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAC7C,UAAC,MAAuB;YACtB,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClB,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,KAAI,CAAC,OAAO;oBACV,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;aACjE;iBAAM;gBACL,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,KAAK;oBACR,MAAM,CAAC,OAAO,KAAK,EAAE;wBACnB,CAAC,CAAC,6BAA6B;wBAC/B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;aACtB;QACH,CAAC,EACD,UAAC,KAAU;YACT,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CACF,CAAC;IACJ,CAAC;IAED,sBAAI,oCAAM;aAAV;YACE,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,QAAQ,CACvC,CAAC;QACJ,CAAC;;;OAAA;IACH,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oGClJuQ,sIAAuD;oGAA4G,yHAA8C,sFAAS;oGAAs8B,+IAAyC,KAA8B,6IAAsB,KAAkC,0HAAO,KAAsC;;;;;;81CAA+C,IAAsC,uIAAiB,2JAA+B,KAAiD,0HAAO,4FAAU,4JAAqC,sFAAS,MAAI,yEAAC,MAAoF,4JAA8E,iHAAqG,2BAA1e,uBAAuB,EAA9C,YAA+C,EAAxB,SAAuB,mDAA9C,8sBAA+C,GAA2J,mBAAiB,WAApB,aAAqC,EAAlC,SAAiB,GAAsH,mBAAkB,UAArB,aAA8E,EAA3E,SAAkB;oGAAgQ,qHAA4B,0JAA6C,sGAAoB,yDAA9D,mBAAyB,mBAA5B,YAA6C,EAA1C,SAAyB;oGAAiS,uKAAoE,wDAApB,mBAAmB,QAAnE,YAAoE,EAApB,SAAmB;oGAA6I,wHAAsD,KAA0B,qHAAG,iGAAoB,MAA8B;;;gZAAyE,GAA7B,uDAA4B,IAAC,6FAAgB,uJAA2B,0BAAxE,yCAA4B,GAAxE,YAAyE,EAA7B,SAA4B,2BAAxE,oMAAyE;oGAAqa,qJAAuE,6LAAiG;qGAAkF,yHAAO,0FAAa,MAAkC,+NAA0F,YAArC;;wBAAoC;MAAzF,wBAA0F,uGAAqB,6JAAiC,KAAkC,sIAAgB,gFAAG,MAAgC;;;gZAAyE,GAA7B,uDAA4B,IAAC,6FAAgB,wJAA2B,0BAAxE,yCAA4B,GAAxE,YAAyE,EAA7B,SAA4B,2BAAxE,oMAAyE;oGAA1sB,qKAAsF,KAAsB,kaAAuE,IAA2H,6HAA8B,kDAA7N,uGAAuC,GAA1C,YAAuE,EAApE,oBAAuC;oGAAj3G,yHAA2C,KAAU,+IAAyB,KAAc,mJAA+B,KAA0B,sHAAM,KAAU,iKAAyE,KAAc,uYAAuD,IAAoB,wIAAiB,KAAkB,yIAA+B,KAAsB,wYAA8C,IAAuC;;;;;wBAAiE;MAA3D;;wBAAuB;MAA7B,o0BAAiE,IAA0B,mKAAqD,KAA8B;;;;;;;;;;;;85CAAoF,IAA8B,4JAA0E,kGAAmF,MAA8D,mKAAwD,KAA8B;;;;;;;;;;;;85CAA2F,IAA8B,4JAA6E,uGAAmF,MAA8D,wYAAyC,IAAsuB,wYAA4B,IAAmG,4MAA6F,qFAAQ,sJAAyB,KAAgE,uHAAM,KAAsB,wYAAoE,IAAkD,sHAAG;;;iZAAuC,GAApC,wDAAmC,IAAC,oGAAkB,MAA8B,wYAAsD,IAAsQ,uIAAqD,KAAsB,sHAAG,+HAAO,iHAA+B,6HAAI,oHAA6B,MAAsD,wYAAsF,iDAAhjG,mBAAsC,iCAA3C,YAAuD,EAAlD,SAAsC,GAA+H,mBAAsC,iCAA7C,aAA8C,EAAvC,SAAsC,GAAsE,oBAAuB,YAArD,aAAiE,EAAnC,UAAuB,GAAiK,wBAAuB,EAA/D,aAAoF,EAA5C,UAAuB,GAAgZ,2BAA0B,EAAtE,aAA2F,EAA/C,UAA0B,GAAsR,oBAAgB,WAArB,aAAyC,EAApC,UAAgB,GAA6vB,oBAAwB,mBAA3B,aAA4B,EAAzB,UAAwB,GAAmU,oBAAe,UAApB,aAAoE,EAA/D,UAAe,GAAwG,kDAAmC,GAAtC,aAAuC,EAApC,UAAmC,GAA+D,qBAAuC,iCAArD,aAAsD,EAAxC,UAAuC,GAAud,oBAAsC,iCAA3C,aAAsF,EAAjF,UAAsC,mDAA1kG,mBAAiD,iCAAxE,YAAyE,EAAlD,SAAiD,GAAkI,mBAAyB,kBAA9B,YAA+B,EAA1B,SAAyB,GAA4G,wtBAAiE,GAAkD,qBAA4B,UAApD,aAAqD,EAA7B,UAA4B,GAA+B,ouBAAoF,GAAiC,oBAAkB,UAArB,aAA0E,EAAvE,UAAkB,GAA8N,qBAA+B,aAAvD,aAAwD,EAAhC,UAA+B,GAA+B,ouBAA2F,GAAiC,oBAAqB,aAAxB,aAA6E,EAA1E,UAAqB,GAAmpC,qBAA6B,kBAA5F,aAA6F,EAA9B,UAA6B,GAAuP,2MAAuC,GAAgX,oBAA8C,iCAAlD,aAAqD,EAAjD,UAA8C;qGAAihC,wHAA0C,KAAU,gMAA0E,KAAc,4IAAsB,uGAA0B,MAAmB,sHAAM,KAAc,6bAA2f,YAAhN;;wBAAqB;MAA+B;;wBAAiB;MAA+B;;wBAAiC;MAA+B;;wBAA2C;MAA1f,w7BAA2f,mDAA1e,uCAA4B,EAA+B,uCAAqC,EAA+B,iFAA0E,EAA+B,oBAAmB,EAA+B,mBAAqB,UAA+B,mBAAiB,QAA+B,mBAAiC,gBAAhb,YAA2f,EAA1e,SAA4B,EAA+B,SAAqC,EAA+B,SAA0E,EAA+B,SAAmB,EAA+B,SAAqB,EAA+B,SAAiB,EAA+B,SAAiC;oGAFlvJ,kMAEM,KAAM,uYAA2C,IAAwiI,wYAA0C,iDAA/mI,oBAA4B,sBAA1C,YAA2C,EAA7B,SAA4B,GAAujI,mBAA2B,sBAAzC,YAA0C,EAA5B,SAA2B,2BAFnoI,yBAAY,EAAjB,YAEM,EAFD,SAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAQc;AACf;AACkB;AAEJ;AACI;AAEP;AAES;AAGtE;IAgCE,wBACU,YAAmB,EACnB,EAAe,EACf,MAAc,EACd,WAAwB,EACxB,aAA4B,EAC5B,KAAqB,EACrB,YAA0B;QAN1B,iBAAY,GAAZ,YAAY,CAAO;QACnB,OAAE,GAAF,EAAE,CAAa;QACf,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;QAC5B,UAAK,GAAL,KAAK,CAAgB;QACrB,iBAAY,GAAZ,YAAY,CAAc;QAtBpC,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QACX,kBAAa,GAAG,KAAK,CAAC;QAEtB,aAAQ,GAAW,mBAAmB,CAAC;QAEvC,qBAAgB,GAAW,2BAA2B,CAAC;QAIvD,aAAQ,GAAW,EAAE,CAAC;QACtB,kBAAa,GAAW,EAAE,CAAC;IAYxB,CAAC;IAEJ,iCAAQ,GAAR;QAAA,iBAiCC;QAhCC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEnD,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,IAAI,IAAI,EAAE;YACvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAEzB,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI;iBACvD,GAAG,CAAC,UAAC,CAAC,IAAK,OAAG,CAAC,SAAI,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAG,EAA5C,CAA4C,CAAC;iBACxD,IAAI,CAAC,GAAG,CAAC,CAAC;YAEb,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzC,IAAI,CAAC,aAAa,GAAG,MAAI,WAAa,CAAC;aACxC;SACF;aAAM,IACL,IAAI,CAAC,YAAY,CAAC,WAAW;YAC7B,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU;YACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EACxB;YACA,IAAI,CAAC,aAAa;gBAChB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK;oBACnC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;oBAC5C,CAAC,CAAC,YAAU,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAO;oBACjD,CAAC,CAAC,EAAE,CAAC;YAET,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;QAED,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,KAAkB;YAC3D,YAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC;QAA5B,CAA4B,CAC7B,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,mCAAU,GAAV,UAAW,KAAkB,EAAE,QAAwB;QAAxB,0CAAwB;QACrD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,8BAA8B;YACjC,KAAK,CAAC,8BAA8B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACnE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC;QAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,IAAI,CAAC,8BAA8B;YACrC,IAAI,CAAC,eAAe,GAAG,mCAAmC,CAAC;;YACxD,IAAI,CAAC,eAAe,GAAG,oCAAoC,CAAC;IACnE,CAAC;IAED,iCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,mBAAmB;YAC1B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;;YACnD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACzD,CAAC;IAED,mCAAU,GAAV;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC7B,KAAK,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,yDAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,iCAAQ,GAAR;QAAA,iBAkCC;QAjCC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACzB,OAAO;SACR;QACD,IAAI,CAAC,WAAW;aACb,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;aAChE,SAAS,CACR,UAAC,MAAW;YACV,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClB,IAAI,KAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;oBAC1B,IAAI,QAAM,GAAW,EAAE,CAAC;oBACxB,KAAI,CAAC,aAAa;yBACf,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;yBAChB,KAAK,CAAC,GAAG,CAAC;yBACV,OAAO,CAAC,UAAC,CAAC;wBACT,IAAI,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC3B,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;4BACvB,QAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;yBACjC;oBACH,CAAC,CAAC,CAAC;oBACL,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,KAAI,CAAC,QAAQ,CAAC,EAAE;wBAC1C,WAAW,EAAE,QAAM;qBACpB,CAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,KAAK,GAAG,6BAA6B,CAAC;aAC5C;QACH,CAAC,EACD,UAAC,KAAU;YACT,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CACF,CAAC;IACN,CAAC;IAED,iDAAwB,GAAxB;QACE,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACtD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;;YAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,6CAAoB,GAApB,UAAqB,KAAqB;QAA1C,iBAmBC;QAlBC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,CACnD,UAAC,CAAC;YACA,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,CAAC,OAAO,EAAE;gBACb,IAAI,KAAI,CAAC,QAAQ,KAAK,IAAI;oBACxB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC/C;iBAAM;gBACL,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,KAAK,GAAG,6BAA6B,CAAC;aAC5C;QACH,CAAC,EACD,UAAC,KAAU;YACT,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CACF,CAAC;IACJ,CAAC;IACD,sBAAI,mCAAO;aAAX;YACE,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,QAAQ,CACtC,CAAC;QACJ,CAAC;;;OAAA;IAED,sBAAI,sCAAU;aAAd;YACE,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC;gBAClD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,QAAQ,CACzC,CAAC;QACJ,CAAC;;;OAAA;IAED,sBAAI,mCAAO;aAAX;YACE,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,QAAQ,CACtC,CAAC;QACJ,CAAC;;;OAAA;IAED,sBAAI,qCAAS;aAAb;YACE,OAAO,CACL,CAAC,CAAC,IAAI,CAAC,QAAQ;gBACf,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW;gBAC/B,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,CAChD,CAAC;QACJ,CAAC;;;OAAA;IACH,qBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mGCtNsF,6RAAkK,KAAkB,4IAAsB,8FAAiB,MAAyB,6IAAuB,KAAyB,6IAAuB,KAAyB,6IAAuB;mGAAwjB,yHAA+B,KAA0B,sHAAI,KAA8B;;;gZAA0D,GAAvD,uDAA4B,IAA2B,mFAAW,MAA6D,sHAAI,KAA8B;;;gZAAyD,GAAtD,uDAA0B,IAA4B,iFAAS,MAA6D,uHAAI,KAA8B;;wBAAgD;MAA7C;;wBAAwB;MAA3B,2YAAgD,GAApB,wDAAmB,IAAC,+EAAO,2BAAzX,yCAA4B,GAA/B,YAA0D,EAAvD,SAA4B,GAAwI,uCAA0B,GAA7B,YAAyD,EAAtD,SAA0B,GAAgK,kCAAmB,GAA/C,aAAgD,EAApB,UAAmB,mDAApV,mBAAyB,WAAzD,8KAA0D,EAA1B,SAAyB,EAAzD,oBAA0D,GAAwI,mBAA0B,YAAxD,8KAAyD,EAA3B,SAA0B,EAAxD,oBAAyD,GAAwG,uMAAgD;mGAAqG,yHAAgC,KAA0B,sHAAI,KAA8B;;;gZAAqD,GAAlD,uDAAwB,IAA0B,+EAAO,MAA6D,sHAAI,KAA8B;;;gZAA2D,GAAxD,uDAA2B,IAA6B,mFAAW,2BAA9N,qCAAwB,GAA3B,YAAqD,EAAlD,SAAwB,GAAmI,wCAA2B,GAA9B,YAA2D,EAAxD,SAA2B,mDAA7J,mBAAwB,UAApD,8KAAqD,EAAzB,SAAwB,EAApD,oBAAqD,GAAqI,mBAA2B,aAA1D,8KAA2D,EAA5B,SAA2B,EAA1D,oBAA2D;mGAAj8B,wHAAoE,KAAsB,sYAA+B,IAAshB,sYAAgC,iIAAvkB,mBAAgB,WAA9B,YAA+B,EAAjB,SAAgB,GAAqiB,oBAAiB,WAA/B,YAAgC,EAAlB,SAAiB;mGAAx+B,oMAA2F,KAAc,mKAA6C,KAAkB,sHAAI,KAAsB;;;gZAA4D,GAAzD,uDAA+B,IAA0B,4FAAe,MAA6C,sYAAoE,iDAAzL,4CAA+B,GAAlC,YAA4D,EAAzD,SAA+B,GAAoG,uDAAqD,oBAAnE,YAAoE,EAAtD,SAAqD,mDAAxJ,mBAAwB,UAA3D,8KAA4D,EAAzB,SAAwB,EAA3D,oBAA4D;mGAA6sC,+JAAkG,kFAAwC,iCAArI,yBAAY,EAA4C,4HAAoC,GAAjG,YAAkG,EAA7F,SAAY,EAA4C,SAAoC,GAAC,qEAAwC;mGAAkB,8IAAmD,KAAM,wHAAM,iMAA+F,+MAAuE,yGAAkB,MAAuB,+MAAwE,YAAhE;;wBAAkC;MAA1C,wBAAwE,qFAAQ;mGAF3iF,6LAEO,KAAM,6IAAuB,KAAU,iJAA2B,KAAc,sYAAkK,IAAqP,kKAAsC,KAAkB,kIAAoB,KAA4C,sYAA2F,IAA+0C,iJAA2B,KAAM,gdAAkG,IAA0D,uYAAmD,iDAAjqE,mBAAkB,aAA1B,YAAkK,EAA1J,SAAkB,GAA0f,mBAAkB,aAAvB,YAA2F,EAAtF,SAAkB,GAAs8C,mBAA0C,gBAA5D,aAAkG,EAAhF,SAA0C,GAAqG,oBAA0B,oBAA/B,aAAmD,EAA9C,SAA0B,mDAFvuE,yBAAY,EAAjB,YAEO,EAFF,SAAY,GAE0hB,mBAAY,OAAjB,YAAoB,EAAf,SAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAvjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AAEqB;AACI;AACY;AAK9E;IA+BI,uBAAoB,MAAc,EAAU,WAAwB,EAAU,mBAAwC,EAAU,aAA4B;QAA5J,iBA+BC;QA/BmB,WAAM,GAAN,MAAM,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,wBAAmB,GAAnB,mBAAmB,CAAqB;QAAU,kBAAa,GAAb,aAAa,CAAe;QARrJ,SAAI,GAAW,kBAAkB,CAAC;QAIlC,sBAAiB,GAAY,KAAK,CAAC;QAKtC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAExB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QAE5C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,WAAC;YACvC,KAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;YAC3C,KAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC;QAEhE,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,gBAAM;YACvC,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACvB,IAAI,CAAC,MAAM,IAAI,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE;gBACxC,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,KAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;aACpE;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,eAAe,CAAC;QAErD,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,sBAAY;YACpD,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO;gBACpH,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE1C,UAAU,CAAC;gBACH,KAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC,EACD,IAAI,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAED,8BAAM,GAAN,UAAO,KAAU;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,4BAAI,GAAJ,UAAK,KAAU;QACX,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,sBAAI,kCAAO;aAAX;YACI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,eAAe,CAAC;QAC1E,CAAC;;;OAAA;IAED,sBAAI,kCAAO;aAAX;YACI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC;QACxC,CAAC;;;OAAA;IAED,sBAAI,qCAAU;aAAd;YACI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,WAAW,CAAC;QAC3C,CAAC;;;OAAA;IAED,sBAAI,oCAAS;aAAb;YACI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,UAAU,CAAC;QAC1C,CAAC;;;OAAA;IAED,sBAAI,mCAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,YAAY,CAAC;QAC5C,CAAC;;;OAAA;IAED,wCAAgB,GAAhB,UAAiB,KAAU;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAClC,CAAC;IACL,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGCjHD,2IAAqB,KAAM,2IAChB,KACX,0NAA8F,KAAU,wIAAkB,KAAc,8IAAwB,gFAAG,MAAoB,uHAAK,sHAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAhO;AAAA;AAAA;AAAkD;AAElD;IAsBI,2BAAoB,YAAmB;QAAnB,iBAAY,GAAZ,YAAY,CAAO;QACnC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;IAClE,CAAC;IACL,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sGC3B8xB,uIAAoD,KAAc,4IAAsB,KAAkB,qJAA+B,kFAAK,MAAuC,4IAAsB,KAAkB,sHAAI,KAAsB,yHAAO,mMAAiB;sGAA6E,uIAAmD,KAAc,4IAAsB,KAAkB,qJAA+B,2FAAc,MAAuC,4IAAsB,KAAkB,sHAAI,KAAsB,yHAAO,8ZAA4C;sGAAgsE,uKAAoE,wDAApB,mBAAmB,QAAnE,YAAoE,EAApB,SAAmB;sGAA2C,wKAA0E,wDAAtB,mBAAqB,UAAzE,YAA0E,EAAtB,SAAqB;sGAAoX,mNAA2F,YAA9D;;wBAA4B;MAAzD,wBAA2F,mJAAwB;sGAA4lB,ogBAAsI,iDAAxB,uBAAuB,EAA3D,0IAAmC,GAA7G,YAAsI,EAAxB,SAAuB,EAA3D,SAAmC;sGAApf,+IAAsE,KAAsB,6IAAsB,KAA0B,0HAAO,KAA8B;;;;;;81CAA6C,IAA8B,uIAAiB,2JAA+B,KAAW,8EAAgF,gZAAsI,iDAArU,kBAAqB,gBAA5C,YAA6C,EAAtB,SAAqB,GAA6K,mEAAuC,GAA1C,aAAsI,EAAnI,SAAuC,mDAAhQ,8sBAA6C,GAAyF,6EAAgF;sGAAqS,uKAAuE,wDAApB,mBAAmB,QAAtE,YAAuE,EAApB,SAAmB;uGAA2C,wKAA6E,wDAAtB,mBAAqB,UAA5E,YAA6E,EAAtB,SAAqB;uGAA2D,uIAAqC,KAAkB,0KAA8C,mGAAsB,kJAAsB,KAA+B,6NAA2E,YAA9B;;wBAA6B;MAA1E,wBAA2E,yFAAY,mJAAuB;sGAAnrD,6IAAiD,KAAU,uIAAiB,KAAc,uJAAiC,yFAA8C,+YAA2F,IAAkF;;;;;wBAAsF;MAAhF;;wBAAkC;MAAxC,k0BAAsF,IAAc,u/BAAqC,IAAkB,mdAAsE,IAAmkB,wIAAiB,KAAkB,0YAAuE,IAA0C,2YAA6E,IAA0D,2YAAqC,iDAAzwC,oBAAoB,cAA5B,YAA2F,EAAnF,SAAoB,GAAsM,mBAAgC,qBAArF,YAAsF,EAAjC,SAAgC,GAAoB,sBAAmB,EAAxB,aAAqC,EAAhC,UAAmB,GAAoC,oBAA6C,eAAlD,aAAsE,EAAjE,UAA6C,GAA+nB,oBAAkB,aAAvB,aAAuE,EAAlE,UAAkB,GAA+F,oBAAqB,gBAA1B,aAA6E,EAAxE,UAAqB,GAAkH,oBAAmB,cAAxB,aAAqC,EAAhC,UAAmB,2BAAvlC,qtBAAsF,GAAc,kuBAAqC;kRAF98I,iKAAoC,KAC/B,uIACJ,KAAU,6IAAuB,KAAc,4IAAsB,sFAAS,MAAmB,sHAAM,KAAkC,6IAAsB,KAAU,uIAAiB,KAAc,4IAAsB,KAAkB,sJAA+B,sFAAI,MAAuC,6IAAsB,KAAkB,uHAAI,KAAsB,0HAAO,iFAAgB,MAA6E,wIAAiB,KAAc,6IAAsB,KAAkB,sJAA+B,qFAAQ,MAAuC,6IAAsB,KAAkB,uHAAI,KAAsB,0HAAO,iFAAmB,MAA6E,0YAAoD,IAAwS,0YAAmD,IAA4U,wIAAiB,KAAc,6IAAsB,KAAkB,sJAA+B,oFAAO,MAAuC,6IAAsB,KAAkB,uHAAI,KAAsB,0HAAO,iFAAuB,MAA+E,wIAAiB,KAAc,6IAAsB,KAAkB,sJAA+B,kFAAK,MAAuC,6IAAsB,KAAkB,uHAAI,KAAsB,0HAAO,iFAAiB,MAAuF,8IAAsB,KAAU,8IAAuB,KAAc,6IAAsB,8FAAY,MAAmB,uHAAM,KAA0B;;;;;wBAA0E;MAApE;;wBAAuB;MAA7B,o0BAA0E,IAAgB,mKAA2D,KAAkB;;;;;;;;;;;;85CAAoG,IAAkB,4JAAoE,6GAAiE,MAAsC,i/BAAoC,IAAkB,mKAAwD,KAAsB;;;;;;;;;;;;85CAAgG,IAAsB,4JAAqE,uGAAmE,MAA8C,mKAA8D,KAAsB;;;;;;;;;;;;85CAA+G,IAAsB,4JAA2E,uHAA8E,MAAgE,8IAAuB,KAAkB,0YAAoE,IAA0C,0YAA0E,IAA0D,4LAA+D,mGAAY,kJAAqB,KAAgD,0YAAiD,iDAAhvG,oBAAkC,4BAAnD,aAAoD,EAAnC,SAAkC,GAA0T,mBAAiC,4BAAlD,aAAmD,EAAlC,SAAiC,GAA2oC,oBAAgC,qBAA9D,aAA0E,EAA5C,UAAgC,GAAqJ,8BAA6B,EAAzE,aAAoG,EAAxD,UAA6B,GAA6N,iCAA8B,EAAnC,aAAoC,EAA/B,UAA8B,GAA6I,2BAA0B,EAAtE,aAAgG,EAApD,UAA0B,GAAsW,kCAAiC,EAA7E,aAA+G,EAAnE,UAAiC,GAA+T,oBAAe,UAApB,aAAoE,EAA/D,UAAe,GAA+F,oBAAkB,aAAvB,aAA0E,EAArE,UAAkB,GAAkQ,oBAA0B,qBAA/B,aAAiD,EAA5C,UAA0B,mDAFzgI,yBAAY,EAAjB,YAAoC,EAA/B,SAAY,GAEmX,0DAAgB,GAA2S,6DAAmB,GAAqgC,iEAAuB,GAA0S,2DAAiB,GAAiP,8tBAA0E,GAAwC,qBAAkC,gBAA1D,aAA2D,EAAnC,UAAkC,GAAmB,ouBAAoG,GAAqB,oBAAwB,gBAA3B,aAAoE,EAAjE,UAAwB,GAAgJ,ouBAAoC,GAA0C,qBAA+B,aAAvD,aAAwD,EAAhC,UAA+B,GAAuB,ouBAAgG,GAAyB,oBAAqB,aAAxB,aAAqE,EAAlE,UAAqB,GAAsL,qBAAqC,mBAA7D,aAA8D,EAAtC,UAAqC,GAAuB,ouBAA+G,GAAyB,oBAA2B,mBAA9B,aAA2E,EAAxE,UAA2B;;;;;;;;;;;;;;;;ACFx4G;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAEV;AACS;AAC0C;AAE5B;AACI;AAEe;AAEtB;AACS;AAKtE;IAsCI,0BAAoB,YAAmB,EAAU,EAAe,EAAU,MAAc,EAAU,WAAwB,EAAU,aAA4B;QAA5I,iBAAY,GAAZ,YAAY,CAAO;QAAU,OAAE,GAAF,EAAE,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,kBAAa,GAAb,aAAa,CAAe;QAhBhK,YAAO,GAAG,KAAK,CAAC;QAChB,eAAU,GAAG,KAAK,CAAC;QACnB,UAAK,GAAG,EAAE,CAAC;QACX,eAAU,GAAY,KAAK,CAAC;QAC5B,kBAAa,GAAY,KAAK,CAAC;QAC/B,gBAAW,GAAY,KAAK,CAAC;QAE7B,aAAQ,GAAG,KAAK,CAAC;QACjB,YAAO,GAAuB,IAAI,4FAAkB,EAAE,CAAC;IASvD,CAAC;IAED,qCAAU,GAAV;QACI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACpC,WAAW,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC1B,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;gBACrC,eAAe,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;aAC7C,EACG,EAAE,SAAS,EAAE,CAAC,+EAAiB,CAAC,cAAc,CAAC,EAAE,CAAC;SACzD,CAAC,CAAC;IACP,CAAC;IAED,wCAAa,GAAb;QACI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACpC,GAAG,EAAE,IAAI,wDAAS,CAAC,EAAE,CAAC;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,mCAAQ,GAAR;QAEI,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI;YAAE,OAAO;QAChF,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,wDAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,IAAI,0DAAW,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;SACtK;IACL,CAAC;IAED,sBAAI,iCAAG;aAAP;YACI,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAc,CAAC;QAC3D,CAAC;;;OAAA;IAED,mCAAQ,GAAR;QAAA,iBAmBC;QAlBG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;QAE5E,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC;YACvD,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;QAED,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,UAAC,IAAwB;YAC5D,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,IAAI,KAAI,CAAC,kBAAkB;gBACvB,KAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,yBAAyB,CAAC;QACrF,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;IACtC,CAAC;IAED,sCAAW,GAAX,UAAY,UAAmB;QAC3B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,CAAC;YAC3B,IAAI,UAAU;gBACV,CAAC,CAAC,MAAM,EAAE,CAAC;;gBACV,CAAC,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,mCAAQ,GAAR;QAAA,iBA2BC;QA1BG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;YAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,kCAAkC,CAAC;YAChD,OAAO;SACV;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;QACrE,IAAI,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;QACxF,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;QAE5D,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,SAAS,CAAC,UAAC,MAA8B;YAClH,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,KAAI,CAAC,OAAO,GAAG,yBAAyB,CAAC;aAC5C;iBAAM;gBACH,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,KAAI,CAAC,KAAK,GAAG,6BAA6B,CAAC;aAC9C;QACL,CAAC,EACG,UAAC,KAAU;YACP,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACX,CAAC;IAED,8CAAmB,GAAnB;QAAA,iBAoBC;QAnBG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,KAAK,GAAc,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,WAAW,GAAkB,EAAE,CAAC;QAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE;gBAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;aAC1C;SACJ;QACD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,UAAC,MAAiC;YACxF,IAAI,MAAM,CAAC,OAAO;gBACd,KAAI,CAAC,OAAO,GAAG,8BAA8B,CAAC;;gBAC7C,KAAI,CAAC,KAAK,GAAG,6BAA6B,CAAC;YAEhD,KAAI,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YAClC,KAAI,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,sBAAI,wCAAU;aAAd;YACI,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;gBAChF,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClG,CAAC;;;OAAA;IAGD,sBAAI,8CAAgB;aAApB;YACI,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,CAAC;gBACjE,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzG,CAAC;;;OAAA;IAED,sBAAI,2CAAa;aAAjB;YACI,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtJ,CAAC;;;OAAA;IACL,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sGC5LiC,uKAEU,wDAApB,mBAAmB,QAFT,YAEU,EAApB,SAAmB;sGAAa,sHAA4B,yKAA8C,KAAI,sIAAqC;sGAAwE,mKAAoE,KAAc,sHAAI,yKAA8C,KAAI,6IAAiD,MAAmB,sHAAI,8HAAO,sHAAyC,uIAAuB,kFAAK,yDAAzB,mBAAmB,aAAtB,YAAuB,EAApB,SAAmB;sGAAqb,0IAAoE,KAAkC,0IAAoB,gFAAkB,MAAuC,2IAAqB,4IAA4D,+BAA1I,kEAAkB,GAA4D,wQAA4D;sGAA/gB,wHAA4B,KAAkB,wJAAkC,oHAAmB,MAAuB,kLAAqD,KAAsB,0HAAO,KAA0B,yHAAO,KAA8B,kdAAoE,IAAoS,yHAAO,KAA8B,sHAAI,KAAkC,2IAAoB,4HAAI,4FAAU,MAA4C,4IAAqB,4HAAI,8IAAmE,IAAwJ,yJAAkC,+FAAa,MAAuB,yIAAiB,KAAsB,kKAA2C,KAA0B;;;;;;;;;;;;85CAAgH,IAA0B,4JAA8C,sGAA0E,MAAsD,kKAA2C,KAA0B;;;;;;;;;;;;85CAAkH,IAA0B,4JAA6C,qGAA8E,MAA0E;;;;;;;;;;;;85CAAqF,IAAkB,4JAA6C,kGAA2D,MAAsB,4JAA0C,6GAAiE,mDAAj8D,mBAA+C,0BAAnD,YAAoE,EAAhE,SAA+C,GAAq7B,2BAA2B,EAA5F,aAAgH,EAA/C,SAA2B,GAAiW,2BAA0B,EAA1F,aAAkH,EAAlD,UAA0B,GAAoT,wBAAuB,EAApF,aAAqF,EAAxB,UAAuB,mDAA/qC,kQAAmE,GAA0U,stBAAgH,GAA6B,oBAAsB,cAAzB,aAA8C,EAA3C,UAAsB,GAA0N,ouBAAkH,GAA6B,oBAAqB,aAAxB,aAA6C,EAA1C,UAAqB,GAA6K,ouBAAqF,GAAqB,oBAAqB,aAAxB,aAA6C,EAA1C,UAAqB,GAAyG,oBAAkB,UAArB,aAA0C,EAAvC,UAAkB;sGAAkmB,wHAA2D,4GAA4D;sGAA6C,wHAA4D,yFAAY;uGAAsnB,wIAA0C,KAAkB,6JAAsC,KAAwB,4IAAsB,KAA0B,kKAA2D,KAA8B;;;;;;;;;;;;25CAAgJ,IAA8B,4JAAgD,wGAAyF,MAAsF,6IAAsB,KAA0B,mKAAmD,KAA8B;;;;;;;;;;;;85CAAgI,IAA8B,4JAAwC,gGAAiF,2BAA9uB,6BAA6B,EAApF,YAAgJ,EAAzF,SAA6B,GAAif,sBAAqB,EAA5E,aAAgI,EAAzE,UAAqB,mDAA3pB,oBAAkC,gBAA1D,YAA2D,EAAnC,SAAkC,GAA+B,8sBAAgJ,GAAiC,mBAAwB,gBAA3B,aAAgD,EAA7C,SAAwB,GAA4Q,qBAA0B,QAAlD,aAAmD,EAA3B,UAA0B,GAA+B,ouBAAgI,GAAiC,oBAAgB,QAAnB,aAAwC,EAArC,UAAgB;uGAAkO,wIAAkF,KAAkB,6JAAsC,KAAwB,4IAAsB,KAA0B,kKAAsD,KAA8B;;;;;;;;;;;;25CAAqI,IAA8B,4JAA2C,kGAAmF,MAAsF,6IAAsB,KAA0B,mKAAwD,KAA8B;;;;;;;;;;;;85CAAyI,IAA8B,4JAA6C,oGAAqF,MAAwF,6IAAsB,KAA0B,+IAAwB,KAA8B;;;;;;;;;;;;85CAA6I,yBAA1jC,wBAAwB,EAA/E,YAAqI,EAA9E,SAAwB,GAAqe,2BAA0B,EAAjF,aAAyI,EAAlF,UAA0B,GAA6c,4BAA2B,EAAlF,aAA6I,EAAtF,UAA2B,mDAAlnC,oBAA6B,WAArD,YAAsD,EAA9B,SAA6B,GAA+B,8sBAAqI,GAAiC,mBAAmB,WAAtB,aAA2C,EAAxC,SAAmB,GAAsQ,qBAA+B,aAAvD,aAAwD,EAAhC,UAA+B,GAA+B,ouBAAyI,GAAiC,oBAAqB,aAAxB,aAA6C,EAA1C,UAAqB,GAAwS,ouBAA6I;uGAAwH,wIAAkF,KAAkB,6JAAsC,KAAwB,4IAAsB,KAA0B,kKAA0D,KAA8B;;;;;;;;;;;;25CAAyJ,IAA8B,4JAA+C,yGAA0F,MAAsF,6IAAsB,KAA0B,mKAAoD,KAA8B;;;;;;;;;;;;85CAAoI,IAA8B,4JAAyC,mGAAoF,2BAAhwB,4BAA4B,EAAnF,YAAyJ,EAAlG,SAA4B,GAA4f,uBAAsB,EAA7E,aAAoI,EAA7E,UAAsB,mDAArqB,oBAAiC,eAAzD,YAA0D,EAAlC,SAAiC,GAA+B,8sBAAyJ,GAAiC,mBAAuB,eAA1B,aAA+C,EAA5C,SAAuB,GAA6Q,qBAA2B,SAAnD,aAAoD,EAA5B,UAA2B,GAA+B,ouBAAoI,GAAiC,oBAAiB,SAApB,aAAyC,EAAtC,UAAiB;uGAA4Q,uKAAkF,wDAA3B,mBAA0B,eAAjF,YAAkF,EAA3B,SAA0B;sGAA/rP;;;;;wBAA2G;MAAhE;;wBAA0B;MAArE,i0BAA2G,IAAc,yYAA4B,IAA0tE,wJAAkC,gGAAmB,MAAmB,wIAAiB,KAAkB,6JAAqC,KAAsB,yKAAoE,KAA0B,2HAAO,KAA8B;;;;;;;;;;;;;;;;;;48DAAqE,IAA8B,wIAAiB,4JAAgC,KAAyC,0YAA2D,IAAyG,0YAA4D,IAAqI,6JAAqC,KAAsB,wKAAmE,KAA0B,2HAAO,KAA8B;;;;;;;;;;;;;;;;;;48DAAsE,IAA8B,wIAAiB,4JAAgC,KAAW,uFAAgE,MAAgG,2YAA0C,IAA0nC,2YAAkF,IAA67C,2YAAkF,IAAyoC,8IAAuB,KAAkB,2YAAkF,IAA0D,6JAAsC,KAAkB,4LAA+D,gHAAoB,mDAA/zP,mBAAyB,cAA/F,YAA2G,EAArC,SAAyB,GAA+B,mBAAsB,iBAA3B,YAA4B,EAAvB,SAAsB,GAAuiF,kCAAiC,EAAhD,qBAAc,EAAlC,aAAqE,EAAlC,UAAiC,EAAhD,UAAc,GAAC,kCAAiC,EAApE,aAAqE,EAAlC,UAAiC,GAAuI,oBAAsB,iBAApC,aAA2D,EAA7C,UAAsB,GAA8I,qBAAuB,iBAArC,aAA4D,EAA9C,UAAuB,GAA6X,kCAAiC,EAAjD,sBAAe,EAAnC,aAAsE,EAAlC,UAAiC,EAAjD,UAAe,GAAC,kCAAiC,EAArE,aAAsE,EAAlC,UAAiC,GAA4Q,qBAAwB,kBAAzC,aAA0C,EAAzB,UAAwB,GAA4oC,sEAAgE,mBAAjF,aAAkF,EAAjE,UAAgE,GAA+8C,sEAAgE,mBAAjF,aAAkF,EAAjE,UAAgE,GAAwrC,oBAAsB,iBAA3B,aAAkF,EAA7E,UAAsB,mDAA3mP,yBAAY,EAA1C,ioBAA2G,EAA7E,SAAY,EAA1C,2EAA2G,GAAw8E,qBAAqC,oBAAnE,aAAoE,EAAtC,UAAqC,GAAgE,ouBAAqE,GAAqjB,qBAAqC,oBAAlE,aAAmE,EAAtC,UAAqC,GAAgE,ouBAAsE;sGAAj0H,wHAAmD,KAAU,yYAAoE,IAAmQ,yYAA2G,iIAA7a,mBAAsB,iBAA3B,YAAoE,EAA/D,SAAsB,GAAkT,oBAAuB,iBAA7B,YAA2G,EAArG,SAAuB;sRAFvlB,+gBAA4B,IAAM,yYAEU,IAAY,yYAA4B,IAAkG,yYAAmD,iDAFpO,mBAAsB,aAA3B,YAA4B,EAAvB,SAAsB,GACzB,mBAAe,UADiB,YAEU,EAD1C,SAAe,GAC2C,mBAAuB,kBAA3B,YAA4B,EAAxB,SAAuB,GAAiH,qCAAoC,mBAAlD,YAAmD,EAArC,SAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFxO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoE;AAEA;AACc;AACrB;AAES;AACrB;AAEwB;AAEzE;IAiDE,0BAAoB,EAAe,EAAU,cAA8B,EAAU,KAAqB;QAAtF,OAAE,GAAF,EAAE,CAAa;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAAU,UAAK,GAAL,KAAK,CAAgB;QAnB1G,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QAGX,mBAAc,GAAG,KAAK,CAAC;QAEvB,mBAAc,GAAG,KAAK,CAAC;QACvB,iBAAY,GAAG,EAAE,CAAC;QAGlB,aAAQ,GAAG,KAAK,CAAC;IAUjB,CAAC;IAED,mCAAQ,GAAR;QAAA,iBAKC;QAJC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAC,IAAI,YAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAA/B,CAA+B,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,qCAAU,GAAV,UAAW,KAAa;QAAxB,iBAmBC;QAlBC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,UAAU,GAAG,oCAAoC,CAAC;YACvD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAClD,cAAI;gBACF,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,KAAI,CAAC,cAAc,GAAG,IAAI;gBAC1B,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC/B,CAAC,EACD,UAAC,KAAU;gBACT,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,KAAK,GAAG,0EAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC,CACF,CAAC;SACH;IACH,CAAC;IAED,sCAAW,GAAX;QAAA,iBAqDC;QApDC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;YAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,kCAAkC,CAAC;YACvD,OAAO;SACR;QAED,IAAI,KAAK,GAAG,IAAI,+FAAoB,EAAE,CAAC;QACvC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC;QAC/D,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC;QACvD,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;QACvC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;QAC7C,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;QACjD,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;QACnD,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC;QACrD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;QAEzC,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,gBAAgB,GAAG,IAAI,sFAAgB,CACzC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAChC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAC5B,KAAK,CAAC,CAAC;YAET,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,SAAS,CACzD,UAAC,IAAS;gBACN,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;oBACvB,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;oBACnC,KAAI,CAAC,WAAW,EAAE,CAAC;iBACpB;YACL,CAAC,EACD,UAAC,KAAU;gBACT,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,KAAK,GAAG,0EAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;SACN;aACI;YACH,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAC,MAA+B;gBACnF,IAAI,MAAM,CAAC,OAAO,EAAE;oBAClB,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,KAAI,CAAC,WAAW,EAAE,CAAC;iBACpB;qBAAM;oBACL,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,KAAI,CAAC,YAAY,GAAG,6BAA6B,CAAC;iBACnD;YACH,CAAC,EACC,UAAC,KAAU;gBACT,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,KAAI,CAAC,YAAY,GAAG,0EAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAEO,sCAAW,GAAnB;QAAA,iBAGC;QAFC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,cAAQ,QAAQ,CAAC,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;IAED,qCAAU,GAAV;QAAA,iBAyDC;QAxDC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC/B,SAAS,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,yDAAU,CAAC,KAAK,CAAC,CAAC;YAC/F,eAAe,EAAE,CAAC,IAAI,CAAC;YACvB,MAAM,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,UAAU,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC/B,WAAW,EAAE,CAAC,EAAE,CAAC;YACjB,GAAG,EAAE,CAAC,EAAE,CAAC;YACT,SAAS,EAAE,CAAC,EAAE,CAAC;SAChB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC7D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC/D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,sBAAsB,EAAE,CAAC;YACjE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,sBAAsB,EAAE,CAAC;SAC5D;QAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,GAAY;YAC/E,IAAI,GAAG,EAAE;gBACP,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC3D,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBACnD,IAAI,KAAI,CAAC,cAAc,EAAE;oBACvB,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;oBACtD,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;oBACxD,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;oBAC1D,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;iBACrD;qBACI;oBACH,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACzE,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC3E,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC7E,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACxE;aACF;iBAAM;gBACL,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9E,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtE,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACzE,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3E,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7E,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;aACxE;YACD,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAClE,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1D,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC7D,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC/D,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,sBAAsB,EAAE,CAAC;YACjE,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sBAAI,yCAAW;aAAf;YACE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClI,CAAC;;;OAAA;IAED,sBAAI,wCAAU;aAAd;YACE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChI,CAAC;;;OAAA;IAED,sBAAI,qCAAO;aAAX;YACE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvH,CAAC;;;OAAA;IAED,sBAAI,wCAAU;aAAd;YACI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5H,CAAC;;;OAAA;IAED,sBAAI,sCAAQ;aAAZ;YACE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5H,CAAC;;;OAAA;IAED,sBAAI,wCAAU;aAAd;YACE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChI,CAAC;;;OAAA;IAED,sBAAI,0CAAY;aAAhB;YACE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpI,CAAC;;;OAAA;IAED,sBAAI,oCAAM;aAAV;YACE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxH,CAAC;;;OAAA;IAED,sBAAI,2CAAa;aAAjB;YACE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtI,CAAC;;;OAAA;IAED,sBAAI,mCAAK;aAAT;YACE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtH,CAAC;;;OAAA;IAED,sBAAI,+CAAiB;aAArB;YACE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9I,CAAC;;;OAAA;IAED,sBAAI,6CAAe;aAAnB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC;QAChD,CAAC;;;OAAA;IAED,sCAAW,GAAX;QACE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IACH,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4GClQM,yJAA6D,KAAQ,sHAAI,yKAA8C,KAAI,8HAA4C;4GAAsF,wKAAwE,wDAAtB,mBAAqB,UAAvE,YAAwE,EAAtB,SAAqB;4GAAuB,uKAAoE,wDAApB,mBAAmB,QAAnE,YAAoE,EAApB,SAAmB;4GAAuB,4JAAyD,KAAY,+OAA8E,YAAf;;wBAAc;MAA7E,wBAA8E,mFAAM,yJAA6B;4GAAjb,yJAA2D,KAAQ,+YAAwE,IAAsB,+YAAoE,IAAsB,+YAAyD,iDAA5O,oBAAgB,UAArB,YAAwE,EAAnE,SAAgB,GAA8E,mBAAe,UAApB,YAAoE,EAA/D,SAAe,GAA2E,mBAAkB,aAAvB,YAAyD,EAApD,SAAkB;4GAFnd,yLAEG,KAAI,+YAA6D,IAA6H,+YAA2D,iDAAhP,mBAAyB,oBAA9B,YAA6D,EAAxD,SAAyB,GAAiK,mBAAuB,kBAA5B,YAA2D,EAAtD,SAAuB,2BAFxN,yBAAY,EAAjB,YAEG,EAFE,SAAY;;;;;;;;;;;;;;;;ACAjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACoB;AAErB;AAEY;AACG;AACI;AAEpE;IA8BE,gCAAoB,cAA8B,EAC9B,WAAwB,EACxB,aAA4B,EAC5B,KAAqB;QAHrB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;QAC5B,UAAK,GAAL,KAAK,CAAgB;QAZzC,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QACX,YAAO,GAAG,EAAE,CAAC;QACb,sBAAiB,GAAY,IAAI,CAAC;QAClC,oBAAe,GAAG,KAAK,CAAC;QAExB,aAAQ,GAAG,IAAI,CAAC;IAM8B,CAAC;IAE/C,yCAAQ,GAAR;QAAA,iBAGC;QAFC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAC,IAAI,YAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;IACzD,CAAC;IAED,iDAAgB,GAAhB,UAAiB,KAAa;QAA9B,iBA+BC;QA9BC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAC,MAAgC;YACrF,IAAI,MAAM,CAAC,UAAU,EAAE;gBACrB,IAAI,KAAI,CAAC,QAAQ,GAAG,KAAK;oBACvB,KAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;gBACxB,KAAI,CAAC,OAAO,GAAG,UAAU,CAAC,cAAQ,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;aACnF;iBAAM;gBACL,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,IAAI,MAAM,CAAC,OAAO,EAAE;oBAClB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,IAAI,MAAM,CAAC,eAAe,EAAE;wBAC1B,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;qBAC/B;yBAAM;wBACL,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;wBAC5B,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;qBACrB;iBAEF;qBAAM;oBACL,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,KAAI,CAAC,KAAK,GAAG,6BAA6B,CAAC;iBAC5C;aACF;QAEH,CAAC,EACD,UAAC,KAAU;YACT,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,KAAK,GAAG,0EAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAE,GAAF;QACE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,4CAAW,GAAX;QACI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACH,6BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kHCvFmF,wHAAkC,2HAAM,oHAA6B;kHAFzJ,qHAA8B,0LAEsD,2ZAAkC,iDAA5B,oBAA2B,qBAAjC,YAAkC,EAA5B,SAA2B;kHAAmD,qHAA4B,0JAA6C,sGAAoB,yDAA9D,mBAAyB,mBAA5B,YAA6C,EAA1C,SAAyB;kHAA+C,qHAA8B,8HAAO,kGAAgB;kHAAijD,+IAA+D,KAAsB,6IAAsB,KAA0B,yHAAO,KAA8B;;;;;;81CAAuD,IAA8B,uIAAiB,2JAA+B,KAAW,mGAAiF,2BAA1M,+BAA+B,EAAtD,YAAuD,EAAhC,SAA+B,2BAAtD,8sBAAuD;kHAA1pB,6IAAyD,KAAkB,kKAAqD,KAAsB;;;;;;;;;;;;25CAAoF,IAAsB,2JAAkE,wGAAyE,MAA8C,sZAA+D,iDAA1T,uBAAuB,EAA/D,YAAoF,EAA5C,SAAuB,GAAyO,oBAAsC,iCAA3C,aAA+D,EAA1D,UAAsC,mDAAjY,oBAA4B,UAApD,YAAqD,EAA7B,SAA4B,GAAuB,8sBAAoF,GAAyB,mBAAkB,UAArB,YAAkE,EAA/D,SAAkB;kHAA6oB,6IAAwD,KAAkB,kKAAyD,KAAsB,43EAAmN,IAAmC,2JAAsE,2GAA4E,mDAA5X,+BAAyB,EAAqH,iCAA4B,EAAzH,2BAAqB,EAAC,qBAAuB,EAAC,qBAAsB,EAAC,oBAAuB,YAAnH,oBAAsB,cAA5D,YAAmN,EAAvM,UAAyB,EAAqH,UAA4B,EAAzH,UAAqB,EAAC,UAAuB,EAAC,UAAsB,EAAC,UAAuB,EAAnH,UAAsB,GAA2H,4BAA2B,EAAlN,YAAmN,EAA5B,UAA2B,mDAAzQ,oBAAgC,cAAxD,YAAyD,EAAjC,SAAgC,GAAuB,u4BAAmN,GAAsC,oBAAsB,cAAzB,YAAsE,EAAnE,UAAsB;kHAA20B,6IAAkD,KAAU,qHAAG,sIAAgE;kHAA6qB,6IAAiD,KAAkB,8+BAAoC,IAAsB,kKAAwD,KAA0B;;;;;;;;;;;;45CAA2F,IAA0B,4JAAyE,uGAA2E,MAAsD,mKAA8D,KAA0B;;;;;;;;;;;;85CAA0G,IAA0B,4JAA+E,uHAAsF,2BAAv0B,gCAA8B,EAAnC,YAAoC,EAA/B,SAA8B,GAAqJ,2BAA0B,EAAtE,YAA2F,EAA/C,UAA0B,GAA6X,kCAAiC,EAA7E,aAA0G,EAA9D,UAAiC,mDAAhnB,8sBAAoC,GAA8C,oBAA+B,aAAvD,YAAwD,EAAhC,SAA+B,GAA2B,iuBAA2F,GAA6B,oBAAqB,aAAxB,aAAyE,EAAtE,UAAqB,GAA0M,qBAAqC,mBAA7D,aAA8D,EAAtC,UAAqC,GAA2B,ouBAA0G,GAA6B,oBAA2B,mBAA9B,aAA+E,EAA5E,UAA2B;mHAAuhB,wHAAwB,sSAAuK;mHAA6B,wHAAuB,4FAAU,2JAAqC,sFAAS,MAAI,yEAAC,yDAAhD,mBAAiB,WAApB,YAAqC,EAAlC,SAAiB;mHAAsvB,ogBAAsI,iDAAxB,uBAAuB,EAA3D,0IAAmC,GAA7G,YAAsI,EAAxB,SAAuB,EAA3D,SAAmC;mHAA1d,+IAAsE,KAAc,6IAAsB,KAAkB,yHAAO,KAAsB;;;;;;81CAA6C,IAAsB,uIAAiB,2JAA+B,KAAW,8EAA4D,MAA0B,uZAAsI,IAAsC,4JAA2C,mFAAsD,mDAA1c,kBAAqB,gBAA5C,YAA6C,EAAtB,SAAqB,GAA2K,mEAAuC,GAA1C,aAAsI,EAAnI,SAAuC,mDAA9P,8sBAA6C,GAAiF,6EAA4D,GAAyM,6BAAmB,iBAAtB,aAA2C,EAAxC,UAAmB,GAAqB,kEAAsD;mHAA3wB,0/BAAwF,IAAU,qHAAG,8HAAO,4FAAe,MAAsB,+dAAsE,iDAAnJ,qBAAmB,EAAvF,YAAwF,EAApB,SAAmB,GAA+D,mBAA6C,eAAlD,YAAsE,EAAjE,SAA6C,2BAAnM,8sBAAwF;mHAAytB,2JAAwF,KAAU,qHAAG,gFAAyB,yDAA9F,oBAAqC,4BAArE,YAAwF,EAAxD,SAAqC,GAAgC,kEAAyB;mHAAqG,qRAAuK,YAAxE;;wBAAwC;MAAC;;wBAA8B;MAAtK,4lBAAuK,2BAAzI,0DAAkD,EAAC,oBAAa,EAA9F,YAAuK,EAAzI,SAAkD,EAAC,SAAa;mHAAwJ,uKAAsE,wDAArB,mBAAoB,SAArE,YAAsE,EAArB,SAAoB;mHAAmN,sIAAsD,wDAA5B,6GAA2B,GAArD,YAAsD,EAA5B,SAA2B;mHAAmB,8JAA8D;oMAF70P,qZAA8B,IAE0I,qZAA4B,IAA2E,qZAA8B,IAAqC;;;;;wBAAyE;MAAtD;;wBAAuB;MAA1C,k0BAAyE,IAAM,yIAAiB,KAAU,8JAAsC,KAAc,6IAAsB,KAAkB,mKAAoD,KAAsB;;;;;;;;;;;;85CAAiG,IAAsB,4JAAiE,sGAAkE,MAAgE,6IAAsB,KAAkB,mKAAuD,KAAsB;;;;;;;;;;;;85CAAwG,IAAsB,4JAAoE,qGAAsE,MAAoF,yIAAiB,KAAU,8JAAsC,KAAc,sZAAyD,IAAy2B,sZAAwD,IAAyiB,8IAAsB,KAAkB,2JAAoC,KAAsB,iOAA+E,KAA0C,mKAAqD,KAAsB,6hEAAsH,IAAwD,4JAA8D,2GAAoE,MAA4D,sZAAkD,IAAmG,yIAAiB,KAAU,8JAAsC,KAAc,8IAAsB,KAAkB,oKAAqD,KAAsB;;;;;;;;;;;;85CAAoF,IAAsB,4JAAqE,kGAAmE,MAA0B,4JAAkE,6GAAyE,MAA8D,sZAAiD,IAA48B,+IAAuB,KAAU,gJAAwB,KAAc,8IAAsB,KAAkB,2HAAO,KAAsB;;;;;;i2CAA+C,IAAsB,wIAAiB,2JAA+B,KAAiC,uZAAwB,IAAoM,uZAAuB,IAAgI,4JAA0D,mFAAsD,MAAsC,uZAAwF,IAAytB,uZAAwF,IAA4D,8IAAuB,KAAU,uJAAgC,KAAc,uZAAuK,IAA8C,8IAAuB,KAAU,uZAAsE,IAAwB,6JAAsC,KAAU,6MAA0F,oFAAgD,8ZAAsD,IAAkB,wZAA8D,iDAF10P,mBAA0B,qBAA7B,YAA8B,EAA3B,SAA0B,GAE8I,mBAAwB,mBAA3B,YAA4B,EAAzB,SAAwB,GAA+E,mBAA0B,qBAA7B,YAA8B,EAA3B,SAA0B,GAAiF,oBAAkB,OAA7D,YAAyE,EAA9B,UAAkB,GAA0Q,uBAAsB,EAA7E,aAAiG,EAA1C,UAAsB,GAAyZ,0BAAyB,EAAhF,aAAwG,EAAjD,UAAyB,GAAgW,qBAAkC,4BAAvC,aAAyD,EAApD,UAAkC,GAAg4B,oBAAiC,4BAAtC,aAAwD,EAAnD,UAAiC,GAAw4B,sBAAmB,EAA7C,+BAAyB,EAAqB,qBAAe,EAAyB,8BAAkB,EAArH,aAAsH,EAA/E,UAAmB,EAA7C,UAAyB,EAAqB,UAAe,EAAyB,UAAkB,GAA1C,wBAAuB,EAAlG,aAAsH,EAA3C,UAAuB,GAA+Q,oBAA0B,qBAA/B,aAAkD,EAA7C,UAA0B,GAAgW,wBAAuB,EAA/D,aAAoF,EAA5C,UAAuB,GAA2Z,oBAA0B,qBAA/B,aAAiD,EAA5C,UAA0B,GAAioC,wBAAuB,EAA9C,aAA+C,EAAxB,UAAuB,GAA8G,qBAAiB,WAAvB,aAAwB,EAAlB,UAAiB,GAA2M,oBAAgB,WAAtB,aAAuB,EAAjB,UAAgB,GAA4R,+DAA4C,IAAjD,aAAwF,EAAnF,UAA4C,GAAqwB,oBAA0B,qBAA/B,aAAwF,EAAnF,UAA0B,GAA+M,oBAAkB,aAA7B,aAAuK,EAA5J,UAAkB,GAA8N,oBAAgB,WAArB,aAAsE,EAAjE,UAAgB,GAAsQ,qBAAsB,gBAAzB,cAAsD,EAAnD,UAAsB,GAAkD,oBAAqB,gBAAxB,cAA8D,EAA3D,UAAqB,mDAA/8O,yBAAY,EAAlB,yoBAAyE,EAAnE,SAAY,EAAlB,4EAAyE,GAAqJ,qBAA2B,SAAnD,aAAoD,EAA5B,UAA2B,GAAuB,ouBAAiG,GAAyB,oBAAiB,SAApB,aAAiE,EAA9D,UAAiB,GAA+O,qBAA8B,YAAtD,aAAuD,EAA/B,UAA8B,GAAuB,ouBAAwG,GAAyB,oBAAoB,YAAvB,aAAoE,EAAjE,UAAoB,GAA4gE,qBAA4B,UAApD,aAAqD,EAA7B,UAA4B,GAAuB,m6BAAsH,GAA2D,oBAAkB,UAArB,aAA8D,EAA3D,UAAkB,GAA6c,qBAA4B,UAApD,aAAqD,EAA7B,UAA4B,GAAuB,ouBAAoF,GAAyB,oBAAqB,aAAxB,aAAqE,EAAlE,UAAqB,GAA6I,oBAAkB,UAArB,aAAkE,EAA/D,UAAkB,GAA6zC,ouBAA+C,GAA6d,oBAAkB,UAArB,aAA0D,EAAvD,UAAkB,GAAqC,kEAAsD,GAA6/C,oBAA0B,gBAAzF,cAA0F,EAA3B,UAA0B,GAAC,+DAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFvsP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0F;AAGE;AAExB;AACI;AACF;AAG7B;AACU;AAGnD;IAqHI,sCAAoB,EAAe,EAAU,aAA4B;QAArD,OAAE,GAAF,EAAE,CAAa;QAAU,kBAAa,GAAb,aAAa,CAAe;QA5FzE,aAAQ,GAAW,mBAAmB,CAAC;QAGvC,qBAAgB,GAAW,2BAA2B,CAAC;QACvD,aAAQ,GAAG,KAAK,CAAC;QACjB,0BAAqB,GAAG,EAAE,CAAC;QAE3B,mCAA8B,GAAG,KAAK,CAAC;QACvC,8BAAyB,GAAG,KAAK,CAAC;QAuClC,kBAAa,GAAG,IAAI,0DAAY,EAAW,CAAC;QAG5C,gBAAW,GAAG,IAAI,0DAAY,EAAU,CAAC;QAGzC,wBAAmB,GAAG,IAAI,0DAAY,EAAW;QAuBjD,eAAU,GAAG,IAAI,0DAAY,CAAiB,KAAK,CAAC,CAAC;QAErD,gBAAW,GAAG;YACV,cAAc,EAAE,CAAC;YACjB,QAAQ,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;YAC3F,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAChE,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YACvD,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC;YACjJ,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YACrG,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;SACnB,CAAC;IAOF,CAAC;IA/DD,sBACI,iDAAO;aADX;YAEI,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;aAqBD,UAAY,KAAc;YACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEvC,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBACtD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aACxB;QACL,CAAC;;;OA5BA;IAED,sBACI,+CAAK;aADT;YAEI,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;aAyBD,UAAU,KAAa;YACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;;;OA5BA;IAED,sBACI,uDAAa;aADjB;YAEI,OAAO,IAAI,CAAC,cAAc,CAAC;QAC/B,CAAC;aAyBD,UAAkB,KAAc;YAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC;;;OA5BA;IAkBA,CAAC;IAKD,CAAC;IAgCF,+CAAQ,GAAR;QACI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAM,GAAG,CAAC,WAAW,EAAE,GAAG,GAAG,SAAI,GAAG,CAAC,WAAW,EAAI,CAAC;QACnE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,2CAAI,GAAJ,UAAK,KAAkB;QACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC;QACzD,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC,8BAA8B,CAAC;QAC3E,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC,yBAAyB,CAAC;QACjE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC;QAExD,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC;YACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;SACnB;IACL,CAAC;IAED,iDAAU,GAAV;QAAA,iBA4BC;QA3BG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACtB,IAAI,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC/B,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClC,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC;YACtE,SAAS,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,aAAa,EAAE,CAAC,KAAK,CAAC;YACtB,KAAK,EAAE,CAAC,KAAK,EAAE,yDAAU,CAAC,YAAY,CAAC;YACvC,GAAG,EAAE,IAAI,wDAAS,CAAC,EAAE,CAAC;YACtB,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CACzB;gBACI,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,eAAe,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5E,EACD,EAAE,SAAS,EAAE,CAAC,+EAAiB,CAAC,cAAc,CAAC,EAAE,CACpD;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,GAAY;YACpE,IAAI,GAAG,EAAE;gBACL,KAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;aACjD;iBAAM;gBACH,KAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;aACpE;YACD,KAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE,CAAC;QACzD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,+CAAQ,GAAR;QACI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;YAAE,OAAO;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,IAAI,0DAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;SACtE;IACL,CAAC;IAED,+CAAQ,GAAR;QACI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,kCAAkC,CAAC;YACjD,OAAO;SACV;QAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,kCAAkC,CAAC;YACjD,OAAO;SACV;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,IAAI,KAAK,GAAG,IAAI,mFAAc,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACpC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACxC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACpC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACpC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;QACzD,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;QAC5E,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,8BAA8B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAC3F,KAAK,CAAC,SAAS,GAAG,8DAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChE,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAE7C,IAAI,KAAK,GAAc,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE;oBAC5B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;iBAChD;aACJ;SACJ;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,wDAAiB,GAAjB,UAAkB,KAAU;QACxB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC1C,CAAC;IAED,sDAAe,GAAf;QACI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,sBAAI,6CAAG;aAAP;YACI,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAc,CAAC;QAC7C,CAAC;;;OAAA;IACD,sBAAI,mEAAyB;aAA7B;YACI,OAAO,IAAI,CAAC,qBAAqB,KAAK,EAAE,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,gDAAM;aAAV;YACI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5G,CAAC;;;OAAA;IAED,sBAAI,mDAAS;aAAb;YACI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClH,CAAC;;;OAAA;IAED,sBAAI,iDAAO;aAAX;YACI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9G,CAAC;;;OAAA;IAED,sBAAI,iDAAO;aAAX;YACI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9G,CAAC;;;OAAA;IAED,sBAAI,oDAAU;aAAd;YACI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;gBAClE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpF,CAAC;;;OAAA;IAGD,sBAAI,0DAAgB;aAApB;YACI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,CAAC;gBACnD,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3F,CAAC;;;OAAA;IAED,sBAAI,iDAAO;aAAX;YACI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3G,CAAC;;;OAAA;IAED,sBAAI,oDAAU;aAAd;YACI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9G,CAAC;;;OAAA;IAED,sBAAI,qDAAW;aAAf;YACI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtH,CAAC;;;OAAA;IAED,sBAAI,iDAAO;aAAX;YACI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9G,CAAC;;;OAAA;IAED,4CAAK,GAAL,UAAM,KAAa;QACf,IAAI,KAAK,GAAe,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7E,CAAC;IACL,mCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGChTD,yLAEG,KAAM,6IAAuB,KAAU,4IAAsB,8FAAiB,MAAe,sHAAM,KAAU,qdAAud,YAAxL;;wBAA+B;MAA2B;;wBAAqB;MAA2B;;wBAAiB;MAA2B;;wBAAiC;MAAtd,w8BAAud,mDAAjZ,iCAAgC,EAA2B,iCAA+B,EAA2B,qFAAyE,EAAnP,sBAAyB,EAA+S,mBAAqB,UAA2B,mBAAiB,QAA2B,mBAAiC,gBAAtd,YAAud,EAAjZ,SAAgC,EAA2B,SAA+B,EAA2B,SAAyE,EAAnP,SAAyB,EAA+S,SAAqB,EAA2B,SAAiB,EAA2B,SAAiC,2BAFjkB,yBAAY,EAAjB,YAEG,EAFE,SAAY;;;;;;;;;;;;;;;;ACEjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACS;AAEc;AAIH;AACW;AAGxE;IA2BI,2BAAoB,YAAmB,EAAU,MAAc,EAAU,WAAwB,EAAU,YAA0B;QAArI,iBAWC;QAXmB,iBAAY,GAAZ,YAAY,CAAO;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,iBAAY,GAAZ,YAAY,CAAc;QALrI,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QACX,kBAAa,GAAG,KAAK,CAAC;QAIlB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAEpD,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAChD,UAAC,KAAK;YACJ,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC,EACD,UAAC,GAAG;YACF,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC,CACF,CAAC;IACN,CAAC;IAED,oCAAQ,GAAR,UAAS,KAAqB;QAA9B,iBAqBC;QApBG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;QAElC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAC,MAAwB;YAChE,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;aACtC;iBAAM;gBACH,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,KAAK,GAAG,6BAA6B,CAAC;aAC9C;QACL,CAAC,EACD,UAAC,KAAU;YACP,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;IACL,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GCzEs3B,2IAA2C;6GAAsB,8JAA6D;6GAA72B;;;;;wBAAiF;MAA5D;;wBAAuB;MAA5C,i0BAAiF,IAAc,mKAAwD,KAAkB;;;;;;;;;;;;45CAAoF,IAAkB,4JAAkE,kGAA2D,MAAsB,4JAA+D,2HAAqE,MAAsC,4MAA8G,oGAAqD,uZAA2C,IAAsB,iZAA6D,iDAAh0B,mBAAwB,aAArE,YAAiF,EAApC,SAAwB,GAA4I,wBAAuB,EAA/D,YAAoF,EAA5C,UAAuB,GAA0gB,qBAAqB,eAAxB,aAA2C,EAAxC,UAAqB,GAA4C,oBAAoB,eAAvB,aAA6D,EAA1D,UAAoB,mDAAv0B,8sBAAiF,GAAsC,oBAA+B,aAAvD,YAAwD,EAAhC,SAA+B,GAAmB,iuBAAoF,GAAqB,oBAAqB,aAAxB,aAAkE,EAA/D,UAAqB,GAA8H,oBAAkB,UAArB,aAA+D,EAA5D,UAAkB,GAAoN,8CAA8C,gBAA7G,aAA8G,EAA/C,UAA8C;6GAA0P,uKAAoE,wDAApB,mBAAmB,QAAnE,YAAoE,EAApB,SAAmB;6GAA2B,wKAAqE,wDAAtB,mBAAqB,UAApE,YAAqE,EAAtB,SAAqB;6GAF7tC,0LAEG,KAAM,+IAAyB,KAAU,mJAA8B,KAAkB,sHAAK,KAAM,6IAAuB,KAAU,gZAAiF,IAAk1B,sHAAM,KAAU,gZAAoE,IAA0B,iZAAqE,iDAAhlC,oBAAc,QAApB,YAAiF,EAA3E,SAAc,GAAo6B,mBAAe,UAApB,YAAoE,EAA/D,SAAe,GAA+E,mBAAa,QAAlB,aAAqE,EAAhE,SAAa,2BAFtqC,yBAAY,EAAjB,YAEG,EAFE,SAAY;;;;;;;;;;;;;;;;ACEjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACa;AACc;AAEJ;AACI;AACP;AAE7D;IA8BI,iCAAoB,YAAmB,EAAU,EAAe,EAAU,MAAc,EAAU,WAAwB,EAAU,aAA4B;QAA5I,iBAAY,GAAZ,YAAY,CAAO;QAAU,OAAE,GAAF,EAAE,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,kBAAa,GAAb,aAAa,CAAe;QAThK,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QACX,UAAK,GAAG,KAAK,CAAC;QACd,YAAO,GAAG,EAAE,CAAC;QAIb,iBAAY,GAAY,KAAK,CAAC;QAG1B,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,4CAAU,GAAV;QACI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC5B,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;SACvD,CAAC,CAAC;IAEP,CAAC;IAED,0CAAQ,GAAR;QAAA,iBAwBC;QAvBG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;YACtB,OAAO;QACX,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAC,MAAW;YAC3E,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,uBAAuB,EAAE;gBAC7D,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,KAAI,CAAC,OAAO,GAAG,qDAAqD,CAAC;aACxE;iBAAM;gBACH,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,KAAK,GAAG,6BAA6B,CAAC;aAC9C;YACD,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC9B,CAAC,EACD,UAAC,KAAU;YACP,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,KAAI,CAAC,KAAK,KAAK,EAAE;gBACjB,KAAI,CAAC,KAAK,GAAG,gDAAgD,CAAC;QACtE,CAAC,CAAC,CAAC;IACX,CAAC;IAED,sBAAI,+CAAU;aAAd;YACI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,QAAQ,CAAC;QACtG,CAAC;;;OAAA;IAED,sBAAI,4CAAO;aAAX;YACI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,QAAQ,CAAC,CAAC;QACrG,CAAC;;;OAAA;IACL,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;ACpFD;AAAA;AAAA;AAAyG;AAGzG;IAEI;IAAgB,CAAC;IAEjB,mCAAS,GAAT,UAAU,GAAqB,EAAE,IAAiB;QAC9C,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;YACpB,UAAU,EAAE;gBACZ,aAAa,EAAE,aAAU,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAE;aAAC;SAC7G,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACL,sBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACfA;AAAA;AAAA;IAAA;IASD,CAAC;IARU,kBAAO,GAAd,UAAe,IAAU;QAErB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5C,IAAI,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC;YAC1D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,kBAAkB,CAAC,CAAC;SACxD;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,iBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACTA;AAAA;AAAA;IAAA;IAuBD,CAAC;IArBU,sBAAO,GAAd,UAAe,KAAU;QACrB,IAAI,GAAW,CAAC;QAChB,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;QACtB,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE;YACrB,GAAG,GAAG,aAAW,GAAG,CAAC,OAAO,kBAAe,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,CAAM;gBACtB,GAAG,IAAI,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;SACd;QACD,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE;YACrB,OAAO,uBAAuB,CAAC;SAClC;QAED,IAAI,GAAG,IAAI,IAAI,EAAE;YACb,GAAG,GAAG,6BAA6B,CAAC;SACvC;aAAM;YACH,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;SACrB;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACL,qBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACtBD;AAAA;AAAA;AAAA;AAAA;AAAmG;AACzC;AACrB;AAIrC;IAGI,yBAAoB,aAA4B,EAAU,MAAc;QAApD,kBAAa,GAAb,aAAa,CAAe;QAAU,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE5E,qCAAW,GAAX,UAAY,IAA4B,EAAE,KAA0B;QAApE,iBAOC;QANG,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE;YAC/C,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,MAAmB,IAAK,YAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAlB,CAAkB,CAAC,CAAC,CAAC;SACjG;aACI;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SAChD;IACL,CAAC;IAEO,+BAAK,GAAb,UAAc,MAAmB;QAC7B,IAAI,MAAM,CAAC,UAAU;YACjB,OAAO,IAAI,CAAC;QAEhB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;IACL,sBAAC;AAAD,CAAC;;;;;;;;;;;;;;AC3BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmG;AAC7C;AACI;AACrB;AAIrC;IAEI,uBAAoB,IAAiB,EAAU,aAA4B,EAAU,MAAc;QAA/E,SAAI,GAAJ,IAAI,CAAa;QAAU,kBAAa,GAAb,aAAa,CAAe;QAAU,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAEvG,mCAAW,GAAX,UAAY,IAA4B,EAAE,KAA0B;QAApE,iBAyBC;QAxBG,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,EAAE;YACpD,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,MAAmB;gBAChE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;oBAC1B,IAAI,KAAI,CAAC,IAAI,CAAC,UAAU,EAAE;wBACtB,OAAO,IAAI,CAAC;qBACf;yBAAM;wBACH,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACjC,OAAO,KAAK,CAAC;qBAChB;iBACJ;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC,CAAC;SACP;aACI;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;oBAChE,OAAO,IAAI,CAAC;iBACf;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACjC,OAAO,KAAK,CAAC;iBAChB;aACJ;YACD,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IACL,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACtCA;AAAA;AAAA;IAAA;IAGD,CAAC;IAAD,mBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACDD;AAAA;AAAA;IAAA;QACW,aAAQ,GAAG,KAAK,CAAC;QACjB,qBAAgB,GAAG,KAAK,CAAC;QACzB,oBAAe,GAAG,KAAK,CAAC;QACxB,eAAU,GAAG,KAAK,CAAC;QACnB,mBAAc,GAAG,KAAK,CAAC;QACvB,0BAAqB,GAAG,EAAE,CAAC;QAC3B,wBAAmB,GAAG,KAAK,CAAC;QAC5B,mCAA8B,GAAG,KAAK,CAAC;QACvC,oBAAe,GAAgB,EAAE,CAAC;QAClC,aAAQ,GAAkB,EAAE,CAAC;QAC7B,sBAAiB,GAAG,CAAC,CAAC;QACtB,mCAA8B,GAAG,KAAK,CAAC;QACvC,8BAAyB,GAAG,KAAK,CAAC;QAClC,qBAAgB,GAAmB,IAAI,CAAC;QACxC,2BAAsB,GAAY,KAAK,CAAC;QACxC,wBAAmB,GAAY,KAAK,CAAC;QACrC,oBAAe,GAAW,EAAE,CAAC;QAC7B,eAAU,GAAmB,IAAI,CAAC;QAClC,kCAA6B,GAAW,EAAE,CAAC;QAC3C,uBAAkB,GAAG,KAAK,CAAC;IACtC,CAAC;IAAD,kBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;ACvBoD;AAErD;IAAqC,yEAAY;IAAjD;;IACA,CAAC;IAAD,sBAAC;AAAD,CAAC,CADoC,iEAAY,GAChD;;;;;;;;;;;;;;;;;;;ACHqD;AAEtD;IAAwC,4EAAY;IAApD;;IAQA,CAAC;IAAD,yBAAC;AAAD,CAAC,CARuC,iEAAY,GAQnD;;;;;;;;;;;;;;;;;;;ACVqD;AAEtD;IAA8C,kFAAY;IAA1D;;IAGA,CAAC;IAAD,+BAAC;AAAD,CAAC,CAH6C,iEAAY,GAGzD;;;;;;;;;;;;;;ACHD;AAAA;AAAA;IACI,0BAAmB,KAAa,EACb,SAAiB,EACjB,QAAgB,EAChB,KAAa,EACb,WAAiC;QAJjC,UAAK,GAAL,KAAK,CAAQ;QACb,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,UAAK,GAAL,KAAK,CAAQ;QACb,gBAAW,GAAX,WAAW,CAAsB;IAGpD,CAAC;IACL,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACXA;AAAA;AAAA;IACG,4BAAmB,EAAU,EAAS,IAAY;QAA/B,OAAE,GAAF,EAAE,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAQ;IAAK,CAAC;IAC5D,yBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACFA;AAAA;AAAA;AAAA;IACG,sBAAmB,IAAsB,EAAS,OAAe;QAA9C,SAAI,GAAJ,IAAI,CAAkB;QAAS,YAAO,GAAP,OAAO,CAAQ;QAC7D,QAAQ,IAAI,CAAC,IAAI,EAAE;YACnB,KAAK,gBAAgB,CAAC,OAAO;gBACzB,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;gBAC7B,MAAM;YACV,KAAK,gBAAgB,CAAC,IAAI;gBACtB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;gBAC1B,MAAM;YACV,KAAK,gBAAgB,CAAC,OAAO;gBACzB,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;gBAC7B,MAAM;YACV,KAAK,gBAAgB,CAAC,KAAK;gBACvB,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC;gBAC5B,MAAM;SACT;IACL,CAAC;IAGL,mBAAC;AAAD,CAAC;;AAED,IAAY,gBAKX;AALD,WAAY,gBAAgB;IACxB,6DAAO;IACP,uDAAI;IACJ,6DAAO;IACP,yDAAK;AACT,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;;;;;;;;;;;;;AC1BA;AAAA;AAAA;IACG;QACI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI;YACrB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAcL,qBAAC;AAAD,CAAC;;;;;;;;;;;;;;AC5BA;AAAA;AAAA;IAAA;IASD,CAAC;IAAD,2BAAC;AAAD,CAAC;;;;;;;;;;;;;;ACRD;AAAA;AAAA;AAAA;AAAA;AAAsD;AACI;AACrB;AAIrC;IAGI,kCAAoB,aAA4B,EAAU,MAAc;QAApD,kBAAa,GAAb,aAAa,CAAe;QAAU,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAE7E,8CAAW,GAAX;QAAA,iBAOC;QANG,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,EAAE;YACpD,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,MAAmB,IAAK,YAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAlB,CAAkB,CAAC,CAAC,CAAC;SACjG;aACI;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SAChD;IACL,CAAC;IAED,wCAAK,GAAL,UAAM,MAAmB;QACrB,IAAI,MAAM,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,+BAAC;AAAD,CAAC;;;;;;;;;;;;;;AC3BD;AAAA;AAAA;AAAkD;AAGlD;IAGI,wBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IACpC,CAAC;IAED,+BAAM,GAAN,UAAO,QAAgB;QACpB,mFAAmF;IACtF,CAAC;IACL,qBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACZD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmC;AAEe;AAEb;AAGgB;AAEQ;AAI7D;IAKI,uBAAoB,IAAgB,EAAU,mBAAwC;QAAlE,SAAI,GAAJ,IAAI,CAAY;QAAU,wBAAmB,GAAnB,mBAAmB,CAAqB;QAH9E,gBAAW,GAAgB,IAAI,gEAAW,EAAE,CAAC;QAC7C,kBAAa,GAAG,IAAI,kDAAa,CAAc,CAAC,CAAC,CAAC;QAGtD,mBAAmB;IACvB,CAAC;IAGD,iCAAS,GAAT;QAAA,iBA6BC;QA5BG,OAAO,IAAI,CAAC,IAAI;aACX,GAAG,CACJ,sBAAsB,CAAC,CAAC,IAAI,CAC5B,0DAAG,CAAC,UAAC,CAAkB;YACnB,KAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YACvC,KAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;YACvD,KAAI,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC,aAAa,CAAC;YACnD,KAAI,CAAC,WAAW,CAAC,qBAAqB,GAAG,CAAC,CAAC,qBAAqB,CAAC;YACjE,KAAI,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;YAC3C,KAAI,CAAC,WAAW,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;YACnD,KAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;YAC7D,KAAI,CAAC,WAAW,CAAC,8BAA8B,GAAG,CAAC,CAAC,8BAA8B,CAAC;YACnF,KAAI,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;YACrD,KAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YACvC,KAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;YACzD,KAAI,CAAC,WAAW,CAAC,yBAAyB,GAAG,CAAC,CAAC,yBAAyB,CAAC;YACzE,KAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;YACvD,KAAI,CAAC,WAAW,CAAC,8BAA8B,GAAG,CAAC,CAAC,8BAA8B,CAAC;YACnF,KAAI,CAAC,WAAW,CAAC,sBAAsB,GAAG,CAAC,CAAC,sBAAsB,CAAC;YACnE,KAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;YAC7D,KAAI,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;YACrD,KAAI,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;YAC3C,KAAI,CAAC,WAAW,CAAC,6BAA6B;gBAC5C,CAAC,CAAC,6BAA6B,CAAC;YAClC,KAAI,CAAC,WAAW,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC;YAC3D,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;aACF,SAAS,EAAE,CAAC;IACrB,CAAC;IAED,sBAAI,iCAAM;aAAV;YACI,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC;;;OAAA;IAED,sBAAI,uCAAY;aAAhB;YACI,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAC7C,CAAC;;;OAAA;IACL,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;AC3DD;AAAA;AAAA;AAAA;AAAA;AAAqC;AAEyC;AAE1B;AAEpD;IAAA;QAEY,mBAAc,GAAG,IAAI,kDAAa,CAAe,CAAC,CAAC,CAAC;QACpD,aAAQ,GAAG,IAAI,kDAAa,CAAS,CAAC,CAAC,CAAC;IAwBpD,CAAC;IAtBG,6CAAe,GAAf,UAAgB,KAAU,EAAE,QAAqB,EAAE,oBAAqC;QAA5D,wCAAqB;QAAE,mEAAqC;QACpF,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChC;QAED,IAAI,CAAC,oBAAoB,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,uEAAY,CAAC,2EAAgB,CAAC,KAAK,EAC5D,+DAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACvC;IACL,CAAC;IAED,8CAAgB,GAAhB,UAAiB,OAAe,EAAE,IAAsB;QACpD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,uEAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,sBAAI,8CAAa;aAAjB;YACI,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,wCAAO;aAAX;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxC,CAAC;;;OAAA;IACL,0BAAC;AAAD,CAAC;;;;;;;;;;;;;;ACjCD;AAAA;AAAA;AAAkD;AAKlD;IAGE,wBAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAI,CAAC;IAEzC,mCAAU,GAAV,UAAW,KAAa;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA4B,+BAA6B,KAAO,CAAC,CAAC;IACxF,CAAC;IAED,oCAAW,GAAX,UAAY,KAAuB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,wCAAe,GAAf,UAAgB,KAA2B;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAe,6BAA6B,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED,yCAAgB,GAAhB,UAAiB,KAAa;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA2B,iCAA+B,KAAO,CAAC,CAAC;IACzF,CAAC;IACH,qBAAC;AAAD,CAAC;;;;;;;;;;;;;;AC3BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmC;AAEe;AAEkC;AAIjB;AAGO;AAEb;AAGZ;AAER;AAEzC;IAaI,qBAAoB,IAAgB,EAAU,mBAAwC,EAAU,aAA4B,EAAU,MAAc;QAApJ,iBAsBC;QAtBmB,SAAI,GAAJ,IAAI,CAAY;QAAU,wBAAmB,GAAnB,mBAAmB,CAAqB;QAAU,kBAAa,GAAb,aAAa,CAAe;QAAU,WAAM,GAAN,MAAM,CAAQ;QAX5I,aAAQ,GAAG,KAAK,CAAC;QACjB,gBAAW,GAAG,IAAI,kDAAa,CAAU,CAAC,CAAC,CAAC;QAC5C,iBAAY,GAAG,IAAI,kDAAa,CAAqB,CAAC,CAAC,CAAC;QACxD,oBAAe,GAAW,CAAC,CAAC,CAAC;QAC7B,aAAQ,GAAW,EAAE,CAAC;QACvB,eAAU,GAAG,IAAI,CAAC;QACjB,qBAAgB,GAAG,KAAK,CAAC;QA+QjC,mBAAc,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAzQ7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;SAC1B;QAED,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,MAAmB;YAC1D,IAAI,MAAM,CAAC,gBAAgB,EAAE;gBACzB,KAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;aAC1B;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE;YAC/E,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC;YACvC,KAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,2BAAK,GAAL;QACI,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG;YACb,WAAW,EAAE,IAAI,qFAAkB,EAAE;SACxC;IACL,CAAC;IAED,2BAAK,GAAL,UAAM,KAAa,EAAE,QAAgB;QAArC,iBA0BC;QAzBG,IAAI,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CACD,mBAAmB,EACnB;YACI,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,QAAQ;SACrB,CACJ,CAAC,IAAI,CACN,0DAAG,CAAC,UAAC,CAAM;YACP,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,KAAK,IAAI,WAAW,EAAE;gBAClD,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC9C,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC3C,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;gBAC3D,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACH,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC5B,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;gBAChC,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;aACnC;YAED,OAAO,WAAW,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,kCAAY,GAAZ,UAAa,KAAoB;QAAjC,iBAoBC;QAnBG,IAAI,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CAAM,iCAAiC,GAAG,KAAK,EAAE,IAAI,CAAC;aAC1D,IAAI,CAAC,0DAAG,CAAC,UAAC,CAAM;YACb,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,KAAK,IAAI,WAAW,EAAE;gBAClD,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC9C,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC3C,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACH,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC5B,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;gBAChC,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gBAChC,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;oBACxC,KAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;iBAC1B;aACJ;QACL,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,8BAAQ,GAAR,UAAS,KAAqB;QAA9B,iBASC;QARG,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CACD,sBAAsB,EACtB,KAAK,CACR,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,CAAmB;YAC3B,KAAI,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;YACzC,OAAO,CAAC,CAAC;QACb,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,yCAAmB,GAAnB,UAAoB,KAAqB;QACrC,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CACD,iCAAiC,EACjC,KAAK,CACR,CAAC,IAAI,CAAC,0DAAG,CAAC,WAAC;YACR,IAAI,MAAM,GAAyB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACtD,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC;YAClE,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBAChD,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC7C,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;aAChD;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,4CAAsB,GAAtB;QACI,IAAI,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACxC,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACxC,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC1C,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACzB;IACL,CAAC;IAED,oCAAc,GAAd,UAAe,KAAa;QACxB,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CACD,4BAA4B,EAC5B;YACI,KAAK;SACR,CACJ,CAAC;IACV,CAAC;IAED,6BAAO,GAAP,UAAQ,IAAY;QAChB,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CACD,qBAAqB,EACrB;YACI,gBAAgB,EAAE,IAAI;SACzB,CACJ,CAAC;IACV,CAAC;IAED,+CAAyB,GAAzB,UAA0B,IAAY;QAAtC,iBAwBC;QAvBG,IAAI,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CACD,uCAAuC,EACvC;YACI,gBAAgB,EAAE,IAAI;SACzB,CACJ,CAAC,IAAI,CACN,0DAAG,CAAC,UAAC,CAAM;YACP,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,KAAK,IAAI,WAAW,EAAE;gBAClD,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC9C,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC3C,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/B;iBAAM;gBACH,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC5B,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;gBAChC,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;aACnC;YAED,OAAO,WAAW,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,gCAAU,GAAV;QACI,OAAO,IAAI,CAAC,IAAI;aACX,GAAG,CAAU,6BAA6B,CAAC,CAAC;IACrD,CAAC;IAED,oCAAc,GAAd;QAAA,iBAQC;QAPG,IAAI,EAAE,GAAiB,IAAI,CAAC,IAAI;aAC3B,GAAG,CAAqB,kBAAkB,CAAC;aAC3C,SAAS,CAAC,UAAC,MAA0B;YAClC,EAAE,CAAC,WAAW,EAAE,CAAC;YACjB,KAAI,CAAC,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC;YACpC,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1E,CAAC,EAAE,cAAM,SAAE,CAAC,WAAW,EAAE,EAAhB,CAAgB,CAAC,CAAC;IACnC,CAAC;IAED,oCAAc,GAAd,UAAe,WAAmB,EAAE,WAAmB,EAAE,uBAA+B;QACpF,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CACD,4BAA4B,EAC5B;YACI,WAAW;YACX,WAAW;YACX,uBAAuB;SAC1B,CACJ,CAAC;IACV,CAAC;IAED,uCAAiB,GAAjB,UAAkB,WAA0B;QACxC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;QACrD,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CACD,+BAA+B,EAC/B;YACI,WAAW;SACd,CACJ,CAAC;IACV,CAAC;IAED,wCAAkB,GAAlB;QACI,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,EAAE;YAC5B,IAAI,GAAG,GAAG,IAAI,8EAAe,EAAE,CAAC;YAChC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;YACpB,GAAG,CAAC,OAAO,GAAG,uFAAuF,CAAC;YACtG,IAAI,EAAE,GAAG,IAAI,oDAAe,CAAkB,GAAG,CAAC,CAAC;YACnD,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC;SAC5B;QAED,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CACD,gCAAgC,EAChC;YACI,eAAe,EAAE,IAAI,CAAC,eAAe;SACxC,CACJ,CAAC;IACV,CAAC;IAED,4BAAM,GAAN,UAAO,QAAqB,EAAE,UAA0B;QAAjD,wCAAqB;QAAE,8CAA0B;QACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,oBAAoB,CAAC,CAAC,SAAS,EAAE,CAAC;QACrD,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAID,iCAAW,GAAX;QACI,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC;IACzD,CAAC;IAED,iCAAW,GAAX;QACI,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,sCAAgB,GAAvB,UAAwB,OAAgB;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAEvC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,sBAAsB,CAAC,EAAE;YAC3E,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,MAAM,CAAC,mBAAmB;oBAC1B,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;;oBAExC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACnC;iBACI,IAAI,MAAM,CAAC,sBAAsB;gBAClC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;SAC/C;aACI;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/B;IACL,CAAC;IAED,sBAAI,mCAAU;aAAd;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;;;OAAA;IAID,sBAAI,oCAAW;aAAf;YACI,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;QAC5C,CAAC;;;OAAA;IAED,sBAAI,wCAAe;aAAnB;YACI,OAAO,IAAI,CAAC,gBAAgB,CAAC;QACjC,CAAC;aAED,UAAoB,WAAoB;YACpC,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;QACxC,CAAC;;;OALA;IAOD,sBAAI,+CAAsB;aAA1B;YACI,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,CAAC;;;OAAA;IACL,kBAAC;AAAD,CAAC;;AAED;IAAA;IAIA,CAAC;IAAD,kBAAC;AAAD,CAAC;;;;;;;;;;;;;AClUD;AAAA;AAAA;IAAA;IASA,CAAC;IAPiB,gCAAc,GAA5B,UAA6B,EAAoB;YAAlB,gBAAK;QAE1B,iCAA2C,EAA1C,aAAK,EAAE,kBAAmC,CAAC;QAClD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAC,IAAI,YAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAzB,CAAyB,CAAC,CAAC;QAEzD,OAAO,KAAK,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzC,CAAC;IACL,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GCXD,6IAAuB,KAAI,6JAEnB,kFAAuB,MAAU,yIAAmB,KAAM,kIAAsB,wDAAhF,oDAAuB,GAAwC,mBAAc,SAAnB,YAAsB,EAAjB,SAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFrF;AAAA;AAAA;AAAyD;AAEzD;IAYE;IAAe,CAAC;IAEhB,wCAAQ,GAAR,cAAY,CAAC;IACf,4BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GCfQ,yJAA6D,KAAU,sHAAI,yKAA8C,KAAI,8HAA4C;2GAA4F,wKAAwE,wDAAtB,mBAAqB,UAAvE,YAAwE,EAAtB,SAAqB;2GAA2B,uKAAoE,wDAApB,mBAAmB,QAAnE,YAAoE,EAApB,SAAmB;2GAA1O,yJAA2D,KAAU,8YAAwE,IAA0B,8YAAoE,IAA0B,4JAAsC,KAAc,+OAA8E,YAAf;;wBAAc;MAA7E,wBAA8E,mFAAM,yJAA6B,kDAAhW,oBAAgB,UAArB,YAAwE,EAAnE,SAAgB,GAAkF,mBAAe,UAApB,YAAoE,EAA/D,SAAe;2GAFpY,yLAEG,KAAM,8YAA6D,IAAmI,8YAA2D,iDAAtP,mBAAyB,oBAA9B,YAA6D,EAAxD,SAAyB,GAAuK,mBAAuB,kBAA5B,YAA2D,EAAtD,SAAuB,2BAFhO,yBAAY,EAAjB,YAEG,EAFE,SAAY;;;;;;;;;;;;;;;;ACAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqD;AAGU;AACA;AAIA;AAGhE;IA6BI,+BAAoB,YAA0B,EAAU,WAAwB;QAA5D,iBAAY,GAAZ,YAAY,CAAc;QAAU,gBAAW,GAAX,WAAW,CAAa;QARhF,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QACX,YAAO,GAAG,EAAE,CAAC;QACb,sBAAiB,GAAY,IAAI,CAAC;QAClC,oBAAe,GAAG,KAAK,CAAC;QAExB,aAAQ,GAAG,IAAI,CAAC;QAGZ,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE;YACtC,IAAI,CAAC,WAAW,EAAE,CAAC;aAClB;YACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,6BAA6B,CAAC;SAC9C;IACL,CAAC;IAED,2CAAW,GAAX;QAAA,iBAgCC;QA/BG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,UAAC,MAAgC;YAC5E,IAAI,MAAM,CAAC,UAAU,EAAE;gBACnB,IAAI,KAAI,CAAC,QAAQ,GAAG,KAAK;oBACrB,KAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAC1B,KAAI,CAAC,OAAO,GAAG,UAAU,CAAC,cAAQ,KAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;aAC3E;iBAAM;gBACH,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,IAAG,MAAM,CAAC,OAAO,EACjB;oBACI,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,IAAI,MAAM,CAAC,eAAe,EAAE;wBACxB,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;qBACjC;yBAAM;wBACH,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;wBAC5B,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;qBACvB;iBAEJ;qBAAM;oBACH,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,KAAI,CAAC,KAAK,GAAG,6BAA6B,CAAC;iBAC9C;aACJ;QAED,CAAC,EACD,UAAC,KAAU;YACP,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACX,CAAC;IAED,kCAAE,GAAF;QACI,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,2CAAW,GAAX;QACI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACL,4BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GC1FQ,yJAAqD,KAAU,sHAAI,yKAA8C,KAAI,kGAA0B;6GAA4F,wKAAwE,wDAAtB,mBAAqB,UAAvE,YAAwE,EAAtB,SAAqB;6GAA2B,uIAAgD,KAAc,8xBAA4F,iDAAnF,mBAAyB,aAAC,mBAAiC,iBAAC,2BAAsB,EAA3F,YAA4F,EAAnF,SAAyB,EAAC,SAAiC,EAAC,SAAsB;6GAAqC,uKAAoE,wDAApB,mBAAmB,QAAnE,YAAoE,EAApB,SAAmB;6GAA2B,4JAA0D,KAAc,+OAA8E,YAAf;;wBAAc;MAA7E,wBAA8E,mFAAM,yJAA6B;6GAA5nB,yJAA2D,KAAU,gZAAwE,IAA0B,gZAAgD,IAA8I,gZAAoE,IAA0B,gZAA0D,iDAAnb,oBAAgB,UAArB,YAAwE,EAAnE,SAAgB,GAAkF,oCAA8B,cAAnC,YAAgD,EAA3C,SAA8B,GAAgK,mBAAe,UAApB,YAAoE,EAA/D,SAAe,GAAgH,oBAAmB,aAAzD,YAA0D,EAApB,SAAmB;6GAF3qB,yLAEG,KAAM,gZAAqD,IAAiH,gZAA2D,iDAA5N,mBAAiB,YAAtB,YAAqD,EAAhD,SAAiB,GAAqJ,mBAAuB,kBAA5B,YAA2D,EAAtD,SAAuB,2BAFtM,yBAAY,EAAjB,YAEG,EAFE,SAAY;;;;;;;;;;;;;;;;ACSjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAEc;AACA;AAGA;AACf;AAEjD;IA8BE,iCACU,YAA0B,EAC1B,YAAmB,EACnB,WAAwB,EACxB,cAA8B;QAJxC,iBA0BC;QAzBS,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAO;QACnB,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAlBxC,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QACX,YAAO,GAAG,EAAE,CAAC;QACb,cAAS,GAAY,IAAI,CAAC;QAC1B,oBAAe,GAAG,KAAK,CAAC;QAExB,eAAU,GAAY,KAAK,CAAC;QAE5B,mBAAc,GAAG,KAAK,CAAC;QACvB,mBAAc,GAAG,KAAK,CAAC;QACvB,aAAQ,GAAG,KAAK,CAAC;QAUf,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAE/C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QAErE,IACE,CAAC,YAAY,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC;YACtE,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAC9B;YACA,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CACpE;gBACE,KAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC,EACD,UAAC,GAAG;gBACF,KAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC,CACF,CAAC;SACH;aAAM;YACL,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;IACH,CAAC;IAED,0CAAQ,GAAR;QAAA,iBA0BC;QAzBC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAC9C,UAAC,MAAwB;YACvB,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClB,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;gBAC5C,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC9B,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAE9B,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;gBACpC,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;aACrC;iBAAM;gBACL,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,KAAK,GAAG,6BAA6B,CAAC;aAC5C;QACH,CAAC,EACD,UAAC,KAAU;YACT,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CACF,CAAC;IACJ,CAAC;IAED,oCAAE,GAAF;QACE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IACH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGCzGwN,uJAAoE,KAAQ,+OAAuI,YAA7C;;wBAAoC;MAA9H,wBAAuI,KAAU,uNAAgL,KAAc,sHAAM,kFAA+B,iCAAhL,6CAAgC,GAAY,6CAA6B,GAAY,6CAA6B,GAArK,YAAgL,EAA7H,SAAgC,EAAY,SAA6B,EAAY,SAA6B,GAA+B,kEAA+B;uGAAlnB,+IAA2E,KAAM,6IAAuB,KAAQ,4IAAsB,kGAAqB,MAAuB,mdAAoE,IAAyZ,6IAAuB,KAAQ,4OAAkH,YAA3B;;wBAAkB;MAAzG,wBAAkH,qFAAiB,kJAAsB,kDAAhpB,mBAAkC,kBAAvC,YAAoE,EAA/D,SAAkC;uGAA6zD,wIAA4C,KAAQ,4IAAsB,KAAU,oJAA8B,+HAAQ,mFAAM,MAAoC,4IAAsB,KAAU,sHAAI,KAAY,0HAAQ,gFAA2B,MAAqB,8EAAM,2PAAyI,YAAnC;;wBAAsB;MAA5H,wBAAyI,wDAA/L,kEAA2B;uGAAuN,uIAAoC,KAAQ,4IAAsB,KAAU,oJAA8B,iFAAI,MAA2B,4IAAsB,KAAU,sHAAI,KAAY,yHAAO,0bAAoF;uGAAqZ,4IAA8G,KAAQ,+OAAmH,YAAzB;;wBAAgB;MAA1G,wBAAmH,uFAAmB,mJAAuB;uGAAyC,4LAA0Q,KAAQ,+OAAuH,YAA7B;;wBAAoB;MAA9G,wBAAuH,0GAA4B,yJAA6B,wDAAvY,+CAAsD,gBAAQ,iDAAyD,gBAAQ,8EAAyE,GAAnQ,YAA0Q,EAA/M,SAAsD,EAAQ,SAAyD,EAAQ,SAAyE;uGAAwO,6IAA+D,KAAQ,8IAAwB,KAAU,yHAAmB,gHAA+B,sMAAyE;uGAAjwG,yJAAmC,KAAQ,4IAAsB,6FAAyB,8JAAkC,KAAmC,uIAAiB,KAAQ,4IAAsB,KAAU,oJAA8B,mFAAM,MAA2B,4IAAsB,KAAU,sHAAI,KAAY,0HAAO,iFAAiB,MAAuD,wIAAiB,KAAQ,6IAAsB,KAAU,qJAA8B,iFAAI,MAA2B,6IAAsB,KAAU,uHAAI,KAAY,0HAAO,iFAAmB,MAAuD,wIAAiB,KAAQ,6IAAsB,KAAU,qJAA8B,oFAAO,MAA2B,6IAAsB,KAAU,uHAAI,KAAY,0HAAO,iFAAe,MAAuD,wIAAiB,KAAQ,6IAAsB,KAAU,qJAA8B,yFAAO,MAA2B,6IAAsB,KAAU,uHAAI,KAAY,0HAAO,iFAAqB,MAAuD,2YAA4C,IAAka,2YAAoC,IAAuS,0JAAmC,KAAQ,6IAAsB,+HAAwC,MAAuB,6IAAsB,KAAQ,6OAAkH,YAA3B;;wBAAkB;MAAzG,wBAAkH,qFAAiB,mJAAsB,KAAuC,2YAA8G,IAA8M,2YAA0Q,IAAiO,2YAA+D,iIAAx9D,mBAA0B,qBAA/B,aAA4C,EAAvC,SAA0B,GAAob,mBAAkB,aAAvB,aAAoC,EAA/B,SAAkB,GAA8pB,yFAAmE,IAA/E,aAA8G,EAAlG,SAAmE,GAAyP,yDAAuC,IAAnD,aAA0Q,EAA9P,SAAuC,GAA6b,yDAAuC,IAA5C,aAA+D,EAA1D,SAAuC,mDAA3vF,yDAAiB,GAAoO,2DAAmB,GAAuO,uDAAe,GAAuO,6DAAqB;uGAFtgE,+LAEmC,KAAI,qaAA2E,IAA2yB,4HAA2B,kDAAx3B,sHAAiD,GAA1E,YAA2E,EAAlD,oBAAiD,2BAFvF,yBACzB,EADD,YAEmC,EAFT,SACzB;uRADD,0YAEmC,iDAF3B,qBAAc,OAAtB,YAEmC,EAF3B,SAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuE;AASP;AACQ;AACJ;AACzB;AACZ;AAE/B;IAmCE,2BACU,YAA0B,EAC1B,aAA4B;QAFtC,iBASC;QARS,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAf9B,aAAQ,GAAqB,IAAI,4CAAO,EAAW,CAAC;QAErD,uBAAkB,GAAY,KAAK,CAAC;QAE3C,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QAKD,aAAQ,GAChB,IAAI,0DAAY,EAAkB,CAAC;QAMnC,IAAI,CAAC,aAAa,CAAC,YAAY;aAC5B,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,UAAC,KAAK;YACf,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,sCAAU,GAAV,UAAW,EAAU,EAAE,IAAY;QACjC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACpC,CAAC;IAED,gCAAI,GAAJ,UAAK,QAAgB;QAAhB,2CAAgB;QACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,kCAAM,GAAN;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,sCAAU,GAAV;QACE,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,sBAAI,2CAAY;aAAhB;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC;QACtC,CAAC;;;OAAA;IACH,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4GClFD,wHACK,KAAM,gNACwC,KAAc,wMAAqD;4GAA2B,+IAAoD,KAAU,sHAAI,wOAA+H;sRAFlV,+YACK,IAC4I,+YAAoD,iDAFvL,oBACV,qBADJ,YACK,EADS,SACV,GACsK,mBAA0B,qBAAnD,YAAoD,EAA3B,SAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFhE;AACnF;AACK;AAEU;AAErB;AAEqB;AAEhE;IAmCI,gCAAoB,YAAmB,EAAU,cAA8B,EAAU,YAA0B,EAAU,KAAwB;QAAjI,iBAAY,GAAZ,YAAY,CAAO;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAAU,UAAK,GAAL,KAAK,CAAmB;QA5BrJ,UAAK,GAAG,EAAE,CAAC;QACX,YAAO,GAAG,EAAE,CAAC;QACb,aAAQ,GAAG,KAAK,CAAC;QACjB,iBAAY,GAAG,KAAK,CAAC;QAMrB,YAAO,GAAG,KAAK,CAAC;QAEhB,uBAAkB,GAAG,KAAK,CAAC;QAUnB,kBAAa,GAAG,KAAK,CAAC;QAQ5B,IAAI,CAAC,SAAS,GAAG,qEAAW,CAAC,gBAAgB,CAAC;IAChD,CAAC;IAED,yCAAQ,GAAR;QACI,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC;QAEnE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAClF,CAAC;IAED,gDAAe,GAAf;QACI,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED,4CAAW,GAAX;QAAA,iBAaC;QAZG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAG,IAAI,CAAC,cAAc,EAAC;YACnB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;SAC/B;QACD,IAAG,IAAI,CAAC,GAAG,EAAC;YACR,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CACzE;gBACI,KAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC,CACJ,CAAC;SACL;IACL,CAAC;IAGD,oDAAmB,GADnB,UACoB,KAAU;QAD9B,iBASC;QAPG,IAAG,IAAI,CAAC,GAAG,EAAC;YACR,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CACzE;gBACI,KAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC,CACJ,CAAC;SACL;IACL,CAAC;IAED,gDAAe,GAAf;QACI,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,qDAAoB,GAApB;QAAA,iBA6BC;QA5BG,IAAI,CAAC,cAAc,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE5D,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,UAAC,EAAa;gBAAX,wBAAS;YAC7C,IAAG,SAAS;gBACR,KAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7G,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,mBAAmB,GAAG;;;;;wBACtC,IAAI,IAAI,CAAC,aAAa,EAAE;4BACpB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;4BACxC,sBAAO;yBACR;wBACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;;;;wBAEpB,eAAI,CAAC,cAAc,EAAC,mBAAmB;wBAAC,qBAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;4BAArF,qBAAM,cAAwC,SAAuC,EAAC;;wBAAtF,SAAsF,CAAC;wBACvF,mCAAmC;wBACnC,IAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB;4BACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;;;;wBAEpI,OAAO,CAAC,KAAK,CAAC,KAAG,CAAC,CAAC;;;;;aAExB,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,UAAC,KAAK;YAChC,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,8CAAa,GAAb;QAAA,iBAkDC;QAjDG,IAAI,CAAC,GAAG,GAAG,IAAI,oEAA4B,EAAE;aAC5C,OAAO,CAAC,YAAY,EAAE;YACnB,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,iEAAyB,CAAC,UAAU;SAChD,CAAC;aACH,KAAK,EAAE,CAAC;QAET,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAG,UAAO,SAAS;;;4BACtC,qBAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;;wBAArF,SAAqF,CAAC;;;;aACzF,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAgB,EAAG,UAAO,SAAS;;gBAC3C,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC;;;aACpD,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,UAAO,IAAI;;;;;wBAClC,IAAI,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;6BAC/C,KAAI,CAAC,IAAI,KAAK,OAAO,GAArB,wBAAqB;wBACrB,qBAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC;;wBAApD,SAAoD,CAAC;wBAI/C,eAAI,CAAC,cAAc,EAAC,mBAAmB;wBAAC,qBAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;;oBAFtF,6CAA6C;oBAC7C,yDAAyD;oBACzD,qBAAM,cAAwC,SAAwC,EAAC;;wBAFvF,6CAA6C;wBAC7C,yDAAyD;wBACzD,SAAuF,CAAC;wBAExF,4DAA4D;wBAE5D,IAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB;4BACnC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;;;6BAE/H,KAAI,CAAC,IAAI,KAAK,QAAQ,GAAtB,wBAAsB;wBAC7B,qBAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC;;wBAApD,SAAoD,CAAC;;;wBAErD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;;;;;aAE5C,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAG,UAAO,CAAC;;gBACpC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC/C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC;gBAChD,IAAI,CAAC,oBAAoB,EAAE,CAAC;;;aAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAG;;gBAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;;;aAClC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,IAAI,cAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC,IAAI,CAAC;YACjD,KAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,6CAAY,GAAZ;QACI,IAAG,IAAI,CAAC,cAAc;YAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACrC,IAAG,IAAI,CAAC,MAAM,EAAC;YACX,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,UAAS,KAAS;gBAC9C,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;SACN;QACD,IAAG,IAAI,CAAC,WAAW,EAAC;YAChB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,UAAS,KAAS;gBACnD,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED,kDAAiB,GAAjB;QAAA,iBAkCC;QAjCG,IAAI,GAAG,GAAQ,SAAS,CAAC;QACzB,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,eAAe,CAAC;QACrF,IAAI,GAAG,CAAC,YAAY,EAAE;YAClB,GAAG,CAAC,YAAY,CAAC;gBACb,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;aACV,EACD,UAAC,MAAmB;gBAEhB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBAErB,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE;gBACjC,wDAAwD;gBACxD,KAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,YAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAA/B,CAA+B,CAAC,CAAC;gBAClF,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC;gBACzD,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAE3B,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,UAAC,KAAK;oBAC7B,YAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAA3C,CAA2C,CAAC,CAAC;YACrD,CAAC,EACD;gBACI,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,KAAK,GAAG,gGAAgG,CAAC;gBAC9G,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAC3B,KAAI,CAAC,YAAY,EAAE,CAAC;YACxB,CAAC,CACJ,CAAC;SACL;aAAM;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,uKAAuK,CAAC;YACrL,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;IACL,CAAC;IACS,2CAAU,GAAlB;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAEO,yCAAQ,GAAhB;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,sBAAI,yCAAK;aAAT;YACI,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,2CAAO;aAAX;YACE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACxB,CAAC;;;OAAA;IAEL,6BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGChP4hC,2mBAAyL,iDAApC,mBAAmC,0BAA1G,+CAAsC,EAApH,YAAyL,EAApC,SAAmC,EAA1G,SAAsC;yGAA/O,uIAAkC,KAAU,uLAAiE,KAAc,4YAAyL,IAA8D,wMAAqD,KAAsB,gNAA6D,kDAA5W,oBAA0B,oBAA7C,YAAyL,EAAtK,SAA0B;yGAA+pC,uPAAiH,YAA7C;;wBAA+B;MAAnG,wBAAiH;yGAAxK,wHAA4C,sFAAW,kZAAiH,iDAA5D,qBAAc,OAAnE,YAAiH,EAA5D,SAAc,2BAA9E,6DAAW;yGAAnyB,wIAAkC,KAAU,sKAAgD,KAAc;;;;;;;;;;;wBAAgnB;MAAngB;;wBAAgB;MAAkN;;wBAAyB;MAAwO;;wBAA+B;MAA/mB,6iBAAgnB,MAAkB,qdAA4C,IAAqL,sJAAgC,KAAc,sQAA8G,YAArB;;wBAAoB;MAA7G,wBAA8G,2FAAS,qJAAyB,KAAI,+EAAwB,iLAAkE,KAAuC,uHAAK,kDAA5lC,mBAAY,EAA4H,4DAAmD,EAA3H,mBAAmB,UAA0H,mBAAiC,eAA9Q,mBAAc,EAAmhB,mBAA+B,eAAlgB,oBAAgB,OAAkN,oBAAyB,YAAxW,YAAgnB,EAAjiB,SAAY,EAA4H,SAAmD,EAA3H,SAAmB,EAA0H,SAAiC,EAA9Q,SAAc,EAAmhB,SAA+B,EAAlgB,UAAgB,EAAkN,UAAyB,GAAgS,oBAAqC,OAA3C,YAA4C,EAAtC,UAAqC,mDAAnT,wCAAwC,GAAkB,mBAA8B,YAAkB,qBAA8B,OAAkB,mBAA0C,iBAA9jB,YAAgnB,EAAtP,SAAwC,EAAkB,SAA8B,EAAkB,SAA8B,EAAkB,SAA0C,GAAyZ,qBAAkB,OAAxF,YAA8G,EAAxC,UAAkB,GAAuH,qBAA8B,eAAjE,aAAkE,EAA/B,UAA8B;yGAAyJ,uKAAoE,wDAApB,mBAAmB,QAAnE,YAAoE,EAApB,SAAmB;yGAAmC,oLAAiF,wDAAtB,mBAAqB,UAAhF,YAAiF,EAAtB,SAAqB;yGAF7/F,2IACoB,KACf,uIAAiB,KAAU,mKAA6C,KAAc,sHAAI,gFAAuB,MAAuC,wIAAiB,KAAU,iKAA2C,KAAc,6IAAuB,KAAkB,2JAAqC,KAAI,6EAA6B,MAA8B,sJAA+B,KAAc,iJAA0B,KAAkB,qJAA8B,KAAI,8EAA6B,MAA8B,sJAA+B,KAAc,yIAAkB,KAAkB,wJAAiC,KAAI,8EAA+B,MAA8B,sJAA+B,KAAc,8IAAkB,KAAkB,uJAAgC,KAAI,8EAAgC,MAAsC,6YAAkC,IAAkgB,6YAAkC,IAAqwC,wIAAiB,KAAU,wKAAiD,KAAc,6YAAoE,IAAkC,6YAAiF,iDAA3kE,oBAAgB,UAAjC,aAAkC,EAAjB,SAAgB,GAAohB,oBAAgB,UAAjC,aAAkC,EAAjB,SAAgB,GAAq2C,mBAAe,UAApB,aAAoE,EAA/D,SAAe,GAAuF,mBAAa,QAAlB,aAAiF,EAA5E,SAAa,mDAF17F,yBAAY,EAAjB,YACoB,EADf,SAAY,GAE8E,gEAAuB,GAA6M,uDAA6B,GAAyJ,wDAA6B,GAAoJ,0DAA+B,GAAmJ,2DAAgC;yGAA4rE,uIAA4C,KAAM,uKAAiD,KAAU,sJAAgC,+OAAiI;mRAFt0G,4YACoB,IACoiG,4YAA4C,iDAFllG,oCACC,sBADnB,YACoB,EADF,SACC,GACsjG,mBAA0B,qBAA3C,YAA4C,EAA3B,SAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACF/9F;AAE3F;AACa;AAEU;AAGF;AAEnB;AACsB;AACD;AACI;AAEpE;IAiEI,6BACY,YAAmB,EACnB,MAAc,EACd,YAA0B,EAC1B,KAAwB,EACxB,WAAwB,EACxB,aAA4B;QAL5B,iBAAY,GAAZ,YAAY,CAAO;QACnB,WAAM,GAAN,MAAM,CAAQ;QACd,iBAAY,GAAZ,YAAY,CAAc;QAC1B,UAAK,GAAL,KAAK,CAAmB;QACxB,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;QA9CxC,UAAK,GAAG,EAAE,CAAC;QACX,YAAO,GAAG,EAAE,CAAC;QACb,aAAQ,GAAG,KAAK,CAAC;QACjB,iBAAY,GAAG,KAAK,CAAC;QAErB,YAAO,GAAG,KAAK,CAAC;QAChB,sBAAiB,GAAG,KAAK,CAAC;QAG1B,WAAM,GAAG,CAAC,CAAC;QAEX,mBAAc,GAAG,KAAK,CAAC;QAGvB,YAAO,GAAW,QAAQ,CAAC;QAG3B,uBAAkB,GAAG,KAAK,CAAC;QAYnB,kBAAa,GAAG,KAAK,CAAC;QAmB1B,IAAI,CAAC,SAAS,GAAG,qEAAW,CAAC,gBAAgB,CAAC;IAElD,CAAC;IAED,sCAAQ,GAAR;QACI,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QAE1D,IAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAC;YAChD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YACrC,OAAO;SACV;QAED,IAAI,CAAC,KAAK,GAAgB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACnD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEtC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACrE,CAAC;IAED,wDAA0B,GAA1B;QACI,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,6BAA6B,CAAC;QAEtE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3D,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEhE,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,6CAAe,GAAf;QACI,IAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAC;YAChD,OAAO;SACV;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED,yCAAW,GAAX;QAAA,iBAwBC;QAvBG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAG,IAAI,CAAC,KAAK,EAAC;YACV,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SAC5B;QACD,IAAG,IAAI,CAAC,WAAW,EAAC;YAChB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;SAChC;QACD,IAAG,IAAI,CAAC,gBAAgB,EAAC;YACrB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC9C;QAED,IAAG,IAAI,CAAC,cAAc,EAAC;YACnB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;SAC/B;QAED,IAAG,IAAI,CAAC,GAAG,EAAC;YACR,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CACxH;gBACI,KAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC,CACJ,CAAC;SACL;IACL,CAAC;IAGD,iDAAmB,GADnB,UACoB,KAAU;QAD9B,iBASC;QAPG,IAAG,IAAI,CAAC,GAAG,EAAC;YACR,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CACxH;gBACI,KAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC,CACJ,CAAC;SACL;IACL,CAAC;IAED,6CAAe,GAAf;QACI,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,kDAAoB,GAApB;QAAA,iBA6BC;QA5BG,IAAI,CAAC,cAAc,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE5D,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,UAAC,EAAa;gBAAX,wBAAS;YAC7C,IAAG,SAAS;gBACR,KAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,QAAQ,EAAE,EAAE,KAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvK,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,mBAAmB,GAAG;;;;;wBACtC,IAAI,IAAI,CAAC,aAAa,EAAE;4BACpB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;4BACxC,sBAAO;yBACR;wBACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;;;;wBAEpB,eAAI,CAAC,cAAc,EAAC,mBAAmB;wBAAC,qBAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;4BAArF,qBAAM,cAAwC,SAAuC,EAAC;;wBAAtF,SAAsF,CAAC;wBACvF,mCAAmC;wBACnC,IAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB;4BACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;;;;wBAEnL,OAAO,CAAC,KAAK,CAAC,KAAG,CAAC,CAAC;;;;;aAExB,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,UAAC,KAAK;YAChC,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,2CAAa,GAAb;QAAA,iBA+CC;QA9CG,IAAI,CAAC,GAAG,GAAG,IAAI,oEAA4B,EAAE;aAC5C,OAAO,CAAC,YAAY,EAAE;YACnB,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,iEAAyB,CAAC,UAAU;SAChD,CAAC;aACH,KAAK,EAAE,CAAC;QAET,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAG,UAAO,SAAS;;;;wBACtC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;wBAC9B,qBAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;;wBAArF,SAAqF,CAAC;;;;aACzF,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,UAAO,IAAI;;;;;wBAClC,IAAI,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;6BAC/C,KAAI,CAAC,IAAI,KAAK,OAAO,GAArB,wBAAqB;wBACrB,qBAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC;;wBAApD,SAAoD,CAAC;wBAI/C,eAAI,CAAC,cAAc,EAAC,mBAAmB;wBAAC,qBAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;;oBAFtF,6CAA6C;oBAC7C,yDAAyD;oBACzD,qBAAM,cAAwC,SAAwC,EAAC;;wBAFvF,6CAA6C;wBAC7C,yDAAyD;wBACzD,SAAuF,CAAC;wBAExF,gEAAgE;wBAEhE,IAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB;4BACnC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;;;6BAEzH,KAAI,CAAC,IAAI,KAAK,QAAQ,GAAtB,wBAAsB;wBAC7B,qBAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;;wBAA/E,SAA+E,CAAC;;;wBAEhF,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;;;;;aAE5C,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAG,UAAO,CAAC;;gBACpC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC/C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC;gBAChD,IAAI,CAAC,oBAAoB,EAAE,CAAC;;;aAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAG;;gBAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;;;aAClC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,IAAI,cAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC,IAAI,CAAC;YACjD,KAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,KAAI,CAAC,KAAK,CAAC,CAAC;QACrH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0CAAY,GAAZ;QACI,IAAG,IAAI,CAAC,cAAc;YAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACrC,IAAG,IAAI,CAAC,MAAM,EAAC;YACX,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,UAAC,KAAS;gBACtC,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;SACN;QACD,IAAG,IAAI,CAAC,WAAW,EAAC;YAChB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,UAAS,KAAS;gBACnD,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED,+CAAiB,GAAjB;QAAA,iBAmCC;QAlCG,IAAI,GAAG,GAAQ,SAAS,CAAC;QACzB,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,eAAe,CAAC;QACrF,IAAI,GAAG,CAAC,YAAY,EAAE;YAClB,GAAG,CAAC,YAAY,CAAC;gBACb,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;aACV,EACD,UAAC,MAAmB;gBAEhB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBAErB,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE;gBACjC,wDAAwD;gBACxD,KAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,YAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAA/B,CAA+B,CAAC,CAAC;gBAClF,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC;gBAC7D,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAE3B,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,UAAC,KAAK;oBAC7B,YAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAA3C,CAA2C,CAAC,CAAC;YAErD,CAAC,EACD;gBACI,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,KAAK,GAAG,gGAAgG,CAAC;gBAC9G,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAC3B,KAAI,CAAC,YAAY,EAAE,CAAC;YACxB,CAAC,CACJ,CAAC;SACL;aAAM;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,uKAAuK,CAAC;YACrL,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;IACL,CAAC;IAED,wCAAU,GAAV,UAAW,KAAU,EAAE,CAAS;QAC5B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAG,IAAI,CAAC,IAAI,IAAI,IAAI,EAAC;YACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEvB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;gBACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SACxB;IACH,CAAC;IAED,sCAAQ,GAAR;QAAA,iBA4BC;QA3BC,IAAG,IAAI,CAAC,IAAI,IAAI,IAAI,EAAC;YACnB,OAAO;SACR;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;aAC9F,SAAS,CAAC,WAAC;YACR,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAG,CAAC,CAAC,OAAO,EAAC;gBACT,KAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gBACzB,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC;oBACtC,KAAI,CAAC,QAAQ,EAAE,CAAC;gBACpB,CAAC,EAAE,KAAK,CAAC,CAAC;aACb;QACL,CAAC,EACD,WAAC;YACG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC;gBACtC,KAAI,CAAC,UAAU,EAAE,CAAC;YACtB,CAAC,EAAE,KAAK,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,wCAAU,GAAlB;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAEO,sCAAQ,GAAhB;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,sBAAI,sCAAK;aAAT;YACI,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,wCAAO;aAAX;YACE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACxB,CAAC;;;OAAA;IAEC,sBAAI,qCAAI;aAAR;YACE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI;gBAChB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAG,CAAC,CAAC,IAAI,UAAK,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAK,EAA7C,CAA6C,CAAC;gBACrE,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;QACtC,CAAC;;;OAAA;IAED,sBAAI,sCAAK;aAAT;YACI,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,CAAC;;;OAAA;IAEP,0BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qGChXmB,6IACiB,oGAAkB;qGAAQ,+IAAiD,KAAM,sHAAI,yKAA8C,KAAI,6GAAqC;qGAA8D,uIAAkD,KAAQ,g3BAA4E,iDAApD,mBAAe,QAAC,oBAAmB,EAAC,mBAAe,QAA3E,YAA4E,EAApD,SAAe,EAAC,SAAmB,EAAC,SAAe;qGAA4C,mKAAmG,kRAAmF;qGAAc,sMAA+J,KAAQ,sHAAI,qHAAmC,MAAK,sHAAI,8IAAkD;qGAAzqB,wHAAqC,KAAM,wYAAkD,IAA+H,wYAAmG,IAAiG,wYAA+J,iIAAngB,mBAAgC,2BAAjD,YAAkD,EAAjC,SAAgC,GAAqI,sDAAqD,mBAA1D,YAAmG,EAA9F,SAAqD,GAA0N,sGAA8E,IAA9J,YAA+J,EAA/E,SAA8E;qGAFlyB,4JACgB,KAAI,wYACiB,IAA0B,wYAAiD,IAAoH,wYAAqC,iDAAnP,oBAAc,QADhB,YACiB,EAAf,SAAc,GAAgC,kCAAuB,SAA5B,YAAiD,EAA5C,SAAuB,GAAuJ,iCAAsB,SAApC,YAAqC,EAAvB,SAAsB;qGAAmrB,mLAA8E,wDAApB,mBAAmB,QAA7E,YAA8E,EAApB,SAAmB;qGAFxgC,wYACgB,IAC26B,wYAA8E,iDADxgC,oBAAc,QADf,YACgB,EAAf,SAAc,GACi7B,mBAAa,QAAlB,YAA8E,EAAzE,SAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACF78B;AAAA;AAAA;AAAA;AAAA;AAA6D;AACJ;AAGO;AAEhE;IAcE,yBAAoB,KAAqB,EAC/B,YAA0B,EAC1B,MAAc;QAFJ,UAAK,GAAL,KAAK,CAAgB;QAC/B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAE7B,kCAAQ,GAAR;QAAA,iBAmBC;QAlBC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QAE9C,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;iBAC1D,SAAS,CAAC,WAAC;gBACV,IAAI,CAAC,EAAE;oBACL,KAAI,CAAC,KAAK,GAAG,CAAC,CAAC;oBACf,IAAG,CAAC,KAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,KAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAC;wBACvF,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,EAAC,KAAK,EAAE,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,KAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAI,CAAC,KAAK,EAAC,EAAC,EAAC,CAAC,CAAC;qBACjG;iBACF;qBAAM;oBACL,KAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC;iBACpC;YACH,CAAC,EACC,cAAQ,KAAI,CAAC,KAAK,GAAG,yCAAyC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxE;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;SACxB;IACH,CAAC;IAED,qCAAW,GAAX;QACE,IAAI,IAAI,CAAC,aAAa;YACpB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAEH,sBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sGChDysB,6xBAAsD,+EAAU,2BAAzB,kBAAc,uBAArD,YAAsD,EAAf,8BAAc,uBAArD,YAAsD,EAAf,SAAc,2BAAC,kEAAU;sGAAwkB,6xBAAmD,+EAAU,2BAAzB,kBAAc,uBAAlD,YAAmD,EAAf,8BAAc,uBAAlD,YAAmD,EAAf,SAAc,2BAAC,kEAAU;sGAAqhB,6xBAAqD,+EAAU,2BAAzB,kBAAc,uBAApD,YAAqD,EAAf,8BAAc,uBAApD,YAAqD,EAAf,SAAc,2BAAC,kEAAU;sGAAkc,6xBAAiD,+EAAU,2BAAzB,kBAAc,uBAAhD,YAAiD,EAAf,8BAAc,uBAAhD,YAAiD,EAAf,SAAc,2BAAC,kEAAU;sGAAoU,0IAA8C,KAA0B,0HAAO,KAA8B;;;;;;;;;;;;;;;;;;29DAAgF,IAA8B,uIAAiB,4JAAgC,KAAW,8EAAkE,2BAAxN,2BAAgB,EAAC,2BAA2B,EAAC,kBAAc,uBAA/E,YAAgF,EAA5D,SAAgB,EAAC,SAA2B,EAAC,SAAc,GAA1C,4BAA2B,EAAhE,YAAgF,EAA3C,UAA2B,2BAAhE,8sBAAgF,GAA0F,qEAAkE;sGAAzY,uHAA0B,KAAsB,kdAA8C,iDAA3B,mBAA0B,WAA7C,YAA8C,EAA3B,SAA0B;sGAAqgC,4IAAmD,KAA8B,yHAAO,KAAkC,wNAAgH,YAArF;;wBAA6C;MAAxE,wBAAgH,KAAkC,uIAAiB,0JAA+B,KAAW,6EAA2E,yDAA/M,0CAAsC,wBAA/G,YAAgH,EAAvC,SAAsC,GAA8F,kEAA2E;sGAArhB,uHAAkC,KAA0B,8IAAwB,0FAAa,MAAkC,kdAAmD,IAAia,2JAAuE,oIAA6F,mDAAlmB,mBAA4B,YAAlD,YAAmD,EAA7B,SAA4B,mDAAqa,mBAAsB,cAAzB,YAAuE,EAApE,SAAsB;sGAAwxD,0IAA2C,KAA0B,0HAAO,KAA8B;;;;;;;;;;;;;;;;;;29DAAsE,IAA8B,uIAAiB,4JAAgC,KAAW,8EAAkE,2BAA9M,sBAAW,EAAC,sBAAsB,EAAC,kBAAc,uBAArE,YAAsE,EAAlD,SAAW,EAAC,SAAsB,EAAC,SAAc,GAArC,uBAAsB,EAAtD,YAAsE,EAAtC,UAAsB,2BAAtD,8sBAAsE,GAA0F,qEAAkE;uGAA0G,8IAA2C,KAAc,+IAAwB,KAAkB,8IAAwB,kFAAK,MAA0B,qHAAG,gFAAW,MAAsB,6IAAsB,KAAsB,yHAAO,KAA0B;;;;;;g2CAAiD,IAA0B,wIAAiB,2JAA+B,KAAW,yJAAsG,2BAArN,yBAAyB,EAAhD,aAAiD,EAA1B,SAAyB,mDAA9J,oDAAW,GAAmG,qtBAAiD;uGAAkhB,uKAAoE,wDAApB,mBAAmB,QAAnE,YAAoE,EAApB,SAAmB;sGAFl6O,kKAAoC,KAC/B,6IACE,KAAU,4IAAsB,yJAAwD,MAAe,sHAAK,KAAkB;;;;;wBAAiE;MAA3D;;wBAAuB;MAA7B,i0BAAiE,IAAU,wJAAgC,KAAgB,8JAAsC,KAAkB,wJAAgC,KAAsB,oKAA0D,KAA0B,wKAA2C,0FAAa,MAAkC;;;;;;61CAA4D,IAA8B,w0BAAsC,mFAAO,MAAuC,mdAAsD,IAAgF,4JAA2E,qHAAyF,MAA4E,wJAAgC,KAAwB,gJAAwB,KAA0B,sKAAyC,uFAAK,MAAkC;;;;;;61CAA0D,IAA8B,mdAAmD,IAAgJ,8JAAsC,KAAkB,wJAAgC,KAAsB,gJAAwB,KAA0B,wKAA2C,yFAAO,MAAkC;;;;;;61CAA4D,IAA8B,+yBAAmB,mFAAO,MAAuC,mdAAqD,IAA8H,wJAAgC,KAAsB,gJAAwB,KAA0B,oKAAuC,mFAAM,MAAkC;;;;;;61CAAwD,IAA8B,+yBAAmB,mFAAO,MAAuC,mdAAiD,IAA4J,wJAAiC,KAAkB,qKAAwC,+FAAa,MAA0B,0YAA0B,IAA6b,4JAAgE,yHAAmE,MAAsB,4JAAkE,2LAAsH,MAAkD,wJAAgC,KAAc,+IAAuB,KAAkB,gJAAwB,KAAsB,0YAAkC,IAA+wB,+IAAwB,yFAAY,MAA8B,qgCAAkD,IAAoD,oJAA6B,u6DAA2F,IAAiD,qJAA6B,+5DAAqF,IAAiD,qJAA6B,66DAAoF,IAAiD,qJAA6B,i6DAAuF,IAAiD,qJAA6B,86DAAqF,IAAiD,qJAA6B,+5DAAqF,IAAiD,qJAA6B,k6DAAwF,IAAiD,6JAA2E,6IAAuG,MAAsD,iKAAmC,oFAAO,MAA8B,odAA2C,IAA2Y,4YAA2C,IAA0hB,wKAAgD,KAAc,wMAA0E,sFAAS,sJAAwB,KAAgD,+IAAuB,KAAU,wHAAK,KAAU,4YAAoE,iDAAhwO,mBAAuB,YAArD,YAAiE,EAAnC,SAAuB,GAA+X,+BAA8B,EAA3D,aAA4D,EAA/B,UAA8B,GAAuC,oBAAS,EAAjB,aAAsC,EAA9B,iCAAS,EAAjB,aAAsC,EAA9B,UAAS,GAA2E,oBAA8B,eAAtC,aAAsD,EAA9C,UAA8B,GAAuiB,6BAA4B,EAAzD,aAA0D,EAA7B,UAA4B,GAAuC,oBAA2B,YAAnC,aAAmD,EAA3C,UAA2B,GAAib,+BAA8B,EAA3D,aAA4D,EAA/B,UAA8B,GAAuC,qBAAU,EAAlB,aAAmB,EAAX,kCAAU,EAAlB,aAAmB,EAAX,UAAU,GAAuD,oBAA6B,cAArC,aAAqD,EAA7C,UAA6B,GAAkW,2BAA0B,EAAvD,aAAwD,EAA3B,UAA0B,GAAuC,qBAAU,EAAlB,aAAmB,EAAX,kCAAU,EAAlB,aAAmB,EAAX,UAAU,GAAuD,oBAAyB,UAAjC,aAAiD,EAAzC,UAAyB,GAAmT,oBAAoB,eAAzB,aAA0B,EAArB,UAAoB,GAA28B,0CAA4B,GAAjC,aAAkC,EAA7B,UAA4B,GAAo2B,kCAA+B,EAAjD,aAAkD,EAAhC,UAA+B,GAA2H,sBAAa,EAAC,sBAAc,EAArE,aAA2F,EAAlD,UAAa,EAAC,UAAc,GAArD,yBAAwB,EAAxC,aAA2F,EAA3E,UAAwB,GAA0K,sBAAa,EAAC,sBAAc,EAArE,cAAqF,EAA5C,UAAa,EAAC,UAAc,GAArD,yBAAwB,EAAxC,cAAqF,EAArE,UAAwB,GAAoK,2BAAa,EAAC,2BAAc,EAArE,cAAoF,EAA3C,UAAa,EAAC,UAAc,GAArD,yBAAwB,EAAxC,cAAoF,EAApE,UAAwB,GAAmK,uBAAa,EAAC,uBAAc,EAArE,cAAuF,EAA9C,WAAa,EAAC,WAAc,GAArD,0BAAwB,EAAxC,cAAuF,EAAvE,WAAwB,GAAsK,4BAAa,EAAC,4BAAc,EAArE,cAAqF,EAA5C,WAAa,EAAC,WAAc,GAArD,0BAAwB,EAAxC,cAAqF,EAArE,WAAwB,GAAoK,uBAAa,EAAC,uBAAc,EAArE,cAAqF,EAA5C,WAAa,EAAC,WAAc,GAArD,0BAAwB,EAAxC,cAAqF,EAArE,WAAwB,GAAoK,uBAAa,EAAC,uBAAc,EAArE,cAAwF,EAA/C,WAAa,EAAC,WAAc,GAArD,0BAAwB,EAAxC,cAAwF,EAAxE,WAAwB,GAAoa,qBAAuB,QAA1C,cAA2C,EAAxB,WAAuB,GAAma,qBAAmB,cAA1C,cAA2C,EAApB,WAAmB,GAAyyB,qBAAe,UAApB,cAAoE,EAA/D,WAAe,mDAF92O,yBAAY,EAAjB,YAAoC,EAA/B,SAAY,GAEoH,8sBAAiE,GAAgM,oBAAiC,eAAzD,aAA0D,EAAlC,SAAiC,GAAqH,ouBAA4D,GAA2P,oBAAuB,eAA1B,aAA2E,EAAxE,UAAuB,GAAgZ,ouBAA0D,GAAqd,ouBAA4D,GAAyc,ouBAAwD,GAAw4B,oBAAoB,YAAvB,aAAgE,EAA7D,UAAoB,GAAqI,qBAAsB,aAAzB,aAAkE,EAA/D,UAAsB,GAAysC,ouBAAkD,GAAiF,2uBAA2F,GAA8E,4uBAAqF,GAA8E,4uBAAoF,GAA8E,gvBAAuF,GAA8E,0vBAAqF,GAA8E,0vBAAqF,GAA8E,0vBAAwF,GAAoD,qBAAuB,eAA1B,cAA2E,EAAxE,WAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFr0L;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AAQO;AAEX;AACd;AAE+B;AAEJ;AAEI;AAER;AAEE;AAEJ;AAES;AACX;AAEO;AAEJ;AAEjE;IA6CE,0BACU,EAAe,EACf,iBAAoC,EACpC,eAAgC,EAChC,iBAAoC,EACpC,aAA4B,EAC5B,cAA8B,EAC9B,YAA0B,EAC1B,WAAwB,EACxB,aAA4B,EAC5B,gBAAkC;QAV5C,iBAoBC;QAnBS,OAAE,GAAF,EAAE,CAAa;QACf,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,oBAAe,GAAf,eAAe,CAAiB;QAChC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;QAC5B,qBAAgB,GAAhB,gBAAgB,CAAkB;QArC5C,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QACX,aAAQ,GAAG,KAAK,CAAC;QAEjB,iBAAY,GAAY,KAAK,CAAC;QAC9B,eAAU,GAAY,KAAK,CAAC;QAC5B,gBAAW,GAAY,KAAK,CAAC;QAC7B,YAAO,GAAW,EAAE,CAAC;QAQrB,cAAS,GAAgB,CAAC,IAAI,0EAAS,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAElE,iBAAY,GAAW,CAAC,CAAC,CAAC;QAIlB,uBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC;QAEzB,aAAQ,GAAqB,IAAI,4CAAO,EAAW,CAAC;QAEpD,uBAAkB,GAAY,KAAK,CAAC;QAc1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,YAAY;aAC5B,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,UAAC,KAAK;YACf,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACjC,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,mCAAQ,GAAR;QACE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,sCAAW,GAAX;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,sDAAsD;QACtD,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IAED,qCAAU,GAAV;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC7B,YAAY,EAAE,CAAC,CAAC,EAAE,yDAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpC,UAAU,EAAE,CAAC,CAAC,CAAC;YACf,YAAY,EAAE,CAAC,CAAC,CAAC;YACjB,QAAQ,EAAE,CAAC,CAAC,CAAC;YACb,SAAS,EAAE,CAAC,CAAC,EAAE,yDAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAC5B;gBACE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;aACnB,EACD,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAC7C;YACD,IAAI,EAAE,CAAC,CAAC,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC9B,OAAO,EAAE,CAAC,KAAK,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;IAED,sCAAW,GAAX,UAAY,QAAuB;QACjC,IAAI,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC5D,eAAgB,CAAC,QAAQ,CAAC;YACxB,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,mCAAQ,GAAR;QAAA,iBAuGC;QAtGC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,GAAG;YACjE,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,GAAG;YACjE,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACxB,KAAI,CAAC,UAAU,CACb,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EACjC,GAAG,EACH,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAChC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,GAAG;YAC/D,KAAI,CAAC,UAAU,CACb,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EACjC,KAAI,CAAC,YAAY,EACjB,GAAG,CACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,GAAG;YAC7D,KAAI,CAAC,WAAW,CACd,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EACjC,KAAI,CAAC,YAAY,EACjB,GAAG,CACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,GAAG;YAC9D,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,YAAY;aAChC,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,UAAC,IAAI;YACd,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAC9D;iBAAM;gBACL,IACE,IAAI,CAAC,SAAS,CACZ,UAAC,CAAC,IAAK,QAAC,CAAC,EAAE,KAAK,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EAA1C,CAA0C,CAClD,KAAK,CAAC,CAAC,EACR;oBACA,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBACrD;aACF;QACH,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,eAAe,CAAC,SAAS;aAC3B,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,UAAC,IAAI;YACd,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,EAAE;gBACzC,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAC5C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACjC,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,iBAAiB,CAAC,WAAW;aAC/B,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,UAAC,IAAI;YACd,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,KAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,aAAa,CAAC,OAAO;aACvB,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,UAAC,IAAI;YACd,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,cAAc,CAAC,QAAQ;aACzB,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,UAAC,IAAI;YACd,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAC,IAAI;YACpE,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB;aAClB,GAAG,EAAE;aACL,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,UAAC,IAAI;YACd,IAAI,KAAI,CAAC,kBAAkB,EAAE;gBAC3B,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;YAED,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEL,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB;aACjC,GAAG,EAAE;aACL,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,cAAM,cAAO,CAAC,WAAW,EAAE,EAArB,CAAqB,CAAC,CAAC;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe;aAC/B,GAAG,EAAE;aACL,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,cAAM,cAAO,CAAC,WAAW,EAAE,EAArB,CAAqB,CAAC,CAAC;QAE1C,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,yCAAc,GAAd,UAAe,YAAoB;QAAnC,iBAmBC;QAlBC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QAEtB,IAAI,YAAY,GAAG,CAAC,EAAE;YACpB,IAAI,KAAG,GAAG,IAAI,CAAC,iBAAiB;iBAC7B,GAAG,CAAC,YAAY,CAAC;iBACjB,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC9B,SAAS,CAAC,UAAC,MAAoB;gBAC9B,KAAI,CAAC,WAAW,CACd,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EACjC,KAAI,CAAC,YAAY,EACjB,CAAC,CAAC,CACH,CAAC;gBACF,KAAG,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;SAChC;IACH,CAAC;IAED,qCAAU,GAAV,UAAW,YAAoB,EAAE,YAAoB,EAAE,UAAkB;QACvE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE;YAC3D,IAAI,KAAG,GAAG,IAAI,CAAC,aAAa;iBACzB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,CAAC;iBAC3C,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC9B,SAAS,CAAC,cAAM,YAAG,CAAC,WAAW,EAAE,EAAjB,CAAiB,CAAC,CAAC;SACvC;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,sCAAW,GAAX,UAAY,YAAoB,EAAE,YAAoB,EAAE,QAAgB;QAAxE,iBAiBC;QAhBC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE;YAC1D,IAAI,KAAG,GAAG,IAAI,CAAC,cAAc;iBAC1B,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC;iBACzC,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC9B,SAAS,CAAC,UAAC,MAAiB;gBAC3B,KAAG,CAAC,WAAW,EAAE,CAAC;gBAClB,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBACtC,KAAI,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;gBAC5D,IAAI,iBAAiB,GAAG,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;gBACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,EAAE,KAAK,iBAAiB,EAA1B,CAA0B,CAAC,EAAE;oBACnD,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;iBACnD;YACH,CAAC,CAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,6CAAkB,GAAlB,UAAmB,SAAiB;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,mCAAQ,GAAR;QACE,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;QAC1C,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC;QAC5E,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,UAAU,EAAE;YACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,UAAU;gBACrB,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,kCAAkC,CAAC;YACvC,OAAO;SACR;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,0CAAe,GAAf;QACE,IAAI,UAAU,GAAa,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,8CAAmB,GAAnB,UAAoB,EAAU;QAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,0CAAe,GAAf,UAAgB,EAAU,EAAE,OAAgB;QAC1C,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACxE;IACH,CAAC;IAED,gDAAqB,GAArB,UAAsB,IAAiB;QACrC,IAAI,YAAY,GAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;QAC7D,IAAI,QAAQ,GAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrD,IAAI,SAAS,GAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;QAClD,IAAI,QAAQ,GAAa,IAAI,CAAC,eAAe,EAAE,CAAC;QAChD,IAAI,UAAU,GAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;QACzD,IAAI,SAAS,GAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;QACvD,IAAI,YAAY,GAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;QAE7D,IAAI,CAAC,YAAY,CAAC,qBAAqB,CACrC,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,EACT,YAAY,EACZ,IAAI,CAAC,kBAAkB,EACvB,IAAI,EACJ,IAAI,IAAI,IAAI,CACb,CAAC;IACJ,CAAC;IAED,sBAAI,yCAAW;aAAf;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAED,sBAAI,0CAAY;aAAhB;YACE,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC;gBACjD,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CACjE,CAAC;QACJ,CAAC;;;OAAA;IAED,sBAAI,0CAAY;aAAhB;YACE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAClE,CAAC;;;OAAA;IAED,sBAAI,uCAAS;aAAb;YACE,OAAO,CACL,CAAC,IAAI,CAAC,YAAY;gBAClB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC;gBAC9C,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC9D,CAAC;QACJ,CAAC;;;OAAA;IAED,sBAAI,wCAAU;aAAd;YACE,OAAO,CACL,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI;gBACrC,CAAC,IAAI,CAAC,WAAW;gBACjB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC5D,CAAC;QACJ,CAAC;;;OAAA;IAED,iDAAsB,GAAtB,UAAuB,EAAoB;YAAlB,gBAAK;QACrB,8CAAS,CAA6B;QAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,YAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAhB,CAAgB,CAAC,CAAC,MAAM,GAAG,CAAC;YACtD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IACH,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gHCtZwiC,qqBAA6b,GAA1a,0EAAgM,MAA0O,6EAAwC,mDAAld,+IAAgM,KAAnN,YAA6b,EAA1a,SAAgM,2BAA0O,iEAAwC;gHAA4I,4IAAkD,0dAAkF;gHAAa,4IAAkD,iFAAI;gHAAohB,uKAAoE,wDAApB,mBAAmB,QAAnE,YAAoE,EAApB,SAAmB;gHAFx7E,iKACoB,KACjB,sHAAM,KAAI,6IAAuB,KAAM,4IAAsB,sLAA6G,MAAW,sHAAM,KAAc,8IAAuB,KAAM,uJAAgC,KAAQ,yMAA0J,IAA3E,sLAAkE,KAAmB,4IAAqB,KAAY,qKAA8C,KAAI,gGAAuC,MAA4B,8fAAia,YAA5Y;;wBAAyB;MAA+O;;wBAAgC;MAAU;;wBAAsC;MAA7W,o7BAAia,KAA1C,sLAAiC,IAAxZ,kjBAAia,KAA1C,sLAAiC,IAAxZ,4YAAia,IAAU,2WAAuC,IAAujB,uJAAgC,KAAQ,sHAAG,4FAAe,MAAY,oZAAkD,IAA+F,oZAAkD,IAAiB,4OAA6I,YAA1E;;wBAAuB;MAA1F,wBAA6I,4FAA0B,MAA2B,wJAAgC,KAAQ,2IAAoB,KAAU,wHAAK,8IAAkB,KAAO,2FAAmB,MAAgB,wHAAK,+IAAmB,KAAO,oFAAY,MAAgB,wHAAK,8IAAkB,KAAO,sFAAc,MAA8C,8IAAuB,KAAM,uHAAM,KAAM,oZAAoE,iDAAnsD,mCAA6B,EAA+K,uJAAiC,iBAAhU,qBAAe,EAAmJ,sBAAyB,EAAlK,oBAAmB,UAAU,oBAAmB,UAAiD,oBAA8B,eAAxL,oBAAsB,cAA9E,aAAia,EAAtP,UAA6B,EAA+K,UAAiC,EAAhU,UAAe,EAAmJ,UAAyB,EAAlK,UAAmB,EAAU,UAAmB,EAAiD,UAA8B,EAAxL,UAAsB,GAAyS,uJAAiC,iBAAnY,oBAAyB,cAA9C,aAAia,EAA1C,UAAiC,EAAnY,UAAyB,GAA0Y,uBAAgB,EAA7B,aAAuC,EAA1B,UAAgB,GAA2oB,yCAA2B,GAA/B,aAAkD,EAA9C,UAA2B,GAAsH,yCAA2B,GAA/B,aAAkD,EAA9C,UAA2B,GAAgjB,oBAAe,UAApB,aAAoE,EAA/D,UAAe,mDAF/2E,yBACzB,EADD,YACoB,EADM,SACzB,GAC+V,2KAAkE,mBAAjJ,YAA0J,EAA3E,SAAkE,GAAyK,m5BAAia,GAAs+B,qBAAgC,qBAApI,aAA6I,EAAzC,UAAgC;4RAFl/D,mZACoB,iDADf,mBAAoB,eAAzB,YACoB,EADf,SAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAzB;AAAA;AAAA;AAAA;AAAA;AAMuB;AASyC;AAGO;AAKvE;IAiDE,oCACU,YAA0B,EAC1B,aAA4B;QAFtC,iBAQC;QAPS,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;QA1BtC,kBAAa,GAAG,IAAI,0DAAY,EAAmC,CAAC;QAGpE,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QACX,iBAAY,GAAG,KAAK,CAAC;QACrB,gBAAW,GAAgB,IAAI,IAAI,EAAE,CAAC;QACtC,gBAAW,GAAgB,IAAI,IAAI,EAAE,CAAC;QAGtC,eAAU,GAAgB,IAAI,KAAK,EAAQ,CAAC;QAC5C,iBAAY,GAAgB,IAAI,KAAK,EAAQ,CAAC;QAC9C,aAAQ,GAAgB,IAAI,KAAK,EAAQ,CAAC;QAG1C,cAAS,GAAG,SAAS,CAAC;QACtB,YAAO,GAAG,SAAS,CAAC;QAMpB,oBAAe,GAAY,KAAK,CAAC;QAM/B,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,CAAc;YACvD,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED,iDAAY,GAAZ,UAAa,UAAkB;QAC7B,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,IAAI,OAAO,GAAG,IAAI,IAAI,CACpB,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAC5B,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,6CAAQ,GAAR;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG;YACjB,cAAc,EAAE,CAAC;YACjB,QAAQ,EAAE;gBACR,WAAW;gBACX,cAAc;gBACd,QAAQ;gBACR,OAAO;gBACP,UAAU;gBACV,SAAS;gBACT,QAAQ;aACT;YACD,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAChE,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YACvD,UAAU,EAAE;gBACV,SAAS;gBACT,MAAM;gBACN,QAAQ;gBACR,UAAU;gBACV,KAAK;gBACL,UAAU;gBACV,QAAQ;gBACR,UAAU;gBACV,UAAU;gBACV,aAAa;gBACb,UAAU;gBACV,UAAU;aACX;YACD,eAAe,EAAE;gBACf,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;aACN;YACD,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,6CAAQ,GAAR;QAAA,iBAoCC;QAnCC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAC5C,UAAC,MAAoC;YACnC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YAEnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,CAAC;gBAC3B,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBAClB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;wBAAE,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;;wBACpD,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC/C;YACH,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAE9B,IAAI,KAAI,CAAC,mBAAmB,EAAE;gBAC5B,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACjC,IAAI,QAAQ,GAAG,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;gBAElD,IACE,CAAC,CAAC,QAAQ;oBACV,QAAQ,CAAC,QAAQ,EAAE,IAAI,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAClD;oBACA,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;iBAC7B;gBACD,KAAI,CAAC,WAAW,EAAE,CAAC;aACpB;QACH,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC;YACzC,KAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,qDAAgB,GAAxB,UAAyB,MAAa;QACpC,IAAM,aAAa,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAClD,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,aAAa,EAAE;YACjB,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACrD;QAED,IAAM,eAAe,GAAG,IAAI,IAAI,CAC9B,QAAQ,CAAC,WAAW,EAAE,EACtB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EACvB,CAAC,CACF,CAAC;QAEF,IAAI,kBAAkB,GAAG,IAAI,IAAI,CAC/B,QAAQ,CAAC,WAAW,EAAE,EACtB,QAAQ,CAAC,QAAQ,EAAE,EACnB,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7C,CAAC;QAEF,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE;YAChE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAErD,kBAAkB,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;SAC9D;IACH,CAAC;IAED,6CAAQ,GAAR;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CACrB,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CAAC,OAAO,EAAE,CACf,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;gBAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;aACjC;SACF;QAED,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC;YACzD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;aAC7B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAC7D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAE5B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,oDAAe,GAAf,UAAgB,IAAU;QACxB,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAErE,OACE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,EAA9B,CAA8B,CAAC,IAAI,CAAC,EACrE;YACA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;SAClC;QAED,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;YAC7B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gDAAW,GAAX;QACE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,OAAO,GAAG,IAAI,IAAI,CACpB,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CACnB,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAEO,+CAAU,GAAlB,UAAmB,KAAW,EAAE,KAAW;QACzC,OAAO,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IAChE,CAAC;IAED,4CAAO,GAAP,UAAQ,IAAS;QACf,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACnB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAElD,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3D,OAAO,CACL,WAAW;YACX,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI;gBACvB,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,WAAY,CAAC,OAAO,EAAE,CAAC;YAC9C,CAAC,IAAI,CAAC;YACN,CAAC,IAAI,IAAI,CAAC,OAAO;YACjB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAA3B,CAA2B,CAAC,KAAK,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAA3B,CAA2B,CAAC,KAAK,CAAC,CAAC,CACnE,CAAC;IACJ,CAAC;IAED,4CAAO,GAAP,UAAQ,IAAS;QACf,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAElD,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvD,OAAO,CACL,WAAW;YACX,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAA3B,CAA2B,CAAC,IAAI,CAAC,CACjE,CAAC;IACJ,CAAC;IAED,gDAAW,GAAX;QACE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC;QAE1C,IACE,IAAI,GAAG,IAAI,CAAC,OAAO;YACnB,IAAI,GAAG,IAAI,CAAC,OAAO;YACnB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAC9C;YACA,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBAClD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAChC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;aACpC;YAED,IAAI,CAAC,YAAY,CAAC;gBAChB,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;gBAC1B,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;aACzB,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;SACrC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,qDAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;IAClC,CAAC;IAED,iDAAY,GAAZ,UAAa,KAAsC;QAAnD,iBAiCC;QAhCC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,cAAc,GAAG,UAAU,CAC9B,cAAM,QAAC,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC,EAA9B,CAA8B,EACpC,IAAI,CACL,CAAC;QAEF,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAEnD,IACE,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YACzD,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YAClD,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YACzD,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAClD;YACA,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAC7C;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY;YAAE,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;QAE7D,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY;YAC5D,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;QAE9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,sBAAI,yDAAiB;aAArB;YACE,QAAQ,IAAI,CAAC,WAAY,CAAC,MAAM,EAAE,EAAE;gBAClC,KAAK,CAAC;oBACJ,OAAO,WAAW,CAAC;gBACrB,KAAK,CAAC;oBACJ,OAAO,cAAc,CAAC;gBACxB,KAAK,CAAC;oBACJ,OAAO,QAAQ,CAAC;gBAClB,KAAK,CAAC;oBACJ,OAAO,OAAO,CAAC;gBACjB,KAAK,CAAC;oBACJ,OAAO,UAAU,CAAC;gBACpB,KAAK,CAAC;oBACJ,OAAO,QAAQ,CAAC;gBAClB,KAAK,CAAC;oBACJ,OAAO,QAAQ,CAAC;gBAClB;oBACE,OAAO,EAAE,CAAC;aACb;QACH,CAAC;;;OAAA;IACH,iCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGClYoG,yOAA6J,YAA9B;;wBAAyB;MAAxJ,mtBAA6J,mDAA3D,mBAAuB,gBAAzH,YAA6J,EAA3D,SAAuB,2BAAzE,yBAAY,EAA5D,YAA6J,EAA7G,SAAY;uGAAoH,mPAAoL,YAAvC;;wBAAkC;MAA/K,4tBAAoL,mDAApE,mBAAuB,gBAAvI,YAAoL,EAApE,SAAuB,2BAAzE,yBAAY,EAA1E,YAAoL,EAAtH,SAAY;uGAA4R,8IAAyC,uGAAqB;uGAAm0B,+IAAoD,KAAc,+MAAoN,KAAI,6EAA+C,iCAApN,6DAAwC,GAAgB,6DAAqC,GAAgB,6DAAqC,GAArM,YAAoN,EAAjK,SAAwC,EAAgB,SAAqC,EAAgB,SAAqC,GAAmB,kFAA+C;uGAAoF,qPAAkL,YAArC;;wBAAwB;MAArK,wBAAkL,2FAAsB,mJAAuB;uGAAqC,qjBAA4O,0FAAsB,mJAAuB,0BAAhF,sBAAsB,EAAxE,yIAAoC,GAA3L,YAA4O,EAAnC,SAAsB,EAAxE,SAAoC;uGAAqI,0TAA8Q,YAArG;;wBAA4B;MAArM,wBAA8Q,gHAAiC,mJAAuB;wGAA6H,qHAAuC,KAAkB,yHAA2B,wRAAsF;wGAAuG,4QAA4Q,YAA7C;;wBAA0B;MAAzP,wBAA4Q,qGAAsC,4JAAgC;wGAA4F,qHAAG,KAAsB,yHAA+B,gJAA2E;wGAAjjB,uaAA4Q,IAAuH,yHAAuB,0BAA/X,sJAAyC,GAApE,YAA4Q,EAAjP,oBAAyC;wGAArY,uHAAgC,KAAgB,uaAAuC,IAAiM,yHAAuB,0BAA5P,uIAAmC,GAAtC,YAAuC,EAApC,oBAAmC;uGAAtF,4YAAgC,yGAA3B,6DAA0B,GAA/B,YAAgC,EAA3B,SAA0B;uGAA3sE,wIAA0C,KAAQ,uJAAgC,KAAU,qJAA+B,KAAY,6IAAuB,KAAc,2JAAqC,KAAI,6EAAyB,MAAgB,gJAA0B,KAAc,oJAA8B,KAAI,6EAAyB,MAA8B,qJAA+B,KAAY,yIAAkB,KAAc,uJAAgC,KAAI,8EAA2B,MAAgB,8IAAkB,KAAc,sJAA+B,KAAI,8EAA4B,MAA8B,sJAA+B,KAAY,+IAAmB,KAAc,0JAAmC,KAAI,8EAA+B,MAAgB,4YAAoD,IAAmT,iKAA0C,KAAY,4YAAkL,IAAkF,4YAA4O,IAAoF,uaAA8Q,IAA6F,2HAA0B,kDAAn2C,mBAA0B,qBAA7B,aAAoD,EAAjD,SAA0B,GAAqZ,kBAAmB,8BAAxC,aAAkL,EAA7J,SAAmB,GAAiP,mBAAoB,8BAAzC,aAA4O,EAAvN,SAAoB,GAA4S,kIAA8C,GAAnE,aAA8Q,EAAzP,oBAA8C,2BAAvoD,kEAAyB,GAA0F,kEAAyB,GAA6I,qEAA2B,GAAmF,sEAA4B,GAAiJ,yEAA+B;uGAF5+C,gLACc,KAAI,2JACyD,qFAAgB,MAAU,2YAA6J,IAAmB,2YAAoL,IAA6B,iLAA2E,KAAM,wJAAkC,oGAAuB,MAAW,4YAAyC,IAAgC,qdAA0C,iDAAtnB,mBAAuB,kBAA1C,YAA6J,EAA1I,SAAuB,GAAmK,mBAA2B,sBAAxD,YAAoL,EAAvJ,SAA2B,GAAsU,mBAAgB,WAAxC,aAAyC,EAAjB,SAAgB,GAAkD,mBAAwB,SAAzC,aAA0C,EAAzB,SAAwB,mDAFxuB,yBAAY,EAAjB,YACc,EADT,SAAY,GAEf,6CAAwD,uBADxC,YACyD,EAAzE,SAAwD,GAAwc,mBAA8C,kBAA1E,YAA2E,EAA/C,SAA8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACF/iB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAQV;AACS;AACM;AAEQ;AAEjC;AACqC;AACzB;AAE3C;IA+BE,2BACU,YAAmB,EACnB,EAAe,EACf,MAAc,EACd,YAA0B,EAC1B,aAA4B;QALtC,iBAkBC;QAjBS,iBAAY,GAAZ,YAAY,CAAO;QACnB,OAAE,GAAF,EAAE,CAAa;QACf,WAAM,GAAN,MAAM,CAAQ;QACd,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAnB9B,aAAQ,GAAqB,IAAI,4CAAO,EAAW,CAAC;QAErD,uBAAkB,GAAY,KAAK,CAAC;QAE3C,oBAAe,GAAG,KAAK,CAAC;QACxB,wBAAmB,GAAG,KAAK,CAAC;QAC5B,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QACX,eAAU,GAAY,KAAK,CAAC;QAG5B,WAAM,GAAkB,EAAE,CAAC;QAUzB,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,UAAC,IAAmB;YAC5D,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,YAAY;aAC5B,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,UAAC,KAAK;YACf,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oCAAQ,GAAR;QACE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,uCAAW,GAAX,UAAY,KAAkB;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,sCAAU,GAAV;QACE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,2CAAe,GAAf,UAAgB,KAAkB;QAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,+CAAmB,GAAnB;QACE,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,sBAAI,uCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QAClC,CAAC;;;OAAA;IAED,yCAAa,GAAb,UAAc,KAAkB;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE;YACrC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IACH,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGClGunD,qOAAqG,YAA1B;;wBAAyB;MAApG,wBAAqG,qFAAQ,sJAA0B;yGAAuC,6nBAAmK,oFAAQ,sJAA0B,0BAAzD,sBAAsB,EAA/E,wFAAwD,EAA3I,YAAmK,EAAvB,SAAsB,EAA/E,SAAwD;yGAAp+B,uHAA6B,KAAsB,6IAAuB,kFAA0D,MAA2B,6IAAuB,kFAA0D,MAA2B,6IAAuB,kFAA4D,MAA2B,6IAAuB,kFAA6D,MAA2B,qKAAyC,mFAAgE,MAA2B,4JAAqC,KAA0B,6YAAqG,IAAyE,6YAAmK,yBAAzU,mBAAqB,+BAA7B,aAAqG,EAA7F,SAAqB,GAAyJ,kBAAoB,+BAA5B,aAAmK,EAA3J,SAAoB,2BAA3yB,kEAA0D,GAAkD,kEAA0D,GAAkD,oEAA4D,GAAkD,qEAA6D,GAAoE,yEAAgE;yGAF9hD,iMAEuE,KAAM,wKAAiD,KAAU,2KAAoD,KAAc,0HAAO,KAAkB,wIAAiB,KAAsB,6IAAuB,mFAAoD,MAA2B,6IAAuB,sFAAuD,MAA2B,6IAAuB,wFAAyD,MAA2B,8IAAuB,0FAAsD,MAA2B,sKAAyC,2FAAuD,MAA2B,8IAAuB,qFAAsD,MAAgE,0HAAO,KAAkB,sdAA6B,IAA0nC,6JAAsC,KAAU,+OAAqF,YAAvB;;wBAAsB;MAApF,wBAAqF,oFAAO,oJAAuB,kDAAtzC,mBAAwB,SAA5B,aAA6B,EAAzB,SAAwB,2BAAj+B,yBAAY,EAFpB,YAEuE,EAA/D,SAAY;yGAAyuG,4IAAyC,KAAU,qJAA+B,iFAAI;yGAAuB,4IAAyC,KAAU,sHAAI,8HAAO,ibAAuD;yGAArrC,6KAAkG,KAAM,yJAAmC,KAAU,4IAAsB,gGAAmB,8JAAkC,KAA2B,4IAAsB,KAAU,qJAA+B,mFAAM,MAAuB,4IAAsB,KAAU,sHAAI,+HAAO,iFAAe,MAA+B,6IAAsB,KAAU,sJAA+B,iFAAI,MAAuB,6IAAsB,KAAU,uHAAI,+HAAO,iFAAiB,MAA+B,6IAAsB,KAAU,sJAA+B,oFAAO,MAAuB,6IAAsB,KAAU,uHAAI,+HAAO,iFAAa,MAA+B,6IAAsB,KAAU,sJAA+B,yFAAO,MAAuB,6IAAsB,KAAU,uHAAI,+HAAO,iFAAmB,MAA+B,6YAAyC,IAAoE,6YAAyC,IAA2G,0JAAmC,KAAU,6IAAsB,qHAAmC,MAAuB,6IAAsB,KAAU,6OAA4F,YAAhC;;wBAA+B;MAA3F,wBAA4F,oFAAO,mJAAsB,KAA+B,6IAAsB,KAAU,gPAAgF,YAAjB;;wBAAgB;MAA/E,wBAAgF,iFAAI,oJAAuB,kDAA5rB,mBAAkB,aAAvB,aAAyC,EAApC,SAAkB,GAA2F,mBAAkB,aAAvB,aAAyC,EAApC,SAAkB,mDAArtB,yDAAe,GAAoK,2DAAiB,GAAuK,uDAAa,GAAuK,6DAAmB;yGAAmwB,4KAA2E,KAAM,yJAAmC,KAAU,qHAAG,4IAA6D,4HAAM,iIAAgE,MAA2B,4JAAsC,KAAU,8OAA8F,YAAhC;;wBAA+B;MAA7F,wBAA8F,sFAAS,mJAAuB;yRAF96I,4YAEuE,IAAmuE,4YAAkG,IAAqlD,4YAA2E,iDAFviI,oFAEE,IAFP,YAEuE,EAFlE,SAEE,GAAwyE,6DAA2C,IAAhD,YAAkG,EAA7F,SAA2C,GAA4oD,iCAAoB,GAAzB,YAA2E,EAAtE,SAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFz/H;AAAA;AAAA;AAAA;AAAA;AAAuE;AAER;AACQ;AAGxE;IAgCI,6BAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QALpC,aAAQ,GAAsB,IAAI,0DAAY,EAAO,CAAC;IAMhE,CAAC;IAED,kCAAI,GAAJ;QACI,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,yCAAW,GAAX,UAAY,KAAkB;QAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,sCAAQ,GAAR;QACI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACnC;IACL,CAAC;IAED,oCAAM,GAAN,UAAO,IAAqB;QAArB,mCAAqB;QACxB,IAAI,IAAI;YACJ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;YACtB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IAC1C,CAAC;IACL,0BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;AC/D0E;AAE3E;IAAsC,0EAAY;IAAlD;;IAKA,CAAC;IAAD,uBAAC;AAAD,CAAC,CALqC,+EAAY,GAKjD;;;;;;;;;;;;;;;;;;;;ACPyE;AAE1E;IACI,oBAAmB,OAAe,EACvB,WAAmB,EACnB,KAAa;QAFL,YAAO,GAAP,OAAO,CAAQ;QACvB,gBAAW,GAAX,WAAW,CAAQ;QACnB,UAAK,GAAL,KAAK,CAAQ;IACxB,CAAC;IACL,iBAAC;AAAD,CAAC;;AAED;IAAwC,4EAAY;IAApD;;IAEA,CAAC;IAAD,yBAAC;AAAD,CAAC,CAFuC,+EAAY,GAEnD;;;;;;;;;;;;;;;;;;;;ACXyE;AAE1E;IACI,yBAAmB,OAAe,EAAS,KAAa;QAArC,YAAO,GAAP,OAAO,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAQ;IACxD,CAAC;IACL,sBAAC;AAAD,CAAC;;AAED;IAA6C,iFAAY;IAAzD;;IAGA,CAAC;IAAD,8BAAC;AAAD,CAAC,CAH4C,+EAAY,GAGxD;;;;;;;;;;;;;;;;;;;ACVsF;AAEvF;IAAgC,oEAAkB;IAAlD;;IACA,CAAC;IAAD,iBAAC;AAAD,CAAC,CAD+B,4FAAkB,GACjD;;;;;;;;;;;;;;;;;;;ACHsF;AAEvF;IAA4B,gEAAkB;IAA9C;;IACA,CAAC;IAAD,aAAC;AAAD,CAAC,CAD2B,4FAAkB,GAC7C;;;;;;;;;;;;;;ACHA;AAAA;AAAA;IACG,qBAAmB,OAAe,EACvB,IAAY,EACZ,IAAY,EACZ,MAAc,EACd,UAAkB,EAClB,OAAe,EACf,SAAkB,EAClB,iBAAyB,EACzB,UAAmB,EACnB,WAAmB,EACnB,aAAqB,EACrB,SAAwB,EACxB,kBAA2B,EAC3B,WAAmB;QAbX,YAAO,GAAP,OAAO,CAAQ;QACvB,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAS;QAClB,sBAAiB,GAAjB,iBAAiB,CAAQ;QACzB,eAAU,GAAV,UAAU,CAAS;QACnB,gBAAW,GAAX,WAAW,CAAQ;QACnB,kBAAa,GAAb,aAAa,CAAQ;QACrB,cAAS,GAAT,SAAS,CAAe;QACxB,uBAAkB,GAAlB,kBAAkB,CAAS;QAC3B,gBAAW,GAAX,WAAW,CAAQ;IAC9B,CAAC;IACL,kBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;AChBsF;AAEvF;IAA0B,8DAAkB;IAA5C;;IACA,CAAC;IAAD,WAAC;AAAD,CAAC,CADyB,4FAAkB,GAC3C;;;;;;;;;;;;;;;;;;;ACHsF;AAEvF;IAA8B,kEAAkB;IAAhD;;IACA,CAAC;IAAD,eAAC;AAAD,CAAC,CAD6B,4FAAkB,GAC/C;;;;;;;;;;;;;;;;;;;;;ACHuF;AAExF;IACE,8BAAmB,OAAe,EAAS,KAAuB;QAA/C,YAAO,GAAP,OAAO,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAkB;IAAG,CAAC;IACxE,2BAAC;AAAD,CAAC;;AAED;IACE,wBACS,UAAkB,EAClB,WAAmB,EACnB,SAAiB,EACjB,IAAU,EACV,QAAgB,EAChB,IAAY,EACZ,MAAc,EACd,UAAkB,EAClB,KAAa,EACb,cAAuB,EACvB,UAAuB;QAVvB,eAAU,GAAV,UAAU,CAAQ;QAClB,gBAAW,GAAX,WAAW,CAAQ;QACnB,cAAS,GAAT,SAAS,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAAM;QACV,aAAQ,GAAR,QAAQ,CAAQ;QAChB,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;QAClB,UAAK,GAAL,KAAK,CAAQ;QACb,mBAAc,GAAd,cAAc,CAAS;QACvB,eAAU,GAAV,UAAU,CAAa;IAC7B,CAAC;IAON,qBAAC;AAAD,CAAC;;AAED;IAA+B,mEAAkB;IAAjD;;IAAmD,CAAC;IAAD,gBAAC;AAAD,CAAC,CAArB,4FAAkB,GAAG;;;;;;;;;;;;;;;;;;;AC5BmC;AAEvF;IAA6B,iEAAkB;IAC3C,iBAAY,EAAU,EAAE,IAAY,EAAQ,QAAgB;QAA5D,YACI,kBAAM,EAAE,EAAE,IAAI,CAAC,SAClB;QAF2C,cAAQ,GAAR,QAAQ,CAAQ;;IAE5D,CAAC;IACL,cAAC;AAAD,CAAC,CAJ4B,4FAAkB,GAI9C;;;;;;;;;;;;;;;;;;;ACNsF;AAEvF;IAAgC,oEAAkB;IAAlD;;IACA,CAAC;IAAD,iBAAC;AAAD,CAAC,CAD+B,4FAAkB,GACjD;;;;;;;;;;;;;;;;;;;ACHsF;AAEvF;IAA+B,mEAAkB;IAAjD;;IACA,CAAC;IAAD,gBAAC;AAAD,CAAC,CAD8B,4FAAkB,GAChD;;;;;;;;;;;;;;ACFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmC;AAEe;AAEC;AAEK;AAC4B;AAGpF;IAQI,2BAAoB,IAAgB,EAAU,aAAkC;QAA5D,SAAI,GAAJ,IAAI,CAAY;QAAU,kBAAa,GAAb,aAAa,CAAqB;QAC5E,IAAI,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,EAAE,EAAC,CAAC;QACpC,IAAI,CAAC,YAAY,GAAI,IAAI,kDAAa,CAAC,CAAC,CAAiC,CAAC;IAC9E,CAAC;IAED,+BAAG,GAAH,UAAI,YAAoB;QAAxB,iBAUC;QATG,OAAO,IAAI,CAAC,IAAI;aACX,GAAG,CAAe,qCAAmC,YAAc,CAAC,CAAC,IAAI,CAC1E,0DAAG,CAAC,UAAC,IAAkB;YAEnB,KAAI,CAAC,SAAS,CAAC,WAAW,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,WAAC,IAAI,YAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,mEAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAA7D,CAA6D,CAAC,CAAC;YACjF,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;QACtE,CAAC,EACL,eAAK,IAAI,YAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAzC,CAAyC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,iCAAK,GAAL;QACI,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;IAC1E,CAAC;IAED,sBAAI,0CAAW;aAAf;YACI,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;QAC5C,CAAC;;;OAAA;IACL,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;AC3CD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmC;AAEe;AAEC;AAEH;AACoC;AAGpF;IAOI,uBAAoB,IAAgB,EAAU,aAAkC;QAA5D,SAAI,GAAJ,IAAI,CAAY;QAAU,kBAAa,GAAb,aAAa,CAAqB;QAC5E,IAAI,CAAC,SAAS,GAAG,EAAE,OAAO,EAAE,EAAE,EAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAI,IAAI,kDAAa,CAAC,CAAC,CAA6B,CAAC;IACtE,CAAC;IAED,2BAAG,GAAH,UAAI,YAAoB,EAAE,YAAoB,EAAE,UAAkB;QAAlE,iBAUC;QATG,OAAO,IAAI,CAAC,IAAI;aACX,GAAG,CAAW,iCAA+B,YAAY,sBAAiB,YAAY,oBAAe,UAAY,CAAC,CAAC,IAAI,CACxH,0DAAG,CAAC,UAAC,IAAc;YAEf,KAAI,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,WAAC,IAAI,YAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,2DAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAArD,CAAqD,CAAC,CAAC;YACzE,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC,EACL,eAAK,IAAI,YAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAzC,CAAyC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,6BAAK,GAAL;QACI,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,sBAAI,kCAAO;aAAX;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxC,CAAC;;;OAAA;IACL,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;AC1CD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmC;AAEe;AAEC;AAEC;AACgC;AAGpF;IAOI,yBAAoB,IAAgB,EAAU,aAAkC;QAA5D,SAAI,GAAJ,IAAI,CAAY;QAAU,kBAAa,GAAb,aAAa,CAAqB;QAC5E,IAAI,CAAC,SAAS,GAAG,EAAE,SAAS,EAAE,EAAE,EAAC,CAAC;QAClC,IAAI,CAAC,UAAU,GAAI,IAAI,kDAAa,CAAC,CAAC,CAA+B,CAAC;IAC1E,CAAC;IAED,6BAAG,GAAH;QAAA,iBAUC;QATG,OAAO,IAAI,CAAC,IAAI;aACX,GAAG,CAAa,kBAAkB,CAAC,CAAC,IAAI,CACzC,0DAAG,CAAC,UAAC,IAAgB;YAEjB,KAAI,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,WAAC,IAAI,YAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,+DAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAzD,CAAyD,CAAC,CAAC;YAC7E,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC,EACL,eAAK,IAAI,YAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAzC,CAAyC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,sBAAI,sCAAS;aAAb;YACI,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC1C,CAAC;;;OAAA;IACL,sBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACrCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmC;AAEe;AAEC;AAED;AACkC;AAGpF;IAOI,wBAAoB,IAAgB,EAAU,aAAkC;QAA5D,SAAI,GAAJ,IAAI,CAAY;QAAU,kBAAa,GAAb,aAAa,CAAqB;QAC5E,IAAI,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAC,CAAC;QACjC,IAAI,CAAC,SAAS,GAAI,IAAI,kDAAa,CAAC,CAAC,CAA8B,CAAC;IACxE,CAAC;IAED,4BAAG,GAAH,UAAI,YAAoB,EAAE,YAAoB,EAAE,QAAgB;QAAhE,iBAUC;QATG,OAAO,IAAI,CAAC,IAAI;aACX,GAAG,CAAY,kCAAgC,YAAY,sBAAiB,YAAY,kBAAa,QAAU,CAAC,CAAC,IAAI,CACtH,0DAAG,CAAC,UAAC,IAAe;YAEhB,KAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,WAAC,IAAI,YAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,6DAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAnE,CAAmE,CAAC,CAAC;YACvF,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChE,CAAC,EACL,eAAK,IAAI,YAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAzC,CAAyC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,0CAAiB,GAAjB,UAAkB,SAAiB;QAC/B,IAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,SAAS,EAAlB,CAAkB,CAAC,CAAC;QACvE,IAAI,GAAG,IAAI,CAAC;YACR,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QAEjD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,8BAAK,GAAL;QACI,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED,sBAAI,oCAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QACzC,CAAC;;;OAAA;IACL,qBAAC;AAAD,CAAC;;;;;;;;;;;;;;AClDD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmC;AAEe;AAEC;AAEK;AAC4B;AAGpF;IAOI,2BAAoB,IAAgB,EAAU,aAAkC;QAA5D,SAAI,GAAJ,IAAI,CAAY;QAAU,kBAAa,GAAb,aAAa,CAAqB;QAC5E,IAAI,CAAC,SAAS,GAAG,EAAE,YAAY,EAAE,EAAE,EAAC,CAAC;QACrC,IAAI,CAAC,aAAa,GAAI,IAAI,kDAAa,CAAC,CAAC,CAAiC,CAAC;IAC/E,CAAC;IAED,+BAAG,GAAH;QAAA,iBAUC;QATG,OAAO,IAAI,CAAC,IAAI;aACX,GAAG,CAAe,oBAAoB,CAAC,CAAC,IAAI,CAC7C,0DAAG,CAAC,UAAC,IAAkB;YAEnB,KAAI,CAAC,SAAS,CAAC,YAAY,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,WAAC,IAAI,YAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,mEAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAA9D,CAA8D,CAAC,CAAC;YAClF,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;QAC5E,CAAC,EACD,eAAK,IAAI,YAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAzC,CAAyC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,sBAAI,2CAAY;aAAhB;YACI,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAC7C,CAAC;;;OAAA;IACL,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACrCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmC;AAEe;AAEC;AAGiC;AAIpF;IAII,0BAAoB,IAAgB,EAAU,aAAkC;QAA5D,SAAI,GAAJ,IAAI,CAAY;QAAU,kBAAa,GAAb,aAAa,CAAqB;IAChF,CAAC;IAED,8BAAG,GAAH;QAAA,iBAMC;QALG,OAAO,IAAI,CAAC,IAAI;aACX,GAAG,CAAc,mBAAmB,CAAC;aACjC,IAAI,CAAC,0DAAG,CAAC,cAAK,CAAC,EAChB,eAAK,IAAI,YAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAzC,CAAyC,CAAC,CAAC,CAAC;IAEjE,CAAC;IACL,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BoC;AAEI;AACS;AAEgB;AAEtB;AAE0B;AAC8B;AAI3D;AAG2C;AAChB;AAK1B;AACmC;AAI7E;IAsBE,sBACU,IAAgB,EAChB,aAAkC,EAClC,MAAc,EACd,WAAwB;QAHxB,SAAI,GAAJ,IAAI,CAAY;QAChB,kBAAa,GAAb,aAAa,CAAqB;QAClC,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAa;QAEhC,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,4BAAK,GAAL;QACE,IAAI,CAAC,SAAS,GAAG;YACf,KAAK,EAAE,EAAE;YACT,kBAAkB,EAAE,EAAE;YACtB,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,EAAE;YACjB,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,IAAI;YACnB,iBAAiB,EAAE,CAAC,CAAC;SACtB,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,kDAAa,CAAC,CAAC,CAA0B,CAAC;QAC5D,IAAI,CAAC,mBAAmB,GAAG,IAAI,kDAAa,CAAC,CAAC,CAE7C,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,kDAAa,CAAC,CAAC,CAAoC,CAAC;QAC3E,IAAI,CAAC,gBAAgB,GAAG,IAAI,kDAAa,CAAC,CAAC,CAA0B,CAAC;QACtE,IAAI,CAAC,cAAc,GAAG,IAAI,kDAAa,CAAC,CAAC,CAAiC,CAAC;QAC3E,IAAI,CAAC,aAAa,GAAG,IAAI,kDAAa,CAAC,CAAC,CAA2B,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,IAAI,kDAAa,CAAC,CAAC,CAA2B,CAAC;QACjE,IAAI,CAAC,eAAe,GAAG,IAAI,kDAAa,CAAC,CAAC,CAAwB,CAAC;IACrE,CAAC;IAED,+BAAQ,GAAR;QAAA,iBAaC;QAZC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,oBAAoB,CAAC,CAAC,SAAS,CAC7D,UAAC,IAAY;YACX,KAAI,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,YAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,uDAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAjD,CAAiD,CAAC,CAAC;YACvE,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1D,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,CAAC,EACD,UAAC,KAAK;YACJ,KAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC1C,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,4CAAqB,GAArB,UACE,YAAoB,EACpB,QAAgB,EAChB,SAAiB,EACjB,QAAkB,EAClB,UAAkB,EAClB,SAAiB,EACjB,YAAoB,EACpB,WAAqB,EACrB,IAAU,EACV,WAAoB;QAVtB,iBAmDC;QAvCC,IAAI,aAAa,GAAW,EAAE,CAAC;QAC/B,QAAQ,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,QAAC,aAAa,IAAI,YAAY,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAA9C,CAA8C,CAAC,CAAC;QAExE,IAAI,eAAe,GAAW,EAAE,CAAC;QACjC,WAAW,CAAC,OAAO,CACjB,UAAC,EAAE,IAAK,QAAC,eAAe,IAAI,aAAa,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAlD,CAAkD,CAC3D,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG;YACvB,YAAY;YACZ,QAAQ;YACR,SAAS;YACT,UAAU;YACV,SAAS;YACT,YAAY;YACZ,eAAe;YACf,IAAI;SACL,CAAC;QAEF,IAAI,SAAS,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAE3D,IAAI,CAAC,IAAI;aACN,GAAG,CACF,+CAA6C,YAAY,kBAAa,QAAQ,mBAAc,SAAS,oBAAe,UAAU,mBAAc,SAAS,sBAAiB,YAAY,GAAG,aAAa,GAAG,eAAe,cAAS,SAAW,CACzO;aACA,SAAS,CACR,UAAC,IAAkC;YACjC,KAAI,CAAC,SAAS,CAAC,kBAAkB,GAAG,EAAE,CAAC;YACvC,KAAI,CAAC,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACzC,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,kBAAkB,CACrD,CAAC;YACF,KAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,WAAW,EAAE;gBACf,KAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;aAC7B;QACH,CAAC,EACD,UAAC,KAAK,IAAK,YAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAzC,CAAyC,CACrD,CAAC;IACN,CAAC;IAED,6BAAM,GAAN,UAAO,IAAiB;QAAxB,iBA6BC;QA5BC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;YACpE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAClC,OAAO;SACR;QACD,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAC/B,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI;aACN,GAAG,CACF,mCAAiC,CAAC,CAAC,YAAY,kBAAa,CAAC,CAAC,QAAQ,mBAAc,CAAC,CAAC,SAAS,oBAAe,CAAC,CAAC,UAAU,mBAAc,CAAC,CAAC,SAAS,sBAAiB,CAAC,CAAC,YAAY,cAAS,SAAS,GAAG,CAAC,CAAC,eAAiB,CAC3N;aACA,SAAS,CACR,UAAC,IAA0B;YACzB,KAAI,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,CAAC;YAC/B,KAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;YACvC,KAAI,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC;YACtC,KAAI,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;YAC9C,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;YACpE,KAAI,CAAC,gBAAgB,CAAC,IAAI,CACxB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,eAAe,CAClD,CAAC;YACF,KAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,EACD,UAAC,KAAK,IAAK,YAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAzC,CAAyC,CACrD,CAAC;IACN,CAAC;IAED,0BAAG,GAAH,UAAI,YAAyB;QAA7B,iBAiBC;QAjBG,+CAAwB,CAAC;QAC3B,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;YAC/B,IAAI,CAAC,IAAI;iBACN,GAAG,CAAgB,gCAA8B,YAAc,CAAC;iBAChE,SAAS,CACR,UAAC,IAAmB;gBAClB,KAAI,CAAC,SAAS,CAAC,aAAa,GAAG,EAAE,CAAC;gBAClC,KAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;gBACpC,KAAI,CAAC,cAAc,CAAC,IAAI,CACtB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,aAAa,CAChD,CAAC;YACJ,CAAC,EACD,UAAC,KAAK,IAAK,YAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,EAAzC,CAAyC,CACrD,CAAC;SACL;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,gCAAS,GAAT,UAAU,IAAY;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAc,8BAA4B,IAAM,CAAC,CAAC;IACxE,CAAC;IAED,iCAAU,GAAV,UAAW,KAAa;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAc,gCAA8B,KAAO,CAAC,CAAC;IAC3E,CAAC;IAED,sCAAe,GAAf;QACE,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,sCAAe,GAAf,UACE,OAAe,EACf,WAAmB,EACnB,KAAa;QAHf,iBAgBC;QAXC,OAAO,IAAI,CAAC,IAAI;aACb,GAAG,CACF,sBAAsB,EACtB,IAAI,qEAAU,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAC5C;aACA,IAAI,CACH,0DAAG,CACD,cAAO,CAAC,EACR,UAAC,KAAK,IAAK,YAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAnD,CAAmD,CAC/D,CACF,CAAC;IACN,CAAC;IAED,sCAAe,GAAf,UACE,OAAe,EACf,KAAa;QAFf,iBAeC;QAXC,OAAO,IAAI,CAAC,IAAI;aACb,GAAG,CACF,2BAA2B,EAC3B,IAAI,+EAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CACpC;aACA,IAAI,CACH,0DAAG,CACD,cAAO,CAAC,EACR,UAAC,KAAK,IAAK,YAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAnD,CAAmD,CAC/D,CACF,CAAC;IACN,CAAC;IAED,sCAAe,GAAf,UACE,OAAY,EACZ,KAAa,EACb,KAAa;QAHf,iBAuBC;QAlBC,IAAI,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEpC,IAAI,KAAK,EAAE;YACT,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACjC;QAED,IAAI,KAAK;YACP,KAAc,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;gBAAhB,IAAI,CAAC;gBACR,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAC5B;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,sBAAsB,EAAE,QAAQ,CAAC,CAAC,IAAI,CACvE,0DAAG,CACD,cAAO,CAAC,EACR,UAAC,KAAK,IAAK,YAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAnD,CAAmD,CAC/D,CACF,CAAC;IACJ,CAAC;IAED,6BAAM,GAAN,UAAO,OAAe;QAAtB,iBASC;QARC,OAAO,IAAI,CAAC,IAAI;aACb,MAAM,CAAsB,sBAAoB,OAAS,CAAC;aAC1D,IAAI,CACH,0DAAG,CACD,UAAC,IAAyB,IAAM,CAAC,EACjC,UAAC,KAAK,IAAK,YAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAnD,CAAmD,CAC/D,CACF,CAAC;IACN,CAAC;IAED,mCAAY,GAAZ,UAAa,IAAY;QAAzB,iBASC;QARC,OAAO,IAAI,CAAC,IAAI;aACb,MAAM,CAAsB,4BAA0B,IAAM,CAAC;aAC7D,IAAI,CACH,0DAAG,CACD,UAAC,IAAyB,IAAM,CAAC,EACjC,UAAC,KAAK,IAAK,YAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAnD,CAAmD,CAC/D,CACF,CAAC;IACN,CAAC;IAED,wCAAiB,GAAjB,UAAkB,KAAqB,EAAE,UAAgC;QAAhC,8CAAgC;QACvE,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,2CAAoB,GAApB,UAAqB,OAAe;QAClC,IAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAChD,UAAC,CAAC,IAAK,QAAC,CAAC,OAAO,KAAK,OAAO,EAArB,CAAqB,CAC7B,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;IAC5E,CAAC;IAED,yCAAkB,GAAlB;QAAA,iBAmCC;QAlCC,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,EAAE;YACtC,IAAI,GAAG,GAAG,IAAI,iFAAgB,EAAE,CAAC;YACjC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;YACpB,GAAG,CAAC,OAAO,GAAG,6BAA6B,CAAC;YAC5C,IAAI,GAAG,GAAG,IAAI,oDAAe,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC;SAC3B;QACD,IAAI,IAAI,GAAmB,IAAI,CAAC,SAAS,CAAC,WAAY,CAAC;QACvD,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAmB,kBAAkB,EAAE;YAC1C,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY;YACjD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS;YAC3C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa;YACxC,WAAW,EAAE,IAAI,CAAC,YAAY;SAC/B,CAAC;aACD,IAAI,CACH,0DAAG,CACD,UAAC,IAAsB;YACrB,KAAI,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC;YAChD,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,KAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,KAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;QAChE,CAAC,EACD,UAAC,KAAK;YACJ,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;gBAAE,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;;gBAC/D,KAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;QACzC,CAAC,CACF,CACF,CAAC;IACN,CAAC;IAED,uCAAgB,GAAhB;QAAA,iBA6BC;QA5BC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE;YAC9B,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;YAC1C,IAAI,GAAG,GAAG,IAAI,yGAAwB,EAAE,CAAC;YACzC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;YACpB,GAAG,CAAC,OAAO,GAAG,6BAA6B,CAAC;YAC5C,IAAI,GAAG,GAAG,IAAI,oDAAe,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC;SAC3B;QACD,IAAI,OAAO,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,IAAI;aACb,GAAG,CACF,gDAA8C,OAAS,CACxD;aACA,IAAI,CACH,0DAAG,CACD,UAAC,IAA8B;YAC7B,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;gBAC7B,KAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;gBAC1C,KAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;QACH,CAAC,EACD,UAAC,KAAK;YACJ,KAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;gBAAE,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;;gBAC9D,KAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;QACzC,CAAC,CACF,CACF,CAAC;IACN,CAAC;IAED,iCAAU,GAAV;QACE,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,uCAAqC,CAAC,CAAC,YAAc,CACtD,CAAC;IACJ,CAAC;IAED,2CAAoB,GAApB;QACE,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,EAAE;YACtC,IAAI,GAAG,GAAG,IAAI,oDAAe,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC;SAC3B;QAED,IAAI,IAAI,GAAmB,IAAI,CAAC,SAAS,CAAC,WAAY,CAAC;QAEvD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,2BAA2B,EAAE;YACzD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS;YAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY;SAClD,CAAC,CAAC;IACL,CAAC;IAED,4CAAqB,GAArB,UAAsB,KAAoB;QAA1C,iBA6BC;QA5BC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC,IAAI;iBACb,GAAG,CAAwB,qCAAmC,KAAO,CAAC;iBACtE,IAAI,CACH,0DAAG,CAAC,UAAC,GAAG;gBACN,KAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,4EAAc,CAC7C,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,SAAS,EACb,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EACtB,GAAG,CAAC,QAAQ,EACZ,EAAE,EACF,EAAE,EACF,EAAE,EACF,CAAC,EACD,KAAK,EACL,EAAE,CACH,CAAC;gBACF,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;gBACzC,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,GAAG,GAAG,CAAC,kBAAkB,CAAC;gBACjE,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC;gBACtD,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;gBACvD,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YACnD,CAAC,CAAC,CACH,CAAC;SACL;QAED,OAAO,IAAI,kDAAa,EAAE,CAAC,YAAY,EAAE,CAAC;IAC5C,CAAC;IAEM,8BAAO,GAAd,UAAe,IAAiB;QAC9B,IAAI,EAAE,GAAG,IAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,2BAA2B;QAC1D,IAAI,EAAE,GAAG,IAAK,CAAC,OAAO,EAAE,CAAC;QAEzB,OAAO;YACL,IAAK,CAAC,WAAW,EAAE;YACnB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;SACzB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IAEM,0CAAmB,GAA1B,UAA2B,SAAkB;QAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAEM,4CAAqB,GAA5B,UAA6B,SAAkB;QAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAEO,4CAAqB,GAA7B,UAA8B,OAAe;QAC3C,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEM,2CAAoB,GAA3B;QACE,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClD,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAEM,yCAAkB,GAAzB;QACE,OAAO,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAEM,2CAAoB,GAA3B;QACE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,sBAAI,+BAAK;aAAT;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACpC,CAAC;;;OAAA;IAED,sBAAI,4CAAkB;aAAtB;YACE,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;QACjD,CAAC;;;OAAA;IAED,sBAAI,oCAAU;aAAd;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QACzC,CAAC;;;OAAA;IAED,sBAAI,uCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QAC5C,CAAC;;;OAAA;IAED,sBAAI,yCAAe;aAAnB;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAC9C,CAAC;;;OAAA;IAED,sBAAI,qCAAW;aAAf;YACE,OAAO,mDAAqB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAE,CAAC;QAC3D,CAAC;;;OAAA;IAED,sBAAI,mCAAS;aAAb;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QACxC,CAAC;;;OAAA;IAED,sBAAI,sCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAC3C,CAAC;;;OAAA;IAED,sBAAI,wCAAc;aAAlB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QAC7C,CAAC;;;OAAA;IACH,mBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0GC3fD,wHACE,KAAI,yJACc,KAAM,sHAAI,KAAQ,oKAA8C,KAAI,iMAA2B;0GAAs5C,uIAA4C,KAAU,4IAAsB,KAAY,oJAA8B,mFAAM,MAA+B,4IAAsB,KAAY,sHAAI,KAAc,yHAAO,yMAAyB;0GAAoL,4IAA+C,0KAAmF;0GAA1yD,wHAAmC,KAAQ,yJAAmC,KAAU,4IAAsB,uGAAgC,8JAAkC,KAAyC,uIAAiB,KAAU,4IAAsB,KAAY,oJAA8B,iFAAI,MAA+B,4IAAsB,KAAY,uHAAI,KAAc,0HAAO,iFAAgB,MAA+D,wIAAiB,KAAU,6IAAsB,KAAY,qJAA8B,oFAAO,MAA+B,6IAAsB,KAAY,uHAAI,KAAc,0HAAO,iFAAgB,MAA+D,wIAAiB,KAAU,6IAAsB,KAAY,qJAA8B,mFAAM,MAA+B,6IAAsB,KAAY,uHAAI,KAAc,0HAAO,iFAAkB,MAA+D,wIAAiB,KAAU,6IAAsB,KAAY,qJAA8B,wFAAM,MAA+B,6IAAsB,KAAY,uHAAI,KAAc,0HAAO,iFAAmB,MAA+D,8YAA4C,IAAkQ,0JAAmC,KAAU,6IAAsB,+HAAmC,MAAe,8YAA+C,IAA8G,6IAAsB,KAAU,+OAA4H,YAA7B;;wBAAkB;MAAjH,wBAA4H,kFAAgB,oJAAuB,KAA6C,6IAAsB,KAAU,gPAAkI,YAAlC;;wBAAuB;MAAvH,wBAAkI,kFAAgB,oJAAuB,kDAAp/B,mBAA0B,qBAA/B,aAA4C,EAAvC,SAA0B,GAAwY,mBAAwB,mBAA5B,aAA+C,EAA3C,SAAwB,mDAAlzC,wDAAgB,GAA2P,wDAAgB,GAA0P,0DAAkB,GAA0P,2DAAmB;0GAA6rC,uKAA+G,wDAA9B,mBAAmB,QAApG,YAA+G,EAA9B,SAAmB;0GAA2B,oLAA4H,wDAAhC,mBAAqB,UAAjH,YAA4H,EAAhC,SAAqB;0GAA9T,uHAAsB,KAAQ,4JAAsC,KAAU,6YAA+G,IAAgB,6YAA4H,IAA4B,4JAAsC,KAAU,+OAA6H,YAA7B;;wBAAkB;MAAlH,wBAA6H,sFAA6B,mDAAjd,mBAAe,UAA/B,YAA+G,EAA/F,SAAe,GAAgH,mBAAa,QAA7B,YAA4H,EAA5G,SAAa;0GAA9oF,wHAAwC,KAAI,yLAA6D,KAAM,6YAAmC,IAAkxE,6YAAsB,iDAAt0E,sCAA6B,WAAlC,YAAmC,EAA9B,SAA6B,GAAwxE,mBAAgB,WAArB,YAAsB,EAAjB,SAAgB,2BAAx4E,yBAAY,EAAjB,YAA6D,EAAxD,SAAY;2GAA2jG,mLAA2G,wDAA1B,mBAAmB,QAApG,YAA2G,EAA1B,SAAmB;0GAAzM,wHAA2C,KAAI,sKAAgD,KAAM,8YAA2G,iDAA/F,mBAAe,UAA3B,YAA2G,EAA/F,SAAe;0GAFxyG,6YACE,IACmJ,6YAAwC,IAA2+F,6YAA2C,iDAFrsG,mBACb,mBADD,YACE,EADY,SACb,GACkK,oBAAyB,mBAAvC,YAAwC,EAA1B,SAAyB,GAA0/F,qCAA4B,WAA1C,YAA2C,EAA7B,SAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFltG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AAQtB;AAId;AAEqB;AAEE;AAEF;AACI;AACzB;AAE3C;IAsCE,8BACU,YAA0B,EAC1B,KAAqB,EACrB,MAAc,EACd,aAA4B;QAJtC,iBAWC;QAVS,iBAAY,GAAZ,YAAY,CAAc;QAC1B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,kBAAa,GAAb,aAAa,CAAe;QApB9B,aAAQ,GAAqB,IAAI,4CAAO,EAAW,CAAC;QAErD,uBAAkB,GAAY,KAAK,CAAC;QAE3C,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QACX,UAAK,GAAG,KAAK,CAAC;QACd,YAAO,GAAG,EAAE,CAAC;QAEb,aAAQ,GAAG,KAAK,CAAC;QAGP,aAAQ,GAChB,IAAI,0DAAY,EAAe,CAAC;QAShC,IAAI,CAAC,aAAa,CAAC,YAAY;aAC5B,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,UAAC,KAAK;YACf,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,uCAAQ,GAAR;QAAA,iBAsBC;QArBC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5C,IAAI,OAAO,IAAI,CAAC,IAAI,IAAI,WAAW,EAAE;YACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,+BAA+B,CAAC;YACtD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAC9C,UAAC,CAAc;gBACb,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,KAAI,CAAC,KAAK,GAAG,uBAAuB,CAAC;iBACtC;gBACD,KAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACf,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAChC,CAAC,EACD,UAAC,KAAU;gBACT,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3C,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAChC,CAAC,CACF,CAAC;SACH;IACH,CAAC;IAED,0CAAW,GAAX;QAAA,iBAiCC;QAhCC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,OAAO;SACR;QAED,IAAI,CAAC,cAAc,GAAG,yBAAyB,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CACpD,UAAC,MAA2B;YAC1B,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClB,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC9B,KAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC5D;iBAAM;gBACL,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;aAC7B;QACH,CAAC,EACD,UAAC,KAAU;YACT,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CACF,CAAC;IACJ,CAAC;IAED,qCAAM,GAAN;QACE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjD;YACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7B;IACH,CAAC;IACH,2BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mHCxI0M,gJAAyD,KAAc,6IAAwB,KAAkB,8IAAwB,gFAAuB,MAAuB,sHAAI,0IAAyC,MAAuB,sHAAI,4LAA2F,MAAuC,4IAAsB,KAAkB,8OAAiF,YAAnB;;wBAAkB;MAAhF,wBAAiF,iFAAI,oJAAuB,KAA+C,6IAAsB,KAAkB,gPAA2F,YAA5B;;wBAA2B;MAA1F,wBAA2F,iFAAI,oJAAuB,KAAI,+EAA4B,iLAAkE,wDAA3rB,gEAAuB,GAAqoB,oBAA8B,eAAjE,aAAkE,EAA/B,SAA8B;mHAAqN,uKAAoE,wDAApB,mBAAmB,QAAnE,YAAoE,EAApB,SAAmB;mHAA2C,oLAAiF,wDAAtB,mBAAqB,UAAhF,YAAiF,EAAtB,SAAqB;mHAAjR,6JAAiE,KAAkB,sZAAoE,IAA0C,sZAAiF,IAA0C,qHAAG,oRAA0J,MAAsB,4JAAsC,KAAsB,+OAAyF,YAA1B;;wBAAyB;MAAxF,wBAAyF,kGAAqB,oJAAuB,KAAI,+EAAgC,iLAAkE,kDAA9rB,mBAAe,UAApB,YAAoE,EAA/D,SAAe,GAA+F,mBAAa,QAAlB,YAAiF,EAA5E,SAAa,mDAAoiB,oBAA8B,eAAjE,aAAkE,EAA/B,SAA8B;mHAAwE,wHAA4D,KAAkB,6IAAuB,KAAsB,8IAAwB,gFAAuB,MAA2B,qHAAG,mHAAiC,MAA0B,oLAAuC,KAA8B,4IAAsB,KAA0B,wRAA+J,KAAsG,6IAAwB,KAAsB,uHAAI,kLAAsF,MAA+C,6IAAsB,KAAsB,+OAAgG,YAAlC;;wBAAiC;MAA/F,wBAAgG,iFAAI,oJAAuB,KAAuD,6IAAsB,KAAsB,gPAA+F,YAAhC;;wBAA+B;MAA9F,wBAA+F,iFAAI,oJAAuB,wDAAriC,gEAAuB,GAAgR,mBAA6B,SAAuC,mBAAwB,SAA9J,YAA+J,EAA7F,SAA6B,EAAuC,SAAwB;mHAAyuB,wHAA2D,KAAkB,6IAAwB,KAAsB,8IAAwB,gFAAuB,MAA2B,sHAAI,0IAAyC,MAA2B,sHAAI,+MAA8G,MAA+C,4IAAsB,KAAsB,8OAAiF,YAAnB;;wBAAkB;MAAhF,wBAAiF,iFAAI,oJAAuB,KAAuD,6IAAsB,KAAsB,gPAA2F,YAA5B;;wBAA2B;MAA1F,wBAA2F,iFAAI,oJAAuB,KAAI,+EAAgC,iLAAkE,wDAAlvB,gEAAuB,GAA4rB,oBAA8B,eAAjE,aAAkE,EAA/B,SAA8B;mHAAtiG,+IAAwD,KAAc,sZAAiE,IAA4xB,sZAA4D,IAAmsC,sZAA2D,iDAAlpE,mBAA0B,qBAA/B,YAAiE,EAA5D,SAA0B,GAAm0B,gDAAsD,0BAA3D,YAA4D,EAAvD,SAAsD,GAAysC,+CAAqD,0BAA1D,YAA2D,EAAtD,SAAqD;mHAA85B,4JAA0D,KAAc,+OAAkF,YAAnB;;wBAAkB;MAAjF,wBAAkF,oFAAO;mHAAx1I,wHAAuB,KAAU,yJAAmC,KAAc,4IAAsB,+GAAmB,4JAAgC,KAAmC,sZAAyD,IAAs0B,sZAAwD,IAAkkG,uZAA0D,iDAA1hI,4CAA+B,GAAxD,YAAyD,EAAhC,SAA+B,GAAg2B,2CAA8B,GAAvD,YAAwD,EAA/B,SAA8B,GAAymG,oBAAmB,aAAzD,aAA0D,EAApB,SAAmB;oHAAuO,uKAAoE,wDAApB,mBAAmB,QAAnE,YAAoE,EAApB,SAAmB;oHAAmC,oLAAiF,wDAAtB,mBAAqB,UAAhF,YAAiF,EAAtB,SAAqB;oHAA+C,4JAA0D,KAAc,+OAAkF,YAAnB;;wBAAkB;MAAjF,wBAAkF,oFAAO;oHAA1d,uHAAsB,KAAU,4JAAsC,KAAc,uZAAoE,IAAkC,uZAAiF,IAA8C,uZAA0D,iDAA1R,mBAAe,UAApB,YAAoE,EAA/D,SAAe,GAAuF,mBAAa,QAAlB,YAAiF,EAA5E,SAAa,GAAmJ,oBAAmB,aAAzD,YAA0D,EAApB,SAAmB;yMAFlwJ,4LAEO,KAAM,sZAAuB,IAA42I,uZAAsB,iDAAp5I,oBAAiB,WAAtB,YAAuB,EAAlB,SAAiB,GAAk3I,mBAAgB,WAArB,YAAsB,EAAjB,SAAgB,2BAFh6I,yBAAY,EAAjB,YAEO,EAFF,SAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoI;AAE3E;AAEO;AACE;AAEJ;AAG9D;IAkDI,uCAAoB,YAA0B,EAAU,MAAc,EAAU,KAAwB;QAApF,iBAAY,GAAZ,YAAY,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAmB;QAzBxG,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QACX,UAAK,GAAG,KAAK,CAAC;QACd,YAAO,GAAG,EAAE,CAAC;QACb,aAAQ,GAAG,KAAK,CAAC;QACjB,2BAAsB,GAAG,KAAK,CAAC;QAC/B,iBAAY,GAAG,KAAK,CAAC;QAErB,uBAAkB,GAAG,KAAK,CAAC;QAC3B,WAAM,GAAG,CAAC,CAAC;QAKD,aAAQ,GAA8B,IAAI,0DAAY,EAAe,CAAC;QACvE,eAAU,GAAY,KAAK,CAAC;IAWrC,CAAC;IAED,gDAAQ,GAAR;QACI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAE1B,IAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAC;YAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B;aAAK;SAEL;IACL,CAAC;IAED,mDAAW,GAAX;QACI,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAG,IAAI,CAAC,gBAAgB;YACpB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAExC,IAAG,IAAI,CAAC,WAAW;YACf,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,oDAAY,GAAZ;QACI,IAAG,IAAI,CAAC,cAAc;YAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACrC,IAAG,IAAI,CAAC,MAAM,EAAC;YACX,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,UAAS,KAAS;gBAC9C,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;SACN;QACD,IAAG,IAAI,CAAC,WAAW,EAAC;YAChB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,UAAS,KAAS;gBACnD,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED,yDAAiB,GAAjB;QAAA,iBAiEC;QAhEG,IAAI,GAAG,GAAQ,SAAS,CAAC;QACzB,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,eAAe,CAAC;QACrF,IAAI,GAAG,CAAC,YAAY,EAAE;YAClB,GAAG,CAAC,YAAY,CAAC;gBACb,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;aACV,EACD,UAAC,MAAmB;gBAChB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBAErB,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE;gBACjC,wDAAwD;gBACxD,KAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,YAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAA/B,CAA+B,CAAC,CAAC;gBAClF,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC;gBAC5D,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAE3B,IAAI,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;gBACtC,IAAI,QAAQ,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;gBAC7C,IAAI,UAAU,GAAG,YAAY,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBAC9D,IAAI,cAAc,GAAG,YAAY,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpE,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;gBAErC,QAAQ,CAAC,qBAAqB,GAAG,GAAG,CAAC;gBACrC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gBAExB,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC7B,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACjC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gBAGjD,cAAc,CAAC,cAAc,GAAG;oBAC5B,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;oBACvD,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;oBACrC,IAAI,MAAM,GAAG,CAAC,CAAC;oBAEf,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;qBACxB;oBAEL,IAAI,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;oBAC9B,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACtC,IAAG,KAAI,CAAC,MAAM,GAAG,GAAG,EAAC;wBACjB,KAAI,CAAC,MAAM,GAAG,GAAG,CAAC;qBACrB;oBACD,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAE3B,CAAC,EAAC,gBAAgB;YACtB,CAAC,EACD;gBACI,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,KAAI,CAAC,KAAK,GAAG,gGAAgG,CAAC;gBAC9G,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAC3B,KAAI,CAAC,YAAY,EAAE,CAAC;YACxB,CAAC,CACJ,CAAC;SACL;aAAM;YACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,uKAAuK,CAAC;YACrL,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;IACL,CAAC;IAED,uDAAe,GAAf;QAAA,iBAuBC;QAtBG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;aAC/E,SAAS,CAAC,aAAG;YACV,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YACrC,KAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC;YACtC,IAAG,KAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAC;gBAC3B,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,KAAI,CAAC,OAAO,GAAG,yGAAyG,CAAC;aAC5H;iBAAM;gBACH,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,EAAC,KAAK,EAAE,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,KAAI,CAAC,KAAK,EAAC,EAAC,EAAC,CAAC,CAAC;aAChF;QACL,CAAC,EAAE,aAAG;YACF,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAC;IACV,CAAC;IAED,8CAAM,GAAN;QACI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,6DAAqB,GAArB;QACI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,uGAAuG;QACtH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,2DAAmB,GAAnB;QACI,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,qDAAa,GAAb;QAAA,iBAaC;QAZG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;aAClF,SAAS,CAAC,aAAG;YACV,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;YAC3B,KAAI,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;QACjD,CAAC,EAAE,aAAG;YACF,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,KAAI,CAAC,KAAK,GAAG,sEAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAC;IACV,CAAC;IACL,oCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4GChOuG,uPAA+O,YAA5B;;wBAA2B;MAA9O,8qBAA+O,mDAApJ,mBAAqB,eAAC,mBAAyB,aAAC,mBAA2B,cAAC,mBAA2C,sBAAlN,YAA+O,EAApJ,SAAqB,EAAC,SAAyB,EAAC,SAA2B,EAAC,SAA2C,mDAA5K,yBAAY,EAAmB,mBAAqB,QAA1F,YAA+O,EAAzM,SAAY,EAAmB,SAAqB;4GAA+K,0PAA6K,YAA9B;;wBAA6B;MAA5K,8hBAA6K,mDAApD,mBAAqB,eAA9C,mBAAwB,gBAAxH,YAA6K,EAApD,SAAqB,EAA9C,SAAwB,mDAA7E,yBAAY,EAAmB,mBAAqB,QAA/F,YAA6K,EAAlI,SAAY,EAAmB,SAAqB;4GAA6G,gKAAmE,2LAAS;4GAAW,qJAAyD,KAAM,2IAAqB,KAAQ,oKAA8C,KAAI,gGAA+B;4GAA0b,sHAAuB,mFAA8B;4GAAiB,sHAA+B,qFAAgC;4GAAiB,sHAA+B,qFAAgC;6GAAiS,sHAAuB,4bAA8E;6GAA6E,qOAAqI,YAA1B;;wBAAyB;MAApI,wBAAqI,6FAAgB,4JAAgC;6GAA2B,qOAAqI,YAA5B;;wBAA2B;MAApI,wBAAqI,+FAAa,uJAA2B;6GAAzb,yIAA8C,KAAc,gZAAqI,IAA2E,gZAAqI,iDAA7U,qEAAqD,0BAA7D,YAAqI,EAA7H,SAAqD,GAA2J,mEAAmD,0BAA3D,YAAqI,EAA7H,SAAmD;6GAAyM,wOAA4K,gCAA/G,6CAAgC,GAAC,6CAA6B,GAAC,6CAA6B,GAAC,kBAAiB,yBAA3K,YAA4K,EAA/G,SAAgC,EAAC,SAA6B,EAAC,SAA6B,EAAC,SAAiB;6GAAxN,sHAA+B,KAAc,ydAA4K,yBAAzK,kBAA+B,sCAAlC,YAA4K,EAAzK,SAA+B;6GAA54B,uHAAqC,KAAY,sHAAI,kFAAoC,MAAiB,sHAAI,kFAAsC,MAAiB,sHAAI,kFAA0C,MAAiB,gZAAuB,IAA+F,iZAA8C,IAAqb,iZAA+B,iDAApnB,mBAAkB,aAAtB,YAAuB,EAAnB,SAAkB,GAAmH,mBAA0B,qBAA7C,aAA8C,EAA3B,SAA0B,GAA0b,mBAA0B,qBAA9B,aAA+B,EAA3B,SAA0B,2BAAtyB,kEAAoC,GAAqB,oEAAsC,GAAqB,wEAA0C;4GAAz4B,mMAAmH,KAAM,2MAAoF,KAAQ,0HAAO,KAAU,wIAAiB,KAAY,sHAAI,sFAAiC,MAAiB,sHAAI,qFAAgC,MAAiB,sHAAI,2FAAiC,MAAiB,gZAAuB,IAA+C,gZAA+B,IAAiD,gZAA+B,IAA4E,0HAAO,KAAU,0dAAqC,GAAjC,sLAAgC,kDAAlT,mBAAkB,aAAtB,aAAuB,EAAnB,SAAkB,GAAoD,mBAA0B,qBAA9B,aAA+B,EAA3B,SAA0B,GAAsD,mBAA0B,qBAA9B,aAA+B,EAA3B,SAA0B,GAAkG,sJAAgC,WAApC,aAAqC,EAAjC,SAAgC,mDAArqB,wCAA6D,kBAAlH,YAAmH,EAA9D,SAA6D,GAAoD,mBAA+B,aAA5E,YAAoF,EAAvC,SAA+B;4GAF5hC,gLAEU,KAAM,2JAAsE,mFAAM,MAAY,+YAA+O,IAA0B,+YAA6K,IAA+B,+YAAmE,IAAoB,gZAAyD,GAApD,sLAAyB,KAAqK,gZAAmH,iDAAj1B,mBAAoB,eAArC,YAA+O,EAA9N,SAAoB,GAAwP,mBAAsB,iBAA1C,YAA6K,EAAzJ,SAAsB,GAAsK,uCAAmC,WAAvC,YAAmE,EAA/D,SAAmC,GAAqD,sJAAyB,cAA9B,aAAyD,EAApD,SAAyB,GAA0K,mBAAkB,aAAvB,aAAmH,EAA9G,SAAkB,mDAFx1B,yBAAY,EAAlC,YAEU,EAFY,SAAY,GAEb,0CAAgD,kBAArD,YAAsE,EAAjE,SAAgD;2gBAFrE,+YAEU,iDAFL,mBAAgB,WAArB,YAEU,EAFL,SAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiH;AAKjD;AACkB;AAEX;AAGN;AAEjE;IAiDI,gCAAoB,YAA0B,EAAU,aAA4B,EAAU,WAAwB;QAAtH,iBAYC;QAZmB,iBAAY,GAAZ,YAAY,CAAc;QAAU,kBAAa,GAAb,aAAa,CAAe;QAAU,gBAAW,GAAX,WAAW,CAAa;QAxBtH,UAAK,GAAY,KAAK,CAAC;QACb,cAAS,GAA6B,IAAI,0DAAY,EAAc,CAAC;QAI/E,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAG,EAAE,CAAC;QACX,aAAQ,GAAG,KAAK,CAAC;QACjB,eAAU,GAAG,KAAK,CAAC;QACnB,iBAAY,GAAG,KAAK,CAAC;QACrB,mBAAc,GAAG,KAAK,CAAC;QAEvB,uBAAkB,GAAG,KAAK,CAAC;QAE3B,eAAU,GAAY,KAAK,CAAC;QAC5B,gBAAW,GAAY,KAAK,CAAC;QAC7B,wBAAmB,GAAY,KAAK,CAAC;QAI9B,uBAAkB,GAAY,KAAK,CAAC;QAKvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC;QAC5D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC;QACzE,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,KAAkB;YACpD,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YACnC,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC;YACxC,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC;YACrD,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,yCAAQ,GAAR;QAAA,iBAgBC;QAfG,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,cAAI;YAC1C,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,EAAZ,CAAY,CAAC,CAAC;YAC7E,IAAI,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE;gBAC7B,KAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,sBAAY;oBACjD,IAAI,CAAC,KAAI,CAAC,kBAAkB,IAAI,YAAY,IAAI,KAAI,CAAC,UAAU;wBAC3D,KAAI,CAAC,aAAa,EAAE,CAAC;;wBACpB,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBACxC,CAAC,CAAC,CAAC;aACN;;gBACI,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,4CAAW,GAAX;QACE,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,UAAU;YACjB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,yCAAQ,GAAR,UAAS,CAAM;QACX,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;IAC7E,CAAC;IAED,yCAAQ,GAAR;QAAA,iBA+BC;QA9BG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAC,MAAwB;YAC3C,KAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;YACpC,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAEpC,IAAG,CAAC,KAAI,CAAC,kBAAkB,EAAC;gBACxB,IAAM,WAAS,GAAG,CAAC,IAAI,8EAAS,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC;gBAE3D,MAAM,CAAC,OAAO,CAAC,WAAC,IAAE,QAAC,CAAC,UAAU,GAAG,WAAS,EAAxB,CAAwB,CAAC;aAC9C;YACD,UAAU,CAAC;gBACT,IAAI,KAAI,CAAC,UAAU,EAAE;oBACnB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC;iBAChC;qBACM;oBACD,IAAI,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC,eAAe,CAAC;oBAEpD,WAAW,CAAC,SAAS,CAAC,iBAAO;wBACzB,KAAI,CAAC,KAAK,GAAG,OAAO,CAAC;wBACrB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;wBACpB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;oBACpC,CAAC,CAAC,CAAC;iBACN;YACL,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;IAC/C,CAAC;IAED,4CAAW,GAAX,UAAY,IAAoB;QAC5B,wBAAwB;QAExB,IAAG,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SACnD;aAAK;YACF,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;SACzB;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,4CAAW,GAAX;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,8CAAa,GAAb,UAAc,IAAkC;QAAlC,kCAAkC;QAC5C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,8CAAa,GAAb;QACI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAChC,CAAC;IACL,6BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sLCtKD,0wCAAwB,IACnB,yMAC6C,YAAvC;;wBAAsC;MAD5C,kpBAC6C,MAA8B,2LAAiD,YAAhC;;wBAA+B;MAAhD,krBAAiD,2BAFjI,YAAwB,GACnB,YAC6C,GAA8B,YAAiD;;;;;;;;;;;;;;;;ACFjI;AAAA;AAAA;AAAA;AAAA;AAAgE;AAEV;AACS;AAE/D;IA0BI,wBAAoB,YAAmB;QAAnB,iBAAY,GAAZ,YAAY,CAAO;QAJvC,UAAK,GAAG,IAAI,CAAC;QAKT,YAAY,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IACvD,CAAC;IAED,kCAAS,GAAT,UAAU,OAAmB;QACzB,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;YAChC,UAAU,CAAC;gBACP,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACjF,CAAC,EAAE,GAAG,CAAC,CAAC;SACX;IACL,CAAC;IAED,qCAAY,GAAZ,UAAa,KAAoC;QAC7C,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAErB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,qBAAqB;QACpC,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE;YACxG,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAC5C;IACL,CAAC;IACL,qBAAC;AAAD,CAAC;;;;;;;;;;;;;;ACpDD;AAAA;AAAA,mFAAmF;AACnF,8FAA8F;AAC9F,yEAAyE;AACzE,gFAAgF;AAEzE,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE;QAChB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,CAAC,gDAAgD,CAAC;gBACxD,UAAU,EAAE,cAAc;gBAC1B,QAAQ,EAAE,OAAO;aAClB;SACF;KACF;IACD,YAAY,EAAE;QACZ,+BAA+B,EAAE,KAAK;QACtC,kCAAkC,EAAE,CAAC;KACtC;IACD,UAAU,EAAE;QACV,yBAAyB,EAAE,EAAE;QAC7B,iCAAiC,EAAE,KAAK;KACzC;CACF,CAAC;;;;;;;;;;;;;ACxBF;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AAIU;;;AAElD,SAAS,UAAU;IACxB,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,IAAM,SAAS,GAAG;IAChB,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;CAC1D,CAAC;AAEF,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;CAClB;KAAM;IACL,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CAC5B;AAED,0EAAuB,SAAS,CAAC,uBAAgB,CAAC,qFAAU;KACzD,KAAK,CAAC,aAAG,IAAI,cAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { AppModuleShared } from './app.shared.module';\r\nimport { AppComponent } from './app.component';\r\n\r\n@NgModule({\r\n bootstrap: [ AppComponent ],\r\n imports: [\r\n BrowserModule,\r\n AppModuleShared\r\n ],\r\n providers: [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl }\r\n ]\r\n})\r\nexport class AppModule {\r\n}\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Powered by \"Medsoft\"
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { UserService } from './shared/services/user.service';\r\nimport { ErrorProcessor } from './shared/error-processor';\r\nimport { trigger, transition, style, animate, group } from '@angular/animations';\r\nimport { environment } from '../../../ClientApp/src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0', transform: 'translateY(-110%)' }),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n animate('.4s ease-out', style({ transform: 'translateY(0)' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1' }),\r\n animate('.8s ease-in', style({ opacity: '0' })),\r\n ]),\r\n ]),\r\n ]\r\n})\r\n\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n isError = false;\r\n error = '';\r\n\r\n intervalToken: any;\r\n intervalUserActive: any;\r\n\r\n mouseListener: any;\r\n\r\n lastMouseMove: Date;\r\n\r\n tokenConfig = environment.tokenRefresh;\r\n userActiveConfig = environment.userActive;\r\n\r\n constructor(private userService: UserService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.userService.loggedInStatus.subscribe((data) => {\r\n if (data) {\r\n this.startIntervalToken();\r\n } else {\r\n this.stopIntervalToken();\r\n }\r\n })\r\n }\r\n\r\n ngOnDestroy() {\r\n }\r\n\r\n startIntervalToken() {\r\n this.refreshToken();\r\n if (!this.intervalToken) {\r\n this.intervalToken = window.setInterval(() => {\r\n this.refreshToken();\r\n }, this.tokenConfig.intervalRefreshTokenMiliseconds);\r\n }\r\n }\r\n\r\n stopIntervalToken() {\r\n if (this.intervalToken) {\r\n window.clearInterval(this.intervalToken);\r\n this.intervalToken = null;\r\n }\r\n\r\n this.stopIntervalUserActive();\r\n }\r\n\r\n refreshToken() {\r\n let currentToken = localStorage.getItem('access_token');\r\n let expires = localStorage.getItem('expires');\r\n\r\n let timeToRefresh = new Date();\r\n timeToRefresh.setMinutes(timeToRefresh.getMinutes() + this.tokenConfig.refreshTokenBeforeEndExpireMinutes);\r\n\r\n if (this.userService.isLoggedIn) {\r\n this.startIntervalUserActive();\r\n }\r\n\r\n if (!currentToken || !expires || timeToRefresh < new Date(expires)){\r\n return;\r\n }\r\n\r\n this.userService.refreshToken(currentToken).subscribe((result: any) => {\r\n },\r\n (error: any) => {\r\n this.isError = true;\r\n this.error = ErrorProcessor.process(error);\r\n });\r\n }\r\n\r\n startIntervalUserActive() {\r\n if (!this.intervalUserActive) {\r\n this.lastMouseMove = new Date();\r\n this.startListenMouseMove();\r\n\r\n this.intervalUserActive = window.setInterval(() => {\r\n this.checkUserActivity();\r\n }, this.userActiveConfig.intervalCheckActiveUserMilisecond);\r\n }\r\n }\r\n\r\n stopIntervalUserActive() {\r\n if (this.intervalUserActive) {\r\n window.clearInterval(this.intervalUserActive);\r\n this.intervalUserActive = null;\r\n }\r\n\r\n this.stopListenMouseMove();\r\n }\r\n\r\n startListenMouseMove() {\r\n this.mouseListener = window.document.addEventListener('mousemove', this.setUserActivity, true);\r\n }\r\n\r\n stopListenMouseMove() {\r\n this.mouseListener = window.document.removeEventListener('mousemove', this.setUserActivity, true);\r\n }\r\n\r\n checkUserActivity() {\r\n let time = new Date(this.lastMouseMove.getUTCFullYear(), this.lastMouseMove.getUTCMonth(), this.lastMouseMove.getUTCDate(), this.lastMouseMove.getHours(), this.lastMouseMove.getMinutes() + this.userActiveConfig.deactiveUserLogoutMinutes);\r\n let now = new Date();\r\n\r\n if (!!time && time < now) {\r\n this.stopIntervalToken();\r\n this.userService.logout();\r\n }\r\n }\r\n\r\n setUserActivity(event: any) {\r\n event.preventDefault();\r\n this.lastMouseMove = new Date();\r\n }\r\n\r\n}\r\n","import { NgModule, LOCALE_ID, APP_INITIALIZER } from '@angular/core';\r\nimport { CommonModule, registerLocaleData } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { InputMaskModule } from 'primeng/inputmask'\r\nimport { CaptchaModule } from 'primeng/captcha';\r\nimport {ToggleButtonModule} from 'primeng/togglebutton';\r\n\r\nimport { routing } from './app.routes';\r\n\r\nimport { AppComponent } from './app.component';\r\n\r\nimport { VisitComponent } from './visit/visit.component';\r\nimport { FiltersComponent } from './visit/filters/filters.component';\r\nimport { FreeTermsCalendarComponent } from './visit/free-terms-calendar/free-terms-calendar.component';\r\nimport { VisitSlotListComponent } from './visit/visit-slot-list/visit-slot-list.component';\r\nimport { BookSlotComponent } from './visit/book-slot/book-slot.component';\r\nimport { ReBookSlotComponent } from './visit/re-book-slot/re-book-slot.component';\r\nimport { VisitCancelComponent } from './visit/visit-cancel/visit-cancel.component';\r\nimport { VisitConfirmPresenceComponent } from './visit/visit-confirm-presence/visit-confirm-presence.component';\r\nimport { BookSlotStatusComponent } from './visit/book-slot-status/book-slot-status.component';\r\nimport { AfterPaymentComponent } from './visit/after-payment/after-payment.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { ConfirmComponent } from './confirm/confirm.component';\r\n\r\n//register\r\nimport { RegisterComponent } from './register/register.component'; \r\nimport { PersonalDetailsFormComponent } from './personal-detail/personal-detail.component';\r\n\r\nimport { PatientComponent } from './patient/patient.component';\r\nimport { MyVisitsComponent } from './visit/my-visits/my-visits.component';\r\nimport { RemindPasswordComponent } from './remind-password/remind-password.component';\r\nimport { MenuComponent } from './menu/menu.component';\r\n\r\nimport { NotFoundComponent } from './not-found/not-found.component';\r\nimport { UserService } from './shared/services/user.service';\r\nimport { ClientService } from './shared/services/client.service';\r\nimport { CaptchaService } from './shared/services/captcha.service';\r\nimport { NotificationService } from './shared/services/notification.service';\r\n\r\n//visit\r\nimport { SpecialityService } from './visit/shared/services/speciality.service';\r\nimport { LanguageService } from './visit/shared/services/language.service';\r\nimport { DepartmentService } from './visit/shared/services/department.service';\r\nimport { DoctorService } from './visit/shared/services/doctor.service';\r\nimport { ServiceService } from './visit/shared/services/service.service';\r\nimport { VisitService } from './visit/shared/services/visit.service';\r\nimport { VisitTypeService } from './visit/shared/services/visit-type.service';\r\nimport { EVisitRoomComponent } from './visit/e-visit-room/e-visit-room.component';\r\nimport { EVisitDocRoomComponent } from './visit/e-visit-doc-room/e-visit-doc-room.component';\r\nimport { EVisitComponent } from './visit/e-visit/e-visit.component';\r\n\r\nimport { AuthInterceptor } from './shared/auth.interceptor';\r\nimport { LoggedInGuard } from './shared/logged-in.guard';\r\nimport { FullAccessGuard } from './shared/full-access.guard';\r\nimport { RegistrationVisibleGuard } from './shared/registration-visible.guard';\r\nimport { ngfModule } from \"angular-file\";\r\n\r\nimport localePl from '@angular/common/locales/pl';\r\nimport { PaymentComponent } from './payment/payment.component';\r\nimport { PaymentService } from './shared/services/payment.service';\r\nimport { PaymentStatusComponent as PaymentStatusComponent } from './payment/status/payment-status.component';\r\nimport { SpeechBubbleComponent } from './speech-bubble/speech-bubble.component';\r\n\r\nregisterLocaleData(localePl, 'pl');\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n FiltersComponent,\r\n VisitComponent,\r\n FreeTermsCalendarComponent,\r\n VisitSlotListComponent,\r\n BookSlotStatusComponent,\r\n BookSlotComponent,\r\n ReBookSlotComponent,\r\n MenuComponent,\r\n LoginComponent,\r\n RegisterComponent,\r\n PersonalDetailsFormComponent,\r\n PatientComponent,\r\n MyVisitsComponent,\r\n VisitCancelComponent,\r\n ConfirmComponent,\r\n RemindPasswordComponent,\r\n AfterPaymentComponent,\r\n VisitConfirmPresenceComponent,\r\n EVisitRoomComponent,\r\n EVisitDocRoomComponent,\r\n NotFoundComponent,\r\n PaymentComponent,\r\n PaymentStatusComponent,\r\n EVisitComponent,\r\n SpeechBubbleComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n BrowserAnimationsModule,\r\n CalendarModule,\r\n TooltipModule,\r\n InputMaskModule,\r\n CaptchaModule,\r\n ToggleButtonModule,\r\n ngfModule,\r\n routing,\r\n ],\r\n providers: [\r\n UserService,\r\n ClientService,\r\n NotificationService,\r\n PaymentService,\r\n LoggedInGuard,\r\n RegistrationVisibleGuard,\r\n FullAccessGuard,\r\n\r\n //visit\r\n SpecialityService,\r\n LanguageService,\r\n DepartmentService,\r\n DoctorService,\r\n ServiceService,\r\n VisitService,\r\n CaptchaService,\r\n VisitTypeService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptor,\r\n multi: true,\r\n },\r\n { provide: APP_INITIALIZER, useFactory: (config: ClientService) => () => config.getConfig(), deps: [ClientService], multi: true },\r\n { provide: LOCALE_ID, useValue: 'pl' },\r\n ]\r\n})\r\nexport class AppModuleShared {\r\n}","
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n

Na podany adres email został wysłany kod potwierdzający, wpisz go poniżej

\r\n

Na podany numer telefonu został wysłany kod potwierdzający, wpisz go poniżej

\r\n\r\n
\r\n
\r\n \r\n

\r\n Proszę podać kod\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n

\r\n Email z kodem nie doszedł? Wyślij ponownie\r\n

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Trwa potwierdzanie konta

\r\n
\r\n
\r\n
\r\n
\r\n

Twoje konto zostało potwierdzone

\r\n

\r\n Kliknij tutaj, aby wrócić do strony głównej\r\n

\r\n
\r\n
","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n trigger,\r\n transition,\r\n style,\r\n animate,\r\n group,\r\n} from \"@angular/animations\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { FormGroup, Validators, FormBuilder } from \"@angular/forms\";\r\n\r\nimport { UserService } from \"./../shared/services/user.service\";\r\nimport { ClientService } from \"./../shared/services/client.service\";\r\nimport { ErrorProcessor } from \"./../shared/error-processor\";\r\nimport { ConfirmResponse } from \"./../shared/models/confirm-response.model\";\r\nimport { VisitService } from \"@app/visit/shared/services/visit.service\";\r\n\r\n@Component({\r\n templateUrl: \"./confirm.component.html\",\r\n animations: [\r\n trigger(\"fadeInOut\", [\r\n transition(\":enter\", [\r\n style({ opacity: \"0\" }),\r\n group([animate(\".7s ease-out\", style({ opacity: \"1\" }))]),\r\n ]),\r\n transition(\":leave\", [\r\n style({ opacity: \"1\" }),\r\n animate(\".8s ease-in\", style({ opacity: \"0\" })),\r\n ]),\r\n ]),\r\n ],\r\n})\r\nexport class ConfirmComponent implements OnInit {\r\n isError = false;\r\n error = \"\";\r\n isMsg = false;\r\n message = \"\";\r\n success = false;\r\n confirming: boolean = false;\r\n confirmed: boolean = false;\r\n confirmationMsg: string = \"\";\r\n\r\n isSms: boolean = false;\r\n\r\n confirmForm: FormGroup;\r\n\r\n constructor(\r\n private titleService: Title,\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private userService: UserService,\r\n private route: ActivatedRoute,\r\n private clientService: ClientService,\r\n private visitService: VisitService\r\n ) {\r\n this.titleService.setTitle(\"Medsoft - Potwierdź\");\r\n this.createForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.isSms = this.clientService.config.ifSmsOnRegister;\r\n let code = this.route.snapshot.params.id;\r\n this.confirming = typeof code !== \"undefined\" && code != null;\r\n if (this.confirming) this.confirmPatient(code.toString().substring(0, 5));\r\n }\r\n\r\n createForm() {\r\n this.confirmForm = this.fb.group({\r\n code: [\"\", Validators.required],\r\n });\r\n }\r\n\r\n onSubmit() {\r\n if (!this.confirmForm.valid) return;\r\n this.confirmPatient(this.confirmForm.value.code);\r\n }\r\n\r\n confirmPatient(code: any) {\r\n this.userService.confirm(code).subscribe(\r\n (result: any) => {\r\n this.isMsg = false;\r\n this.confirmed = true;\r\n if (result.success) {\r\n this.success = true;\r\n\r\n if (result.visitBookToken) {\r\n this.visitService\r\n .getBookedVisitByToken(result.visitBookToken)\r\n .subscribe(\r\n () => {\r\n this.router.navigate([\"/login/booking-status\"], {\r\n queryParams: {\r\n token: result.visitBookToken,\r\n },\r\n });\r\n },\r\n (err) => {\r\n this.router.navigate([\"/login\"]);\r\n }\r\n );\r\n } else {\r\n this.router.navigate([\"/login\"]);\r\n }\r\n } else {\r\n this.isError = true;\r\n this.error = \"Wystąpił nieoczekiwany błąd\";\r\n }\r\n },\r\n (error: any) => {\r\n this.confirmed = true;\r\n this.isError = true;\r\n this.isMsg = false;\r\n this.error = ErrorProcessor.process(error);\r\n }\r\n );\r\n }\r\n\r\n resend(event: any) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.userService.resendConfirmation().subscribe(\r\n (result: ConfirmResponse) => {\r\n if (result.success) {\r\n this.isMsg = true;\r\n this.message =\r\n result.message === \"\" ? \"Kod został wysłany\" : result.message;\r\n } else {\r\n this.isError = true;\r\n this.error =\r\n result.message === \"\"\r\n ? \"Wystąpił nieoczekiwany błąd\"\r\n : result.message;\r\n }\r\n },\r\n (error: any) => {\r\n this.isError = true;\r\n this.error = ErrorProcessor.process(error);\r\n }\r\n );\r\n }\r\n\r\n get okCode(): boolean {\r\n return (\r\n !this.confirmForm.hasError(\"required\", [\"code\"]) ||\r\n this.confirmForm.get(\"code\")!.pristine\r\n );\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n

\r\n Email jest wymagany\r\n

\r\n
\r\n
\r\n \r\n

\r\n Hasło jest wymagane\r\n

\r\n
\r\n
\r\n
\r\n \r\n

\r\n Wyrażenie zgody jest wymagane\r\n

\r\n
\r\n
\r\n

Polityka prywatności

\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Nie pamiętam hasła

\r\n \r\n

Nie posiadasz konta?

\r\n Zarejestruj się \r\n
\r\n
\r\n

Nie pamiętasz danych logowania?
Skontaktuj się z rejestracją.

\r\n
\r\n
\r\n

Umówienie wizyty wybranego typu wymaga posiadania konta w systemie powiązanego z teczką pacjenta.

\r\n \r\n \r\n Umów bez rejestracji \r\n
lub
\r\n Zarejestruj się \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Dane do rezerwacji terminu

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n trigger,\r\n transition,\r\n style,\r\n animate,\r\n group,\r\n} from \"@angular/animations\";\r\nimport { Router, ActivatedRoute, Params } from \"@angular/router\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { FormGroup, Validators, FormBuilder } from \"@angular/forms\";\r\n\r\nimport { UserService } from \"./../shared/services/user.service\";\r\nimport { ClientService } from \"./../shared/services/client.service\";\r\nimport { ConfigModel } from \"./../shared/models/config.model\";\r\nimport { ErrorProcessor } from \"./../shared/error-processor\";\r\nimport { PersonalDetail } from \"../shared/models/personal-detail.model\";\r\nimport { VisitService } from \"../visit/shared/services/visit.service\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\n\r\n@Component({\r\n templateUrl: \"./login.component.html\",\r\n styleUrls: [\"./login.component.scss\"],\r\n animations: [\r\n trigger(\"fadeInOut\", [\r\n transition(\":enter\", [\r\n style({ opacity: \"0\" }),\r\n group([animate(\".7s ease-out\", style({ opacity: \"1\" }))]),\r\n ]),\r\n transition(\":leave\", [\r\n style({ opacity: \"1\" }),\r\n animate(\".8s ease-in\", style({ opacity: \"0\" })),\r\n ]),\r\n ]),\r\n ],\r\n})\r\nexport class LoginComponent implements OnInit {\r\n isError = false;\r\n error = \"\";\r\n submitingForm = false;\r\n hasRules: boolean;\r\n rulesUrl: string = \"/api/Client/Rules\";\r\n hasPrivacyPolicy: boolean;\r\n PrivacyPolicyUrl: string = \"/api/Client/PrivacyPolicy\";\r\n\r\n loginForm: FormGroup;\r\n\r\n redirect: string = \"\";\r\n redirectQuery: string = \"\";\r\n withoutRegistration: boolean;\r\n allowReservationWithoutAccount: boolean;\r\n loginPanelClass: string;\r\n constructor(\r\n private titleService: Title,\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private userService: UserService,\r\n private clientService: ClientService,\r\n private route: ActivatedRoute,\r\n private visitService: VisitService\r\n ) {}\r\n\r\n ngOnInit() {\r\n let redirect = this.route.snapshot.params.redirect;\r\n\r\n if (typeof redirect !== \"undefined\" && redirect != null) {\r\n this.redirect = redirect;\r\n\r\n const queryString = this.route.snapshot.queryParamMap.keys\r\n .map((k) => `${k}=${this.route.snapshot.queryParams[k]}`)\r\n .join(\"&\");\r\n\r\n if (queryString && queryString.length > 0) {\r\n this.redirectQuery = `?${queryString}`;\r\n }\r\n } else if (\r\n this.visitService.visitToBook &&\r\n this.visitService.visitToBook.scheduleId &&\r\n this.redirect.length < 1\r\n ) {\r\n this.redirectQuery =\r\n this.visitService.visitToBook.token &&\r\n this.visitService.visitToBook.token.length > 0\r\n ? `?token=${this.visitService.visitToBook.token}`\r\n : \"\";\r\n\r\n this.redirect = \"booking-status\";\r\n } else {\r\n this.redirect = \"\";\r\n }\r\n\r\n this.clientService.configChange.subscribe((model: ConfigModel) =>\r\n this.loadConfig(model, true)\r\n );\r\n this.loadConfig(this.clientService.config);\r\n }\r\n\r\n loadConfig(model: ConfigModel, reloaded: boolean = true) {\r\n this.hasRules = model.hasRules;\r\n this.hasPrivacyPolicy = model.hasPrivacyPolicy;\r\n this.allowReservationWithoutAccount =\r\n model.allowReservationWithoutAccount && this.redirect.length > 0;\r\n this.withoutRegistration = model.hideRegistration || false;\r\n this.setTitle();\r\n this.createForm();\r\n\r\n if (this.allowReservationWithoutAccount)\r\n this.loginPanelClass = \"col-xs-6 col-md-offset-1 col-md-4\";\r\n else this.loginPanelClass = \"col-xs-12 col-md-4 col-md-offset-4\";\r\n }\r\n\r\n setTitle() {\r\n if (this.withoutRegistration)\r\n this.titleService.setTitle(\"Medsoft - Dane pacjenta\");\r\n else this.titleService.setTitle(\"Medsoft - Logowanie\");\r\n }\r\n\r\n createForm() {\r\n this.loginForm = this.fb.group({\r\n email: [\"\", Validators.required],\r\n password: [\"\", Validators.required],\r\n rules: [\"\", this.hasRules ? Validators.requiredTrue : []],\r\n });\r\n }\r\n\r\n onSubmit() {\r\n if (!this.loginForm.valid) {\r\n return;\r\n }\r\n this.userService\r\n .login(this.loginForm.value.email, this.loginForm.value.password)\r\n .subscribe(\r\n (result: any) => {\r\n if (result.success) {\r\n if (this.redirect !== null) {\r\n let params: Params = {};\r\n this.redirectQuery\r\n .replace(\"?\", \"\")\r\n .split(\"&\")\r\n .forEach((q) => {\r\n let splited = q.split(\"=\");\r\n if (splited.length >= 2) {\r\n params[splited[0]] = splited[1];\r\n }\r\n });\r\n this.router.navigate([\"/\" + this.redirect], {\r\n queryParams: params,\r\n });\r\n }\r\n } else {\r\n this.isError = true;\r\n this.error = \"Wystąpił nieoczekiwany błąd\";\r\n }\r\n },\r\n (error: any) => {\r\n this.isError = true;\r\n this.error = ErrorProcessor.process(error);\r\n }\r\n );\r\n }\r\n\r\n withoutRegistrationClick() {\r\n if (this.redirect !== null && this.redirect.length > 0) {\r\n this.withoutRegistration = true;\r\n this.setTitle();\r\n } else this.router.navigate([\"/\"]);\r\n }\r\n\r\n personalDetailSubmit(model: PersonalDetail) {\r\n this.submitingForm = true;\r\n this.userService.registerTempAccount(model).subscribe(\r\n (r) => {\r\n this.submitingForm = false;\r\n if (r.success) {\r\n if (this.redirect !== null)\r\n this.router.navigate([\"/\" + this.redirect]);\r\n } else {\r\n this.isError = true;\r\n this.error = \"Wystąpił nieoczekiwany błąd\";\r\n }\r\n },\r\n (error: any) => {\r\n this.submitingForm = false;\r\n this.isError = true;\r\n this.error = ErrorProcessor.process(error);\r\n }\r\n );\r\n }\r\n get okEmail(): boolean {\r\n return (\r\n !this.loginForm.hasError(\"required\", [\"email\"]) ||\r\n this.loginForm.get(\"email\")!.pristine\r\n );\r\n }\r\n\r\n get okPassword(): boolean {\r\n return (\r\n !this.loginForm.hasError(\"required\", [\"password\"]) ||\r\n this.loginForm.get(\"password\")!.pristine\r\n );\r\n }\r\n\r\n get okRules(): boolean {\r\n return (\r\n !this.loginForm.hasError(\"required\", [\"rules\"]) ||\r\n this.loginForm.get(\"rules\")!.pristine\r\n );\r\n }\r\n\r\n get mustLogin(): boolean {\r\n return (\r\n !!this.redirect &&\r\n !!this.visitService.visitToBook &&\r\n this.visitService.visitToBook.typeSelected != 1\r\n );\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n {{notification.message}}\r\n
\r\n
\r\n\r\n
\r\n \r\n Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej\r\n \r\n \r\n
\r\n","import { Component } from '@angular/core';\r\nimport { trigger, transition, style, animate, group} from '@angular/animations';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { UserService } from '../shared/services/user.service';\r\nimport { ClientService } from '../shared/services/client.service';\r\nimport { NotificationService } from '../shared/services/notification.service';\r\nimport { Notification } from '../shared/models/notification.model';\r\nimport { ConfigModel } from '../shared/models/config.model';\r\n\r\n\r\n@Component({\r\n selector: 'menu',\r\n templateUrl: 'menu.component.html',\r\n styleUrls: ['menu.component.scss'],\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0'}),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1' }),\r\n animate('.8s ease-in', style({ opacity: '0' })),\r\n ]),\r\n ]),\r\n ]\r\n})\r\nexport class MenuComponent {\r\n public logo: string = '/api/Client/Logo';\r\n public isLogged: boolean;\r\n notifications: Notification[];\r\n\r\n public isCookieConfirmed: boolean = false;\r\n hideRegistration: boolean | null;\r\n fullAccess: boolean;\r\n\r\n constructor(private router: Router, private userService: UserService, private notificationService: NotificationService, private clientService: ClientService) {\r\n this.notifications = [];\r\n\r\n this.isLogged = this.userService.isLoggedIn;\r\n\r\n this.clientService.configChange.subscribe(r => {\r\n this.hideRegistration = r.hideRegistration;\r\n this.fullAccess = r.fullAccess || false;\r\n });\r\n\r\n this.hideRegistration = this.clientService.config.hideRegistration;\r\n this.fullAccess = this.clientService.config.fullAccess || false;\r\n\r\n userService.loggedInStatus.subscribe(status => {\r\n this.isLogged = status;\r\n if (!status && this.userService.doRedirect) {\r\n this.router.navigate(['/login', this.userService.getRedirect()]);\r\n }\r\n });\r\n\r\n this.isCookieConfirmed = userService.cookieConfirmed;\r\n\r\n notificationService.notifications.subscribe(notification => {\r\n if (this.notifications.length === 0 || this.notifications[this.notifications.length - 1].message != notification.message)\r\n this.notifications.push(notification);\r\n\r\n setTimeout(() => {\r\n this.notifications.shift();\r\n },\r\n 5000);\r\n });\r\n }\r\n\r\n logout(event: any) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.userService.logout();\r\n }\r\n\r\n menu(event: any) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.userService.logout();\r\n }\r\n\r\n get isVisit() {\r\n return this.router.url === '/' || this.router.url === '/search-visit';\r\n }\r\n\r\n get isLogin() {\r\n return this.router.url === '/login';\r\n }\r\n\r\n get isRegister() {\r\n return this.router.url === '/register';\r\n }\r\n\r\n get isPatient() {\r\n return this.router.url === '/patient';\r\n }\r\n\r\n get isVisits() {\r\n return this.router.url === '/my-visits';\r\n }\r\n\r\n hideCookieBanner(event: any) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.userService.cookieConfirmed = true;\r\n this.isCookieConfirmed = true;\r\n }\r\n}\r\n\r\n","
\r\n
\r\n \r\n
\r\n
404
\r\n
Strona, której szukasz, nie istnieje
\r\n
\r\n
\r\n
","import { Component } from '@angular/core';\r\nimport { trigger, transition, style, animate, group} from '@angular/animations';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n@Component({\r\n templateUrl: './not-found.component.html',\r\n styleUrls: ['./not-found.component.scss'],\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0' }),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1' }),\r\n animate('.8s ease-in', style({ opacity: '0' })),\r\n ]),\r\n ]),\r\n ]\r\n})\r\nexport class NotFoundComponent {\r\n constructor(private titleService: Title) {\r\n this.titleService.setTitle('Medsoft - Strona nie znaleziona');\r\n }\r\n}","
\r\n
\r\n
\r\n

Moje dane

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Imię

\r\n
\r\n
\r\n

\r\n {{patient.name}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

Nazwisko

\r\n
\r\n
\r\n

\r\n {{patient.surname}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

Pesel

\r\n
\r\n
\r\n

\r\n {{patient.pesel}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

Data urodzenia

\r\n
\r\n
\r\n

\r\n {{ patient.birthDate | date: 'yyyy-MM-dd' }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

Telefon

\r\n
\r\n
\r\n

\r\n {{patient.phoneNumber}}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Email

\r\n
\r\n
\r\n

\r\n {{patient.email}}\r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Zmiana hasła

\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n

\r\n Stare hasło jest wymagane\r\n

\r\n
\r\n
\r\n
\r\n \r\n

\r\n Hasło jest wymagane\r\n

\r\n
\r\n
\r\n \r\n

\r\n Podane hasła nie są identyczne\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n Moje zgody\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { trigger, transition, style, animate, group} from '@angular/animations';\r\nimport { Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { FormGroup, Validators, FormBuilder, FormControl, FormArray } from '@angular/forms';\r\n\r\nimport { UserService } from './../shared/services/user.service';\r\nimport { ClientService } from './../shared/services/client.service';\r\nimport { ChangePasswordResponse } from './../shared/models/change-password-response.model';\r\nimport { GetPatientResponse } from './../shared/models/get-patient-response.model';\r\nimport { ConfigModel } from './../shared/models/config.model';\r\nimport { ErrorProcessor } from './../shared/error-processor';\r\nimport { MedsoftValidators } from './../shared/validators/validators';\r\nimport { Term } from '../shared/models/term-model';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport { ChangeAcceptedToSResponse } from '../shared/models/change-accepted-tos-response';\r\n\r\n@Component({\r\n templateUrl: './patient.component.html',\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0' }),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1' }),\r\n animate('.8s ease-in', style({ opacity: '0' })),\r\n ]),\r\n ]),\r\n ],\r\n styles: ['.info { color: #317CB3; margin-top: -5px;}', '.btn-edit { padding: 0 0.5em; margin-left: 10px; }', '.tos-header { line-height: 1em; }']\r\n})\r\nexport class PatientComponent implements OnInit {\r\n isError = false;\r\n isErrorToS = false;\r\n error = '';\r\n hasMessage: boolean = false;\r\n hasMessageToS: boolean = false;\r\n updatingToS: boolean = false;\r\n message: string;\r\n validate = false;\r\n patient: GetPatientResponse = new GetPatientResponse();\r\n terms: Array;\r\n\r\n allowMultiConsents: boolean;\r\n changePasswordForm: FormGroup;\r\n termsOfServiceForm: FormGroup;\r\n registrationWithBirthDate: boolean;\r\n\r\n constructor(private titleService: Title, private fb: FormBuilder, private router: Router, private userService: UserService, private clientService: ClientService) {\r\n }\r\n\r\n createForm() {\r\n this.changePasswordForm = this.fb.group({\r\n oldPassword: ['', Validators.required],\r\n passwordsGroup: this.fb.group({\r\n password: ['', [Validators.required]],\r\n confirmPassword: ['', Validators.required]\r\n },\r\n { validator: [MedsoftValidators.equalValidator] })\r\n });\r\n }\r\n\r\n createToSForm() {\r\n this.termsOfServiceForm = this.fb.group({\r\n tos: new FormArray([])\r\n });\r\n\r\n this.addTerms();\r\n }\r\n\r\n addTerms() {\r\n\r\n if (this.termsOfServiceForm == null || this.patient.acceptedToS == null) return;\r\n this.termsOfServiceForm.setControl('tos', new FormArray([]));\r\n for (let i = 0; i < this.terms.length; i++) {\r\n (this.termsOfServiceForm.get('tos')).push(new FormControl({ value: this.patient.acceptedToS!.indexOf(this.terms[i].termID) > -1, disabled: true }, []));\r\n }\r\n }\r\n\r\n get tos() {\r\n return this.termsOfServiceForm.get('tos') as FormArray;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.titleService.setTitle(\"Medsoft - Moje dane\");\r\n this.createForm();\r\n\r\n this.allowMultiConsents = this.clientService.config.termsOfServices != null;\r\n\r\n if (this.allowMultiConsents) {\r\n this.terms = this.clientService.config.termsOfServices;\r\n this.createToSForm();\r\n }\r\n\r\n this.userService.patientData.subscribe((data: GetPatientResponse) => {\r\n this.patient = data;\r\n\r\n if (this.allowMultiConsents)\r\n this.addTerms();\r\n });\r\n this.registrationWithBirthDate = this.clientService.config.registrationWithBirthDate;\r\n this.userService.getPatientData();\r\n }\r\n\r\n setUpdating(isUpdating: boolean) {\r\n this.updatingToS = isUpdating;\r\n this.isErrorToS = false;\r\n this.hasMessageToS = false;\r\n\r\n this.tos.controls.forEach((c, i) => {\r\n if (isUpdating)\r\n c.enable();\r\n else c.disable();\r\n });\r\n }\r\n\r\n onSubmit() {\r\n if (!this.changePasswordForm.valid) {\r\n this.validate = true;\r\n this.isError = true;\r\n this.error = 'Proszę poprawić wprowadzone dane';\r\n return;\r\n }\r\n\r\n let password = this.changePasswordForm.value.passwordsGroup.password;\r\n let passwordConfirmation = this.changePasswordForm.value.passwordsGroup.confirmPassword;\r\n let oldPassword = this.changePasswordForm.value.oldPassword;\r\n\r\n this.userService.changePassword(oldPassword, password, passwordConfirmation).subscribe((result: ChangePasswordResponse) => {\r\n if (result.success) {\r\n this.hasMessage = true;\r\n this.isError = false;\r\n this.message = \"Hasło zostało zmienione\";\r\n } else {\r\n this.isError = true;\r\n this.hasMessage = false;\r\n this.error = 'Wystąpił nieoczekiwany błąd';\r\n }\r\n },\r\n (error: any) => {\r\n this.isError = true;\r\n this.error = ErrorProcessor.process(error);\r\n });\r\n }\r\n\r\n onSubmitAcceptedToS() {\r\n this.setUpdating(false);\r\n\r\n let terms = this.termsOfServiceForm.get('tos');\r\n let acceptedToS: Array = [];\r\n\r\n for (let i = 0; i < this.terms.length; i++) {\r\n if (terms.at(i).value === true) {\r\n acceptedToS.push(this.terms[i].termID);\r\n }\r\n }\r\n this.patient.acceptedToS = acceptedToS;\r\n this.userService.changeAcceptedToS(acceptedToS).subscribe((result: ChangeAcceptedToSResponse) => {\r\n if (result.success)\r\n this.message = \"Zgody zostały zaktualizowane\";\r\n else this.error = 'Wystąpił nieoczekiwany błąd';\r\n\r\n this.isErrorToS = !result.success;\r\n this.hasMessageToS = result.success;\r\n });\r\n }\r\n\r\n get okPassword(): boolean {\r\n return !this.changePasswordForm.hasError('required', ['passwordsGroup', 'password']) ||\r\n (this.changePasswordForm.get(['passwordsGroup', 'password'])!.pristine && !this.validate);\r\n }\r\n\r\n\r\n get okPasswordsMatch(): boolean {\r\n return !this.changePasswordForm.hasError('equal', ['passwordsGroup']) ||\r\n (this.changePasswordForm.get(['passwordsGroup', 'confirmPassword'])!.pristine && !this.validate);\r\n }\r\n\r\n get okOldPassword(): boolean {\r\n return !this.changePasswordForm.hasError('required', ['oldPassword']) || (this.changePasswordForm.get('oldPassword')!.pristine && !this.validate);\r\n }\r\n}\r\n","
\r\n
\r\n

Trwa pobieranie szczegółów płatności

\r\n \r\n
\r\n

Za chwilę nastąpi przekierowanie do płatności...

\r\n

W przypadku braku przekierowania kliknij tutaj

\r\n
\r\n
\r\n
\r\n

Szczegóły płatności

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ service.name }}{{ service.price | currency:'PLN':'symbol-narrow':'1.2-2' }}

do zapłaty

{{ paymentDetails.price | currency:'PLN':'symbol-narrow':'1.2-2' }}

\r\n
\r\n

Dane płatnika

\r\n
\r\n
\r\n \r\n

\r\n Imię jest wymagana\r\n

\r\n
\r\n
\r\n \r\n

\r\n Nazwisko jest wymagana\r\n

\r\n
\r\n
\r\n \r\n

\r\n Email jest wymagany\r\n

\r\n

\r\n Nieprawidłowy adres email\r\n

\r\n
\r\n

Dane do faktury VAT

\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n

\r\n Nazwa firmy jest wymagana\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n NIP jest wymagany\r\n

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n

\r\n Ulica jest wymagana\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n Budynek jest wymagany\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n

\r\n Kod pocztowy jest wymagany\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n Miasto jest wymagane\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { trigger, transition, style, group, animate } from '@angular/animations';\r\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\r\nimport { SaveInvoiceDataModel } from '@app/shared/models/save-invoice-data.model';\r\nimport { ErrorProcessor } from '@app/shared/error-processor';\r\nimport { SaveInvoiceDataResponse } from '@app/shared/models/save-invoice-data-response.model';\r\nimport { PaymentService } from '@app/shared/services/payment.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { GetPaymentDetailsResponse } from '@app/shared/models/get-payment-details-response';\r\nimport { MakePaymentModel } from '@app/shared/models/make-payment.model';\r\n\r\n@Component({\r\n selector: 'payment',\r\n templateUrl: './payment.component.html',\r\n styleUrls: ['./payment.component.scss'],\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0' }),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1', }),\r\n animate('.8s ease-in', style({ opacity: '0' })),\r\n ]),\r\n ]),\r\n ]\r\n})\r\nexport class PaymentComponent implements OnInit, OnDestroy {\r\n @Input()\r\n paymentUrl: string;\r\n @Input()\r\n hasInvoiceData: boolean;\r\n @Input()\r\n styleClass: string;\r\n\r\n isError = false;\r\n error = '';\r\n\r\n token: string;\r\n goingToPayment = false;\r\n\r\n invoiceIsError = false;\r\n invoiceError = '';\r\n invoiceForm: FormGroup;\r\n\r\n validate = false;\r\n redirect: any;\r\n\r\n isTokenPayment: boolean;\r\n fetchingDetails: boolean;\r\n\r\n paymentDetails: GetPaymentDetailsResponse;\r\n price: number;\r\n\r\n constructor(private fb: FormBuilder, private paymentService: PaymentService, private route: ActivatedRoute) {\r\n }\r\n\r\n ngOnInit() {\r\n this.fetchingDetails = false;\r\n this.isTokenPayment = false;\r\n this.route.paramMap.subscribe(p => this.getDetails(p.get('token')));\r\n this.createForm();\r\n }\r\n\r\n getDetails(token: string) {\r\n this.token = token;\r\n this.isTokenPayment = this.token != null && this.token.length > 0;\r\n if (this.isTokenPayment) {\r\n this.styleClass = \"col-xs-12 col-md-8 col-md-offset-2\";\r\n this.fetchingDetails = true;\r\n this.paymentService.getDetails(this.token).subscribe(\r\n data => {\r\n this.isTokenPayment = true;\r\n this.paymentDetails = data\r\n this.fetchingDetails = false;\r\n },\r\n (error: any) => {\r\n this.fetchingDetails = false;\r\n this.isError = true;\r\n this.error = ErrorProcessor.process(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n goToPayment() {\r\n if (!this.invoiceForm.valid) {\r\n this.validate = true;\r\n this.invoiceIsError = true;\r\n this.invoiceError = 'Proszę poprawić wprowadzone dane';\r\n return;\r\n }\r\n\r\n let model = new SaveInvoiceDataModel();\r\n model.personalInvoice = this.invoiceForm.value.personalInvoice;\r\n model.companyName = this.invoiceForm.value.companyName;\r\n model.nip = this.invoiceForm.value.nip;\r\n model.street = this.invoiceForm.value.street;\r\n model.building = this.invoiceForm.value.building;\r\n model.apartment = this.invoiceForm.value.apartment;\r\n model.postalCode = this.invoiceForm.value.postalCode;\r\n model.city = this.invoiceForm.value.city;\r\n\r\n if (this.isTokenPayment) {\r\n let makePaymentModel = new MakePaymentModel(\r\n this.token,\r\n this.invoiceForm.value.firstName,\r\n this.invoiceForm.value.lastName,\r\n this.invoiceForm.value.email,\r\n model);\r\n\r\n this.paymentService.makePayment(makePaymentModel).subscribe(\r\n (data: any) => {\r\n if (data.status.success) {\r\n this.paymentUrl = data.redirectUri;\r\n this.setRedirect();\r\n }\r\n },\r\n (error: any) => {\r\n this.isError = true;\r\n this.error = ErrorProcessor.process(error);\r\n });\r\n }\r\n else {\r\n this.paymentService.saveInvoiceData(model).subscribe((result: SaveInvoiceDataResponse) => {\r\n if (result.success) {\r\n this.goingToPayment = true;\r\n this.setRedirect();\r\n } else {\r\n this.invoiceIsError = true;\r\n this.invoiceError = 'Wystąpił nieoczekiwany błąd';\r\n }\r\n },\r\n (error: any) => {\r\n this.invoiceIsError = true;\r\n this.invoiceError = ErrorProcessor.process(error);\r\n });\r\n }\r\n }\r\n\r\n private setRedirect() {\r\n window.clearTimeout(this.redirect);\r\n this.redirect = setTimeout(() => { location.replace(this.paymentUrl) }, 5000);\r\n }\r\n\r\n createForm() {\r\n this.invoiceForm = this.fb.group({\r\n firstName: ['', this.isTokenPayment ? Validators.required : []],\r\n lastName: ['', this.isTokenPayment ? Validators.required : []],\r\n email: ['', this.isTokenPayment ? [Validators.required, Validators.email] : [Validators.email]],\r\n personalInvoice: [true],\r\n street: ['', Validators.required],\r\n building: ['', Validators.required],\r\n postalCode: ['', Validators.required],\r\n city: ['', Validators.required],\r\n companyName: [''],\r\n nip: [''],\r\n apartment: ['']\r\n });\r\n\r\n if (this.hasInvoiceData) {\r\n this.invoiceForm.controls['street'].setValidators([]);\r\n this.invoiceForm.controls['building'].setValidators([]);\r\n this.invoiceForm.controls['postalCode'].setValidators([]);\r\n this.invoiceForm.controls['city'].setValidators([]);\r\n this.invoiceForm.controls['street'].updateValueAndValidity();\r\n this.invoiceForm.controls['building'].updateValueAndValidity();\r\n this.invoiceForm.controls['postalCode'].updateValueAndValidity();\r\n this.invoiceForm.controls['city'].updateValueAndValidity();\r\n }\r\n\r\n this.invoiceForm.controls[\"personalInvoice\"].valueChanges.subscribe((val: boolean) => {\r\n if (val) {\r\n this.invoiceForm.controls['companyName'].setValidators([]);\r\n this.invoiceForm.controls['nip'].setValidators([]);\r\n if (this.hasInvoiceData) {\r\n this.invoiceForm.controls['street'].setValidators([]);\r\n this.invoiceForm.controls['building'].setValidators([]);\r\n this.invoiceForm.controls['postalCode'].setValidators([]);\r\n this.invoiceForm.controls['city'].setValidators([]);\r\n }\r\n else {\r\n this.invoiceForm.controls['street'].setValidators([Validators.required]);\r\n this.invoiceForm.controls['building'].setValidators([Validators.required]);\r\n this.invoiceForm.controls['postalCode'].setValidators([Validators.required]);\r\n this.invoiceForm.controls['city'].setValidators([Validators.required]);\r\n }\r\n } else {\r\n this.invoiceForm.controls['companyName'].setValidators([Validators.required]);\r\n this.invoiceForm.controls['nip'].setValidators([Validators.required]);\r\n this.invoiceForm.controls['street'].setValidators([Validators.required]);\r\n this.invoiceForm.controls['building'].setValidators([Validators.required]);\r\n this.invoiceForm.controls['postalCode'].setValidators([Validators.required]);\r\n this.invoiceForm.controls['city'].setValidators([Validators.required]);\r\n }\r\n this.invoiceForm.controls['companyName'].updateValueAndValidity();\r\n this.invoiceForm.controls['nip'].updateValueAndValidity();\r\n this.invoiceForm.controls['street'].updateValueAndValidity();\r\n this.invoiceForm.controls['building'].updateValueAndValidity();\r\n this.invoiceForm.controls['postalCode'].updateValueAndValidity();\r\n this.invoiceForm.controls['city'].updateValueAndValidity();\r\n });\r\n }\r\n get okFirstName(): boolean {\r\n return !this.invoiceForm.hasError('required', ['firstName']) || (this.invoiceForm.get('firstName')!.pristine && !this.validate);\r\n }\r\n\r\n get okLastName(): boolean {\r\n return !this.invoiceForm.hasError('required', ['lastName']) || (this.invoiceForm.get('lastName')!.pristine && !this.validate);\r\n }\r\n\r\n get okEmail(): boolean {\r\n return !this.invoiceForm.hasError('email', ['email']) || (this.invoiceForm.get('email')!.pristine && !this.validate);\r\n }\r\n\r\n get okEmailReq(): boolean {\r\n return !this.invoiceForm.hasError('required', ['email']) || (this.invoiceForm.get('email')!.pristine && !this.validate);\r\n }\r\n\r\n get okStreet(): boolean {\r\n return !this.invoiceForm.hasError('required', ['street']) || (this.invoiceForm.get('street')!.pristine && !this.validate);\r\n }\r\n\r\n get okBuilding(): boolean {\r\n return !this.invoiceForm.hasError('required', ['building']) || (this.invoiceForm.get('building')!.pristine && !this.validate);\r\n }\r\n\r\n get okPostalCode(): boolean {\r\n return !this.invoiceForm.hasError('required', ['postalCode']) || (this.invoiceForm.get('postalCode')!.pristine && !this.validate);\r\n }\r\n\r\n get okCity(): boolean {\r\n return !this.invoiceForm.hasError('required', ['city']) || (this.invoiceForm.get('city')!.pristine && !this.validate);\r\n }\r\n\r\n get okCompanyName(): boolean {\r\n return !this.invoiceForm.hasError('required', ['companyName']) || (this.invoiceForm.get('companyName')!.pristine && !this.validate);\r\n }\r\n\r\n get okNip(): boolean {\r\n return !this.invoiceForm.hasError('required', ['nip']) || (this.invoiceForm.get('nip')!.pristine && !this.validate);\r\n }\r\n\r\n get okPersonalInvoice(): boolean {\r\n return !this.invoiceForm.hasError('required', ['personalInvoice']) || (this.invoiceForm.get('personalInvoice')!.pristine && !this.validate);\r\n }\r\n\r\n get personalInvoice(): boolean {\r\n return this.invoiceForm.value.personalInvoice;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n window.clearTimeout(this.redirect);\r\n }\r\n}\r\n","
\r\n
\r\n

Trwa oczekiwanie na potwierdzenie płatności

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { PaymentService } from '@app/shared/services/payment.service';\r\nimport { trigger, transition, style, group, animate } from '@angular/animations';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { GetPaymentStatusResponse } from '@app/shared/models/get-payment-status-response.model';\r\nimport { ErrorProcessor } from '@app/shared/error-processor';\r\nimport { UserService } from '@app/shared/services/user.service';\r\nimport { ClientService } from '@app/shared/services/client.service';\r\n\r\n@Component({\r\n templateUrl: './payment-status.component.html',\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0' }),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1', }),\r\n animate('.8s ease-in', style({ opacity: '0' })),\r\n ]),\r\n ]),\r\n ]\r\n})\r\nexport class PaymentStatusComponent implements OnInit {\r\n isError = false;\r\n error = '';\r\n message = '';\r\n waitingForPayment: boolean = true;\r\n finishedPayment = false;\r\n reCheck: any;\r\n interval = 5000;\r\n fullAccess: boolean;\r\n\r\n constructor(private paymentService: PaymentService, \r\n private userService: UserService,\r\n private clientService: ClientService,\r\n private route: ActivatedRoute,) { }\r\n\r\n ngOnInit() {\r\n this.route.paramMap.subscribe(p => this.getPaymentStatus(p.get('token')));\r\n this.fullAccess = this.clientService.config.fullAccess;\r\n }\r\n\r\n getPaymentStatus(token: string) {\r\n this.waitingForPayment = true;\r\n this.paymentService.getPaymentStatus(token).subscribe((result: GetPaymentStatusResponse) => {\r\n if (result.checkAgain) {\r\n if (this.interval < 15000)\r\n this.interval += 1000;\r\n this.reCheck = setTimeout(() => { this.getPaymentStatus(token); }, this.interval);\r\n } else {\r\n this.waitingForPayment = false;\r\n if (result.success) {\r\n this.finishedPayment = true;\r\n if (result.paymentFinished) {\r\n this.message = result.message;\r\n } else {\r\n this.error = result.message;\r\n this.isError = true;\r\n }\r\n\r\n } else {\r\n this.isError = true;\r\n this.error = 'Wystąpił nieoczekiwany błąd';\r\n }\r\n }\r\n\r\n },\r\n (error: any) => {\r\n this.finishedPayment = true;\r\n this.waitingForPayment = false;\r\n this.isError = true;\r\n this.error = ErrorProcessor.process(error);\r\n });\r\n }\r\n\r\n go() {\r\n this.userService.redirectHomePage(this.isError);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n window.clearTimeout(this.reCheck);\r\n }\r\n}\r\n","

\r\n Jeżeli po raz pierwszy korzystasz z rezerwacji online, podaj swoje dane i kliknij \"rejestruj konto\".\r\n
Wszystkie pola są obowiązkowe
\r\n

\r\n

Polityka prywatności

\r\n

Pola obowiązkowe

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n Imię jest wymagane\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n

\r\n Nazwisko jest wymagane\r\n

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n Numer PESEL jest wymagany\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n Data urodzenia jest wymagana\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

\r\n Numer telefonu jest wymagany\r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n

\r\n Dane niezbędne do późniejszego logowania\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n Email jest wymagany\r\n

\r\n

\r\n Nieprawidłowy adres email\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n Hasło jest wymagane\r\n

\r\n
\r\n
\r\n \r\n

\r\n Podane hasła nie są identyczne\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n {{noAgreementMessage}}\r\n

\r\n
\r\n
\r\n
0\" class=\"col-md-12\" formArrayName=\"tos\">\r\n

Pola opcjonalne

\r\n
\r\n
\r\n \r\n 0\" class=\"info fa fa-info-circle\" pTooltip=\"{{terms[i].description}}\" tooltipPosition=\"right\">\r\n
\r\n

\r\n {{noAgreementMessage}}\r\n

\r\n
\r\n
\r\n
\r\n

{{registerAditionalInfo}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
","import { Component, Input, Output, EventEmitter, OnInit, ViewChild } from '@angular/core';\r\nimport { trigger, transition, style, animate, group} from '@angular/animations';\r\n\r\nimport { FormGroup, Validators, FormBuilder, FormControl, FormArray } from '@angular/forms';\r\n\r\nimport { ClientService } from './../shared/services/client.service';\r\nimport { PersonalDetail } from '../shared/models/personal-detail.model';\r\nimport { MedsoftValidators } from './../shared/validators/validators';\r\nimport { ConfigModel } from './../shared/models/config.model';\r\nimport { Term } from '../shared/models/term-model';\r\nimport { Captcha } from 'primeng/captcha'\r\nimport { DateHelper } from '../shared/date.helper';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\n\r\n@Component({\r\n selector: 'personal-detail',\r\n templateUrl: './personal-detail.component.html',\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0' }),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1' }),\r\n animate('.8s ease-in', style({ opacity: '0' })),\r\n ]),\r\n ]),\r\n ],\r\n styleUrls: ['./personal-detail.component.scss']\r\n})\r\nexport class PersonalDetailsFormComponent implements OnInit {\r\n\r\n hasRules: boolean;\r\n rulesUrl: string = '/api/Client/Rules';\r\n hasPrivacyPolicy: boolean;\r\n terms: Array;\r\n privacyPolicyUrl: string = '/api/Client/PrivacyPolicy';\r\n validate = false;\r\n registerAditionalInfo = '';\r\n allowMultiConsents: boolean;\r\n allowRegistrationForForeigners = false;\r\n registrationWithBirthDate = false;\r\n form: FormGroup;\r\n\r\n\r\n @Input()\r\n btnSubmitLabel: string;\r\n\r\n @Input()\r\n btnSubmitIcon: string;\r\n\r\n @Input()\r\n noAgreementMessage: string;\r\n\r\n @Input()\r\n forCreatingAccount: boolean;\r\n\r\n @Input()\r\n useCaptcha: boolean;\r\n\r\n _isError: boolean;\r\n _submitingForm: boolean;\r\n _error: string;\r\n\r\n @Input()\r\n get isError() {\r\n return this._isError;\r\n }\r\n\r\n @Input()\r\n get error() {\r\n return this._error;\r\n }\r\n\r\n @Input()\r\n get submitingForm() {\r\n return this._submitingForm;\r\n }\r\n\r\n @Output()\r\n isErrorChange = new EventEmitter();\r\n\r\n @Output()\r\n errorChange = new EventEmitter();\r\n\r\n @Output()\r\n submitingFormChange = new EventEmitter()\r\n\r\n set isError(value: boolean) {\r\n this._isError = value;\r\n this.isErrorChange.emit(this._isError);\r\n\r\n if (this._isError && typeof this.captcha !== 'undefined') {\r\n this.captcha.reset();\r\n }\r\n };\r\n\r\n set error(value: string) {\r\n this._error = value;\r\n this.errorChange.emit(this._error);\r\n };\r\n\r\n set submitingForm(value: boolean) {\r\n this._submitingForm = value;\r\n this.submitingFormChange.emit(this._submitingForm);\r\n }\r\n\r\n\r\n @Output()\r\n formSubmit = new EventEmitter(false);\r\n\r\n calendar_pl = {\r\n firstDayOfWeek: 1,\r\n dayNames: [\"Niedziela\", \"Poniedziałek\", \"Wtorek\", \"Środa\", \"Czwartek\", \"Priątek\", \"Sobota\"],\r\n dayNamesShort: [\"Nie\", \"Pon\", \"Wto\", \"Śro\", \"Czw\", \"Pią\", \"Sob\"],\r\n dayNamesMin: [\"Nd\", \"Pn\", \"Wt\", \"Śr\", \"Cz\", \"Pt\", \"So\"],\r\n monthNames: [\"Styczeń\", \"Luty\", \"Marzec\", \"Kwiecień\", \"Maj\", \"Czerwiec\", \"Lipiec\", \"Sierpień\", \"Wrzesień\", \"Październik\", \"Listopad\", \"Grudzień\"],\r\n monthNamesShort: [\"Sty\", \"Lut\", \"Mar\", \"Kwi\", \"Maj\", \"Cze\", \"Lip\", \"Sie\", \"Wrz\", \"Paź\", \"Lis\", \"Gru\"],\r\n today: 'Dzisiaj',\r\n clear: 'Wyczyść'\r\n };\r\n\r\n dateRange: string;\r\n captchaResponse: string | null;\r\n\r\n constructor(private fb: FormBuilder, private clientService: ClientService) {\r\n\r\n }\r\n\r\n @ViewChild(Captcha)\r\n captcha: Captcha;\r\n\r\n ngOnInit() {\r\n this.init(this.clientService.config);\r\n let now = new Date();\r\n this.dateRange = `${now.getFullYear() - 120}:${now.getFullYear()}`;\r\n this.captchaResponse = null;\r\n }\r\n\r\n init(model: ConfigModel) {\r\n this.hasRules = model.hasRules;\r\n this.hasPrivacyPolicy = model.hasPrivacyPolicy;\r\n this.registerAditionalInfo = model.registerAditionalInfo;\r\n this.allowRegistrationForForeigners = model.allowRegistrationForForeigners;\r\n this.registrationWithBirthDate = model.registrationWithBirthDate;\r\n this.allowMultiConsents = model.termsOfServices != null;\r\n\r\n this.createForm();\r\n\r\n if (this.allowMultiConsents) {\r\n this.terms = model.termsOfServices;\r\n this.addTerms();\r\n }\r\n }\r\n\r\n createForm() {\r\n this.form = this.fb.group({\r\n name: ['', Validators.required],\r\n email: ['', [Validators.required, Validators.email]],\r\n surname: ['', Validators.required],\r\n pesel: ['', this.registrationWithBirthDate ? [] : Validators.required],\r\n birthDate: ['', this.registrationWithBirthDate ? Validators.required : []],\r\n phone: ['', [Validators.required]],\r\n dontHavePesel: [false],\r\n rules: [false, Validators.requiredTrue],\r\n tos: new FormArray([]),\r\n passwordsGroup: this.fb.group(\r\n {\r\n password: ['', this.forCreatingAccount ? Validators.required : []],\r\n confirmPassword: ['', this.forCreatingAccount ? Validators.required : []]\r\n },\r\n { validator: [MedsoftValidators.equalValidator] }\r\n )\r\n });\r\n\r\n this.form.controls[\"dontHavePesel\"].valueChanges.subscribe((val: boolean) => {\r\n if (val) {\r\n this.form.controls['pesel'].setValidators([]);\r\n } else {\r\n this.form.controls['pesel'].setValidators([Validators.required]);\r\n }\r\n this.form.controls['pesel'].updateValueAndValidity();\r\n });\r\n }\r\n\r\n addTerms() {\r\n if (this.form == null) return;\r\n for (let i = 0; i < this.terms.length; i++) {\r\n (this.form.get('tos')).push(new FormControl(false, []));\r\n }\r\n }\r\n\r\n onSubmit() {\r\n if (!this.form.valid) {\r\n this.validate = true;\r\n this._isError = true;\r\n this._error = 'Proszę poprawić wprowadzone dane';\r\n return;\r\n }\r\n\r\n if (this.useCaptcha && this.captchaResponse == null) {\r\n this.validate = true;\r\n this._isError = true;\r\n this._error = 'Potwierdź, że nie jesteś robotem';\r\n return;\r\n }\r\n\r\n this.isError = false;\r\n this.error = '';\r\n\r\n let model = new PersonalDetail();\r\n model.name = this.form.value.name;\r\n model.email = this.form.value.email;\r\n model.surname = this.form.value.surname;\r\n model.pesel = this.form.value.pesel;\r\n model.phone = this.form.value.phone;\r\n model.password = this.form.value.passwordsGroup.password;\r\n model.passwordConfirmation = this.form.value.passwordsGroup.confirmPassword;\r\n model.dontHavePesel = this.allowRegistrationForForeigners && this.form.value.dontHavePesel;\r\n model.birthDate = DateHelper.getDate(this.form.value.birthDate);\r\n model.captchaResponse = this.captchaResponse;\r\n\r\n let terms = this.form.get('tos');\r\n\r\n if (this.allowMultiConsents) {\r\n for (let i = 0; i < this.terms.length; i++) {\r\n if (terms.at(i).value === true) {\r\n model.acceptedTos.push(this.terms[i].termID);\r\n }\r\n }\r\n }\r\n\r\n this.formSubmit.emit(model);\r\n this.captchaResponse = null;\r\n }\r\n\r\n captchaOnResponse(event: any) {\r\n this.captchaResponse = event.response;\r\n }\r\n\r\n captchaOnExpire() {\r\n this.captchaResponse = null;\r\n }\r\n\r\n get tos() {\r\n return this.form.get('tos') as FormArray;\r\n }\r\n get showRegisterAditionalInfo(): boolean {\r\n return this.registerAditionalInfo !== '';\r\n }\r\n\r\n get okName(): boolean {\r\n return !this.form.hasError('required', ['name']) || (this.form.get('name')!.pristine && !this.validate);\r\n }\r\n\r\n get okSurname(): boolean {\r\n return !this.form.hasError('required', ['surname']) || (this.form.get('surname')!.pristine && !this.validate);\r\n }\r\n\r\n get okPesel(): boolean {\r\n return !this.form.hasError('required', ['pesel']) || (this.form.get('pesel')!.pristine && !this.validate);\r\n }\r\n\r\n get okPhone(): boolean {\r\n return !this.form.hasError('required', ['phone']) || (this.form.get('phone')!.pristine && !this.validate);\r\n }\r\n\r\n get okPassword(): boolean {\r\n return !this.form.hasError('required', ['passwordsGroup', 'password']) ||\r\n (this.form.get(['passwordsGroup', 'password'])!.pristine && !this.validate);\r\n }\r\n\r\n\r\n get okPasswordsMatch(): boolean {\r\n return !this.form.hasError('equal', ['passwordsGroup']) ||\r\n (this.form.get(['passwordsGroup', 'confirmPassword'])!.pristine && !this.validate);\r\n }\r\n\r\n get okEmail(): boolean {\r\n return !this.form.hasError('email', ['email']) || (this.form.get('email')!.pristine && !this.validate);\r\n }\r\n\r\n get okEmailReq(): boolean {\r\n return !this.form.hasError('required', ['email']) || (this.form.get('email')!.pristine && !this.validate);\r\n }\r\n\r\n get okBirthDate(): boolean {\r\n return !this.form.hasError('required', ['birthDate']) || (this.form.get('birthDate')!.pristine && !this.validate);\r\n }\r\n\r\n get okRules(): boolean {\r\n return !this.form.hasError('required', ['rules']) || (this.form.get('rules')!.pristine && !this.validate);\r\n }\r\n\r\n okTos(index: number): boolean {\r\n let therm = (this.form.get('tos')).at(index);\r\n return !therm.hasError('required') || (therm.pristine && !this.validate);\r\n }\r\n}\r\n","
\r\n
\r\n

Rejestracja konta

\r\n
\r\n \r\n \r\n
\r\n
","import { Component} from '@angular/core';\r\nimport { trigger, transition, style, animate, group} from '@angular/animations';\r\nimport { Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\nimport { UserService } from './../shared/services/user.service';\r\n\r\nimport { PersonalDetail } from '../shared/models/personal-detail.model';\r\nimport { RegisterResponse } from './../shared/models/register-response.model';\r\nimport { ErrorProcessor } from './../shared/error-processor';\r\nimport { VisitService } from '@app/visit/shared/services/visit.service';\r\n\r\n\r\n@Component({\r\n templateUrl: './register.component.html',\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0' }),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1' }),\r\n animate('.8s ease-in', style({ opacity: '0' })),\r\n ]),\r\n ]),\r\n ],\r\n styles: ['.info { color: #317CB3; padding: 5px; }']\r\n})\r\nexport class RegisterComponent {\r\n isError = false;\r\n error = '';\r\n submitingForm = false;\r\n token: string | null;\r\n\r\n constructor(private titleService: Title, private router: Router, private userService: UserService, private visitService: VisitService) {\r\n this.titleService.setTitle(\"Medsoft - Rejestracja\"); \r\n \r\n this.visitService.saveBookingVisitInfo().subscribe(\r\n (token) => {\r\n this.token = token;\r\n },\r\n (err) => {\r\n this.token = null;\r\n }\r\n );\r\n }\r\n\r\n onSubmit(model: PersonalDetail) {\r\n this.isError = false;\r\n this.error = '';\r\n this.submitingForm = true;\r\n\r\n model.visitBookToken = this.token;\r\n\r\n this.userService.register(model).subscribe((result: RegisterResponse) => {\r\n this.submitingForm = false;\r\n if (result.success) {\r\n this.router.navigate(['/confirm']);\r\n } else {\r\n this.isError = true;\r\n this.error = 'Wystąpił nieoczekiwany błąd';\r\n }\r\n },\r\n (error: any) => {\r\n this.submitingForm = false;\r\n this.isError = true;\r\n this.error = ErrorProcessor.process(error);\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n Email jest wymagany\r\n

\r\n

\r\n Proszę podać prawidłowy email\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component} from '@angular/core';\r\nimport { trigger, transition, style, animate, group} from '@angular/animations';\r\nimport { Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\r\n\r\nimport { UserService } from './../shared/services/user.service';\r\nimport { ClientService } from './../shared/services/client.service';\r\nimport { ErrorProcessor } from './../shared/error-processor';\r\n\r\n@Component({\r\n templateUrl: './remind-password.component.html',\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0' }),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1' }),\r\n animate('.8s ease-in', style({ opacity: '0' })),\r\n ]),\r\n ]),\r\n ]\r\n})\r\nexport class RemindPasswordComponent {\r\n isError = false;\r\n error = '';\r\n isMsg = false;\r\n message = '';\r\n redirectToLogin: any;\r\n\r\n remindForm: FormGroup;\r\n sendingEmail: boolean = false;\r\n\r\n constructor(private titleService: Title, private fb: FormBuilder, private router: Router, private userService: UserService, private clientService: ClientService) {\r\n titleService.setTitle(\"Medsoft - Przypomnij hasło\");\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.remindForm = this.fb.group({\r\n email: ['', [Validators.required, Validators.email]]\r\n });\r\n\r\n }\r\n\r\n onSubmit() {\r\n if (!this.remindForm.valid)\r\n return;\r\n this.sendingEmail = true;\r\n this.userService.remindPassword(this.remindForm.value.email).subscribe((result: any) => {\r\n this.isError = false;\r\n if (result.success && result.message == 'PRZYPOMNIENIE_WYSLANE') {\r\n this.isMsg = true;\r\n this.message = \"Przypomnienie zostało wysłane na podany adres email\";\r\n } else {\r\n this.isMsg = false;\r\n this.isError = true;\r\n this.error = 'Wystąpił nieoczekiwany błąd';\r\n }\r\n this.sendingEmail = false;\r\n },\r\n (error: any) => {\r\n this.sendingEmail = false;\r\n this.isMsg = false;\r\n this.isError = true;\r\n this.error = ErrorProcessor.process(error);\r\n if (this.error === \"\")\r\n this.error = \"Nie znaleziono konta dla podanego adresu email\";\r\n });\r\n }\r\n\r\n get okEmailReq(): boolean {\r\n return !this.remindForm.hasError('required', ['email']) || this.remindForm.get('email')!.pristine;\r\n }\r\n\r\n get okEmail(): boolean {\r\n return !this.remindForm.hasError('email', ['email']) || (this.remindForm.get('email')!.pristine);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n constructor() { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n let authReq = req.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${localStorage.getItem('access_token') || sessionStorage.getItem('access_token')}`}\r\n });\r\n return next.handle(authReq);\r\n }\r\n}\r\n","export class DateHelper {\r\n static getDate(date: Date): Date | null {\r\n \r\n if (date != null && date.toString().length > 0) {\r\n let userTimezoneOffset = date.getTimezoneOffset() * 60000;\r\n return new Date(date.getTime() - userTimezoneOffset);\r\n }\r\n return null;\r\n }\r\n}","export class ErrorProcessor {\r\n\r\n static process(error: any): string {\r\n let ret: string;\r\n let err = error.error;\r\n if (error.status == 422) {\r\n ret = `${err.message}
`;\r\n err.errors.forEach((e: any) => {\r\n ret += e.message + '
';\r\n });\r\n return ret;\r\n }\r\n if (error.status == 401) {\r\n return 'Nastąpiło wylogowanie';\r\n }\r\n\r\n if (err == null) {\r\n ret = \"Wystąpił nieoczekiwany błąd\";\r\n } else {\r\n ret = err.message;\r\n }\r\n return ret;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { ClientService } from './services/client.service';\r\nimport { map } from 'rxjs/operators';\r\nimport { ConfigModel } from './models/config.model';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class FullAccessGuard implements CanActivate {\r\n\r\n constructor(private clientService: ClientService, private router: Router) {}\r\n\r\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n if (this.clientService.config.fullAccess === null) {\r\n return this.clientService.configChange.pipe(map((config: ConfigModel) => this.check(config)));\r\n }\r\n else {\r\n return this.check(this.clientService.config);\r\n }\r\n }\r\n\r\n private check(config: ConfigModel): boolean {\r\n if (config.fullAccess)\r\n return true;\r\n \r\n this.router.navigate(['/404']);\r\n return false;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { UserService } from './services/user.service';\r\nimport { ClientService } from './services/client.service';\r\nimport { map } from 'rxjs/operators';\r\nimport { ConfigModel } from './models/config.model';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class LoggedInGuard implements CanActivate {\r\n constructor(private user: UserService, private clientService: ClientService, private router: Router) {}\r\n\r\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n if (this.clientService.config.hideRegistration == null) {\r\n return this.clientService.configChange.pipe(map((config: ConfigModel) => {\r\n if (!config.hideRegistration) {\r\n if (this.user.isLoggedIn) {\r\n return true;\r\n } else {\r\n this.router.navigate(['/login']);\r\n return false;\r\n }\r\n }\r\n return true;\r\n }));\r\n }\r\n else {\r\n if (!this.clientService.config.hideRegistration) {\r\n if (this.user.isLoggedIn || !!sessionStorage.getItem('isTempUser')) {\r\n return true;\r\n } else {\r\n this.router.navigate(['/login']);\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n }\r\n}","export class BaseResponse {\r\n success: boolean;\r\n message: string;\r\n}","import { Term } from \"./term-model\";\r\n\r\nexport class ConfigModel {\r\n public hasRules = false;\r\n public hasPrivacyPolicy = false;\r\n public ifSmsOnRegister = false;\r\n public showPrices = false;\r\n public paymentsActive = false;\r\n public registerAditionalInfo = '';\r\n public blockWithoutPayment = false;\r\n public allowRegistrationForForeigners = false;\r\n public termsOfServices: Array = [];\r\n public weekDays: Array = [];\r\n public searchForwardDays = 0;\r\n public allowReservationWithoutAccount = false;\r\n public registrationWithBirthDate = false;\r\n public hideRegistration: boolean | null = null;\r\n public redirectWithoutAccount: boolean = false;\r\n public redirectWithAccount: boolean = false;\r\n public redirectAddress: string = '';\r\n public fullAccess: boolean | null = null;\r\n public evisitWaitingForDoctorMessage: string = '';\r\n public telemedicineActive = false;\r\n}\r\n","import { BaseResponse } from './base-response.model'\r\n\r\nexport class ConfirmResponse extends BaseResponse {\r\n}","import { BaseResponse } from './base-response.model';\r\n\r\nexport class GetPatientResponse extends BaseResponse {\r\n public name: string;\r\n public surname: string;\r\n public pesel: string;\r\n public birthDate: Date;\r\n public phoneNumber: string;\r\n public email: string;\r\n public acceptedToS: Array;\r\n}","import { BaseResponse } from './base-response.model';\r\n\r\nexport class GetPaymentStatusResponse extends BaseResponse {\r\n public paymentFinished: boolean;\r\n public checkAgain: boolean;\r\n}","import { SaveInvoiceDataModel } from '@app/shared/models/save-invoice-data.model';\r\n\r\nexport class MakePaymentModel {\r\n constructor(public token: string,\r\n public firstName: string,\r\n public lastName: string,\r\n public email: string,\r\n public invoiceData: SaveInvoiceDataModel,\r\n ) {\r\n\r\n }\r\n}","export class NamedValueResponse {\r\n constructor(public id: number, public name: string) { }\r\n}","export class Notification {\r\n constructor(public type: NotificationType, public message: string) {\r\n switch (this.type) {\r\n case NotificationType.Success:\r\n this.class = 'alert-success';\r\n break;\r\n case NotificationType.Info:\r\n this.class = 'alert-info';\r\n break;\r\n case NotificationType.Warning:\r\n this.class = 'alert-warning';\r\n break;\r\n case NotificationType.Error:\r\n this.class = 'alert-danger';\r\n break;\r\n }\r\n }\r\n\r\n class: string;\r\n}\r\n\r\nexport enum NotificationType {\r\n Success,\r\n Info,\r\n Warning,\r\n Error\r\n}","export class PersonalDetail {\r\n constructor() {\r\n this.email = '';\r\n this.password = '';\r\n this.passwordConfirmation = '';\r\n this.birthDate = null,\r\n this.name = '';\r\n this.surname = '';\r\n this.phone = '';\r\n this.pesel = '';\r\n this.dontHavePesel = false;\r\n this.acceptedTos = [];\r\n this.captchaResponse = null;\r\n this.visitBookToken = null;\r\n }\r\n\r\n email: string;\r\n password: string;\r\n passwordConfirmation: string;\r\n name: string;\r\n surname: string;\r\n phone: string;\r\n pesel: string;\r\n birthDate: Date | null;\r\n dontHavePesel: boolean;\r\n acceptedTos: Array;\r\n captchaResponse: string | null;\r\n visitBookToken: string | null;\r\n}","export class SaveInvoiceDataModel {\r\n public personalInvoice: boolean;\r\n public companyName : string;\r\n public nip : string;\r\n public street : string;\r\n public building : string;\r\n public apartment : string;\r\n public postalCode : string;\r\n public city : string;\r\n}","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate } from '@angular/router';\r\nimport { ClientService } from './services/client.service';\r\nimport { map } from 'rxjs/operators';\r\nimport { ConfigModel } from './models/config.model';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class RegistrationVisibleGuard implements CanActivate {\r\n\r\n constructor(private clientService: ClientService, private router: Router) { }\r\n\r\n canActivate(): Observable | Promise | boolean {\r\n if (this.clientService.config.hideRegistration == null) {\r\n return this.clientService.configChange.pipe(map((config: ConfigModel) => this.check(config)));\r\n }\r\n else {\r\n return this.check(this.clientService.config);\r\n }\r\n }\r\n\r\n check(config: ConfigModel): boolean {\r\n if (config.hideRegistration) {\r\n this.router.navigate(['/']);\r\n return false;\r\n }\r\n return true;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n\r\n@Injectable()\r\nexport class CaptchaService {\r\n \r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n verify(response: string) {\r\n // return this.http.post('api/Captcha/Verify', { captchaResponse: response });\r\n }\r\n}","\r\nimport {map} from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { ReplaySubject } from 'rxjs';\r\n\r\nimport { GetConfigResult } from '../models/get-config-result.model';\r\nimport { ConfigModel } from '../models/config.model';\r\n\r\nimport { NotificationService } from './notification.service';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class ClientService {\r\n private configStore: ConfigModel = new ConfigModel();\r\n private _configChange = new ReplaySubject(1);\r\n \r\n constructor(private http: HttpClient, private notificationService: NotificationService) {\r\n //this.getConfig();\r\n }\r\n\r\n\r\n getConfig() {\r\n return this.http\r\n .get(\r\n 'api/Client/GetConfig').pipe(\r\n map((r: GetConfigResult) => {\r\n this.configStore.hasRules = r.hasRules;\r\n this.configStore.hasPrivacyPolicy = r.hasPrivacyPolicy;\r\n this.configStore.ifSmsOnRegister = r.smsOnRegister;\r\n this.configStore.registerAditionalInfo = r.registerAditionalInfo;\r\n this.configStore.showPrices = r.showPrices;\r\n this.configStore.paymentsActive = r.paymentsActive;\r\n this.configStore.blockWithoutPayment = r.blockWithoutPayment;\r\n this.configStore.allowRegistrationForForeigners = r.allowRegistrationForForeigners;\r\n this.configStore.termsOfServices = r.termsOfServices;\r\n this.configStore.weekDays = r.weekDays;\r\n this.configStore.searchForwardDays = r.searchForwardDays;\r\n this.configStore.registrationWithBirthDate = r.registrationWithBirthDate;\r\n this.configStore.hideRegistration = r.hideRegistration;\r\n this.configStore.allowReservationWithoutAccount = r.allowReservationWithoutAccount;\r\n this.configStore.redirectWithoutAccount = r.redirectWithoutAccount;\r\n this.configStore.redirectWithAccount = r.redirectWithAccount;\r\n this.configStore.redirectAddress = r.redirectAddress;\r\n this.configStore.fullAccess = r.fullAccess;\r\n this.configStore.evisitWaitingForDoctorMessage =\r\n r.evisitWaitingForDoctorMessage;\r\n this.configStore.telemedicineActive = r.telemedicineActive;\r\n this._configChange.next(Object.assign({}, this.configStore));\r\n }))\r\n .toPromise();\r\n }\r\n\r\n get config() {\r\n return Object.assign({}, this.configStore);\r\n }\r\n\r\n get configChange() {\r\n return this._configChange.asObservable();\r\n }\r\n}\r\n","import { Injectable, } from '@angular/core';\r\n\r\n\r\nimport { ReplaySubject } from 'rxjs';\r\n\r\nimport { Notification, NotificationType } from '../models/notification.model';\r\n\r\nimport { ErrorProcessor } from '../error-processor';\r\n\r\n@Injectable()\r\nexport class NotificationService {\r\n private _notifications = new ReplaySubject(1);\r\n private _logouts = new ReplaySubject(1);\r\n\r\n handleHttpError(error: any, redirect: string = \"\", suppressNotification: boolean = false) {\r\n if (error.status === 401) {\r\n this._logouts.next(redirect);\r\n }\r\n\r\n if (!suppressNotification) {\r\n this._notifications.next(new Notification(NotificationType.Error,\r\n ErrorProcessor.process(error)));\r\n }\r\n }\r\n\r\n makeNotification(message: string, type: NotificationType) {\r\n this._notifications.next(new Notification(type, message));\r\n }\r\n\r\n get notifications() {\r\n return this._notifications.asObservable();\r\n }\r\n\r\n get logouts() {\r\n return this._logouts.asObservable();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SaveInvoiceDataModel } from '@app/shared/models/save-invoice-data.model';\r\nimport { BaseResponse } from '../models/base-response.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { GetPaymentDetailsResponse } from '../models/get-payment-details-response';\r\nimport { MakePaymentModel } from '../models/make-payment.model';\r\nimport { GetPaymentStatusResponse } from '../models/get-payment-status-response.model';\r\n\r\n@Injectable()\r\nexport class PaymentService {\r\n \r\n constructor(private http: HttpClient) { }\r\n\r\n getDetails(token: string) {\r\n return this.http.get(`api/Payment/Details?token=${token}`);\r\n }\r\n\r\n makePayment(model: MakePaymentModel) {\r\n return this.http.post('api/Payment/MakePayment', model);\r\n }\r\n\r\n saveInvoiceData(model: SaveInvoiceDataModel) {\r\n return this.http.post(`api/Payment/SaveInvoiceData`, model);\r\n }\r\n\r\n getPaymentStatus(token: string) {\r\n return this.http.get(`api/Payment/GetStatus?token=${token}`);\r\n }\r\n}\r\n","\r\nimport {map} from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { ReplaySubject , BehaviorSubject , Observable, Subscription } from 'rxjs';\r\n\r\nimport { PersonalDetail } from '../models/personal-detail.model';\r\nimport { RegisterResponse } from '../models/register-response.model';\r\nimport { ConfirmResponse } from '../models/confirm-response.model';\r\nimport { RemindPasswordResponse } from '../models/remind-password-response.model';\r\nimport { ChangePasswordResponse } from '../models/change-password-response.model';\r\nimport { GetPatientResponse } from '../models/get-patient-response.model';\r\n\r\nimport { NotificationService } from './notification.service';\r\n\r\nimport { ChangeAcceptedToSResponse } from '../models/change-accepted-tos-response';\r\nimport { ClientService } from './client.service';\r\nimport { ConfigModel } from '../models/config.model';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class UserService {\r\n private loggedIn = false;\r\n private _loggedInBS = new ReplaySubject(1);\r\n private _patientData = new ReplaySubject(1);\r\n private patientOnlineId: number = -1;\r\n private redirect: string = \"\";\r\n public doRedirect = true;\r\n private _cookieConfirmed = false;\r\n private dataStore: {\r\n patientData: GetPatientResponse\r\n };\r\n\r\n constructor(private http: HttpClient, private notificationService: NotificationService, private clientService: ClientService, private router: Router) {\r\n this.clear();\r\n if (this.clientService.config.hideRegistration) {\r\n this.logout('', false);\r\n }\r\n \r\n this.clientService.configChange.subscribe((config: ConfigModel) => {\r\n if (config.hideRegistration) {\r\n this.logout('', false);\r\n }\r\n });\r\n\r\n this.loggedIn = !!localStorage.getItem('access_token');\r\n this._cookieConfirmed = !!localStorage.getItem('cookieConfirmed');\r\n if (this.loggedIn && new Date(localStorage.getItem('expires') || \"\") < new Date()) {\r\n this.loggedIn = false;\r\n localStorage.removeItem('access_token');\r\n }\r\n\r\n this.notificationService.logouts.subscribe(() => {\r\n this.logout();\r\n });\r\n }\r\n\r\n clear() {\r\n this.redirect = '';\r\n this.dataStore = {\r\n patientData: new GetPatientResponse()\r\n }\r\n }\r\n\r\n login(email: string, password: string) {\r\n var loginStatus = new LoginStatus();\r\n return this.http\r\n .post(\r\n 'api/Account/Login',\r\n {\r\n email: email,\r\n password: password\r\n }\r\n ).pipe(\r\n map((r: any) => {\r\n if (r.token != null && typeof r.token != \"undefined\") {\r\n localStorage.setItem('access_token', r.token);\r\n localStorage.setItem('expires', r.expires);\r\n localStorage.setItem('patientOnlineId', r.patientOnlineId);\r\n loginStatus.success = true;\r\n this.loggedIn = true;\r\n this._loggedInBS.next(true);\r\n } else {\r\n loginStatus.success = false;\r\n loginStatus.errorCode = r.error;\r\n loginStatus.message = r.message;\r\n }\r\n\r\n return loginStatus;\r\n }));\r\n }\r\n\r\n refreshToken(token: string | null) {\r\n var loginStatus = new LoginStatus();\r\n return this.http\r\n .post('api/Account/RefreshToken?token=' + token, null)\r\n .pipe(map((r: any) => {\r\n if (r.token != null && typeof r.token != \"undefined\") {\r\n localStorage.setItem('access_token', r.token);\r\n localStorage.setItem('expires', r.expires);\r\n loginStatus.success = true;\r\n this.loggedIn = true;\r\n this._loggedInBS.next(true);\r\n } else {\r\n loginStatus.success = false;\r\n loginStatus.errorCode = r.error;\r\n loginStatus.message = r.message;\r\n if (!!localStorage.getItem('access_token')) {\r\n this.logout('', false);\r\n }\r\n }\r\n }));\r\n }\r\n\r\n register(model: PersonalDetail) {\r\n return this.http\r\n .post(\r\n 'api/Account/Register',\r\n model\r\n ).pipe(map((r: RegisterResponse) => {\r\n this.patientOnlineId = r.patientOnlineId;\r\n return r;\r\n }));\r\n }\r\n\r\n registerTempAccount(model: PersonalDetail) {\r\n return this.http\r\n .post(\r\n 'api/Account/RegisterTempAccount',\r\n model\r\n ).pipe(map(r => {\r\n let result: { success: boolean } = { success: false };\r\n result.success = r.token != null && typeof r.token != \"undefined\";\r\n if (result.success) {\r\n sessionStorage.setItem('access_token', r.token);\r\n sessionStorage.setItem('expires', r.expires);\r\n sessionStorage.setItem('isTempUser', 'true');\r\n }\r\n return result;\r\n }));\r\n }\r\n\r\n deleteTemporaryAccount() {\r\n if (!!sessionStorage.getItem('isTempUser')) {\r\n sessionStorage.removeItem('isTempUser');\r\n sessionStorage.removeItem('access_token');\r\n sessionStorage.removeItem('expires');\r\n this.loggedIn = false;\r\n }\r\n }\r\n\r\n remindPassword(email: string) {\r\n return this.http\r\n .post(\r\n 'api/Account/RemindPassword',\r\n {\r\n email\r\n }\r\n );\r\n }\r\n\r\n confirm(code: number) {\r\n return this.http\r\n .post(\r\n 'api/Account/Confirm',\r\n {\r\n confirmationCode: code\r\n }\r\n );\r\n }\r\n\r\n loginWithConfirmationCode(code: number) {\r\n var loginStatus = new LoginStatus();\r\n return this.http\r\n .post(\r\n 'api/Account/LoginWithConfirmationCode',\r\n {\r\n confirmationCode: code\r\n }\r\n ).pipe(\r\n map((r: any) => {\r\n if (r.token != null && typeof r.token != \"undefined\") {\r\n localStorage.setItem('access_token', r.token);\r\n localStorage.setItem('expires', r.expires);\r\n loginStatus.success = true;\r\n this.loggedIn = true;\r\n this._loggedInBS.next(true);\r\n } else {\r\n loginStatus.success = false;\r\n loginStatus.errorCode = r.error;\r\n loginStatus.message = r.message;\r\n }\r\n\r\n return loginStatus;\r\n }));\r\n }\r\n\r\n firstLogon() {\r\n return this.http\r\n .get('api/Account/FirstLogonCheck');\r\n }\r\n\r\n getPatientData() {\r\n let $s: Subscription = this.http\r\n .get('/api/Account/Get')\r\n .subscribe((result: GetPatientResponse) => {\r\n $s.unsubscribe();\r\n this.dataStore.patientData = result;\r\n this._patientData.next(Object.assign({}, this.dataStore.patientData));\r\n }, () => $s.unsubscribe());\r\n }\r\n\r\n changePassword(oldPassword: string, newPassword: string, newPasswordConfirmation: string) {\r\n return this.http\r\n .post(\r\n 'api/Account/ChangePassword',\r\n {\r\n oldPassword,\r\n newPassword,\r\n newPasswordConfirmation\r\n }\r\n );\r\n }\r\n\r\n changeAcceptedToS(acceptedToS: Array) {\r\n this.dataStore.patientData.acceptedToS = acceptedToS;\r\n return this.http\r\n .post(\r\n 'api/Account/ChangeAcceptedToS',\r\n {\r\n acceptedToS\r\n }\r\n );\r\n }\r\n\r\n resendConfirmation() {\r\n if (this.patientOnlineId == -1) {\r\n let ret = new ConfirmResponse();\r\n ret.success = false;\r\n ret.message = 'Twoja sesja wygasła. Skorzytaj z linku zawartego w mailu z potwierdzniem rejestracji.';\r\n let rs = new BehaviorSubject(ret);\r\n return rs.asObservable();\r\n }\r\n\r\n return this.http\r\n .post(\r\n 'api/Account/ResendConfirmation',\r\n {\r\n patientOnlineId: this.patientOnlineId\r\n }\r\n );\r\n }\r\n\r\n logout(redirect: string = '', doRedirect: boolean = true) {\r\n this.clear();\r\n this.deleteTemporaryAccount();\r\n this.redirect = redirect;\r\n this.doRedirect = doRedirect;\r\n\r\n this.http.get('api/Account/Logout').subscribe();\r\n localStorage.removeItem('access_token');\r\n this.loggedIn = false;\r\n this._loggedInBS.next(false);\r\n }\r\n\r\n\r\n\r\n hasRedirect() {\r\n return this.redirect != null && this.redirect !== '';\r\n }\r\n\r\n getRedirect() {\r\n let rediredt = this.redirect;\r\n this.redirect = \"\";\r\n return rediredt;\r\n }\r\n\r\n public redirectHomePage(isError: boolean) {\r\n let config = this.clientService.config;\r\n\r\n if (!isError && (config.redirectWithAccount || config.redirectWithoutAccount)) {\r\n if (this.isLoggedIn) {\r\n if (config.redirectWithAccount)\r\n location.assign(config.redirectAddress);\r\n else\r\n this.router.navigate(['/']);\r\n }\r\n else if (config.redirectWithoutAccount)\r\n location.assign(config.redirectAddress); \r\n }\r\n else {\r\n this.router.navigate(['/']);\r\n }\r\n }\r\n\r\n get isLoggedIn() {\r\n return this.loggedIn;\r\n }\r\n\r\n loggedInStatus = this._loggedInBS.asObservable();\r\n\r\n get patientData() {\r\n return this._patientData.asObservable();\r\n }\r\n\r\n get cookieConfirmed(): boolean {\r\n return this._cookieConfirmed;\r\n }\r\n\r\n set cookieConfirmed(isConfirmed: boolean) {\r\n localStorage.setItem('cookieConfirmed', isConfirmed.toString());\r\n this._cookieConfirmed = isConfirmed;\r\n }\r\n\r\n get currentPatientOnlineId(): number{\r\n return this.isLoggedIn ? Number(localStorage.getItem('patientOnlineId')) : -1;\r\n }\r\n}\r\n\r\nclass LoginStatus {\r\n success: boolean;\r\n errorCode: number;\r\n message: string;\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\n\r\nexport class MedsoftValidators\r\n{\r\n public static equalValidator({ value }: FormGroup): { [ket: string]: any\r\n } | null {\r\n const [first, ...rest] = Object.keys(value || {});\r\n const valid = rest.every(v => value[v] === value[first]);\r\n\r\n return valid? null : { equal: true };\r\n }\r\n}","
\r\n
\r\n {{ message }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"app-speech-bubble\",\r\n templateUrl: \"./speech-bubble.component.html\",\r\n styleUrls: [\"./speech-bubble.component.scss\"],\r\n})\r\nexport class SpeechBubbleComponent implements OnInit {\r\n @Input()\r\n public message: string;\r\n\r\n @Input()\r\n public imgSrc: string | null;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","
\r\n
\r\n

Trwa oczekiwanie na potwierdzenie płatności

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnDestroy } from '@angular/core';\r\nimport { trigger, transition, style, animate, group} from '@angular/animations';\r\n\r\nimport { VisitService } from '../shared/services/visit.service';\r\nimport { UserService } from '@app/shared/services/user.service';\r\n\r\nimport { GetPaymentStatusResponse } from '../../shared/models/get-payment-status-response.model';\r\n\r\nimport { ErrorProcessor } from './../../shared/error-processor';\r\n\r\n\r\n@Component({\r\n templateUrl: './after-payment.component.html',\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0' }),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1', }),\r\n animate('.8s ease-in', style({ opacity: '0' })),\r\n ]),\r\n ]),\r\n ]\r\n})\r\nexport class AfterPaymentComponent implements OnDestroy {\r\n isError = false;\r\n error = '';\r\n message = '';\r\n waitingForPayment: boolean = true;\r\n finishedPayment = false;\r\n reCheck: any;\r\n interval = 5000;\r\n\r\n constructor(private visitService: VisitService, private userService: UserService) {\r\n if (this.visitService.hasVisitForPayment())\r\n this.checkStatus();\r\n else {\r\n this.waitingForPayment = false;\r\n this.finishedPayment = true;\r\n this.isError = true;\r\n this.error = \"Wystąpił nieoczekiwany błąd\";\r\n }\r\n }\r\n\r\n checkStatus() {\r\n this.waitingForPayment = true;\r\n this.visitService.getPaymentStatus().subscribe((result: GetPaymentStatusResponse) => {\r\n if (result.checkAgain) {\r\n if (this.interval < 15000)\r\n this.interval += 1000;\r\n this.reCheck = setTimeout(() => { this.checkStatus(); }, this.interval);\r\n } else {\r\n this.waitingForPayment = false;\r\n if(result.success)\r\n {\r\n this.finishedPayment = true;\r\n if (result.paymentFinished) {\r\n this.message = result.message;\r\n } else {\r\n this.error = result.message;\r\n this.isError = true;\r\n }\r\n\r\n } else {\r\n this.isError = true;\r\n this.error = 'Wystąpił nieoczekiwany błąd';\r\n }\r\n }\r\n \r\n },\r\n (error: any) => {\r\n this.finishedPayment = true;\r\n this.waitingForPayment = false;\r\n this.isError = true;\r\n this.error = ErrorProcessor.process(error);\r\n });\r\n }\r\n\r\n go() {\r\n this.userService.redirectHomePage(this.isError);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n window.clearTimeout(this.reCheck);\r\n }\r\n}","
\r\n
\r\n

Trwa potwierdzanie wizyty

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component } from \"@angular/core\";\r\nimport {\r\n trigger,\r\n transition,\r\n style,\r\n animate,\r\n group,\r\n} from \"@angular/animations\";\r\n\r\nimport { Title } from \"@angular/platform-browser\";\r\n\r\nimport { VisitService } from \"../shared/services/visit.service\";\r\nimport { UserService } from \"@app/shared/services/user.service\";\r\nimport { BookSlotResponse } from \"../shared/models/book-slot-response.model\";\r\n\r\nimport { ErrorProcessor } from \"./../../shared/error-processor\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n templateUrl: \"./book-slot-status.component.html\",\r\n animations: [\r\n trigger(\"fadeInOut\", [\r\n transition(\":enter\", [\r\n style({ opacity: \"0\" }),\r\n group([animate(\".7s ease-out\", style({ opacity: \"1\" }))]),\r\n ]),\r\n transition(\":leave\", [\r\n style({ opacity: \"1\" }),\r\n animate(\".8s ease-in\", style({ opacity: \"0\" })),\r\n ]),\r\n ]),\r\n ],\r\n})\r\nexport class BookSlotStatusComponent {\r\n isError = false;\r\n error = \"\";\r\n message = \"\";\r\n isBooking: boolean = true;\r\n finishedBooking = false;\r\n visitId: number;\r\n hasPayment: boolean = false;\r\n paymentUrl: string;\r\n goingToPayment = false;\r\n hasInvoiceData = false;\r\n validate = false;\r\n\r\n private visitBookToken: string | null;\r\n\r\n constructor(\r\n private visitService: VisitService,\r\n private titleService: Title,\r\n private userService: UserService,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n this.titleService.setTitle(\"Medsoft - Wizyta\");\r\n\r\n this.visitBookToken = this.activatedRoute.snapshot.queryParams.token;\r\n\r\n if (\r\n (visitService.visitToBook == null || !visitService.visitToBook.doctor) &&\r\n this.visitBookToken &&\r\n this.visitBookToken.length > 0\r\n ) {\r\n this.visitService.getBookedVisitByToken(this.visitBookToken).subscribe(\r\n () => {\r\n this.bookSlot();\r\n },\r\n (err) => {\r\n this.bookSlot();\r\n }\r\n );\r\n } else {\r\n this.bookSlot();\r\n }\r\n }\r\n\r\n bookSlot() {\r\n this.isBooking = true;\r\n this.goingToPayment = false;\r\n this.visitService.finishBookingVisit().subscribe(\r\n (result: BookSlotResponse) => {\r\n this.isBooking = false;\r\n this.finishedBooking = true;\r\n if (result.success) {\r\n this.hasInvoiceData = result.hasInvoiceData;\r\n this.message = result.message;\r\n this.visitId = result.visitId;\r\n\r\n this.hasPayment = result.hasPayment;\r\n this.paymentUrl = result.paymentUrl;\r\n } else {\r\n this.isError = true;\r\n this.error = \"Wystąpił nieoczekiwany błąd\";\r\n }\r\n },\r\n (error: any) => {\r\n this.isBooking = false;\r\n this.finishedBooking = true;\r\n this.isError = true;\r\n this.error = ErrorProcessor.process(error);\r\n }\r\n );\r\n }\r\n\r\n go() {\r\n this.userService.redirectHomePage(this.isError);\r\n }\r\n}","\r\n
\r\n
\r\n

Wybierz rodzaj wizyty

\r\n
\r\n
\r\n \r\n \r\n
\r\n {{ vt.name }}\r\n \r\n
\r\n\r\n
\r\n \r\n COFNIJ \r\n \r\n
\r\n
\r\n \r\n
\r\n

\r\n Wybrana wizyta \r\n

\r\n
\r\n
\r\n
\r\n

Lekarz

\r\n
\r\n
\r\n

\r\n {{ slot.doctor }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

Data

\r\n
\r\n
\r\n

\r\n {{ slot.dateShow }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

Godzina

\r\n
\r\n
\r\n

\r\n {{ slot.hour }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

Oddział

\r\n
\r\n
\r\n

\r\n {{ slot.department }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

Rodzaj

\r\n
\r\n
\r\n

\r\n {{ slot.typeNameSelected }} \r\n

\r\n
\r\n
\r\n
\r\n
\r\n

Cena

\r\n
\r\n
\r\n

\r\n \r\n {{ slot.price | currency: \"PLN\":\"symbol-narrow\":\"1.2-2\" }}\r\n \r\n

\r\n
\r\n
\r\n
\r\n

Czy na pewno chcesz zarezerwować wizytę?

\r\n
\r\n
\r\n \r\n COFNIJ \r\n \r\n
\r\n \r\n \r\n REZERWUJ \r\n \r\n \r\n\r\n \r\n \r\n REZERWUJ I ZAPŁAĆ \r\n \r\n \r\n\r\n
\r\n
\r\n Płatności obsługuje\r\n \"PayU\"\r\n\r\n
\r\n
\r\n
\r\n\r\n","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport {\r\n trigger,\r\n transition,\r\n style,\r\n animate,\r\n group,\r\n} from \"@angular/animations\";\r\n\r\nimport { VisitService } from \"../shared/services/visit.service\";\r\nimport { SearchResponse } from \"../shared/models/search-response.model\";\r\nimport { ClientService } from \"@app/shared/services/client.service\";\r\nimport { takeUntil } from \"rxjs/operators\";\r\nimport { Subject } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"visit-book-slot\",\r\n templateUrl: \"./book-slot.component.html\",\r\n styleUrls: [\"./book-slot.component.scss\"],\r\n animations: [\r\n trigger(\"fadeInOut\", [\r\n transition(\":enter\", [\r\n style({ opacity: \"0\", height: \"0\" }),\r\n group([\r\n animate(\".7s ease-out\", style({ opacity: \"1\" })),\r\n animate(\".7s ease-out\", style({ height: \"*\" })),\r\n ]),\r\n ]),\r\n transition(\":leave\", [\r\n style({ opacity: \"1\", height: \"*\" }),\r\n animate(\".6s ease-in\", style({ opacity: \"0\" })),\r\n animate(\".5s ease-in\", style({ height: \"0\" })),\r\n ]),\r\n ]),\r\n ],\r\n})\r\nexport class BookSlotComponent {\r\n private $destroy: Subject = new Subject();\r\n\r\n public telemedicineActive: boolean = false;\r\n\r\n isError = false;\r\n error = \"\";\r\n @Input() slot: SearchResponse;\r\n @Input() showPrices: boolean;\r\n @Input() showPayment: boolean;\r\n @Input() blockWithoutPayment: boolean;\r\n @Output() canceled: EventEmitter =\r\n new EventEmitter();\r\n\r\n constructor(\r\n private visitService: VisitService,\r\n private clientService: ClientService\r\n ) {\r\n this.clientService.configChange\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe((model) => {\r\n this.telemedicineActive = model.telemedicineActive;\r\n });\r\n }\r\n\r\n selectType(id: number, name: string) {\r\n this.slot.typeSelected = id;\r\n this.slot.typeNameSelected = name;\r\n }\r\n\r\n book(isPaying = false) {\r\n this.slot.isPaying = isPaying;\r\n this.visitService.startBookingVisit(this.slot);\r\n }\r\n\r\n cancel() {\r\n this.canceled.emit(this.slot);\r\n }\r\n\r\n changeType() {\r\n this.slot.typeSelected = 0;\r\n }\r\n\r\n get forcePayment(): boolean {\r\n return this.slot.typeSelected !== 1;\r\n }\r\n}\r\n","\r\n \r\n \r\n\r\n
\r\n

\r\n Posiadasz inne aktywne połączenie. Zamknij pozostałe okna i odśwież okno, aby ponowić próbę połączenia.\r\n

\r\n
","import { Component, OnInit, ElementRef, ViewChild, OnDestroy, ChangeDetectorRef, AfterViewInit, HostListener } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\nimport { VisitService } from '../shared/services/visit.service';\r\nimport { GetResponse } from '../shared/models/get-response.model';\r\nimport * as signalR from '@aspnet/signalr';\r\n\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n templateUrl: './e-visit-doc-room.component.html',\r\n styleUrls: ['./e-visit-doc-room.component.scss'],\r\n})\r\nexport class EVisitDocRoomComponent implements OnInit, OnDestroy, AfterViewInit {\r\n\r\n visit: GetResponse\r\n error = '';\r\n message = '';\r\n finished = false;\r\n isProcessing = false;\r\n\r\n docId: any | undefined;\r\n roomId: any | undefined;\r\n roomDocToken: any | undefined;\r\n\r\n noVideo = false;\r\n\r\n hasOtherConnection = false;\r\n\r\n @ViewChild('patientVideo') patientVideo: ElementRef;\r\n @ViewChild('docVideo') docVideo: ElementRef;\r\n\r\n\r\n private stream: MediaStream;\r\n private streamClone: MediaStream;\r\n private javascriptNode: ScriptProcessorNode;\r\n\r\n private isNegotiating = false;\r\n\r\n private iceConfig: RTCConfiguration;\r\n\r\n private peerConnection: RTCPeerConnection;\r\n private hub : signalR.HubConnection;\r\n\r\n constructor(private titleService: Title, private activatedRoute: ActivatedRoute, private visitService: VisitService, private cdRef: ChangeDetectorRef) {\r\n this.iceConfig = environment.rtcConfiguration;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.hasOtherConnection = false;\r\n this.isNegotiating = false;\r\n this.noVideo = false;\r\n this.titleService.setTitle('Medsoft - Realizacja wizyty - Lekarz');\r\n \r\n this.docId = this.activatedRoute.snapshot.paramMap.get('docId');\r\n this.roomDocToken = this.activatedRoute.snapshot.paramMap.get('roomDocToken');\r\n }\r\n\r\n ngAfterViewInit(){\r\n this.startConnection();\r\n }\r\n\r\n ngOnDestroy(){\r\n this.closeStreams();\r\n\r\n if(this.peerConnection){\r\n this.peerConnection.close();\r\n }\r\n if(this.hub){\r\n this.hub.send('ChatDisconnect', false, this.docId, this.roomDocToken).finally(\r\n () => {\r\n this.hub.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n @HostListener('window:beforeunload', ['$event'])\r\n beforeunloadHandler(event: any) {\r\n if(this.hub){\r\n this.hub.send('ChatDisconnect', false, this.docId, this.roomDocToken).finally(\r\n () => {\r\n this.hub.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n startConnection(){\r\n this.initializeHub();\r\n }\r\n\r\n afterTurnCredentials(){\r\n this.peerConnection = new RTCPeerConnection(this.iceConfig);\r\n\r\n this.peerConnection.onicecandidate = ({ candidate }) => {\r\n if(candidate)\r\n this.hub.send('Candidate', false, this.docId, this.roomDocToken, JSON.stringify(candidate.toJSON()));\r\n }\r\n\r\n this.peerConnection.onnegotiationneeded = async () => {\r\n if (this.isNegotiating) {\r\n console.log(\"SKIP nested negotiations\");\r\n return;\r\n }\r\n this.isNegotiating = true;\r\n try {\r\n await this.peerConnection.setLocalDescription(await this.peerConnection.createOffer());\r\n // send the offer to the other peer\r\n if(this.peerConnection.localDescription)\r\n this.hub.send('Description', false, this.docId, this.roomDocToken, JSON.stringify(this.peerConnection.localDescription.toJSON()));\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n };\r\n\r\n this.peerConnection.ontrack = (event) => {\r\n this.patientVideo.nativeElement.srcObject = event.streams[0];\r\n };\r\n\r\n this.checkMicAndCamera();\r\n }\r\n\r\n initializeHub(){\r\n this.hub = new signalR.HubConnectionBuilder()\r\n .withUrl('/webRtcHub', {\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n })\r\n .build();\r\n\r\n this.hub.on('candidate', async (candidate) => {\r\n await this.peerConnection.addIceCandidate(new RTCIceCandidate(JSON.parse(candidate)));\r\n });\r\n\r\n this.hub.on('chatDisconnect', async (candidate) => {\r\n this.patientVideo.nativeElement.srcObject = null;\r\n });\r\n \r\n this.hub.on('description', async (desc) => {\r\n desc = new RTCSessionDescription(JSON.parse(desc));\r\n if (desc.type === 'offer') {\r\n await this.peerConnection.setRemoteDescription(desc);\r\n\r\n // this.stream.getTracks().forEach((track) =>\r\n // this.peerConnection.addTrack(track, this.stream));\r\n await this.peerConnection.setLocalDescription(await this.peerConnection.createAnswer());\r\n \r\n // this.docVideo.nativeElement.srcObject = this.streamClone;\r\n \r\n if(this.peerConnection.localDescription)\r\n this.hub.send('Description', false, this.docId, this.roomDocToken, JSON.stringify(this.peerConnection.localDescription.toJSON()));\r\n \r\n } else if (desc.type === 'answer') {\r\n await this.peerConnection.setRemoteDescription(desc);\r\n } else {\r\n console.log('Unsupported SDP type.');\r\n }\r\n });\r\n\r\n this.hub.on('turnCredentials', async (c) => {\r\n this.iceConfig.iceServers[0].username = c.user;\r\n this.iceConfig.iceServers[0].credential = c.pwd;\r\n this.afterTurnCredentials();\r\n });\r\n\r\n this.hub.on('hasOtherConnection', async () => {\r\n this.hasOtherConnection = true;\r\n });\r\n\r\n this.hub.start().catch(err => console.log(err)).then(()=>{\r\n this.hub.send('GetTurnKey', false, this.docId, this.roomDocToken);\r\n });\r\n }\r\n\r\n closeStreams(){\r\n if(this.javascriptNode)\r\n this.javascriptNode.disconnect();\r\n if(this.stream){\r\n this.stream.getTracks().forEach(function(track:any) {\r\n track.stop();\r\n });\r\n }\r\n if(this.streamClone){\r\n this.streamClone.getTracks().forEach(function(track:any) {\r\n track.stop();\r\n });\r\n }\r\n }\r\n\r\n checkMicAndCamera(){\r\n let nav = navigator;\r\n nav.getUserMedia = nav.getUserMedia || nav.webkitGetUserMedia || nav.mozGetUserMedia;\r\n if (nav.getUserMedia) {\r\n nav.getUserMedia({\r\n audio: true,\r\n video: true\r\n },\r\n (stream: MediaStream) => {\r\n \r\n this.stream = stream;\r\n\r\n this.streamClone = stream.clone()\r\n //usuwam audio, żeby nie było słychać dźwięku u pacjenta\r\n this.streamClone.getAudioTracks().forEach((t) => this.streamClone.removeTrack(t));\r\n this.docVideo.nativeElement.srcObject = this.streamClone;\r\n this.cdRef.detectChanges();\r\n\r\n stream.getTracks().forEach((track) =>\r\n this.peerConnection.addTrack(track, stream));\r\n },\r\n () => {\r\n this.noVideo = true;\r\n this.error = 'Nie udało nam się uzyskać dostępu do kamery i/lub mikrofonu. Są one wymagane do odbycia wizyty';\r\n this.cdRef.detectChanges();\r\n this.closeStreams();\r\n }\r\n );\r\n } else {\r\n this.noVideo = true;\r\n this.error = 'Twoja przeglądarka nie posiada obsługi kamery lub mikrofonu, który jest wymagany do przeprowadzenia wizyty. Prosimy o skorzystanie z innej przeglądarki internetowej.';\r\n this.cdRef.detectChanges();\r\n this.closeStreams();\r\n }\r\n }\r\n private clearError(){\r\n this.error = '';\r\n }\r\n\r\n private clearMsg(){\r\n this.message = '';\r\n }\r\n\r\n get isMsg(): boolean{\r\n return !!this.message;\r\n }\r\n\r\n get isError(): boolean{\r\n return !!this.error;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{visit.visitTypeName}}

\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{visit.date}}\r\n

\r\n
\r\n
\r\n

\r\n {{visit.hour}}\r\n

\r\n
\r\n
\r\n

\r\n {{visit.doctor}}\r\n

\r\n
\r\n
\r\n

\r\n {{visit.service}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{t}} \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Posiadasz inne aktywne połączenie. Zamknij pozostałe okna i odśwież stronę, aby ponowić próbę połączenia.\r\n
\r\n
\r\n
","import { Component, OnInit, ElementRef, ViewChild, OnDestroy, ChangeDetectorRef, AfterViewInit, HostListener } from '@angular/core';\r\nimport { trigger, transition, style, animate, group} from '@angular/animations';\r\nimport { Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\nimport { VisitService } from '../shared/services/visit.service';\r\nimport { GetResponse } from '../shared/models/get-response.model';\r\nimport { Subscription } from 'rxjs';\r\nimport { ErrorProcessor } from '../../shared/error-processor';\r\n\r\nimport * as signalR from '@aspnet/signalr';\r\nimport { UserService } from '../../shared/services/user.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { ClientService } from '@app/shared/services/client.service';\r\n\r\n@Component({\r\n templateUrl: './e-visit-room.component.html',\r\n styleUrls: ['./e-visit-room.component.scss'],\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0' }),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1' }),\r\n animate('.8s ease-in', style({ opacity: '0' })),\r\n ]),\r\n ]),\r\n ]\r\n})\r\nexport class EVisitRoomComponent implements OnInit, OnDestroy, AfterViewInit {\r\n\r\n visit: GetResponse;\r\n urlId: string;\r\n error = '';\r\n message = '';\r\n finished = false;\r\n isProcessing = false;\r\n\r\n noVideo = false;\r\n isDoctorConnected = false;\r\n waitingForDoctorMessage: string;\r\n\r\n volLvl = 0;\r\n\r\n filesInOneLine = false;\r\n\r\n validDrag: boolean;\r\n maxSize: number = 10485760;\r\n lastInvalids: any;\r\n\r\n hasOtherConnection = false;\r\n\r\n file: File[] | null;\r\n\r\n @ViewChild('patientVideo') patientVideo: ElementRef;\r\n @ViewChild('docVideo') docVideo: ElementRef;\r\n\r\n\r\n private stream: MediaStream;\r\n private streamClone: MediaStream;\r\n private javascriptNode: ScriptProcessorNode;\r\n\r\n private isNegotiating = false;\r\n\r\n private $user: Subscription;\r\n private $fileUpload: Subscription;\r\n private alertHideTimeout: any;\r\n\r\n private iceConfig: RTCConfiguration;\r\n\r\n private peerConnection: RTCPeerConnection;\r\n private hub : signalR.HubConnection;\r\n\r\n constructor(\r\n private titleService: Title, \r\n private router: Router, \r\n private visitService: VisitService, \r\n private cdRef: ChangeDetectorRef,\r\n private userService: UserService,\r\n private clientService: ClientService) {\r\n\r\n this.iceConfig = environment.rtcConfiguration;\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.hasOtherConnection = false;\r\n this.isNegotiating = false;\r\n this.noVideo = false;\r\n this.titleService.setTitle('Medsoft - Realizacja wizyty');\r\n \r\n if(!history.state.data || !history.state.data.visit){\r\n this.router.navigate(['/my-visits']);\r\n return;\r\n }\r\n \r\n this.visit = history.state.data.visit;\r\n this.urlId = history.state.data.urlId;\r\n\r\n this.waitingForDoctorMessage = this.getWaitingForDoctorMessage();\r\n }\r\n\r\n getWaitingForDoctorMessage(): string {\r\n let message = this.clientService.config.evisitWaitingForDoctorMessage;\r\n\r\n message = message.replace(\"<>\", this.visit.doctor);\r\n message = message.replace(\"<>\", this.visit.date);\r\n message = message.replace(\"<>\", this.visit.hour);\r\n message = message.replace(\"<>\", this.visit.department);\r\n\r\n return message;\r\n }\r\n\r\n ngAfterViewInit(){\r\n if(!history.state.data || !history.state.data.visit){\r\n return;\r\n }\r\n\r\n this.startConnection();\r\n }\r\n\r\n ngOnDestroy(){\r\n this.closeStreams();\r\n\r\n if(this.$user){\r\n this.$user.unsubscribe();\r\n }\r\n if(this.$fileUpload){\r\n this.$fileUpload.unsubscribe;\r\n }\r\n if(this.alertHideTimeout){\r\n window.clearTimeout(this.alertHideTimeout);\r\n }\r\n\r\n if(this.peerConnection){\r\n this.peerConnection.close();\r\n }\r\n\r\n if(this.hub){\r\n this.hub.send('ChatDisconnect', true, this.urlId ? this.urlId : this.userService.currentPatientOnlineId, this.token).finally(\r\n () => {\r\n this.hub.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n @HostListener('window:beforeunload', ['$event'])\r\n beforeunloadHandler(event: any) {\r\n if(this.hub){\r\n this.hub.send('ChatDisconnect', true, this.urlId ? this.urlId : this.userService.currentPatientOnlineId, this.token).finally(\r\n () => {\r\n this.hub.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n startConnection(){\r\n this.initializeHub();\r\n }\r\n\r\n afterTurnCredentials(){\r\n this.peerConnection = new RTCPeerConnection(this.iceConfig);\r\n\r\n this.peerConnection.onicecandidate = ({ candidate }) => {\r\n if(candidate)\r\n this.hub.send('Candidate', true, this.urlId ? this.urlId : this.userService.currentPatientOnlineId.toString(), this.token, JSON.stringify(candidate.toJSON()));\r\n }\r\n\r\n this.peerConnection.onnegotiationneeded = async () => {\r\n if (this.isNegotiating) {\r\n console.log(\"SKIP nested negotiations\");\r\n return;\r\n }\r\n this.isNegotiating = true;\r\n try {\r\n await this.peerConnection.setLocalDescription(await this.peerConnection.createOffer());\r\n // send the offer to the other peer\r\n if(this.peerConnection.localDescription)\r\n this.hub.send('Description', true, this.urlId ? this.urlId : this.userService.currentPatientOnlineId, this.token, JSON.stringify(this.peerConnection.localDescription.toJSON()));\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n };\r\n\r\n this.peerConnection.ontrack = (event) => {\r\n this.docVideo.nativeElement.srcObject = event.streams[0];\r\n };\r\n\r\n this.checkMicAndCamera();\r\n }\r\n\r\n initializeHub(){\r\n this.hub = new signalR.HubConnectionBuilder()\r\n .withUrl('/webRtcHub', {\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n })\r\n .build();\r\n\r\n this.hub.on('candidate', async (candidate) => {\r\n this.isDoctorConnected = true;\r\n await this.peerConnection.addIceCandidate(new RTCIceCandidate(JSON.parse(candidate)));\r\n });\r\n \r\n this.hub.on('description', async (desc) => {\r\n desc = new RTCSessionDescription(JSON.parse(desc));\r\n if (desc.type === 'offer') {\r\n await this.peerConnection.setRemoteDescription(desc);\r\n\r\n // this.stream.getTracks().forEach((track) =>\r\n // this.peerConnection.addTrack(track, this.stream));\r\n await this.peerConnection.setLocalDescription(await this.peerConnection.createAnswer());\r\n \r\n // this.patientVideo.nativeElement.srcObject = this.streamClone;\r\n \r\n if(this.peerConnection.localDescription)\r\n this.hub.send('Description', false, 1, this.visit.teleToken, JSON.stringify(this.peerConnection.localDescription.toJSON()));\r\n \r\n } else if (desc.type === 'answer') {\r\n await this.peerConnection.setRemoteDescription(new RTCSessionDescription(desc));\r\n } else {\r\n console.log('Unsupported SDP type.');\r\n }\r\n });\r\n\r\n this.hub.on('turnCredentials', async (c) => {\r\n this.iceConfig.iceServers[0].username = c.user;\r\n this.iceConfig.iceServers[0].credential = c.pwd;\r\n this.afterTurnCredentials();\r\n });\r\n\r\n this.hub.on('hasOtherConnection', async () => {\r\n this.hasOtherConnection = true;\r\n });\r\n\r\n this.hub.start().catch(err => console.log(err)).then(()=>{\r\n this.hub.send('GetTurnKey', true, this.urlId ? this.urlId : this.userService.currentPatientOnlineId, this.token);\r\n });\r\n }\r\n\r\n closeStreams(){\r\n if(this.javascriptNode)\r\n this.javascriptNode.disconnect();\r\n if(this.stream){\r\n this.stream.getTracks().forEach((track:any) => {\r\n track.stop();\r\n });\r\n }\r\n if(this.streamClone){\r\n this.streamClone.getTracks().forEach(function(track:any) {\r\n track.stop();\r\n });\r\n }\r\n }\r\n\r\n checkMicAndCamera(){\r\n let nav = navigator;\r\n nav.getUserMedia = nav.getUserMedia || nav.webkitGetUserMedia || nav.mozGetUserMedia;\r\n if (nav.getUserMedia) {\r\n nav.getUserMedia({\r\n audio: true,\r\n video: true\r\n },\r\n (stream: MediaStream) => {\r\n \r\n this.stream = stream;\r\n\r\n this.streamClone = stream.clone()\r\n //usuwam audio, żeby nie było słychać dźwięku u pacjenta\r\n this.streamClone.getAudioTracks().forEach((t) => this.streamClone.removeTrack(t));\r\n this.patientVideo.nativeElement.srcObject = this.streamClone;\r\n this.cdRef.detectChanges();\r\n\r\n stream.getTracks().forEach((track) =>\r\n this.peerConnection.addTrack(track, stream));\r\n\r\n },\r\n () => {\r\n this.noVideo = true;\r\n this.error = 'Nie udało nam się uzyskać dostępu do kamery i/lub mikrofonu. Są one wymagane do odbycia wizyty';\r\n this.cdRef.detectChanges();\r\n this.closeStreams();\r\n }\r\n );\r\n } else {\r\n this.noVideo = true;\r\n this.error = 'Twoja przeglądarka nie posiada obsługi kamery lub mikrofonu, który jest wymagany do przeprowadzenia wizyty. Prosimy o skorzystanie z innej przeglądarki internetowej.';\r\n this.cdRef.detectChanges();\r\n this.closeStreams();\r\n }\r\n }\r\n\r\n removeFile(event: any, i: number) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n \r\n if(this.file != null){\r\n this.file.splice(i, 1);\r\n \r\n if (this.file.length == 0)\r\n this.file = null;\r\n }\r\n }\r\n\r\n addFiles(){\r\n if(this.file == null){\r\n return;\r\n }\r\n\r\n this.isProcessing = true;\r\n this.clearMsg();\r\n this.clearError();\r\n\r\n this.$fileUpload = this.visitService.addFileToEvisit(this.visit.visitId, this.file, this.urlId)\r\n .subscribe(r => {\r\n this.file = null;\r\n this.isProcessing = false;\r\n if(r.success){\r\n this.message = r.message;\r\n this.alertHideTimeout = window.setTimeout(()=>{\r\n this.clearMsg();\r\n }, 15000);\r\n }\r\n },\r\n e =>{\r\n this.file = null;\r\n this.isProcessing = false;\r\n this.error = ErrorProcessor.process(e);\r\n this.alertHideTimeout = window.setTimeout(()=>{\r\n this.clearError();\r\n }, 30000);\r\n });\r\n }\r\n\r\n private clearError(){\r\n this.error = '';\r\n }\r\n\r\n private clearMsg(){\r\n this.message = '';\r\n }\r\n\r\n get isMsg(): boolean{\r\n return !!this.message;\r\n }\r\n\r\n get isError(): boolean{\r\n return !!this.error;\r\n }\r\n \r\n get text(): string[] {\r\n return !!this.file\r\n ? this.file.map((f) => `${f.name} (${(f.size / 1024).toFixed(2)}KB)`)\r\n : [\"Dodaj załączniki (max 10MB)\"];\r\n }\r\n\r\n get token(): string{\r\n return this.visit.teleToken ? this.visit.teleToken : '';\r\n }\r\n\r\n}\r\n","
\r\n

Nieprawidłowy link

\r\n
\r\n

Trwa pobieranie informacji o wizycie

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n Obecność możesz potwierdzić {{visit.confirmTime}} minut przed wizytą.\r\n
\r\n\r\n
\r\n

Dziękujemy za potwierdzenie wizyty.

Lekarz skontaktuje się z Tobą w ciągu kilku minut.
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { GetResponse } from '../shared/models/get-response.model';\r\nimport { Subscription } from 'rxjs';\r\nimport { VisitService } from '../shared/services/visit.service';\r\n\r\n@Component({\r\n selector: 'app-e-visit',\r\n templateUrl: './e-visit.component.html',\r\n styleUrls: ['./e-visit.component.scss']\r\n})\r\nexport class EVisitComponent implements OnInit, OnDestroy {\r\n\r\n urlId: string;\r\n visit: GetResponse;\r\n\r\n error: string;\r\n\r\n private getVisitInfo$: Subscription\r\n\r\n constructor(private route: ActivatedRoute,\r\n private visitService: VisitService,\r\n private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.urlId = this.route.snapshot.params.urlId;\r\n\r\n if (this.urlId) {\r\n this.getVisitInfo$ = this.visitService.getByUrlId(this.urlId)\r\n .subscribe(v => {\r\n if (v) {\r\n this.visit = v;\r\n if(!this.visit.canConfirmPresence && this.visit.teleToken && this.visit.visitTypeId == 2){\r\n this.router.navigate(['/evisit-room'], {state: {data: {visit: this.visit, urlId: this.urlId}}});\r\n }\r\n } else {\r\n this.error = 'Wizyta nie istnieje';\r\n }\r\n },\r\n () => { this.error = 'Wystąpił błąd podczas pobierania wizyty'; });\r\n } else {\r\n this.urlId = undefined;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.getVisitInfo$)\r\n this.getVisitInfo$.unsubscribe();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
Wybierz interesujące Cię kryteria, by wyświetlić terminy
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n

\r\n Wybór specjalizacji jest wymagany\r\n

\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n Proszę wybrać rodzaj usługi\r\n

\r\n

\r\n Wybrana specjalizacja nie posiada żadnych usług z możliwością umówienia online\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
1\">\r\n \r\n
\r\n \r\n
\r\n

\r\n Proszę wybrać przynajmniej jeden typ wizyty\r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Proszę wybrać przynajmniej jeden dzień tygodnia\r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

{{warning}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport {\r\n trigger,\r\n transition,\r\n style,\r\n animate,\r\n group,\r\n} from \"@angular/animations\";\r\nimport { FormGroup, Validators, FormBuilder } from \"@angular/forms\";\r\n\r\nimport { Observable, Subscription, Subject } from \"rxjs\";\r\nimport { takeUntil } from \"rxjs/operators\";\r\n\r\nimport { SpecialityService } from \"../shared/services/speciality.service\";\r\nimport { Speciality } from \"../shared/models/speciality.model\";\r\nimport { LanguageService } from \"../shared/services/language.service\";\r\nimport { Language } from \"../shared/models/language.model\";\r\nimport { DepartmentService } from \"../shared/services/department.service\";\r\nimport { Department } from \"../shared/models/department.model\";\r\nimport { DoctorService } from \"../shared/services/doctor.service\";\r\nimport { Doctor } from \"../shared/models/doctor.model\";\r\nimport { ServiceService } from \"../shared/services/service.service\";\r\nimport { Service } from \"../shared/models/service.model\";\r\nimport { VisitService } from \"../shared/services/visit.service\";\r\nimport { Hour } from \"../shared/models/hour.model\";\r\nimport { VisitTypeService } from \"../shared/services/visit-type.service\";\r\nimport { VisitType } from \"../shared/models/visit-type.model\";\r\n\r\nimport { ClientService } from \"../../shared/services/client.service\";\r\nimport { ConfigModel } from \"../../shared/models/config.model\";\r\nimport { UserService } from \"../../shared/services/user.service\";\r\n\r\n@Component({\r\n selector: \"visit-filters\",\r\n templateUrl: \"./filters.component.html\",\r\n styleUrls: [\"./filters.component.scss\"],\r\n animations: [\r\n trigger(\"fadeInOut\", [\r\n transition(\":enter\", [\r\n style({ opacity: \"0\" }),\r\n group([animate(\".7s ease-out\", style({ opacity: \"1\" }))]),\r\n ]),\r\n transition(\":leave\", [\r\n style({ opacity: \"1\" }),\r\n animate(\".8s ease-in\", style({ opacity: \"0\" })),\r\n ]),\r\n ]),\r\n ],\r\n})\r\nexport class FiltersComponent implements OnInit, OnDestroy {\r\n isError = false;\r\n error = \"\";\r\n validate = false;\r\n\r\n showServices: boolean = false;\r\n noServices: boolean = false;\r\n showWarning: boolean = false;\r\n warning: string = \"\";\r\n\r\n specialities: Speciality[];\r\n languages: Language[];\r\n departments: Department[];\r\n doctors: Doctor[];\r\n hours: Hour[];\r\n services: Service[];\r\n visitType: VisitType[] = [new VisitType(1, \"Wizyta stacjonarna\")];\r\n\r\n departmentId: number = -1;\r\n\r\n visitForm: FormGroup;\r\n\r\n private _visitTypeSelected = [1];\r\n\r\n private $destroy: Subject = new Subject();\r\n\r\n private telemedicineActive: boolean = false;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private specialityService: SpecialityService,\r\n private languageService: LanguageService,\r\n private departmentService: DepartmentService,\r\n private doctorService: DoctorService,\r\n private serviceService: ServiceService,\r\n private visitService: VisitService,\r\n private userService: UserService,\r\n private clientService: ClientService,\r\n private visitTypeService: VisitTypeService\r\n ) {\r\n this.createForm();\r\n this.setWeekDays(this.clientService.config.weekDays);\r\n this.clientService.configChange\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe((model) => {\r\n this.setWeekDays(model.weekDays);\r\n this.telemedicineActive = model.telemedicineActive;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.visitService.clear();\r\n this.bindData();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.$destroy.next(true);\r\n // Now let's also unsubscribe from the subject itself:\r\n this.$destroy.unsubscribe();\r\n }\r\n\r\n createForm() {\r\n this.visitForm = this.fb.group({\r\n specialityId: [0, Validators.min(1)],\r\n languageId: [1],\r\n departmentId: [0],\r\n doctorId: [0],\r\n serviceId: [0, Validators.min(0)],\r\n daysOfWeekGroup: this.fb.group(\r\n {\r\n dayMon: [true, []],\r\n dayTue: [true, []],\r\n dayWed: [true, []],\r\n dayThu: [true, []],\r\n dayFri: [true, []],\r\n daySat: [true, []],\r\n daySun: [true, []],\r\n },\r\n { validator: [this.mustBeCheckedValidator] }\r\n ),\r\n hour: [0, Validators.required],\r\n warning: [false],\r\n });\r\n }\r\n\r\n setWeekDays(weekDays: Array) {\r\n let daysOfWeekGroup = this.visitForm.get(\"daysOfWeekGroup\");\r\n daysOfWeekGroup!.setValue({\r\n dayMon: weekDays.indexOf(0) != -1,\r\n dayTue: weekDays.indexOf(1) != -1,\r\n dayWed: weekDays.indexOf(2) != -1,\r\n dayThu: weekDays.indexOf(3) != -1,\r\n dayFri: weekDays.indexOf(4) != -1,\r\n daySat: weekDays.indexOf(5) != -1,\r\n daySun: weekDays.indexOf(6) != -1,\r\n });\r\n }\r\n\r\n bindData() {\r\n this.visitForm.controls[\"specialityId\"].valueChanges.subscribe((val) => {\r\n this.getDepartments(val);\r\n });\r\n\r\n this.visitForm.controls[\"departmentId\"].valueChanges.subscribe((val) => {\r\n this.departmentId = val;\r\n this.getDoctors(\r\n this.visitForm.value.specialityId,\r\n val,\r\n this.visitForm.value.languageId\r\n );\r\n });\r\n\r\n this.visitForm.controls[\"languageId\"].valueChanges.subscribe((val) => {\r\n this.getDoctors(\r\n this.visitForm.value.specialityId,\r\n this.departmentId,\r\n val\r\n );\r\n });\r\n\r\n this.visitForm.controls[\"doctorId\"].valueChanges.subscribe((val) => {\r\n this.getServices(\r\n this.visitForm.value.specialityId,\r\n this.departmentId,\r\n val\r\n );\r\n });\r\n\r\n this.visitForm.controls[\"serviceId\"].valueChanges.subscribe((val) => {\r\n this.showServiceWarning(val);\r\n });\r\n\r\n this.specialityService.specialities\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe((data) => {\r\n this.specialities = data;\r\n if (data.length === 1) {\r\n this.visitForm.controls[\"specialityId\"].setValue(data[0].id);\r\n } else {\r\n if (\r\n data.findIndex(\r\n (x) => x.id === this.visitForm.value.specialityId\r\n ) === -1\r\n ) {\r\n this.visitForm.controls[\"specialityId\"].setValue(0);\r\n }\r\n }\r\n });\r\n this.languageService.languages\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe((data) => {\r\n this.languages = data;\r\n if (this.visitForm.value.languageId === 0) {\r\n this.visitForm.controls[\"languageId\"].setValue(\r\n data.length > 0 ? data[0].id : 0\r\n );\r\n }\r\n });\r\n this.departmentService.departments\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe((data) => {\r\n this.departments = data;\r\n this.visitForm.controls[\"departmentId\"].setValue(-1);\r\n this.departmentId = -1;\r\n });\r\n this.doctorService.doctors\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe((data) => {\r\n this.doctors = data;\r\n this.visitForm.controls[\"doctorId\"].setValue(-1);\r\n });\r\n this.serviceService.services\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe((data) => {\r\n this.services = data;\r\n });\r\n this.visitService.hours.pipe(takeUntil(this.$destroy)).subscribe((data) => {\r\n this.hours = data;\r\n });\r\n\r\n this.visitTypeService\r\n .get()\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe((data) => {\r\n if (this.telemedicineActive) {\r\n this.visitType = data;\r\n }\r\n\r\n this._visitTypeSelected = data.map((x) => x.id);\r\n });\r\n\r\n let specSub = this.specialityService\r\n .get()\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe(() => specSub.unsubscribe());\r\n let langSub = this.languageService\r\n .get()\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe(() => langSub.unsubscribe());\r\n\r\n this.visitService.getHours();\r\n }\r\n\r\n getDepartments(specialityId: number) {\r\n this.visitForm.controls[\"departmentId\"].setValue(0);\r\n this.departmentId = 0;\r\n\r\n if (specialityId > 0) {\r\n let sub = this.departmentService\r\n .get(specialityId)\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe((result: Department[]) => {\r\n this.getServices(\r\n this.visitForm.value.specialityId,\r\n this.departmentId,\r\n -1\r\n );\r\n sub.unsubscribe();\r\n });\r\n } else {\r\n this.departmentService.reset();\r\n }\r\n }\r\n\r\n getDoctors(specialityId: number, departmentId: number, languageId: number) {\r\n this.visitForm.controls[\"doctorId\"].setValue(0);\r\n if (specialityId > 0 && departmentId != 0 && languageId > 0) {\r\n let sub = this.doctorService\r\n .get(specialityId, departmentId, languageId)\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe(() => sub.unsubscribe());\r\n } else {\r\n this.doctorService.reset();\r\n }\r\n }\r\n\r\n getServices(specialityId: number, departmentId: number, doctorId: number) {\r\n if (specialityId > 0 && departmentId != 0 && doctorId != 0) {\r\n let sub = this.serviceService\r\n .get(specialityId, departmentId, doctorId)\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe((result: Service[]) => {\r\n sub.unsubscribe();\r\n this.showServices = result.length > 0;\r\n this.noServices = specialityId !== 0 && result.length === 0;\r\n let selectedServiceId = this.visitForm.controls[\"serviceId\"].value;\r\n if (!result.find((x) => x.id === selectedServiceId)) {\r\n this.visitForm.controls[\"serviceId\"].setValue(-1);\r\n }\r\n });\r\n } else {\r\n this.serviceService.reset();\r\n }\r\n }\r\n\r\n showServiceWarning(serviceId: number) {\r\n this.warning = this.serviceService.getServiceWarning(serviceId);\r\n this.showWarning = this.warning !== \"\";\r\n }\r\n\r\n onSubmit() {\r\n this.userService.deleteTemporaryAccount();\r\n let warningReq = this.showWarning && this.visitForm.value.warning === false;\r\n if (!this.visitForm.valid || warningReq) {\r\n this.validate = true;\r\n this.isError = true;\r\n this.error = warningReq\r\n ? \"Proszę zapoznać się z uwagami\"\r\n : \"Proszę poprawić wprowadzone dane\";\r\n return;\r\n }\r\n this.isError = false;\r\n this.getDatesWithFreeSlots(null);\r\n }\r\n\r\n getSelectedDays(): number[] {\r\n let daysOfWeek: number[] = [];\r\n if (this.visitForm.value.daysOfWeekGroup.dayMon) daysOfWeek.push(1);\r\n if (this.visitForm.value.daysOfWeekGroup.dayTue) daysOfWeek.push(2);\r\n if (this.visitForm.value.daysOfWeekGroup.dayWed) daysOfWeek.push(3);\r\n if (this.visitForm.value.daysOfWeekGroup.dayThu) daysOfWeek.push(4);\r\n if (this.visitForm.value.daysOfWeekGroup.dayFri) daysOfWeek.push(5);\r\n if (this.visitForm.value.daysOfWeekGroup.daySat) daysOfWeek.push(6);\r\n if (this.visitForm.value.daysOfWeekGroup.daySun) daysOfWeek.push(7);\r\n return daysOfWeek;\r\n }\r\n\r\n isVisitTypeSelected(vt: number): boolean {\r\n return this._visitTypeSelected.indexOf(vt) !== -1;\r\n }\r\n\r\n toggleVisitType(id: number, checked: boolean) {\r\n if (checked) {\r\n this._visitTypeSelected.push(id);\r\n } else {\r\n this._visitTypeSelected.splice(this._visitTypeSelected.indexOf(id), 1);\r\n }\r\n }\r\n\r\n getDatesWithFreeSlots(date: Date | null) {\r\n let specialityId: number = this.visitForm.value.specialityId;\r\n let doctorId: number = this.visitForm.value.doctorId;\r\n let timeOfDay: number = this.visitForm.value.hour;\r\n let weekDays: number[] = this.getSelectedDays();\r\n let languageId: number = this.visitForm.value.languageId;\r\n let serviceId: number = this.visitForm.value.serviceId;\r\n let departmentId: number = this.visitForm.value.departmentId;\r\n\r\n this.visitService.getDatesWithFreeSlots(\r\n specialityId,\r\n doctorId,\r\n timeOfDay,\r\n weekDays,\r\n languageId,\r\n serviceId,\r\n departmentId,\r\n this._visitTypeSelected,\r\n date,\r\n date == null\r\n );\r\n }\r\n\r\n get okVisitType(): boolean {\r\n return this._visitTypeSelected.length > 0;\r\n }\r\n\r\n get okSpeciality(): boolean {\r\n return (\r\n !this.visitForm.hasError(\"min\", [\"specialityId\"]) ||\r\n (this.visitForm.get(\"specialityId\")!.pristine && !this.validate)\r\n );\r\n }\r\n\r\n get okDaysOfWeek(): boolean {\r\n return !this.visitForm.hasError(\"checked\", [\"daysOfWeekGroup\"]);\r\n }\r\n\r\n get okService(): boolean {\r\n return (\r\n !this.showServices ||\r\n !this.visitForm.hasError(\"min\", [\"serviceId\"]) ||\r\n (this.visitForm.get(\"serviceId\")!.pristine && !this.validate)\r\n );\r\n }\r\n\r\n get okWarnings(): boolean {\r\n return (\r\n this.visitForm.value.warning === true ||\r\n !this.showWarning ||\r\n (this.visitForm.get(\"warning\")!.pristine && !this.validate)\r\n );\r\n }\r\n\r\n mustBeCheckedValidator({ value }: FormGroup): { [ket: string]: any } | null {\r\n const [...values] = Object.keys(value || {});\r\n return values.filter((x) => value[x] == true).length > 0\r\n ? null\r\n : { checked: true };\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n Wybierz termin wizyty - kliknij na kalendarzu wybrany dzień, by wyświetlić\r\n wolne godziny\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Trwa ładowanie...\r\n
\r\n
\r\n \r\n \r\n \r\n {{ date.day }}\r\n \r\n \r\n \r\n
\r\n
\r\n

Wybrany termin:

\r\n

\r\n {{ selectedDay | date: \"dd-MM-yyyy\" }} ({{ selectedDayOfWeek }})\r\n

\r\n

brak

\r\n \r\n Następny\r\n \r\n
\r\n
\r\n
\r\n
brak wolnych miejsc
\r\n
wolny termin
\r\n
wybrany termin
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport {\r\n trigger,\r\n transition,\r\n style,\r\n animate,\r\n group,\r\n} from \"@angular/animations\";\r\n\r\nimport { VisitService } from \"../shared/services/visit.service\";\r\nimport { DatesWithFreeSlotsResponse } from \"../shared/models/dates-with-free-slots-response.model\";\r\n\r\nimport { ClientService } from \"./../../shared/services/client.service\";\r\nimport { ConfigModel } from \"../../shared/models/config.model\";\r\nimport { Calendar } from \"primeng/calendar\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"visit-free-terms-calendar\",\r\n templateUrl: \"./free-terms-calendar.component.html\",\r\n styleUrls: [\"./free-terms-calendar.component.scss\"],\r\n animations: [\r\n trigger(\"fadeInOut\", [\r\n transition(\":enter\", [\r\n style({ opacity: \"0\", height: \"0\" }),\r\n group([\r\n animate(\".7s ease-out\", style({ opacity: \"1\" })),\r\n animate(\".5s ease-out\", style({ height: \"*\" })),\r\n ]),\r\n ]),\r\n transition(\":leave\", [\r\n style({ opacity: \"1\", height: \"*\" }),\r\n animate(\".8s ease-in\", style({ opacity: \"0\" })),\r\n animate(\".7s ease-in\", style({ height: \"0\" })),\r\n ]),\r\n ]),\r\n ],\r\n})\r\nexport class FreeTermsCalendarComponent implements OnInit {\r\n private loadingTimeout;\r\n\r\n @Output()\r\n onMonthChange = new EventEmitter<{ month: number; year: number }>();\r\n\r\n calendar_pl: any;\r\n isError = false;\r\n error = \"\";\r\n showCalendar = false;\r\n selectedDay: Date | null = new Date();\r\n nextFreeDay: Date | null = new Date();\r\n minDate: Date;\r\n maxDate: Date;\r\n bannedDays: Array = new Array();\r\n disabledDays: Array = new Array();\r\n fullDays: Array = new Array();\r\n searchingForNextDay: boolean;\r\n\r\n cellTaken = \"#fe62c2\";\r\n colFree = \"#47bb47\";\r\n\r\n loadCalendar: Observable;\r\n\r\n minRangeDate: Date;\r\n maxRangeDate: Date;\r\n isLoadingForced: boolean = false;\r\n\r\n constructor(\r\n private visitService: VisitService,\r\n private clientService: ClientService\r\n ) {\r\n this.clientService.configChange.subscribe((r: ConfigModel) => {\r\n this.setDateRange(r.searchForwardDays);\r\n });\r\n this.setDateRange(this.clientService.config.searchForwardDays);\r\n }\r\n\r\n setDateRange(daysNumber: number): void {\r\n let date = new Date();\r\n let minDate = new Date(date.getFullYear(), date.getMonth(), date.getDate());\r\n let maxDate = new Date(\r\n date.getFullYear(),\r\n date.getMonth(),\r\n date.getDate() + daysNumber\r\n );\r\n this.minRangeDate = minDate;\r\n this.maxRangeDate = maxDate;\r\n this.minDate = minDate;\r\n this.maxDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadCalendar = this.visitService.loadCalendar;\r\n this.loadCalendar.subscribe();\r\n this.bindData();\r\n this.calendar_pl = {\r\n firstDayOfWeek: 1,\r\n dayNames: [\r\n \"Niedziela\",\r\n \"Poniedziałek\",\r\n \"Wtorek\",\r\n \"Środa\",\r\n \"Czwartek\",\r\n \"Priątek\",\r\n \"Sobota\",\r\n ],\r\n dayNamesShort: [\"Nie\", \"Pon\", \"Wto\", \"Śro\", \"Czw\", \"Pią\", \"Sob\"],\r\n dayNamesMin: [\"Nd\", \"Pn\", \"Wt\", \"Śr\", \"Cz\", \"Pt\", \"So\"],\r\n monthNames: [\r\n \"Styczeń\",\r\n \"Luty\",\r\n \"Marzec\",\r\n \"Kwiecień\",\r\n \"Maj\",\r\n \"Czerwiec\",\r\n \"Lipiec\",\r\n \"Sierpień\",\r\n \"Wrzesień\",\r\n \"Październik\",\r\n \"Listopad\",\r\n \"Grudzień\",\r\n ],\r\n monthNamesShort: [\r\n \"Sty\",\r\n \"Lut\",\r\n \"Mar\",\r\n \"Kwi\",\r\n \"Maj\",\r\n \"Cze\",\r\n \"Lip\",\r\n \"Sie\",\r\n \"Wrz\",\r\n \"Paź\",\r\n \"Lis\",\r\n \"Gru\",\r\n ],\r\n today: \"Dzisiaj\",\r\n clear: \"Wyczyść\",\r\n };\r\n this.showCalendar = false;\r\n }\r\n\r\n bindData() {\r\n this.visitService.datesWithFreeSlots.subscribe(\r\n (result: DatesWithFreeSlotsResponse[]) => {\r\n this.showCalendar = true;\r\n this.disabledDays = [];\r\n this.bannedDays = [];\r\n this.fullDays = [];\r\n\r\n Array.from(result).forEach((x) => {\r\n this.bannedDays.push(new Date(x.date));\r\n if (x.status !== 0) {\r\n if (x.status === 2) this.fullDays.push(new Date(x.date));\r\n else this.disabledDays.push(new Date(x.date));\r\n }\r\n });\r\n\r\n this.fillDisabledDays(result);\r\n\r\n if (this.searchingForNextDay) {\r\n this.searchingForNextDay = false;\r\n let nextDate = this.getNextFreeDate(this.minDate);\r\n\r\n if (\r\n !!nextDate &&\r\n nextDate.getMonth() == this.selectedDay.getMonth()\r\n ) {\r\n this.selectedDay = nextDate;\r\n }\r\n this.daySelected();\r\n }\r\n }\r\n );\r\n\r\n this.visitService.reloadCalendar.subscribe(() => {\r\n this.onReload();\r\n });\r\n }\r\n\r\n private fillDisabledDays(result: any[]) {\r\n const isResultExist = result && result.length > 0;\r\n let lastDate = new Date(this.minDate);\r\n\r\n if (isResultExist) {\r\n lastDate = new Date(result[result.length - 1].date);\r\n }\r\n\r\n const lastDateOfMonth = new Date(\r\n lastDate.getFullYear(),\r\n lastDate.getMonth() + 1,\r\n 0\r\n );\r\n\r\n let currentMissingDate = new Date(\r\n lastDate.getFullYear(),\r\n lastDate.getMonth(),\r\n lastDate.getDate() + (isResultExist ? 1 : 0)\r\n );\r\n\r\n while (currentMissingDate.getTime() <= lastDateOfMonth.getTime()) {\r\n this.disabledDays.push(new Date(currentMissingDate));\r\n\r\n currentMissingDate.setDate(currentMissingDate.getDate() + 1);\r\n }\r\n }\r\n\r\n onReload() {\r\n this.selectedDay = null;\r\n\r\n let date = new Date();\r\n this.minDate = new Date(\r\n date.getFullYear(),\r\n date.getMonth(),\r\n date.getDate()\r\n );\r\n this.maxDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n\r\n this.nextFreeDay = this.getNextFreeDate(this.minDate);\r\n\r\n if (this.nextFreeDay) {\r\n if (this.nextFreeDay.getMonth() == this.minDate.getMonth()) {\r\n this.goToNextDay();\r\n } else {\r\n this.selectedDay = this.minDate;\r\n }\r\n }\r\n\r\n if (this.selectedDay == null && this.bannedDays.length == 0)\r\n this.selectedDay = this.minDate;\r\n else if (this.selectedDay == null && this.bannedDays.length > 0)\r\n this.showCalendar = false;\r\n\r\n this.daySelected();\r\n }\r\n\r\n getNextFreeDate(date: Date): Date | null {\r\n date = new Date(date.getFullYear(), date.getMonth(), date.getDate());\r\n\r\n while (\r\n this.bannedDays.findIndex((x) => x.getTime() === date.getTime()) >= 0\r\n ) {\r\n date.setDate(date.getDate() + 1);\r\n }\r\n\r\n if (date >= this.maxRangeDate) {\r\n return null;\r\n }\r\n\r\n return date;\r\n }\r\n\r\n daySelected() {\r\n let date = this.selectedDay || new Date();\r\n this.visitService.search(date);\r\n let nextDay = new Date(\r\n date.getFullYear(),\r\n date.getMonth(),\r\n date.getDate() + 1\r\n );\r\n this.nextFreeDay = this.getNextFreeDate(nextDay);\r\n }\r\n\r\n private sameMonths(date1: Date, date2: Date) {\r\n return date1 && date2 && date1.getMonth() == date2.getMonth();\r\n }\r\n\r\n dayFree(date: any): boolean {\r\n let m = new Date();\r\n m.setDate(this.minDate.getDate() - 1);\r\n let d = new Date(date.year, date.month, date.day);\r\n\r\n let monthsEqual = this.sameMonths(this.disabledDays[0], d);\r\n\r\n return (\r\n monthsEqual &&\r\n (this.selectedDay == null ||\r\n d.getTime() !== this.selectedDay!.getTime()) &&\r\n d >= m &&\r\n d <= this.maxDate &&\r\n this.disabledDays.findIndex((x) => x.getTime() === d.getTime()) === -1 &&\r\n this.fullDays.findIndex((x) => x.getTime() === d.getTime()) === -1\r\n );\r\n }\r\n\r\n dayFull(date: any): boolean {\r\n let d = new Date(date.year, date.month, date.day);\r\n\r\n let monthsEqual = this.sameMonths(this.fullDays[0], d);\r\n\r\n return (\r\n monthsEqual &&\r\n this.fullDays.findIndex((x) => x.getTime() === d.getTime()) >= 0\r\n );\r\n }\r\n\r\n goToNextDay() {\r\n let date = this.selectedDay || new Date();\r\n\r\n if (\r\n date < this.minDate ||\r\n date > this.maxDate ||\r\n this.nextFreeDay.getMonth() != date.getMonth()\r\n ) {\r\n if (this.nextFreeDay.getMonth() != date.getMonth()) {\r\n this.searchingForNextDay = true;\r\n this.nextFreeDay.setDate(1);\r\n date.setDate(1);\r\n date.setMonth(date.getMonth() + 1);\r\n }\r\n\r\n this.monthChanged({\r\n month: date.getMonth() + 1,\r\n year: date.getFullYear(),\r\n });\r\n }\r\n\r\n if (this.nextFreeDay != null) {\r\n this.selectedDay = this.nextFreeDay;\r\n }\r\n\r\n this.daySelected();\r\n }\r\n\r\n haveMoreFreeDays(): boolean {\r\n return this.nextFreeDay != null;\r\n }\r\n\r\n monthChanged(event: { month: number; year: number }) {\r\n this.isLoadingForced = true;\r\n\r\n if (this.loadingTimeout) {\r\n clearTimeout(this.loadingTimeout);\r\n }\r\n\r\n this.loadingTimeout = setTimeout(\r\n () => (this.isLoadingForced = false),\r\n 1000\r\n );\r\n\r\n let minDate = new Date(event.year, event.month - 1, 1);\r\n let maxDate = new Date(event.year, event.month, 0);\r\n\r\n if (\r\n maxDate.getFullYear() === this.maxRangeDate.getFullYear() &&\r\n maxDate.getMonth() <= this.maxRangeDate.getMonth() &&\r\n minDate.getFullYear() === this.minRangeDate.getFullYear() &&\r\n minDate.getMonth() >= this.minRangeDate.getMonth()\r\n ) {\r\n this.visitService.changeCalendarState(true);\r\n }\r\n\r\n if (minDate < this.minRangeDate) minDate = this.minRangeDate;\r\n\r\n if (maxDate > this.maxRangeDate || maxDate < this.minRangeDate)\r\n maxDate = this.maxRangeDate;\r\n\r\n this.minDate = minDate;\r\n this.maxDate = maxDate;\r\n\r\n this.onMonthChange.next(event);\r\n }\r\n\r\n get selectedDayOfWeek() {\r\n switch (this.selectedDay!.getDay()) {\r\n case 0:\r\n return \"Niedziela\";\r\n case 1:\r\n return \"Poniedziałek\";\r\n case 2:\r\n return \"Wtorek\";\r\n case 3:\r\n return \"Środa\";\r\n case 4:\r\n return \"Czwartek\";\r\n case 5:\r\n return \"Piątek\";\r\n case 6:\r\n return \"Sobota\";\r\n default:\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

Moje zaplanowane wizyty

\r\n
Brak umówionych wizyt
\r\n
\r\n
\r\n
\r\n

\r\n {{ v.date }}\r\n

\r\n

\r\n {{ v.hour }}\r\n

\r\n
\r\n
\r\n

\r\n {{ v.doctor }}\r\n

\r\n

\r\n {{ v.service }}\r\n

\r\n
\r\n
\r\n

\r\n {{ v.department }}\r\n

\r\n

\r\n \r\n {{ v.visitTypeName }}\r\n

\r\n
\r\n
\r\n \r\n Odwołaj \r\n \r\n \r\n Odwołaj \r\n \r\n\r\n \r\n Potwierdź gotowość \r\n \r\n \r\n
\r\n

\r\n Obecność możesz potwierdzić {{ v.confirmTime }} minut przed\r\n wizytą.\r\n

\r\n \r\n \r\n Przejdź do wizyty \r\n \r\n \r\n

\r\n Lekarz wkrótce skontaktuje się z tobą\r\n telefonicznie.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n trigger,\r\n transition,\r\n style,\r\n animate,\r\n group,\r\n} from \"@angular/animations\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { FormGroup, FormBuilder } from \"@angular/forms\";\r\n\r\nimport { VisitService } from \"../shared/services/visit.service\";\r\nimport { GetResponse } from \"../shared/models/get-response.model\";\r\nimport { Subject } from \"rxjs\";\r\nimport { ClientService } from \"@app/shared/services/client.service\";\r\nimport { takeUntil } from \"rxjs/operators\";\r\n\r\n@Component({\r\n templateUrl: \"./my-visits.component.html\",\r\n styleUrls: [\"./my-visits.component.scss\"],\r\n animations: [\r\n trigger(\"fadeInOut\", [\r\n transition(\":enter\", [\r\n style({ opacity: \"0\" }),\r\n group([animate(\".7s ease-out\", style({ opacity: \"1\" }))]),\r\n ]),\r\n transition(\":leave\", [\r\n style({ opacity: \"1\" }),\r\n animate(\".8s ease-in\", style({ opacity: \"0\" })),\r\n ]),\r\n ]),\r\n ],\r\n})\r\nexport class MyVisitsComponent implements OnInit {\r\n private $destroy: Subject = new Subject();\r\n\r\n public telemedicineActive: boolean = false;\r\n\r\n showCancelVisit = false;\r\n showConfirmPresence = false;\r\n isError = false;\r\n error = \"\";\r\n hasMessage: boolean = false;\r\n message: string;\r\n\r\n visits: GetResponse[] = [];\r\n selectedVisit: GetResponse;\r\n\r\n constructor(\r\n private titleService: Title,\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private visitService: VisitService,\r\n private clientService: ClientService\r\n ) {\r\n titleService.setTitle(\"Medsoft - Moje wizyty\");\r\n\r\n this.visitService.patientVisits.subscribe((data: GetResponse[]) => {\r\n this.visits = data;\r\n });\r\n\r\n this.clientService.configChange\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe((model) => {\r\n this.telemedicineActive = model.telemedicineActive;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.visitService.get();\r\n }\r\n\r\n cancelVisit(visit: GetResponse) {\r\n this.selectedVisit = visit;\r\n this.showCancelVisit = true;\r\n }\r\n\r\n hideCancel() {\r\n this.showCancelVisit = false;\r\n }\r\n\r\n confirmPresence(visit: GetResponse) {\r\n this.selectedVisit = visit;\r\n this.showConfirmPresence = true;\r\n }\r\n\r\n hideConfirmPresence() {\r\n this.showConfirmPresence = false;\r\n }\r\n\r\n get noVisits(): boolean {\r\n return this.visits.length === 0;\r\n }\r\n\r\n goToVisitRoom(visit: GetResponse) {\r\n this.router.navigate([\"/evisit-room\"], {\r\n state: { data: { visit: visit } },\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Data\r\n \r\n Godzina\r\n \r\n Pracownik\r\n \r\n Usługa\r\n \r\n Oddział\r\n \r\n  \r\n
\r\n {{v.date}}\r\n \r\n {{v.hour}}\r\n \r\n {{v.doctor}}\r\n \r\n {{v.service}}\r\n \r\n {{v.department}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Nowy termin wizyty

\r\n
\r\n
\r\n

Lekarz

\r\n
\r\n
\r\n

{{slot.doctor}}

\r\n
\r\n
\r\n

Data

\r\n
\r\n
\r\n

{{slot.dateShow}}

\r\n
\r\n
\r\n

Godzina

\r\n
\r\n
\r\n

{{slot.hour}}

\r\n
\r\n
\r\n

Oddział

\r\n
\r\n
\r\n

{{slot.department}}

\r\n
\r\n
\r\n

Cena

\r\n
\r\n
\r\n

{{slot.price | currency:'PLN':'symbol-narrow':'1.2-2'}}

\r\n
\r\n
\r\n

Czy na pewno chcesz zmienić termin?

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n Osiągnięto limit wizyt w wybranej specjalności.
\r\n Umówienie wizyty online jest niemożliwe.\r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n
","import { Component, EventEmitter, Output, Input } from \"@angular/core\";\r\nimport { trigger, transition, style, animate, group} from '@angular/animations';\r\nimport { VisitService } from \"../shared/services/visit.service\";\r\nimport { SearchResponse } from \"../shared/models/search-response.model\";\r\nimport { GetResponse } from \"../shared/models/get-response.model\";\r\n\r\n@Component({\r\n selector: 'visit-re-book-slot',\r\n templateUrl: './re-book-slot.component.html',\r\n styleUrls: ['./re-book-slot.component.scss'],\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0', height: '0' }),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n animate('.4s ease-out', style({ height: '*' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1', height: '*' }),\r\n animate('.6s ease-in', style({ opacity: '0', height: '0' })),\r\n animate('.5s ease-in', style({ height: '0' })),\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class ReBookSlotComponent {\r\n @Input() slot: SearchResponse;\r\n @Input() visits: GetResponse[];\r\n @Output() canceled: EventEmitter = new EventEmitter();\r\n\r\n selectedSlot: GetResponse;\r\n changeForFew: boolean;\r\n confirmationVisible: boolean;\r\n constructor(private visitService: VisitService) {\r\n }\r\n\r\n book() {\r\n this.visitService.startBookingVisit(this.slot, this.selectedSlot.visitId);\r\n }\r\n\r\n chooseVisit(visit: GetResponse) {\r\n this.confirmationVisible = true;\r\n this.selectedSlot = visit;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.changeForFew = this.visits.length > 1;\r\n if (!this.changeForFew) {\r\n this.selectedSlot = this.visits[0];\r\n this.confirmationVisible = true;\r\n }\r\n }\r\n\r\n cancel(exit: boolean = false) {\r\n if (exit)\r\n this.canceled.emit('');\r\n else this.confirmationVisible = false;\r\n }\r\n}","import { BaseResponse } from '../../../shared/models/base-response.model';\r\n\r\nexport class BookSlotResponse extends BaseResponse {\r\n public visitId: number;\r\n public hasPayment: boolean;\r\n public paymentUrl: string;\r\n public hasInvoiceData: boolean;\r\n}","import { BaseResponse } from '../../../shared/models/base-response.model';\r\n\r\nexport class ChangeType{\r\n constructor(public visitId: number,\r\n public visitTypeId: number,\r\n public urlId: string) {\r\n }\r\n}\r\n\r\nexport class ChangeTypeResponse extends BaseResponse{\r\n visitTypeName: string;\r\n}","import { BaseResponse } from '../../../shared/models/base-response.model';\r\n\r\nexport class ConfirmPresence{\r\n constructor(public visitId: number, public urlId: string) {\r\n }\r\n}\r\n\r\nexport class ConfirmPresenceResponse extends BaseResponse{\r\n teleRoomId: number;\r\n teleToken: string;\r\n}","import { NamedValueResponse } from '../../../shared/models/named-value-response.model'\r\n\r\nexport class Department extends NamedValueResponse {\r\n}","import { NamedValueResponse } from '../../../shared/models/named-value-response.model'\r\n\r\nexport class Doctor extends NamedValueResponse {\r\n}","export class GetResponse {\r\n constructor(public visitId: number,\r\n public date: string,\r\n public hour: string,\r\n public doctor: string,\r\n public department: string,\r\n public service: string,\r\n public canCancel: boolean,\r\n public cantCancelMessage: string,\r\n public hasPayment: boolean,\r\n public visitTypeId: number,\r\n public visitTypeName: string,\r\n public teleToken: string | null,\r\n public canConfirmPresence: boolean,\r\n public confirmTime: number) {\r\n }\r\n}","import { NamedValueResponse } from '../../../shared/models/named-value-response.model'\r\n\r\nexport class Hour extends NamedValueResponse {\r\n}","import { NamedValueResponse } from '../../../shared/models/named-value-response.model'\r\n\r\nexport class Language extends NamedValueResponse {\r\n}","import { NamedValueResponse } from \"../../../shared/models/named-value-response.model\";\r\n\r\nexport class SearchResponseStatus {\r\n constructor(public message: string, public terms: SearchResponse[]) {}\r\n}\r\n\r\nexport class SearchResponse {\r\n constructor(\r\n public scheduleId: number,\r\n public hourStartId: number,\r\n public hourEndId: number,\r\n public date: Date,\r\n public dateShow: string,\r\n public hour: string,\r\n public doctor: string,\r\n public department: string,\r\n public price: number,\r\n public changeVsitDate: boolean,\r\n public visitTypes: VisitType[]\r\n ) {}\r\n\r\n public isPaying: boolean;\r\n\r\n public typeSelected: number;\r\n public typeNameSelected: string;\r\n public token: string | null;\r\n}\r\n\r\nexport class VisitType extends NamedValueResponse {}\r\n","import { NamedValueResponse } from '../../../shared/models/named-value-response.model'\r\n\r\nexport class Service extends NamedValueResponse {\r\n constructor(id: number, name: string,public warnings: string) {\r\n super(id, name);\r\n }\r\n}","import { NamedValueResponse } from '../../../shared/models/named-value-response.model'\r\n\r\nexport class Speciality extends NamedValueResponse {\r\n}","import { NamedValueResponse } from '../../../shared/models/named-value-response.model';\r\n\r\nexport class VisitType extends NamedValueResponse{\r\n}","\r\nimport {tap} from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable , ReplaySubject } from 'rxjs';\r\n\r\nimport { Department } from '../models/department.model';\r\nimport { NotificationService } from '../../../shared/services/notification.service';\r\nimport { NotificationType } from '../../../shared/models/notification.model';\r\n\r\n@Injectable()\r\nexport class DepartmentService {\r\n \r\n private _departments: ReplaySubject;\r\n private dataStore: {\r\n departments: Department[]\r\n };\r\n\r\n constructor(private http: HttpClient, private notifications: NotificationService) {\r\n this.dataStore = { departments: []};\r\n this._departments = (new ReplaySubject(1) as ReplaySubject);\r\n }\r\n\r\n get(specialityId: number): Observable {\r\n return this.http\r\n .get(`api/Department/Get?specialityId=${specialityId}`).pipe(\r\n tap((data: Department[]) => {\r\n\r\n this.dataStore.departments = [];\r\n data.forEach(t => this.dataStore.departments.push(new Department(t.id, t.name)));\r\n this._departments.next(Object.assign({}, this.dataStore).departments);\r\n },\r\n error => this.notifications.handleHttpError(error)));\r\n }\r\n\r\n reset() {\r\n this.dataStore.departments = [];\r\n this._departments.next(Object.assign({}, this.dataStore).departments);\r\n }\r\n\r\n get departments() {\r\n return this._departments.asObservable();\r\n }\r\n}","\r\nimport {tap} from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable , ReplaySubject } from 'rxjs';\r\n\r\nimport { Doctor } from '../models/doctor.model';\r\nimport { NotificationService } from '../../../shared/services/notification.service';\r\nimport { NotificationType } from '../../../shared/models/notification.model';\r\n\r\n@Injectable()\r\nexport class DoctorService {\r\n private _doctors: ReplaySubject;\r\n private dataStore: {\r\n doctors: Doctor[]\r\n };\r\n\r\n constructor(private http: HttpClient, private notifications: NotificationService) {\r\n this.dataStore = { doctors: []};\r\n this._doctors = (new ReplaySubject(1) as ReplaySubject);\r\n }\r\n\r\n get(specialityId: number, departmentId: number, languageId: number): Observable {\r\n return this.http\r\n .get(`api/Doctor/Get?specialityId=${specialityId}&departmentId=${departmentId}&languageId=${languageId}`).pipe(\r\n tap((data: Doctor[]) => {\r\n\r\n this.dataStore.doctors = [];\r\n data.forEach(t => this.dataStore.doctors.push(new Doctor(t.id, t.name)));\r\n this._doctors.next(Object.assign({}, this.dataStore).doctors);\r\n },\r\n error => this.notifications.handleHttpError(error)));\r\n }\r\n\r\n reset(){\r\n this.dataStore.doctors = [];\r\n this._doctors.next(Object.assign({}, this.dataStore).doctors);\r\n }\r\n\r\n get doctors() {\r\n return this._doctors.asObservable();\r\n }\r\n}","\r\nimport {tap} from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable , ReplaySubject } from 'rxjs';\r\n\r\nimport { Language } from '../models/language.model';\r\nimport { NotificationService } from '../../../shared/services/notification.service';\r\nimport { NotificationType } from '../../../shared/models/notification.model';\r\n\r\n@Injectable()\r\nexport class LanguageService {\r\n private _languages: ReplaySubject;\r\n private dataStore: {\r\n languages: Language[]\r\n };\r\n\r\n constructor(private http: HttpClient, private notifications: NotificationService) {\r\n this.dataStore = { languages: []};\r\n this._languages = (new ReplaySubject(1) as ReplaySubject);\r\n }\r\n\r\n get(): Observable {\r\n return this.http\r\n .get(`api/Language/Get`).pipe(\r\n tap((data: Language[]) => {\r\n\r\n this.dataStore.languages = [];\r\n data.forEach(t => this.dataStore.languages.push(new Language(t.id, t.name)));\r\n this._languages.next(Object.assign({}, this.dataStore).languages);\r\n },\r\n error => this.notifications.handleHttpError(error)));\r\n }\r\n\r\n get languages() {\r\n return this._languages.asObservable();\r\n }\r\n}","\r\nimport {tap} from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable , ReplaySubject } from 'rxjs';\r\n\r\nimport { Service } from '../models/service.model';\r\nimport { NotificationService } from '../../../shared/services/notification.service';\r\nimport { NotificationType } from '../../../shared/models/notification.model';\r\n\r\n@Injectable()\r\nexport class ServiceService {\r\n private _services: ReplaySubject;\r\n private dataStore: {\r\n services: Service[]\r\n };\r\n\r\n constructor(private http: HttpClient, private notifications: NotificationService) {\r\n this.dataStore = { services: []};\r\n this._services = (new ReplaySubject(1) as ReplaySubject);\r\n }\r\n\r\n get(specialityId: number, departmentId: number, doctorId: number): Observable {\r\n return this.http\r\n .get(`api/Service/Get?specialityId=${specialityId}&departmentId=${departmentId}&doctorId=${doctorId}`).pipe(\r\n tap((data: Service[]) => {\r\n\r\n this.dataStore.services = [];\r\n data.forEach(t => this.dataStore.services.push(new Service(t.id, t.name, t.warnings)));\r\n this._services.next(Object.assign({}, this.dataStore).services);\r\n },\r\n error => this.notifications.handleHttpError(error)));\r\n }\r\n\r\n getServiceWarning(serviceId: number): string {\r\n const ind = this.dataStore.services.findIndex(x => x.id === serviceId);\r\n if (ind >= 0)\r\n return this.dataStore.services[ind].warnings;\r\n\r\n return '';\r\n }\r\n\r\n reset(){\r\n this.dataStore.services = [];\r\n this._services.next(Object.assign({}, this.dataStore).services);\r\n }\r\n\r\n get services() {\r\n return this._services.asObservable();\r\n }\r\n}","\r\nimport {tap} from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable , ReplaySubject } from 'rxjs';\r\n\r\nimport { Speciality } from '../models/speciality.model';\r\nimport { NotificationService } from '../../../shared/services/notification.service';\r\nimport { NotificationType } from '../../../shared/models/notification.model';\r\n\r\n@Injectable()\r\nexport class SpecialityService {\r\n private _specialities: ReplaySubject;\r\n private dataStore: {\r\n specialities: Speciality[]\r\n };\r\n\r\n constructor(private http: HttpClient, private notifications: NotificationService) {\r\n this.dataStore = { specialities: []};\r\n this._specialities = (new ReplaySubject(1) as ReplaySubject);\r\n }\r\n\r\n get(): Observable {\r\n return this.http\r\n .get(`api/Speciality/Get`).pipe(\r\n tap((data: Speciality[]) => {\r\n\r\n this.dataStore.specialities = [];\r\n data.forEach(t => this.dataStore.specialities.push(new Speciality(t.id, t.name)));\r\n this._specialities.next(Object.assign({}, this.dataStore).specialities);\r\n },\r\n error => this.notifications.handleHttpError(error)));\r\n }\r\n\r\n get specialities() {\r\n return this._specialities.asObservable();\r\n }\r\n}","\r\nimport {tap} from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable , ReplaySubject } from 'rxjs';\r\n\r\nimport { Speciality } from '../models/speciality.model';\r\nimport { NotificationService } from '../../../shared/services/notification.service';\r\nimport { NotificationType } from '../../../shared/models/notification.model';\r\nimport { VisitType } from '../models/visit-type.model';\r\n\r\n@Injectable()\r\nexport class VisitTypeService {\r\n\r\n\r\n constructor(private http: HttpClient, private notifications: NotificationService) {\r\n }\r\n\r\n get(): Observable {\r\n return this.http\r\n .get(`api/VisitType/Get`)\r\n .pipe(tap(()=>{},\r\n error => this.notifications.handleHttpError(error)));\r\n \r\n }\r\n}","import { tap } from \"rxjs/operators\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\nimport { Observable, ReplaySubject, BehaviorSubject } from \"rxjs\";\r\n\r\nimport { Hour } from \"../models/hour.model\";\r\nimport { DatesWithFreeSlotsResponse } from \"../models/dates-with-free-slots-response.model\";\r\nimport { BookSlotResponse } from \"../models/book-slot-response.model\";\r\nimport { GetPaymentStatusResponse } from \"../../../shared/models/get-payment-status-response.model\";\r\nimport {\r\n SearchResponse,\r\n SearchResponseStatus,\r\n} from \"../models/search-response.model\";\r\nimport { GetResponse } from \"../models/get-response.model\";\r\nimport { VisitCancelResponse } from \"../models/visit-cancel-response.model\";\r\nimport { NotificationService } from \"../../../shared/services/notification.service\";\r\nimport { UserService } from \"../../../shared/services/user.service\";\r\nimport { ClientService } from \"../../../shared/services/client.service\";\r\nimport {\r\n ConfirmPresence,\r\n ConfirmPresenceResponse,\r\n} from \"../models/confirm-presence.model\";\r\nimport { ChangeType, ChangeTypeResponse } from \"../models/change-type.model\";\r\nimport { BaseResponse } from \"../../../shared/models/base-response.model\";\r\nimport { VisitBookInfoResponse } from \"../models/visit-book-info-response.model\";\r\n\r\n@Injectable()\r\nexport class VisitService {\r\n private _hours: ReplaySubject;\r\n private _datesWithFreeSlots: ReplaySubject;\r\n private _visitSlots: ReplaySubject;\r\n private _visitSlotsError: ReplaySubject;\r\n private _patientVisits: ReplaySubject;\r\n private _loadCalendar: ReplaySubject;\r\n private _loadTerms: ReplaySubject;\r\n private _reloadCalendar: ReplaySubject;\r\n private dataStore: {\r\n hours: Hour[];\r\n datesWithFreeSlots: DatesWithFreeSlotsResponse[];\r\n visitSlots: SearchResponse[];\r\n visitSlotsError: string;\r\n patientVisits: GetResponse[];\r\n visitToBook: SearchResponse | null;\r\n visitToRemove: number | null;\r\n filters: any;\r\n lastBookedVisitId: number;\r\n };\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private notifications: NotificationService,\r\n private router: Router,\r\n private userService: UserService\r\n ) {\r\n this.clear();\r\n }\r\n\r\n clear() {\r\n this.dataStore = {\r\n hours: [],\r\n datesWithFreeSlots: [],\r\n visitSlots: [],\r\n visitSlotsError: null,\r\n patientVisits: [],\r\n filters: {},\r\n visitToBook: null,\r\n visitToRemove: null,\r\n lastBookedVisitId: -1,\r\n };\r\n this._hours = new ReplaySubject(1) as ReplaySubject;\r\n this._datesWithFreeSlots = new ReplaySubject(1) as ReplaySubject<\r\n DatesWithFreeSlotsResponse[]\r\n >;\r\n this._visitSlots = new ReplaySubject(1) as ReplaySubject;\r\n this._visitSlotsError = new ReplaySubject(1) as ReplaySubject;\r\n this._patientVisits = new ReplaySubject(1) as ReplaySubject;\r\n this._loadCalendar = new ReplaySubject(1) as ReplaySubject;\r\n this._loadTerms = new ReplaySubject(1) as ReplaySubject;\r\n this._reloadCalendar = new ReplaySubject(1) as ReplaySubject;\r\n }\r\n\r\n getHours() {\r\n let sub = this.http.get(`api/Visit/GetHours`).subscribe(\r\n (data: Hour[]) => {\r\n this.dataStore.hours = [];\r\n data.forEach((t) => this.dataStore.hours.push(new Hour(t.id, t.name)));\r\n this._hours.next(Object.assign({}, this.dataStore).hours);\r\n sub.unsubscribe();\r\n },\r\n (error) => {\r\n this.notifications.handleHttpError(error);\r\n sub.unsubscribe();\r\n }\r\n );\r\n }\r\n\r\n getDatesWithFreeSlots(\r\n specialityId: number,\r\n doctorId: number,\r\n timeOfDay: number,\r\n weekDays: number[],\r\n languageId: number,\r\n serviceId: number,\r\n departmentId: number,\r\n visitTypeId: number[],\r\n date: Date,\r\n forceReload: boolean\r\n ) {\r\n let weekDaysQuery: string = \"\";\r\n weekDays.forEach((d) => (weekDaysQuery += \"&weekDays=\" + d.toString()));\r\n\r\n let visitTypesQuery: string = \"\";\r\n visitTypeId.forEach(\r\n (vt) => (visitTypesQuery += \"&visitType=\" + vt.toString())\r\n );\r\n\r\n this.dataStore.filters = {\r\n specialityId,\r\n doctorId,\r\n timeOfDay,\r\n languageId,\r\n serviceId,\r\n departmentId,\r\n visitTypesQuery,\r\n date,\r\n };\r\n\r\n let dateQuery = date != null ? this.getDate(date) : \"null\";\r\n\r\n this.http\r\n .get(\r\n `api/Visit/DatesWithFreeSlots?specialityId=${specialityId}&doctorId=${doctorId}&timeOfDay=${timeOfDay}&languageId=${languageId}&serviceId=${serviceId}&departmentId=${departmentId}${weekDaysQuery}${visitTypesQuery}&date=${dateQuery}`\r\n )\r\n .subscribe(\r\n (data: DatesWithFreeSlotsResponse[]) => {\r\n this.dataStore.datesWithFreeSlots = [];\r\n this.dataStore.datesWithFreeSlots = data;\r\n this._datesWithFreeSlots.next(\r\n Object.assign({}, this.dataStore).datesWithFreeSlots\r\n );\r\n this.changeCalendarState(false);\r\n if (forceReload) {\r\n this._reloadCalendar.next();\r\n }\r\n },\r\n (error) => this.notifications.handleHttpError(error)\r\n );\r\n }\r\n\r\n search(date: Date | null) {\r\n this.changeTermResultState(true);\r\n if (date == null) {\r\n this.dataStore.visitSlots = [];\r\n this._visitSlots.next(Object.assign({}, this.dataStore).visitSlots);\r\n this.changeCalendarState(false);\r\n this.changeTermResultState(false);\r\n return;\r\n }\r\n let f = this.dataStore.filters;\r\n let dateQuery = this.getDate(date);\r\n this.http\r\n .get(\r\n `api/Visit/Search?specialityId=${f.specialityId}&doctorId=${f.doctorId}&timeOfDay=${f.timeOfDay}&languageId=${f.languageId}&serviceId=${f.serviceId}&departmentId=${f.departmentId}&date=${dateQuery}${f.visitTypesQuery}`\r\n )\r\n .subscribe(\r\n (data: SearchResponseStatus) => {\r\n this.dataStore.visitSlots = [];\r\n this.dataStore.visitSlots = data.terms;\r\n this.dataStore.visitSlotsError = null;\r\n this.dataStore.visitSlotsError = data.message;\r\n this._visitSlots.next(Object.assign({}, this.dataStore).visitSlots);\r\n this._visitSlotsError.next(\r\n Object.assign({}, this.dataStore).visitSlotsError\r\n );\r\n this.changeTermResultState(false);\r\n },\r\n (error) => this.notifications.handleHttpError(error)\r\n );\r\n }\r\n\r\n get(specialityId: number = -1) {\r\n if (this.userService.isLoggedIn) {\r\n this.http\r\n .get(`api/Visit/Get?specialityId=${specialityId}`)\r\n .subscribe(\r\n (data: GetResponse[]) => {\r\n this.dataStore.patientVisits = [];\r\n this.dataStore.patientVisits = data;\r\n this._patientVisits.next(\r\n Object.assign({}, this.dataStore).patientVisits\r\n );\r\n },\r\n (error) => this.notifications.handleHttpError(error)\r\n );\r\n } else {\r\n this._patientVisits.next([]);\r\n }\r\n }\r\n\r\n getByGuid(guid: string) {\r\n return this.http.get(`api/Visit/GetByGuid?Guid=${guid}`);\r\n }\r\n\r\n getByUrlId(urlId: string) {\r\n return this.http.get(`api/Visit/GetByUrlId?urlId=${urlId}`);\r\n }\r\n\r\n getBySpeciality() {\r\n let f = this.dataStore.filters;\r\n this.get(f.specialityId || -1);\r\n }\r\n\r\n changeVisitType(\r\n visitId: number,\r\n visitTypeId: number,\r\n urlId: string\r\n ): Observable {\r\n return this.http\r\n .put(\r\n \"api/Visit/ChangeType\",\r\n new ChangeType(visitId, visitTypeId, urlId)\r\n )\r\n .pipe(\r\n tap(\r\n () => {},\r\n (error) => this.notifications.handleHttpError(error, \"\", true)\r\n )\r\n );\r\n }\r\n\r\n confirmPresence(\r\n visitId: number,\r\n urlId: string\r\n ): Observable {\r\n return this.http\r\n .put(\r\n \"api/Visit/ConfirmPresence\",\r\n new ConfirmPresence(visitId, urlId)\r\n )\r\n .pipe(\r\n tap(\r\n () => {},\r\n (error) => this.notifications.handleHttpError(error, \"\", true)\r\n )\r\n );\r\n }\r\n\r\n addFileToEvisit(\r\n visitId: any,\r\n files: File[],\r\n urlId: string\r\n ): Observable {\r\n let formData = new FormData();\r\n formData.append(\"visitId\", visitId);\r\n\r\n if (urlId) {\r\n formData.append(\"urlId\", urlId);\r\n }\r\n\r\n if (files)\r\n for (let f of files) {\r\n formData.append(\"file\", f);\r\n }\r\n\r\n return this.http.put(\"api/Visit/EvisitFile\", formData).pipe(\r\n tap(\r\n () => {},\r\n (error) => this.notifications.handleHttpError(error, \"\", true)\r\n )\r\n );\r\n }\r\n\r\n cancel(visitId: number) {\r\n return this.http\r\n .delete(`api/Visit/Delete/${visitId}`)\r\n .pipe(\r\n tap(\r\n (data: VisitCancelResponse) => {},\r\n (error) => this.notifications.handleHttpError(error, \"\", true)\r\n )\r\n );\r\n }\r\n\r\n cancelByGuid(guid: string) {\r\n return this.http\r\n .delete(`api/Visit/DeleteByGuid/${guid}`)\r\n .pipe(\r\n tap(\r\n (data: VisitCancelResponse) => {},\r\n (error) => this.notifications.handleHttpError(error, \"\", true)\r\n )\r\n );\r\n }\r\n\r\n startBookingVisit(visit: SearchResponse, oldVisitID: number | null = null) {\r\n this.dataStore.visitToBook = visit;\r\n this.dataStore.visitToRemove = oldVisitID;\r\n this.router.navigate([\"/booking-status\"], { skipLocationChange: true });\r\n }\r\n\r\n removeVisitFromStore(visitId: number) {\r\n const ind = this.dataStore.patientVisits.findIndex(\r\n (x) => x.visitId === visitId\r\n );\r\n this.dataStore.patientVisits.splice(ind, 1);\r\n this._patientVisits.next(Object.assign({}, this.dataStore).patientVisits);\r\n }\r\n\r\n finishBookingVisit(): Observable {\r\n if (this.dataStore.visitToBook == null) {\r\n let res = new BookSlotResponse();\r\n res.success = false;\r\n res.message = \"Nie udało się umówić wizyty\";\r\n let ret = new BehaviorSubject(res);\r\n return ret.asObservable();\r\n }\r\n let slot: SearchResponse = this.dataStore.visitToBook!;\r\n return this.http\r\n .post(`api/Visit/Insert`, {\r\n specialityID: this.dataStore.filters.specialityId,\r\n serviceId: this.dataStore.filters.serviceId,\r\n hourEndId: slot.hourEndId,\r\n hourStartId: slot.hourStartId,\r\n date: slot.dateShow,\r\n scheduleId: slot.scheduleId,\r\n isPaying: slot.isPaying,\r\n oldVisitId: this.dataStore.visitToRemove,\r\n visitTypeId: slot.typeSelected,\r\n })\r\n .pipe(\r\n tap(\r\n (data: BookSlotResponse) => {\r\n this.dataStore.lastBookedVisitId = data.visitId;\r\n this.saveLastBookedVisitId(data.visitId);\r\n this.dataStore.visitToBook = null;\r\n if (!slot.isPaying) this.userService.deleteTemporaryAccount();\r\n },\r\n (error) => {\r\n if (error.status === 401) this.userService.logout(\"booking-status\");\r\n else this.dataStore.visitToBook = null;\r\n }\r\n )\r\n );\r\n }\r\n\r\n getPaymentStatus(): Observable {\r\n if (!this.hasVisitForPayment()) {\r\n this.userService.deleteTemporaryAccount();\r\n let res = new GetPaymentStatusResponse();\r\n res.success = false;\r\n res.message = \"Wystąpił nieoczekiwany błąd\";\r\n let ret = new BehaviorSubject(res);\r\n return ret.asObservable();\r\n }\r\n let visitId = this.getLastBookedVisitId();\r\n return this.http\r\n .get(\r\n `api/Visit/GetPaymentStatusForVisit?visitId=${visitId}`\r\n )\r\n .pipe(\r\n tap(\r\n (data: GetPaymentStatusResponse) => {\r\n if (data.checkAgain === false) {\r\n this.userService.deleteTemporaryAccount();\r\n this.clearVisitForPayment();\r\n }\r\n },\r\n (error) => {\r\n this.userService.deleteTemporaryAccount();\r\n if (error.status === 401) this.userService.logout(\"after-payment\");\r\n else this.dataStore.visitToBook = null;\r\n }\r\n )\r\n );\r\n }\r\n\r\n checkLimit(): Observable {\r\n let f = this.dataStore.filters;\r\n return this.http.get(\r\n `api/Visit/CheckLimit?specialityId=${f.specialityId}`\r\n );\r\n }\r\n\r\n saveBookingVisitInfo(): Observable {\r\n if (this.dataStore.visitToBook == null) {\r\n let ret = new BehaviorSubject(null);\r\n return ret.asObservable();\r\n }\r\n\r\n let slot: SearchResponse = this.dataStore.visitToBook!;\r\n\r\n return this.http.post(`api/Visit/InsertVisitBook`, {\r\n scheduleId: slot.scheduleId,\r\n date: slot.dateShow,\r\n hourStartId: slot.hourStartId,\r\n hourEndId: slot.hourEndId,\r\n serviceId: this.dataStore.filters.serviceId,\r\n isPaying: slot.isPaying,\r\n visitTypeId: slot.typeSelected,\r\n specialityId: this.dataStore.filters.specialityId,\r\n });\r\n }\r\n\r\n getBookedVisitByToken(token: string | null) {\r\n if (token && token.length > 0) {\r\n return this.http\r\n .get(`api/Visit/SelectVisitBook?token=${token}`)\r\n .pipe(\r\n tap((ret) => {\r\n this.dataStore.visitToBook = new SearchResponse(\r\n ret.scheduleId,\r\n ret.hourStartId,\r\n ret.hourEndId,\r\n new Date(ret.dateShow),\r\n ret.dateShow,\r\n \"\",\r\n \"\",\r\n \"\",\r\n 0,\r\n false,\r\n []\r\n );\r\n this.dataStore.visitToBook.token = token;\r\n this.dataStore.visitToBook.typeSelected = ret.patientVisitTypeId;\r\n this.dataStore.visitToBook.isPaying = ret.withPayment;\r\n this.dataStore.filters.specialityId = ret.specialityId;\r\n this.dataStore.filters.serviceId = ret.serviceId;\r\n })\r\n );\r\n }\r\n\r\n return new ReplaySubject().asObservable();\r\n }\r\n\r\n public getDate(date: Date | null) {\r\n var mm = date!.getMonth() + 1; // getMonth() is zero-based\r\n var dd = date!.getDate();\r\n\r\n return [\r\n date!.getFullYear(),\r\n (mm > 9 ? \"\" : \"0\") + mm,\r\n (dd > 9 ? \"\" : \"0\") + dd,\r\n ].join(\"-\");\r\n }\r\n\r\n public changeCalendarState(isLoading: boolean) {\r\n this._loadCalendar.next(isLoading);\r\n }\r\n\r\n public changeTermResultState(isLoading: boolean) {\r\n this._loadTerms.next(isLoading);\r\n }\r\n\r\n private saveLastBookedVisitId(visitId: number) {\r\n localStorage.setItem(\"lastBookedVisit\", visitId.toString());\r\n }\r\n\r\n public getLastBookedVisitId(): number {\r\n let val = localStorage.getItem(\"lastBookedVisit\");\r\n return val == null ? -1 : Number(val);\r\n }\r\n\r\n public hasVisitForPayment(): boolean {\r\n return this.getLastBookedVisitId() > 0;\r\n }\r\n\r\n public clearVisitForPayment() {\r\n this.saveLastBookedVisitId(-1);\r\n }\r\n\r\n get hours() {\r\n return this._hours.asObservable();\r\n }\r\n\r\n get datesWithFreeSlots() {\r\n return this._datesWithFreeSlots.asObservable();\r\n }\r\n\r\n get visitSlots() {\r\n return this._visitSlots.asObservable();\r\n }\r\n\r\n get patientVisits() {\r\n return this._patientVisits.asObservable();\r\n }\r\n\r\n get visitSlotsError() {\r\n return this._visitSlotsError.asObservable();\r\n }\r\n\r\n get visitToBook(): SearchResponse {\r\n return { ...this.dataStore.visitToBook };\r\n }\r\n\r\n get loadTerms() {\r\n return this._loadTerms.asObservable();\r\n }\r\n\r\n get loadCalendar() {\r\n return this._loadCalendar.asObservable();\r\n }\r\n\r\n get reloadCalendar() {\r\n return this._reloadCalendar.asObservable();\r\n }\r\n}\r\n","\r\n
\r\n

\r\n {{ loadingMessage }}\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

\r\n Wizyta do odwołania \r\n

\r\n
\r\n
\r\n
\r\n

Data

\r\n
\r\n
\r\n

\r\n {{ visit.date }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

Godzina

\r\n
\r\n
\r\n

\r\n {{ visit.hour }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

Lekarz

\r\n
\r\n
\r\n

\r\n {{ visit.doctor }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

Usługa

\r\n
\r\n
\r\n

\r\n {{ visit.service }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

Rodzaj

\r\n
\r\n
\r\n

\r\n {{ visit.visitTypeName }}\r\n

\r\n
\r\n
\r\n
\r\n

Czy na pewno chcesz odwołać wizytę?

\r\n
\r\n Płatność zostanie zwrócona na konto użyte do opłacenia wizyty\r\n
\r\n
\r\n
\r\n \r\n NIE \r\n \r\n
\r\n
\r\n \r\n TAK \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Zamknij\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport {\r\n trigger,\r\n transition,\r\n style,\r\n animate,\r\n group,\r\n} from \"@angular/animations\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { FormGroup, Validators, FormBuilder } from \"@angular/forms\";\r\n\r\nimport { Observable, Subject } from \"rxjs\";\r\n\r\nimport { VisitService } from \"../shared/services/visit.service\";\r\nimport { VisitCancelResponse } from \"../shared/models/visit-cancel-response.model\";\r\nimport { GetResponse } from \"../shared/models/get-response.model\";\r\n\r\nimport { ErrorProcessor } from \"./../../shared/error-processor\";\r\nimport { ClientService } from \"@app/shared/services/client.service\";\r\nimport { takeUntil } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"visit-cancel\",\r\n templateUrl: \"./visit-cancel.component.html\",\r\n styleUrls: [\"./visit-cancel.component.scss\"],\r\n animations: [\r\n trigger(\"fadeInOut\", [\r\n transition(\":enter\", [\r\n style({ opacity: \"0\", height: \"0\" }),\r\n group([\r\n animate(\".7s ease-out\", style({ opacity: \"1\" })),\r\n animate(\".7s ease-out\", style({ height: \"*\" })),\r\n ]),\r\n ]),\r\n transition(\":leave\", [\r\n style({ opacity: \"1\", height: \"*\" }),\r\n animate(\".6s ease-in\", style({ opacity: \"0\" })),\r\n animate(\".5s ease-in\", style({ height: \"0\" })),\r\n ]),\r\n ]),\r\n ],\r\n})\r\nexport class VisitCancelComponent implements OnInit {\r\n private $destroy: Subject = new Subject();\r\n\r\n public telemedicineActive: boolean = false;\r\n\r\n isError = false;\r\n error = \"\";\r\n isMsg = false;\r\n message = \"\";\r\n guid: string;\r\n finished = false;\r\n loadingMessage: string;\r\n @Input() visit: GetResponse;\r\n @Output() canceled: EventEmitter =\r\n new EventEmitter();\r\n\r\n loadingVisitData: boolean;\r\n constructor(\r\n private visitService: VisitService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private clientService: ClientService\r\n ) {\r\n this.clientService.configChange\r\n .pipe(takeUntil(this.$destroy))\r\n .subscribe((model) => {\r\n this.telemedicineActive = model.telemedicineActive;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.finished = false;\r\n this.guid = this.route.snapshot.params.guid;\r\n if (typeof this.guid != \"undefined\") {\r\n this.loadingVisitData = true;\r\n this.loadingMessage = \"Trwa pobieranie danych wizyty\";\r\n this.visitService.getByGuid(this.guid).subscribe(\r\n (v: GetResponse) => {\r\n if (v == null) {\r\n this.isError = true;\r\n this.error = \"Nie znaleziono wizyty\";\r\n }\r\n this.visit = v;\r\n this.loadingVisitData = false;\r\n },\r\n (error: any) => {\r\n this.isError = true;\r\n this.error = ErrorProcessor.process(error);\r\n this.loadingVisitData = false;\r\n }\r\n );\r\n }\r\n }\r\n\r\n cancelVisit() {\r\n if (!this.visit.canCancel) {\r\n this.isError = true;\r\n this.error = this.visit.cantCancelMessage;\r\n this.finished = true;\r\n return;\r\n }\r\n\r\n this.loadingMessage = \"Trwa odwoływanie wizyty\";\r\n this.loadingVisitData = true;\r\n this.visitService.cancel(this.visit.visitId).subscribe(\r\n (result: VisitCancelResponse) => {\r\n this.finished = true;\r\n this.loadingVisitData = false;\r\n if (result.success) {\r\n this.isMsg = true;\r\n this.isError = false;\r\n this.message = result.message;\r\n this.visitService.removeVisitFromStore(this.visit.visitId);\r\n } else {\r\n this.isMsg = false;\r\n this.isError = true;\r\n this.error = result.message;\r\n }\r\n },\r\n (error: any) => {\r\n this.finished = true;\r\n this.loadingVisitData = false;\r\n this.isMsg = false;\r\n this.isError = true;\r\n this.error = ErrorProcessor.process(error);\r\n }\r\n );\r\n }\r\n\r\n cancel() {\r\n if (this.guid == null) this.canceled.emit(this.visit);\r\n else {\r\n this.router.navigate([\"/\"]);\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Potwierdź gotowość

\r\n
\r\n
\r\n
\r\n

{{visit.visitTypeName}}

\r\n
Czy na pewno chcesz potwierdźić obecność?
\r\n
Po potwierdzeniu obecności w ciągu kilku minut lekarz skontaktuje się z Tobą telefonicznie.
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Jeżeli nie jesteś w stanie zrealizować wizyty w wybranej formie, możesz zmienić jej rodzaj na rozmowę telefoniczną z lekarzem klikając w poniższy przycisk

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{visit.visitTypeName}}

\r\n

Test działania kamery i mikrofonu

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Czy podgląd z kamery jest widoczny, a podczas mówienia do mikrofonu pasek porusza się?

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{visit.visitTypeName}}

\r\n
Czy na pewno chcesz potwierdźić obecność?
\r\n
Po potwierdzeniu obecności zostaniesz przeniesiony na stronę realizacji wizyty gdzie dołączy do Ciebie lekarz.
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter, ChangeDetectorRef, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { trigger, transition, style, animate, group} from '@angular/animations';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\nimport { VisitService } from '../shared/services/visit.service';\r\nimport { GetResponse } from '../shared/models/get-response.model';\r\n\r\nimport { ErrorProcessor } from '../../shared/error-processor';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'visit-confirm-presence',\r\n templateUrl: './visit-confirm-presence.component.html',\r\n styleUrls: ['./visit-confirm-presence.component.scss'],\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0', height: '0' }),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n animate('.7s ease-out', style({ height: '*' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1', height: '*' }),\r\n animate('.6s ease-in', style({ opacity: '0' })),\r\n animate('.5s ease-in', style({ height: '0' })),\r\n ]),\r\n ]),\r\n ]\r\n})\r\nexport class VisitConfirmPresenceComponent implements OnInit, OnDestroy {\r\n isError = false;\r\n error = '';\r\n isMsg = false;\r\n message = '';\r\n finished = false;\r\n confirmedVoiceAndVideo = false;\r\n isProcessing = false;\r\n\r\n allowSwitchToPhone = false;\r\n volLvl = 0;\r\n\r\n @ViewChild('videoPrev') videoPrevEl: ElementRef;\r\n\r\n @Input() visit: GetResponse;\r\n @Output() canceled: EventEmitter = new EventEmitter();\r\n @Input() hideCancel: boolean = false;\r\n @Input() urlId: string;\r\n\r\n private stream: MediaStream;\r\n private streamClone: MediaStream;\r\n private javascriptNode: ScriptProcessorNode;\r\n\r\n private $changeType: Subscription;\r\n private $confirmPresence: Subscription;\r\n\r\n constructor(private visitService: VisitService, private router: Router, private cdRef: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.finished = false;\r\n this.volLvl = 0;\r\n this.allowSwitchToPhone = false;\r\n this.isError = false;\r\n this.error = '';\r\n this.confirmedVoiceAndVideo = false;\r\n this.isProcessing = false;\r\n \r\n if(this.visit.visitTypeId == 2){\r\n this.checkMicAndCamera();\r\n } else{\r\n \r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n this.closeStreams();\r\n\r\n if(this.$confirmPresence)\r\n this.$confirmPresence.unsubscribe();\r\n \r\n if(this.$changeType)\r\n this.$changeType.unsubscribe();\r\n }\r\n\r\n closeStreams(){\r\n if(this.javascriptNode)\r\n this.javascriptNode.disconnect();\r\n if(this.stream){\r\n this.stream.getTracks().forEach(function(track:any) {\r\n track.stop();\r\n });\r\n }\r\n if(this.streamClone){\r\n this.streamClone.getTracks().forEach(function(track:any) {\r\n track.stop();\r\n });\r\n }\r\n }\r\n\r\n checkMicAndCamera(){\r\n let nav = navigator;\r\n nav.getUserMedia = nav.getUserMedia || nav.webkitGetUserMedia || nav.mozGetUserMedia;\r\n if (nav.getUserMedia) {\r\n nav.getUserMedia({\r\n audio: true,\r\n video: true\r\n },\r\n (stream: MediaStream) => {\r\n this.stream = stream;\r\n\r\n this.streamClone = stream.clone()\r\n //usuwam audio, żeby nie było słychać dźwięku u pacjenta\r\n this.streamClone.getAudioTracks().forEach((t) => this.streamClone.removeTrack(t));\r\n this.videoPrevEl.nativeElement.srcObject = this.streamClone;\r\n this.cdRef.detectChanges();\r\n\r\n let audioContext = new AudioContext();\r\n let analyser = audioContext.createAnalyser();\r\n let microphone = audioContext.createMediaStreamSource(stream);\r\n let javascriptNode = audioContext.createScriptProcessor(2048, 1, 1);\r\n this.javascriptNode = javascriptNode;\r\n\r\n analyser.smoothingTimeConstant = 0.8;\r\n analyser.fftSize = 1024;\r\n\r\n microphone.connect(analyser);\r\n analyser.connect(javascriptNode);\r\n javascriptNode.connect(audioContext.destination);\r\n \r\n \r\n javascriptNode.onaudioprocess = () => {\r\n var array = new Uint8Array(analyser.frequencyBinCount);\r\n analyser.getByteFrequencyData(array);\r\n var values = 0;\r\n\r\n var length = array.length;\r\n for (var i = 0; i < length; i++) {\r\n values += (array[i]);\r\n }\r\n\r\n var average = values / length;\r\n this.volLvl = Math.round(average) * 2;\r\n if(this.volLvl > 100){\r\n this.volLvl = 100;\r\n }\r\n this.cdRef.detectChanges();\r\n\r\n } // end fn stream\r\n },\r\n () => {\r\n this.allowSwitchToPhone = true;\r\n this.isError = true;\r\n this.error = 'Nie udało nam się uzyskać dostępu do kamery i/lub mikrofonu. Są one wymagane do odbycia wizyty';\r\n this.cdRef.detectChanges();\r\n this.closeStreams();\r\n }\r\n );\r\n } else {\r\n this.allowSwitchToPhone = true;\r\n this.isError = true;\r\n this.error = 'Twoja przeglądarka nie posiada obsługi kamery lub mikrofonu, który jest wymagany do przeprowadzenia wizyty. Prosimy o skorzystanie z innej przeglądarki internetowej.';\r\n this.cdRef.detectChanges();\r\n this.closeStreams();\r\n }\r\n }\r\n\r\n confirmPresence(){\r\n console.log('confirmed', this.visit.visitTypeId);\r\n\r\n this.isProcessing = true;\r\n this.$changeType = this.visitService.confirmPresence(this.visit.visitId, this.urlId)\r\n .subscribe(res =>{\r\n this.finished = true;\r\n this.isProcessing = false;\r\n this.visit.teleToken = res.teleToken;\r\n this.visit.canConfirmPresence = false;\r\n if(this.visit.visitTypeId == 3){\r\n this.isMsg = true;\r\n this.message = '

Dziękujemy za potwierdzenie wizyty.

Lekarz skontaktuje się z Tobą w ciągu kilku minut.
';\r\n } else {\r\n this.router.navigate(['/evisit-room'], {state: {data: {visit: this.visit}}});\r\n }\r\n }, err => {\r\n this.finished = true;\r\n this.isProcessing = false;\r\n this.isError = true;\r\n this.isMsg = false;\r\n this.error = ErrorProcessor.process(err);\r\n })\r\n }\r\n\r\n cancel() {\r\n this.canceled.emit(this.visit);\r\n }\r\n\r\n cameraOrVoiceDontWork(){\r\n this.isMsg = true;\r\n this.message = \"Kamera lub mikrofon nie funkcjonuje prawidłowo. Są one wymagane do odbycia ewizyty w wybranej formie.\"\r\n this.allowSwitchToPhone = true;\r\n this.closeStreams();\r\n }\r\n\r\n cameraAndVoiceWorks(){\r\n this.confirmedVoiceAndVideo = true;\r\n this.closeStreams();\r\n }\r\n\r\n switchToPhone(){\r\n this.isProcessing = true;\r\n this.$changeType = this.visitService.changeVisitType(this.visit.visitId, 3, this.urlId)\r\n .subscribe(res =>{\r\n this.isProcessing = false;\r\n this.visit.visitTypeId = 3;\r\n this.visit.visitTypeName = res.visitTypeName;\r\n }, err => {\r\n this.isProcessing = false;\r\n this.isError = true;\r\n this.isMsg = false;\r\n this.error = ErrorProcessor.process(err);\r\n })\r\n }\r\n}","
\r\n\r\n
 
\r\n\r\n \r\n \r\n \r\n \r\n\r\n
{{error}}
\r\n\r\n
\r\n
\r\n \r\n Trwa ładowanie...\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Godzina\r\n \r\n Lekarz\r\n \r\n Oddział\r\n \r\n Cena\r\n \r\n  \r\n \r\n Rodzaj\r\n
\r\n {{v.hour}}\r\n \r\n {{v.doctor}}\r\n \r\n {{v.department}}\r\n \r\n {{v.price | currency:'PLN':'symbol-narrow':'1.2-2'}}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy, Output, Input, ViewChild, ElementRef, EventEmitter } from '@angular/core';\r\nimport { trigger, transition, style, animate, group} from '@angular/animations';\r\n\r\nimport { Observable, Subscription } from 'rxjs';\r\n\r\nimport { VisitService } from '../shared/services/visit.service';\r\nimport { SearchResponse, VisitType} from '../shared/models/search-response.model';\r\n\r\nimport { ClientService } from './../../shared/services/client.service';\r\nimport { ConfigModel } from './../../shared/models/config.model';\r\nimport { GetResponse } from '../shared/models/get-response.model';\r\nimport { UserService } from '../../shared/services/user.service';\r\n\r\n@Component({\r\n selector: 'visit-slot-list',\r\n templateUrl: './visit-slot-list.component.html',\r\n styleUrls: ['./visit-slot-list.component.scss'],\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0', height: '0' }),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n animate('.4s ease-out', style({ height: '*' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1', height: '*' }),\r\n animate('.6s ease-in', style({ opacity: '0', height: '0' })),\r\n animate('.5s ease-in', style({ height: '0' })),\r\n ]),\r\n ]),\r\n ]\r\n})\r\nexport class VisitSlotListComponent implements OnInit, OnDestroy {\r\n float: boolean = false;\r\n @Output() goToSlots: EventEmitter = new EventEmitter();\r\n @ViewChild(\"empty\", { read: ElementRef }) empty: ElementRef;\r\n @ViewChild(\"list\", { read: ElementRef }) list: ElementRef;\r\n @ViewChild(\"table\", {read: ElementRef}) table: ElementRef;\r\n isError = false;\r\n error = '';\r\n showList = false;\r\n hasResults = false;\r\n showBookSlot = false;\r\n showRebookSlot = false;\r\n visits: Observable;\r\n canChangeVisitDate = false;\r\n selectedSlot: SearchResponse | null;\r\n showPrices: boolean = false;\r\n showPayment: boolean = false;\r\n blockWithoutPayment: boolean = false;\r\n patientVisits: GetResponse[];\r\n loadTerms: Observable;\r\n\r\n public telemedicineActive: boolean = false;\r\n\r\n private $loadTerms: Subscription;\r\n\r\n constructor(private visitService: VisitService, private clientService: ClientService, private userService: UserService) {\r\n this.showPrices = this.clientService.config.showPrices;\r\n this.showPayment = this.clientService.config.paymentsActive;\r\n this.blockWithoutPayment = this.clientService.config.blockWithoutPayment;\r\n clientService.configChange.subscribe((model: ConfigModel) => {\r\n this.showPrices = model.showPrices;\r\n this.showPayment = model.paymentsActive;\r\n this.blockWithoutPayment = model.blockWithoutPayment;\r\n this.telemedicineActive = model.telemedicineActive;\r\n });\r\n\r\n this.onScroll = this.onScroll.bind(this);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.showList = false;\r\n this.bindData();\r\n window.addEventListener('scroll', this.onScroll);\r\n this.visitService.patientVisits.subscribe(data => {\r\n this.patientVisits = data;\r\n this.canChangeVisitDate = data.length == 0 || !data.every(v => v.hasPayment);\r\n if (this.userService.isLoggedIn) {\r\n this.visitService.checkLimit().subscribe(limitReached => {\r\n if (!this.canChangeVisitDate && limitReached && this.hasResults)\r\n this.showRebooking();\r\n else this.canChangeVisitDate = true;\r\n });\r\n }\r\n else this.canChangeVisitDate = true;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n window.removeEventListener('scroll', this.onScroll);\r\n if (this.$loadTerms)\r\n this.$loadTerms.unsubscribe();\r\n }\r\n\r\n onScroll(e: any) {\r\n if (this.showList && this.table)\r\n this.float = this.table.nativeElement.getBoundingClientRect().top < 53;\r\n }\r\n\r\n bindData() {\r\n this.visits = this.visitService.visitSlots;\r\n this.visits.subscribe((result: SearchResponse[]) => {\r\n this.visitService.getBySpeciality();\r\n this.showBookSlot = false;\r\n this.showRebookSlot = false;\r\n this.showList = true;\r\n this.hasResults = result.length > 0;\r\n\r\n if(!this.telemedicineActive){\r\n const visitType = [new VisitType(1, \"Wizyta stacjonarna\")];\r\n \r\n result.forEach(r=>r.visitTypes = visitType)\r\n }\r\n setTimeout(() => {\r\n if (this.hasResults) {\r\n this.goToSlots.emit(this.list);\r\n }\r\n else {\r\n let resultError = this.visitService.visitSlotsError;\r\n\r\n resultError.subscribe(message=>{\r\n this.error = message;\r\n this.isError = true;\r\n this.goToSlots.emit(this.empty);\r\n });\r\n }\r\n })\r\n });\r\n this.loadTerms = this.visitService.loadTerms;\r\n this.$loadTerms = this.loadTerms.subscribe();\r\n }\r\n\r\n showBooking(slot: SearchResponse) {\r\n //this.showList = false;\r\n \r\n if(slot.visitTypes.length === 1){\r\n slot.typeSelected = slot.visitTypes[0].id;\r\n slot.typeNameSelected = slot.visitTypes[0].name;\r\n } else{\r\n slot.typeSelected = 0;\r\n }\r\n \r\n this.showBookSlot = true;\r\n this.selectedSlot = slot;\r\n }\r\n\r\n hideBooking() {\r\n this.showList = true;\r\n this.showBookSlot = false;\r\n }\r\n\r\n showRebooking(slot: SearchResponse | null = null) {\r\n this.showRebookSlot = true;\r\n this.selectedSlot = slot;\r\n }\r\n\r\n hideRebooking() {\r\n this.showList = true;\r\n this.showRebookSlot = false;\r\n }\r\n}\r\n","\r\n\r\n\r\n","import { Component, ViewChild, ElementRef} from '@angular/core';\r\nimport { trigger, transition, style, animate, group} from '@angular/animations';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { FiltersComponent } from './filters/filters.component';\r\n\r\n@Component({\r\n templateUrl: './visit.component.html',\r\n animations: [\r\n trigger('fadeInOut',\r\n [\r\n transition(':enter',\r\n [\r\n style({ opacity: '0'}),\r\n group([\r\n animate('.7s ease-out', style({ opacity: '1' })),\r\n ])\r\n ]),\r\n transition(':leave',\r\n [\r\n style({ opacity: '1' }),\r\n animate('.8s ease-in', style({ opacity: '0' })),\r\n ]),\r\n ]),\r\n ]\r\n})\r\nexport class VisitComponent {\r\n\r\n float = true;\r\n @ViewChild('filters')\r\n filters: FiltersComponent;\r\n\r\n constructor(private titleService: Title) {\r\n titleService.setTitle(\"Medsoft - Wyszukaj termin\");\r\n }\r\n\r\n goToSlots(element: ElementRef) { \r\n if (typeof element !== 'undefined') {\r\n setTimeout(() => {\r\n element.nativeElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n }, 500); \r\n }\r\n }\r\n\r\n monthChanged(event: {month: number, year: number}) {\r\n let now = new Date();\r\n\r\n event.month--; //months start from 0\r\n if (event.year >= now.getFullYear() && (event.month >= now.getMonth() || event.year !== now.getFullYear())) {\r\n let date = new Date(event.year, event.month, 1);\r\n this.filters.getDatesWithFreeSlots(date);\r\n }\r\n }\r\n}\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n rtcConfiguration: {\r\n iceServers: [\r\n {\r\n urls: ['turn:medsoft-tw1.westeurope.cloudapp.azure.com'],\r\n credential: 'testguestpwd',\r\n username: 'guest'\r\n }\r\n ]\r\n },\r\n tokenRefresh: {\r\n intervalRefreshTokenMiliseconds: 60000, \r\n refreshTokenBeforeEndExpireMinutes: 2 \r\n },\r\n userActive: {\r\n deactiveUserLogoutMinutes: 60,\r\n intervalCheckActiveUserMilisecond: 30000 \r\n }\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.browser.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n} else {\r\n window['debugLogs'] = true;\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"sourceRoot":""}